:root{--bg:#f5f5f7;--surface:#ffffff;--surface-2:#fbfbfd;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--line-2:#d9dce3;--primary:#0f172a;--primary-2:#1f2937;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--radius-sm:12px;--shadow:0 10px 30px rgba(15,23,42,0.05);--shadow-soft:0 2px 10px rgba(15,23,42,0.04);--max:1440px;--card:var(--surface);--radius:var(--radius-md);}
*{box-sizing:border-box;}html,body{height:100%;}body{margin:0;background:linear-gradient(180deg,#f8f8fa 0%,#f2f3f6 100%);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;}a{color:inherit;text-decoration:none;}img{max-width:100%;display:block;}
.app-shell{max-width:var(--max);margin:0 auto;padding:28px;}
.container{max-width:none;margin:0;padding:0;}
.nav{position:sticky;top:12px;background:transparent;border-bottom:0;z-index:20;margin-bottom:28px;}
.nav-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 20px;max-width:none;margin:0;background:rgba(255,255,255,0.82);border:1px solid rgba(255,255,255,0.9);backdrop-filter:blur(20px);border-radius:24px;box-shadow:var(--shadow-soft);}
.brand{font-weight:800;letter-spacing:.06em;font-size:28px;grid-column:1;display:flex;align-items:center;gap:12px;}
.brand-logo{height:68px;width:auto;margin-top: 10px;
    margin-bottom: 10px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.nav-ctas{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;justify-self:center;grid-column:2;}
.nav-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-self:end;grid-column:3;}
.badge{display:inline-grid;align-items:center;text-align: center;gap:6px;padding:8px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid var(--line);background:#fff;}
.badge.success{color:#047857;background:#ecfdf5;border-color:#bbf7d0;}
.badge.warning{color:#92400e;background:#fffbeb;border-color:#fde68a;}
.badge.danger{color:#991b1b;background:#fef2f2;border-color:#fecaca;}
.notif-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:800;line-height:1;background:#111827;color:#fff;margin-left:8px;}
.card{background:var(--surface);margin-top: 10px;border:1px solid var(--line);border-radius:var(--radius-xl);padding:22px;box-shadow:var(--shadow-soft);}
.grid{display:grid;gap:20px;}
.grid-2{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.grid-2 > *,.grid-3 > *,.grid-4 > *{min-width:0;}
.table-responsive{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;display:block;min-width:0;}
@media(max-width:1100px){.grid-2,.grid-3{grid-template-columns:1fr;}  .nav-inner{grid-template-columns:1fr;}.brand,.nav-ctas,.nav-links{grid-column:auto;}.brand{justify-self:start;text-align:center;}.nav-ctas,.nav-links{justify-self:start;justify-content:flex-start;}}
@media(max-width:520px){body{overflow-x:hidden;}.app-shell{padding:12px;}.screen{width:100%;}.screen-body{padding:18px;}.sidebar-layout{gap:16px;grid-template-columns:1fr!important;}.sidebar{width:100%;}.main{width:100%;}.grid{display:block;}.grid > *{margin-top:20px;}.grid > *:first-child{margin-top:0;}.services-layout{grid-template-columns:1fr!important;}.nav{position:static;top:auto;}.brand{width:100%;justify-self:start;text-align:center;}.nav-ctas{flex-direction:column;align-items:stretch;gap:10px;width:100%;}.nav-ctas .nav-pill{width:100%;}.nav-links{flex-direction:column;align-items:stretch;gap:10px;width:100%;}.nav-links .nav-pill{width:100%;}.nav-links .nav-user{width:100%;justify-content:center;}}
.h1{font-size:30px;margin:0 0 8px 0;font-weight:750;} .h2{font-size:24px;margin:0 0 8px 0;font-weight:700;} .muted{color:var(--muted);} 
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-weight:600;font-size:14px;transition:.18s ease;}
.btn:hover{transform:translateY(-1px);}
 
.btn-primary{background:linear-gradient(180deg,#111827 0%,#0b1220 100%);color:#fff;border-color:#0b1220;box-shadow:0 12px 24px rgba(15,23,42,.16);} .btn-danger{background:var(--danger);color:#fff;border-color:var(--danger);} .btn-ghost{background:transparent;}
.btn.primary{background:linear-gradient(180deg,#111827 0%,#0b1220 100%);color:#fff;border-color:#0b1220;box-shadow:0 12px 24px rgba(15,23,42,.16);} .btn.ghost{background:transparent;} 
 .btn.soft{background:var(--surface-2);} 
 .btn.danger{background:var(--danger);color:#fff;border-color:var(--danger);} 
 .btn.success{background:var(--success);color:#fff;border-color:var(--success);} 
 .btn.warning{background:var(--warning);color:#111827;border-color:var(--warning);} 

 .btn-icon-only{padding:12px;width:44px;height:44px;gap:0;}
 .btn-icon-only .btn-trash-icon{display:block;}
 .input,.select,.textarea{padding:18px 18px;border-radius:18px;border:1px solid var(--line);background:var(--surface);outline:none;color:var(--text);font-size:16px;} .textarea{min-height:110px;resize:vertical;}
 .row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;} .spacer{flex:1;} 
 .row > *{min-width:0;}
 .row .btn{max-width:100%;white-space:normal;}
 .table-responsive{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;display:block;min-width:0;}
 @media(max-width:1100px){.table-responsive > .table{width:max-content!important;min-width:980px;display:table;}.table-responsive th,.table-responsive td{white-space:nowrap;}}
 @media(max-width:1100px){.table-responsive-wide > .table{min-width:1200px!important;}}
 .table{width:100%;border-collapse:collapse;background:#fff;border-radius:22px;overflow:hidden;} .table th,.table td{padding:16px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;} .table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;} .table tr:last-child td{border-bottom:0;}
 .flash{margin:12px 0;padding:10px 12px;border-radius:12px;border:1px solid var(--line);} .flash-success{background:#ecfdf5;border-color:#bbf7d0;} .flash-error{background:#fef2f2;border-color:#fecaca;} .flash-warning{background:#fffbeb;border-color:#fde68a;}
 .status{padding:4px 10px;border-radius:999px;font-size:12px;border:1px solid var(--line);background:#fff;}
 .status-pending{border-color:#fde68a;background:#fffbeb;} .status-confirmed{border-color:#bbf7d0;background:#ecfdf5;} .status-cancelled{border-color:#fecaca;background:#fef2f2;} .status-completed{border-color:#bfdbfe;background:#eff6ff;} .status-no_show{border-color:#e5e7eb;background:#f3f4f6;}
 .service-row{color:inherit;text-decoration:none;}
 a.service-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-radius:18px;border:1px solid var(--line);background:#fff;border-bottom:0;transition:transform .08s ease, box-shadow .18s ease, background .18s ease;}
 a.service-row:hover{background:rgba(17,24,39,.04);box-shadow:0 10px 24px rgba(15,23,42,.08);transform:translateY(-1px);}
 a.service-row:active{transform:translateY(0);box-shadow:0 6px 16px rgba(15,23,42,.08);}
 a.service-row:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(17,24,39,.10), 0 0 0 6px rgba(17,24,39,.06);}
 /* PRO: checkbox rows for salon particularities */
 .check-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);font-weight:600;}
 .check-row input{width:18px;height:18px;}
 .criterion-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
 @media(max-width:520px){.criterion-row{flex-direction:column;align-items:stretch;}}

 /* PRO: logo preview */
 .salon-logo-preview{width:100%;height:auto;border-radius:18px;border:1px solid var(--line);background:#fff;}
 @media(min-width:521px){.salon-logo-preview{max-width:420px;}}

 /* Client: table "Particularité du salon" */
 .acceptance-table{width:100%;border-collapse:collapse;}
 .acceptance-table th{font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;text-align:left;padding:10px 0;border-bottom:1px solid var(--line);}
 .acceptance-table td{padding:12px 0;border-bottom:1px solid rgba(17,24,39,.08);}
 .acceptance-table tr:last-child td{border-bottom:0;}
 .status-dot{width:12px;height:12px;border-radius:999px;display:inline-block;vertical-align:middle;}
 .status-dot.ok{background:var(--success);}
 .status-dot.ko{background:#ef4444;}

 /* Client: map embed */
 .map-embed{width:100%;height:260px;border:0;border-radius:18px;overflow:hidden;}
 @media(max-width:520px){.map-embed{height:220px;}}
 .gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
 .gallery-item{min-width:0;}
 .gallery-thumb{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;border:1px solid var(--line);background:#fff;}
 @media(max-width:1100px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
 @media(max-width:520px){.gallery-grid{grid-template-columns:repeat(2,1fr);}}
 .sidebar-layout{display:grid;grid-template-columns:290px 1fr;gap:24px;}
 .sidebar{background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);border-radius:30px;padding:18px;box-shadow:var(--shadow-soft);height:100%;}
 .menu-item{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:18px;border:1px solid var(--line);background:#fff;margin-bottom:12px;font-weight:700;}
 .menu-item.active{background:var(--primary);color:#fff;border-color:var(--primary);} 
 .main{min-width:0;}
@media(max-width:1100px){.sidebar-layout{grid-template-columns:1fr;}}

@media(max-width:520px){.pro-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:14px;}.pro-menu-icon{width:18px;height:2px;background:var(--text);position:relative;display:block;}.pro-menu-icon:before,.pro-menu-icon:after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--text);}.pro-menu-icon:before{top:-6px;}.pro-menu-icon:after{top:6px;}.sidebar[data-collapsed="1"] .menu-item,.sidebar[data-collapsed="1"] .hr{display:none;}}
@media(min-width:521px){.pro-menu-toggle{display:none;}}
.small{font-size:8px;} .hr{height:1px;background:var(--line);margin:12px 0;}

.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:rgba(255,255,255,0.82);border:1px solid rgba(255,255,255,0.9);backdrop-filter:blur(20px);border-radius:24px;box-shadow:var(--shadow-soft);position:sticky;top:12px;z-index:20;margin-bottom:28px;}
.nav-pills{display:flex;gap:12px;flex-wrap:wrap;}
.pill{border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:600;font-size:14px;padding:12px 18px;}

.screen{background:rgba(255,255,255,0.56);border:1px solid rgba(255,255,255,0.9);border-radius:34px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:36px;}
.screen-header{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:28px 28px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.8) 0%,rgba(255,255,255,.55) 100%);} 
.screen-body{padding:28px;}
/* si le media est une tablett */
@media(min-width:521px){ 
    .brand-logo{height:42px;width:auto;margin-top: 10px;
    margin-bottom: 10px;}
.stack{display:grid;gap:20px;}
.stack2{display:block;gap:20px;}
.row .input,.row .select,.row .textarea{width:100%;}
.small{font-size:12px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}

}

.card-title{margin:0 0 8px;font-size:24px;font-weight:700;}
.section-title{font-size:30px;font-weight:750;margin:0 0 8px;}
.section-subtitle{color:var(--muted);font-size:18px;margin:0;}
.label{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;}

.search{display:grid;grid-template-columns:1.2fr .8fr auto;border:1px solid var(--line);background:var(--surface);border-radius:24px;overflow:hidden;}
.search input,.search select{border:0;background:transparent;padding:18px 18px;font-size:16px;outline:none;color:var(--text);}
.search > *:not(:last-child){border-right:1px solid var(--line);}
@media(max-width:1100px){.search{grid-template-columns:1fr;}.search > *:not(:last-child){border-right:0;border-bottom:1px solid var(--line);}}

.chip{border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:600;font-size:14px;padding:10px 14px;}
.chip.active{background:var(--primary);color:#fff;border-color:var(--primary);} 
.chip-active{background:var(--primary);color:#fff;border-color:var(--primary);}
button.chip{appearance:none;-webkit-appearance:none;cursor:pointer;font-family:inherit;}

.salon-card{background:var(--surface);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft);}
.salon-cover{height:220px;background:linear-gradient(135deg,#d1d5db,#f8fafc 48%,#111827 140%);position:relative;}
.salon-online-dot{position:absolute;left:14px;bottom:14px;width:12px;height:12px;border-radius:999px;background:#9ca3af;box-shadow:0 0 0 4px rgba(255,255,255,.75);} .salon-online-dot.online{background:var(--success);}
.salon-online-dot-inline{display:inline-block;width:7px;height:7px;border-radius:999px;background:#9ca3af;margin-top:6px;} .salon-online-dot-inline.online{background:var(--success);}
.salon-cover > .salon-online-dot{left:14px;right:auto;top:auto;bottom:14px;z-index:6;}
.salon-cover::after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.55);border-radius:22px;pointer-events:none;}
.salon-content{padding:20px;}
.between,.title-row{display:flex;justify-content:space-between;align-items:center;gap:16px;}
.tiny{font-size:12px;color:var(--muted);}
.tiny2{ font-size: 9px; color: var(--muted); }

.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;}
.hero-panel{min-height:350px;border-radius:32px;background:linear-gradient(135deg, #ffffff 0%, #eef2f700 45%, #dce3ec82 100%);border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-soft);}
.hero-visual{min-height:350px;border-radius:32px;background:transparent;position:relative;overflow:hidden;box-shadow:var(--shadow-soft);} 
.hero-visual::before,.hero-visual::after{content:none;}
.hero-visual-video{width:100%;height:100%;min-height:350px;object-fit:cover;display:block;}
 
.hero-title-mobile{display:none;}
.hero-title-desktop{display:inline;}
.hero-word{display:inline-block;white-space:nowrap;}
@keyframes heroWordSlide{0%{transform:translateX(18px);opacity:0;}15%{transform:translateX(0);opacity:1;}65%{transform:translateX(0);opacity:1;}100%{transform:translateX(-18px);opacity:0;}}
.hero-word-slide{animation:heroWordSlide 1s ease both;}

@media(max-width:900px){.hero{grid-template-columns:1fr;justify-items:center;}.hero-visual{display:none;}.hero-panel{width:100%;max-width:740px;}}
@media(max-width:520px){.hero-panel h1{text-align:center;}.hero-title-desktop{display:none;}.hero-title-mobile{display:block;width:100%;text-align:center;}.hero-intro{text-align:center;max-width:none!important;margin-left:auto;margin-right:auto;}}
 form[data-pro-register-steps] .grid-2 > *{min-width:0;}
 form[data-pro-register-steps] .input,form[data-pro-register-steps] .select,form[data-pro-register-steps] .textarea{width:100%;max-width:100%;min-width:0;}
 form[data-pro-register-steps] .input[readonly]{background:rgba(17,24,39,.06);border-color:rgba(17,24,39,.12);color:rgba(17,24,39,.75);cursor:not-allowed;}
 
 @media(min-width:521px){[data-pro-step-next],[data-pro-step-back]{display:none;}}
 @media(max-width:520px){
  .pro-steps[data-enhanced="1"]{position:relative;overflow:hidden;min-height:1px;}
  .pro-steps[data-enhanced="1"] .pro-step{transition:transform .32s ease,opacity .32s ease;}

  .pro-steps[data-enhanced="1"] [data-pro-step="1"]{position:relative;transform:translateX(0);opacity:1;pointer-events:auto;}
  .pro-steps[data-enhanced="1"] [data-pro-step="2"],
  .pro-steps[data-enhanced="1"] [data-pro-step="3"]{position:absolute;left:0;top:0;width:100%;opacity:0;pointer-events:none;}
  .pro-steps[data-enhanced="1"] [data-pro-step="2"]{transform:translateX(100%);}
  .pro-steps[data-enhanced="1"] [data-pro-step="3"]{transform:translateX(200%);}

  .pro-steps[data-enhanced="1"][data-step="2"] [data-pro-step="1"]{position:absolute;left:0;top:0;width:100%;transform:translateX(-100%);opacity:0;pointer-events:none;}
  .pro-steps[data-enhanced="1"][data-step="2"] [data-pro-step="2"]{position:relative;transform:translateX(0);opacity:1;pointer-events:auto;}
  .pro-steps[data-enhanced="1"][data-step="2"] [data-pro-step="3"]{transform:translateX(100%);opacity:0;pointer-events:none;}

  .pro-steps[data-enhanced="1"][data-step="3"] [data-pro-step="1"]{position:absolute;left:0;top:0;width:100%;transform:translateX(-200%);opacity:0;pointer-events:none;}
  .pro-steps[data-enhanced="1"][data-step="3"] [data-pro-step="2"]{position:absolute;left:0;top:0;width:100%;transform:translateX(-100%);opacity:0;pointer-events:none;}
  .pro-steps[data-enhanced="1"][data-step="3"] [data-pro-step="3"]{position:relative;transform:translateX(0);opacity:1;pointer-events:auto;}
 }
 
 .fullbleed{width:100%;}
 .card-soft{background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);border-radius:30px;box-shadow:var(--shadow-soft);}
 .chips{display:flex;gap:10px;flex-wrap:wrap;}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.page-head .h1{margin:0;}
.cover{width:100%;height:220px;object-fit:cover;border-radius:22px;}
.salon-meta{display:flex;align-items:center;gap:10px;}
.dot{width:6px;height:6px;border-radius:999px;background:rgba(17,24,39,.35);display:inline-block;}

.service-row,.list-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);}
.service-row:last-child,.list-row:last-child{border-bottom:0;}

 .svc-service-thumb{width:44px;height:44px;border-radius:14px;border:1px solid var(--line);object-fit:cover;background:#fff;}
 .svc-service-thumb--empty{width:44px;height:44px;border-radius:14px;border:1px dashed rgba(17,24,39,.18);background:linear-gradient(135deg,rgba(17,24,39,.06),rgba(255,255,255,.6));}

 .svc-image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;min-height:44px;}
 .svc-image-grid[data-loading="1"]{opacity:.75;pointer-events:none;}
 .svc-image-tile{appearance:none;-webkit-appearance:none;border:1px solid var(--line);background:#fff;border-radius:16px;padding:0;overflow:hidden;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.06);transition:transform .08s ease, box-shadow .12s ease, border-color .12s ease;}
 .svc-image-tile:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.10);}
 .svc-image-tile--selected{border-color:rgba(17,24,39,.55);outline:3px solid rgba(17,24,39,.12);outline-offset:2px;}
 .svc-image-thumb{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}

.services-layout{grid-template-columns:1.2fr .8fr;}
.form-rows{display:flex;flex-direction:column;}
.form-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);}
.form-row:last-child{border-bottom:0;}
.input-inline{max-width:260px;text-align:right;padding:12px 14px;border-radius:14px;font-size:14px;}
.textarea-inline{max-width:260px;min-height:44px;padding:12px 14px;border-radius:14px;font-size:14px;}

.stat-gauge{width:84px;height:84px;border-radius:999px;background:conic-gradient(var(--primary) calc(var(--p) * 1%), rgba(17,24,39,.12) 0);display:flex;align-items:center;justify-content:center;border:1px solid rgba(17,24,39,.12);box-shadow:0 10px 24px rgba(15,23,42,.10);}
.stat-gauge-inner{width:64px;height:64px;border-radius:999px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;}

.slots{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;}
.slot{min-width:92px;text-align:center;padding:14px 18px;border-radius:16px;border:1px solid var(--line);background:#fff;font-weight:700;cursor:pointer;}
.slot.active{background:var(--primary);color:#fff;border-color:var(--primary);}

.nav-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:600;font-size:14px;}
.nav-pill:hover{transform:translateY(-1px);} 
.nav-pill-primary{background:linear-gradient(180deg,#111827 0%,#0b1220 100%);color:#fff;border-color:#0b1220;box-shadow:0 12px 24px rgba(15,23,42,.16);} 
.nav-user{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-weight:600;font-size:14px;color:var(--text);} 

.fav-toggle{padding:12px 14px;}
.fav-toggle .fav-star{font-size:18px;line-height:1;color:rgba(17,24,39,.45);margin-right:2px;}
.fav-toggle.active{background:#fffbeb;border-color:#fde68a;}
.fav-toggle.active .fav-star{color:var(--warning);}

.fav-cover-form{position:absolute;top:14px;right:14px;margin:0;z-index:5;}
.fav-cover-btn{appearance:none;-webkit-appearance:none;width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.55);backdrop-filter:blur(12px);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 26px rgba(15,23,42,.18);}
.fav-cover-btn:hover{transform:translateY(-1px);}
.fav-cover-btn .fav-star{font-size:36px;line-height:1;text-shadow:0 1px 0 rgba(255,255,255,.75);}
.fav-cover-btn.active{background:rgba(255,251,235,.85);border-color:#fde68a;}
.fav-cover-btn.active .fav-star{color:var(--warning);}

.service-card{transition:transform .08s ease, box-shadow .12s ease, border-color .12s ease, background-color .12s ease;}
.service-card:hover{transform:translateY(-1px);}
.service-card-active{border-color:rgba(17,24,39,.35)!important;border-style:solid!important;background:rgba(17,24,39,.04);box-shadow:0 14px 32px rgba(17,24,39,.08);outline:3px solid rgba(17,24,39,.10);outline-offset:2px;}

.badge-slot{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:92px;text-align:center;padding:14px 18px;border-radius:16px;border:1px solid var(--line);background:#fff;font-weight:700;}
.badge-slot:hover{transform:translateY(-1px);}
.badge-slot-active{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;}

.modal{position:fixed;inset:0;display:none;z-index:9999;}
.modal[aria-hidden="false"]{display:block;}
.modal-backdrop{position:absolute;inset:0;background:rgba(17,24,39,.55);backdrop-filter:blur(6px);}
.modal-panel{position:relative;max-width:680px;margin:7vh auto 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:18px 18px 16px;box-shadow:0 26px 90px rgba(15,23,42,.26);transform:translateY(10px);opacity:.98;transition:transform .16s ease, opacity .16s ease;}
.modal[aria-hidden="false"] .modal-panel{transform:translateY(0);opacity:1;}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}

.company-verify-card{margin-bottom:14px;padding:14px 14px;border-radius:18px;border:1px solid rgba(17,24,39,.10);background:linear-gradient(180deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,.45) 100%);}
.company-verify-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.company-verify-sub{color:var(--muted);font-size:13px;margin-top:6px;}

.company-modal-help{color:var(--muted);font-size:13px;margin-top:8px;}
.company-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px;}
.company-preview-value{font-weight:700;font-size:14px;line-height:1.35;}

@media(max-width:520px){.modal-panel{margin:0;min-height:100vh;border-radius:0;}}

 .svc-tree{display:grid;gap:10px;}
 .svc-tree-children{display:grid;gap:10px;margin-left:0;}
 .svc-tree-children[data-depth="1"]{margin-left:18px;}
 .svc-tree-children[data-depth="2"]{margin-left:36px;}
 .svc-tree-children[data-depth="3"]{margin-left:54px;}
 .svc-tree-children[data-depth="4"]{margin-left:72px;}
 .svc-tree-children[data-depth="5"]{margin-left:90px;}

 .svc-tree-node{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.06);overflow:hidden;}
 .svc-tree-node[open]{box-shadow:0 16px 38px rgba(15,23,42,.10);}
 .svc-tree-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;cursor:pointer;}
 .svc-tree-summary::-webkit-details-marker{display:none;}
 .svc-tree-summary:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(17,24,39,.10), 0 0 0 6px rgba(17,24,39,.06);}

 .svc-tree-summary-left{display:flex;flex-direction:column;gap:6px;min-width:0;}
 .svc-tree-name{font-weight:800;font-size:15px;line-height:1.2;}
 .svc-tree-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
 .svc-tree-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--line);background:var(--surface-2);}
 .svc-tree-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}

 .svc-tree-panel{border-top:1px solid var(--line);padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.85) 0%, rgba(255,255,255,.70) 100%);}
 .svc-tree-form{margin:0;}

 .svc-cat-preview{display:flex;align-items:center;gap:12px;padding:12px 12px;border-radius:18px;border:1px solid var(--line);background:#fff;margin-bottom:10px;}
 .svc-cat-preview-thumb{width:38px;height:38px;border-radius:14px;border:1px solid var(--line);object-fit:cover;background:#fff;flex:0 0 38px;}
 .svc-cat-preview-thumb--empty{border:1px dashed rgba(17,24,39,.18);background:linear-gradient(135deg,rgba(17,24,39,.06),rgba(255,255,255,.6));}
 .svc-cat-preview-name{font-weight:800;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

 .svc-cat-tree{display:grid;gap:10px;max-height:56vh;overflow:auto;padding-right:6px;}
 .svc-cat-node{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;}
 .svc-cat-node[open]{box-shadow:0 16px 38px rgba(15,23,42,.10);}
 .svc-cat-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px;cursor:pointer;}
 .svc-cat-summary::-webkit-details-marker{display:none;}
 .svc-cat-left{display:flex;align-items:center;gap:12px;min-width:0;}
 .svc-cat-thumb{width:34px;height:34px;border-radius:14px;border:1px solid var(--line);object-fit:cover;background:#fff;flex:0 0 34px;}
 .svc-cat-thumb--empty{border:1px dashed rgba(17,24,39,.18);background:linear-gradient(135deg,rgba(17,24,39,.06),rgba(255,255,255,.6));}
 .svc-cat-name{font-weight:800;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
 .svc-cat-children{display:grid;gap:10px;padding:0 0 12px 18px;}
 .svc-cat-children[data-depth="1"]{padding-left:18px;}
 .svc-cat-children[data-depth="2"]{padding-left:28px;}
 .svc-cat-children[data-depth="3"]{padding-left:38px;}
 .svc-cat-children[data-depth="4"]{padding-left:48px;}

 .svc-cat-pick{appearance:none;-webkit-appearance:none;border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:10px 12px;font-weight:800;cursor:pointer;}
 .svc-cat-pick:hover{transform:translateY(-1px);}
 .svc-cat-pick.active{background:var(--primary);color:#fff;border-color:var(--primary);}
