:root{--color-bg: #ffffff;--color-bg-secondary: #f8f8f8;--color-bg-card: #ffffff;--color-text: #212121;--color-text-muted: #757575;--color-primary: #009688;--color-primary-hover: #00897b;--color-secondary: #e0e0e0;--color-border: #c4c4c4;--color-success: #00897b;--color-error: #ef476f;--color-warning: #ffd166;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Playfair Display", Georgia, serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--shadow-glow: 0 0 24px rgba(0, 150, 136, .08)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:0 24px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.2}h1{font-size:3rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}button{font-family:var(--font-body);font-size:.95rem}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary.btn-sm{padding:10px 20px;font-size:.9rem}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:var(--color-secondary);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--color-bg-secondary);border-color:var(--color-text-muted)}.btn-secondary.btn-sm{padding:10px 20px;font-size:.9rem}.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;color:var(--color-text-muted);border:none;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s}.btn-ghost:hover{color:var(--color-text);background:var(--color-bg-secondary)}.btn-ghost.btn-sm{padding:8px 12px}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:32px;box-shadow:0 1px 3px #0000000f}.card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--color-border)}.card-header h2{font-size:1.5rem;margin-bottom:4px}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--color-text)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:14px 18px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-body);font-size:1rem;transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00968826}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 640px){.form-row{grid-template-columns:1fr}}.file-upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:var(--color-bg-secondary);border:2px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-align:center}.file-upload:hover{border-color:var(--color-primary);background:#0096880d}.file-upload input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-upload svg{color:var(--color-text-muted);margin-bottom:12px}.file-upload p{color:var(--color-text-muted)}.file-upload .filename{color:var(--color-primary);font-weight:500}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:50px;font-size:.85rem;font-weight:500}.badge-pending{background:#ffd1661a;border:1px solid rgba(255,209,102,.3);color:var(--color-warning)}.badge-approved{background:#06d6a01a;border:1px solid rgba(6,214,160,.3);color:var(--color-success)}.badge-rejected{background:#ef476f1a;border:1px solid rgba(239,71,111,.3);color:var(--color-error)}.badge-active{background:#06d6a01a;border:1px solid rgba(6,214,160,.3);color:var(--color-success)}.badge-inactive{background:#8888881a;border:1px solid rgba(136,136,136,.3);color:var(--color-text-muted)}.toggle{width:44px;height:24px;background:#ccc;border-radius:12px;position:relative;transition:all .2s}.toggle:after{content:"";position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:3px;left:3px;transition:all .2s}.toggle.active{background:var(--color-primary)}.toggle.active:after{left:23px}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-muted)}.empty-state svg{margin-bottom:20px;opacity:.5}.empty-state p{margin-bottom:24px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease;box-shadow:0 10px 40px #0000001f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background:var(--color-primary);color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
