:root{--md-primary: #AD57A2;--md-on-primary: #FFFFFF;--md-primary-container: #FFD7F2;--md-on-primary-container: #390035;--md-secondary: #6D5869;--md-on-secondary: #FFFFFF;--md-secondary-container: #F6DAEF;--md-on-secondary-container: #261624;--md-surface: #FFF7FA;--md-surface-dim: #E2D7DD;--md-surface-container-lowest: #FFFFFF;--md-surface-container-low: #FCF0F5;--md-surface-container: #F6EAEF;--md-surface-container-high: #F0E4E9;--md-surface-container-highest: #EADFE4;--md-on-surface: #201A1E;--md-on-surface-variant: #4F444C;--md-outline: #81737D;--md-outline-variant: #D2C2CC;--md-error: #BA1A1A;--md-on-error: #FFFFFF;--md-error-container: #FFDAD6;--md-success: #1B6B3C;--md-r-xs: 4px;--md-r-s: 8px;--md-r-m: 12px;--md-r-l: 16px;--md-r-xl: 28px;--md-r-full: 9999px;--md-spring: cubic-bezier(.34, 1.56, .64, 1);--md-standard: cubic-bezier(.2, 0, 0, 1);--md-elevation-1: 0 1px 2px rgba(0,0,0,.3), 0 1px 3px 1px rgba(0,0,0,.15);--md-elevation-2: 0 1px 2px rgba(0,0,0,.3), 0 2px 6px 2px rgba(0,0,0,.15);--md-elevation-3: 0 4px 8px 3px rgba(0,0,0,.15), 0 1px 3px rgba(0,0,0,.3);font-family:Segoe UI,system-ui,Roboto,sans-serif;color:var(--md-on-surface);background:var(--md-surface)}*{box-sizing:border-box}body{margin:0;background:var(--md-surface);color:var(--md-on-surface)}h1{font-size:28px;font-weight:600;margin:0 0 4px}h2{font-size:20px;font-weight:600;margin:0 0 8px}h3{font-size:16px;font-weight:600;margin:0 0 4px}p{line-height:1.5}a{color:var(--md-primary)}.btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:var(--md-r-full);padding:10px 24px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;background:var(--md-primary);color:var(--md-on-primary);transition:transform .25s var(--md-spring),box-shadow .25s var(--md-standard),background .15s var(--md-standard),border-radius .25s var(--md-spring)}.btn:hover:not(:disabled){transform:scale(1.04);box-shadow:var(--md-elevation-1)}.btn:active:not(:disabled){transform:scale(.97);border-radius:var(--md-r-m)}.btn:disabled{opacity:.38;cursor:default}.btn.tonal{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}.btn.outlined{background:transparent;color:var(--md-primary);border:1px solid var(--md-outline)}.btn.text{background:transparent;color:var(--md-primary);padding:10px 12px}.btn.danger{background:var(--md-error-container);color:var(--md-error)}.btn.small{padding:6px 16px;font-size:13px}.btn.icon{padding:8px;border-radius:var(--md-r-full);background:transparent;color:var(--md-on-surface-variant)}.btn.icon:hover{background:var(--md-surface-container-high)}.card{background:var(--md-surface-container-low);border-radius:var(--md-r-l);padding:20px}.card.elevated{background:var(--md-surface-container-lowest);box-shadow:var(--md-elevation-1)}.card.highlight{background:var(--md-primary-container);color:var(--md-on-primary-container)}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:12px;font-weight:600;color:var(--md-on-surface-variant)}.field input,.field select,.field textarea{font:inherit;font-size:14px;color:var(--md-on-surface);background:var(--md-surface-container-lowest);border:1px solid var(--md-outline-variant);border-radius:var(--md-r-m);padding:10px 14px;transition:border-color .15s var(--md-standard),box-shadow .15s var(--md-standard)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--md-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--md-primary) 25%,transparent)}.field input[type=color]{padding:4px;height:42px;width:64px;cursor:pointer}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px}.switch input{display:none}.switch .track{width:46px;height:26px;border-radius:var(--md-r-full);background:var(--md-surface-container-highest);border:2px solid var(--md-outline);transition:background .2s var(--md-standard),border-color .2s var(--md-standard);flex-shrink:0}.switch .track:after{content:"";display:block;width:14px;height:14px;margin:4px;border-radius:50%;background:var(--md-outline);transition:transform .3s var(--md-spring),width .3s var(--md-spring),height .3s var(--md-spring),margin .3s var(--md-spring),background .2s}.switch input:checked+.track{background:var(--md-primary);border-color:var(--md-primary)}.switch input:checked+.track:after{background:var(--md-on-primary);transform:translate(20px);width:18px;height:18px;margin:2px}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:var(--md-r-s);border:1px solid var(--md-outline-variant);background:transparent;padding:6px 12px;font-size:13px;font-family:inherit;cursor:pointer;transition:background .15s,transform .2s var(--md-spring)}.chip:hover{transform:scale(1.05)}.chip.selected{background:var(--md-secondary-container);color:var(--md-on-secondary-container);border-color:transparent}.chip img{width:18px;height:18px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:12px;color:var(--md-on-surface-variant);padding:10px 12px;border-bottom:1px solid var(--md-outline-variant)}.table td{padding:12px;border-bottom:1px solid var(--md-surface-container-high)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--md-surface-container)}.dialog-backdrop{position:fixed;inset:0;z-index:50;background:#201a1e66;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s var(--md-standard)}.dialog{background:var(--md-surface-container-low);border-radius:var(--md-r-xl);padding:24px;min-width:320px;max-width:min(560px,92vw);max-height:88vh;overflow-y:auto;box-shadow:var(--md-elevation-3);animation:springIn .35s var(--md-spring)}@keyframes fadeIn{0%{opacity:0}}@keyframes springIn{0%{transform:scale(.9);opacity:0}}.snackbar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:100;background:var(--md-on-surface);color:var(--md-surface);border-radius:var(--md-r-m);padding:12px 20px;font-size:14px;box-shadow:var(--md-elevation-2);animation:springUp .4s var(--md-spring)}.snackbar.error{background:var(--md-error);color:var(--md-on-error)}@keyframes springUp{0%{transform:translate(-50%,80px);opacity:0}}.app-shell{display:flex;min-height:100vh}.sidenav{width:240px;flex-shrink:0;background:var(--md-surface-container-low);padding:16px 12px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}.sidenav .brand{display:flex;align-items:center;gap:10px;padding:8px 16px 20px;font-weight:700;font-size:18px}.sidenav .brand img{width:32px;height:32px}.sidenav a.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--md-r-full);color:var(--md-on-surface-variant);text-decoration:none;font-size:14px;font-weight:500;transition:background .15s,transform .2s var(--md-spring)}.sidenav a.nav-item:hover{background:var(--md-surface-container-high);transform:translate(2px)}.sidenav a.nav-item.active{background:var(--md-secondary-container);color:var(--md-on-secondary-container);font-weight:600}.sidenav .spacer{flex:1}.main-content{flex:1;padding:28px 32px 60px;max-width:1100px}.row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.stack{display:flex;flex-direction:column;gap:16px}@media(max-width:760px){.app-shell{flex-direction:column}.sidenav{width:100%;height:auto;position:static;flex-direction:row;overflow-x:auto}.sidenav .brand{padding:8px}.sidenav a.nav-item{white-space:nowrap}.sidenav .spacer,.sidenav .signout-label{display:none}.main-content{padding:16px}}
