:root{color-scheme:light;font-family:system-ui,-apple-system,sans-serif;line-height:1.5;color:#18181b;background:#f8fafc;--accent: #2563eb;--accent-soft: #eff6ff;--border: #e4e4e7;--muted: #71717a}*{box-sizing:border-box}body{margin:0}a{color:var(--accent)}.layout{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;gap:1rem;padding:.875rem 1.5rem;background:#fff;border-bottom:1px solid var(--border);color:#18181b}.header-title{margin:0;font-size:1.125rem;font-weight:600}.header-nav{display:flex;gap:.25rem;flex:1}.nav-link{padding:.375rem .75rem;border-radius:6px;color:#52525b;text-decoration:none;font-size:.875rem}.nav-link:hover{background:#f4f4f5;color:#18181b}.nav-link-active{background:var(--accent-soft);color:var(--accent);font-weight:500}.toolbar{padding:.5rem 1.5rem;background:#fff;border-bottom:1px solid var(--border)}.refresh-control{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.875rem}.refresh-label{display:flex;align-items:center;gap:.5rem}.refresh-updated{font-size:.8125rem}.main{padding:1.5rem;max-width:1100px;margin:0 auto;width:100%;flex:1}.card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.last-updated{font-size:.8125rem}.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.875rem;font-size:.875rem}.pagination-controls{display:flex;align-items:center;gap:.75rem}.card-footer-link{margin:.875rem 0 0;font-size:.875rem}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.875rem;background:#fff}.data-table thead th{text-align:left;padding:.5rem;border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#fafafa;white-space:nowrap}.data-table tbody td{padding:.625rem .5rem;border-bottom:1px solid var(--border);vertical-align:top}.data-table tbody tr:hover{background:#fafafa}.empty-state{padding:1.5rem 0;text-align:center}.form-actions{display:flex;gap:.5rem;align-items:center}.result-panel{margin:.875rem 0 0;padding:.625rem .75rem;background:var(--accent-soft);border:1px solid #dbeafe;border-radius:6px;font-size:.875rem}.confirm-panel{margin-top:.875rem;padding:.75rem .875rem;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;font-size:.875rem}.confirm-panel p{margin:0 0 .625rem}code{font-family:ui-monospace,monospace;font-size:.8125rem;background:#f4f4f5;padding:.05rem .3rem;border-radius:4px}.skeleton{display:flex;flex-direction:column;gap:.625rem;padding:.5rem 0}.skeleton-row{height:1rem;border-radius:4px;background:linear-gradient(90deg,#f1f1f3 25%,#e7e7ea 37%,#f1f1f3 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}.skeleton-row:nth-child(odd){width:90%}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.skeleton-row{animation:none}}.login-page{min-height:100vh;display:grid;place-items:center;background:#f8fafc}.login-card{width:min(360px,92vw);background:#fff;border:1px solid var(--border);border-radius:8px;padding:1.5rem;display:grid;gap:.75rem;box-shadow:0 1px 3px #0000000f}label{display:grid;gap:.25rem;font-size:.875rem}input,select{padding:.5rem .625rem;border:1px solid #d4d4d8;border-radius:6px;font:inherit;background:#fff}button{padding:.5rem .875rem;border:none;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer;font:inherit}button:disabled{opacity:.6;cursor:not-allowed}button.danger{background:#dc2626}.btn-secondary{background:#fff;color:#18181b;border:1px solid var(--border)}.btn-secondary:hover{background:#f4f4f5}.mono{font-family:ui-monospace,monospace;font-size:.8125rem}.muted{color:var(--muted)}.error{color:#dc2626;font-size:.8125rem}.form{display:grid;gap:.75rem;max-width:480px}.breadcrumb{display:inline-block;margin-bottom:1rem;font-size:.875rem}dl div{margin-bottom:.5rem}dt{font-size:.75rem;color:var(--muted)}dd{margin:0}.toast-list{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.5rem;max-width:360px}.toast{padding:.75rem 1rem;border-radius:8px;font-size:.875rem;box-shadow:0 4px 12px #0000001f}.toast-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.toast-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}h1{margin:0 0 1rem;font-size:1.5rem;font-weight:600}h2{margin:0 0 .75rem;font-size:1.125rem;font-weight:600}
