:root{--admin-blue: #063797;--admin-blue-dark: #042a70;--admin-blue-soft: #d9e3f2;--brand-primary: #e30613;--success-green: #16a34a;--danger-red: #dc2626;--badge-red: #ea4335;--background: #f3f5fa;--surface: #ffffff;--text-primary: #1d2327;--text-secondary: #6b7280;--border: #e6e8ef;--section-title-bg: #e8f5e9;--title-home-yellow: #f5c518;--sidebar-width: 260px;--topbar-height: 56px;--radius: 10px;--shadow: 0 1px 3px rgba(29, 35, 39, .08);font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--text-primary);background:var(--background)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--background);color:var(--text-primary)}body{line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}.page{padding:1.25rem;max-width:1200px}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.page-header h1{font-size:1.35rem;font-weight:700}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:8px;padding:.65rem 1.1rem;font-weight:600;transition:background .15s ease,opacity .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--admin-blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--admin-blue-dark)}.btn-danger{background:var(--brand-primary);color:#fff}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.field label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.field input,.field textarea,.search-input{width:100%;border:1px solid var(--border);border-radius:8px;padding:.65rem .8rem;background:var(--surface);color:var(--text-primary)}.field input:focus,.field textarea:focus,.search-input:focus{outline:2px solid var(--admin-blue-soft);border-color:var(--admin-blue)}.error-banner{background:#fef2f2;color:var(--danger-red);border:1px solid #fecaca;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem}.success-banner{background:#f0fdf4;color:var(--success-green);border:1px solid #bbf7d0;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem}.skeleton{background:linear-gradient(90deg,#eceff5 25%,#f7f8fb,#eceff5 75%);background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:8px;min-height:1rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{color:var(--text-secondary);padding:1.5rem;text-align:center}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem}.hub-card{padding:1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:flex;flex-direction:column;gap:.35rem;transition:border-color .15s ease,box-shadow .15s ease}.hub-card:hover{border-color:var(--admin-blue-soft);box-shadow:var(--shadow)}.hub-card .hub-label{font-weight:700}.hub-card .hub-sub{font-size:.85rem;color:var(--text-secondary)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem}.stat-tile .value{font-size:1.35rem;font-weight:700;color:var(--admin-blue)}.stat-tile .label{font-size:.78rem;color:var(--text-secondary);margin-top:.2rem}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.92rem}.data-table th,.data-table td{text-align:left;padding:.75rem .9rem;border-bottom:1px solid var(--border);vertical-align:top}.data-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);background:#fafbfd}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600;background:var(--admin-blue-soft);color:var(--admin-blue)}.badge-success{background:#dcfce7;color:var(--success-green)}.badge-danger{background:#fee2e2;color:var(--danger-red)}.badge-warn{background:#fef9c3;color:#854d0e}.list-card{padding:.9rem 1rem;border-bottom:1px solid var(--border)}.list-card:last-child{border-bottom:none}.muted{color:var(--text-secondary);font-size:.85rem}
