.app-shell{grid-template-columns:17rem minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{background:linear-gradient(165deg, var(--navy) 0%, #123747 68%, #0d4851 100%);color:#f2f7f8;z-index:5;border-right:1px solid #ffffff14;flex-direction:column;align-self:start;width:17rem;height:100vh;padding:1.1rem .9rem;display:flex;position:sticky;top:0;overflow-y:auto;box-shadow:8px 0 28px #102c3b14}.app-brand{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:.7rem;padding:.45rem .55rem 1.1rem;display:flex}.app-brand-identity{align-items:center;gap:.75rem;min-width:0;display:flex}.app-welcome,.app-mobile-menu{display:none}.app-loading{border:1px solid var(--steel-100);width:fit-content;color:var(--ink-soft);box-shadow:var(--surface-shadow);background:#fff;border-radius:12px;margin:2rem auto;padding:1rem 1.3rem}.app-install-hint{color:#c5d5dc;margin:0;padding:.65rem .75rem;font-size:.82rem;line-height:1.45}.app-nav{gap:.35rem;padding:1.1rem 0;display:grid}.app-nav-link{color:#c5d5dc;border:1px solid #0000;border-radius:11px;padding:.75rem .85rem .75rem 1rem;font-size:.95rem;font-weight:560;text-decoration:none;transition:background .15s,color .15s,transform .15s;position:relative}.app-nav-link:hover{color:#fff;background:#ffffff14;transform:translate(2px)}.app-nav-link[aria-current=page]{color:#fff;box-shadow:inset 3px 0 var(--accent-lime);background:linear-gradient(100deg,#087f8c66,#087f8c24);border-color:#ffffff1f}.app-version{color:#c5d5dc;letter-spacing:.04em;background:#ffffff12;border:1px solid #ffffff24;border-radius:999px;flex:none;padding:.24rem .5rem;font-size:.72rem;font-weight:700}.app-sidebar-account{color:#c5d5dc;border-top:1px solid #ffffff1f;justify-items:stretch;gap:.55rem;margin-top:auto;padding:1rem .4rem 0;font-size:.82rem;display:grid}.app-user-profile{text-align:center;justify-items:center;gap:.45rem;padding:.25rem .25rem .55rem;display:grid}.app-user-avatar{color:#fff;letter-spacing:.04em;background:linear-gradient(145deg,#16808a,#23536c);border:1px solid #fff3;border-radius:50%;place-items:center;width:2.65rem;height:2.65rem;font-size:.9rem;font-weight:800;display:grid}.app-user-identity{justify-items:center;gap:.3rem;min-width:0;max-width:100%;display:grid}.app-user-identity strong{overflow-wrap:anywhere;color:#fff;max-width:100%;font-size:.92rem;line-height:1.3}.app-user-identity small{color:#c5d5dc;border:1px solid #b8cbd340;border-radius:999px;padding:.18rem .55rem;font-size:.72rem;font-weight:650}.app-sidebar-account a,.app-sidebar-account button{color:#eff7f8;min-height:2.5rem;font:inherit;text-align:center;background:#ffffff0d;border:1px solid #ffffff29;border-radius:9px;justify-content:center;align-items:center;padding:.55rem .75rem;text-decoration:none;display:flex}.app-sidebar-account a:hover,.app-sidebar-account button:hover{background:#ffffff1f}.app-sidebar-account a[aria-current=page]{border-color:var(--accent-lime)}.app-mobile-nav{display:none}.app-main{min-width:0}.g360-brand{color:var(--navy);align-items:center;gap:.75rem;display:inline-flex}.g360-brand img{flex:none;display:block}.g360-brand-name{color:var(--navy);letter-spacing:-.045em;font-size:1.3rem;font-weight:780;line-height:1.05;display:grid}.g360-brand-name>span{color:var(--spruce);display:inline}.g360-brand-name small{color:var(--steel-500);letter-spacing:.015em;margin-top:.28rem;font-size:.66rem;font-weight:550}.g360-brand-compact .g360-brand-name{color:#f4f8f9;font-size:1.12rem}.g360-brand-compact .g360-brand-name>span{color:var(--accent-lime)}.g360-brand-compact .g360-brand-name small{display:none}.app-main>*{min-width:0}.g360-toasts{z-index:1000;pointer-events:none;gap:.65rem;width:min(25rem,100vw - 2rem);display:grid;position:fixed;top:1rem;right:1rem}.g360-toast{border:1px solid var(--steel-100);color:var(--ink);pointer-events:auto;background:#fff;border-radius:14px;grid-template-columns:2rem minmax(0,1fr) 2rem;align-items:center;gap:.7rem;padding:.8rem .8rem .8rem .9rem;animation:.18s ease-out toast-in;display:grid;box-shadow:0 16px 42px #102c3b2e}.g360-toast p{margin:0;font-size:.9rem;line-height:1.35}.g360-toast-icon{background:var(--steel-100);width:1.85rem;height:1.85rem;color:var(--navy);border-radius:50%;place-items:center;font-weight:800;display:grid}.g360-toast-success{border-left:4px solid #17835e}.g360-toast-success .g360-toast-icon{color:#127046;background:#e0f5ea}.g360-toast-info{border-left:4px solid var(--spruce)}.g360-toast-info .g360-toast-icon{background:var(--spruce-tint);color:var(--spruce-dark)}.g360-toast-error{border-left:4px solid var(--error)}.g360-toast-error .g360-toast-icon{background:var(--error-tint);color:var(--error)}.g360-toast button{width:2rem;height:2rem;color:var(--steel-500);background:0 0;border:0;border-radius:7px;place-items:center;padding:0;font-size:1.25rem;display:grid}.g360-toast button:hover{background:var(--steel-100);color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}body{background:radial-gradient(ellipse at 85% 0%, #e8f3f5 0, transparent 37rem), var(--steel-50)}h1,h2,h3{color:var(--navy);letter-spacing:-.035em}input,select,textarea{background-color:#fff;transition:border-color .14s,box-shadow .14s;border-color:var(--steel-300)!important;border-radius:10px!important}input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px #087f8c1f;border-color:var(--spruce)!important}button{transition:transform .12s,box-shadow .14s,background-color .14s,border-color .14s}button:active:not(:disabled){transform:translateY(1px)}table thead th{color:var(--steel-500);letter-spacing:.055em;text-transform:uppercase;font-size:.78rem}.panel,.cx-panel,.cx-card,.fu-panel,.fu-card,.fn-card,.fn-panel,.cg-form,.cg-dept,.au-panel,.cards-panel,.co-panel{box-shadow:var(--surface-shadow);background:#fffffff5;border:1px solid #cbd7e0bf;border-radius:16px}.btn-primary,.cx-btn-primary,.fu-btn-primary,.cg-btn-primary,.fn-primary,.au-primary{background:linear-gradient(135deg, var(--spruce), #0a6d78);box-shadow:0 5px 14px #087f8c2e}.btn-primary:hover:not(:disabled),.cx-btn-primary:hover:not(:disabled),.fu-btn-primary:hover:not(:disabled),.cg-btn-primary:hover:not(:disabled),.fn-primary:hover:not(:disabled),.au-primary:hover:not(:disabled){filter:brightness(1.04);box-shadow:0 8px 18px #087f8c38}.app-main [role=alert],.app-main [role=status]{overflow-wrap:anywhere}.settings-extra{max-width:1200px;color:var(--ink);gap:.75rem;margin:0 auto 40px;padding:0 28px;display:grid}.settings-extra>details{border:1px solid var(--steel-300);box-shadow:var(--surface-shadow);background:#fff;border-radius:14px;overflow:hidden}.settings-extra>details>p{color:var(--ink-soft);margin:16px;padding:0}.settings-extra>details>summary{min-height:3.25rem;color:var(--spruce-dark);cursor:pointer;align-items:center;padding:.75rem 1rem;font-weight:700;list-style-position:inside;display:flex}.settings-extra>details[open]>summary{border-bottom:1px solid var(--steel-300)}@media (width<=52rem){.app-shell{grid-template-columns:minmax(0,1fr)}.app-sidebar{border-bottom:1px solid #ffffff1f;border-right:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;height:auto;padding:.5rem .8rem;display:grid;position:sticky;top:0;overflow:visible}.app-brand{border-bottom:0;grid-column:1/-1;justify-content:space-between;min-height:3.4rem;padding:.1rem .15rem}.app-brand-identity{gap:.65rem}.g360-brand img{width:34px;height:34px}.g360-brand-compact .g360-brand-name{font-size:1rem}.app-version{display:none}.app-welcome{color:#d5e3e8;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:550;display:inline;overflow:hidden}.app-welcome:before{content:"—";color:#9cb9c4;margin-right:.45rem}.app-nav{display:none}.app-mobile-menu{display:block;position:relative}.app-mobile-menu summary{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-width:5.1rem;min-height:2.7rem;padding:.25rem .4rem;list-style:none;display:flex}.app-mobile-menu summary::-webkit-details-marker{display:none}.app-mobile-menu summary .app-user-avatar{width:2rem;height:2rem;font-size:.72rem}.app-hamburger{gap:3px;width:1rem;display:grid}.app-hamburger i{background:#eff7f8;border-radius:2px;height:2px;transition:transform .15s;display:block}.app-mobile-menu[open] summary{border-color:var(--accent-lime)}.app-mobile-menu[open] .app-hamburger i:first-child{transform:translateY(5px)rotate(45deg)}.app-mobile-menu[open] .app-hamburger i:nth-child(2){opacity:0}.app-mobile-menu[open] .app-hamburger i:last-child{transform:translateY(-5px)rotate(-45deg)}.app-mobile-menu-panel{z-index:20;background:linear-gradient(165deg, var(--navy) 0%, #123747 72%, #0d4851 100%);border:1px solid #ffffff24;border-radius:16px;gap:.45rem;width:min(22rem,100vw - 1.3rem);max-height:calc(100dvh - 5rem);padding:.75rem;display:none;position:absolute;top:calc(100% + .55rem);right:0;overflow-y:auto;box-shadow:0 18px 42px #00000052}.app-mobile-menu[open] .app-mobile-menu-panel{display:grid}.app-mobile-menu-user{border-bottom:1px solid #ffffff21;align-items:center;gap:.7rem;padding:.25rem .25rem .75rem;display:flex}.app-mobile-menu-user .app-user-identity{text-align:left;justify-items:start}.app-mobile-menu nav{gap:.2rem;display:grid}.app-mobile-menu-panel a,.app-mobile-menu-panel button{color:#d6e3e8;width:100%;min-height:2.75rem;font:inherit;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;padding:.65rem .75rem;font-size:.9rem;text-decoration:none;display:flex}.app-mobile-menu-panel a[aria-current=page]{box-shadow:inset 3px 0 var(--accent-lime);color:#fff;background:#087f8c52}.app-mobile-menu-panel a:hover,.app-mobile-menu-panel button:hover{background:#ffffff17}.app-sidebar-account{display:none}.settings-extra{padding:0 16px}}@media (width<=38rem){.app-sidebar{padding-left:.65rem;padding-right:.65rem}.app-brand-identity{gap:.45rem}.app-welcome{max-width:5.5rem}.g360-toasts{top:auto;bottom:max(.75rem, env(safe-area-inset-bottom));width:auto;left:.75rem;right:.75rem}}:root{--steel-50:#f4f7fa;--steel-100:#e8eef3;--steel-300:#cbd7e0;--steel-500:#637a89;--ink:#142b3b;--ink-soft:#536979;--enamel:#fff;--spruce:#087f8c;--spruce-dark:#075a68;--spruce-tint:#ddf2f1;--amber:#9a5a00;--amber-tint:#fff1d4;--error:#b4233b;--error-tint:#ffeaed;--accent-lime:#b7db69;--navy:#102c3b;--navy-soft:#183b4c;--surface-shadow:0 12px 32px #102c3b12;--paper:#fbfcfc;--ticket-ink:#1c2421;--radius:14px;--touch:4rem;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-receipt:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--steel-50);min-height:100vh;color:var(--ink);font-family:var(--font-ui);font-variant-numeric:tabular-nums;margin:0;font-size:1rem;line-height:1.45}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button,input,select,textarea{accent-color:var(--spruce)}::selection{background:var(--spruce-tint);color:var(--navy)}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--spruce);outline-offset:3px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}#root{min-height:100vh}.app-main{padding:1.25rem clamp(.85rem,2vw,2rem) 2rem}.action-icon-button{border:1px solid var(--steel-300);background:var(--enamel);width:2.75rem;height:2.75rem;color:var(--spruce-dark);cursor:pointer;border-radius:.7rem;flex:none;place-items:center;transition:background .14s,border-color .14s,transform .14s;display:inline-grid}.action-icon-button:hover:not(:disabled){border-color:var(--spruce);background:var(--spruce-tint);transform:translateY(-1px)}.action-icon-button:disabled{opacity:.55;cursor:not-allowed}.action-icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}.action-switch{cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;padding:0;display:inline-flex}.action-switch:disabled{cursor:wait;opacity:.65}.action-switch-track{border:1px solid var(--steel-300);background:var(--steel-100);border-radius:999px;width:3.7rem;height:2rem;transition:background .18s,border-color .18s;display:block;position:relative}.action-switch.is-on .action-switch-track{border-color:var(--spruce);background:var(--spruce)}.action-switch-value{z-index:1;color:#fff;font-size:.72rem;font-weight:800;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.action-switch.is-on .action-switch-value{left:.62rem}.action-switch:not(.is-on) .action-switch-value{color:var(--ink-soft);right:.62rem}.action-switch-thumb{background:#fff;border-radius:50%;width:1.5rem;height:1.5rem;transition:transform .18s cubic-bezier(.2,.8,.2,1);position:absolute;top:.18rem;left:.18rem;box-shadow:0 1px 3px #0000003d}.action-switch.is-on .action-switch-thumb{transform:translate(1.68rem)}.action-icon-button:focus-visible,.action-switch:focus-visible .action-switch-track{outline:3px solid var(--amber);outline-offset:3px}@media (prefers-reduced-motion:reduce){.action-icon-button,.action-switch-track,.action-switch-thumb{transition:none}}.app-main>.station,.app-main>.cg-page,.app-main>.cx,.app-main>.fu,.app-main>.fn,.app-main>.au-page,.app-main>.cards-page{width:100%}h1{font-weight:760;font-size:clamp(1.55rem,2.3vw,2rem)!important}h2{font-weight:720;font-size:clamp(1.12rem,1.7vw,1.35rem)!important}p{line-height:1.55}.app-main :is(.station-head,.cg-head,.cx-head,.fu-head,.fn-head,.au-head){border-bottom:1px solid var(--steel-300);padding-bottom:.9rem}.app-main :is(.station-head h1,.cg-head h1,.cx-head h1,.fu-head h1,.fn-head h1,.au-head h1){color:var(--navy)}.app-main .screen-subtitle{max-width:52rem;color:var(--ink-soft);margin:.35rem 0 0}.app-main :is(.panel,.cx-panel,.cx-card,.fu-panel,.fu-card,.fn-card,.fn-panel,.cg-form,.cg-dept,.au-panel,.cards-panel,.co-panel){box-shadow:var(--surface-shadow);background:#fff;border:1px solid #cbd7e0d1;border-radius:16px}.app-main :is(.panel,.cx-panel,.fu-panel,.fn-card,.fn-panel,.cg-form,.au-panel){padding:clamp(1rem,2vw,1.4rem)}.app-main :is(.hint,.cx-hint,.fu-hint,.fn-hint,.cg-hint,.au-hint){color:var(--ink-soft)}.app-main :is(.btn-primary,.cx-btn-primary,.fu-btn-primary,.cg-btn-primary,.fn-primary,.au-primary){background:linear-gradient(135deg,#087f8c,#096875);border-color:#0000;box-shadow:0 5px 14px #087f8c2e}.app-main :is(.btn-primary,.cx-btn-primary,.fu-btn-primary,.cg-btn-primary,.fn-primary,.au-primary):hover:not(:disabled){background:linear-gradient(135deg,#096f7a,#075564);box-shadow:0 8px 18px #087f8c38}.app-main :is(.btn-secondary,.cx-btn-secondary,.fu-btn-secondary,.cg-btn,.fn-seg-btn,.fn-tab,.au-actions button){border-radius:10px}.app-main :is(.btn-secondary,.cx-btn-secondary,.fu-btn-secondary,.cg-btn,.fn-seg-btn,.fn-tab,.au-actions button):hover:not(:disabled){border-color:var(--spruce)}.app-main :is(.cg-alert,.cg-ok,.au-alert,.cx-notice,.fu-notice,.fn-notice,.alert,.cg-setup-note,.cards-error){border:1px solid #0000;border-left-width:4px;border-radius:12px;padding:.85rem 1rem;box-shadow:0 4px 12px #102c3b0d}.app-main :is(.cg-alert,.au-alert,.cx-notice-error,.fu-notice-error,.fn-notice-error,.alert,.cards-error){border-color:#f3c3ca;border-left-color:var(--error);background:var(--error-tint);color:#8f1c31}.app-main :is(.cg-ok,.au-alert-ok,.cx-notice-ok,.fu-notice-ok,.fn-notice-ok){color:#145c3d;background:#e5f6ec;border-color:#bfe6d0 #bfe6d0 #bfe6d0 #17835e}.app-main :is(.cx-notice-info,.fu-notice-info,.cg-setup-note,.au-alert-info){background:var(--amber-tint);color:#80500b;border-color:#f2dcad #f2dcad #f2dcad #b87917}.app-main :is(.cg-field input,.cg-field select,.cg-inline input,.cx input,.fu-number input,.fn input,.fn select,.fn textarea,.au-card input,.au-form input,.au-form select,.au-table select,.cards-panel input,.co-tab-lookup input){color:var(--ink);background:#fff;border-radius:10px;box-shadow:inset 0 1px 2px #102c3b08;border:1px solid var(--steel-300)!important}.app-main :is(input,select,textarea):focus-visible{outline:0;box-shadow:0 0 0 4px #087f8c21;border-color:var(--spruce)!important}.app-main :is(.cg-badge,.cx-demo,.fu-demo,.fn-demo,.station-badge){background:var(--amber-tint);color:#80500b;border:1px solid #f2dcad;border-radius:999px;padding:.28rem .65rem;font-size:.78rem;font-weight:680}.app-main :is(.cg-dept,.fn-card,.fu-panel,.cx-panel){padding:1rem}.app-main :is(.cg-item,.fu-card,.cx-lines li){border-color:var(--steel-100)}.app-main :is(.fn-tabs,.fn-seg){scrollbar-width:thin}.app-main .fn-tab[aria-selected=true]{background:var(--navy);border-color:var(--navy)}.app-main .fn-seg-btn[aria-checked=true]{background:var(--spruce);border-color:var(--spruce)}.app-main :is(.cg-chip,.fu-chip,.cx-chip){border-color:var(--steel-300);border-radius:999px}.app-main .au-login{min-height:calc(100vh - 2rem)}.app-main .au-card{border:1px solid var(--steel-100);border-radius:22px;gap:.85rem;padding:clamp(1.4rem,4vw,2.3rem);box-shadow:0 22px 70px #102c3b21}.au-login-title{color:var(--navy);margin:0;font-size:1.55rem}.app-main .co-head{gap:.35rem}.app-main .co-head h1{margin:.35rem 0}.app-main .co-link-button{border-color:var(--steel-300);background:#fff;border-radius:999px}.app-main .co-link-button:hover{border-color:var(--spruce);background:var(--spruce-tint)}.cards-page{max-width:88rem}.cards-page>header{align-items:center}.cards-page>header p{margin-bottom:0}.cards-panel button{background:var(--spruce);border:1px solid #0000;border-radius:10px;min-height:2.8rem;font-weight:670}.cards-panel button:hover:not(:disabled){background:var(--spruce-dark);box-shadow:0 6px 16px #087f8c2b}.card-label{border-color:var(--steel-300);background:#fbfdfe}.card-label strong{color:var(--navy);letter-spacing:.08em}.app-main :is(.cg-page,.cx,.fu,.fn,.au-page,.cards-page,.station){padding-top:.8rem}.app-main .station{max-width:88rem}.app-main .cg-page,.app-main .fn-wide{max-width:92rem}.app-main .au-page{max-width:76rem}@media (width<=52rem){.app-main{padding:.8rem .75rem 1.5rem}.app-main .station{grid-template-columns:minmax(0,1fr);grid-template-areas:"head""main""ticket";padding:.75rem .15rem 1.5rem}.app-main :is(.cg-page,.cx,.fu,.fn,.au-page,.cards-page){padding:.8rem .15rem 1.5rem}.app-main .cg-layout,.app-main .cg-side{grid-template-columns:minmax(0,1fr)}.app-main .choice-grid{gap:.65rem}.cards-page>header{flex-direction:column;align-items:flex-start}}@media (width<=38rem){.app-main :is(.panel,.cx-panel,.fu-panel,.fn-card,.fn-panel,.cg-form,.au-panel,.cards-panel){border-radius:14px}.app-main .choice-grid{grid-template-columns:minmax(0,1fr)}.app-main .scan-input{font-size:1.5rem}}
