/* 360 Degree M v35 premium design layer */
:root{--purple:#6C4DF6;--purple2:#8D77FF;--ink:#111827;--muted:#6B7280;--line:#E8EAF0;--soft:#F6F7FB;--panel:#FFFFFF;--good:#16A34A;--slow:#DC2626;--over:#D97706;--shadow:0 18px 55px rgba(18,22,38,.09);--radius:22px} 
html,body{background:linear-gradient(135deg,#fbfbff 0,#f4f6fb 45%,#eef2ff 100%);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}
.app{background:transparent}.main{background:transparent}.page{padding:24px;max-width:1480px;margin:0 auto;width:100%}
.sidebar{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(18px);border-right:1px solid rgba(232,234,240,.9);box-shadow:8px 0 36px rgba(25,30,45,.06)}
.sidebar-logo{padding:20px 18px;background:transparent!important}.sidebar-logo-icon{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--purple),#A78BFA);box-shadow:0 14px 28px rgba(108,77,246,.28)}.sidebar-logo-text{font-size:16px}.sidebar-logo-sub{font-size:12px;color:#7C8294}
.sidebar-link{border:0;background:transparent;width:100%;text-align:left;border-radius:14px;gap:12px;padding:12px 14px;color:#5D6475;font-size:14px;font-weight:650}.sidebar-link svg{color:#7C8294}.sidebar-link:hover{background:#F1F3FA;color:var(--ink)}.sidebar-link.active{background:linear-gradient(135deg,#F1EEFF,#F8F7FF);color:var(--purple);box-shadow:inset 0 0 0 1px rgba(108,77,246,.14)}.sidebar-link.active svg{color:var(--purple)}
.sidebar-user{background:#F7F8FC;border:1px solid #EAECF3;border-radius:16px}.avatar{width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,var(--purple),#A78BFA);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.avatar.lg{width:56px;height:56px;border-radius:18px}.user-name{font-size:13px;font-weight:750}.user-role{font-size:11px;color:var(--muted)}
.header{height:76px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);border-bottom:1px solid rgba(232,234,240,.9);padding:0 24px;display:flex;align-items:center;gap:16px}.header-title{display:flex;flex-direction:column;line-height:1.2}.header-title strong{font-size:16px}.header-title span{font-size:12px;color:var(--muted)}.header-actions{margin-left:auto;display:flex;gap:10px;align-items:center}
.btn{border:0;border-radius:14px;padding:10px 14px;font-size:13px;font-weight:750;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:.18s;white-space:nowrap}.btn.small{padding:7px 10px;border-radius:11px;font-size:12px}.btn-primary,.btn-purple{background:linear-gradient(135deg,var(--purple),#8B5CF6);color:#fff;box-shadow:0 12px 24px rgba(108,77,246,.22)}.btn-primary:hover,.btn-purple:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(108,77,246,.28)}.btn-soft{background:#F1F3FA;color:#30374B}.btn-outline{background:#fff;border:1px solid var(--line);color:#394153}.btn-danger{background:#FEE2E2;color:#B91C1C}.icon-btn{border:0;background:#F3F4F8;color:#374151;border-radius:14px;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700}.menu-btn{display:none}
.premium-page-head{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 20px;gap:18px}.premium-page-head h1{font-size:34px;line-height:1.05;margin:0;letter-spacing:-.04em}.premium-page-head .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--purple);font-weight:850;margin:0 0 8px}.page-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.kpi-card,.panel,.client-card,.team-card{background:rgba(255,255,255,.88);border:1px solid rgba(232,234,240,.95);border-radius:var(--radius);box-shadow:var(--shadow)}.kpi-card{padding:20px}.kpi-card span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.kpi-card strong{display:block;font-size:32px;margin:8px 0 2px;letter-spacing:-.04em}.kpi-card small{color:var(--muted)}.kpi-card.good strong,.good{color:var(--good)!important}.kpi-card.slow strong,.slow{color:var(--slow)!important}.kpi-card.over strong,.over{color:var(--over)!important}
.panel{padding:20px;margin-bottom:18px}.panel-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title h3{margin:0;font-size:18px;letter-spacing:-.02em}.muted{color:var(--muted)}
.data-row,.progress-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid #EEF0F5;border-radius:16px;background:#fff;margin-bottom:10px}.data-row b,.progress-row b{display:block;font-size:14px}.data-row small,.progress-row small{display:block;color:var(--muted);margin-top:4px}.row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pill,.chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;background:#F3F4F8;color:#4B5563;border:0}.pill.good{background:#DCFCE7;color:#15803D}.pill.slow,.pill.danger{background:#FEE2E2;color:#B91C1C}.pill.over{background:#FEF3C7;color:#B45309}.filter-bar,.filter-grid{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.filter-grid select,.filter-grid input{min-width:180px}.chip{cursor:pointer}.chip.active{background:#EEE9FF;color:var(--purple)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.client-card,.team-card{padding:18px}.client-card-head{display:flex;justify-content:space-between;gap:10px}.client-card h3,.team-card h3{margin:0;font-size:18px}.client-card small,.team-card p{color:var(--muted)}.commitment-display{display:flex;align-items:flex-end;gap:10px;margin:20px 0 10px}.commitment-display b{font-size:30px;letter-spacing:-.04em}.progress-line{height:9px;background:#F0F1F6;border-radius:999px;overflow:hidden}.progress-line span{display:block;height:100%;background:linear-gradient(90deg,var(--purple),#A78BFA);border-radius:999px}.card-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.team-card{text-align:center}.team-card .avatar{margin:0 auto 12px}.team-load{background:#F7F8FC;border-radius:16px;padding:12px;margin:14px 0}.team-load b{font-size:24px}.team-load span{display:block;color:var(--muted);font-size:12px}.profile-strip{display:flex;align-items:center;gap:14px}
.calendar-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.segmented{display:flex;background:#F0F2F8;border-radius:15px;padding:4px}.segmented button{border:0;background:transparent;padding:9px 13px;border-radius:12px;font-weight:800;color:#586174;cursor:pointer}.segmented button.active{background:#fff;color:var(--purple);box-shadow:0 8px 20px rgba(20,25,40,.08)}.calendar-head h3{margin:0 0 14px;font-size:20px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.calendar-grid>b{text-align:center;font-size:12px;color:var(--muted);padding:6px}.cal-day{min-height:112px;background:#fff;border:1px solid #EEF0F5;border-radius:16px;padding:10px;cursor:pointer;transition:.15s;overflow:hidden}.cal-day:hover{border-color:#C8BEFF;box-shadow:0 10px 28px rgba(108,77,246,.12)}.cal-day strong{display:block}.cal-day span{font-size:11px;color:var(--purple);font-weight:800;display:block;margin:5px 0}.cal-day em{display:block;font-style:normal;font-size:11px;background:#F5F3FF;border-radius:8px;padding:4px 6px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.muted-day{opacity:.45}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(8px);z-index:3000;display:flex;justify-content:flex-end}.modal-card{width:min(620px,100%);height:100%;background:#fff;box-shadow:-20px 0 60px rgba(15,23,42,.18);display:flex;flex-direction:column}.modal-card.wide{width:min(820px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:22px;letter-spacing:-.03em}.modal-body{padding:22px 24px;overflow:auto;flex:1}.modal-actions{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.span-2,.span-2{grid-column:1/-1}.field label,.check-row{font-size:12px;font-weight:850;color:#485066}.field input,.field select,.field textarea,.filter-grid input,.filter-grid select{border:1px solid #DDE1EA;background:#fff;border-radius:13px;padding:11px 12px;font-size:14px;outline:none}.field textarea{min-height:94px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#9D8CFF;box-shadow:0 0 0 4px rgba(108,77,246,.10)}select[multiple]{min-height:110px}.check-row{display:flex;align-items:center;gap:9px;background:#F7F8FC;border-radius:14px;padding:12px}.comment{display:flex;justify-content:space-between;gap:10px;padding:12px;background:#F7F8FC;border-radius:14px;margin-bottom:10px}.comment p{margin:5px 0 0;color:#3F4656}.empty-state{text-align:center;padding:28px;color:var(--muted)}.empty-icon{width:46px;height:46px;border-radius:16px;background:#F3F0FF;color:var(--purple);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.empty-state h3{color:var(--ink);margin:0 0 6px}.toast-box{position:fixed;right:18px;bottom:18px;z-index:5000}.toast{background:#111827;color:#fff;border-radius:14px;padding:12px 14px;margin-top:8px;box-shadow:0 12px 30px rgba(0,0,0,.2)}.toast.err{background:#B91C1C}
@media(max-width:900px){.page{padding:18px 14px 92px}.header{height:66px;padding:0 14px}.menu-btn{display:inline-flex}.header-actions .btn-soft,.header-actions .btn-primary{display:none}.premium-page-head{display:block}.premium-page-head h1{font-size:28px}.page-actions{margin-top:14px;justify-content:flex-start}.kpi-grid,.panel-grid.two,.week-grid{grid-template-columns:1fr}.calendar-grid{gap:6px}.cal-day{min-height:76px;padding:8px;border-radius:12px}.cal-day em{display:none}.form-grid-2{grid-template-columns:1fr}.modal-card,.modal-card.wide{width:100%;border-radius:22px 22px 0 0;height:92vh;margin-top:auto}.modal-backdrop{align-items:flex-end}.data-row,.progress-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%;justify-content:flex-start}.bottom-nav{background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-top:1px solid var(--line)}.bottom-nav-item{border:0;background:transparent;color:#677082}.bottom-nav-item.active{color:var(--purple)}}
@media(min-width:1024px){.sidebar{position:relative;transform:none!important}.sidebar-backdrop{display:none}.main{margin-left:0}}


/* v36: Kimi-style black theme + premium page polish */
:root{
  --purple:#7B61FF;--purple2:#9B87FF;--green:#22C55E;--red:#EF4444;--amber:#F59E0B;
}
html[data-theme="dark"]{
  --bg:#050506;--card:#101014;--card2:#14141A;--panel:#101014;--ink:#F7F7FB;--text:#F7F7FB;--text2:#B8BAC7;--text3:#777B8F;--muted:#9CA3AF;--line:#262633;--border:#252532;--border2:#1A1A22;--soft:#15151B;--shadow:0 18px 50px rgba(0,0,0,.45);--sidebar-bg:#0B0B0F;--sidebar-border:#23232E;
}
html[data-theme="light"]{
  --bg:#F5F6F8;--card:#FFFFFF;--card2:#FAFBFC;--panel:#FFFFFF;--ink:#0F0F1A;--text:#0F0F1A;--text2:#5A5A6E;--text3:#8A8EA0;--muted:#6B7280;--line:#E8E8F0;--border:#E8E8F0;--border2:#F0F0F6;--soft:#F5F6F8;--shadow:0 10px 28px rgba(20,25,40,.07);--sidebar-bg:#FFFFFF;--sidebar-border:#E8E8F0;
}
html,body{background:var(--bg)!important;color:var(--text)!important;}
body{font-size:13px;line-height:1.5;}
.app,.main{background:var(--bg)!important;}
.page{padding:24px 26px 34px;max-width:1360px;margin:0 auto;}
.sidebar{background:var(--sidebar-bg)!important;border-right:1px solid var(--sidebar-border)!important;box-shadow:none!important;}
.sidebar-logo{border-bottom:1px solid var(--sidebar-border);padding:20px 18px!important;}
.sidebar-logo-icon{width:44px!important;height:44px!important;border-radius:14px!important;background:linear-gradient(135deg,var(--purple),#8B5CF6)!important;box-shadow:0 12px 28px rgba(123,97,255,.25)!important;}
.sidebar-logo-text,.user-name{color:var(--text)!important;}
.sidebar-logo-sub,.user-role,.muted{color:var(--text2)!important;}
.sidebar-section-title{color:var(--text3)!important;}
.sidebar-link{color:var(--text2)!important;border-radius:13px!important;margin:3px 0;padding:11px 14px!important;}
.sidebar-link svg{color:var(--text3)!important;}
.sidebar-link:hover{background:rgba(123,97,255,.09)!important;color:var(--text)!important;}
.sidebar-link.active{background:rgba(123,97,255,.16)!important;color:var(--purple2)!important;box-shadow:inset 0 0 0 1px rgba(123,97,255,.25)!important;}
.sidebar-link.active svg{color:var(--purple2)!important;}
.sidebar-user{background:var(--card2)!important;border:1px solid var(--border)!important;}
.header{height:64px;background:var(--bg)!important;border-bottom:1px solid var(--border)!important;box-shadow:none!important;padding:0 26px!important;}
.header-title strong{color:var(--text)!important;}
.header-title span{color:var(--text2)!important;}
.kpi-card,.panel,.client-card,.team-card,.modal-card,.data-row,.progress-row,.cal-day{background:var(--card)!important;border:1px solid var(--border)!important;color:var(--text)!important;box-shadow:var(--shadow)!important;}
.panel,.client-card,.team-card,.kpi-card{border-radius:18px!important;}
.kpi-card{padding:18px!important;min-height:126px;}
.kpi-card span,.panel-title p,.data-row small,.progress-row small{color:var(--text2)!important;}
.kpi-card strong{color:var(--text)!important;font-size:30px!important;}
.premium-page-head{margin-bottom:18px!important;align-items:center!important;}
.premium-page-head h1{color:var(--text)!important;font-size:30px!important;letter-spacing:-.035em!important;}
.premium-page-head .eyebrow{color:var(--purple2)!important;letter-spacing:.16em!important;}
.panel-title h3,.client-card h3,.team-card h3,.modal-head h2{color:var(--text)!important;}
.btn{min-height:40px;border-radius:13px!important;font-weight:750!important;}
.btn-primary,.btn-purple{background:linear-gradient(135deg,#7B61FF,#8B5CF6)!important;color:#fff!important;box-shadow:0 12px 26px rgba(123,97,255,.25)!important;}
.btn-soft,.btn-outline{background:var(--card2)!important;color:var(--text)!important;border:1px solid var(--border)!important;}
.icon-btn{background:var(--card2)!important;color:var(--text)!important;border:1px solid var(--border)!important;}
.pill,.chip{background:var(--card2)!important;color:var(--text2)!important;border:1px solid var(--border)!important;}
.pill.good,.chip.good{background:rgba(34,197,94,.12)!important;color:#22C55E!important;border-color:rgba(34,197,94,.25)!important;}
.pill.slow,.pill.danger{background:rgba(239,68,68,.12)!important;color:#EF4444!important;border-color:rgba(239,68,68,.25)!important;}
.pill.over{background:rgba(245,158,11,.12)!important;color:#F59E0B!important;border-color:rgba(245,158,11,.25)!important;}
.filter-grid input,.filter-grid select,input,select,textarea{background:var(--card2)!important;color:var(--text)!important;border:1px solid var(--border)!important;border-radius:13px!important;}
textarea{min-height:96px;}
.modal-backdrop{background:rgba(0,0,0,.7)!important;}
.modal-card{background:var(--card)!important;}
.modal-head,.modal-actions{border-color:var(--border)!important;}
.form-grid-2{gap:16px!important;}
.field label{color:var(--text)!important;font-weight:750!important;}
.calendar-toolbar{background:var(--card);border:1px solid var(--border);padding:12px;border-radius:18px;}
.segmented{background:var(--card2)!important;border:1px solid var(--border)!important;}
.segmented button{color:var(--text2)!important;}
.segmented button.active{background:rgba(123,97,255,.18)!important;color:var(--purple2)!important;box-shadow:none!important;}
.cal-day{min-height:112px!important;}
.cal-day em{background:var(--card2)!important;color:var(--text2)!important;}
.empty-state{color:var(--text2)!important;}
.progress-line{background:var(--card2)!important;}
.client-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.panel-grid.two{grid-template-columns:1fr 1fr!important;}
.settings-panel .chip-wrap{display:flex;gap:10px;flex-wrap:wrap;}
/* cleaner client dashboard */
html[data-theme="dark"] .client-dashboard-hero{background:radial-gradient(circle at top right,rgba(123,97,255,.14),transparent 34%),var(--card)!important;}
@media(max-width:980px){.page{padding:18px 14px 86px!important}.header{height:58px;padding:0 14px!important}.premium-page-head{align-items:flex-start!important;flex-direction:column!important}.premium-page-head h1{font-size:25px!important}.kpi-grid,.client-kpis{grid-template-columns:1fr 1fr!important}.panel-grid.two{grid-template-columns:1fr!important}.calendar-grid{gap:6px}.cal-day{min-height:84px;border-radius:13px!important}.card-grid{grid-template-columns:1fr!important}.form-grid-2{grid-template-columns:1fr!important}.field.span-2{grid-column:auto!important}.modal-card{width:100%!important}.modal-body{padding:18px!important}.modal-head,.modal-actions{padding:16px 18px!important}}
@media(max-width:560px){.kpi-grid,.client-kpis{grid-template-columns:1fr!important}.page-actions,.header-actions{width:100%;justify-content:flex-start;overflow-x:auto}.header-title span{display:none}.btn{min-height:38px}.cal-day{min-height:70px;padding:8px}.cal-day em{display:none}}
