.ar{display:grid;gap:16px;min-width:0}.ar-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(110deg,#502b40,#754056);color:#fff;border-radius:12px;padding:20px 24px}.ar-banner p,.ar-banner span{color:#f3dfe8;font-size:12px}.ar-banner h2{font-size:23px;letter-spacing:-.03em;margin:6px 0}.ar-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:14px 17px}.ar-filters>label:not(.search-box){display:grid;gap:4px;font-size:11px;color:var(--muted)}.ar-filters .search-box{margin-left:auto}.ar-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ar-stats article{padding:16px 18px;border-top:3px solid #966880}.ar-stats article:nth-child(2){border-top-color:#669295}.ar-stats article:nth-child(3){border-top-color:#9986ac}.ar-stats article:nth-child(4){border-top-color:#af8065}.ar-stats article>span{font-size:12px;color:var(--muted)}.ar-stats strong{display:block;font-size:clamp(18px,2.2vw,31px);font-variant-numeric:tabular-nums;line-height:1.35;letter-spacing:-.04em;margin:4px 0}.ar-stats strong small{font-size:11px;margin-left:3px;letter-spacing:0;font-weight:500}.ar-stats article p,.ar-analysis>p,.ar-note,.ar-foot{color:var(--muted);font-size:11px;line-height:1.65}.ar-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr)}.ar-analysis{padding:18px;min-width:0}.ar-analysis h3,.ar-detail h3{font-size:16px}.ar-analysis>p{margin:4px 0 12px}.ar-scroll{overflow:auto;max-width:100%;overscroll-behavior-x:contain}.ar-scroll td,.ar-scroll th{white-space:nowrap;font-variant-numeric:tabular-nums}.ar-scroll td:not(:first-child),.ar-scroll th:not(:first-child){text-align:right}.ar-analysis .ar-scroll td,.ar-analysis .ar-scroll th,.ar-detail th,.ar-detail td{padding:8px 6px}.ar-analysis .ar-scroll td:first-child,.ar-analysis .ar-scroll th:first-child{padding-left:0}.ar-scroll td button.ar-link{border:0;background:transparent;color:var(--primary);font-weight:650;padding:2px}.ar-bar{display:flex;overflow:hidden;background:#eeebec;height:10px;border-radius:4px;margin:12px 0}.ar-bar i{height:100%;flex-basis:0;min-width:0}.ar-dot{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:6px}.ar-staff{max-height:275px}.ar-staff th{position:sticky;top:0;z-index:1}.ar-list{min-width:0}.ar-sort{display:flex;align-items:center;gap:5px}.ar-list .row-title{line-height:1.5;max-width:34em;min-width:14em}.ar-list td:first-child small{display:block}.ar-list .section-head small{font-size:12px;color:var(--muted)}.ar-list td:nth-child(2),.ar-list th:nth-child(2){text-align:left}.ar-pages{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:var(--muted)}.ar-pages button:disabled{opacity:.35}.ar-detail{padding:16px 22px 22px;display:grid;gap:10px;min-width:0}.ar-detail-lead{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.ar-detail-lead span{color:var(--muted);font-size:12px}.ar-detail h3{margin-top:7px}.ar-detail .ar-bar{margin:0}.ar-foot{margin:0 2px}.ar-note{margin-top:8px}@media(max-width:1100px){.ar-grid{grid-template-columns:1fr 1fr}.ar-analysis{padding:12px}}@media(max-width:900px){.ar-grid{grid-template-columns:1fr}.ar-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.ar-banner{align-items:flex-start;flex-direction:column;padding:15px}.ar{gap:10px}.ar-filters{padding:10px;gap:8px}.ar-filters .search-box{margin-left:0}.ar-stats{gap:8px}.ar-stats article{padding:10px}.ar-list .section-head{flex-wrap:wrap}.ar-detail{padding:14px}.ar-scroll .row-title{min-width:13em}.ar-filters .control{max-width:145px}}.perf{display:grid;gap:16px}.perf .filters{margin:0;flex-wrap:wrap}.perf small,.perf-intro,.perf-sub{color:var(--muted)}.perf-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;border-radius:12px;padding:22px 26px;color:#fff;background:linear-gradient(110deg,#4c263c,#753c54)}.perf-head small,.perf-head p{color:#f4e1eb}.perf-head h2{font-size:22px;margin:6px 0 5px}.perf-head p{margin:0;font-size:12px;line-height:1.6}.perf-clock{align-self:center}.perf-clock div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.perf-clock strong{font-size:21px}.perf-clock progress{appearance:none;width:100%;height:6px;display:block;border:0;margin-top:7px;background:#ffffff40;border-radius:5px;overflow:hidden}.perf-clock progress::-webkit-progress-bar{background:transparent}.perf-clock progress::-webkit-progress-value,.perf-clock progress::-moz-progress-bar{background:#f4c9dc}.perf-clock progress::-webkit-progress-value{background:#f4c9dc}.perf-stats{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.perf-stat{padding:15px 17px;border-top:3px solid #aa7290}.perf-stat:nth-child(2){border-top-color:#6a9298}.perf-stat:nth-child(3){border-top-color:#7b91b0}.perf-stat:nth-child(4){border-top-color:#bb925c}.perf-stat strong{display:block;margin:6px 0 4px;font-size:clamp(19px,2.2vw,30px);line-height:1.2;font-variant-numeric:tabular-nums}.perf-stat span{font-size:12px;font-weight:600}.perf-stat small{font-size:11px}.perf-table-section{overflow:hidden}.perf-table-section .section-head{flex-wrap:wrap}.perf-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.perf-table-section table{font-variant-numeric:tabular-nums}.perf-table-section td,.perf-table-section th{text-align:right;padding:11px 13px}.perf-table-section td:first-child,.perf-table-section th:first-child{text-align:left}.perf-table-section td small{font-size:11px;display:block;margin:3px 0 0}.perf-person{border:0;background:transparent;color:var(--primary-dark);font-weight:680;padding:4px 0;text-align:left}.perf-person:hover{text-decoration:underline}.perf-bad{color:#a14e36}.perf-good{color:#38785d}.perf-pct{display:flex;align-items:center;justify-content:flex-end;gap:6px}.perf-meter{width:43px;height:5px;border-radius:3px;overflow:hidden;background:#ece7e8}.perf-meter i{display:block;height:100%;background:#955873}.perf-foot{padding:0 16px 15px;font-size:11px;line-height:1.6;color:var(--muted)}.perf-detail{padding:18px;display:grid;gap:14px}.perf-detail h3{font-size:15px;margin:0}.perf-line{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13px}.perf-bars{display:grid;gap:7px}.perf-bars div{display:grid;grid-template-columns:minmax(65px,1fr) minmax(50px,1.6fr) 44px;align-items:center;gap:8px;font-size:12px}.perf-bars span{overflow-wrap:anywhere}.perf-bars i{height:6px;background:#87a09b;border-radius:6px}.perf-bars b{text-align:right}.perf-form label{display:grid;gap:5px}.perf-empty{padding:24px;text-align:center;color:var(--muted)}@media(max-width:850px){.perf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.perf-head{grid-template-columns:1fr;padding:16px;gap:12px}.perf-stat{padding:12px}.perf-table-section .section-head{align-items:flex-start}.perf-stat small{font-size:10px}}.perf-source{padding:16px 18px;line-height:1.6}.perf-source p{color:var(--muted);font-size:12px;margin-top:5px}.perf-detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.perf-detail-stats>div{padding:12px;border:1px solid var(--border);border-radius:8px}.perf-detail-stats span{color:var(--muted);font-size:12px}.perf-detail-stats strong{display:block;font-size:20px;margin-top:4px}.perf-notice{position:fixed;bottom:24px;right:24px;background:#3e5149;color:#fff;border:0;border-radius:8px;padding:12px;z-index:8}.perf-trend div{grid-template-columns:minmax(88px,1fr) minmax(40px,2fr) 100px}.perf-trend i{background:#98677e}:root{color-scheme:light;--page: #f8f7f5;--paper: #fff;--ink: #24212a;--muted: #6d6873;--border: #ebe7e8;--primary: #743950;--primary-dark: #5c283d;--primary-soft: #f4eaf0;--shadow: 0 2px 5px #2b1f2e05;font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,select:disabled{cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #a65b7a;outline-offset:2px}button,select{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}small{font-size:12px}svg{flex-shrink:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:228px minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--border);padding:28px 17px 18px;z-index:4}.brand{display:flex;align-items:center;gap:11px;border:0;background:transparent;color:var(--ink);padding:0 5px;text-align:left;font-size:16px;font-weight:750;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:39px;height:39px;background:var(--primary);border-radius:11px;color:#fff;box-shadow:0 3px 7px #74395035}.brand small{color:#79727e;font-weight:500;display:block;margin-top:4px;font-size:10.5px;letter-spacing:.06em}.nav-heading{margin:49px 11px 11px;color:#847b86;font-size:11px;font-weight:650;letter-spacing:.13em}.sidebar nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:11px;border:0;width:100%;background:transparent;color:#605966;height:45px;border-radius:8px;padding:0 12px;text-align:left;font-weight:560;white-space:nowrap}.nav-item span{flex:1}.nav-item:hover{background:#f7f3f5}.nav-item.selected{color:var(--primary-dark);background:var(--primary-soft);font-weight:720}.side-bottom{margin-top:auto}.side-note{margin-top:15px;padding:16px 8px 3px;border-top:1px solid var(--border);color:#766c78;display:flex;gap:8px;align-items:center;font-size:11px}main{min-width:0}.topbar{height:66px;border-bottom:1px solid var(--border);padding:0 35px;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff}.breadcrumb,.top-right{display:flex;align-items:center;gap:10px}.breadcrumb{color:#756e78;font-size:12px}.breadcrumb strong{color:#39313d;font-weight:650}.top-right{gap:18px}.space-tag{background:#f5edf1;border-radius:5px;color:#713b52;padding:5px 8px;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:650;white-space:nowrap}.space-tag i,.status i{width:6px;height:6px;border-radius:50%;background:currentColor}.space-tag.live{background:#e8f3ed;color:#38634c}.profile-wrap{position:relative}.profile-name{max-width:12ch;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.profile{display:flex;align-items:center;gap:8px;color:#48414c;background:transparent;border:0;font-size:12px;font-weight:660;padding:0}.avatar,.small-avatar{background:#f0e4ea;color:#753a52;display:grid;place-items:center;border-radius:50%;width:31px;height:31px;font-weight:740}.small-avatar{width:22px;height:22px;font-size:11px}.profile-menu{position:absolute;z-index:8;top:calc(100% + 12px);right:0;min-width:226px;border:1px solid var(--border);background:#fff;border-radius:12px;box-shadow:0 15px 35px #34233325;padding:7px}.profile-menu button{background:transparent;border:0;width:100%;text-align:left;display:flex;gap:9px;align-items:center;border-radius:7px;padding:8px;color:#3e3440;white-space:nowrap;font-size:12px}.profile-menu button:hover{background:var(--primary-soft)}.profile-menu button>svg:last-child:not(:first-child){margin-left:auto;color:var(--primary)}.menu-label{color:#7d7480;font-size:11px;padding:9px 8px 4px}.page-body{max-width:1570px;margin:0 auto;padding:31px 35px 42px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px}.page-title h1{font-size:31px;line-height:1.3;letter-spacing:-.04em;font-weight:760}.page-title p{color:var(--muted);font-size:13px;margin-top:6px}.panel{background:var(--paper);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);min-width:0}.filters{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;margin-bottom:17px}.filters-left,.filters-right,.scope-fields{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.segment{padding:3px;display:inline-flex;align-items:center;flex:none;border-radius:7px;background:#f3f1f2;gap:2px}.segment button{color:#695f6d;border:1px solid transparent;border-radius:5px;padding:5px 10px;font-size:12px;white-space:nowrap;background:transparent}.segment button.active{background:#fff;color:var(--primary-dark);border-color:#e9e0e5;font-weight:680;box-shadow:0 1px 3px #2b1f2e08}.segment button:not(.active):hover{background:#eae4e8}.control{color:#4b414e;border:1px solid #e9e3e7;border-radius:7px;background:#fff;height:34px;max-width:185px;padding:0 8px;font-size:12px}.control:disabled{color:#5e5661;opacity:1;background:#f7f5f6}.period-stepper{display:inline-flex;align-items:center;height:34px;gap:2px;border:1px solid #e9e3e7;background:#fff;border-radius:7px;white-space:nowrap}.period-stepper .icon-button{width:28px;height:29px}.month-pick{position:relative;display:flex;align-items:center;gap:6px;color:#4b414e;font-size:12px;padding:0 2px}.month-pick input{position:absolute;opacity:0;inset:0;width:100%;cursor:pointer}.month-pick:focus-within{outline:2px solid #a65b7a}.icon-button{display:inline-grid;place-items:center;width:32px;height:32px;color:#655964;border:0;background:transparent;border-radius:6px}.icon-button:hover{color:var(--primary-dark);background:#f4eaf0}.primary,.secondary,.hero-action{border-radius:7px;min-height:35px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;padding:7px 12px;font-size:12px;font-weight:680}.primary{color:#fff;background:var(--primary);border:1px solid var(--primary)}.primary:hover{background:var(--primary-dark)}.primary:disabled{opacity:.55}.secondary{color:#584754;background:#fff;border:1px solid #e9e2e7}.secondary:hover{background:#f8f1f5;color:var(--primary-dark)}.summary-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;min-height:144px;position:relative;isolation:isolate;overflow:hidden;border-radius:12px;color:#fff;background:linear-gradient(104deg,#542638,#6b354b 52%,#7c4257);padding:23px 24px;margin-bottom:16px}.summary-hero:before,.summary-hero:after{content:"";pointer-events:none;position:absolute;z-index:-1;border:1px solid #fff2;border-radius:50%;width:420px;height:280px;transform:rotate(-23deg);top:-90px;right:-83px}.summary-hero:after{width:510px;height:340px;right:-120px;top:-115px;box-shadow:0 0 0 30px #fff0,0 0 0 31px #fff1}.hero-period{display:flex;align-items:center;gap:7px;font-size:11px;color:#f8e2ed;font-weight:550}.summary-hero h2{margin-top:8px;font-size:25px;font-weight:740;letter-spacing:-.025em}.summary-hero p{margin-top:7px;font-size:12px;color:#f3dce8}.hero-action{color:#fff;border:1px solid #fff6;background:#fff2;margin-bottom:1px}.hero-action:hover{background:#fff4}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric-card{--accent: #7555a3;--tint: #f1ebf9;background:#fff;border:1px solid var(--border);border-radius:10px;padding:14px 13px 12px;box-shadow:var(--shadow);min-width:0}.tone-1{--accent: #25747c;--tint: #e7f3f4}.tone-2{--accent: #4669a1;--tint: #edf1fb}.tone-3{--accent: #a36b2e;--tint: #f8f0e4}.tone-4{--accent: #8d4364;--tint: #f7eaf0}.metric-head,.metric-target{display:flex;justify-content:space-between;align-items:center;gap:4px}.metric-icon{color:var(--accent);background:var(--tint);border-radius:8px;width:34px;height:34px;display:grid;place-items:center}.metric-kind{color:#716976;font-size:10px;white-space:nowrap}.metric-card h3{font-size:13px;font-weight:640;margin-top:10px}.metric-number{display:flex;align-items:baseline;gap:4px;margin-top:4px;font-size:clamp(20px,2.05vw,32px);font-weight:750;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.metric-number small{font-size:10px;color:#756d79;letter-spacing:0;font-weight:500}.metric-target{font-size:10px;color:#6c6571;margin-top:10px}.metric-target b{color:var(--accent);font-size:11px}.meter,.chart-meter{border-radius:99px;background:#f1edf0;height:5px;overflow:hidden}.meter{margin-top:6px}.meter span,.chart-meter span{display:block;border-radius:inherit;height:100%;background:var(--accent)}.metric-gap{display:flex;align-items:center;gap:4px;color:#746a75;font-size:10px;margin-top:8px;min-height:14px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:15px;align-items:start}.section-head{display:flex;justify-content:space-between;align-items:center;padding:17px 17px 12px;gap:12px}.section-head h2,.calendar-name h2{font-size:16px;font-weight:730}.section-head p,.calendar-name p{color:var(--muted);font-size:11px;margin-top:5px}.section-head>svg{color:var(--primary)}.comparison-list{padding:0 17px 15px}.comparison-row{display:grid;grid-template-columns:minmax(92px,.8fr) minmax(40px,2fr) 44px;align-items:center;gap:12px;min-height:29px;font-size:11px;color:#524854}.comparison-row strong{color:#4c3543;text-align:right;font-variant-numeric:tabular-nums}.chart-meter{height:7px}.chart-meter span{background:#a85f7d}.chart-meter span.met{background:#497e71}.upcoming{padding-bottom:7px}.upcoming-row,.calendar-event{width:calc(100% - 34px);margin:0 17px;border:0;border-top:1px solid #f1edef;display:flex;align-items:center;text-align:left;gap:10px;padding:9px 0;background:transparent;color:#51414e}.upcoming-row:hover,.calendar-event:hover{color:var(--primary);background:#fcf8fa}.date-chip{width:36px;min-width:36px;height:39px;display:grid;align-content:center;justify-items:center;background:#f5edf1;color:#783f57;border-radius:6px;font-variant-numeric:tabular-nums}.date-chip b{font-size:14px}.date-chip small{font-size:9px}.upcoming-info,.calendar-event>span:first-child{display:grid;gap:4px;flex:1;min-width:0}.upcoming-info strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-info small,.calendar-event small{color:#756d79;font-size:10px}.empty{min-height:132px;display:grid;gap:6px;place-content:center;text-align:center;padding:18px;color:#756c78}.empty svg{margin:0 auto 4px;color:#a36380}.empty strong{color:#544b57;font-size:13px}.empty span{font-size:11px}.loading,.error-panel{display:flex;min-height:128px;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.error-panel{flex-wrap:wrap;padding:15px}.spinner{width:21px;height:21px;border-radius:50%;border:2px solid #eee2e8;border-top-color:var(--primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.search-box{display:flex;align-items:center;gap:7px;padding:0 9px;height:34px;border:1px solid #e9e3e7;border-radius:7px;color:#796d79}.search-box input{border:0;padding:0;width:min(175px,33vw);min-width:100px;background:transparent;color:var(--ink);font-size:12px}.search-box input:focus{outline:none}.search-box:focus-within{outline:2px solid #a65b7a}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:17px}.quick{padding:14px 15px;display:flex;align-items:center;gap:12px}.quick>svg,.view-icon{background:var(--primary-soft);color:var(--primary);width:37px;height:37px;border-radius:9px}.quick>svg{padding:9px}.quick>div{display:grid;gap:3px}.quick span{font-size:11px;color:var(--muted)}.quick strong{font-size:21px}.quick small{margin-left:4px;font-weight:500;color:var(--muted)}.table-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.table-month{display:flex;gap:4px;align-items:center}.text-button{background:transparent;color:var(--primary);border:0;padding:3px;font-size:11px}.table-scroll,.calendar-scroll{overflow:auto}.activity-section-head h2 small{color:var(--primary);background:var(--primary-soft);padding:2px 6px;border-radius:9px;margin-left:4px;font-size:10px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{white-space:nowrap;text-align:left;padding:10px 12px;vertical-align:middle}th{color:#716776;background:#f8f6f7;font-size:11px;font-weight:650}td{border-bottom:1px solid #f0ecef;color:#493e4a}th:first-child,td:first-child{padding-left:17px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcf9fb}td small{color:var(--muted);display:flex;gap:5px;align-items:center;font-size:10px;margin-top:4px}.row-title{background:transparent;border:0;color:var(--ink);font-weight:670;text-align:left;padding:0;white-space:normal;min-width:110px}.row-title:hover{color:var(--primary)}.status{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:4px 6px;white-space:nowrap;font-weight:630;color:#655465;background:#f1edf2;font-size:10px}.status.amber{color:#85561e;background:#fcf0dd}.status.blue{color:#3e6092;background:#eaf0fb}.status.green{color:#3a6a50;background:#e8f3ec}.status.gray{color:#706a72;background:#edebed}.project-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#45826c}.project-1{background:#a15876}.project-2{background:#5778b1}.project-3{background:#b68346}.calendar-panel{overflow:hidden}.calendar-top,.calendar-controls{padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-top{border-bottom:1px solid var(--border)}.calendar-name{display:flex;gap:11px;align-items:center}.view-icon{display:grid;place-items:center}.calendar-matrix{display:grid;min-width:max-content}.matrix-label,.matrix-head,.matrix-cell{border:0;border-right:1px solid #eee9ec;border-top:1px solid #eee9ec;padding:10px 8px}.matrix-label{display:flex;align-items:center;gap:8px;font-weight:690;padding-left:16px;color:#4b414e}.matrix-head{background:#f8f5f7;min-height:51px;text-align:center;color:#5c505f}.matrix-head strong,.matrix-head small{display:block;font-size:11px}.matrix-head small{margin-top:4px;color:#716776}.matrix-head.is-now{background:#f3e8ee;color:var(--primary-dark)}.matrix-cell{min-height:60px;text-align:center;background:#fbfafb;color:#867c85}.matrix-cell.has-events{background:#f8eff4;color:#743950}.matrix-cell.busy-cell{background:#eed7e3}.matrix-cell:hover,.matrix-cell.cell-active{outline:2px solid #a65b7a;outline-offset:-2px}.matrix-cell strong{font-size:19px;margin-right:3px}.matrix-cell small{font-size:10px}.calendar-note,.gantt-legend{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:11px;padding:11px 17px;border-top:1px solid var(--border)}.calendar-detail{border-top:1px solid var(--border);padding-bottom:8px}.calendar-event{padding:10px 0;font-size:12px}.gantt-legend{gap:16px}.gantt-legend span,.stage-title{display:flex;gap:6px;align-items:center}.gantt-legend i,.stage-title i{background:var(--stage-fill);width:8px;height:8px;border-radius:50%}.stage-0{--stage-bg: #f0e6f6;--stage-fill: #86559b;--stage-text: #624078}.stage-1{--stage-bg: #dceeea;--stage-fill: #478477;--stage-text: #285d51}.stage-2{--stage-bg: #f8ecdb;--stage-fill: #b17d3c;--stage-text: #79501f}.overdue-dot{width:8px;height:8px;border:1px solid #ad4965;border-radius:50%}.gantt{min-width:760px}.gantt-heading,.gantt-row{display:grid;grid-template-columns:215px minmax(0,1fr)}.gantt-heading{min-height:54px;align-items:stretch;background:#f8f5f7;border-top:1px solid var(--border)}.gantt-heading>strong{padding:17px;font-size:12px}.gantt-ticks{display:flex;overflow:hidden;align-items:stretch}.gantt-ticks>span{border-left:1px solid var(--border);padding:7px 2px;text-align:center;color:#574c5a;min-width:0;overflow:hidden}.gantt-ticks strong,.gantt-ticks small{display:block;font-size:10px;white-space:nowrap}.gantt-ticks small{margin-top:3px;color:#776c7a}.gantt-project{display:flex;gap:7px;align-items:center;padding:7px 17px;color:#554a58;font-weight:700;border-top:1px solid var(--border);background:#fbf9fa}.gantt-project small{font-weight:500;color:var(--muted)}.gantt-row{min-height:76px;border-top:1px solid #f0ebef}.gantt-name{border:0;background:#fff;color:var(--ink);text-align:left;padding:8px 10px 8px 17px}.gantt-name:hover{background:#faf5f8}.gantt-name strong,.gantt-name small{display:block}.gantt-name strong{font-size:12px}.gantt-name small{color:var(--muted);margin-top:4px;font-size:11px}.gantt-lane{position:relative;border-left:1px solid var(--border)}.gantt-line{position:absolute;top:0;bottom:0;width:1px;background:#f0ebef}.gantt-bar{position:absolute;background:var(--stage-bg);color:var(--stage-text);border:1px solid var(--stage-fill);border-radius:4px;display:flex;align-items:center;justify-content:center;gap:2px;font-size:10px;height:17px;min-width:8px;padding:0 2px;white-space:nowrap;overflow:hidden}.gantt-bar span{overflow:hidden;text-overflow:ellipsis}.gantt-bar.overdue{border-color:#ad4965}.dialog{padding:0;border:1px solid #e5dce3;width:min(95vw,515px);max-height:90vh;border-radius:13px;color:var(--ink);background:#fff;box-shadow:0 25px 85px #2e1e31aa}.dialog.wide{width:min(95vw,720px)}.dialog::backdrop{background:#20182273}.dialog-inner{display:flex;flex-direction:column}.dialog-head{display:flex;justify-content:space-between;gap:8px;padding:17px 19px 13px;border-bottom:1px solid var(--border)}.dialog-head h2{font-size:19px;font-weight:740}.dialog-head p{font-size:12px;color:var(--muted);margin-top:5px}.modal-tabs{padding:10px 19px;display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--border)}.form-body{padding:16px 19px}.form-body fieldset{padding:0;margin:0;border:0;min-inline-size:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-body label{font-weight:610;display:grid;gap:5px;color:#554858;font-size:12px;min-width:0}.form-body input:not([type=checkbox]),.form-body select,.form-body textarea{width:100%;min-width:0;background:#fff;color:#352b37;padding:7px 8px;border:1px solid #e7dfe5;border-radius:6px;min-height:34px}.form-body input:disabled,.form-body select:disabled,.form-body textarea:disabled{opacity:1;color:#514751;background:#f8f6f7}.form-body textarea{resize:vertical}.span-2{grid-column:1 / -1}.dialog-foot{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:11px 19px;background:#fff;border-top:1px solid var(--border);z-index:1}.dialog-location{display:flex;align-items:center;gap:5px;margin-right:auto;color:var(--muted);font-size:11px}.form-error{color:#9b3658;background:#fbeef2;padding:9px;border-radius:6px;margin-top:12px;font-size:12px}.form-heading{font-size:14px;margin-bottom:9px}.form-heading small{font-weight:500;font-size:11px;color:var(--muted);margin-left:5px}.form-heading.separated,.signing-head{margin-top:17px;border-top:1px solid var(--border);padding-top:13px}.form-pair{border:1px solid var(--border);background:#fcfafb;padding:8px;border-radius:7px;display:grid;gap:8px}.signing-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;gap:7px}.signing-head h3{margin-bottom:0}.signing-row{display:grid;grid-template-columns:1.05fr 1.1fr .9fr .72fr auto;align-items:end;gap:7px;margin-top:8px}.inline-note{color:var(--muted);margin-top:9px;font-size:11px}.milestone-form{display:grid;gap:9px}.milestone-field{padding:9px;background:#fbf9fa;border:1px solid var(--border);border-radius:7px}.stage-title{font-size:13px;margin-bottom:8px}.form-body .checkbox-label{display:flex;align-items:end;padding-bottom:8px}input[type=checkbox]{accent-color:var(--primary)}.helper-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.helper-tag{background:var(--primary-soft);color:var(--primary-dark);font-size:11px;border-radius:6px;padding:3px 6px}.helper-tag button{border:0;background:transparent;color:var(--primary);padding:0 0 0 5px}.toast{position:fixed;right:20px;bottom:18px;z-index:11;display:flex;gap:7px;align-items:center;padding:10px 13px;color:#fff;background:#3d6559;border-radius:8px;box-shadow:0 4px 15px #2e1e3140;font-size:12px}.settings-stack,.settings-grid{display:grid;gap:14px}.settings-grid{grid-template-columns:1.5fr 1fr}.team-settings,.fiscal-setting{padding:0 17px 15px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.fiscal-setting{justify-content:space-between}@media(max-width:1130px){.app-shell{grid-template-columns:185px minmax(0,1fr)}.sidebar{padding-inline:12px}.topbar,.page-body{padding-inline:24px}.metric-card{padding-inline:10px}.metric-grid{gap:8px}}@media(max-width:920px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-number{font-size:26px}.dashboard-columns{grid-template-columns:1fr}.activity-section-head{align-items:flex-start;flex-direction:column}}@media(max-width:680px){.app-shell{display:block}.sidebar{position:sticky;top:0;height:auto;padding:9px 12px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;border:0;border-bottom:1px solid var(--border)}.brand{padding:0;font-size:13px;gap:5px}.brand-mark{width:28px;height:28px;border-radius:7px}.brand-mark svg{width:17px}.brand small,.nav-heading,.side-note{display:none}.sidebar nav{display:flex;gap:2px}.nav-item{height:32px;gap:3px;padding:0 5px;font-size:11px}.nav-item svg{width:13px}.nav-item svg:last-child:not(:first-child){display:none}.side-bottom{margin:0}.topbar{height:47px;padding:0 12px}.breadcrumb,.top-right{gap:5px}.breadcrumb{font-size:10px}.breadcrumb svg{width:12px}.avatar{width:24px;height:24px}.profile{gap:4px;font-size:10px}.page-body{padding:18px 12px 30px}.page-title{margin-bottom:12px}.page-title h1{font-size:23px}.page-title p{font-size:11px}.filters,.calendar-controls{align-items:flex-start;flex-wrap:wrap;gap:8px}.filters{margin-bottom:12px;padding:8px}.summary-hero{min-height:126px;padding:13px}.summary-hero h2{font-size:21px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{gap:6px}.quick{padding:9px;gap:5px}.quick>svg{width:27px;height:27px;padding:5px}.quick strong{font-size:16px}.section-head{padding:13px 11px 10px}.calendar-top,.calendar-controls{padding:10px}.settings-grid{grid-template-columns:1fr}.signing-row{grid-template-columns:1fr 1fr;border:1px solid var(--border);padding:7px}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}tfoot th{border-top:1px solid var(--border);color:#51404e}.login-panel{max-width:440px;padding:26px}.login-panel p{margin:10px 0 20px;color:var(--muted)}.login-panel form,.login-panel label{display:grid;gap:8px}.login-panel form{gap:16px;margin-top:20px}.login-panel input{width:100%;padding:10px;border:1px solid var(--border);border-radius:6px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.overview-stats article{padding:20px}.overview-stats small,.source-ring small{display:block;color:var(--muted)}.overview-stats strong{display:block;margin-top:8px;font-size:24px}.source-chart{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.source-ring{width:145px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center}.source-ring strong{background:#fff;width:72%;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:25px}.source-legend{flex:1;min-width:160px}.source-legend div{display:grid;grid-template-columns:8px 1fr auto 48px;gap:8px;align-items:center;margin:10px 0}.source-legend i{height:8px;border-radius:50%}.source-legend span{text-align:right;color:var(--muted)}@media(max-width:700px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-stats article{padding:14px}}.live-entry{border:0;background:transparent;color:var(--primary);font-size:13px;font-weight:600;padding:6px 2px}.live-entry:hover{text-decoration:underline}@media(max-width:680px){.sidebar nav{order:3;width:100%;justify-content:space-between;overflow-x:auto}.sidebar .nav-item{width:auto}.top-right .live-entry{font-size:11px}}.activity-views{margin-bottom:16px}
