:root{font-family:'DM Sans',sans-serif;color:#263a33;background:#f5f7f8;font-synthesis:none;--ink:#20362d;--muted:#7b8581;--green:#397a59;--border:#e7ebe8;--soft:#edf4ee;--accent:#d7ef7a;--red:#c45a50}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button{color:inherit}svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8bb655;outline-offset:3px}.skip{position:fixed;top:-50px;background:white;z-index:99;padding:10px}.skip:focus{top:5px}#sidebar{background:#192b25;color:#b8c5bf;width:240px;position:fixed;inset:0 auto 0 0;padding:31px 18px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:white;padding:0 8px;font-family:Manrope,sans-serif;font-size:27px;font-weight:800;letter-spacing:-1px}.brand small{display:block;font-family:'DM Sans',sans-serif;letter-spacing:0;font-size:9px;font-weight:450;color:#bdc9c3;margin-top:3px}.brand-icon{display:grid;place-items:center;border:1.5px solid #bddd86;background:#263e31;border-radius:11px;width:39px;height:43px;color:#d7ef7a;position:relative;font-size:25px;letter-spacing:-3px}.brand-icon span{position:absolute;right:4px;bottom:6px;font-size:18px;color:#e7f8c1}.workspace{display:flex;align-items:center;gap:9px;margin:34px 0 29px;padding:11px;border:1px solid #37473f;border-radius:8px;font-size:13px;color:#edf2ef}.workspace-logo{display:grid;place-items:center;width:30px;height:30px;background:#394c42;border-radius:5px;color:#c6d4ce}.workspace small{display:block;font-size:11px;color:#92a399;margin-top:4px}.workspace-arrow{margin-left:auto}.nav-label{font-size:10px;letter-spacing:1.7px;color:#7f978a;margin:0 15px 13px}nav{display:grid;gap:5px}nav a{display:flex;align-items:center;gap:12px;padding:11px 14px;font-size:14px;border-radius:6px;color:#b8c7bf;transition:.15s}nav a:hover{background:#2c4035;color:white}nav a.active{background:#d7ef7a;color:#24382a;font-weight:650}nav a span.count{margin-left:auto;font-size:11px;background:#2d4136;padding:2px 6px;border-radius:4px;color:#b5c8ba}.sidebar-bottom{margin-top:auto;padding-top:25px}.side-note{padding:16px 12px;border-top:1px solid #35483b;margin-top:20px;font-size:12px;color:#c2d2c7}.side-note small{display:block;font-size:11px;color:#809989;margin-top:7px}.profile{border-top:1px solid #35483b;display:flex;gap:10px;align-items:center;padding:18px 6px 0;font-size:13px;color:#e7ede9}.profile small{display:block;margin-top:4px;font-size:11px;color:#8fa597}.avatar{height:34px;width:34px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:#e7eae3;color:#4b634f;font-size:11px;font-weight:600;border-radius:50%}.online-dot{margin-left:auto;background:#97c88d;width:6px;height:6px;border-radius:50%}.shell{margin-left:240px}header{height:76px;border-bottom:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:20px}.breadcrumb{font-size:12px;color:#869089;white-space:nowrap}.breadcrumb span{margin:0 12px;color:#c6cdc8}.breadcrumb strong{font-weight:500;color:#385342}.header-right{display:flex;gap:23px;align-items:center}.global-search{display:flex;align-items:center;gap:8px;color:#909b94}.global-search svg{width:17px}.global-search input{border:0;background:transparent;outline:0!important;width:209px;font-size:12px}.global-search kbd{border:1px solid #e3e7e3;padding:2px 6px;border-radius:3px;font-size:11px;color:#98a09b}.mode{font-size:11px;display:flex;gap:7px;align-items:center;white-space:nowrap}.mode i{width:5px;height:5px;background:#5a9662;border-radius:50%}.icon-button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #dfe5df;border-radius:50%;background:white;font-size:13px;color:#7b8c80}.mobile-toggle{display:none}main{padding:31px 34px 20px;max-width:1720px;margin:auto;min-height:calc(100vh - 118px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:#6e8675;font-weight:650;margin-bottom:10px}.page-heading h1{font-family:Manrope,sans-serif;font-size:30px;line-height:1.25;letter-spacing:-1.1px;font-weight:750;margin:0 0 9px}.page-heading p{color:#7a857e;font-size:13px;margin:0}.heading-actions{display:flex;gap:10px;align-items:center}.button{border:1px solid #dde4dd;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;background:#fff;font-size:12px;font-weight:550;white-space:nowrap}.button svg{width:16px;height:16px}.button.primary{background:#2e6748;color:#fff;border-color:#2e6748}.button.primary:hover{background:#215339}.button:hover{filter:brightness(.97)}.button.danger{color:#b44740;background:#fff5f3;border-color:#f0dad5}.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;margin-bottom:24px}.stat{background:white;border:1px solid var(--border);border-radius:8px;padding:17px 16px 15px;position:relative;min-width:0;text-align:left}.stat:hover{border-color:#b6cbb9}.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#69796d;gap:5px}.stat-top svg{width:17px;height:17px;color:#7a9180}.stat-value{display:flex;align-items:baseline;gap:7px;font-family:Manrope,sans-serif;font-size:30px;font-weight:750;letter-spacing:-1px;margin:12px 0 10px}.stat-value small{font-family:'DM Sans',sans-serif;font-size:12px;color:#a3ada6;font-weight:400;letter-spacing:0}.stat-foot{font-size:10px;color:#8c9890;display:flex;align-items:center;gap:5px}.stat-foot b{color:#39845b;font-weight:500}.stat-foot b.warn{color:#bd8352}.stat-foot b.red{color:#c66b63}.mini-track{height:3px;background:#eef1eb;border-radius:4px;margin-top:14px;overflow:hidden}.mini-track span{height:100%;display:block;background:#75a783;border-radius:4px}.dashboard-grid{display:grid;grid-template-columns:1.1fr 1fr 1.14fr;gap:20px;margin-bottom:20px}.panel{background:#fff;border:1px solid var(--border);border-radius:9px;overflow:hidden;min-width:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:19px 20px 16px}.panel-title{font-family:Manrope,sans-serif;font-size:14px;font-weight:750;display:flex;align-items:center;gap:9px}.panel-title svg{width:16px;height:16px;color:#67806c}.panel-header .text-button{font-size:11px}.text-button{padding:0;background:none;border:0;color:#64815f;font-size:12px;display:inline-flex;align-items:center;gap:6px}.text-button svg{width:13px;height:13px}.panel-caption{font-size:11px;color:#8d978f;margin:0 20px 17px}.readiness-row{padding:16px 20px;border-top:1px solid #f0f2ee;display:block}.framework-title{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:600}.framework-badge{width:31px;height:33px;border:1px solid #e0e7df;border-radius:6px;display:grid;place-items:center;background:#fafcf8;color:#67845e}.framework-badge svg{width:17px;height:17px}.framework-title small{display:block;font-size:10px;color:#929c95;font-weight:400;margin-top:4px}.framework-title>b{margin-left:auto;font-family:Manrope,sans-serif;font-size:16px;color:#526d4d}.progress-track{height:6px;background:#edf1e9;border-radius:4px;margin-top:13px;overflow:hidden}.progress-track span{display:block;background:#84a768;border-radius:4px;height:100%}.readiness-row:nth-of-type(3) .progress-track span{background:#abbf83}.panel-bottom{background:#fafbf8;border-top:1px solid #edf0e8;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#87967f}.heatmap-wrap{padding:0 23px 17px}.heatmap{display:grid;grid-template-columns:24px 1fr;gap:9px}.y-labels{display:flex;flex-direction:column;justify-content:space-around;align-items:center;font-size:10px;color:#7e8a7e}.heat-cells{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,36px);gap:3px}.heat-cell{background:var(--cell);border:0;border-radius:3px;position:relative;display:flex;justify-content:center;align-items:center}.heat-cell:hover{outline:1px solid #486943;outline-offset:1px}.heat-cell .risk-dot{width:9px;height:9px;border-radius:50%;background:#334b36;border:2px solid white;box-shadow:0 0 0 1px #486647;display:grid;place-items:center}.x-labels{display:flex;justify-content:space-around;padding-left:33px;font-size:10px;color:#7e8a7e;margin-top:8px}.axis-label{text-align:center;color:#929e91;font-size:10px;margin-top:10px}.heat-legend{display:flex;justify-content:center;gap:15px;font-size:9px;margin-top:14px;color:#879580}.heat-legend span{display:flex;align-items:center;gap:5px}.heat-legend i{width:7px;height:7px;border-radius:2px;background:var(--cell)}.small-select{border:1px solid #e7ebe4;background:#fafcf9;padding:6px 7px;border-radius:4px;font-size:10px;color:#6d7f69}.task-list{padding:0 18px}.task-row{display:flex;gap:10px;align-items:flex-start;padding:14px 0;border-top:1px solid #edf0ea}.task-check{width:15px;height:15px;border:1px solid #cdd7c9;border-radius:4px;background:white;margin-top:1px;padding:0;display:grid;place-items:center;font-size:10px;color:var(--green);flex-shrink:0}.task-check.done{background:#e3f0de;border-color:#8bae77}.task-text{font-size:11px;line-height:1.4;flex:1}.task-text small{font-size:10px;color:#94a08f;display:block;margin-top:5px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:500;background:#f0f2ed;color:#71806b;border-radius:4px;padding:4px 7px;white-space:nowrap}.badge.red{background:#fbefed;color:#bc6d63}.badge.amber{background:#fbf3e2;color:#b48b43}.badge.green{background:#eaf3e4;color:#659050}.badge.blue{background:#edf2f7;color:#6583a2}.badge.purple{background:#f0edf8;color:#8d79a7}.task-actions{padding:12px 18px 17px;display:flex;gap:8px}.task-actions .button{flex:1;font-size:10px;padding:9px 6px}.lower-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:20px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;letter-spacing:.2px;font-weight:500;color:#8a9787;background:#f8faf6;border-bottom:1px solid #edf0e8;padding:10px 18px}td{font-size:11px;padding:14px 18px;border-bottom:1px solid #edf0e8;color:#576b53}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdfb}td.title{color:#344c31;max-width:300px;overflow:hidden;text-overflow:ellipsis}.owner{display:flex;align-items:center;gap:7px}.owner .avatar{width:23px;height:23px;background:#edf0e5;color:#819071;font-size:8px}.id-text{font-size:10px;color:#8e9d85}.overview-note{display:flex;align-items:center;gap:8px;padding:17px 0 1px;font-size:11px;color:#8b9984}.overview-note svg{width:14px;height:14px}.overview-note strong{font-weight:500;color:#6f8466}footer{display:flex;align-items:center;justify-content:space-between;padding:15px 34px 20px;font-size:10px;color:#97a18f}footer b{font-weight:400;color:#c3c9bc;margin:0 8px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:17px}.filter-group{display:flex;gap:10px}.filter-group input,.filter-group select{border:1px solid #dfe5da;border-radius:6px;padding:10px 12px;background:white;font-size:13px;color:#53694b}.record-count{font-size:12px;color:#91a086}.collection-table td,.collection-table th{font-size:13px;padding:16px 19px}.collection-table .title{max-width:440px}.collection-table tbody tr{cursor:pointer}.collection-table .badge{font-size:11px}.collection-table .avatar{width:27px;height:27px;font-size:10px}.framework-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.framework-card{padding:25px}.framework-card h2{font-family:Manrope;font-size:20px;margin:15px 0 8px}.framework-card p{font-size:13px;color:#819077;min-height:36px;line-height:1.6}.framework-card .framework-badge{width:44px;height:46px}.framework-card .progress-track{margin:20px 0 12px}.framework-card .card-meta{display:flex;justify-content:space-between;font-size:12px;color:#6d825f}.framework-card .button{margin-top:20px;width:100%}.empty{padding:60px 24px;text-align:center;color:#819178}.empty h2{font-size:19px;color:#4f6646}.empty p{font-size:14px}.empty .button{margin-top:12px}.notice{background:#f4f7e9;color:#758250;border:1px solid #e5ebd1;border-radius:6px;padding:12px 15px;margin-bottom:18px;font-size:12px}dialog{padding:0;border:1px solid var(--border);border-radius:12px;width:min(680px,calc(100vw - 32px));max-height:90vh;color:var(--ink);box-shadow:0 24px 90px #0d261f38}dialog::backdrop{background:#13281e66;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;padding:25px 27px 20px;border-bottom:1px solid var(--border)}.dialog-head h2{font-family:Manrope;font-size:21px;margin:5px 0 0;line-height:1.5}.dialog-head .id-text{font-size:11px}.dialog-body{padding:24px 27px;max-height:65vh;overflow-y:auto}.dialog-actions{padding:18px 27px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:9px}.dialog-actions .delete{margin-right:auto}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#69825c}.field.full{grid-column:1 / -1}.field input,.field textarea,.field select{padding:10px 11px;border:1px solid #dce4d5;border-radius:5px;width:100%;background:#fff;color:#354e2f;font-size:14px}.field select[multiple]{height:105px}.field small{font-size:11px;color:#98a48d;line-height:1.5}.field textarea{min-height:86px;resize:vertical}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}.detail-meta dt{font-size:11px;color:#8e9b84;margin-bottom:7px}.detail-meta dd{font-size:14px;margin:0}.description{font-size:14px;line-height:1.7;color:#6a7e60;white-space:pre-wrap;margin-bottom:25px}.detail-section h3{font-size:13px;border-top:1px solid var(--border);padding-top:20px;margin:20px 0 12px}.linked-record{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border:1px solid #e8ede2;border-radius:5px;margin-bottom:7px;font-size:12px;background:#fcfdfa;gap:10px;text-align:left;width:100%}.linked-record small{color:#879779;font-size:10px}.helper{font-size:12px;line-height:1.7;color:#86987a}.form-error{font-size:13px;color:#b7554b;padding-top:15px}.search-section{margin:24px 0}.search-section h2{font-size:16px}.install{width:100%;border:1px solid #617147;background:#304431;border-radius:5px;color:#d7ef7a;padding:10px;font-size:12px;margin-bottom:10px}#toast{position:fixed;bottom:25px;left:calc(50% + 120px);transform:translateX(-50%) translateY(100px);opacity:0;background:#213c29;color:white;font-size:13px;padding:14px 22px;border-radius:8px;box-shadow:0 5px 30px #172e2926;transition:.2s;z-index:99;max-width:90vw}#toast.visible{transform:translateX(-50%) translateY(0);opacity:1}.skeleton{padding:80px;text-align:center;color:#7e9173}.button[hidden],.install[hidden]{display:none}.subtitle-inline{color:#96a18d;font-size:11px;font-weight:400}.completed{text-decoration:line-through;color:#98a18f}.link-chain{padding:16px 18px;background:#f4f7ef;border:1px solid #e6ebdd;border-radius:7px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:#718362;margin-bottom:20px}.link-chain b{font-weight:550;color:#4a6940}.error-state{padding:50px 25px;text-align:center}.error-state h2{font-size:20px}.error-state p{font-size:14px;color:#7e8c74}
@media(min-width:1500px){main{padding-top:40px}.stats{gap:18px}.stat{padding:22px}.dashboard-grid{gap:24px}.heat-cells{grid-template-rows:repeat(5,42px)}.task-row{padding:17px 0}.readiness-row{padding:20px}.page-heading h1{font-size:34px}.panel-title{font-size:16px}.task-text,td{font-size:12px}}@media(max-width:1190px){#sidebar{width:210px;padding-left:12px;padding-right:12px}.brand{font-size:24px}.shell{margin-left:210px}main{padding:26px 22px}header{padding:0 22px}.header-right{gap:15px}.stats{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-grid>.panel:last-child{grid-column:1 / -1}.task-list{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.task-actions{max-width:450px}.lower-grid{grid-template-columns:1fr}.framework-grid{grid-template-columns:repeat(2,1fr)}.mode{display:none}#toast{left:calc(50% + 105px)}}@media(max-width:760px){#sidebar{transform:translateX(-100%);transition:.2s;width:240px}body.nav-open #sidebar{transform:translateX(0);box-shadow:0 0 0 100vmax #192b2566}.shell{margin:0}header{height:65px;padding:0 18px;gap:12px}.mobile-toggle{display:grid;border-radius:5px}.breadcrumb{display:none}.header-right{flex:1;justify-content:space-between;gap:12px}.global-search input{width:min(49vw,220px);font-size:12px}.global-search kbd{display:none}main{padding:24px 18px}.page-heading{align-items:flex-start;flex-direction:column;gap:17px}.page-heading h1{font-size:28px}.heading-actions{width:100%}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:15px}.stat-value{font-size:28px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.panel:last-child{grid-column:auto}.task-list{display:block}.heat-cells{grid-template-rows:repeat(5,42px)}.lower-grid{gap:20px}.framework-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.filter-group{width:100%;flex-wrap:wrap}.filter-group input{width:100%}.filter-group select{flex:1}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.dialog-head,.dialog-body,.dialog-actions{padding:20px}.dialog-actions{flex-wrap:wrap}footer{padding:15px 18px;gap:15px;line-height:1.5}footer>span:last-child{max-width:120px;text-align:right}#toast{left:50%}.overview-note{align-items:flex-start;line-height:1.6}.collection-table td,.collection-table th{font-size:12px}.page-heading p{font-size:13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Readable type at every viewport; compact metadata stays secondary. */
.page-heading p,.description{font-size:16px}.button,.filter-group input,.filter-group select{font-size:14px}.panel-title{font-size:16px}.stat-top{font-size:13px;line-height:1.4}.stat-foot,.panel-caption,.panel-bottom,.breadcrumb,.global-search input,.mode,.readiness-row small,.task-text small,.badge,.id-text,.overview-note,.helper,.field small,footer{font-size:12px}.framework-title,.task-text,td,.text-button,.collection-table td,.collection-table th,.linked-record{font-size:14px}.framework-title small{font-size:12px;line-height:1.4}.panel-header .text-button,.task-actions .button{font-size:12px}.task-row{padding:16px 0}.task-text{line-height:1.5}.task-check{width:18px;height:18px}.task-list .badge{font-size:11px}.field{font-size:14px}.workspace{font-size:14px}.workspace small,.profile small,.side-note small{font-size:12px}.side-note{font-size:13px}.framework-card p{font-size:14px}.framework-card .card-meta{font-size:13px}.global-search input{width:225px}.header-right{gap:16px}.dialog-actions .button{font-size:14px}.small-select{font-size:12px}.collection-table td.title button{white-space:normal}.lower-grid td.title button{white-space:normal;text-align:left}.lower-grid td.title{min-width:200px}.brand small{font-size:9px}.task-text{min-width:0}.heat-cells{grid-template-rows:repeat(5,40px)}
@media(max-width:760px){.global-search input{width:min(50vw,225px)}.page-heading p{font-size:15px}.task-text{font-size:13px}.task-actions .button{font-size:12px}.stat-top{font-size:12px}.stat-foot{font-size:11px}.heading-actions .button{font-size:12px}.heat-cells{grid-template-rows:repeat(5,42px)}}
