@font-face{font-family:Balance;src:url('/static/ui-font.ttf') format('truetype');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f4ef;color:#233b33;font:14px/1.5 Balance,system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button,a{touch-action:manipulation}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:1.2;letter-spacing:-1.3px;font-weight:600}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:16px;font-weight:600}.brand{font-size:34px;font-weight:700;letter-spacing:-2px;line-height:.9;display:inline-flex;flex-direction:column}.brand span{font-size:11px;font-weight:400;letter-spacing:7px;margin:9px 0 0 2px}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;padding:40px 24px 22px;background:#193e34;color:#f6f4e9;display:flex;flex-direction:column;z-index:10}.workspace-label{font-size:9px;letter-spacing:1.7px;color:#9db7aa;margin:56px 0 18px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:9px;margin:5px 0;color:#cbd9ce}.sidebar nav a span{font-size:21px;width:22px}.sidebar nav a:hover{background:#244b3f}.sidebar nav a.active{color:#fff;background:#355b47}.sidebar-bottom{margin-top:auto;padding-top:28px}.side-mode{font-size:11px;display:flex;align-items:center;gap:8px;color:#e6d69c}.side-mode i{width:6px;height:6px;background:#dfbc64;border-radius:50%}.sidebar-bottom p{font-size:10px;color:#aac0b2;margin:12px 0 30px;line-height:1.7}.user{display:flex;gap:10px;align-items:center;font-size:11px}.user small{display:block;color:#9bb4a7;font-size:10px;margin-top:2px}.avatar{display:grid;place-items:center;background:#476451;border-radius:50%;width:33px;height:33px;flex-shrink:0}.text-button{background:none;border:0;color:inherit;padding:8px 0;font-size:12px}.sidebar .text-button{margin-left:43px;color:#b8c9bc}.shell{margin-left:238px;min-height:100vh}header{height:78px;display:flex;justify-content:space-between;align-items:center;padding:0 38px;border-bottom:1px solid #e3e5db;background:#f8f7f2}.breadcrumb{font-size:12px;color:#708073}.breadcrumb span{margin:0 13px;color:#b7bdb4}.header-right{display:flex;align-items:center;gap:14px;font-size:11px;color:#718075}.round{border:1px solid #d9dfd4;width:31px;height:31px;border-radius:50%;background:transparent;color:#3b594c;font-size:21px;line-height:1}#main{max-width:1700px;margin:auto;padding:36px 38px 60px;min-height:calc(100vh - 135px)}footer{color:#8a958a;font-size:10px;padding:15px 38px;border-top:1px solid #e4e6dd}.eyebrow{font-size:10px;letter-spacing:2px;display:block;color:#75836f;margin-bottom:13px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px}.page-head p{color:#748072;font-size:13px;margin-top:11px;max-width:650px}.badge{display:inline-flex;align-items:center;font-size:10px;font-weight:600;padding:5px 10px;border-radius:20px;background:#e8eddf;color:#526a44;white-space:nowrap}.badge.test{background:#eee5cd;color:#8c6e2a}.badge.warning{background:#f5e2d6;color:#a15c33}.badge.ok{background:#e0ecde;color:#4e7645}.badge.neutral{background:#eceee7;color:#7f8779}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid #dce1d5;padding:11px 16px;border-radius:7px;background:#fff;color:#244638;font-size:12px;white-space:nowrap}.button.primary{background:#245341;border-color:#245341;color:#fff}.button:hover{filter:brightness(.96)}.button.small{padding:7px 11px;font-size:11px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.metric{padding:22px 23px;background:#fff;border:1px solid #e1e4d9;border-radius:12px}.metric label{display:block;font-size:11px;color:#7c887a;margin-bottom:14px}.metric .value{font-size:36px;letter-spacing:-1.7px;line-height:1.1}.metric .value small{font-size:16px;letter-spacing:0;color:#9da793;margin-left:5px}.metric p{font-size:10px;color:#85907e;margin-top:10px}.metric.accent{background:#e7ecd9;border-color:#dbe3c8}.notice{padding:14px 18px;display:flex;gap:12px;border:1px solid #e7ddbd;background:#f6f0df;border-radius:9px;color:#866d35;margin:0 0 24px;font-size:12px;line-height:1.7}.notice.green{border-color:#d9e3ce;background:#edf1e5;color:#526844}.notice strong{font-weight:600}.section-title{display:flex;align-items:center;justify-content:space-between;margin:30px 0 16px}.section-title span{font-size:11px;color:#87917e}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{background:white;border:1px solid #dfe4d8;border-radius:13px;padding:25px;cursor:pointer;transition:transform .16s,border-color .16s}.project-card:hover{transform:translateY(-2px);border-color:#95aa89}.project-card .card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.project-card .index{font-size:10px;color:#96a18f;letter-spacing:1.3px}.project-card h2{font-size:23px;margin-bottom:10px;line-height:1.25}.project-card .caption{color:#87917e;font-size:11px;min-height:36px}.progress-heading{display:flex;justify-content:space-between;font-size:11px;margin:24px 0 9px}.track{height:5px;background:#eceee7;border-radius:8px;overflow:hidden}.track i{display:block;height:100%;background:#86a465;border-radius:8px}.card-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid #ebede6;margin-top:24px;padding-top:18px}.card-facts span{font-size:10px;color:#87917e;display:block}.card-facts b{font-size:17px;font-weight:500}.card-bottom{margin-top:23px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#76856d}.card-bottom .arrow{font-size:23px;color:#466b46}.panel{border:1px solid #dfe4d8;border-radius:12px;background:#fff;padding:24px}.two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.guide-list{list-style:none;margin:14px 0 0;padding:0}.guide-list li{display:flex;gap:15px;padding:14px 0;border-bottom:1px solid #edf0e8}.guide-list li:last-child{border:0}.guide-list .step{width:25px;height:25px;border-radius:50%;background:#edf1e5;color:#6d815b;display:grid;place-items:center;flex-shrink:0;font-size:11px}.guide-list p{font-size:11px;color:#87917e;margin-top:4px}.tabs{display:flex;gap:24px;border-bottom:1px solid #dfe4d8;margin:24px 0}.tab{padding:13px 0;border:none;background:none;color:#829079;font-size:12px;border-bottom:2px solid transparent;white-space:nowrap}.tab.active{color:#28533c;border-color:#28533c}.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px}.filters{display:flex;gap:10px;flex-wrap:wrap}input,select{border:1px solid #dfe4d8;border-radius:6px;background:#fff;padding:9px 11px;color:#52644b;min-width:0}input[type=search]{width:250px}select{font-size:11px;max-width:260px}.table-wrap{border:1px solid #e0e4d9;border-radius:10px;overflow:auto;background:white}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:9px;letter-spacing:.7px;font-weight:500;color:#8b9681;background:#fafbf7;padding:14px 17px;border-bottom:1px solid #e7eadf;white-space:nowrap}td{padding:15px 17px;border-bottom:1px solid #edf0e8;font-size:11px;vertical-align:middle}tr[data-task]{cursor:pointer}tr[data-task]:hover{background:#f8faf3}td.task-title{min-width:240px;max-width:440px;font-size:12px;line-height:1.45}td .task-code{display:block;font-size:9px;color:#8a9980;margin-bottom:3px}td small{display:block;color:#8a9980;font-size:10px;margin-top:3px}.nowrap{white-space:nowrap}.check-fraction{color:#718963}.check-fraction.complete{color:#477744}.readiness-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.readiness-card{padding:20px;border:1px solid #e1e6d9;background:#fff;border-radius:10px}.readiness-card p{font-size:11px;color:#849079;margin:10px 0 16px}.readiness-card .progress-heading{margin:8px 0}.empty{padding:40px;text-align:center;color:#7c8972}.loading{padding:80px;text-align:center;color:#809073}.spinner{border:2px solid #dae2ce;border-top-color:#355d3d;width:25px;height:25px;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 15px}@keyframes spin{to{transform:rotate(360deg)}}.drawer-backdrop{position:fixed;inset:0;background:#173a2d55;z-index:20;backdrop-filter:blur(2px)}.drawer{position:fixed;right:0;top:0;bottom:0;z-index:21;width:min(590px,100%);padding:32px;overflow-y:auto;background:#fcfcf7;box-shadow:-10px 0 70px #173a2d15}.drawer[hidden],.drawer-backdrop[hidden],.toast[hidden]{display:none}.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.drawer h2{font-size:25px;line-height:1.3;margin:12px 0 20px}.drawer h3{margin:26px 0 12px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.role{background:#f0f3e9;border-radius:7px;padding:12px;font-size:11px}.role label{font-size:9px;display:block;color:#849077;margin-bottom:4px}.condition{font-size:12px;line-height:1.8;color:#63725b}.checks{list-style:none;padding:0;margin:0}.checks li{padding:14px 0;display:flex;gap:12px;border-bottom:1px solid #e7ebdd;font-size:11px}.check-icon{flex-shrink:0;width:17px;height:17px;border:1px solid #cbd4be;border-radius:4px;display:grid;place-items:center;font-size:10px;color:#fff;margin-top:2px}.check-icon.done{background:#648452;border-color:#648452}.checks small{display:block;font-size:9px;color:#93a087;margin-top:5px}.drawer .button.primary{margin-top:24px;width:100%}.subtle{font-size:11px;color:#8b9582;line-height:1.7}.timeline{font-size:11px;border-left:1px solid #dce4cf;margin:15px 0 0 6px;padding-left:17px}.timeline p{padding:0 0 14px;color:#5f7254}.timeline small{display:block;color:#91a082;font-size:9px}.gantt-scroll{overflow:auto;border:1px solid #e0e5d8;background:#fff;border-radius:10px;max-height:730px}.gantt{position:relative;min-width:1360px}.gantt-axis{height:42px;position:sticky;top:0;z-index:6;background:#f8faf4;margin-left:310px;display:flex;border-bottom:1px solid #e1e6d9}.gantt-axis span{position:absolute;font-size:10px;color:#8a977c;padding:12px 6px;border-left:1px solid #e1e6d9}.gantt-row{height:57px;border-bottom:1px solid #edf0e7;display:flex;position:relative}.gantt-label{width:310px;position:sticky;left:0;z-index:4;background:#fff;padding:10px 16px;border-right:1px solid #e1e6d9;font-size:10px;line-height:1.4;flex-shrink:0;cursor:pointer}.gantt-label b{font-weight:400;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gantt-label small{display:block;font-size:8px;color:#929f84}.gantt-lane{position:relative;width:1050px;flex-shrink:0;background:repeating-linear-gradient(90deg,transparent,transparent 149px,#f0f3e8 150px)}.bar{height:16px;position:absolute;top:15px;min-width:4px;background:#9eb781;border-radius:4px;cursor:pointer;border:0;box-shadow:inset 0 0 0 1px #53744220}.bar.done{background:#426d50}.bar.base{height:4px;top:36px;background:#c6ceba}.gantt-lines{position:absolute;left:310px;top:42px;width:1050px;pointer-events:none;z-index:3}.gantt-lines path{fill:none;stroke:#83976d;stroke-width:1;opacity:.4}.legend{display:flex;gap:18px;font-size:10px;color:#80916e;margin:12px 0}.legend i{display:inline-block;width:16px;height:6px;border-radius:2px;background:#9eb781;margin-right:6px}.legend i.base{background:#c6ceba}.settings-card{max-width:690px}.settings-row{padding:20px 0;border-bottom:1px solid #e6ebdc;display:flex;align-items:center;justify-content:space-between;gap:20px}.settings-row p{font-size:11px;color:#89977a;margin-top:5px}.settings-row input[type=checkbox]{width:20px;height:20px;accent-color:#3b6646}.settings-card .button{margin-top:20px}.muted-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;font-size:11px}.muted-options label{display:flex;gap:8px;align-items:center}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#244b36;color:white;border-radius:9px;padding:12px 23px;z-index:40;box-shadow:0 8px 30px #173a2d25;font-size:12px}.mobile-menu{display:none}.login{min-height:100vh;padding:45px 7%;position:relative;overflow:hidden}.login .brand{color:#28503e}.login-card{position:relative;z-index:2;max-width:510px;margin-top:105px}.login h1{font-size:62px;line-height:1.12;letter-spacing:-3px}.login-card>p{font-size:16px;line-height:1.7;color:#7c8972;margin:23px 0 32px;max-width:430px}.login-card .button{padding:16px 22px;font-size:14px}.login-card .subtle{font-size:11px}.login-note{border-top:1px solid #dce2d1;margin-top:45px;padding-top:19px;font-size:11px;color:#8a977d;line-height:1.8}.demo-link{display:block;margin-top:18px;font-size:11px;color:#70835c}.login-art{position:absolute;inset:15% -15% 0 52%;background:#dbe3c7;border-radius:50% 0 0 0;overflow:hidden;transform:rotate(-8deg)}.orbit{position:absolute;width:500px;height:500px;border:1px solid #b6c59b;border-radius:50%;top:10%;left:8%}.o2{width:380px;height:380px;top:18%;left:17%}.o3{width:260px;height:260px;top:26%;left:26%}.coffee-dot{position:absolute;width:90px;height:150px;background:#365b3c;border-radius:50%;transform:rotate(30deg);top:32%;left:40%}.coffee-dot:after{content:'';position:absolute;inset:5px 40%;border-left:2px solid #aab78c;border-radius:50%}.login-art>span{position:absolute;bottom:10%;left:20%;font-size:26px;color:#638054;line-height:1.5;transform:rotate(8deg)}.setup-card{max-width:660px;margin:15vh auto;padding:35px}.setup-card p{margin:25px 0;line-height:1.8;color:#73816a}.about-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.about-flow .panel p{font-size:12px;color:#7b8b6d;margin-top:12px}.error-card{padding:35px;background:#f6e9df;border:1px solid #e9d4c0;border-radius:12px;color:#8b6743}.error-card .button{margin-top:20px}@media(min-width:1600px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.sidebar{width:205px;padding:35px 19px}.shell{margin-left:205px}header{padding:0 24px}#main{padding:28px 24px}.metrics{gap:10px}.metric{padding:17px}.metric .value{font-size:29px}.two-col{grid-template-columns:1fr}.page-head h1{font-size:30px}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:238px}.sidebar.open{transform:translateX(0)}.shell{margin-left:0}.mobile-menu{display:block;position:fixed;left:12px;top:17px;z-index:15;background:#f6f7ef;border:1px solid #dfe5d4;border-radius:5px;padding:4px 8px;color:#385839}header{height:65px;padding:0 15px 0 55px}.breadcrumb{font-size:10px}.header-right{gap:7px}.header-right>span{font-size:8px;max-width:95px;text-align:right}#main{padding:25px 16px 40px}.page-head{flex-direction:column;gap:16px;margin-bottom:20px}.page-head h1{font-size:29px}.page-head p{font-size:11px}.metrics{grid-template-columns:repeat(2,1fr);gap:10px}.metric{padding:17px}.metric label{font-size:9px}.metric .value{font-size:28px}.metric p{font-size:9px}.project-grid,.readiness-grid,.about-flow{grid-template-columns:1fr}.project-card{padding:21px}.notice{font-size:10px;padding:12px}.tabs{gap:21px;overflow:auto}.tab{font-size:11px}.toolbar{flex-direction:column;align-items:stretch}.filters{flex-wrap:nowrap}input[type=search]{width:100%;min-width:100px}.filters select{max-width:150px}.drawer{padding:24px 20px}.drawer h2{font-size:22px}.role-grid{gap:8px}.panel{padding:20px}.muted-options{grid-template-columns:1fr}footer{font-size:9px;padding:14px 16px}.login{padding:32px 25px}.login-card{margin-top:65px}.login h1{font-size:48px}.login-card>p{font-size:14px}.login-art{opacity:.13;inset:30% -70% 0 50%}.login-note{margin-top:30px}.login-art span{display:none}.gantt-label{width:225px}.gantt-axis{margin-left:225px}.gantt-lines{left:225px}.gantt{min-width:1275px}.setup-card{margin:10vh auto;padding:25px}.toast{width:calc(100% - 30px);text-align:center}}

.bar.actual{top:44px;height:4px;background:#cf994b}.legend i.actual{background:#cf994b}.breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{flex-shrink:0}@media(max-width:760px){.toolbar .filters{flex-wrap:wrap}.toolbar input[type=search]{flex:1 1 100%}.toolbar select{flex:1 1 40%;max-width:none}.breadcrumb{max-width:52vw}}

/* Full checklist: one readable list across the project. */
.checklist-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 22px}.checklist-intro h2{font-size:27px}.checklist-intro p{font-size:12px;color:#71816f;margin-top:9px;max-width:660px}.checklist-total{display:flex;flex-direction:column;flex-shrink:0;text-align:right}.checklist-total b{font-size:32px;font-weight:500;line-height:1.2}.checklist-total small{font-size:19px;color:#88947c}.checklist-total span{font-size:11px;color:#728267;margin-top:6px}.checklist-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;background:#f5f4ef;position:sticky;top:0;z-index:8;padding:14px 0 17px;border-bottom:1px solid #dce3d4}.checklist-toolbar label{font-size:10px;color:#6a7d60;display:flex;flex-direction:column;gap:5px;min-width:0}.checklist-toolbar .check-search{flex:1 1 270px}.check-search input{width:100%}.checklist-toolbar select{max-width:230px;height:38px}.check-actions{display:flex;gap:7px;flex-wrap:wrap;margin-left:auto}.check-showing{font-size:11px;color:#7a8871;margin:18px 0}.check-group{margin-bottom:32px}.check-group>h3{font-size:19px;margin:27px 0 13px}.check-task{border:1px solid #dbe2d2;background:#fff;border-radius:10px;margin-bottom:12px;overflow:hidden}.check-task>summary{cursor:pointer;display:flex;align-items:center;gap:13px;padding:19px 21px;list-style:none;background:#fafbf6}.check-task>summary::-webkit-details-marker{display:none}.check-task>summary::before{content:'›';font-size:22px;color:#81916f;transition:transform .1s}.check-task[open]>summary::before{transform:rotate(90deg)}.check-task-code{font-size:10px;font-weight:600;background:#eaf0e0;padding:5px 7px;border-radius:5px;flex-shrink:0}.check-task-title{font-size:14px;line-height:1.45;flex:1;min-width:0;overflow-wrap:anywhere}.check-task-title small{display:block;font-size:10px;font-weight:400;color:#809071;margin-top:5px}.check-task-count{font-size:13px;color:#587744;flex-shrink:0}.check-task-tools{display:flex;align-items:center;gap:18px;padding:8px 22px;border-top:1px solid #e7ecdf;border-bottom:1px solid #e7ecdf;flex-wrap:wrap}.full-check-list{list-style:none;margin:0;padding:0 22px}.full-check-row{display:flex;align-items:flex-start;gap:13px;padding:17px 0;border-bottom:1px solid #edf0e7}.full-check-row:last-child{border:0}.check-toggle{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:6px;border:1.5px solid #99ac88;background:#fff;color:#fff;margin-top:1px;padding:0;font-size:16px}.check-toggle.is-done{background:#557e47;border-color:#557e47}.check-toggle:disabled{opacity:.68}.check-toggle:not(:disabled):hover{box-shadow:0 0 0 4px #dae6ce}.check-body{min-width:0;flex:1}.check-title{font-size:13px;color:#2f493b;line-height:1.65;overflow-wrap:anywhere}.check-meta{font-size:10px;color:#8c9980;line-height:1.7;margin-top:5px}.check-auto{display:inline-block;color:#8a723b;background:#f4edd9;padding:1px 7px;border-radius:4px;margin-right:9px}.check-state{font-size:9px;color:#879579;white-space:nowrap;padding:5px 0;min-width:76px;text-align:right}.is-done>.check-state{color:#567b47}.check-message{background:#e6efdc;border:1px solid #c9d8b7;border-radius:8px;padding:12px 16px;margin-top:14px;font-size:12px}.check-message[hidden]{display:none}.drawer-checks{padding:0}.drawer-checks .check-state{display:none}.drawer-checks .check-title{font-size:12px}.drawer-checks .check-meta{font-size:9px}.check-toggle:focus-visible{outline:3px solid #9eae57;outline-offset:3px}@media(max-width:760px){.checklist-intro{align-items:flex-start;gap:12px}.checklist-intro h2{font-size:23px}.checklist-total b{font-size:25px}.checklist-total small{font-size:14px}.checklist-total span{max-width:88px;font-size:9px}.checklist-intro p{font-size:11px}.checklist-toolbar{gap:9px;position:static}.checklist-toolbar .check-search{flex-basis:100%}.checklist-toolbar label:not(.check-search){flex:1}.checklist-toolbar select{max-width:100%;width:100%;font-size:10px}.check-actions{margin:3px 0 0}.check-actions .button{font-size:10px}.check-task>summary{padding:15px 12px;gap:8px}.check-task-title{font-size:12px}.check-task-code{font-size:9px}.check-task-title small{font-size:9px}.check-task-count{font-size:11px}.check-task-tools{padding:7px 12px;gap:10px}.check-task-tools .text-button{font-size:10px}.full-check-list{padding:0 13px}.full-check-row{gap:11px;padding:15px 0}.check-toggle{width:28px;height:28px}.check-title{font-size:12px}.check-state{display:none}.check-meta{font-size:9px}.drawer-checks{padding:0}.check-group>h3{font-size:18px}.checklist-intro .eyebrow{font-size:8px;letter-spacing:1px}}
