:root {
  /* Backgrounds — Linear/Vercel neutral scale */
  --ink:#09090b;--ink2:#111113;--ink3:#18181b;--ink4:#1f1f22;
  /* Borders — ultra-subtle */
  --line:rgba(255,255,255,0.06);--line2:rgba(255,255,255,0.1);
  /* Accent — modernized warm gold */
  --gold:#d4a853;--gold2:#e0ba6a;--gold-dim:rgba(212,168,83,0.08);--gold-glow:rgba(212,168,83,0.15);
  /* Text hierarchy */
  --snow:#ededed;--mist:#a0a0a0;--fog:#5a5a5a;
  /* Status */
  --red:#ef4444;--teal:#14b8a6;--amber:#f59e0b;
  /* Radii — tighter */
  --r:8px;--r2:12px;--r3:16px;
  /* Typography */
  --fd:'Inter',system-ui,-apple-system,sans-serif;--fb:'Inter',system-ui,-apple-system,sans-serif;
  /* Timing */
  --ease:cubic-bezier(0.16,1,0.3,1);--duration:150ms;
}
html.light{
  --ink:#fafafa;--ink2:#ffffff;--ink3:#f4f4f5;--ink4:#e4e4e7;
  --line:rgba(0,0,0,0.06);--line2:rgba(0,0,0,0.1);
  --gold:#b08a4e;--gold2:#9a7640;--gold-dim:rgba(176,138,78,0.06);--gold-glow:rgba(176,138,78,0.12);
  --snow:#18181b;--mist:#71717a;--fog:#a1a1aa;
  --red:#dc2626;--teal:#0d9488;--amber:#d97706;
}
html.light .sb-icon{background:var(--gold);box-shadow:none;}
html.light .sidebar::after{background:none;}
html.light .btn-gold{background:var(--gold);color:#fff;}
html.light .btn-gold:hover{background:var(--gold2);box-shadow:none;}
html.light .btn-ghost{background:transparent;color:var(--mist);border:1px solid var(--line);}
html.light .btn-ghost:hover{background:rgba(0,0,0,0.04);color:var(--snow);border-color:var(--line2);}
html.light .btn-danger{background:rgba(220,38,38,0.06);color:var(--red);border:1px solid rgba(220,38,38,0.12);}
html.light .nav-btn:hover{background:rgba(0,0,0,0.04);}
html.light .nav-btn.active{background:var(--gold-dim);}
html.light .nav-btn.active::before{box-shadow:none;}
html.light .card:hover{border-color:var(--line2);}
html.light .badge-stalni{background:rgba(176,138,78,0.08);border-color:rgba(176,138,78,0.15);}
html.light .badge-opcenito,.light .badge-done,.light .badge-sent,.light .badge-completed,.light .badge-active,.light .badge-paid,.light .badge-checked_in{background:rgba(13,148,136,0.06);}
html.light .badge-podsjetnik,.light .badge-pending,.light .badge-scheduled,.light .badge-issued{background:rgba(217,119,6,0.06);}
html.light .badge-failed,.light .badge-no_show,.light .badge-cancelled{background:rgba(220,38,38,0.06);}
html.light ::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.08);}
html.light ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.15);}
html.light .sb-nav::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.12);}
html.light .sb-nav::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.22);}
html.light .em-camp-filter-btn.active{color:#fff;}
html.light .mo{background:rgba(0,0,0,0.4);}
html.light .mc{background:var(--ink2);box-shadow:0 8px 30px rgba(0,0,0,0.1);}
.theme-toggle{background:none;border:none;cursor:pointer;color:var(--mist);padding:6px;border-radius:var(--r);transition:all 0.2s;display:flex;align-items:center;justify-content:center;}
.theme-toggle:hover{color:var(--gold);background:var(--gold-dim);}
.theme-toggle svg{width:18px;height:18px;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--fb);background:var(--ink);color:var(--snow);min-height:100vh;display:flex;overflow:hidden;}
.sidebar{width:240px;background:var(--ink2);border-right:1px solid var(--line);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;}
.sidebar::after{content:none;}
.sb-brand{padding:20px 16px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;}
.sb-icon{width:32px;height:32px;background:var(--gold);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:none;flex-shrink:0;color:#fff;}
.sb-icon svg{width:18px;height:18px;stroke-width:2;}
.sb-name{font-family:var(--fb);font-size:0.9375rem;font-weight:600;color:var(--snow);line-height:1.1;letter-spacing:-0.01em;}
.sb-sub{font-size:0.625rem;color:var(--fog);letter-spacing:0.08em;text-transform:uppercase;margin-top:1px;}
.sb-nav{flex:1;min-height:0;padding:12px 8px;display:flex;flex-direction:column;gap:1px;overflow-y:auto;scrollbar-gutter:stable;}
.sb-nav::-webkit-scrollbar{width:6px;}
.sb-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.15);border-radius:99px;}
.sb-nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.25);}
.nav-sec{font-size:0.6875rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--fog);padding:16px 10px 4px;font-weight:500;display:flex;align-items:center;justify-content:space-between;cursor:pointer;border-radius:6px;transition:color var(--duration);}
.nav-sec:hover{color:var(--mist);}
.nav-sec .nav-arrow{font-size:0.5rem;transition:transform var(--duration);margin-right:2px;color:#d4a843;}
.nav-sec.collapsed .nav-arrow{transform:rotate(-90deg);}
.nav-group{display:flex;flex-direction:column;gap:1px;overflow:hidden;max-height:2000px;transition:max-height 0.25s ease;}
.nav-group.collapsed{max-height:0;}
.sb-nav>.nav-group{max-height:45vh;overflow-y:auto;}
.sb-nav>.nav-group.collapsed{max-height:0;overflow:hidden;}
.nav-sec.parent{font-size:0.6875rem;letter-spacing:0.06em;color:var(--mist);padding:20px 10px 4px;font-weight:600;}
.nav-sec.parent:hover{color:var(--snow);}
.nav-group .nav-sec{padding-left:12px;}
.nav-group .nav-group{padding-left:6px;}
.nav-btn{background:none;border:none;color:var(--mist);font-family:var(--fb);font-size:0.8125rem;font-weight:400;padding:6px 10px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:8px;width:100%;text-align:left;transition:background var(--duration),color var(--duration);position:relative;}
.nav-btn:hover{background:rgba(255,255,255,0.04);color:var(--snow);}
.nav-btn.active{background:var(--gold-dim);color:var(--gold2);font-weight:500;}
.nav-btn.active::before{content:'';position:absolute;left:0;top:25%;bottom:25%;width:2px;background:var(--gold);border-radius:0 2px 2px 0;}
.nav-ic{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-style:normal;}
svg.nav-ic{stroke-width:1.5;}
.news-pulse{width:7px;height:7px;border-radius:50%;background:var(--gold);margin-left:auto;flex-shrink:0;animation:newsPulse 2s ease-in-out infinite;}
@keyframes newsPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(201,169,110,0.5);}50%{opacity:0.7;box-shadow:0 0 8px 3px rgba(201,169,110,0.3);}}
.sb-foot{padding:12px 12px 16px;border-top:1px solid var(--line);flex-shrink:0;}
.wa-status{display:flex;align-items:center;gap:8px;font-size:0.76rem;cursor:pointer;padding:6px 0;}
.wa-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:background 0.3s;}
.wa-dot.connected{background:var(--teal);box-shadow:0 0 8px var(--teal);animation:pulse 2s infinite;}
.wa-dot.qr{background:var(--amber);box-shadow:0 0 8px var(--amber);animation:pulse 0.8s infinite;}
.wa-dot.disconnected{background:var(--red);}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.35}}
.var-chips{margin-top:10px;display:flex;flex-wrap:wrap;gap:4px;}
.vc{background:rgba(255,255,255,0.04);border:1px solid var(--line);color:var(--gold);font-size:0.67rem;padding:2px 8px;border-radius:99px;cursor:pointer;transition:all 0.12s;font-family:monospace;}
.vc:hover{background:var(--gold-dim);border-color:var(--gold);}
.main{margin-left:240px;flex:1;padding:32px 36px;overflow-y:auto;height:100vh;}
.page{display:none;animation:fadeUp 0.2s var(--ease);}
.page.active{display:block;}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.ph{margin-bottom:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;}
.ph-eyebrow{font-size:0.6875rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--mist);font-weight:500;margin-bottom:4px;}
.ph-title{font-family:var(--fb);font-size:1.75rem;font-weight:600;color:var(--snow);line-height:1.15;letter-spacing:-0.02em;}
.ph-sub{font-size:0.8125rem;color:var(--mist);margin-top:4px;font-weight:400;}
.dash-sec{font-size:0.7rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--fog);margin:22px 0 8px;padding-left:2px;}
.dash-sec:first-child{margin-top:0;}
.rev-chart{display:flex;align-items:flex-end;gap:6px;height:120px;padding:8px 0;}
.rev-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;}
.rev-bar{width:100%;border-radius:4px 4px 0 0;background:var(--gold);min-height:2px;transition:height 0.3s;}
.rev-bar-label{font-size:0.66rem;color:var(--mist);}
.rev-bar-val{font-size:0.68rem;color:var(--gold);font-weight:600;}
.th-load-bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:6px;}
.th-load-fill{height:100%;border-radius:3px;transition:width 0.3s;}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:0;}
.sc{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r2);padding:20px;position:relative;overflow:hidden;transition:border-color var(--duration);}
.sc:hover{border-color:var(--line2);}
.sc-icon{font-size:1.2rem;margin-bottom:12px;display:block;}
svg.sc-icon{width:22px;height:22px;stroke-width:1.5;margin-bottom:12px;}
.sc-val{font-family:var(--fb);font-size:2rem;font-weight:600;color:var(--snow);line-height:1;margin-bottom:4px;letter-spacing:-0.02em;}
.sc-lbl{font-size:0.75rem;color:var(--mist);font-weight:400;}
.card{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r2);padding:20px;transition:border-color var(--duration);}
.ch{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line);}
.ct{font-family:var(--fb);font-size:0.9375rem;font-weight:600;color:var(--snow);letter-spacing:-0.01em;}
.cs{font-size:0.75rem;color:var(--mist);margin-top:2px;}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.btn{padding:8px 16px;border-radius:var(--r);border:none;font-family:var(--fb);font-size:0.8125rem;font-weight:500;cursor:pointer;transition:opacity var(--duration),background var(--duration),color var(--duration),border-color var(--duration);display:inline-flex;align-items:center;gap:6px;}
.btn-gold{background:var(--gold);color:#1a1207;font-weight:600;}
.btn-gold:hover{opacity:0.88;}
.btn-ghost{background:transparent;color:var(--mist);border:1px solid var(--line);}
.btn-ghost:hover{background:rgba(255,255,255,0.04);color:var(--snow);border-color:var(--line2);}
.btn-danger{background:rgba(239,68,68,0.08);color:var(--red);border:1px solid rgba(239,68,68,0.15);}
.btn-danger:hover{background:rgba(239,68,68,0.14);}
.btn-sm{padding:6px 12px;font-size:0.75rem;}
.btn-xs{padding:4px 10px;font-size:0.6875rem;}
.em-camp-filter-btn.active{background:var(--gold);color:#1a1207;font-weight:600;}
.card:hover{border-color:var(--line2);}
.fg{margin-bottom:14px;}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fr.fr3{grid-template-columns:1fr 1fr 1fr;}
.chip{background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);color:var(--mist);font-size:0.82rem;padding:8px 12px;cursor:pointer;transition:all 0.15s;font-family:var(--fb);}
.chip:hover{border-color:var(--gold);color:var(--snow);}
.chip.active{background:var(--gold);border-color:var(--gold);color:#000;font-weight:600;}
.dx-chip{background:rgba(201,169,110,0.05);border:1px solid var(--line);color:var(--mist);transition:all 0.15s;}
.dx-chip.dx-active{background:rgba(201,169,110,0.2);border-color:var(--gold);color:var(--gold);}
label{display:block;font-size:0.72rem;color:var(--mist);margin-bottom:6px;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;}
input,select,textarea{width:100%;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);color:var(--snow);font-family:var(--fb);font-size:0.875rem;font-weight:400;padding:9px 12px;outline:none;transition:border-color var(--duration),box-shadow var(--duration);}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-dim);}
input::placeholder{color:var(--fog);}
textarea{resize:vertical;min-height:80px;}
select option{background:var(--ink3);}
input[type=checkbox]{width:auto;accent-color:var(--gold);}
.tw{overflow-x:auto;overflow-y:auto;max-height:70vh;}
table{width:100%;border-collapse:collapse;font-size:0.8125rem;}
th{text-align:left;padding:8px 16px;color:var(--fog);font-size:0.6875rem;text-transform:uppercase;letter-spacing:0.04em;font-weight:500;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--ink2);z-index:2;}
td{padding:10px 16px;border-bottom:1px solid var(--line);vertical-align:middle;transition:background var(--duration);}
tr:last-child td{border-bottom:none;}
tr:hover td{background:rgba(255,255,255,0.02);}
.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:0.6875rem;font-weight:500;letter-spacing:0.01em;border:none;}
.badge-stalni{background:rgba(212,168,83,0.1);color:var(--gold);}
.badge-podsjetnik{background:rgba(245,158,11,0.1);color:var(--amber);}
.badge-opcenito{background:rgba(20,184,166,0.1);color:var(--teal);}
.badge-pending{background:rgba(245,158,11,0.1);color:var(--amber);}
.badge-done{background:rgba(20,184,166,0.1);color:var(--teal);}
.badge-failed{background:rgba(239,68,68,0.1);color:var(--red);}
.badge-cancelled{background:rgba(255,255,255,0.05);color:var(--fog);}
.badge-sent{background:rgba(20,184,166,0.1);color:var(--teal);}
.badge-scheduled{background:rgba(245,158,11,0.1);color:var(--amber);}
.badge-completed{background:rgba(20,184,166,0.1);color:var(--teal);}
.badge-no_show{background:rgba(239,68,68,0.1);color:var(--red);}
.badge-checked_in{background:rgba(139,92,246,0.1);color:#8b5cf6;}
.badge-active{background:rgba(20,184,166,0.1);color:var(--teal);}
.badge-issued{background:rgba(245,158,11,0.1);color:var(--amber);}
.badge-paid{background:rgba(20,184,166,0.1);color:var(--teal);}
.loyalty-bar{height:8px;background:var(--ink3);border-radius:4px;overflow:hidden;margin-top:4px;}
.loyalty-fill{height:100%;background:var(--gold);border-radius:4px;transition:width 0.3s;}
.pkg-progress{height:6px;background:var(--ink3);border-radius:3px;overflow:hidden;margin-top:4px;}
.pkg-fill{height:100%;background:var(--teal);border-radius:3px;}
.kt-card{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r2);padding:20px;text-align:center;transition:border-color var(--duration);cursor:pointer;position:relative;overflow:hidden;}
.kt-card:hover{border-color:var(--line2);}
.kt-card.slobodan{border-color:rgba(20,184,166,0.3);}
.kt-card.slobodan:hover{border-color:var(--teal);}
.kt-card.u_najmu{border-color:rgba(239,68,68,0.3);}
.kt-card.u_najmu:hover{border-color:var(--red);}
.kt-num{font-family:var(--fb);font-size:1.75rem;font-weight:700;color:var(--gold);line-height:1;letter-spacing:-0.02em;}
.kt-label{font-size:0.78rem;color:var(--mist);margin-top:6px;font-weight:500;}
.kt-status{display:inline-block;padding:4px 14px;border-radius:20px;font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;margin-top:12px;}
.kt-status.slobodan{background:rgba(78,205,196,0.15);color:#4ecdc4;}
.kt-status.u_najmu{background:rgba(239,83,80,0.15);color:#ef5350;}
.kt-btn-active-green{background:#4ecdc4 !important;color:#111 !important;border-color:#4ecdc4 !important;}
.kt-btn-active-red{background:#ef5350 !important;color:#fff !important;border-color:#ef5350 !important;}
.kt-btn-active-yes{background:#4ecdc4 !important;color:#111 !important;border-color:#4ecdc4 !important;}
.kt-btn-active-no{background:#ef5350 !important;color:#fff !important;border-color:#ef5350 !important;}
.kt-card .kt-info{font-size:0.7rem;color:var(--fog);margin-top:8px;line-height:1.4;}
.kt-card .kt-contract{display:inline-block;margin-top:6px;font-size:0.65rem;padding:2px 8px;border-radius:10px;font-weight:600;}
.kt-contract.yes{background:rgba(78,205,196,0.12);color:#4ecdc4;}
.kt-contract.no{background:rgba(239,83,80,0.1);color:#ef5350;}
/* Notification bell */
.notif-bell{position:relative;cursor:pointer;background:none;border:none;color:var(--mist);padding:6px;border-radius:var(--r);transition:all 0.2s;display:flex;align-items:center;}
.notif-bell:hover{color:var(--gold);background:rgba(201,169,110,0.08);}
.notif-bell svg{width:20px;height:20px;}
.notif-badge{position:absolute;top:2px;right:2px;background:var(--red);color:#fff;font-size:0.58rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;animation:notifPulse 2s infinite;}
@keyframes notifPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.15);}}
.notif-panel{position:fixed;top:0;right:-380px;width:360px;height:100vh;background:var(--ink2);border-left:1px solid var(--line);z-index:200;transition:right 0.25s var(--ease);display:flex;flex-direction:column;box-shadow:-4px 0 24px rgba(0,0,0,0.3);}
.notif-panel.open{right:0;}
.notif-panel-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;}
.notif-panel-head h3{font-size:0.92rem;color:var(--snow);margin:0;}
.notif-panel-body{flex:1;overflow-y:auto;padding:8px;}
.notif-item{padding:14px 16px;border-radius:var(--r);cursor:pointer;transition:background 0.15s;border-left:3px solid transparent;margin-bottom:2px;}
.notif-item:hover{background:rgba(255,255,255,0.04);}
.notif-item.unread{background:rgba(201,169,110,0.06);border-left-color:var(--gold);}
.notif-item .ni-title{font-size:0.82rem;font-weight:600;color:var(--snow);margin-bottom:3px;}
.notif-item .ni-msg{font-size:0.76rem;color:var(--mist);line-height:1.4;}
.notif-item .ni-time{font-size:0.66rem;color:var(--fog);margin-top:6px;}
.notif-empty{text-align:center;color:var(--fog);padding:60px 20px;font-size:0.84rem;}
/* Klijent Dosje */
.dosje-header{display:flex;align-items:center;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px;}
.dosje-avatar{width:64px;height:64px;border-radius:50%;background:var(--ink3);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:600;overflow:hidden;flex-shrink:0;border:2px solid var(--line);}
.dosje-avatar img{width:100%;height:100%;object-fit:cover;}
.dosje-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:20px;}
.dosje-stat{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;text-align:center;}
.dosje-stat .ds-val{font-size:1.25rem;font-weight:700;font-family:var(--fb);letter-spacing:-0.02em;}
.dosje-stat .ds-lbl{font-size:0.68rem;color:var(--fog);text-transform:uppercase;letter-spacing:0.06em;margin-top:2px;}
.vas-chart{position:relative;height:160px;background:var(--ink3);border-radius:var(--r);padding:12px 16px;overflow:hidden;}
.vas-chart svg{width:100%;height:100%;}
.vas-dot{cursor:pointer;transition:r 0.15s;}
.vas-dot:hover{r:6;}
.timeline-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);}
.timeline-item:last-child{border-bottom:none;}
.tl-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:0.82rem;}
.tl-icon.tl-appt{background:rgba(201,169,110,0.15);color:var(--gold);}
.tl-icon.tl-msg{background:rgba(78,205,196,0.15);color:var(--teal);}
.tl-icon.tl-note{background:rgba(168,130,255,0.15);color:#a882ff;}
.tl-icon.tl-doc{background:rgba(108,155,242,0.15);color:#6C9BF2;}
.pipeline-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;min-height:500px;}
.pipeline-col{flex:1;min-width:230px;max-width:300px;background:var(--ink2);border:1px solid var(--line);border-radius:var(--r2);display:flex;flex-direction:column;overflow:hidden;}
.pipeline-col-head{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;}
.pipeline-col-head .pcol-title{font-size:0.82rem;font-weight:600;color:var(--snow);}
.pipeline-col-head .pcol-count{background:rgba(255,255,255,0.08);color:var(--mist);font-size:0.7rem;font-weight:700;min-width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;padding:0 6px;}
.pipeline-col-head .pcol-dot{width:8px;height:8px;border-radius:50%;margin-right:8px;flex-shrink:0;}
.pipeline-col-body{flex:1;padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:80px;transition:background 0.15s;}
.pipeline-col-body.drag-over{background:rgba(201,169,110,0.08);border-radius:0 0 var(--r2) var(--r2);}
.lead-card{background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:12px;cursor:grab;transition:border-color var(--duration);position:relative;}
.lead-card:hover{border-color:var(--line2);}
.lead-card:active{cursor:grabbing;opacity:0.8;}
.lead-card.dragging{opacity:0.3;}
.lead-card .lc-name{font-weight:600;font-size:0.86rem;color:var(--snow);margin-bottom:4px;}
.lead-card .lc-phone{font-size:0.76rem;color:var(--mist);}
.lead-card .lc-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.lead-card .lc-tag{font-size:0.66rem;padding:2px 8px;border-radius:10px;font-weight:500;}
.lc-src{background:rgba(201,169,110,0.12);color:var(--gold);}
.lc-svc{background:rgba(78,205,196,0.12);color:var(--teal);}
.lc-val{background:rgba(168,130,255,0.12);color:#a882ff;}
.lc-fu{background:rgba(240,160,80,0.15);color:var(--amber);font-size:0.64rem;margin-top:6px;display:flex;align-items:center;gap:4px;}
.lc-fu.overdue{background:rgba(224,85,85,0.15);color:var(--red);}
.social-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;}
.social-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--ink2);border:1px solid var(--sc-border,var(--line));border-radius:var(--r2);padding:28px 20px 22px;text-decoration:none;color:var(--snow);transition:border-color var(--duration);position:relative;overflow:hidden;}
.social-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--sc-brand);opacity:0;transition:opacity var(--duration);}
.social-card:hover{border-color:var(--sc-brand,var(--line2));}
.social-card:hover::before{opacity:1;}
.social-card:hover .social-icon{background:var(--sc-brand);color:#fff;}
.social-card:hover .social-link{opacity:1;transform:translateY(0);}
.social-icon{width:48px;height:48px;border-radius:12px;background:var(--sc-bg);color:var(--sc-brand);display:flex;align-items:center;justify-content:center;margin-bottom:14px;transition:background var(--duration),color var(--duration);}
.social-icon svg{width:24px;height:24px;}
.social-name{font-family:var(--fb);font-size:1rem;font-weight:600;margin-bottom:4px;letter-spacing:-0.01em;}
.social-desc{font-size:0.78rem;color:var(--mist);margin-bottom:14px;}
.social-link{font-size:0.76rem;color:var(--sc-brand);font-weight:500;opacity:0;transform:translateY(6px);transition:all 0.25s;}
.social-link span{display:inline-block;transition:transform 0.2s;}
.social-card:hover .social-link span{transform:translateX(4px);}
.task-card{background:var(--ink2);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;gap:12px;align-items:flex-start;}
.task-card.high{border-left:3px solid #ef5350;}
.task-card.normal{border-left:3px solid var(--gold);}
.task-card.low{border-left:3px solid var(--fog);}
.task-card.done{opacity:0.5;}
.task-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--fog);cursor:pointer;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;font-size:0.7rem;}
.task-check.checked{background:var(--teal);border-color:var(--teal);color:#111;}
.badge-paid{background:rgba(78,205,196,0.12);color:#4ecdc4;padding:2px 10px;border-radius:12px;font-size:0.72rem;font-weight:600;}
.badge-unpaid{background:rgba(239,83,80,0.12);color:#ef5350;padding:2px 10px;border-radius:12px;font-size:0.72rem;font-weight:600;}
.badge-overdue{background:rgba(239,83,80,0.25);color:#ef5350;padding:2px 10px;border-radius:12px;font-size:0.72rem;font-weight:600;}
.inv-low{color:#ef5350;font-weight:600;}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;}
.gallery-img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r);cursor:pointer;border:1px solid var(--line);transition:transform 0.15s;}
.gallery-img:hover{transform:scale(1.05);}
.bmi-gauge{display:flex;align-items:center;gap:20px;padding:14px;background:var(--ink3);border-radius:var(--r);border:1px solid var(--line);}
.bmi-value{font-family:var(--fb);font-size:2rem;font-weight:600;line-height:1;letter-spacing:-0.02em;}
.bmi-bar{flex:1;height:12px;border-radius:6px;background:linear-gradient(90deg,#4ecdc4 0%,#4ecdc4 25%,#c9a96e 25%,#c9a96e 50%,#f0a050 50%,#f0a050 75%,#e05555 75%,#e05555 100%);position:relative;}
.bmi-marker{position:absolute;top:-4px;width:4px;height:20px;background:var(--snow);border-radius:2px;transform:translateX(-50%);box-shadow:0 0 6px rgba(255,255,255,0.4);}
.bmi-labels{display:flex;justify-content:space-between;font-size:0.62rem;color:var(--fog);margin-top:2px;}
.compare-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;}
.compare-label{font-size:0.66rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--fog);margin-bottom:6px;}
.compare-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);border:1px solid var(--line);}
.doc-item{display:flex;gap:12px;align-items:center;padding:12px;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);margin-bottom:6px;transition:border-color 0.15s;}
.doc-item:hover{border-color:var(--gold);}
.doc-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.doc-icon.pdf{background:rgba(224,85,85,0.12);color:#e05555;}
.doc-icon.img{background:rgba(78,205,196,0.12);color:var(--teal);}
.doc-icon.other{background:rgba(144,151,171,0.12);color:var(--mist);}
.doc-type-badge{font-size:0.66rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:rgba(201,169,110,0.1);color:var(--gold);}
.waiting-item{display:flex;gap:14px;align-items:center;padding:16px;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r2);margin-bottom:8px;}
.waiting-time{font-size:0.7rem;color:var(--amber);font-weight:600;}
.tag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:4px;font-size:0.6875rem;font-weight:500;margin:1px 2px;border:none;}
.tag-0{background:rgba(212,168,83,0.1);color:var(--gold);}
.tag-1{background:rgba(20,184,166,0.1);color:var(--teal);}
.tag-2{background:rgba(245,158,11,0.1);color:var(--amber);}
.tag-3{background:rgba(139,92,246,0.1);color:#8b5cf6;}
.tag-4{background:rgba(236,72,153,0.1);color:#ec4899;}
.tag-5{background:rgba(34,197,94,0.1);color:#22c55e;}
.tags-wrap{display:flex;flex-wrap:wrap;gap:2px;}
.tag-input-wrap{display:flex;flex-wrap:wrap;gap:5px;background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:6px 10px;min-height:40px;cursor:text;transition:all 0.15s;}
.tag-input-wrap:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-dim);background:var(--ink4);}
.tag-input-wrap .tag{cursor:pointer;}.tag-input-wrap .tag:hover{opacity:0.7;text-decoration:line-through;}
.tag-input-wrap input{background:none;border:none;color:var(--snow);font-family:var(--fb);font-size:0.84rem;outline:none;flex:1;min-width:80px;padding:2px 4px;}
.fb-bar{display:flex;gap:9px;align-items:center;margin-bottom:18px;flex-wrap:wrap;}
.fb-bar input{max-width:270px;}
.fb-bar select{max-width:175px;}
.mo{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);z-index:200;align-items:center;justify-content:center;padding:20px;}
.mo.open{display:flex;}
.modal{background:var(--ink2);border:1px solid var(--line2);border-radius:var(--r3);padding:28px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,0.4);animation:mIn 0.2s var(--ease);position:relative;}
@keyframes mIn{from{opacity:0;transform:scale(0.98) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}
.mtitle{font-family:var(--fb);font-size:1.125rem;font-weight:600;color:var(--snow);margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line);letter-spacing:-0.01em;}
.mfoot{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);}
.ibox{background:rgba(201,169,110,0.07);border:1px solid rgba(201,169,110,0.18);border-radius:var(--r);padding:12px 15px;font-size:0.82rem;color:var(--gold);}
.prev-box{background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-top:12px;}
.prev-item{padding:11px 0;border-bottom:1px solid var(--line);}
.prev-item:last-child{border-bottom:none;}
.prev-name{font-size:0.72rem;color:var(--gold);font-weight:600;margin-bottom:4px;letter-spacing:0.05em;text-transform:uppercase;}
.prev-msg{font-size:0.86rem;color:var(--snow);line-height:1.55;font-weight:300;}
.dz{background:var(--ink3);border:2px dashed rgba(255,255,255,0.1);border-radius:var(--r2);padding:38px 24px;text-align:center;cursor:pointer;transition:all 0.18s;}
.dz:hover,.dz.drag-over{border-color:var(--gold);background:var(--gold-dim);}
.dz-icon{font-size:1.8rem;margin-bottom:10px;opacity:0.5;}
.dz-txt{font-weight:500;color:var(--mist);margin-bottom:3px;}
.dz-sub{font-size:0.76rem;color:var(--fog);}
.qi{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(255,255,255,0.04);}
.qi:last-child{border-bottom:none;}
.qi-av{width:34px;height:34px;border-radius:9px;background:var(--gold-dim);border:1px solid rgba(201,169,110,0.2);display:flex;align-items:center;justify-content:center;font-size:0.78rem;font-weight:700;color:var(--gold);flex-shrink:0;overflow:hidden;}
.qi-av img{width:100%;height:100%;object-fit:cover;}
.avatar-upload{position:relative;cursor:pointer;}
.avatar-upload:hover::after{content:'📷';position:absolute;inset:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;font-size:0.9rem;border-radius:9px;}
.qi-name{font-size:0.87rem;font-weight:500;color:var(--snow);}
.qi-det{font-size:0.75rem;color:var(--mist);margin-top:1px;font-weight:300;}
.tc{position:fixed;bottom:26px;right:26px;z-index:999;display:flex;flex-direction:column;gap:8px;}
.toast{background:var(--ink2);border:1px solid var(--line2);border-radius:var(--r);padding:12px 16px;font-size:0.8125rem;display:flex;align-items:center;gap:8px;animation:sIn 0.2s var(--ease);box-shadow:0 4px 16px rgba(0,0,0,0.3);min-width:260px;}
.toast.success{border-color:rgba(20,184,166,0.25);}
.toast.error{border-color:rgba(239,68,68,0.25);}
@keyframes sIn{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
.empty{text-align:center;padding:52px 24px;}
.ei{font-size:2rem;margin-bottom:12px;opacity:0.3;}
.empty p{font-size:0.88rem;color:var(--fog);font-weight:300;}
.rr{display:flex;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,0.04);}
.rr:last-child{border-bottom:none;}
.rr-ic{width:40px;height:40px;border-radius:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1rem;}
.rr-ic.on{background:var(--gold-dim);border:1px solid rgba(201,169,110,0.25);}
.rr-ic.off{background:rgba(255,255,255,0.04);border:1px solid var(--line);opacity:0.5;}
.tr2{display:flex;gap:18px;align-items:start;padding:18px 0;border-bottom:1px solid rgba(255,255,255,0.04);}
.tr2:last-child{border-bottom:none;}
.gold{color:var(--gold);}.mist{color:var(--mist);}.fog{color:var(--fog);}
.teal{color:var(--teal);}.amber{color:var(--amber);}.red{color:var(--red);}
.mt-1{margin-top:8px;}.mt-2{margin-top:16px;}.mb-1{margin-bottom:8px;}.mb-2{margin-bottom:16px;}
.w-full{width:100%;}.flex{display:flex;}.gap-2{gap:10px;}
.qr-wrap{display:flex;flex-direction:column;align-items:center;gap:20px;padding:10px 0;}
#qr-canvas{background:#fff;border-radius:12px;padding:16px;}
.qr-steps{background:var(--ink3);border-radius:var(--r);padding:14px 18px;font-size:0.84rem;color:var(--mist);line-height:1.8;}
.qr-steps strong{color:var(--snow);}
.cal-wrap{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:4px;}
.cal-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--ink3);}
.cal-head div{text-align:center;font-size:0.7rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--fog);padding:10px 0;border-bottom:1px solid var(--line);}
.cal-head div:not(:last-child){border-right:1px solid var(--line);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);}
.cal-day{min-height:100px;padding:8px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);cursor:pointer;transition:background 0.12s;position:relative;overflow:hidden;}
.cal-day:nth-child(7n){border-right:none;}
.cal-grid .cal-day:nth-last-child(-n+7){border-bottom:none;}
.cal-day:hover{background:rgba(255,255,255,0.04);}
.cal-day.today{background:var(--gold-dim);}
.cal-day.other-month{background:rgba(0,0,0,0.15);}
.cal-day.other-month .cal-day-num{opacity:0.3;}
.cal-day-num{font-size:0.82rem;font-weight:500;color:var(--mist);margin-bottom:6px;line-height:1;}
.cal-day.today .cal-day-num{color:#fff;font-weight:700;font-size:0.82rem;background:var(--gold);width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;line-height:1;}
.cal-day.weekend .cal-day-num{color:var(--fog);}
.cal-events{display:flex;flex-direction:column;gap:2px;}
.cal-event{display:block;font-size:0.67rem;padding:3px 6px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:all 0.1s;line-height:1.3;}
.cal-event.scheduled{background:rgba(240,160,80,0.18);color:var(--amber);}
.cal-event.completed{background:rgba(78,205,196,0.15);color:var(--teal);}
.cal-event.no_show{background:rgba(224,85,85,0.15);color:var(--red);text-decoration:line-through;}
.cal-event.cancelled{background:rgba(255,255,255,0.04);color:var(--fog);text-decoration:line-through;opacity:0.6;}
.noshow-warn{background:rgba(224,85,85,0.1);border:1px solid rgba(224,85,85,0.25);border-radius:var(--r);padding:10px 14px;font-size:0.82rem;color:var(--red);margin-top:8px;display:flex;align-items:center;gap:8px;}
.cal-event:hover{filter:brightness(1.25);transform:translateX(2px);}
.cal-more{font-size:0.64rem;color:var(--fog);padding:2px 6px;cursor:pointer;}
.cal-more:hover{color:var(--mist);}
.cal-view-btns{display:flex;gap:3px;}
.cal-view-btn{padding:5px 14px;border-radius:var(--r);border:1px solid var(--line);background:none;color:var(--mist);font-family:var(--fb);font-size:0.76rem;font-weight:500;cursor:pointer;transition:all 0.15s;}
.cal-view-btn.active{background:var(--gold-dim);color:var(--gold);border-color:rgba(201,169,110,0.3);}
.cal-view-btn:hover:not(.active){background:rgba(255,255,255,0.05);color:var(--snow);}
.cal-day-count{position:absolute;top:6px;right:7px;background:rgba(201,169,110,0.15);color:var(--gold);font-size:0.6rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.cal-week{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;}
.cal-time-col{width:52px;flex-shrink:0;border-right:1px solid var(--line);background:var(--ink3);}
.cal-time-head{height:54px;border-bottom:1px solid var(--line);}
.cal-time-label{height:60px;display:flex;align-items:flex-start;justify-content:flex-end;padding:0 8px;font-size:0.66rem;color:var(--fog);font-weight:500;transform:translateY(-8px);}
.cal-week-cols{flex:1;display:grid;grid-template-columns:repeat(7,1fr);overflow-x:auto;}
.cal-week-col{border-right:1px solid var(--line);min-width:0;}.cal-week-col:last-child{border-right:none;}
.cal-week-head{text-align:center;padding:8px 4px;border-bottom:1px solid var(--line);background:var(--ink3);cursor:pointer;transition:background 0.12s;}
.cal-week-head:hover{background:rgba(255,255,255,0.04);}
.cal-week-head .dow{font-size:0.62rem;color:var(--fog);text-transform:uppercase;letter-spacing:0.1em;font-weight:600;}
.cal-week-head .dnum{font-family:var(--fb);font-size:1.125rem;font-weight:600;color:var(--snow);margin-top:2px;height:28px;display:inline-flex;align-items:center;justify-content:center;width:28px;letter-spacing:-0.02em;}
.cal-week-head.today .dnum{color:#fff;background:var(--gold);border-radius:50%;}
.cal-week-head.weekend .dow{color:rgba(224,85,85,0.5);}
.cal-week-body{position:relative;}
.cal-week-slot{height:60px;border-bottom:1px solid var(--line);}
.cal-week-slot:hover{background:rgba(255,255,255,0.02);}
.cal-week-slot.unavailable{background:repeating-linear-gradient(135deg,transparent,transparent 4px,rgba(255,255,255,0.015) 4px,rgba(255,255,255,0.015) 8px);opacity:0.5;}
.cal-week-slot.break-slot{background:rgba(240,160,80,0.05);position:relative;}
.cal-week-slot.break-slot::after{content:"pauza";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:0.64rem;color:var(--fog);opacity:0.5;}
.cal-week-slot.blocked{background:rgba(224,85,85,0.05);}
.cal-week-event{position:absolute;left:2px;right:2px;border-radius:6px;padding:4px 6px;font-size:0.68rem;overflow:hidden;cursor:pointer;z-index:2;transition:all 0.12s;line-height:1.3;border-left:3px solid transparent;}
.cal-week-event:hover{filter:brightness(1.25);z-index:5;transform:scale(1.02);}
.cal-week-event .ev-time{font-weight:600;font-size:0.64rem;opacity:0.85;}
.cal-week-event .ev-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-week-event .ev-service{font-size:0.6rem;opacity:0.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-week-event.dragging,.cal-day-event.dragging{opacity:0.3;z-index:1;}
.cal-drag-ghost{position:fixed;pointer-events:none;z-index:1000;opacity:0.85;box-shadow:0 8px 32px rgba(0,0,0,0.5);transform:scale(1.05);border-radius:6px;}
.cal-drop-indicator{position:absolute;left:4px;right:4px;height:2px;background:var(--gold);z-index:20;pointer-events:none;box-shadow:0 0 8px rgba(201,169,110,0.5);border-radius:1px;}
.cal-now-line{position:absolute;left:0;right:0;height:2px;background:var(--red);z-index:10;pointer-events:none;}
.cal-now-line::before{content:'';position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--red);}
.stat-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;}
.stat-bar{width:100%;max-width:52px;border-radius:6px 6px 0 0;min-height:4px;transition:height 0.4s ease;position:relative;cursor:default;}
.stat-bar:hover{filter:brightness(1.2);}
.stat-bar-label{font-size:0.64rem;color:var(--fog);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.stat-bar-val{font-size:0.7rem;font-weight:600;color:var(--mist);}
.stat-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.04);}
.stat-row:last-child{border-bottom:none;}
.stat-row-bar{flex:1;height:8px;background:var(--ink3);border-radius:4px;overflow:hidden;}
.stat-row-fill{height:100%;border-radius:4px;transition:width 0.4s ease;}
.cal-day-view{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;}
.cal-day-tcol{width:52px;flex-shrink:0;border-right:1px solid var(--line);background:var(--ink3);}
.cal-day-tcol .cal-time-head{height:54px;border-bottom:1px solid var(--line);}
.cal-day-tcol .cal-time-label{height:60px;display:flex;align-items:flex-start;justify-content:flex-end;padding:0 8px;font-size:0.66rem;color:var(--fog);font-weight:500;transform:translateY(-8px);}
.cal-day-cols{flex:1;display:flex;overflow-x:auto;}
.cal-day-col{flex:1;min-width:140px;border-right:1px solid var(--line);position:relative;}
.cal-day-col:last-child{border-right:none;}
.cal-day-col-head{text-align:center;padding:10px 6px;border-bottom:1px solid var(--line);background:var(--ink3);cursor:pointer;transition:background 0.12s;}
.cal-day-col-head:hover{background:rgba(255,255,255,0.04);}
.cal-day-col-head .th-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:4px;vertical-align:middle;}
.cal-day-col-head .th-name{font-size:0.82rem;font-weight:500;color:var(--snow);}
.cal-day-col-head .th-count{font-size:0.66rem;color:var(--fog);margin-top:2px;}
.cal-day-body{position:relative;}
.cal-day-slot{height:60px;border-bottom:1px solid var(--line);position:relative;}
.cal-day-slot:hover{background:rgba(255,255,255,0.02);}
.cal-day-slot.unavailable{background:repeating-linear-gradient(135deg,transparent,transparent 4px,rgba(255,255,255,0.015) 4px,rgba(255,255,255,0.015) 8px);pointer-events:none;opacity:0.5;}
.cal-day-slot.break-slot{background:rgba(240,160,80,0.05);pointer-events:none;}
.cal-day-slot.break-slot::after{content:'pauza';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:0.64rem;color:var(--fog);opacity:0.5;}
.cal-day-slot.blocked{background:rgba(224,85,85,0.05);pointer-events:none;}
.cal-day-event{position:absolute;left:3px;right:3px;border-radius:6px;padding:4px 7px;font-size:0.72rem;overflow:hidden;cursor:pointer;z-index:2;transition:all 0.12s;line-height:1.35;border-left:3px solid transparent;}
.cal-day-event:hover{filter:brightness(1.25);z-index:5;transform:scale(1.02);}
.cal-day-event .ev-time{font-weight:600;font-size:0.66rem;opacity:0.85;}
.cal-day-event .ev-name{font-weight:500;}
.cal-day-event .ev-detail{font-size:0.64rem;opacity:0.7;}
.profile-tabs{display:flex;gap:2px;margin-bottom:18px;}
.profile-tab{padding:7px 16px;border-radius:var(--r);border:none;background:none;color:var(--mist);font-family:var(--fb);font-size:0.8rem;cursor:pointer;transition:all 0.12s;}
.profile-tab.active{background:var(--gold-dim);color:var(--gold);}
.profile-tab:hover:not(.active){background:rgba(255,255,255,0.05);}
.profile-stat{text-align:center;padding:14px 0;}
.profile-stat .ps-val{font-family:var(--fb);font-size:1.5rem;font-weight:600;color:var(--snow);letter-spacing:-0.02em;}
.profile-stat .ps-lbl{font-size:0.7rem;color:var(--mist);margin-top:3px;text-transform:uppercase;letter-spacing:0.06em;}
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.08);border-radius:99px;transition:background 0.2s;}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.15);}
.login-overlay{position:fixed;inset:0;background:var(--ink);z-index:9999;display:flex;align-items:center;justify-content:center;}
.login-overlay::before{content:none;}
.login-box{background:var(--ink2);border:1px solid var(--line2);border-radius:var(--r2);padding:40px 36px;width:360px;text-align:center;position:relative;box-shadow:0 8px 30px rgba(0,0,0,0.3);}
.login-box h1{font-family:var(--fb);font-size:1.5rem;color:var(--snow);margin-bottom:6px;font-weight:600;letter-spacing:-0.02em;}
.login-box p{color:var(--mist);font-size:0.8125rem;margin-bottom:24px;}
.login-box input{width:100%;padding:11px;border-radius:var(--r);border:1px solid var(--line);background:var(--ink3);color:var(--snow);font-size:0.9375rem;margin-bottom:10px;box-sizing:border-box;text-align:center;transition:border-color var(--duration),box-shadow var(--duration);}
.login-box input[type="password"]{letter-spacing:3px;}
.login-box input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-dim);}
.login-box .login-btn{width:100%;padding:11px;border:none;border-radius:var(--r);background:var(--gold);color:#1a1207;font-weight:600;font-size:0.9375rem;cursor:pointer;margin-top:4px;transition:opacity var(--duration);}
.login-box .login-btn:hover{opacity:0.88;}
.login-box .login-err{color:var(--red);font-size:0.75rem;margin-top:10px;min-height:20px;}
@media print {
  body{background:#fff;color:#000;}
  .sidebar,.sb-foot,.toast,.tc,.fb-bar,.cal-view-btns,.cal-legend,.ph-eyebrow,.ph-sub,.mo,.stats,.btn,select#cal-therapist-filter{display:none!important;}
  .main{margin-left:0;padding:10px;}
  .card{border:1px solid #ddd;background:#fff;box-shadow:none;}
  .cal-week-event,.cal-day-event{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .cal-week-slot,.cal-day-slot{border-color:#eee;}
  .cal-time-col,.cal-day-tcol,.cal-week-head,.cal-day-col-head{background:#f5f5f5!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .ph-title{color:#000;}
  .cal-week-head .dnum,.th-name{color:#000;}
  .cal-time-label{color:#666;}
  .page{display:none!important;}
  .page.active{display:block!important;}
}
/* ─── MODERN BODY MAP ─────────────────────────────────────── */
.body-map-wrap{display:flex;justify-content:center;gap:24px;margin-bottom:12px}
.body-map-col{text-align:center;position:relative}
.body-map-label{font-size:0.68rem;color:var(--fog);margin-bottom:6px;font-weight:500;letter-spacing:0.04em}
.body-svg{cursor:pointer;max-width:100%}
.body-svg .zone{fill:rgba(255,255,255,0.06);stroke:rgba(255,255,255,0.12);stroke-width:0.7;cursor:pointer;transition:all 0.2s ease;rx:4}
html.light .body-svg .zone{fill:rgba(0,0,0,0.04);stroke:rgba(0,0,0,0.1)}
.body-svg .zone:hover{fill:rgba(201,169,110,0.18);stroke:var(--gold);stroke-width:1}
.body-svg .zone.active{fill:rgba(239,83,80,0.35);stroke:rgba(239,83,80,0.6);stroke-width:1.2}
.body-svg .zone.active:hover{fill:rgba(239,83,80,0.5);stroke:rgba(239,83,80,0.8)}
.pain-tag{background:rgba(239,83,80,0.15);color:#ef5350;padding:4px 12px;border-radius:14px;font-size:0.73rem;font-weight:600;cursor:pointer;transition:all 0.2s;border:1px solid rgba(239,83,80,0.2);display:inline-flex;align-items:center;gap:4px}
.pain-tag:hover{background:rgba(239,83,80,0.3);border-color:rgba(239,83,80,0.4)}
.pain-tag .x{font-size:0.65rem;opacity:0.7}
.pain-tag .x:hover{opacity:1}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE
   ═══════════════════════════════════════════════════════════════════════════ */

/* Bottom tab bar — hidden on desktop */
.bottom-tab-bar{display:none;}

/* Hamburger button — hidden on desktop */
.hamburger-btn{display:none;background:none;border:none;cursor:pointer;color:var(--mist);padding:6px;border-radius:var(--r);transition:all 0.2s;align-items:center;justify-content:center;}
.hamburger-btn:hover{color:var(--gold);background:var(--gold-dim);}
.hamburger-btn svg{width:20px;height:20px;}

/* Mobile header — hidden on desktop */
.mobile-header{display:none;}

/* Sidebar overlay — hidden by default */
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);z-index:49;opacity:0;transition:opacity 0.3s;}
.sidebar-overlay.open{display:block;opacity:1;}

/* ─── TABLET: ≤1024px ────────────────────────────────────────────────────── */
@media(max-width:1024px){
  .main{padding:24px 20px;}
  .ph-title{font-size:1.5rem;}
  .g3{grid-template-columns:1fr 1fr;}
}

/* ─── MOBILE: ≤768px ─────────────────────────────────────────────────────── */
@media(max-width:768px){

  /* Mobile header bar */
  .mobile-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:60;background:var(--ink);border-bottom:1px solid var(--line);padding:6px 10px;gap:4px;height:44px;box-sizing:border-box;overflow:hidden;max-width:100vw;width:100%;}
  .mobile-header-title{font-weight:600;font-size:0.8rem;color:var(--snow);flex:1;min-width:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-0.01em;}

  /* Hamburger visible */
  .hamburger-btn{display:flex;color:var(--snow);width:32px;height:32px;padding:4px;flex-shrink:0;}
  .hamburger-btn svg{width:18px;height:18px;}

  /* Bottom tab bar */
  .bottom-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--ink2);border-top:1px solid var(--line);padding:4px 0 env(safe-area-inset-bottom,4px);height:auto;}
  .tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;background:none;border:none;color:var(--fog);font-size:0.58rem;cursor:pointer;transition:color 0.15s;letter-spacing:0.02em;}
  .tab-btn svg{width:20px;height:20px;stroke-width:1.5;}
  .tab-btn.active{color:var(--gold);}
  .tab-btn:active{color:var(--gold2);}

  /* Main padding-bottom for tab bar */
  .main{padding-bottom:72px !important;}

  /* Sidebar — off-screen drawer */
  .sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;transform:translateX(-100%);transition:transform 0.3s cubic-bezier(0.16,1,0.3,1);z-index:100;box-shadow:none;}
  .sidebar.open{transform:translateX(0);box-shadow:8px 0 40px rgba(0,0,0,0.5);}

  /* Main content — full width */
  body{display:block;overflow-x:hidden;overflow-y:auto;width:100%;max-width:100vw;}
  .main{margin-left:0;padding:16px 20px;height:auto;min-height:100vh;-webkit-overflow-scrolling:touch;width:100%;max-width:100vw;overflow-x:hidden;overflow-y:visible;box-sizing:border-box;}

  /* Page header */
  .ph{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:20px;}
  .ph-title{font-size:1.25rem;}
  .ph-sub{font-size:0.75rem;}
  .ph .btn,.ph .btn-gold,.ph .btn-ghost{width:100%;justify-content:center;}

  /* Grid layouts → stack */
  .g2,.g3,.fr{grid-template-columns:1fr !important;gap:12px;overflow:hidden;}

  /* Stat cards — 3 per row, compact */
  .stats{grid-template-columns:repeat(3,1fr) !important;gap:8px;}
  .sc{padding:10px;text-align:center;}
  .sc-val{font-size:1.2rem;}
  .sc-lbl{font-size:0.62rem;}
  .sc-icon,.sc-icon svg{margin-bottom:4px;font-size:0.9rem;}
  svg.sc-icon{width:16px;height:16px;margin-bottom:4px;}

  /* Cards */
  .card{padding:18px 14px;}
  .ch{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:14px;padding-bottom:12px;}

  /* Tables — scroll shadow hint */
  .tw{max-height:60vh;-webkit-overflow-scrolling:touch;position:relative;}
  .tw::after{content:'';position:absolute;top:0;right:0;bottom:0;width:24px;background:linear-gradient(to left,var(--ink2),transparent);pointer-events:none;opacity:0;transition:opacity 0.2s;}
  .tw.scrollable::after{opacity:1;}
  table{font-size:0.8rem;}
  th{padding:8px 10px;font-size:0.62rem;}
  td{padding:10px;font-size:0.8rem;}

  /* Filter bar */
  .fb-bar{gap:6px;}
  .fb-bar input,.fb-bar select{max-width:100%;flex:1;min-width:0;}

  /* Modals — bottom sheet style */
  .mo{padding:0;align-items:flex-end;overflow:hidden;}
  .modal{max-width:100%;width:100%;border-radius:var(--r3) var(--r3) 0 0;padding:24px 16px;max-height:92vh;margin:0;overflow-x:hidden;box-sizing:border-box;}
  .modal *{max-width:100%;box-sizing:border-box;}
  .mtitle{font-size:1rem;margin-bottom:14px;padding-bottom:10px;}
  .mfoot{flex-wrap:wrap;}
  .mfoot .btn{flex:1;min-width:0;justify-content:center;}

  /* Login */
  .login-box{width:calc(100% - 32px);max-width:360px;padding:32px 24px;}

  /* Notification panel — full width */
  .notif-panel{width:100%;right:-100%;}

  /* Toasts — above bottom tab bar */
  .tc{left:14px;right:14px;bottom:72px;}
  .toast{min-width:auto;width:100%;}

  /* Calendar — month view compact */
  .cal-day{min-height:56px;padding:4px;}
  .cal-day-num{font-size:0.72rem;margin-bottom:3px;}
  .cal-event{font-size:0.6rem;padding:2px 4px;}
  .cal-more{font-size:0.58rem;}
  .cal-head div{font-size:0.58rem;padding:7px 0;letter-spacing:0.06em;}
  .cal-day.today .cal-day-num{width:22px;height:22px;font-size:0.72rem;}
  .cal-day-count{font-size:0.54rem;min-width:14px;height:14px;top:3px;right:3px;}

  /* Calendar — week view */
  .cal-time-col,.cal-day-tcol{width:40px;}
  .cal-time-label{font-size:0.58rem;padding:0 4px;}
  .cal-week-cols{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .cal-week-col{min-width:80px;}
  .cal-week-head .dow{font-size:0.56rem;}
  .cal-week-head .dnum{font-size:1rem;}
  .cal-week-event{font-size:0.62rem;padding:2px 4px;}
  .cal-week-event .ev-time{font-size:0.58rem;}
  .cal-week-event .ev-service{display:none;}

  /* Calendar — day view */
  .cal-day-col{min-width:100px;}
  .cal-day-col-head .th-name{font-size:0.74rem;}
  .cal-day-event{font-size:0.66rem;padding:3px 5px;}

  /* Calendar view buttons */
  .cal-view-btns{flex-wrap:wrap;gap:4px;}
  .cal-view-btn{padding:6px 10px;font-size:0.72rem;}

  /* Pipeline board */
  .pipeline-board{min-height:300px;}
  .pipeline-col{min-width:260px;max-width:none;}

  /* Social cards */
  .social-grid{grid-template-columns:1fr !important;gap:12px;}
  .social-card{padding:20px 16px;}

  /* Dosje */
  .dosje-header{flex-direction:column;text-align:center;gap:12px;}
  .dosje-avatar{margin:0 auto;}
  .dosje-stats{grid-template-columns:1fr 1fr !important;}

  /* Body map */
  .body-map-wrap{flex-direction:column;align-items:center;gap:16px;}

  /* Profile tabs */
  .profile-tabs{flex-wrap:wrap;gap:4px;}
  .profile-tab{padding:6px 12px;font-size:0.76rem;}

  /* Compare pairs */
  .compare-pair{grid-template-columns:1fr !important;}

  /* BMI gauge */
  .bmi-gauge{flex-direction:column;text-align:center;gap:10px;}
  .bmi-bar{max-width:100%;width:100%;}

  /* Drop zones */
  .dz{padding:24px 16px;}

  /* Quick items / rows */
  .qi{gap:8px;padding:8px 0;}
  .rr{gap:10px;padding:12px 0;flex-wrap:wrap;}
  .tr2{flex-direction:column;gap:10px;padding:14px 0;}

  /* Sidebar brand — tighter on mobile */
  .sb-brand{padding:18px 16px 14px;}

  /* Nav buttons — bigger tap targets */
  .nav-btn{padding:10px 12px;font-size:0.86rem;}

  /* Inputs — 16px prevents iOS auto-zoom */
  input,select,textarea{font-size:16px !important;min-width:0;max-width:100%;}

  /* Buttons — bigger on mobile */
  .btn{min-height:42px;padding:10px 18px;}
  .btn-sm{min-height:36px;padding:7px 14px;}

  /* Empty state */
  .empty{padding:32px 16px;}

  /* Dashboard sections inline grids */
  #dash-leads-grid{grid-template-columns:1fr !important;}
  #kt-aparati-grid{grid-template-columns:1fr 1fr !important;}
  #ig-media-grid{grid-template-columns:1fr 1fr !important;}

  /* Waiting room items */
  .waiting-item{flex-wrap:wrap;padding:12px;gap:10px;}

  /* Tags */
  .tag-input-wrap{min-height:42px;}

  /* Inline style overrides for common patterns */
  [style*="grid-template-columns: repeat(3"]{grid-template-columns:1fr 1fr !important;}
  [style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr 1fr !important;}
  [style*="grid-template-columns: 1fr 1fr 1fr"]{grid-template-columns:1fr 1fr !important;}
  [style*="grid-template-columns:1fr 1fr 1fr"]{grid-template-columns:1fr 1fr !important;}
  [style*="grid-template-columns: repeat(auto-fill,minmax(300px"]{grid-template-columns:1fr !important;}
  [style*="grid-template-columns:repeat(auto-fill,minmax(300px"]{grid-template-columns:1fr !important;}
  [style*="grid-template-columns: repeat(auto-fill,minmax(340px"]{grid-template-columns:1fr !important;}
  [style*="grid-template-columns:repeat(auto-fill,minmax(340px"]{grid-template-columns:1fr !important;}

  /* Schedule grid  */
  [style*="grid-template-columns:100px 1fr"]{grid-template-columns:80px 1fr !important;}
  [style*="grid-template-columns: 100px 1fr"]{grid-template-columns:80px 1fr !important;}
}

/* Calendar day name abbreviations */
.cal-day-short{display:none;}
@media(max-width:768px){.cal-day-full{display:none;}.cal-day-short{display:inline;}}

/* ─── SMALL PHONES: ≤400px ───────────────────────────────────────────────── */
@media(max-width:400px){
  .main{padding:12px 16px;}
  .stats{grid-template-columns:repeat(3,1fr) !important;}
  .sc{padding:8px;}
  .sc-val{font-size:1rem;}
  .sc-lbl{font-size:0.58rem;}
  .ph-title{font-size:1.125rem;}
  .card{padding:14px 12px;}
  .modal{padding:18px 12px;}
  #kt-aparati-grid{grid-template-columns:1fr !important;}
  .dosje-stats{grid-template-columns:1fr !important;}
  .cal-day{min-height:44px;padding:2px;}
  .cal-day-num{font-size:0.66rem;}
  .cal-events{display:none;}
  .cal-day-count{display:flex;}
}

/* ─── Pull-to-refresh ────────────────────────────────────────────────────── */
.ptr-indicator{display:none;text-align:center;padding:12px 0;color:var(--fog);font-size:0.8rem;transition:opacity 0.2s;}
.ptr-indicator.visible{display:block;}
.ptr-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:ptr-spin 0.6s linear infinite;}
@keyframes ptr-spin{to{transform:rotate(360deg);}}
