:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:#f1f5f4;--color-surface:#fff;--color-ink:#102f35;--color-muted:#587077;--color-accent:#0b6f66;--shadow-card:0 1.5rem 4rem #13263a1f}*{box-sizing:border-box}html{color:var(--color-ink);background:var(--color-canvas);font-family:Inter,Noto Sans Thai,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-width:20rem;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #0e749059}.loading-screen{min-height:100vh;color:var(--color-muted);place-items:center;display:grid}.eyebrow{color:var(--color-accent);letter-spacing:.12em;margin:0 0 .5rem;font-size:.72rem;font-weight:800}.muted{color:var(--color-muted)}.sign-in-shell{grid-template-columns:minmax(0,1.15fr) minmax(23rem,.85fr);min-height:100vh;display:grid}.sign-in-intro{color:#f8fafc;background:radial-gradient(circle at 15% 20%,#187f77 0,#0000 30%),linear-gradient(145deg,#082f38,#0a4f52 65%,#06313b);flex-direction:column;justify-content:center;padding:clamp(3rem,9vw,8rem);display:flex}.brand-lockup{letter-spacing:.2em;font-size:1.25rem;font-weight:900;position:absolute;top:2rem}.sign-in-intro .eyebrow{color:#9ee7dc}.sign-in-intro h1{letter-spacing:-.045em;max-width:13ch;margin:.4rem 0 1.25rem;font-size:clamp(2.5rem,6vw,5.25rem);line-height:1.06}.sign-in-intro>p:last-child{color:#c3dedc;max-width:34rem;font-size:1.05rem;line-height:1.7}.sign-in-card{background:var(--color-surface);width:min(100% - 3rem,28rem);box-shadow:var(--shadow-card);border-radius:1.5rem;align-self:center;margin:auto;padding:2.5rem}.sign-in-card h2{margin:.2rem 0;font-size:2rem}.sign-in-card form{gap:1.1rem;margin-top:2rem;display:grid}label{color:#334155;gap:.45rem;font-size:.88rem;font-weight:700;display:grid}input,select{min-height:3rem;color:var(--color-ink);background:#fff;border:1px solid #cbd5e1;border-radius:.75rem;padding:.7rem .85rem}.primary-button{color:#fff;background:var(--color-accent);border:0;border-radius:.8rem;min-height:3.1rem;padding:.75rem 1.1rem;font-weight:800}.primary-button:hover{background:#075e57}.primary-button:disabled{cursor:wait;opacity:.6}.security-note{color:var(--color-muted);border-top:1px solid #e2e8f0;margin:1.5rem 0 0;padding-top:1.2rem;font-size:.78rem;line-height:1.5}.app-shell{min-height:100vh;padding-left:6.25rem}.sidebar{z-index:5;color:#d9eeec;background:#07383c;width:6.25rem;padding:1.25rem .6rem;position:fixed;inset:0 auto 0 0}.brand-mark{color:#07383c;background:#d4f1ec;border-radius:.9rem;place-items:center;width:3rem;height:3rem;margin:0 auto 2rem;font-size:1.25rem;font-weight:900;display:grid}.sidebar nav{gap:.45rem;display:grid}.nav-item{color:#b7d6d3;background:0 0;border:0;border-radius:.8rem;place-items:center;gap:.15rem;min-height:4rem;padding:.45rem .2rem;font-size:.72rem;display:grid}.nav-item span{font-size:1.2rem}.nav-item.active{color:#fff;background:#ffffff21}.workspace{min-height:100vh;padding:clamp(1.25rem,4vw,3.5rem)}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.25rem;display:flex}.topbar h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,3vw,2.7rem)}.topbar-actions{align-items:center;gap:.75rem;display:flex}.location-chip{color:#31545a;background:#fff;border:1px solid #d7e2e6;border-radius:999px;padding:.7rem .9rem;font-weight:700}.location-picker{align-items:center;gap:.5rem;display:flex}.location-picker select{min-height:2.6rem}.quiet-button{min-height:2.75rem;color:var(--color-muted);background:0 0;border:0;padding:.6rem .85rem}.alert{color:#78350f;background:#fffbeb;border-left:4px solid #b45309;border-radius:.5rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.9rem 1rem;display:flex}.alert button{color:inherit;background:0 0;border:0;font-weight:800}.dashboard-grid{gap:1.25rem;display:grid}.hero-panel{color:#fff;background:linear-gradient(120deg,#0b5c5a,#11756c);border-radius:1.4rem;justify-content:space-between;align-items:center;gap:1rem;min-height:12rem;padding:clamp(1.5rem,4vw,3rem);display:flex;box-shadow:0 1.5rem 3rem #07383c29}.hero-panel .eyebrow{color:#a7eee5}.hero-panel h2{letter-spacing:-.04em;margin:.25rem 0 .6rem;font-size:clamp(1.8rem,4vw,3.2rem)}.hero-panel p:last-child{color:#cce9e6;margin-bottom:0}.status-badge{white-space:nowrap;border:1px solid #ffffff47;border-radius:999px;padding:.55rem .85rem;font-size:.78rem;font-weight:800}.status-badge.success{color:#064e3b;background:#d1fae5}.panel,.metric-row article{background:var(--color-surface);border:1px solid #dfe8eb;border-radius:1.1rem;padding:1.5rem;box-shadow:0 .5rem 1.5rem #13263a0d}.open-day-panel{grid-template-columns:1fr minmax(12rem,.45fr) auto;align-items:end;gap:1.25rem;display:grid}.open-day-panel h3{margin:.2rem 0;font-size:1.4rem}.open-day-panel p{margin-bottom:0}.metric-row{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.metric-row article{gap:.45rem;display:grid}.metric-row span,.metric-row small{color:var(--color-muted)}.metric-row strong{font-size:1.9rem}.empty-state,.placeholder-panel{text-align:center;place-content:center;min-height:22rem;display:grid}.empty-icon{font-size:2rem}.work-grid{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);align-items:start;gap:1.25rem;display:grid}.stack{gap:1.25rem;display:grid}.form-panel form,.form-panel{gap:1rem;display:grid}.form-panel h2,.form-panel h3{margin:0}.form-panel textarea{resize:vertical;border:1px solid #cbd5e1;border-radius:.75rem;min-height:8rem;padding:.8rem}.form-panel fieldset{border:1px solid #dbe5e7;border-radius:.75rem;gap:1rem;margin:0;padding:.9rem;display:flex}.form-panel fieldset label{align-items:center;display:flex}.form-panel fieldset input{min-height:auto}.form-panel small{color:var(--color-muted);font-weight:400;line-height:1.5}.inline-warning{color:#854d0e;background:#fef9c3;border-radius:.65rem;padding:.8rem}.total-preview{background:#e7f4f1;border-radius:.8rem;justify-content:space-between;align-items:end;gap:1rem;padding:1rem;display:flex}.total-preview strong{font-size:1.55rem}.item-list{gap:.65rem;margin-top:1rem;display:grid}.item-list article{border-bottom:1px solid #e5ecee;justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;padding:.8rem 0;display:flex}.item-list article>div{gap:.25rem;display:grid}.item-list small{color:var(--color-muted)}.item-list article>span{font-weight:800}.small-button,.danger-button{border-radius:.6rem;min-height:2.5rem;padding:.5rem .75rem;font-weight:800}.small-button{color:#075e57;background:#edf9f6;border:1px solid #9ccac3}.danger-button{color:#991b1b;background:#fff1f2;border:1px solid #fecaca}.closing-summary{background:#f4f7f7;border-radius:.8rem;gap:.65rem;padding:1rem;display:grid}.closing-summary span{justify-content:space-between;gap:1rem;display:flex}.timeline{gap:1rem;margin-top:1.25rem;display:grid}.timeline article{grid-template-columns:1rem 1fr;gap:.7rem;display:grid}.timeline article>span{color:var(--color-accent)}.timeline article>div{gap:.2rem;display:grid}.timeline small{color:var(--color-muted)}.timeline p{margin:.3rem 0 0}.mobile-nav{display:none}@media (width<=760px){.sign-in-shell{background:#edf4f5;grid-template-columns:1fr;padding:1rem}.sign-in-intro{border-radius:1.3rem;justify-content:end;min-height:15rem;padding:2rem}.brand-lockup{top:2.5rem}.sign-in-intro h1{margin-top:2rem;font-size:2.2rem}.sign-in-intro>p:last-child{display:none}.sign-in-card{border-radius:1.3rem;width:100%;margin:-1rem 0 0;padding:2rem 1.4rem}.app-shell{padding:0 0 5.5rem}.sidebar{display:none}.workspace{padding:1.1rem}.topbar{align-items:flex-start}.topbar-actions{flex-direction:column;align-items:end}.quiet-button{min-height:2rem;padding:0}.hero-panel{flex-direction:column;align-items:flex-start;min-height:14rem}.open-day-panel,.metric-row,.work-grid{grid-template-columns:1fr}.mobile-nav{z-index:10;padding:.5rem .25rem max(.5rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border-top:1px solid #dce6e8;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.mobile-nav button{color:#64748b;background:0 0;border:0;place-items:center;gap:.1rem;min-height:3.75rem;font-size:.65rem;display:grid}.mobile-nav button span{font-size:1.15rem}.mobile-nav button.active{color:var(--color-accent);font-weight:800}}
