:root{--primary-h: 221;--primary-s: 83%;--primary-l: 53%;--primary: hsl(var(--primary-h), var(--primary-s), var(--primary-l));--primary-hover: hsl(var(--primary-h), var(--primary-s), 45%);--bg: #f1f5f9;--surface: #ffffff;--surface-hover: #f8fafc;--border: #e2e8f0;--text-main: #0f172a;--text-muted: #64748b;--text-light: #94a3b8;--action-hover: #f1f5f9;--action-selected: #e0f2fe;--action-selected-text: #0284c7;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--radius: .5rem;--radius-lg: .75rem}[data-theme=dark]{--bg: #0f172a;--surface: #1e293b;--surface-hover: #334155;--border: #334155;--text-main: #f8fafc;--text-muted: #cbd5e1;--text-light: #94a3b8;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5);--action-hover: #334155;--action-selected: #1e40af;--action-selected-text: #bfdbfe}*{box-sizing:border-box}body{font-family:Inter,sans-serif;background-color:var(--bg);color:var(--text-main);margin:0;height:100vh;overflow:hidden}#app{display:flex;height:100vh}nav{width:260px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.5rem;overflow-y:auto;flex-shrink:0;transition:transform .3s ease}nav a{display:block;padding:.75rem 1rem;color:var(--text-muted);text-decoration:none;font-weight:500;border-radius:var(--radius);margin-bottom:.25rem;transition:all .2s}nav a:hover{background:var(--action-hover);color:var(--text-main)}nav a.active{background:var(--action-selected);color:var(--action-selected-text);font-weight:600}nav .section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);font-weight:700;margin:1.5rem 0 .5rem .5rem}.business-select{width:100%;padding:.5rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-main);font-size:.9rem}main{flex:1;overflow-y:auto;padding:2rem;position:relative}h1{font-size:1.875rem;font-weight:700;margin:0 0 1.5rem;letter-spacing:-.025em}h2{font-size:1.5rem;font-weight:600;margin:0 0 1rem}h3{font-size:1.25rem;font-weight:600;margin:0 0 1rem}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:1.5rem;margin-bottom:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-weight:500;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;font-size:.875rem;transition:all .2s;gap:.5rem;color:var(--text-main)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--text-main)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--text-muted)}.btn-danger{background:var(--danger);color:#fff}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem;color:var(--text-main)}input,select{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;font-size:.9rem;transition:border-color .2s,box-shadow .2s;background:var(--surface);color:var(--text-main)}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}table{width:100%;border-collapse:separate;border-spacing:0}th{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--surface-hover);color:var(--text-muted);font-size:.75rem;text-transform:uppercase;font-weight:600;letter-spacing:.05em;position:sticky;top:0}td{padding:.75rem 1rem;border-bottom:1px solid var(--border);color:var(--text-main);font-size:.9rem}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-hover)}.text-right{text-align:right}.text-center{text-align:center}.font-bold{font-weight:600}.text-sm{font-size:.875rem}.text-muted{color:var(--text-muted)}.flex{display:flex}.gap-2{gap:.5rem}.gap-4{gap:1rem}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.mobile-header{display:none}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:50;padding:1rem}.modal-content{background:var(--surface);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}@media(max-width:768px){#app{flex-direction:column}nav{width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border);padding:1rem;flex-direction:row;overflow-x:auto;align-items:center;display:none}nav.open{display:flex;flex-direction:column;height:100vh;position:fixed;z-index:50}.mobile-header{display:flex;padding:1rem;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;justify-content:space-between}main{padding:1rem}}.tabs{display:flex;gap:.5rem;border-bottom:2px solid var(--border);margin-bottom:1.5rem}.tab-btn{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-muted);font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.95rem}.tab-btn:hover{color:var(--text-main);background:#6366f10d}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);background:#6366f10d}.voucher-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);padding:2rem;cursor:pointer;transition:all .3s ease;text-align:center}.voucher-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:var(--primary)}.voucher-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff}.voucher-card h3{margin:0 0 .5rem;color:var(--text-main);font-size:1.25rem}.voucher-card p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.5}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0);background-color:#fee2e2}50%{opacity:.5;transform:translateY(-10px);background-color:#fca5a5}to{opacity:0;transform:translateY(-20px);max-height:0;padding:0;margin:0;overflow:hidden}}.deleting{animation:fadeOutUp .6s ease-out forwards;pointer-events:none}
