@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded&family=Roboto+Flex:wght@400..800&display=swap";:root{--shape-xs:4px;--shape-sm:8px;--shape-md:12px;--shape-lg:16px;--shape-xl:28px;--shape-full:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-8:48px;--font:"Roboto Flex", system-ui, sans-serif;--display-s:700 36px/44px var(--font);--headline-s:600 24px/32px var(--font);--title-l:600 20px/28px var(--font);--title-m:600 16px/24px var(--font);--body-l:400 16px/24px var(--font);--body-m:400 14px/20px var(--font);--label-l:600 14px/20px var(--font);--label-s:600 11px/16px var(--font);--ease-emph:cubic-bezier(.2, 0, 0, 1);--dur-short:.2s;--dur-med:.3s;--elev-1:0 1px 2px #0000001a, 0 1px 3px 1px #0000000f;--elev-2:0 1px 2px #0000001f, 0 2px 6px 2px #00000014;--elev-3:0 4px 8px 3px #0000001a, 0 1px 3px #0000001f;--state-hover:color-mix(in srgb, var(--md-onSurface) 8%, transparent);--state-press:color-mix(in srgb, var(--md-onSurface) 12%, transparent);--u-ok:var(--md-primary);--u-warn:#7a5900;--u-error:var(--md-error);--u-unknown:var(--md-outline);--depth-0:var(--md-surface);--depth-1:color-mix(in srgb, var(--md-surfaceVariant) 45%, var(--md-surface));--depth-2:color-mix(in srgb, var(--md-surfaceVariant) 70%, var(--md-surface));--depth-3:var(--md-surfaceVariant);--z-sticky:100;--z-dropdown:200;--z-modal-backdrop:300;--z-modal:400;--z-toast:500}@media (prefers-color-scheme:dark){:root{--u-warn:#f5c518}}*{box-sizing:border-box}body{font:var(--body-l);background:var(--md-surface);color:var(--md-onSurface);-webkit-font-smoothing:antialiased;margin:0}.shell{min-height:100vh;display:flex}.rail{background:var(--md-surfaceContainer,#eeeef4);width:88px;padding:var(--sp-3) 0;align-items:center;gap:var(--sp-1);flex-direction:column;display:flex}.ritem{align-items:center;gap:var(--sp-1);color:var(--md-onSurfaceVariant);cursor:pointer;padding:var(--sp-1) 0;-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.ritem .ic{border-radius:var(--shape-lg);width:56px;height:32px;transition:background var(--dur-short) var(--ease-emph);justify-content:center;align-items:center;display:flex}.ritem:hover .ic{background:var(--state-hover)}.ritem.on .ic{background:var(--md-secondaryContainer);color:var(--md-onSecondaryContainer)}.ritem .lb{font:var(--label-s)}.main{flex:1;min-width:0}.appbar{padding:var(--sp-5) var(--sp-6) var(--sp-3);justify-content:space-between;align-items:center;display:flex}.appbar h1{font:var(--headline-s);letter-spacing:-.01em;margin:0}.content{padding:var(--sp-2) var(--sp-6) var(--sp-8)}.logout-btn{cursor:pointer;color:var(--md-onSurfaceVariant);padding:var(--sp-2);border-radius:var(--shape-full);transition:background var(--dur-short) var(--ease-emph);background:0 0;border:none;align-items:center;display:flex}.logout-btn:hover{background:var(--state-hover)}.btn{font:var(--label-l);border-radius:var(--shape-full);padding:10px var(--sp-5);cursor:pointer;transition:filter var(--dur-short) var(--ease-emph), background var(--dur-short) var(--ease-emph);border:none}.btn-filled{background:var(--md-primary);color:var(--md-onPrimary,#fff)}.btn-tonal{background:var(--md-secondaryContainer);color:var(--md-onSecondaryContainer)}.btn-text{color:var(--md-primary);padding:10px var(--sp-3);background:0 0}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:disabled{opacity:.4;cursor:default}.login-shell{background:var(--md-surface);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--md-surfaceContainer,#eeeef4);padding:var(--sp-8);border-radius:var(--shape-xl);min-width:320px;box-shadow:var(--elev-1)}.login-title{font:var(--title-l);margin:0 0 var(--sp-5);text-align:center}.login-form{gap:var(--sp-4);flex-direction:column;display:flex}.login-label{gap:var(--sp-2);font:var(--label-l);flex-direction:column;display:flex}.login-input{border:1px solid var(--md-outline);border-radius:var(--shape-xs);font:var(--body-l);background:var(--md-surface);color:var(--md-onSurface);outline:none;padding:12px 14px}.login-input:focus{border-color:var(--md-primary);border-width:2px}.login-btn{background:var(--md-primary);color:var(--md-onPrimary,#fff);border-radius:var(--shape-full);font:var(--label-l);cursor:pointer;border:none;padding:12px}.login-btn:disabled{opacity:.5;cursor:default}.login-error{color:var(--u-error);font:var(--body-m);text-align:center;margin:0}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
