:root{--bg:#f4f6f8;--surface:#fff;--ink:#17212b;--muted:#6b7785;--line:#e4e8ec;--green:#0d6b55;--green2:#0f8066;--soft:#eaf4f1;--gold:#b58b35;--danger:#a43a3a;--sidebar:#13251f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh}.sidebar{width:250px;background:var(--sidebar);color:#dfe9e5;padding:24px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 24px}.brandmark{width:42px;height:42px;border:1px solid #537067;border-radius:13px;display:grid;place-items:center;font-weight:800}.brand strong,.brand span{display:block}.brand span{opacity:.65;font-size:12px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{padding:10px 12px;border-radius:9px;color:#cbdad4}.sidebar nav a:hover,.sidebar nav a.active{background:#234239;color:#fff}.sidebar nav a span{margin-left:9px}.navlabel{font-size:10px;letter-spacing:.14em;color:#789289;margin:20px 12px 5px}.sidebar-foot{margin-top:auto;border-top:1px solid #29453c;padding-top:16px}.userchip{display:flex;gap:10px;align-items:center;margin-bottom:12px}.userchip strong,.userchip span{display:block}.userchip span{font-size:11px;color:#8ea69d}.avatar{width:34px;height:34px;border-radius:50%;background:#dfeae6;color:#234239;display:grid;place-items:center;font-weight:800}.main{margin-left:250px;width:calc(100% - 250px)}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:2}.today{font-weight:700}.content{padding:30px 32px 60px;max-width:1500px}.eyebrow{font-size:10px;letter-spacing:.14em;color:var(--green);font-weight:800}.hero{padding:28px;background:linear-gradient(120deg,#0f684f,#1f8069);color:#fff;border-radius:18px;display:flex;justify-content:space-between;align-items:flex-start}.hero .eyebrow{color:#cde8df}.hero h1{font-size:30px;margin:6px 0}.hero p{margin:0;max-width:650px;opacity:.86}.hero-badge{border:1px solid #73a997;padding:7px 10px;border-radius:999px;font-size:11px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.stat span,.stat strong{display:block}.stat span{color:var(--muted)}.stat strong{font-size:28px;margin-top:5px}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1.35fr 1fr}.committee-layout{grid-template-columns:1.55fr .8fr}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.panel h2{margin:4px 0 16px}.panel-head,.pagehead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.pagehead{margin-bottom:20px}.pagehead h1{font-size:28px;margin:4px 0}.pagehead p{color:var(--muted);margin:0;max-width:760px}.panel-head a{color:var(--green);font-weight:700}.taskrow{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0;gap:15px}.taskrow:first-child{border-top:0}.taskrow strong,.taskrow small{display:block}.taskrow small,.right small{color:var(--muted);margin-top:4px}.right{text-align:right}.pill,.status,.tag{display:inline-block;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;background:#eef2f4;color:#53606a;margin-right:7px}.pill.high{background:#fdecea;color:#a13b35}.pill.medium{background:#fff4d9;color:#8c6822}.pill.low{background:#e8f4ef;color:#28614f}.quickcards{display:grid;gap:10px}.quickcards a{display:block;border:1px solid var(--line);border-radius:10px;padding:14px}.quickcards a:hover{border-color:#9bbdb2;background:#f8fbfa}.quickcards strong,.quickcards span{display:block}.quickcards span{color:var(--muted);margin-top:4px;font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 14px;font-weight:800;cursor:pointer}.btn.primary{background:var(--green);color:#fff}.btn.ghost{border:1px solid var(--line);background:#fff}.btn.full{width:100%}.alert{padding:12px 14px;border-radius:10px;background:#eef2f4;margin:0 32px 12px}.alert.success{background:#e6f4ee;color:#1e634e}.alert.danger{background:#fdeaea;color:#983b3b}.auth-body{min-height:100vh;display:grid;place-items:center;background:#edf2f0}.auth-card{width:min(430px,92vw);background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:0 20px 50px rgba(24,45,37,.08)}.auth-card h1{margin:5px 0}.muted{color:var(--muted)}label{display:block;font-weight:700;margin:14px 0 6px}input,textarea,select{width:100%;border:1px solid #ccd4d8;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #c8e2da;border-color:#78a99a}.formpanel{max-width:900px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin-bottom:16px}.cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.workcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;transition:.15s}.workcard:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(20,40,34,.06);border-color:#aac5bc}.workcard-top,.workcard-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.workcard h3{margin:14px 0 6px;font-size:18px}.workcard p{color:var(--muted);min-height:40px}.workcard-meta{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.workcard-meta strong{color:var(--ink)}.datebox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 15px;min-width:190px}.datebox span,.datebox strong{display:block}.datebox span{color:var(--muted);font-size:11px}.timeline-row{display:grid;grid-template-columns:80px 16px 1fr;gap:12px;min-height:58px}.timeline-date{text-align:right;font-weight:800;color:var(--green);padding-top:4px}.timeline-dot{position:relative}.timeline-dot:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--green);top:6px;left:3px}.timeline-dot:after{content:"";position:absolute;width:1px;background:#cddbd6;top:16px;bottom:-8px;left:7px}.timeline-row:last-child .timeline-dot:after{display:none}.timeline-body strong{font-size:14px}.timeline-body small{display:block;color:var(--muted);margin-top:4px}.compactform{display:grid;gap:9px}.members{display:grid;gap:9px}.member{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0}.member strong,.member small{display:block}.member small{color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:20px 0}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}th{font-size:10px;letter-spacing:.08em;color:var(--muted)}td small.block{display:block;color:var(--muted);margin-top:3px;max-width:500px}.empty{text-align:center;color:var(--muted);padding:24px}.empty.big{padding:60px 20px}.yearline{display:grid;grid-template-columns:90px repeat(12,1fr);font-size:10px;color:var(--muted);gap:1px;align-items:center}.yearline>*{padding:9px 4px;border-right:1px solid var(--line);text-align:center}.yearline strong{color:var(--ink)}@media(max-width:980px){.sidebar{width:78px}.brand>div:last-child,.sidebar nav a span,.navlabel,.userchip>div:nth-child(2),.sidebar-foot>a{display:none}.main{margin-left:78px;width:calc(100% - 78px)}.grid.two,.committee-layout,.cardgrid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.sidebar{display:none}.main{margin-left:0;width:100%}.content,.topbar{padding-left:16px;padding-right:16px}.stats{grid-template-columns:1fr 1fr}.topbar .btn{display:none}.pagehead{display:block}.pagehead .btn{margin-top:12px}.formgrid{grid-template-columns:1fr}.hero{border-radius:12px}.alert{margin-left:16px;margin-right:16px}}
.sectiongap{margin-top:18px}.noteitem{border-top:1px solid var(--line);padding:13px 0}.noteitem:first-of-type{border-top:0}.noteitem strong{display:block;margin:5px 0}.noteitem p{margin:4px 0;color:var(--muted)}.noteitem small{color:var(--muted)}.progressrow{display:grid;grid-template-columns:minmax(180px,1fr) 140px 42px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.progressrow strong,.progressrow small{display:block}.progressrow small{color:var(--muted)}.progressbar{height:7px;background:#edf1f2;border-radius:999px;overflow:hidden}.progressbar i{display:block;height:100%;background:var(--green);border-radius:999px}.timeline-body p{margin:5px 0;color:var(--muted)}.inline-status{margin-top:8px}.inline-status select{width:auto;padding:5px 8px;font-size:11px}.checklist{margin:8px 0;display:grid;gap:4px}.checklist form{margin:0}.checkbtn{border:0;background:transparent;padding:2px 0;color:#52616a;text-align:left;cursor:pointer}.checkbtn.done{text-decoration:line-through;color:#87928e}.budgetsummary{display:grid;grid-template-columns:1fr;gap:7px;margin:10px 0 15px}.budgetsummary>div{display:flex;justify-content:space-between;background:#f7f9f8;padding:9px 10px;border-radius:8px}.budgetsummary span{color:var(--muted)}.budgetrow{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.budgetrow strong,.budgetrow small{display:block}.budgetrow small{color:var(--muted);margin-top:3px}select[multiple]{min-height:110px}@media(max-width:620px){.progressrow{grid-template-columns:1fr}.budgetrow{display:block}.budgetrow .right{text-align:left;margin-top:5px}}
.versionrow{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:13px 0;border-top:1px solid var(--line)}.versionrow:first-of-type{border-top:0}.versionrow strong,.versionrow small{display:block}.versionrow small{color:var(--muted);margin-top:3px}.versionrow p{color:var(--muted);margin:7px 0 0}.commentcard{border:1px solid var(--line);border-radius:11px;padding:13px;margin-top:10px}.commentmeta,.commentfoot{display:flex;justify-content:space-between;gap:10px;align-items:center}.commentmeta span{font-size:11px;color:var(--muted)}.commentcard p{margin:9px 0}.guest-activate{display:grid;grid-template-columns:1fr auto;gap:8px;margin:4px 0 12px 43px}.member-wide{grid-template-columns:34px 1fr auto}.guest-activate input{padding:8px}.guest-activate .btn{padding:8px 10px}@media(max-width:620px){.versionrow,.commentmeta,.commentfoot{display:block}.versionrow .btn{margin-top:8px}.guest-activate{grid-template-columns:1fr;margin-left:0}}
.annualrow{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(260px,2fr) 55px auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line,#e7e7e7)}
.annualmeta{display:flex;flex-direction:column}.annualmeta small{opacity:.7;margin-top:3px}.annualtrack{height:14px;background:#eef0f2;border-radius:999px;position:relative;overflow:hidden}.annualtrack i{position:absolute;top:0;bottom:0;background:currentColor;border-radius:999px;opacity:.8}.inlineform{display:flex;gap:6px;align-items:center}.inlineform select,.inlineform input{padding:7px;border:1px solid #ddd;border-radius:8px}@media(max-width:900px){.annualrow{grid-template-columns:1fr}.annualtrack{height:18px}.inlineform{flex-wrap:wrap}}
.checkline{display:flex;align-items:center;gap:8px;font-weight:600;margin:5px 0}.checkline input{width:auto}.directive{display:grid;grid-template-columns:1fr 150px;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.directive:first-of-type{border-top:0}.directive strong{display:block;margin:7px 0 3px}.directive p{margin:0 0 5px;color:var(--muted)}.directive small{color:var(--muted)}.resultcard{border-top:1px solid var(--line);padding:15px 0}.resultcard:first-of-type{border-top:0}.resultcard strong{display:block;margin:7px 0}.resultcard p{color:var(--muted);margin:5px 0}.resultcard small{color:var(--muted)}.resulttype{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.08em;border-radius:999px;padding:4px 8px;background:#edf1f2}.resulttype.outcome{background:#e8f4ef;color:#245d4b}.resulttype.benefit{background:#fff4d9;color:#805e20}.evidence{margin-top:8px;background:#f7f9f8;border-radius:8px;padding:8px 10px;font-size:12px;color:var(--muted)}.reportfilter{display:flex;gap:9px}.reportfilter>*{max-width:260px}.reporthead{padding:24px 0 5px}.reporthead h2{font-size:26px;margin:4px 0}.resultsummary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.resultsummary>div{background:#f7f9f8;border-radius:10px;padding:14px;text-align:center}.resultsummary strong,.resultsummary span{display:block}.resultsummary strong{font-size:26px}.resultsummary span{color:var(--muted);font-size:11px}.metricline{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}.metricline strong{font-size:18px}@media(max-width:620px){.directive{grid-template-columns:1fr}.reportfilter{display:grid}.reportfilter>*{max-width:none}.resultsummary{grid-template-columns:1fr}}@media print{.sidebar,.topbar,.noprint,.btn{display:none!important}.main{margin:0;width:100%}.content{padding:20px;max-width:none}.panel{break-inside:avoid}.reporthead{padding-top:0}}
.personcard{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.personcard:first-of-type{border-top:0}.personcard strong,.personcard small{display:block}.personcard small{color:var(--muted);margin-top:3px}.tagrow{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.skilltag{display:inline-block;background:#e8f4ef;color:#245d4b;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.skilltag.legacy{background:#eef2f4;color:#53606a}.searchbar{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:14px}.knowledgecard{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:10px}.knowledgecard:hover{border-color:#9bbdb2;background:#fbfdfc}.knowledgecard strong{display:block;font-size:17px;margin:8px 0 5px}.knowledgecard p,.knowledgecard small{color:var(--muted)}.knowledge-summary{background:#f4f8f6;border-left:3px solid var(--green);padding:12px 14px;margin-bottom:18px;font-weight:650}.prose{line-height:1.65}.filerow{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line)}.filerow:first-of-type{border-top:0}.filerow strong,.filerow small{display:block}.filerow strong{margin:7px 0 3px}.filerow small,.filerow p{color:var(--muted)}.bulletinrow{display:block;padding:15px 0;border-top:1px solid var(--line)}.bulletinrow:first-of-type{border-top:0}.bulletinrow strong{display:block;margin:8px 0 4px}.bulletinrow p,.bulletinrow small{color:var(--muted)}@media(max-width:620px){.searchbar{grid-template-columns:1fr}.filerow{display:block}.filerow .btn{margin-top:8px}}
/* Build 0.7 — attention center */
.dashboard-grid{align-items:start}.hero-badge{text-decoration:none}.attention-list{display:flex;flex-direction:column;gap:8px}.attention-item{display:grid;grid-template-columns:76px 1fr 20px;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line,#e5e7eb);border-radius:14px;text-decoration:none;color:inherit;background:#fff}.attention-item.high,.attention-row.high{border-left:4px solid #b42318}.attention-item.medium,.attention-row.medium{border-left:4px solid #b54708}.attention-item.low,.attention-row.low{border-left:4px solid #475467}.attention-type{font-size:10px;font-weight:800;letter-spacing:.08em;opacity:.65}.attention-item small,.attention-row small,.project-mini small,.timeline-row small,.reminder-row small{display:block;margin-top:3px;opacity:.7}.arrow{font-size:24px;opacity:.4}.project-mini{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line,#eee);text-decoration:none;color:inherit}.progress-ring{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:5px solid #e7ece9}.timeline-row{display:grid;grid-template-columns:95px 1fr 44px;gap:12px;padding:11px 0;border-bottom:1px solid var(--line,#eee);align-items:center}.quickcards.compact{grid-template-columns:1fr 1fr}.attention-row{display:flex;justify-content:space-between;gap:10px;padding:12px 10px;border-bottom:1px solid var(--line,#eee)}.attention-row>a{display:block;flex:1;text-decoration:none;color:inherit}.iconbtn{border:0;background:transparent;font-size:24px;cursor:pointer;opacity:.45}.reminder-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line,#eee)}@media(max-width:760px){.attention-item{grid-template-columns:64px 1fr}.attention-item .arrow{display:none}.timeline-row{grid-template-columns:80px 1fr}.timeline-row>b{display:none}.quickcards.compact{grid-template-columns:1fr}}
/* Build 0.8 */
.top-search{flex:1;max-width:520px;margin-left:auto}.top-search input{width:100%;border:1px solid var(--line,#dfe5e2);background:#fff;border-radius:10px;padding:10px 13px}.search-large{display:flex;gap:10px;margin-bottom:18px}.search-large input{flex:1;padding:13px 15px;border:1px solid var(--line,#dfe5e2);border-radius:10px}.search-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.search-result{text-decoration:none;color:inherit;display:block}.search-result:hover{transform:translateY(-1px)}.search-result h3{margin:5px 0 7px}.search-result p{margin:0;color:#62706a}.search-count{margin-bottom:12px}.admin-pop{min-width:300px;padding:12px 0}.formgrid.compact{gap:7px}.inline{display:flex;gap:6px;align-items:center;margin-top:8px}.inline input{max-width:180px}.badge.ok{background:#e8f6ef;color:#17633d}.badge.muted{background:#eef1f0;color:#69736f}.link{cursor:pointer;color:var(--accent,#25684f)}
@media(max-width:900px){.top-search{display:none}.search-large{flex-direction:column}}

/* Build 0.9 */
.calendar-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:18px}
.calendar-toolbar form{display:flex;gap:8px;align-items:end;flex-wrap:wrap;width:100%}
.calendar-stream{display:flex;flex-direction:column}
.calendar-item{display:grid;grid-template-columns:92px 110px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line,#e7e7e7);text-decoration:none;color:inherit}
.calendar-item:hover{background:rgba(0,0,0,.015)}
.calendar-day strong{display:block;font-size:1rem}.calendar-day small{display:block;color:#6b7280}
.typechip,.loadchip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;background:#f3f4f6;font-size:.78rem;white-space:nowrap}
.field-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.field-summary .mini{background:var(--panel,#fff);border:1px solid var(--line,#e7e7e7);border-radius:14px;padding:16px}
.field-summary .mini span{display:block;color:#6b7280;font-size:.82rem}.field-summary .mini strong{font-size:1.55rem}
.workload-note{max-width:360px}.load-low{background:#eef7ef}.load-medium{background:#fff7e6}.load-high{background:#fff0f0}
.relation-card{border:1px dashed var(--line,#ddd);border-radius:12px;padding:12px;margin-top:10px}
@media(max-width:900px){.calendar-item{grid-template-columns:75px 90px 1fr}.calendar-item .cal-action{display:none}.field-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.calendar-item{grid-template-columns:1fr;gap:5px}.field-summary{grid-template-columns:1fr}}

/* Build 1.0 polish */
.hero-welcome{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:22px;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,249,251,.98));border:1px solid var(--line,#e6e7ea);margin-bottom:18px}
.hero-welcome h1{margin:.15rem 0 .35rem}.hero-welcome .focus{max-width:620px;color:#5f6670}
.profile-card{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center}
.avatar-circle{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef1f4;font-size:1.25rem;font-weight:700}
.activity-feed{display:flex;flex-direction:column}
.activity-row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid var(--line,#ececec)}
.activity-dot{width:34px;height:34px;border-radius:10px;background:#f4f5f7;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}
.object-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.object-link{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #e5e7eb;border-radius:999px;text-decoration:none;color:inherit;font-size:.82rem}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kpi-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.kpi-strip .kpi{border:1px solid var(--line,#e7e7e7);border-radius:14px;padding:14px;background:#fff}
.kpi span{font-size:.78rem;color:#6b7280;display:block}.kpi strong{font-size:1.35rem}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.kpi-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.hero-welcome{flex-direction:column}.profile-card{grid-template-columns:1fr}.kpi-strip{grid-template-columns:1fr}}

/* Patch 1.0.1 — sidebar scroll & demo */
.sidebar{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#45685d transparent}
.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-thumb{background:#45685d;border-radius:999px}.sidebar::-webkit-scrollbar-track{background:transparent}
.sidebar nav{flex:0 0 auto}.sidebar-foot{flex:0 0 auto;margin-top:20px}
.demo-callout{border:1px solid #d5e6df;background:#f7fbf9;border-radius:14px;padding:16px;margin-bottom:16px}
.demo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.demo-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.demo-card strong{display:block;font-size:18px}.demo-card span{display:block;color:var(--muted);margin-top:3px}
@media(max-width:800px){.demo-grid{grid-template-columns:1fr}}
/* Sidebar scroll fix — robust */
.sidebar{
  height:100vh;
  max-height:100vh;
  overflow:hidden !important;
}
.sidebar .brand{
  flex:0 0 auto;
}
.sidebar nav{
  flex:1 1 auto !important;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:4px;
  scrollbar-width:thin;
  scrollbar-color:#45685d transparent;
}
.sidebar nav::-webkit-scrollbar{width:7px}
.sidebar nav::-webkit-scrollbar-thumb{background:#45685d;border-radius:999px}
.sidebar nav::-webkit-scrollbar-track{background:transparent}
.sidebar-foot{
  flex:0 0 auto !important;
  margin-top:12px !important;
}
/* Build 1.1 */
.message-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px}
.message-tabs{display:flex;flex-direction:column;gap:6px}.message-tabs a{padding:9px 11px;border-radius:10px;text-decoration:none;color:inherit}.message-tabs a.active,.message-tabs a:hover{background:#f1f4f3}
.message-list{display:flex;flex-direction:column}.message-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;padding:13px 0;border-bottom:1px solid var(--line,#e8e8e8);text-decoration:none;color:inherit}.message-row.unread{background:#fbfdfc}
.msg-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#edf2ef;font-weight:700;font-size:.8rem}.msg-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.msg-meta small{color:#6b7280}
.scope-chip{display:inline-flex;padding:3px 8px;border-radius:999px;background:#f3f4f6;font-size:.72rem}.thread{display:flex;flex-direction:column;gap:12px}.thread-item{border:1px solid var(--line,#e7e7e7);border-radius:12px;padding:14px}.thread-item.root{background:#fbfcfc}.message-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.group-card{border:1px solid var(--line,#e7e7e7);border-radius:12px;padding:14px}
@media(max-width:850px){.message-shell{grid-template-columns:1fr}.message-tabs{flex-direction:row;overflow:auto}.group-grid{grid-template-columns:1fr}}


/* Sidebar visual grouping — 1.1.1 */
.sidebar nav{
  gap:10px !important;
  padding-right:5px;
}
.navgroup{
  border:1px solid rgba(255,255,255,.055);
  border-radius:13px;
  padding:7px;
}
.navgroup .navlabel{
  margin:2px 8px 5px !important;
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
}
.navgroup a{
  margin:2px 0;
  border:1px solid transparent;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.navgroup a:hover{
  transform:translateX(1px);
}
.navgroup a.active{
  background:rgba(255,255,255,.16) !important;
  border-color:rgba(255,255,255,.13);
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  color:#fff !important;
}

/* Home / personal */
.navgroup-home{
  background:linear-gradient(135deg,rgba(50,124,99,.28),rgba(34,95,77,.16));
}
.navgroup-home a:hover{background:rgba(80,164,136,.18)}

/* Workspace structure — cool blue/teal */
.navgroup-workspaces{
  background:linear-gradient(135deg,rgba(45,105,132,.25),rgba(43,91,111,.13));
}
.navgroup-workspaces .navlabel{color:#9dc9dc}
.navgroup-workspaces a:hover{background:rgba(77,145,172,.18)}

/* Daily work — green */
.navgroup-work{
  background:linear-gradient(135deg,rgba(56,127,91,.28),rgba(43,103,74,.13));
}
.navgroup-work .navlabel{color:#9fd3b5}
.navgroup-work a:hover{background:rgba(74,151,108,.18)}

/* Professional work — warm amber */
.navgroup-professional{
  background:linear-gradient(135deg,rgba(151,108,45,.27),rgba(123,87,39,.12));
}
.navgroup-professional .navlabel{color:#e1c189}
.navgroup-professional a:hover{background:rgba(178,132,67,.18)}

/* Collaboration — plum */
.navgroup-collab{
  background:linear-gradient(135deg,rgba(106,78,128,.27),rgba(83,65,106,.13));
}
.navgroup-collab .navlabel{color:#cdb8df}
.navgroup-collab a:hover{background:rgba(132,99,155,.18)}

/* Knowledge — slate blue */
.navgroup-knowledge{
  background:linear-gradient(135deg,rgba(73,102,135,.27),rgba(57,82,111,.13));
}
.navgroup-knowledge .navlabel{color:#b2c8df}
.navgroup-knowledge a:hover{background:rgba(91,125,160,.18)}

/* Admin — muted brick, visually separate */
.navgroup-admin{
  background:linear-gradient(135deg,rgba(132,72,67,.25),rgba(105,59,57,.13));
}
.navgroup-admin .navlabel{color:#ddb1ac}
.navgroup-admin a:hover{background:rgba(154,87,80,.18)}

/* Make icons easier to scan */
.navgroup a{
  font-weight:600;
}
.navgroup a > span{
  margin-left:9px;
}

/* Give the scroll area a little breathing room */
.sidebar nav{
  padding-bottom:8px;
}
/* Sidebar vertical stacking fix */
.sidebar nav{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
}
.navgroup{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  width:100%;
}
.navgroup > a{
  display:flex !important;
  align-items:center !important;
  width:100%;
  box-sizing:border-box;
}
.navgroup .navlabel{
  display:block !important;
  width:100%;
}\n/* Minor UX fixes 1.1.3 — mobile navigation */\n.mobile-menu-btn{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:21px;line-height:1;cursor:pointer;flex:0 0 auto}\n.mobile-backdrop{display:none;position:fixed;inset:0;background:rgba(10,24,20,.45);z-index:49;backdrop-filter:blur(1px)}\n.topbar-title{min-width:0}\n@media(max-width:620px){\n  .topbar{display:flex;justify-content:flex-start;gap:12px}\n  .mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center}\n  .sidebar{display:flex !important;width:min(290px,86vw) !important;transform:translateX(-105%);transition:transform .22s ease;z-index:50;box-shadow:14px 0 35px rgba(0,0,0,.18)}\n  body.mobile-nav-open{overflow:hidden}\n  body.mobile-nav-open .sidebar{transform:translateX(0)}\n  body.mobile-nav-open .mobile-backdrop{display:block}\n  .sidebar .brand>div:last-child,.sidebar nav a span,.sidebar .navlabel,.sidebar .userchip>div:nth-child(2),.sidebar .sidebar-foot>a{display:block !important}\n  .sidebar nav a{display:flex !important}\n  .sidebar-foot>a{padding:8px 4px;color:#cbdad4}\n}\n
/* Mobile sidebar functional fix — 1.1.4 */
.mobile-menu-btn{
  display:none;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid var(--line,#e5e7eb);
  border-radius:10px;
  background:#fff;
  color:#1f2937;
  font-size:22px;
  cursor:pointer;
  z-index:1202;
}
.sidebar-backdrop{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.42);
  z-index:1190;
}
.sidebar-backdrop.show{display:block}
@media(max-width:900px){
  .mobile-menu-btn{display:inline-flex !important}
  .sidebar{
    position:fixed !important;
    left:0;
    top:0;
    bottom:0;
    width:min(84vw,320px) !important;
    height:100vh !important;
    max-height:100vh !important;
    transform:translateX(-105%);
    transition:transform .22s ease;
    z-index:1200 !important;
    box-shadow:12px 0 30px rgba(0,0,0,.18);
  }
  .sidebar.mobile-open{transform:translateX(0) !important}
  body.sidebar-mobile-open{overflow:hidden}
}

/* Build 1.2 definitive navigation + detail layouts */
.mobile-backdrop{display:none}
.mobile-menu-btn{display:none !important}
.navgroup-performance{background:linear-gradient(135deg,rgba(55,113,104,.25),rgba(42,90,84,.12))}
.navgroup-performance .navlabel{color:#a8d4ca}
.object-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:16px}
.timeline-table{width:100%;border-collapse:separate;border-spacing:0 8px}
.timeline-table td{background:#fff;padding:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.timeline-table td:first-child{border-left:1px solid var(--line);border-radius:10px 0 0 10px}
.timeline-table td:last-child{border-right:1px solid var(--line);border-radius:0 10px 10px 0}
.timeline-key{font-weight:800;white-space:nowrap}
.timeline-key.negative{color:#8a5a1f}.timeline-key.day0{color:#9b2c2c}.timeline-key.positive{color:#316850}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.month-head{font-size:.75rem;font-weight:800;color:var(--muted);padding:8px}
.month-cell{min-height:110px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff}
.month-cell.muted{opacity:.45;background:#fafafa}
.month-date{font-weight:800;margin-bottom:5px}
.cal-chip{display:block;font-size:.72rem;padding:4px 6px;border-radius:6px;background:#f2f5f4;margin:3px 0;text-decoration:none;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.plan-tabs a{padding:8px 11px;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:inherit}
.plan-tabs a.active{background:#264f44;color:#fff;border-color:#264f44}
.renstra-tree{display:flex;flex-direction:column;gap:10px}
.renstra-program{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.renstra-program>.head{padding:13px;background:#f5f8f7;display:flex;justify-content:space-between;gap:12px}
.renstra-children{padding:0 14px 12px}
.renstra-child{padding:10px 0;border-bottom:1px solid #eee;display:flex;justify-content:space-between;gap:12px}
.note-box{background:#f7f8fa;border:1px solid var(--line);border-radius:10px;padding:10px}
.priority-urgent{border-left:4px solid #b42318 !important;background:#fff8f7 !important}
.priority-high{border-left:4px solid #d97706 !important}
.quick-attention{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media(max-width:900px){
  .mobile-menu-btn{display:inline-flex !important}
  .desktop-action{display:none !important}
  .sidebar{
    transform:translateX(-105%) !important;
    transition:transform .2s ease !important;
    z-index:1200 !important;
    width:min(84vw,320px) !important;
    height:100dvh !important;
  }
  body.mobile-nav-open .sidebar{transform:translateX(0) !important}
  body.mobile-nav-open .mobile-backdrop{display:block !important;position:fixed;inset:0;background:rgba(0,0,0,.46);z-index:1190}
  body.mobile-nav-open{overflow:hidden}
  .detail-grid{grid-template-columns:1fr}
  .month-grid{grid-template-columns:1fr}
  .month-head{display:none}.month-cell{min-height:auto}
}
@media(min-width:901px){
  .sidebar{transform:none !important}
  .mobile-backdrop{display:none !important}
}
