:root{--color-primary:#4361ee;--color-primary-dark:#3a52d4;--color-primary-soft:#eef1fe;--color-accent:#7048e8;--gradient-brand:linear-gradient(120deg,#4361ee,#7048e8);--color-bg:#f3f5fb;--color-surface:#fff;--color-surface-2:#fafbff;--color-surface-hover:#f7f8fc;--color-border:#e6e9f4;--color-text:#283044;--color-text-muted:#7a86a8;--color-link:#56638c;--color-success:#2f9e6f;--color-danger:#e0445b;--color-warning:#e0a23b;--sidebar-width:250px;--topbar-height:64px;--radius:12px;--shadow-sm:0 1px 3px #141e460f;--shadow-md:0 6px 20px #24326e12}:root[data-theme=dark]{--color-primary:#5b7bff;--color-primary-dark:#4361ee;--color-primary-soft:#1e2747;--color-accent:#9777f5;--gradient-brand:linear-gradient(120deg,#5b7bff,#9777f5);--color-bg:#0f1320;--color-surface:#171c2c;--color-surface-2:#1d2336;--color-surface-hover:#222942;--color-border:#2a3149;--color-text:#e6e9f4;--color-text-muted:#9aa6c8;--color-link:#aab6dc;--color-success:#3fc08a;--color-danger:#f06a7e;--color-warning:#eab559;--shadow-sm:0 1px 3px #0006;--shadow-md:0 8px 24px #00000073}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--color-bg);color:var(--color-text);font-size:14px;line-height:1.5}a{color:var(--color-primary);text-decoration:none}h1,h2,h3,h4{margin:0 0 .5rem;font-weight:600}.btn{display:inline-flex;align-items:center;grid-gap:.4rem;gap:.4rem;border:1px solid #0000;border-radius:8px;padding:.55rem 1rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s ease,box-shadow .15s ease;background:var(--color-surface);color:var(--color-text)}.btn-primary{background:var(--gradient-brand);color:#fff;box-shadow:0 4px 12px #4361ee40}.btn-primary:hover{filter:brightness(1.05);box-shadow:0 6px 16px #4361ee52}.btn-outline{background:var(--color-surface);border-color:var(--color-border);color:var(--color-link)}.btn-outline:hover{background:var(--color-surface-hover)}.card{border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.5rem}.card,.form-control{background:var(--color-surface)}.form-control{width:100%;padding:.5rem .7rem;border:1px solid var(--color-border);border-radius:8px;font-size:.85rem;color:var(--color-text)}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4361ee24}.table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.table{width:100%;border-collapse:collapse;font-size:.85rem;background:var(--color-surface)}.table td,.table th{padding:.7rem .9rem;text-align:left;white-space:nowrap}.table thead th{color:var(--color-text-muted);font-weight:600;border-bottom:1px solid var(--color-border);background:var(--color-surface-2)}.table tbody tr+tr td{border-top:1px solid var(--color-border)}.table tbody tr:hover td{background:var(--color-surface-hover)}.table__empty{text-align:center;color:var(--color-text-muted);padding:1.5rem}.badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--color-primary-soft);color:var(--color-primary)}.field{display:flex;flex-direction:column;grid-gap:.3rem;gap:.3rem;margin-bottom:1rem}.field>label{font-size:.8rem;font-weight:600;color:var(--color-text)}.field__error{font-size:.75rem;color:var(--color-danger)}.grid{display:grid;grid-gap:0 1rem;gap:0 1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;grid-gap:1rem;gap:1rem}.page-head h1{font-size:1.4rem;margin:0}.link-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.85rem;padding:0}.table-wrap{-webkit-overflow-scrolling:touch}@media (max-width: 768px){.card{padding:1rem}.page-head{flex-wrap:wrap}.page-head h1{font-size:1.2rem}.form-control{font-size:16px}.btn{padding:.6rem 1rem}.table{font-size:.8rem}.table td,.table th{padding:.55rem .65rem}.grid{grid-template-columns:1fr}}@media (max-width: 480px){.field{margin-bottom:.75rem}}@media print{.no-print,.sidebar,.topbar{display:none!important}.layout.collapsed .layout__main,.layout__main{margin-left:0!important}.layout__content{padding:0!important}.card{box-shadow:none!important}.table-wrap{overflow:visible!important;border:none!important}.table{font-size:.7rem}}