:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bg-app:#f8fafc;--card-bg:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border-color:#e2e8f0;--primary:#2563eb;--primary-hover:#1d4ed8;--danger:#ef4444;--danger-hover:#dc2626;--success:#16a34a;--warning:#d97706;--surface-subtle:#f8fafc;--focus-ring:#2563eb40;--shadow-card:0 1px 2px #0f172a0a, 0 3px 8px #0f172a08}*{box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.button{cursor:pointer;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;min-height:2.5rem;padding:.5rem .875rem;font-size:.875rem;font-weight:600;line-height:1.25;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s;display:inline-flex}.button-primary{background:var(--primary);color:#fff;box-shadow:0 1px 2px #2563eb33}.button-primary:hover{background:var(--primary-hover)}.button-secondary{color:var(--text-primary);border-color:var(--border-color);background:#fff}.button-secondary:hover{background:var(--surface-subtle);border-color:#cbd5e1}.app-header{z-index:20;border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;position:sticky;top:0}.app-header-inner{align-items:center;gap:2rem;width:min(100%,1380px);min-height:4rem;margin:0 auto;padding:0 2rem;display:flex}.brand{color:#1d4ed8;letter-spacing:-.025em;flex:none;align-items:center;gap:.625rem;font-size:1.05rem;font-weight:750;display:inline-flex}.brand-mark{color:#fff;letter-spacing:-.04em;background:#2563eb;border-radius:.5rem;place-items:center;width:1.75rem;height:1.75rem;font-size:.75rem;font-weight:800;display:grid}.app-nav{scrollbar-width:none;align-items:center;gap:.2rem;min-width:0;display:flex;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.app-nav-link{min-height:2.25rem;color:var(--text-secondary);white-space:nowrap;border-radius:.425rem;align-items:center;gap:.4rem;padding:.45rem .65rem;font-size:.8125rem;font-weight:600;display:inline-flex}.app-nav-link:hover{background:var(--surface-subtle);color:var(--text-primary)}.app-nav-link.is-active{color:#1d4ed8;background:#eff6ff}.account-area{flex:none;margin-left:auto}.app-main{flex:1;width:min(100%,1380px);margin:0 auto;padding:2rem}.dashboard-page{flex-direction:column;gap:1.5rem;display:flex}.dashboard-layout{grid-template-columns:minmax(0,1.45fr) minmax(19rem,.9fr);align-items:start;gap:1.5rem;display:grid}.error-state{color:#991b1b;background:#fff7f7;border:1px solid #fecaca;border-radius:.625rem;align-items:center;gap:.875rem;padding:1rem;display:flex}.error-state .state-icon{background:#fee2e2;border-radius:999px;flex:none;place-items:center;width:2rem;height:2rem;font-weight:800;display:grid}.error-state h2{color:#7f1d1d;margin:0;font-size:.9375rem}.error-state p{margin:.2rem 0 0;font-size:.8125rem}.error-state .button{white-space:nowrap;margin-left:auto}.page-skeleton{flex-direction:column;gap:1rem;padding:.25rem 0;display:flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#f8fafc 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:.5rem;animation:1.4s infinite skeleton-loading}.skeleton-title{width:min(14rem,55%);height:2rem}.skeleton-copy{width:min(24rem,80%);height:1rem}.skeleton-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:.5rem;display:grid}.skeleton-card{height:7rem}.skeleton-panel{height:20rem;margin-top:.5rem}@keyframes skeleton-loading{to{background-position:-200% 0}}@media (max-width:700px){.app-header-inner{gap:.75rem;min-height:3.75rem;padding:0 1rem}.brand{font-size:.95rem}.brand-mark{width:1.55rem;height:1.55rem}.app-nav-link{padding:.4rem .5rem}.app-nav-link span{display:none}.app-main{padding:1.25rem 1rem}.dashboard-layout{grid-template-columns:minmax(0,1fr)}.skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.error-state{flex-wrap:wrap;align-items:flex-start}.error-state .button{margin-left:2.875rem}}
