:root{--color-bg:#f5f6f8;--color-surface:#fff;--color-border:#e2e5e9;--color-text:#1c1f24;--color-text-muted:#6b7280;--color-primary:#1f5f4d;--color-primary-hover:#164539;--color-primary-soft:#eaf3f0;--color-danger:#b3261e;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--font-size-page-title:22px;--font-size-section-title:13px;--font-size-card-value:26px;--font-size-body:14px;--font-size-small:13px;--font-size-label:12px;--shadow-sm:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);--shadow-md:0 4px 14px rgba(16,24,40,.1)}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:inherit}button{font-family:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius);border:1px solid transparent;font-size:var(--font-size-body);font-weight:600;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card-clickable{cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease;text-decoration:none;display:block}.card-clickable:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary);transform:translateY(-1px)}.input,select.input,textarea.input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-body);background:#fff;color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.input:focus,select.input:focus,textarea.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field label{font-size:var(--font-size-small);font-weight:600;color:var(--color-text-muted)}.field-error{color:var(--color-danger);font-size:var(--font-size-label)}table{width:100%;border-collapse:collapse;font-size:var(--font-size-body)}td,th{text-align:left;padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border)}th{color:var(--color-text-muted);font-weight:600;font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:.02em}tbody tr{transition:background-color .12s ease}tbody tr:hover{background:var(--color-bg)}.badge{display:inline-block;padding:2px var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-label);font-weight:600;background:#eef2f1;color:var(--color-primary)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.page-header h1{font-size:var(--font-size-page-title);font-weight:700;margin:0}.section-title{font-size:var(--font-size-section-title);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-3)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.skeleton{background:#e4e7eb;border-radius:var(--radius-sm);animation:skeleton-pulse 1.4s ease-in-out infinite}@media print{aside,header{display:none!important}main{padding:0!important}}