:root{font-family:system-ui,-apple-system,sans-serif;color:#263638;background:#f8f5ef;--teal:#123b3d;--gold:#f2b705;--cream:#f3e8d7}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{font-size:13px;font-weight:650;cursor:pointer;border:0;border-radius:9px;background:var(--teal);color:white;padding:11px 15px}button:hover{filter:brightness(1.1)}button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.45;cursor:default}.secondary{background:#eaf0ea;color:var(--teal)}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:800;color:white}.brand b{color:var(--gold);font-size:38px}.brand small{display:block;font-size:8px;letter-spacing:1.1px;color:var(--gold);margin-top:5px}.badge{display:inline-block;border:1px solid #dcd8cc;border-radius:6px;padding:5px 8px;font-size:10px;letter-spacing:1px;font-weight:750}.card{background:white;border:1px solid #e4dfd3;border-radius:14px;padding:24px;box-shadow:0 5px 16px #123b3d03}h1{font-size:30px;line-height:1.2;margin:12px 0}h2{font-size:23px;margin:0 0 10px}h3{font-size:17px;margin:0 0 12px}p{line-height:1.65;color:#536567}small{font-size:12px;color:#647677}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;font-size:10px;font-weight:800;color:var(--teal)}form{display:grid;gap:15px;margin:20px 0}label{display:grid;gap:7px;font-size:12px;font-weight:650}input,select{background:#fbfaf6;border:1px solid #d8ded9;border-radius:8px;padding:10px;min-width:0;max-width:100%;width:100%}input:focus,select:focus{outline:2px solid var(--gold)}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-intro{background:var(--teal);padding:clamp(30px,8vw,110px);display:flex;flex-direction:column;justify-content:center}.login-intro .brand{margin-bottom:65px}.login-intro h1{font-size:clamp(30px,3.5vw,48px);color:var(--cream);letter-spacing:-1.5px}.login-intro p{color:#e3e9e7}.login-intro .eyebrow{color:var(--gold)}.login-status{font-size:12px;color:var(--cream);margin-top:32px}.login-intro .login-caption{font-size:12px;color:#b8ceca;max-width:350px}.login-side{display:flex;align-items:center;justify-content:center;padding:32px}.login-card{width:100%;max-width:410px}.login-card h2{margin-top:24px}.login-card>p{font-size:14px}.login-card form>button{padding:13px}#login-error{color:#9b332b}.app-shell{display:grid;grid-template-columns:254px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--teal);color:var(--cream);padding:26px 16px;display:flex;flex-direction:column;gap:24px}.sidebar .brand{font-size:19px;padding:0 7px}.company-card{background:#0c2d2f;border:1px solid #33575a;border-radius:9px;padding:12px;font-size:12px;overflow-wrap:anywhere}.sidebar nav{flex:1}.nav-group{font-size:9px;color:#9bb6b2;text-transform:uppercase;letter-spacing:1.3px;font-weight:750;margin:22px 10px 8px}.nav-group:first-child{margin-top:0}.nav-item{width:100%;border-radius:7px;background:transparent;color:#dbe5df;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;font-weight:500;font-size:12px;padding:11px 10px;margin:2px 0}.nav-item small{color:#a6beba;font-size:8px;white-space:nowrap}.nav-item .ready-label{color:var(--gold)}.nav-item:hover{background:#ffffff0b}.nav-item[aria-current=page]{background:#2b5554;color:white;font-weight:750;box-shadow:inset 3px 0 var(--gold)}.demo-link{margin-top:9px;font-size:11px;color:#a6beba}.sidebar-bottom{padding:12px 8px 0;border-top:1px solid #33575a}.sidebar-bottom .badge{border-color:#526e6e;color:var(--cream)}.sidebar-bottom p{font-size:10px;color:#aec4bf;margin-bottom:0}.app-main{min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#fffdf8;border-bottom:1px solid #e4dfd3;padding:20px 32px}.topbar .eyebrow{margin:0}.topbar h1{font-size:23px;margin:4px 0 0}.session-actions{display:flex;align-items:end;gap:12px}.session-actions select{min-width:145px}.content{max-width:1400px;padding:25px 32px;margin:auto}.company-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.company-heading h2{font-size:16px;margin:0}.company-heading p{font-size:11px;margin:0;overflow-wrap:anywhere}#notice{background:#f7eed6;padding:10px 14px;border-radius:9px;font-size:12px;min-height:39px;margin:20px 0}.welcome{padding:30px;background:linear-gradient(110deg,#ffffff,#f3f6ef)}.welcome h2{font-size:28px;letter-spacing:-.6px}.welcome p{font-size:14px;max-width:700px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.module-card{display:flex;flex-direction:column;align-items:start}.module-card h3{margin-top:20px}.module-card p{font-size:12px}.module-card button,.module-card .empty-value{margin-top:auto}.module-state{display:inline-block;background:#f0eee7;color:#686a61;font-size:9px;font-weight:750;border-radius:4px;padding:5px 8px;text-transform:uppercase;letter-spacing:.7px}.module-state.available{background:#e7f1e8;color:#286047}.empty-value{border-top:1px solid #e9eae2;width:100%;padding-top:15px;font-size:11px!important;color:#78847d!important}.getting-started ol{padding-left:19px;color:#536567;font-size:13px;line-height:2}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.section-heading p{font-size:13px;max-width:650px}.columns{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;margin:20px 0}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;color:#657371;white-space:nowrap}td,th{padding:12px 8px;border-bottom:1px solid #eaece5}td small{display:block;margin-top:4px}td button{padding:7px;margin:3px;font-size:10px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px}.metrics h2{margin-top:15px}.planned{max-width:850px}.planned h2{margin-top:22px}.planned p{font-size:14px}.planned button{margin-top:10px}#settings-panel{max-width:850px}#settings-panel h3{margin-top:28px}footer{font-size:10px;margin:28px 0;color:#71807a;line-height:1.6}[hidden]{display:none!important}
.import-card{margin-bottom:20px}.import-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.import-summary{background:#f4f7f1;border-radius:9px;padding:12px 14px;margin:12px 0;font-size:12px}.import-choice{width:auto;min-width:18px}.import-card td:nth-child(3){min-width:180px}@media(max-width:1150px){.import-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:1fr}.columns{grid-template-columns:1fr}.module-card button,.module-card .empty-value{margin-top:10px}}
.kit-card{margin-top:20px}.kit-card input[type=checkbox]{width:auto;min-width:18px}.kit-card input[type=number]{min-width:100px}.kit-card td:nth-child(2){min-width:180px}
.demand-metrics{margin-bottom:20px}.demand-review{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;border-color:#e6c85c;background:#fffdf4}.demand-review p{margin:4px 0}.demand-review .actions{flex:none}.demand-product{min-width:230px}.demand-reason{display:block;margin:4px 0}.demand-suggestion{display:block;color:#286047;font-weight:700;margin-top:5px}.demand-identity{min-width:180px;overflow-wrap:anywhere}
@media(max-width:780px){.import-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:16px;gap:15px}.sidebar .brand{justify-content:center}.company-card,.sidebar-bottom,.nav-group,.demo-link{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:6px;padding:4px 0;min-width:0}.nav-item{width:auto;flex:none;white-space:nowrap;margin:0;font-size:11px;padding:9px 11px;gap:8px}.nav-item[aria-current=page]{box-shadow:inset 0 -2px var(--gold)}.topbar{padding:18px 16px;align-items:start;flex-wrap:wrap;gap:15px}.topbar h1{font-size:20px}.session-actions{width:100%}.session-actions label{flex:1}.content{padding:20px 16px}.company-heading{align-items:start;flex-direction:column;gap:5px}.section-heading,.demand-review{align-items:start;flex-direction:column;gap:8px}.demand-review .actions{width:100%}.card{padding:20px}.welcome{padding:24px}.welcome h2{font-size:23px}.welcome p{font-size:13px}.metrics{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr}.login-intro{padding:28px}.login-intro .brand{margin-bottom:25px}.login-intro h1{font-size:29px}.login-status{margin-top:16px}.login-intro .login-caption{margin-bottom:0}.login-side{padding:24px 16px}.getting-started ol{line-height:1.8}button{max-width:100%}}
