:root{--font-sans:Lato,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-serif:Lora,Georgia,serif;--color-text-primary:#1e293b;--color-text-secondary:#64748b;--color-surface:#fff;--color-background:#f8fafc;--color-border:#e2e8f0;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-accent:#f59e0b;--color-success:#166534;--color-warning-bg:#fffbeb;--shadow-card:0 1px 2px rgba(30,41,59,.08);--radius-md:12px;--radius-sm:8px;--topbar-height:56px;--bottom-nav-height:64px;--drawer-width:272px}*{box-sizing:border-box}#__nuxt,body,html{margin:0;min-height:100%}body{background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-sans);line-height:1.5}a{color:var(--color-primary)}a:hover{color:var(--color-primary-hover)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-topbar{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;gap:.75rem;height:var(--topbar-height);left:0;padding:0 1rem;position:fixed;right:0;top:0;z-index:100}.topbar-menu{background:none;border:none;color:var(--color-text-primary);cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:5px;padding:.5rem .25rem}.menu-bar{background:currentColor;border-radius:1px;display:block;height:2px;width:20px}.topbar-title{flex:1;font-size:1rem;font-weight:600}.topbar-org,.topbar-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-org{color:var(--color-text-secondary);flex-shrink:0;font-size:.8rem;max-width:130px}.app-content{flex:1;margin-top:var(--topbar-height);padding:1rem 1rem calc(var(--bottom-nav-height) + 1rem)}.bottom-nav{background:var(--color-surface);border-top:1px solid var(--color-border);bottom:0;display:flex;height:var(--bottom-nav-height);left:0;position:fixed;right:0;z-index:100}.bottom-nav-item{align-items:center;color:var(--color-text-secondary);display:flex;flex:1;flex-direction:column;font-size:.68rem;font-weight:500;gap:3px;justify-content:center;padding-bottom:env(safe-area-inset-bottom,0);text-decoration:none;transition:color .15s}.bottom-nav-item.router-link-active,.bottom-nav-item:hover{color:var(--color-primary)}.nav-icon{flex-shrink:0;height:22px;width:22px}.drawer-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0f172a40;inset:0;position:fixed;z-index:199}.app-drawer{background:var(--color-surface);border-right:1px solid var(--color-border);bottom:0;display:flex;flex-direction:column;left:0;position:fixed;top:0;transform:translate(-100%);transition:transform .22s ease;width:var(--drawer-width);z-index:200}.app-drawer.drawer-open{transform:translate(0)}.drawer-header{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:1rem 1rem .75rem}.drawer-brand{color:var(--color-text-secondary);font-size:.7rem;font-weight:700;letter-spacing:.06em;margin-bottom:.2rem;text-transform:uppercase}.drawer-org{color:var(--color-text-primary);font-size:.95rem;font-weight:600;line-height:1.3}.drawer-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;font-size:1.1rem;line-height:1;margin-top:.1rem;padding:.25rem}.drawer-nav{flex:1;overflow-y:auto;padding:.75rem .5rem}.drawer-section-label{color:var(--color-text-secondary);font-size:.7rem;font-weight:700;letter-spacing:.06em;margin:0 0 .4rem;padding:0 .5rem;text-transform:uppercase}.drawer-nav a{border-radius:var(--radius-sm);color:var(--color-text-primary);display:block;font-size:.9rem;padding:.6rem .75rem;text-decoration:none}.drawer-nav a:hover{background:var(--color-background);color:var(--color-text-primary)}.drawer-nav a.router-link-active{background:#2563eb14;color:var(--color-primary);font-weight:600}.drawer-footer{border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.4rem;padding:.75rem 1rem}.drawer-footer-link{color:var(--color-text-secondary);display:block;font-size:.875rem;padding:.5rem .25rem;text-decoration:none}.drawer-footer-link:hover{color:var(--color-primary)}.drawer-signout{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font:inherit;font-size:.875rem;padding:.5rem;text-align:left;width:100%}.drawer-signout:hover{background:var(--color-background);color:var(--color-text-primary)}@media(min-width:768px){.app-shell{flex-direction:row}.app-drawer{flex-shrink:0;height:100vh;position:sticky;top:0;transform:translate(0)}.drawer-close,.drawer-overlay,.topbar-menu{display:none}.app-body{display:flex;flex:1;flex-direction:column;min-width:0}.app-topbar{left:auto;position:sticky;right:auto}.app-content{margin-top:0;padding-bottom:2rem}.bottom-nav{display:none}}.panel-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:1rem}.panel h2,.panel h3{font-size:1rem;margin:0 0 .5rem}.panel label,.panel li,.panel p,.panel td,.panel th{color:var(--color-text-secondary)}.stack{display:grid;gap:1rem}.button-link,button{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;font:inherit;padding:.55rem .85rem;text-decoration:none}.button-link:hover,button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}button.secondary{background:transparent;color:var(--color-primary)}.status-badge{align-items:center;border:1px solid var(--color-border);border-radius:999px;display:inline-flex;font-size:.78rem;gap:.3rem;padding:.2rem .6rem}.status-success{background:#16653414;border-color:#16653433;color:var(--color-success)}.status-warning{background:var(--color-warning-bg);border-color:#f59e0b4d;color:#92400e}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--color-border);padding:.6rem;text-align:left}input,select,textarea{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font:inherit;padding:.55rem .65rem;width:100%}.form-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.note{color:var(--color-text-secondary);font-size:.9rem;margin:0}.notice{background:var(--color-warning-bg);border-left:4px solid var(--color-accent);color:var(--color-text-primary);padding:.75rem}
