:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#17181c;--bg-deep:#111216;--surface:#24262b;--surface-raised:#2d3036;--surface-hover:#363940;--surface-active:#3d4048;--text:#f2f3f5;--text-secondary:#b5bac1;--text-muted:#858b96;--accent:#e8751a;--accent-hover:#f08d3a;--accent-soft:#e8751a29;--success:#23a55a;--warning:#f0b232;--danger:#f23f42;--border:#ffffff17;--border-strong:#ffffff29;--font:"Prompt", "Noto Sans Thai", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", Consolas, ui-monospace, monospace;--radius-sm:8px;--radius:12px;--radius-lg:16px;--ease:cubic-bezier(.2, .8, .2, 1);--shadow:0 18px 48px #0000003d}*{box-sizing:border-box}html,body{background:var(--bg-deep);min-width:320px;min-height:100%;color:var(--text);margin:0}body{font:400 15px/1.55 var(--font)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}.hidden{display:none!important}.eyebrow{color:var(--text-muted);font:700 .64rem/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase}.btn{border-radius:var(--radius-sm);min-height:40px;transition:background .16s var(--ease), border-color .16s var(--ease), transform .12s var(--ease), color .16s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1rem;font-size:.86rem;font-weight:600;display:inline-flex}.btn svg{width:16px;height:16px}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.btn-outline{color:var(--text-secondary);border-color:var(--border-strong);background:0 0}.btn-outline:hover{background:var(--surface-hover);color:var(--text);border-color:var(--accent)}.btn-danger{color:#ff9898}.btn-sm{min-height:34px;padding:.4rem .75rem;font-size:.78rem}.btn-lg{min-height:46px;padding:.7rem 1.1rem;font-size:.94rem}.btn-block{width:100%}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.login-view{background:#1d2820;min-height:100vh;overflow:hidden}.login-scene{isolation:isolate;background:#1d2820;place-items:center;min-height:100svh;padding:clamp(1.25rem,4vw,4rem);display:grid;position:relative;overflow:hidden}.login-image-layer{z-index:-3;background:url(/sunflower-login.jpg) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.02)}.login-scene:before{content:"";z-index:-2;pointer-events:none;background:linear-gradient(105deg,#121d16e6 0%,#16231ac7 42%,#16231a61 70%,#111a142e 100%),linear-gradient(#060c0833,#060c0875);position:absolute;inset:0}.login-scene:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 25% 48%,#0c160f75,#0000 48%);position:absolute;inset:0}.login-card{z-index:1;-webkit-backdrop-filter:blur(14px);background:#faf9f3f0;border:1px solid #fffdf6a8;border-radius:22px;width:min(100%,430px);padding:clamp(1.6rem,4vw,2.45rem);position:relative;box-shadow:0 24px 64px #040b0652,0 2px 10px #040b062e}.login-head{text-align:left;margin-bottom:1.55rem}.login-badge{color:#886d1a;background:#fff5d3e6;border:1px solid #916f173d;border-radius:13px;place-items:center;width:42px;height:42px;margin-bottom:1rem;display:grid}.login-badge svg{width:21px;height:21px}.login-brand{color:#233227;letter-spacing:-.02em;font-size:1.15rem;font-weight:600}.login-card .eyebrow{color:#74766b;letter-spacing:.14em;margin-top:.25rem;font-size:.63rem}.login-head h1{color:#1c261e;letter-spacing:-.035em;margin:1.25rem 0 .3rem;font-size:clamp(1.55rem,4vw,1.9rem)}.login-head p{color:#5f675e;margin:0;font-size:.88rem}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.77rem;font-weight:600;display:block}.form-group input,.form-group select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text);background:#1b1c20;padding:.7rem .78rem;font-size:.9rem;transition:border-color .16s,background .16s,box-shadow .16s}.form-group input:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#202126;outline:none}.login-card .form-group label{color:#3e493f;font-size:.78rem}.login-card .form-group input{color:#1f2920;background:#fffffceb;border-color:#d6d7cd;min-height:44px}.login-card .form-group input:focus{background:#fffefa;border-color:#a58730;box-shadow:0 0 0 3px #bc9d402e}.error-msg{color:#ff9b9b;margin:-.25rem 0 .75rem;font-size:.78rem;display:block}.login-card .error-msg{color:#9d3e31}.login-card .btn-primary{color:#fffef9;background:#354a38;border-color:#354a38;min-height:46px;box-shadow:0 8px 18px #1c331f33}.login-card .btn-primary:hover:not(:disabled){background:#263a2a;border-color:#263a2a}.login-note{color:var(--text-muted);justify-content:center;align-items:center;gap:.35rem;margin:1rem 0 0;font-size:.7rem;display:flex}.login-card .login-note{color:#697369}.login-note svg{width:13px;height:13px}.login-card .login-note svg{color:#887125}.app-view{background:var(--bg-deep);min-height:100vh}.app-shell{grid-template-columns:68px 250px minmax(0,1fr);min-height:100vh;display:grid}.app-rail{border-right:1px solid var(--border);background:#121316;flex-direction:column;align-items:center;gap:1rem;padding:1.1rem .7rem;display:flex}.rail-mark{background:var(--accent);color:#fff;width:42px;height:42px;font:700 .77rem var(--mono);border-radius:13px;place-items:center;display:grid;box-shadow:0 8px 18px #e8751a38}.rail-divider{background:var(--border-strong);width:28px;height:1px}.rail-status{width:38px;height:38px;color:var(--text-muted);place-items:center;display:grid}.rail-status:first-of-type{color:var(--success)}.rail-status svg{width:18px;height:18px}.rail-spacer{flex:1}.app-sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;min-width:0;padding:1.4rem 1rem 1rem;display:flex}.sidebar-brand{justify-content:space-between;align-items:center;gap:.7rem;padding:0 .45rem 1.3rem;display:flex}.sidebar-brand strong{margin-top:.3rem;font-size:1.05rem;display:block}.status-dot{background:var(--success);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #23a55a1f}.sidebar-caption{color:var(--text-muted);padding:0 .45rem .65rem;font-size:.7rem}.app-nav{flex-direction:column;gap:.28rem;display:flex;position:relative}.magic-indicator{z-index:0;border-radius:var(--radius);pointer-events:none;transition:transform .42s var(--ease), width .42s var(--ease), height .42s var(--ease);background:linear-gradient(135deg,#ffffff21,#ffffff0a);border:1px solid #ffffff21;position:absolute;top:0;left:0;box-shadow:inset 0 1px #ffffff1f,0 8px 24px #0000002e}.magic-indicator.is-moving{transform-origin:50%;scale:1.03 .96}.app-nav button{z-index:1;border-radius:var(--radius);width:100%;min-height:54px;color:var(--text-secondary);text-align:left;transition:color .16s var(--ease), transform .16s var(--ease);background:0 0;border:0;grid-template-rows:auto auto;grid-template-columns:20px 1fr;align-items:center;column-gap:.7rem;padding:.6rem .7rem;display:grid;position:relative}.app-nav button svg{width:18px;height:18px;color:var(--text-muted);transition:color .16s var(--ease);grid-row:1/span 2}.app-nav button span{font-size:.84rem;font-weight:600}.app-nav button small{color:var(--text-muted);font:.62rem var(--mono)}.app-nav button:hover,.app-nav button.is-active{color:var(--text);transform:translate(2px)}.app-nav button:hover svg,.app-nav button.is-active svg{color:var(--accent-hover)}.sidebar-footer{border-top:1px solid var(--border);color:var(--text-muted);align-items:center;gap:.45rem;margin-top:auto;padding:.85rem .45rem 0;font-size:.68rem;display:flex}.sidebar-footer svg{width:14px;height:14px;color:var(--success)}.app-workspace{background:var(--bg);min-width:0}.app-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);background:#17181cd1;justify-content:space-between;align-items:center;gap:1rem;min-height:72px;padding:1rem 1.7rem;display:flex}.header-context strong{margin-top:.25rem;font-size:1rem;display:block}.header-actions{align-items:center;gap:.75rem;display:flex}.session-pill{color:#8be0aa;font:.68rem var(--mono);align-items:center;gap:.35rem;display:inline-flex}.session-pill svg{width:14px;height:14px}.app-content{width:min(100%,1180px);margin:0 auto;padding:1.8rem}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:1.2rem;padding:1.3rem;box-shadow:0 10px 30px #0000001f}.card h2{align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.05rem;display:flex}.card h2 svg{color:var(--accent-hover)}.card-note{color:var(--text-muted);align-items:center;gap:.4rem;margin-top:.9rem;font-size:.78rem;display:flex}.card-note svg{flex-shrink:0;width:13px;height:13px}table{border-collapse:collapse;width:100%;font-size:.86rem}th{border-bottom:1px solid var(--border);color:var(--text-muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;padding:.5rem .6rem;font-size:.68rem}td{border-bottom:1px solid var(--border);padding:.65rem .6rem}tr:last-child td{border-bottom:0}.mono{font-family:var(--mono)}.text-muted{color:var(--text-muted)}.table-scroll{overflow-x:auto}.toast-container{z-index:2000;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.toast{border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface-raised);min-width:240px;color:var(--text);box-shadow:var(--shadow);animation:rise-in .2s var(--ease) backwards;padding:.7rem 1rem;font-size:.82rem}.toast.tone-success{border-left-color:var(--success)}.toast.tone-danger{border-left-color:var(--danger)}.toast.tone-warning{border-left-color:var(--warning)}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=900px){.app-shell{grid-template-columns:60px 220px minmax(0,1fr)}.app-content{padding:1.4rem}.app-header{padding-inline:1.3rem}}@media (width<=720px){.login-scene{padding:1rem}.login-scene:before{background:linear-gradient(#0d1810b3,#0d1810d6)}.login-card{width:min(100%,470px);padding:1.45rem}.app-shell{min-height:100vh;padding-bottom:76px;display:block}.app-rail{display:none}.app-sidebar{z-index:20;height:auto;padding:.5rem max(.5rem, env(safe-area-inset-left)) max(.5rem, env(safe-area-inset-bottom));border-top:1px solid var(--border-strong);-webkit-backdrop-filter:blur(18px);background:#24262bf0;border-right:0;display:block;position:fixed;bottom:0;left:0;right:0}.sidebar-brand,.sidebar-caption,.sidebar-footer{display:none}.app-nav{grid-template-columns:repeat(6,1fr);gap:.15rem;display:grid}.magic-indicator{border-radius:10px;top:0}.app-nav button{text-align:center;flex-direction:column;justify-content:center;gap:.18rem;min-height:58px;padding:.38rem .2rem;display:flex}.app-nav button svg{width:17px;height:17px}.app-nav button span{font-size:.63rem;line-height:1.15}.app-nav button small{display:none}.app-nav button:hover,.app-nav button.is-active{transform:translateY(-1px)}.app-workspace{min-height:calc(100vh - 76px)}.app-header{min-height:64px;padding:.75rem 1rem}.header-actions .session-pill,.header-actions .btn span{display:none}.header-actions .btn{min-width:38px;padding-inline:.55rem}.app-content{padding:1rem}.toast-container{bottom:5.5rem;left:.75rem;right:.75rem}.toast{min-width:0}}@media (width<=420px){.login-scene{padding:.75rem}.login-card{padding:1.3rem}.login-head h1{margin-top:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
