*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-bg:#131b2e;--sidebar-width:240px;--bg:#eeede8;--surface:#fff;--accent:#2457d9;--accent-hover:#1d48c4;--accent-light:rgba(36,87,217,.09);--text:#0d1219;--text-2:#3d4757;--text-muted:#8a909e;--border:#e2e2dc;--card-radius:10px;--card-shadow:0 1px 3px rgba(0,0,0,.05),0 1px 2px rgba(0,0,0,.04);--st-ns-bg:#f1f5f9;--st-ns-tx:#64748b;--st-ip-bg:#eff6ff;--st-ip-tx:#1d48c4;--st-ir-bg:#fef3c7;--st-ir-tx:#92400e;--st-dn-bg:#dcfce7;--st-dn-tx:#166534;--st-od-bg:#fee2e2;--st-od-tx:#991b1b}[data-accent=sage]{--accent:#16a34a;--accent-hover:#15803d;--accent-light:rgba(22,163,74,.09)}[data-accent=violet]{--accent:#7c3aed;--accent-hover:#6d28d9;--accent-light:rgba(124,58,237,.09)}[data-cards=crisp]{--card-radius:5px}[data-cards=rounded]{--card-radius:14px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5}.app-shell{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);flex-direction:column;flex-shrink:0;transition:width .22s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sidebar-logo{border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;align-items:center;gap:10px;min-height:62px;padding:18px;display:flex}.logo-mark{background:var(--accent);color:#fff;letter-spacing:-.3px;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;transition:background .2s;display:flex}.logo-text{color:#fff;letter-spacing:-.2px;white-space:nowrap;font-size:15px;font-weight:600}.sidebar-nav{scrollbar-width:none;flex-direction:column;flex:1;gap:1px;padding:8px 0;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{display:none}.nav-section-label{text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.28);white-space:nowrap;padding:12px 20px 4px;font-size:10px;font-weight:600}.nav-item{color:rgba(255,255,255,.55);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;margin:0 8px;padding:9px 14px;font-family:DM Sans,sans-serif;font-size:13.5px;font-weight:500;transition:background .13s,color .13s;display:flex;position:relative}.nav-item:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.07)}.nav-item--active{color:#fff;background:rgba(255,255,255,.1)}.nav-item--active .nav-icon{color:var(--accent)}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;display:flex}.nav-label{flex:1}.nav-badge{color:rgba(255,255,255,.5);font-variant-numeric:tabular-nums;background:rgba(255,255,255,.12);border-radius:100px;padding:1px 6px;font-size:10.5px;font-weight:600}.nav-badge--alert{color:#fca5a5;background:rgba(220,38,38,.25)}.nav-badge-dot{border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.nav-badge-dot--alert{background:#ef4444}.sidebar--compact .nav-label,.sidebar--compact .nav-badge,.sidebar--compact .nav-section-label,.sidebar--compact .logo-text,.sidebar--compact .user-info,.sidebar--compact .sidebar-quick-stats{display:none!important}.sidebar--compact .nav-item{justify-content:center;padding:10px}.sidebar--compact .sidebar-logo{justify-content:center}.sidebar-quick-stats{border-top:1px solid rgba(255,255,255,.06);flex-shrink:0;padding:14px 16px}.qs-title{text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.28);margin-bottom:10px;font-size:10px;font-weight:600}.qs-item{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.qs-label{color:rgba(255,255,255,.45);font-size:12px}.qs-value{color:#fff;font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:700}.qs-value--alert{color:#fca5a5}.sidebar-bottom{border-top:1px solid rgba(255,255,255,.06);flex-shrink:0;align-items:center;gap:10px;padding:14px 16px;display:flex}.user-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.user-name{color:#fff;white-space:nowrap;font-size:13px;font-weight:600}.user-role{color:rgba(255,255,255,.4);white-space:nowrap;font-size:11px}.main-area{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.top-bar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;flex-shrink:0;align-items:center;gap:14px;height:62px;padding:0 24px;display:flex}.top-bar-title{color:var(--text);white-space:nowrap;margin-right:auto;font-size:15px;font-weight:600}.search-bar{background:var(--bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;min-width:220px;padding:7px 12px;display:flex}.search-bar input{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:DM Sans,sans-serif;font-size:13px}.search-bar input::placeholder{color:var(--text-muted)}.icon-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:36px;height:36px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.icon-btn:hover{background:var(--bg);color:var(--text)}.notif-btn{position:relative}.notif-badge{border:2px solid var(--surface);background:#dc2626;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.user-avatar-topbar{background:var(--accent);color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:flex}.content-scroll{scrollbar-width:thin;scrollbar-color:var(--border)transparent;flex:1;padding:24px;overflow-y:auto}.content-scroll::-webkit-scrollbar{width:6px}.content-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.page-header{margin-bottom:20px}.page-header h1{color:var(--text);letter-spacing:-.3px;font-size:21px;font-weight:700}.page-header p{color:var(--text-muted);margin-top:3px;font-size:13px}.page-header-row{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.page-header-row .page-header{margin-bottom:0}.card{background:var(--surface);border-radius:var(--card-radius);border:1px solid var(--border);box-shadow:var(--card-shadow)}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-title{color:var(--text);font-size:13.5px;font-weight:600}.card-subtitle{color:var(--text-muted);margin-top:1px;font-size:12px}.card-body{padding:16px 20px}.stat-card{border-radius:var(--card-radius);cursor:pointer;padding:18px 20px;transition:transform .15s,box-shadow .15s}.stat-card:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.09)}.stat-card-label{opacity:.8;font-size:12px;font-weight:500}.stat-card-number{font-variant-numeric:tabular-nums;margin:4px 0 2px;font-size:28px;font-weight:700;line-height:1}.stat-card-sub{opacity:.7;font-size:12px}.hero-banner{background:var(--surface);border-radius:var(--card-radius);border:1px solid var(--border);box-shadow:var(--card-shadow);justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;display:flex}.hero-text h2{color:var(--text);margin-bottom:8px;font-size:18px;font-weight:700;line-height:1.35}.hero-text p{color:var(--text-muted);max-width:420px;margin-bottom:16px;font-size:13px;line-height:1.5}.cal-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.cal-day-label{text-transform:uppercase;color:var(--text-muted);text-align:center;padding:4px 0;font-size:10px;font-weight:600}.cal-cell{cursor:default;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;min-height:32px;display:flex;position:relative}.cal-cell--today{background:var(--accent-light)}.cal-cell--today .cal-day-num{color:var(--accent);font-weight:700}.cal-cell--has-event{cursor:pointer}.cal-day-num{color:var(--text-2);font-size:12px}.cal-dots{gap:2px;margin-top:2px;display:flex}.cal-dot{border-radius:50%;width:5px;height:5px;display:inline-block}.cal-legend{border-top:1px solid var(--border);gap:14px;margin-top:12px;padding-top:10px;display:flex}.cal-legend-item{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;display:flex}.progress-bar{background:var(--border);border-radius:100px;height:6px;overflow:hidden}.progress-fill{border-radius:100px;height:100%;transition:width .7s cubic-bezier(.4,0,.2,1)}.staff-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.staff-card{padding:20px}.staff-avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:12px;font-size:15px;font-weight:700;display:flex}.wip-bar{border-radius:6px;gap:2px;height:26px;margin-bottom:14px;display:flex;overflow:hidden}.wip-segment{min-width:8px;transition:flex .5s}.badge{white-space:nowrap;border-radius:100px;align-items:center;gap:3px;padding:2px 8px;font-size:11.5px;font-weight:500;display:inline-flex}.badge--not-started{background:var(--st-ns-bg);color:var(--st-ns-tx)}.badge--in-progress{background:var(--st-ip-bg);color:var(--st-ip-tx)}.badge--in-review{background:var(--st-ir-bg);color:var(--st-ir-tx)}.badge--completed{background:var(--st-dn-bg);color:var(--st-dn-tx)}.badge--overdue{background:var(--st-od-bg);color:var(--st-od-tx)}.chip{border-radius:4px;padding:2px 7px;font-size:11px;font-weight:500;display:inline-flex}.chip--trust{color:#7e22ce;background:#fdf4ff}.chip--company{color:#4338ca;background:#eef2ff}.chip--individual{color:#0369a1;background:#f0f9ff}.chip--partnership{color:#c2410c;background:#fff7ed}.chip--smsf{color:#166534;background:#f0fdf4}.kanban-board{grid-template-columns:repeat(4,1fr);align-items:start;gap:12px;display:grid}.kanban-col{border-radius:var(--card-radius);background:rgba(0,0,0,.03);overflow:hidden}.kanban-col-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.kanban-col-title{text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.kanban-col-count{color:var(--text-muted);background:rgba(0,0,0,.06);border-radius:100px;padding:1px 7px;font-size:11.5px;font-weight:600}.kanban-cards{flex-direction:column;gap:8px;padding:10px;display:flex}.kanban-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:12px;transition:box-shadow .12s,transform .12s}.kanban-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.09)}.kanban-card-client{color:var(--text);margin-bottom:5px;font-size:12.5px;font-weight:600;line-height:1.3}.kanban-card-meta{align-items:center;gap:6px;margin-bottom:10px;display:flex}.kanban-type-chip{background:var(--accent-light);color:var(--accent);border-radius:4px;padding:2px 7px;font-size:11px;font-weight:500;display:inline-flex}.kanban-period{color:var(--text-muted);font-size:11px}.kanban-card-footer{justify-content:space-between;align-items:center;display:flex}.kanban-due{align-items:center;gap:3px;font-size:11px;font-weight:500;display:flex}.kanban-due--ok{color:var(--text-muted)}.kanban-due--urgent{color:#d97706}.kanban-due--overdue{color:#dc2626}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex}.data-table{border-collapse:collapse;width:100%}.data-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;background:#fafafa;padding:10px 14px;font-size:11px;font-weight:600}.data-table td{color:var(--text-2);border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 14px;font-size:13px}.data-table tr:last-child td{border-bottom:none}.table-row-hover:hover td{background:rgba(0,0,0,.016)}.filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.filter-pill{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:100px;padding:5px 12px;font-family:DM Sans,sans-serif;font-size:12.5px;font-weight:500;transition:all .13s}.filter-pill:hover{border-color:var(--accent);color:var(--accent)}.filter-pill--active{background:var(--accent-light);border-color:var(--accent);color:var(--accent);font-weight:600}.search-inline{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;min-width:240px;padding:6px 12px;display:flex}.search-inline-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:DM Sans,sans-serif;font-size:13px}.search-inline-input::placeholder{color:var(--text-muted)}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;transition:all .13s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:var(--surface);color:var(--text-2);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg)}.btn-sm{border-radius:6px;padding:5px 10px;font-size:12px}.report-card{cursor:pointer;padding:20px;transition:box-shadow .15s}.report-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}.empty-state{text-align:center;color:var(--text-muted);padding:48px 24px}.empty-state h3{color:var(--text-2);margin-bottom:6px;font-size:15px;font-weight:600}.empty-state p{font-size:13px}
