:root{
  --ink:#222723;--ink-2:#525a54;--muted:#7c847e;--line:#dde0dc;--line-2:#e9ebe8;
  --paper:#fff;--canvas:#f3f4f2;--soft:#f7f8f6;--acid:#dcef72;--coral:#f2a78c;
  --mint:#a8d9bf;--gold:#dfc67b;--lavender:#c4b7dc;--blue:#9cc8dd;--pink:#e5b1c1;
  --teal:#8fcac5;--orange:#e5ae79;--slate:#bac0bc;--danger:#b84b3e;
  --success:#39745a;--warning:#8a6824;--radius:18px;--radius-sm:11px;
  --shadow:0 1px 2px rgba(24,29,25,.03),0 10px 30px rgba(24,29,25,.035);
  --font-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --ink:#eef1ed;--ink-2:#c4cac4;--muted:#929b93;--line:#343a35;--line-2:#2b302c;
  --paper:#1c211d;--canvas:#151815;--soft:#242925;--danger:#ef887b;
  --success:#75bf96;--warning:#d8b864;
  --shadow:0 1px 2px rgba(0,0,0,.16),0 14px 36px rgba(0,0,0,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button,a{touch-action:manipulation}
a{color:inherit;text-decoration:none}
button{border:0;background:none;cursor:pointer}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:focus-visible{outline:3px solid rgba(57,116,90,.28);outline-offset:3px}
.skip-link{position:fixed;left:12px;top:-60px;z-index:999;background:var(--ink);color:white;padding:10px 15px;border-radius:8px}
.skip-link:focus{top:12px}
.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#ebece9;border-right:1px solid rgba(34,39,35,.08);padding:24px 16px 18px;display:flex;flex-direction:column;z-index:50}
.brand{display:flex;align-items:center;gap:11px;padding:0 8px;font-size:18px;font-weight:700;letter-spacing:-.03em}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--ink);color:var(--acid);font-size:18px;font-weight:800}
.nav{margin-top:42px;display:flex;flex-direction:column;gap:4px}
.nav-label{margin:0 10px 10px;color:#919792;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.13em}
.nav-label-secondary{margin-top:22px}
.nav a{display:flex;align-items:center;gap:12px;padding:10px 11px;border-radius:9px;color:#667069;font-weight:520;transition:.18s ease}
.nav a svg{width:18px;height:18px}
.nav a:hover{background:rgba(255,255,255,.5);color:var(--ink)}
.nav a.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px rgba(35,40,36,.05);font-weight:650}
.sidebar-foot{margin-top:auto;border-top:1px solid rgba(34,39,35,.09);padding-top:16px}
.mini-profile{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:5px}
.mini-profile strong,.mini-profile small{display:block}
.mini-profile strong{font-size:12px}.mini-profile small{font-size:10px;color:var(--muted)}
.app-shell{margin-left:248px;min-height:100vh}
.topbar{height:104px;padding:0 34px 0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:28px;background:rgba(243,244,242,.94);position:sticky;top:0;z-index:40;backdrop-filter:blur(12px)}
.page-heading p{margin:0 0 2px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.page-heading h1{display:inline;margin:0;font-size:25px;letter-spacing:-.045em;font-weight:680}
.page-heading>span{display:block;color:var(--muted);font-size:11px;margin-top:1px}
.top-actions{display:flex;align-items:center;gap:9px;position:relative}
.search{height:39px;width:250px;background:var(--paper);border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;padding:0 10px;gap:8px}
.search>span{font-size:22px;color:var(--muted);transform:rotate(-15deg)}
.search input{border:0;outline:0;width:100%;font-size:12px;background:transparent}
.search kbd{font-size:9px;color:var(--muted);background:var(--soft);padding:3px 6px;border:1px solid var(--line-2);border-radius:5px;white-space:nowrap}
.period-button{height:39px;padding:0 13px;background:var(--paper);border:1px solid var(--line);border-radius:10px;font-size:11px;font-weight:650}
.period-button span{margin-left:12px;color:var(--muted)}
.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.theme-icon{width:17px;height:17px}.theme-icon-sun{display:none}:root[data-theme="dark"] .theme-icon-sun{display:block}:root[data-theme="dark"] .theme-icon-moon{display:none}
:root[data-theme="dark"] .sidebar{background:#181c19;border-color:rgba(255,255,255,.08)}
:root[data-theme="dark"] .topbar{background:rgba(21,24,21,.94)}
:root[data-theme="dark"] .nav a:hover{background:rgba(255,255,255,.05)}
:root[data-theme="dark"] .nav a.active{background:#242925}
:root[data-theme="dark"] .pulse-banner{background:#eef1ed;color:#151815}
:root[data-theme="dark"] .pulse-banner p{color:#606861}
:root[data-theme="dark"] .pulse-banner>a{color:#617000}
:root[data-theme="dark"] .stat.accent{background:#bacd58;color:#151815}
:root[data-theme="dark"] .stat.accent .stat-top,:root[data-theme="dark"] .stat.accent small{color:#3f473a}
:root[data-theme="dark"] .stat.warm{background:#2c251f}
:root[data-theme="dark"] .grid-lines{stroke:#2d332e}
:root[data-theme="dark"] .target-line{stroke:#59615a}
:root[data-theme="dark"] .segmented{background:#202521}
:root[data-theme="dark"] .trend.up,:root[data-theme="dark"] .badge.success,:root[data-theme="dark"] .milestones .done i{background:#20372a}
:root[data-theme="dark"] .trend.down,:root[data-theme="dark"] .badge.danger{background:#3b2422}
:root[data-theme="dark"] .badge.warning{background:#3a321f}
:root[data-theme="dark"] .insight>span{background:#20372a}
:root[data-theme="dark"] .kanban-col{background:#191d1a;border-color:#303631}
:root[data-theme="dark"] .kanban-col>header b{background:rgba(255,255,255,.07)}
:root[data-theme="dark"] .progress{background:#303631}
:root[data-theme="dark"] .donut{background:conic-gradient(var(--ink) 0 62%,#629879 62% 90%,#303631 90%)}
:root[data-theme="dark"] .donut-legend i{background:#303631}
:root[data-theme="dark"] .modal{background:rgba(0,0,0,.68)}
:root[data-theme="dark"] .calendar-grid>div,:root[data-theme="dark"] .calendar-card,:root[data-theme="dark"] .agenda{border-color:var(--line)}
:root[data-theme="dark"] .report-preview{background:#252b26}
:root[data-theme="dark"] .preview-page{background:#eef1ed;color:#202420}
:root[data-theme="dark"] .toggle-list label i{background:#303631}
:root[data-theme="dark"] .primary-button{background:#eef1ed;color:#151815}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{color-scheme:dark}
.notification-button{position:relative;font-size:20px}.notification-button>span{position:absolute;width:6px;height:6px;background:var(--danger);border-radius:50%;right:8px;top:8px;border:1px solid var(--paper)}
.dropdown{position:absolute;right:45px;top:48px;width:140px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:5px;display:none}
.dropdown.open{display:grid}.dropdown button{text-align:left;padding:8px;border-radius:7px;font-size:11px}.dropdown button:hover{background:var(--soft)}
.menu-button{display:none}
.content{padding:28px 34px 54px 38px;max-width:1600px;margin:auto}
.pulse-banner{min-height:66px;background:var(--ink);color:#fff;border-radius:var(--radius);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.pulse-banner>div{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:9px}
.pulse-banner p{grid-column:2;margin:1px 0 0;color:#adb4ae;font-size:11px}
.pulse-banner strong{font-size:13px}.pulse-banner>a{color:var(--acid);font-size:11px;font-weight:650;white-space:nowrap}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 5px rgba(220,239,114,.1);grid-row:1/3}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 17px 14px;min-height:128px;box-shadow:var(--shadow)}
.stat.accent{background:var(--acid);border-color:transparent}.stat.warm{background:#fbf4ec}
.stat-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}
.dots{color:var(--muted);letter-spacing:1px;padding:0}
.stat>strong{display:block;font-size:29px;line-height:1.1;letter-spacing:-.055em;margin:14px 0 11px;font-weight:680}
.stat-foot{display:flex;align-items:center;gap:6px}.stat-foot small{font-size:10px;color:var(--muted)}
.trend{font-size:10px;font-weight:700;padding:2px 6px;border-radius:20px;background:var(--soft);white-space:nowrap}
.trend.up{color:var(--success);background:#edf6f0}.trend.down{color:var(--danger);background:#fbeeed}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px;min-width:0;box-shadow:var(--shadow)}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
.panel-head p{margin:0;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.panel-head h2{margin:2px 0 0;font-size:15px;letter-spacing:-.025em}
.panel-head>a{color:var(--muted);font-size:10px;border-bottom:1px solid var(--line);padding-bottom:2px}
.panel-head>span,.panel-head>strong{font-size:10px;color:var(--muted)}
.legend{display:flex;gap:14px}.legend span{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:5px}.legend i{width:14px;height:2px;background:#b7bdb8}.legend i.ink{background:var(--ink)}
.chart-panel{min-height:330px}
.chart-summary{display:flex;align-items:center;gap:8px;margin-bottom:4px}.chart-summary strong{font-size:24px;letter-spacing:-.05em}.chart-summary small{color:var(--muted);font-size:9px}
.line-chart{position:relative;height:220px;margin:0 2px 0 37px}
.line-chart svg{width:100%;height:185px;overflow:visible;stroke-linecap:round;stroke-linejoin:round}
.grid-lines{stroke:#edf0ec;stroke-width:1}.target-line{fill:none;stroke:#b8bdb9;stroke-width:2;stroke-dasharray:5 6}.area{fill:url(#area);stroke:none}.revenue-line{fill:none;stroke:var(--ink);stroke-width:3}.chart-points circle{fill:var(--paper);stroke:var(--ink);stroke-width:2}
.y-labels{position:absolute;right:calc(100% + 8px);top:0;height:185px;display:flex;flex-direction:column;justify-content:space-between;color:#a0a6a1;font-size:8px}
.x-labels{display:flex;justify-content:space-between;color:#939a94;font-size:8px;margin-top:4px}
.donut-wrap{display:flex;align-items:center;justify-content:center;gap:22px;margin:24px 0 20px}
.donut{width:126px;height:126px;border-radius:50%;background:conic-gradient(var(--ink) 0 62%,var(--mint) 62% 90%,#e7e9e6 90%);display:grid;place-items:center;position:relative}
.donut:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:var(--paper)}
.donut>div{z-index:1;text-align:center}.donut strong,.donut span{display:block}.donut strong{font-size:27px;letter-spacing:-.05em}.donut span{font-size:8px;color:var(--muted)}
.donut-legend{display:grid;gap:10px}.donut-legend>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;min-width:118px}.donut-legend i{width:7px;height:7px;border-radius:2px;background:#e7e9e6}.donut-legend i.dark{background:var(--ink)}.donut-legend i.green{background:var(--mint)}.donut-legend span{font-size:9px;color:var(--muted)}.donut-legend strong{font-size:11px}
.insight{background:var(--soft);border-radius:10px;padding:10px 12px;display:flex;gap:9px;align-items:center}.insight>span{display:grid;place-items:center;width:25px;height:25px;background:#eaf4ed;color:var(--success);border-radius:7px}.insight p{margin:0}.insight strong,.insight small{display:block;font-size:9px}.insight small{color:var(--muted);margin-top:1px}
.project-list{display:grid}.project-row{display:grid;grid-template-columns:auto 1fr minmax(110px,.7fr) auto auto;align-items:center;gap:11px;padding:11px 2px;border-top:1px solid var(--line-2)}.project-row:first-child{border-top:0}.project-row>div:nth-child(2) strong,.project-row>div:nth-child(2) small{display:block}.project-row strong{font-size:11px}.project-row small{font-size:8px;color:var(--muted)}
.project-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:9px;font-weight:800}.project-icon.large{width:48px;height:48px;border-radius:14px;font-size:12px}
.coral{background:var(--coral)}.mint{background:var(--mint)}.gold{background:var(--gold)}.lavender{background:var(--lavender)}.blue{background:var(--blue)}.pink{background:var(--pink)}.teal{background:var(--teal)}.orange{background:var(--orange)}.slate{background:var(--slate)}.avocado{background:var(--acid)}
.row-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px}
.progress{height:5px;background:#eceeeb;border-radius:99px;overflow:hidden}.progress>span{height:100%;display:block;background:var(--ink);border-radius:inherit}.progress>span.coral{background:#d88368}.progress>span.mint{background:#6fa989}.progress>span.gold{background:#b79a47}.progress>span.lavender{background:#9b89bd}
.badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:20px;background:var(--soft);color:var(--ink-2);font-size:8px;font-weight:700;white-space:nowrap}.badge.success{background:#e9f4ed;color:var(--success)}.badge.danger{background:#faece9;color:var(--danger)}.badge.warning{background:#f8f0db;color:var(--warning)}
.team-bars{display:grid;gap:16px;margin-top:22px}.team-bars>div{display:grid;grid-template-columns:100px 1fr 34px;align-items:center;gap:10px}.team-bars span strong,.team-bars span small{display:block}.team-bars strong{font-size:10px}.team-bars small{font-size:8px;color:var(--muted)}.team-bars b{font-size:10px;text-align:right}
.timeline>div{display:grid;grid-template-columns:38px 8px 1fr auto auto;gap:9px;align-items:center;border-top:1px solid var(--line-2);padding:10px 0}.timeline>div:first-child{border-top:0}.timeline time{text-transform:uppercase;color:var(--muted);font-size:7px;text-align:center}.timeline time b{display:block;color:var(--ink);font-size:14px}.timeline>div>span{width:6px;height:6px;border-radius:50%;background:var(--ink)}.timeline p{margin:0}.timeline p strong,.timeline p small{display:block}.timeline p strong{font-size:10px}.timeline p small{font-size:8px;color:var(--muted)}
.avatar{width:29px;height:29px;border-radius:50%;display:inline-grid;place-items:center;border:2px solid var(--paper);font-size:8px;font-weight:800;flex:none}
.activity{display:grid}.activity>div{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line-2);padding:10px 0}.activity>div:first-child{border-top:0}.activity p{margin:0}.activity strong,.activity small{display:block}.activity strong{font-size:9px}.activity small{font-size:8px;color:var(--muted)}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.segmented{display:flex;align-items:center;gap:3px;padding:4px;background:#e8eae7;border-radius:10px;overflow:auto}.segmented button{white-space:nowrap;padding:7px 12px;border-radius:7px;color:var(--muted);font-size:10px}.segmented button.active{background:var(--paper);color:var(--ink);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.06)}.segmented button span{margin-left:4px;color:#9ba19c}
.secondary-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:10px;font-size:10px;font-weight:700}.secondary-button{border:1px solid var(--line);background:var(--paper)}.primary-button{background:var(--ink);color:#fff}.toolbar-actions{display:flex;gap:8px}
.people-summary,.task-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
.people-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.person-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:15px;box-shadow:var(--shadow);transition:.2s ease}.person-card:hover,.project-card:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(24,29,25,.07)}
.person-top{display:flex;justify-content:space-between;align-items:flex-start}.person-card .avatar{width:42px;height:42px;font-size:11px}.person-card h2{font-size:13px;margin:13px 0 0}.person-card>p{font-size:9px;color:var(--muted);margin:2px 0 13px}.person-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line-2);padding-top:10px;color:var(--muted);font-size:8px}.performance{margin-top:13px}.performance>span{display:flex;justify-content:space-between;font-size:8px;color:var(--muted);margin-bottom:6px}.performance b{color:var(--ink)}.person-foot{display:flex;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px solid var(--line-2);font-size:8px}
.profile-hero,.project-hero{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.profile-identity,.project-hero>div:first-child{display:flex;align-items:center;gap:13px}.profile-identity .avatar{width:58px;height:58px;font-size:15px}.profile-identity p,.project-hero p{margin:0;color:var(--muted);font-size:9px}.profile-identity h2,.project-hero h2{margin:1px 0;font-size:20px}.profile-identity span,.project-hero span{font-size:9px;color:var(--muted)}.profile-actions,.project-hero>div:last-child{display:flex;gap:8px;align-items:center}
.profile-stats{margin-bottom:14px}
.bar-chart{height:240px;display:flex;align-items:end;gap:12px;padding:22px 10px 0;border-bottom:1px solid var(--line)}.bar-chart>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:7px}.bar-chart span{width:55%;max-width:42px;background:var(--ink);border-radius:6px 6px 1px 1px;min-height:20px}.bar-chart small{font-size:8px;color:var(--muted);margin-bottom:-20px}
.goal-list{display:grid;gap:20px;margin-top:24px}.goal-list>div{display:grid;grid-template-columns:1fr auto;gap:7px}.goal-list span,.goal-list b{font-size:9px}.goal-list .progress{grid-column:1/3}
.skill-cloud{display:flex;flex-wrap:wrap;gap:7px}.skill-cloud span{padding:8px 10px;background:var(--soft);border:1px solid var(--line-2);border-radius:8px;font-size:9px}
.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.project-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);transition:.2s ease}.project-card-head{display:flex;justify-content:space-between}.project-card>p{font-size:8px;color:var(--muted);margin:14px 0 1px;text-transform:uppercase;letter-spacing:.08em}.project-card h2{font-size:14px;margin:0 0 12px}.project-card-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:8px}.avatar-stack{display:flex;margin-top:14px}.avatar-stack .avatar{margin-right:-7px}
.modal{position:fixed;inset:0;background:rgba(21,25,22,.5);z-index:100;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-card{width:min(440px,100%);background:var(--paper);border-radius:20px;padding:26px;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.16)}.modal-card>p{font-size:9px;color:var(--muted);text-transform:uppercase}.modal-card h2{font-size:22px}.modal-card label{display:block;font-size:9px;font-weight:700;margin-top:14px}.modal-card input,.modal-card textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:9px;padding:10px;background:var(--soft);font-size:11px}.modal-card textarea{height:80px;resize:vertical}.modal-card>div:last-child{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.modal-close{position:absolute;right:15px;top:12px;font-size:23px;color:var(--muted)}
.milestones>div{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line-2)}.milestones>div:first-child{border-top:0}.milestones i{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--soft);font-style:normal;font-size:9px}.milestones .done i{background:#e9f4ed;color:var(--success)}.milestones .current i{background:var(--ink);color:white}.milestones p{margin:0}.milestones strong,.milestones small{display:block;font-size:9px}.milestones small{color:var(--muted)}.milestones b{font-size:9px}
.team-list>div{display:flex;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line-2)}.team-list>div:first-child{border-top:0}.team-list p{margin:0;flex:1}.team-list strong,.team-list small{display:block;font-size:9px}.team-list small,.team-list>div>span{color:var(--muted);font-size:8px}
.budget-bars{display:grid;gap:16px}.budget-bars>div{display:grid;grid-template-columns:72px 1fr 50px;align-items:center;gap:10px}.budget-bars span,.budget-bars b{font-size:9px}.budget-bars b{text-align:right}
.risk-list>div{display:flex;gap:10px;padding:11px 0;border-top:1px solid var(--line-2)}.risk-list>div:first-child{border-top:0}.risk-list i{width:7px;height:7px;background:var(--danger);border-radius:50%;margin-top:5px}.risk-list p{margin:0}.risk-list strong,.risk-list small{display:block;font-size:9px}.risk-list small{color:var(--muted)}
.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:start}.kanban-col{background:#e9ebe8;border:1px solid #dfe2de;border-radius:var(--radius);padding:10px;min-height:520px}.kanban-col>header{display:flex;justify-content:space-between;padding:4px 3px 12px;font-size:10px}.kanban-col>header span{display:flex;align-items:center;gap:7px;font-weight:700}.kanban-col>header i{width:7px;height:7px;border-radius:50%;background:var(--slate)}.kanban-col>header i.dot-1{background:var(--coral)}.kanban-col>header i.dot-2{background:var(--gold)}.kanban-col>header i.dot-3{background:var(--mint)}.kanban-col>header b{background:rgba(255,255,255,.65);padding:1px 6px;border-radius:10px}
.task-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px;box-shadow:0 2px 8px rgba(0,0,0,.025)}.task-card h2{font-size:11px;margin:10px 0 2px}.task-card p{font-size:8px;color:var(--muted);margin:0}.task-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:8px;border-top:1px solid var(--line-2);font-size:8px;color:var(--muted)}.add-card{width:100%;padding:10px;color:var(--muted);font-size:9px;text-align:left}
.analytics-bars>div{position:relative}.analytics-bars b{position:absolute;font-size:8px;bottom:calc(var(--value) + 5px)}.analytics-bars span{background:linear-gradient(180deg,var(--ink),#58605a)}
.radar-placeholder{width:220px;height:220px;margin:20px auto;position:relative}.radar-ring{position:absolute;inset:30px;border:1px solid var(--line);transform:rotate(45deg)}.radar-ring.r2{inset:65px}.radar-shape{position:absolute;inset:35px 45px 50px 30px;background:rgba(220,239,114,.5);clip-path:polygon(50% 0,100% 42%,67% 100%,5% 75%,15% 22%);border:2px solid var(--ink)}.radar-placeholder>span{position:absolute;font-size:8px;color:var(--muted)}.r-top{top:3px;left:46%}.r-right{right:0;top:49%}.r-bottom{bottom:0;left:43%}.r-left{left:0;top:49%}
.team-bars.large{gap:21px}.metric-table>div{display:grid;grid-template-columns:1.4fr repeat(3,1fr);align-items:center;border-top:1px solid var(--line-2);padding:10px 2px;font-size:9px}.metric-table>div:first-child{border-top:0;color:var(--muted);font-size:8px}
.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav h2{font-size:15px;margin:0 8px}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px}.calendar-card,.agenda{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.calendar-card{overflow:hidden}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays span{padding:12px 10px;color:var(--muted);font-size:8px;text-transform:uppercase;border-right:1px solid var(--line-2)}.calendar-grid>div{min-height:106px;border-top:1px solid var(--line-2);border-right:1px solid var(--line-2);padding:8px}.calendar-grid>div:nth-child(7n){border-right:0}.calendar-grid>div>span{display:grid;place-items:center;width:22px;height:22px;font-size:9px}.calendar-grid .muted{background:#fafbfa;color:#c3c7c4}.calendar-grid .today>span{background:var(--ink);color:white;border-radius:50%}.cal-event{width:100%;margin-top:6px;padding:5px 6px!important;text-align:left;border-radius:5px;font-size:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agenda{padding:18px}.agenda-list>div{display:grid;grid-template-columns:38px 7px 1fr;gap:8px;padding:12px 0;border-top:1px solid var(--line-2)}.agenda-list time{font-size:8px;color:var(--muted)}.agenda-list i{width:7px;height:7px;border-radius:50%;margin-top:3px}.agenda-list p{margin:0}.agenda-list strong,.agenda-list small{display:block;font-size:9px}.agenda-list small{color:var(--muted)}.agenda-foot{margin-top:18px;padding:14px;background:var(--soft);border-radius:10px}.agenda-foot p{margin:0 0 9px}.agenda-foot strong,.agenda-foot span{display:block;font-size:9px}.agenda-foot span{color:var(--muted)}
.featured-report{background:var(--ink);color:white;border-radius:22px;min-height:290px;padding:32px 40px;display:grid;grid-template-columns:1fr 280px;align-items:center;overflow:hidden;margin-bottom:14px}.featured-report>div:first-child>p{color:var(--acid);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.featured-report h2{font-size:29px;letter-spacing:-.05em;margin:8px 0}.featured-report>div:first-child>span{display:block;color:#b4bbb5;max-width:460px;font-size:11px}.featured-report>div:first-child>div{display:flex;gap:8px;margin-top:24px}.featured-report .primary-button{background:var(--acid);color:var(--ink)}.featured-report .secondary-button{background:transparent;border-color:#4c534e;color:white}
.report-preview{align-self:end;justify-self:end;transform:rotate(3deg) translateY(26px)}.preview-page{width:205px;height:255px;background:#f4f3ed;color:var(--ink);padding:20px;box-shadow:0 20px 50px rgba(0,0,0,.3)}.preview-page>span{font-size:8px;font-weight:700}.preview-page h3{font-size:20px;line-height:1.05;letter-spacing:-.05em;margin:36px 0 10px}.preview-page p{font-size:7px}.preview-chart{height:52px;display:flex;align-items:end;gap:5px;margin-top:24px}.preview-chart i{flex:1;background:var(--ink);height:35%}.preview-chart i:nth-child(2){height:54%}.preview-chart i:nth-child(3){height:45%}.preview-chart i:nth-child(4){height:76%}.preview-chart i:nth-child(5){height:92%;background:#b3c84a}
.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.report-card{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:15px}.report-icon{width:42px;height:42px;background:var(--soft);border-radius:12px;display:grid;place-items:center}.report-icon svg{width:18px}.report-card h2{font-size:11px;margin:6px 0 1px}.report-card p{font-size:8px;color:var(--muted);margin:0}
.settings-layout{display:grid;grid-template-columns:190px minmax(0,760px);gap:24px}.settings-nav{display:flex;flex-direction:column;gap:3px}.settings-nav button{text-align:left;padding:9px 11px;border-radius:8px;color:var(--muted);font-size:10px}.settings-nav button.active{background:var(--paper);color:var(--ink);font-weight:700}
.settings-main{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.settings-section{display:grid;grid-template-columns:200px 1fr;gap:30px;padding:0 0 26px;margin-bottom:26px;border-bottom:1px solid var(--line-2)}.settings-section h2{font-size:13px;margin:0}.settings-section>div>p{font-size:9px;color:var(--muted)}.settings-section label{display:block;font-size:9px;font-weight:650;margin-bottom:14px}.settings-section input,.settings-section select,.settings-section textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:9px;font-size:10px}.settings-section textarea{height:72px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.toggle-list label{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line-2);margin:0}.toggle-list label:first-child{border-top:0}.toggle-list span{flex:1}.toggle-list strong,.toggle-list small{display:block;font-size:9px}.toggle-list small{color:var(--muted);font-weight:400}.toggle-list input{position:absolute;opacity:0;width:1px}.toggle-list i{width:34px;height:19px;background:#dfe2de;border-radius:20px;position:relative}.toggle-list i:after{content:"";position:absolute;width:13px;height:13px;background:white;border-radius:50%;top:3px;left:3px;transition:.2s}.toggle-list input:checked+i{background:var(--ink)}.toggle-list input:checked+i:after{left:18px}.settings-actions{display:flex;justify-content:flex-end;gap:8px}
.error-page{background:var(--ink);color:white;min-height:100vh}.error-page main{min-height:100vh;padding:40px 5vw;display:flex;flex-direction:column;justify-content:space-between}.error-page .brand-mark{background:var(--acid);color:var(--ink)}.error-page main>div p{color:var(--acid);font-size:10px;text-transform:uppercase;letter-spacing:.13em}.error-page h1{font-size:clamp(46px,7vw,90px);line-height:.95;letter-spacing:-.065em;margin:16px 0 25px}.error-page main>div>span{display:block;color:#aeb5af;max-width:430px}.error-page main>div>a{margin-top:24px;background:var(--acid);color:var(--ink)}.error-page main>small{color:#7b837d}
.mobile-overlay{display:none}
@media(max-width:1180px){
  .people-grid{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:repeat(3,1fr)}
  .search{width:190px}.calendar-layout{grid-template-columns:1fr}.agenda{display:none}
}
@media(max-width:900px){
  .sidebar{transform:translateX(-100%);transition:.24s ease;box-shadow:20px 0 50px rgba(0,0,0,.12)}.menu-open .sidebar{transform:none}.mobile-overlay{position:fixed;inset:0;background:rgba(20,25,21,.35);z-index:45}.menu-open .mobile-overlay{display:block}
  .app-shell{margin-left:0}.menu-button{display:grid}.topbar{height:92px;padding:0 22px}.content{padding:22px}.topbar{justify-content:flex-start}.top-actions{margin-left:auto}.search{display:none}
  .span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 12}.stat-grid{grid-template-columns:repeat(2,1fr)}.kanban{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.report-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .topbar{height:82px;padding:0 14px;gap:10px}.page-heading>span,.period-button{display:none}.page-heading h1{font-size:20px}.content{padding:14px}
  .pulse-banner{align-items:flex-start}.pulse-banner>a{display:none}.pulse-banner>div{grid-template-columns:auto 1fr}.stat-grid,.people-summary,.task-summary{grid-template-columns:1fr 1fr;gap:8px}.stat{min-height:112px;padding:13px}.stat>strong{font-size:24px}
  .people-grid,.project-grid,.report-grid{grid-template-columns:1fr}.kanban{grid-template-columns:1fr}.kanban-col{min-height:unset}
  .toolbar{align-items:flex-start;flex-direction:column}.toolbar-actions{align-self:stretch}.toolbar-actions>*{flex:1}.segmented{width:100%}
  .project-row{grid-template-columns:auto 1fr auto}.project-row .row-progress,.project-row .badge{display:none}.donut-wrap{flex-direction:column}
  .featured-report{grid-template-columns:1fr;padding:25px;min-height:380px}.report-preview{position:absolute;opacity:.18;right:20px}.featured-report{position:relative}.featured-report>div:first-child{z-index:1}
  .profile-hero,.project-hero{align-items:flex-start;gap:20px}.profile-actions{flex-direction:column}.settings-layout{grid-template-columns:1fr}.settings-nav{display:none}.settings-main{padding:18px}.settings-section{grid-template-columns:1fr;gap:12px}
  .calendar-grid>div{min-height:72px;padding:4px}.cal-event{font-size:0;height:5px;padding:0!important}.weekdays span{padding:8px 3px;text-align:center}.line-chart{margin-left:30px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.sidebar,.topbar,.toolbar,.pulse-banner{display:none!important}.app-shell{margin:0}.content{padding:0}.panel,.stat{box-shadow:none;break-inside:avoid}body{background:white}}
