:root{--ink: #1a1a2e;--cream: #faf7f2;--mist: #e8e4dd;--sage: #7a9e7e;--sage-light: #a8c5ab;--gold: #d4a853;--terracotta: #c8714a;--deep: #0f0f1a;--white: #ffffff;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--shadow-sm: 0 2px 8px rgba(26,26,46,.06);--shadow-md: 0 4px 24px rgba(26,26,46,.1);--shadow-lg: 0 8px 48px rgba(26,26,46,.14)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--cream);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-body)}input,textarea,select{font-family:var(--font-body)}.container{max-width:1100px;margin:0 auto;padding:0 24px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-md);font-size:15px;font-weight:500;border:none;transition:all .2s ease;white-space:nowrap}.btn-primary{background:var(--sage);color:#fff}.btn-primary:hover{background:#6a8e6e;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--mist)}.btn-outline:hover{border-color:var(--sage);color:var(--sage)}.btn-ghost{background:transparent;color:var(--ink);padding:10px 16px}.btn-ghost:hover{color:var(--sage)}.btn-danger{background:#fee2e2;color:#dc2626}.btn-danger:hover{background:#fecaca}.card{background:var(--white);border:1px solid var(--mist);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:500;color:#666;letter-spacing:.3px}.form-input{padding:12px 16px;border:1.5px solid var(--mist);border-radius:var(--radius-md);font-size:15px;color:var(--ink);background:var(--cream);transition:border-color .2s;outline:none}.form-input:focus{border-color:var(--sage);background:#fff}.form-input::placeholder{color:#bbb}.form-select{padding:12px 16px;border:1.5px solid var(--mist);border-radius:var(--radius-md);font-size:15px;color:var(--ink);background:var(--cream);transition:border-color .2s;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.form-select:focus{border-color:var(--sage)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500}.badge-green{background:#7a9e7e1f;color:var(--sage)}.badge-gold{background:#d4a8531f;color:var(--gold)}.badge-orange{background:#c8714a1f;color:var(--terracotta)}.badge-gray{background:var(--mist);color:#888}.spinner{width:32px;height:32px;border:3px solid var(--mist);border-top-color:var(--sage);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--cream)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .6s ease both}.fade-up-1{animation-delay:.1s}.fade-up-2{animation-delay:.2s}.fade-up-3{animation-delay:.3s}.fade-up-4{animation-delay:.4s}.toast{position:fixed;bottom:24px;right:24px;padding:14px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;box-shadow:var(--shadow-lg);z-index:1000;animation:slideIn .3s ease}.toast-success{background:var(--ink);color:#fff}.toast-error{background:#dc2626;color:#fff}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--mist)}table{width:100%;border-collapse:collapse;font-size:14px}thead{background:var(--cream)}th{padding:12px 16px;text-align:left;font-weight:500;font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:#888;border-bottom:1px solid var(--mist)}td{padding:14px 16px;border-bottom:1px solid var(--mist);color:var(--ink);vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr:hover{background:#7a9e7e08}.empty-state{text-align:center;padding:64px 24px;color:#aaa}.empty-state-icon{font-size:48px;margin-bottom:16px}.empty-state h3{font-family:var(--font-display);font-size:20px;color:#888;margin-bottom:8px}.empty-state p{font-size:14px;line-height:1.7;max-width:280px;margin:0 auto}
