:root{--color-bg: #e8eef3;--color-bg-accent: #d4e0ea;--color-surface: #f7fafc;--color-ink: #1a2836;--color-ink-muted: #5a6b7a;--color-border: #c5d2de;--color-nav: #0f2744;--color-nav-text: #d6e2ef;--color-nav-active: #2a6f97;--color-accent: #1b6b4a;--color-accent-hover: #155539;--color-danger: #9b2c2c;--color-row-hover: #eef5fa;--font-sans: "DM Sans", system-ui, sans-serif;--font-display: "Source Serif 4", Georgia, serif;--nav-width: 240px;--radius: 6px;--shadow: 0 1px 3px rgba(15, 39, 68, .08)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--color-ink);background:radial-gradient(ellipse 80% 50% at 10% 0%,rgba(42,111,151,.12),transparent),linear-gradient(160deg,var(--color-bg) 0%,var(--color-bg-accent) 100%);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--font-display);font-weight:650;margin:0}.app-shell{display:flex;min-height:100%}.nav{width:var(--nav-width);flex-shrink:0;background:var(--color-nav);color:var(--color-nav-text);display:flex;flex-direction:column;padding:1.25rem 0;position:sticky;top:0;height:100vh;z-index:20}.nav-brand{padding:0 1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:1rem}.nav-brand-name{font-family:var(--font-display);font-size:1.35rem;color:#fff;letter-spacing:-.02em}.nav-brand-sub{font-size:.75rem;opacity:.65;margin-top:.25rem}.nav-section-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;opacity:.5;padding:.75rem 1.25rem .35rem}.nav-link{display:block;padding:.55rem 1.25rem;color:var(--color-nav-text);border-left:3px solid transparent;transition:background .15s ease,border-color .15s ease}.nav-link:hover{background:#ffffff0f}.nav-link.active{background:#2a6f9759;border-left-color:var(--color-nav-active);color:#fff}.nav-toggle{display:none;position:fixed;top:.75rem;left:.75rem;z-index:30;background:var(--color-nav);color:#fff;border:none;border-radius:var(--radius);padding:.5rem .75rem}.main{flex:1;min-width:0;padding:1.5rem 1.75rem 2.5rem}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-header h1{font-size:1.75rem;letter-spacing:-.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1rem;border-radius:var(--radius);border:1px solid transparent;font-weight:600;font-size:.9rem;transition:background .15s ease,border-color .15s ease}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-row-hover)}.btn-ghost{background:transparent;border-color:var(--color-border)}.btn-danger-ghost{background:transparent;border:none;color:var(--color-danger);padding:.35rem .5rem}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.toolbar .search-input{flex:1;min-width:180px;max-width:420px}.field-control,.search-input,.select-control{width:100%;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff}.field-control:focus,.search-input:focus,.select-control:focus,textarea.field-control:focus{outline:2px solid rgba(27,107,74,.35);outline-offset:1px;border-color:var(--color-accent)}.select-control{width:auto;min-width:5rem}.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table th{background:#edf2f7;font-weight:600;-webkit-user-select:none;user-select:none}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{background:#e2eaf2}.data-table th .sort-ind{margin-left:.35rem;opacity:.55;font-size:.75rem}.data-table tbody tr{cursor:pointer;transition:background .12s ease}.data-table tbody tr:hover{background:var(--color-row-hover)}.data-table tbody tr:last-child td{border-bottom:none}.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;font-size:.875rem;color:var(--color-ink-muted)}.pagination-controls{display:flex;align-items:center;gap:.5rem}.form-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.35rem 1.5rem;margin-bottom:1.25rem}.form-section h2{font-size:1.15rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem}.form-grid .full-width{grid-column:1 / -1}.field-label{display:block;font-size:.8rem;font-weight:600;margin-bottom:.35rem;color:var(--color-ink-muted)}.field-label .required{color:var(--color-danger);margin-left:.15rem}textarea.field-control{min-height:7rem;resize:vertical;max-height:16rem}.form-meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;color:var(--color-ink-muted);font-size:.9rem}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.social-row{display:grid;grid-template-columns:minmax(140px,200px) 1fr auto;gap:.75rem;align-items:end;margin-bottom:.75rem}.muted{color:var(--color-ink-muted);font-size:.875rem}.error-banner{background:#fde8e8;border:1px solid #f5b5b5;color:var(--color-danger);padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem}.loading{padding:2rem;text-align:center;color:var(--color-ink-muted)}.nav-backdrop{display:none}@media(max-width:768px){.nav-toggle{display:block}.nav{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .2s ease;box-shadow:4px 0 24px #00000040}.nav.open{transform:translate(0)}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f274466;z-index:15}.main{padding:3.5rem 1rem 2rem}.form-grid,.form-meta,.social-row{grid-template-columns:1fr}.hide-mobile{display:none!important}}
