:root{color-scheme:light dark;--color-accent: #f3da90;--color-accent-hover: #edd070;--color-bg-primary: light-dark(#f5f5f5, #1c1c1c);--color-bg-surface: light-dark(#ffffff, #2a2a2a);--color-bg-elevated: light-dark(#ebebeb, #383838);--color-bg-input: light-dark(#f0f0f0, #333333);--color-text-primary: light-dark(#1c1c1c, #f0f0f0);--color-text-secondary: light-dark(#666666, #aaaaaa);--color-text-muted: light-dark(#999999, #666666);--color-border: light-dark(#e0e0e0, #444444);--color-border-hover: light-dark(#cccccc, #555555);--color-sidebar-bg: light-dark(#ffffff, #1e1e1e);--color-sidebar-text: light-dark(#444444, #cccccc);--color-sidebar-active-bg: light-dark(rgba(243, 218, 144, .15), rgba(243, 218, 144, .12));--color-sidebar-active-text: light-dark(#1c1c1c, #f3da90);--color-status-active: light-dark(#388e3c, #66bb6a);--color-status-active-bg: light-dark(rgba(56, 142, 60, .1), rgba(102, 187, 106, .12));--color-status-pending: light-dark(#1565c0, #64b5f6);--color-status-pending-bg: light-dark(rgba(21, 101, 192, .1), rgba(100, 181, 246, .12));--color-status-used: light-dark(#555555, #999999);--color-status-used-bg: light-dark(rgba(0, 0, 0, .06), rgba(255, 255, 255, .07));--color-status-expired: light-dark(#c62828, #ef5350);--color-status-expired-bg: light-dark(rgba(198, 40, 40, .1), rgba(239, 83, 80, .12));--color-status-suspended: light-dark(#e65100, #ffa726);--color-status-suspended-bg: light-dark(rgba(230, 81, 0, .1), rgba(255, 167, 38, .12));--shadow-card: light-dark( 0 1px 3px rgba(0, 0, 0, .08), 0 1px 4px rgba(0, 0, 0, .4) );--shadow-modal: light-dark( 0 8px 32px rgba(0, 0, 0, .16), 0 8px 32px rgba(0, 0, 0, .6) );--font-family: "Roboto", sans-serif;--sidebar-width: 220px;--header-height: 60px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--transition: .2s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-family);font-size:14px;line-height:1.5;background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea,select{font-family:inherit}ul,ol{list-style:none}h1,h2,h3,h4{font-weight:500;line-height:1.3;color:var(--color-text-primary)}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}.page-title{font-size:1.375rem;font-weight:600;margin-bottom:24px;color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted);font-size:.8125rem}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table thead tr{border-bottom:1px solid var(--color-border)}.data-table thead th{padding:10px 16px;text-align:left;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);white-space:nowrap}.data-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color var(--transition)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background-color:var(--color-bg-elevated)}.data-table tbody td{padding:12px 16px;color:var(--color-text-primary);vertical-align:middle}.table-empty{padding:48px 0;text-align:center;color:var(--color-text-muted);font-size:.9375rem}.table-loading{padding:48px 0;text-align:center}.monospace{font-family:Roboto Mono,Courier New,monospace;font-size:.8125rem}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary)}.form-input{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-input);color:var(--color-text-primary);font-size:.9375rem;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #f3da9033}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-error{font-size:.8125rem;color:var(--color-status-expired);margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 20px;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;transition:background-color var(--transition),opacity var(--transition),transform var(--transition);cursor:pointer;border:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.98)}.btn--primary{background-color:var(--color-accent);color:#1c1c1c}.btn--primary:not(:disabled):hover{background-color:var(--color-accent-hover)}.btn--secondary{background-color:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn--secondary:not(:disabled):hover{border-color:var(--color-border-hover);background-color:var(--color-border)}.btn--ghost{background-color:transparent;color:var(--color-text-secondary)}.btn--ghost:not(:disabled):hover{background-color:var(--color-bg-elevated);color:var(--color-text-primary)}.btn--sm{padding:6px 14px;font-size:.8125rem}.btn--icon{padding:8px;border-radius:var(--radius-sm)}dialog{border:none;border-radius:var(--radius-lg);background-color:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:var(--shadow-modal);padding:0;max-width:480px;width:90vw;margin:auto}dialog::backdrop{background:light-dark(rgba(0,0,0,.4),rgba(0,0,0,.7));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--color-border)}.modal-header h3{font-size:1.0625rem;font-weight:600}.modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 20px;border-top:1px solid var(--color-border)}
