@charset "UTF-8";:root{--color-primary: #5a1d40;--color-primary-dark: #2a0f21;--color-primary-darker: #1a0814;--color-primary-light: #f5e9f0;--color-accent-lavender: #f4eef8;--color-accent-lavender-deep: #eaddf1;--color-text: #414651;--color-text-muted: #717680;--color-text-faint: #a4a7ae;--color-border: #d5d7da;--color-border-strong: #d8d2db;--color-bg: #ffffff;--color-bg-soft: #faf8fa;--color-bg-tint: #fbf6f4;--color-danger: #d92d20;--color-danger-bg: #fdecea;--color-success: #4d8c52;--color-success-bg: #eaf4eb;--color-warning: #b7791f;--color-warning-bg: #fdf3e2;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--shell-sidebar-width: 240px;--shell-topbar-height: 68px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-card: 0 1px 2px rgba(20, 10, 20, .04), 0 4px 16px rgba(20, 10, 20, .06)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);font-size:14px;color:var(--color-text);background:var(--color-bg-soft);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;margin:0 0 4px;color:var(--color-text)}p{margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.field__label{font-size:13px;font-weight:500;color:var(--color-text)}.field__hint{font-size:12px;color:var(--color-text-muted)}.field__error{font-size:12px;color:var(--color-danger)}.field__hint--success{color:var(--color-success);font-weight:500}.input,.select,.textarea{width:100%;padding:11px 14px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:14px;color:var(--color-text);background:var(--color-bg);outline:none;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit}.textarea{resize:vertical;min-height:80px}.input::placeholder,.textarea::placeholder{color:var(--color-text-faint)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input.is-invalid{border-color:var(--color-danger)}.checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-muted)}.checkbox input{width:16px;height:16px;accent-color:var(--color-primary-dark)}.radio-group{display:flex;flex-wrap:wrap;gap:18px}.radio{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text);cursor:pointer}.radio input{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:opacity .15s ease,background-color .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:#fff;width:100%}.btn--primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn--outline{background:transparent;border-color:var(--color-border-strong);color:var(--color-text)}.btn--outline:hover:not(:disabled){background:var(--color-bg-soft)}.btn--success{background:var(--color-success);color:#fff}.btn--success:hover:not(:disabled){opacity:.9}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){opacity:.9}.btn--sm{padding:8px 14px;font-size:13px;width:auto}.form-error-banner{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-danger-bg);color:var(--color-danger);font-size:13px;margin-bottom:16px}.form-error-banner--success{background:var(--color-success-bg);color:var(--color-success)}.auth-eyebrow{font-size:13px;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.auth-title{font-size:28px;margin-bottom:10px}.auth-subtitle{font-size:14px;color:var(--color-text-muted);margin-bottom:28px}.auth-footer{margin-top:20px;font-size:13px;color:var(--color-text-muted);text-align:center}.auth-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.auth-row__link{font-size:13px;color:var(--color-primary);cursor:pointer;background:none;border:none}.password-input{position:relative;display:flex;align-items:center}.password-input .input{padding-right:64px}.password-input__toggle{position:absolute;right:12px;border:none;background:none;color:var(--color-primary);font-size:12px;font-weight:600;cursor:pointer}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.status-badge--pending{background:var(--color-warning-bg);color:var(--color-warning)}.status-badge--approved{background:var(--color-success-bg);color:var(--color-success)}.status-badge--rejected{background:var(--color-danger-bg);color:var(--color-danger)}.status-badge--draft{background:var(--color-bg-soft);color:var(--color-text-muted);border:1px solid var(--color-border)}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;font-weight:600;color:var(--color-text-muted);padding:12px 16px;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table td{padding:14px 16px;border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table tbody tr:hover{background:var(--color-bg-soft)}.data-table tbody tr:last-child td{border-bottom:none}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-border);margin-bottom:20px}.tabs__tab{padding:10px 16px;font-size:13px;font-weight:500;color:var(--color-text-muted);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs__tab:hover{color:var(--color-text)}.tabs__tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:48px 24px;color:var(--color-text-muted);text-align:center}
