:root{--nav:#172b35;--ink:#1b303a;--muted:#65757c;--paper:#f7f8f5;--line:#dde4e1;--green:#116b56;--lime:#daef9c;--blue:#325dc2;--amber:#9d5c18;--red:#b94338;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #5e8dce;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:1.16;letter-spacing:-1.2px;font-weight:650}h2{font-size:21px;line-height:1.3;letter-spacing:-.4px}h3{font-size:16px;line-height:1.4}small{font-size:12px}.muted{color:var(--muted)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:var(--nav);color:#dbe5e7;padding:32px 20px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:22px;font-weight:650;letter-spacing:-.4px;padding:0 10px}.brand-mark{display:flex;align-items:center;justify-content:center;background:var(--lime);color:var(--nav);height:43px;width:43px;border-radius:12px;font-size:27px;letter-spacing:-2px;line-height:1}.brand-mark span{font-size:21px;align-self:flex-start;margin-top:7px}.brand-sub{display:block;font-size:8px;letter-spacing:1px;margin-top:2px;font-weight:500}.course-label{font-size:10px;letter-spacing:2px;margin:40px 12px 16px;color:#91aab2}.course-label span{color:#dbf0a6;margin-left:6px}nav{display:flex;flex-direction:column;gap:6px}.nav-item{border:0;background:transparent;color:#b8c9ce;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 13px;text-decoration:none;border-radius:9px;line-height:1.3;font-size:13px}.nav-item:hover{background:#243e48;color:white}.nav-item.active{color:#eef7f2;background:#304a53}.nav-item .nav-icon{font-size:12px;display:grid;place-items:center;min-width:24px;height:24px;border:1px solid #4f6870;border-radius:7px}.nav-item.active .nav-icon{background:var(--lime);border-color:var(--lime);color:var(--nav)}.nav-item .check{margin-left:auto;color:#d8ef9b}.nav-section{font-size:9px;letter-spacing:1.8px;color:#90a6ae;margin:22px 13px 7px}.sidebar-bottom{margin-top:auto;padding:30px 12px 0}.side-progress{display:flex;justify-content:space-between;font-size:11px;color:#aac0c7}.side-progress b{color:#e6f2da;font-weight:500}.track{height:4px;border-radius:4px;background:#3d555d;overflow:hidden;margin-top:10px}.track>span{height:100%;display:block;width:0;background:var(--lime);transition:width .3s}.sidebar-bottom p{font-size:11px;color:#8fa7af;line-height:1.7;margin:17px 0 26px}.teacher{display:flex;gap:10px;align-items:center;border-top:1px solid #3b5058;padding-top:20px}.avatar{display:grid;place-items:center;background:#3a525b;width:32px;height:32px;border-radius:50%;font-size:10px}.teacher strong{font-size:11px;display:block;font-weight:500}.teacher small{display:block;font-size:10px;color:#8fa7af}.shell{margin-left:244px}.topbar{height:76px;border-bottom:1px solid var(--line);padding:0 44px;display:flex;justify-content:space-between;align-items:center;background:#fff}.breadcrumb{font-size:11px;color:#78868b}.breadcrumb span{margin:0 12px;color:#bdc7ca}.breadcrumb strong{font-weight:500;color:var(--ink)}.private-badge{font-size:10px;border:1px solid var(--line);border-radius:30px;padding:5px 11px;background:#fafcf9;color:#5a6d63;white-space:nowrap}.private-badge>span{color:#6c9a72;margin-right:4px;font-size:7px}main{max-width:1440px;margin:0 auto;padding:34px 44px 42px;min-height:calc(100vh - 132px)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:var(--green);text-transform:uppercase;margin-bottom:10px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}.page-heading p{margin-top:10px;color:var(--muted);max-width:670px;font-size:13px}.primary,.secondary,.outline,.danger-button{border:1px solid transparent;min-height:40px;border-radius:7px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}.primary{color:white;background:var(--green)}.primary:hover{background:#0c5745}.secondary{background:#eaf0ec;color:var(--green)}.secondary:hover{background:#dce8df}.outline{background:white;border-color:#d1dcd8;color:var(--ink)}.outline:hover{background:#f0f5ef}.text-button{background:none;border:0;padding:0;color:var(--green);font-size:11px;text-decoration:underline;text-underline-offset:3px}.danger-button{background:#fff5f3;color:var(--red);border-color:#efd2cc}.hero{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid #d7e2dc;border-radius:14px;background:#eaf1e9;overflow:hidden;margin:0 0 30px}.hero-copy{padding:30px 32px}.hero .eyebrow{font-size:9px}.hero h2{font:34px/1.15 var(--serif);letter-spacing:-1px;max-width:370px}.hero h2 em{color:var(--green);font-weight:400}.hero p{font-size:12px;line-height:1.75;color:#62736b;max-width:350px;margin:12px 0 20px}.hero-meta{display:flex;gap:18px;margin-top:18px;color:#65766d;font-size:10px}.hero-meta span::before{content:'•';color:var(--green);margin-right:6px}.hero-visual{margin:26px 26px 26px 0;padding:20px 22px;border:1px solid #d5dfd6;background:#f9fbf7;border-radius:10px;box-shadow:0 8px 24px #263b2f06;display:flex;flex-direction:column;justify-content:center}.visual-head{display:flex;justify-content:space-between;align-items:center;font-size:10px}.live-dot{font-size:9px;color:var(--green);background:#edf4e8;padding:3px 7px;border-radius:20px}.mini-total{font-size:29px;letter-spacing:-1px;margin:10px 0 1px;font-weight:600}.mini-total small{font-size:10px;letter-spacing:0;font-weight:400;color:var(--muted);margin-left:5px}.delta-tag{font-size:9px;color:var(--green)}.mini-bars{display:flex;gap:12px;align-items:flex-end;height:85px;margin-top:10px;padding-top:8px}.mini-bar{flex:1;background:#b9cfb8;border-radius:4px 4px 0 0;min-width:30px;position:relative}.mini-bar:nth-child(2){background:#4e806a}.mini-bar:nth-child(3){background:#9dbba7}.mini-bar span{position:absolute;top:calc(100% + 5px);left:0;width:100%;text-align:center;font-size:9px;color:#748178}.visual-note{margin-top:30px;border-top:1px solid var(--line);padding-top:10px;font-size:9px;color:#65766d;display:flex;gap:6px;align-items:center}.visual-note b{color:var(--green);font-weight:500}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 15px}.section-heading h2{font-size:18px}.section-heading span{font-size:11px;color:var(--muted)}.lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.lab-card{border:1px solid var(--line);border-radius:11px;background:white;padding:23px;position:relative;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}.lab-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #172b3509}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.lab-symbol{width:36px;height:36px;border-radius:10px;background:#edf2ec;color:var(--green);display:grid;place-items:center;font-size:19px}.lab-card:nth-child(2) .lab-symbol{background:#edf0fa;color:#536ab1}.lab-card:nth-child(3) .lab-symbol{background:#fbf0e5;color:#ad742c}.lab-card:nth-child(4) .lab-symbol{background:#f0edf7;color:#7a61a9}.lab-card:nth-child(5) .lab-symbol{background:#e9f2f6;color:#4b849e}.card-duration{font-size:10px;color:var(--muted)}.lab-card .eyebrow{color:#91a19b;font-size:9px;letter-spacing:1.4px;margin-bottom:6px}.lab-card h3{font-size:17px;letter-spacing:-.3px}.lab-card p{font-size:12px;color:var(--muted);line-height:1.7;margin:9px 0 18px}.card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0eb;padding-top:14px}.card-tag{font-size:9px;background:#f2f5f0;padding:3px 7px;border-radius:4px;color:#6b7a70}.card-link{font-size:11px;font-weight:600;color:var(--green);text-decoration:none}.card-link:hover{text-decoration:underline}.teacher-note{margin-top:20px;display:flex;gap:14px;padding:17px 20px;border:1px dashed #ccd8d0;border-radius:9px;font-size:11px;color:#65766d;align-items:center}.teacher-note .lab-symbol{background:transparent;flex:none;font-size:22px}.teacher-note b{font-weight:600;color:var(--ink)}footer{padding:17px 44px;border-top:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;font-size:10px;color:#819087}footer .text-button{font-size:10px}.lab-header{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:23px}.lab-header .page-heading{margin:0}.lab-header h1{font-size:30px}.lab-header p{max-width:730px}.lab-badges{display:flex;gap:8px;margin-bottom:10px;align-items:center}.badge{font-size:9px;border-radius:5px;background:#e8eee8;color:var(--green);padding:4px 8px}.badge.complete{background:#dcecc9}.mission{background:#edf2e8;border-left:3px solid #96b56b;border-radius:0 8px 8px 0;padding:15px 20px;font-size:12px;margin-bottom:22px;color:#4a6250}.mission strong{display:block;color:var(--green);font-size:11px;margin-bottom:4px}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:20px;align-items:start}.panel{border:1px solid var(--line);background:white;border-radius:10px;padding:22px;min-width:0;margin-bottom:20px}.panel:last-child{margin-bottom:0}.panel-title{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.panel-title h2{font-size:16px}.step-label{font-size:9px;letter-spacing:1.5px;color:var(--green);margin-bottom:4px;font-weight:600}.panel-title p{color:var(--muted);font-size:11px;margin-top:5px}.panel .note{font-size:11px;color:var(--muted);margin-top:12px;line-height:1.7}.toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:16px 0;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#586d65}.field>span{font-weight:500}.field-inline{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}select,input[type=number],input[type=text]{border:1px solid #d4ded8;border-radius:5px;background:#fff;color:var(--ink);padding:7px 8px;max-width:100%;min-height:34px}select{font-size:11px}.table-scroll{overflow-x:auto;max-width:100%;border:1px solid #e6ebe6;border-radius:7px}table{width:100%;border-collapse:collapse;font-size:11px;text-align:left;white-space:nowrap}th{background:#f4f6f2;color:#718078;font-weight:500;font-size:9px;letter-spacing:.3px;padding:11px 10px;border-bottom:1px solid var(--line)}td{padding:10px;border-bottom:1px solid #edf0ea}tr:last-child td{border-bottom:0}td input[type=number]{width:80px;text-align:right;padding:5px 6px;font-size:11px;min-height:30px}td input[type=text]{width:83px;padding:5px;font-size:11px;min-height:30px}.num{text-align:right;font-variant-numeric:tabular-nums}input[type=checkbox],input[type=radio]{accent-color:var(--green);width:15px;height:15px;vertical-align:middle;cursor:pointer}.row-id{color:#8a9891;font-size:10px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:13px 0 20px}.stat{padding:14px;border-radius:8px;background:#f4f7f2;border:1px solid #e9eee7}.stat span{font-size:10px;color:#708078;display:block}.stat strong{font-size:23px;letter-spacing:-.6px;font-weight:600;display:block;margin-top:3px;font-variant-numeric:tabular-nums}.stat strong small{font-size:9px;color:#7a8c81;letter-spacing:0;font-weight:400}.stat p{font-size:10px;color:#7b8d82;margin-top:3px}.stat.highlight{background:#eef3e5}.stat.warning{background:#fff5e7;border-color:#f1e3cb}.stat.warning strong{color:var(--amber)}.stat.negative strong{color:var(--red)}.bar-list{display:flex;flex-direction:column;gap:13px}.bar-label{display:flex;justify-content:space-between;gap:8px;font-size:10px;margin-bottom:5px;color:#62776a}.bar-label b{font-weight:500;color:#374f43}.bar-track{height:7px;border-radius:3px;background:#eef2eb;overflow:hidden}.bar-track span{display:block;min-width:0;height:100%;background:#7f9f83;border-radius:3px;transition:width .2s}.bar-row:nth-child(2) .bar-track span{background:#b1c78d}.bar-row:nth-child(3) .bar-track span{background:#4c7e70}.question{padding:12px 0;border-bottom:1px solid #e8eee6}.question:last-of-type{border:0}.question>label{font-size:12px;display:block;margin-bottom:7px;font-weight:500}.question select{width:100%}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.feedback{border-radius:8px;background:#f3f6ef;border:1px solid #dde7d9;padding:16px 18px;margin-top:18px;font-size:12px;color:#4e6255}.feedback h3{font-size:13px;color:var(--green);margin-bottom:7px}.feedback.error{background:#fff4ee;border-color:#efddce}.feedback.error h3{color:#a0652d}.feedback ul{padding-left:18px;margin:8px 0}.feedback li{margin-bottom:6px}.feedback p+p{margin-top:9px}.feedback strong{font-weight:650}.feedback .formula{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;background:#fff9;display:block;padding:8px 10px;margin:10px 0;border-radius:4px;color:var(--ink);overflow-wrap:anywhere}.insight{border-top:1px solid var(--line);padding-top:14px;margin-top:17px;font-size:11px;color:var(--muted)}.insight strong{display:block;color:var(--ink);margin-bottom:5px;font-size:11px}.step-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:15px 0 20px}.flow-item{padding:12px 8px;background:#f0f3ed;border:1px solid #e0e8dc;border-radius:7px;font-size:10px;text-align:center;color:#6a7d70}.flow-item strong{display:block;color:#405b48;font-size:11px;margin-bottom:4px}.flow-item.done{border-color:#92b48a;background:#ebf4e4;color:#3d7547}.erp-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.erp-form .field input{width:100%}.callout{padding:12px 14px;background:#f1f5ef;font-size:11px;color:#657969;border-radius:6px;margin:16px 0}.ledger{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.ledger>div{padding:14px;background:#f7f8f5;border-radius:7px}.ledger label{font-size:10px;color:#7b8c80}.ledger strong{display:block;font-size:20px;font-weight:600}.control-grid{display:grid;grid-template-columns:1fr;gap:14px}.control-table td{vertical-align:middle}.control-table .hold{background:#fff7e7}.control-table input[type=number]{width:70px}.controls-settings{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;margin:14px 0 20px;padding:12px;background:#f5f7f2;border-radius:6px}.controls-settings label{display:flex;gap:6px;align-items:center}.risk-label{font-size:10px;color:var(--amber)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.rule{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #e0e8de;border-radius:7px;margin-bottom:8px;cursor:pointer}.rule:has(input:checked){background:#f0f5e9;border-color:#aac48e}.rule input{margin-top:3px;flex:none}.rule b{font-size:12px;font-weight:500;display:block}.rule small{font-size:10px;display:block;color:var(--muted);margin-top:2px}.clean-arrow{font-size:12px;color:var(--green);font-weight:600;margin-bottom:12px}.summary-list{margin-top:10px}.summary-item{display:flex;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.summary-item>span{font-size:11px;background:#eef2e8;border-radius:7px;padding:8px 10px;color:var(--green)}.summary-item h3{font-size:13px}.summary-item p{font-size:11px;color:var(--muted);margin-top:3px}.summary-item .state{margin-left:auto;font-size:10px;color:var(--green);background:none;white-space:nowrap}.summary-item a{font-size:11px;color:var(--green)}.validation-line{font-size:11px;display:flex;align-items:center;gap:8px;color:var(--green);margin:15px 0}.validation-line span{background:#e6efd9;border-radius:50%;width:20px;height:20px;display:grid;place-items:center}details{margin-top:16px;border:1px solid var(--line);border-radius:7px;background:white;padding:12px 16px}summary{font-size:12px;cursor:pointer;color:var(--green);font-weight:500}details p{font-size:11px;color:var(--muted);margin-top:10px}.empty{font-size:11px;color:var(--muted);padding:20px;text-align:center}.guide-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;gap:10px}.guide-footer>span{font-size:11px;color:var(--muted)}.icon-button{border:0;background:#edf2e8;border-radius:50%;width:30px;height:30px;font-size:23px;color:var(--ink)}dialog{border:1px solid var(--line);border-radius:14px;padding:28px;max-width:540px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 20px 80px #0002}dialog::backdrop{background:#172b3577;backdrop-filter:blur(2px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.help-steps{padding-left:20px;font-size:13px}.help-steps li{margin:15px 0}.help-steps b{display:block}dialog .note{font-size:11px;color:var(--muted);margin:15px 0 22px}#toast{position:fixed;bottom:24px;right:24px;background:var(--nav);color:white;padding:12px 20px;border-radius:8px;font-size:12px;box-shadow:0 7px 20px #0002;z-index:30;display:none}.storage-alert{font-size:11px;border:1px solid #e3c68c;background:#fff7e7;border-radius:6px;padding:10px;margin-bottom:12px}.mobile-only{display:none}
@media(min-width:1600px){main{padding-top:42px}.hero{min-height:320px}.hero-copy{padding:35px 40px}.hero h2{font-size:40px}.hero-visual{margin:30px}.lab-card{padding:28px}}
@media(max-width:1200px){.sidebar{width:218px;padding-inline:14px}.shell{margin-left:218px}main{padding:28px}.topbar,footer{padding-inline:28px}.hero-copy{padding:26px}.hero h2{font-size:29px}.lab-card{padding:18px}.workspace{grid-template-columns:1fr}.workspace>.panel{margin-bottom:0}.lab-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-grid{margin-bottom:16px}.hero-visual{padding:18px}}
@media(max-width:900px){.sidebar{position:relative;width:100%;padding:17px 22px;display:block}.brand{font-size:20px;padding:0}.brand-mark{width:37px;height:37px;font-size:23px}.brand-sub{font-size:8px}.course-label{position:absolute;right:22px;top:24px;margin:0;font-size:9px}nav{display:flex;flex-direction:row;overflow-x:auto;margin-top:20px;gap:6px;padding-bottom:2px}.nav-item{white-space:nowrap;padding:7px 10px;font-size:11px}.nav-item .nav-icon{height:21px;min-width:21px;font-size:10px}.nav-section,.sidebar-bottom{display:none}.shell{margin:0}.topbar{height:56px}.hero{grid-template-columns:1.1fr 1fr}.hero h2{font-size:29px}.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{align-items:start}h1{font-size:30px}.breadcrumb{font-size:10px}}
@media(max-width:600px){main{padding:25px 18px}.topbar{padding:0 18px}.breadcrumb{font-size:9px}.breadcrumb span{margin:0 6px}.private-badge{font-size:8px;padding:4px 8px}.course-label{font-size:8px;letter-spacing:1px}.hero{grid-template-columns:1fr}.hero-copy{padding:25px}.hero h2{font-size:33px;max-width:300px}.hero-visual{margin:0 20px 20px}.hero-visual .mini-bars{height:60px}.hero-meta{font-size:9px}.page-heading{display:block}.page-heading>.outline,.page-heading>.secondary{margin-top:15px}.page-heading p{font-size:12px}.lab-grid{grid-template-columns:1fr}.lab-card{padding:20px}.card-top{margin-bottom:16px}.section-heading span{font-size:9px}.section-heading h2{font-size:17px}.panel{padding:16px}.panel-title{gap:8px}.lab-header h1{font-size:27px}.two-col,.erp-form{grid-template-columns:1fr}.step-flow{grid-template-columns:1fr 1fr}.stat{padding:12px}.stat strong{font-size:21px}.teacher-note{align-items:flex-start}.teacher-note .lab-symbol{display:none}footer{padding:16px 18px;flex-wrap:wrap;gap:8px 16px;font-size:9px}footer .text-button{font-size:9px}.summary-item{gap:10px}.summary-item h3{font-size:12px}.summary-item .state{font-size:9px}.guide-footer{align-items:start}.guide-footer .primary{white-space:normal;font-size:11px}.actions .primary,.actions .outline{font-size:11px}.help-steps{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,footer,.actions,.guide-footer,button,.hero{display:none!important}.shell{margin:0}main{padding:0}.panel{break-inside:avoid}.lab-grid{display:block}.lab-card{margin-bottom:12px}}
