:root{--bg:#f4f5f3;--panel:#fff;--ink:#173435;--muted:#607777;--line:#dce6e2;--accent:#0c7774;--gold:#e9b958;--soft:#e7f1ec;--shadow:0 8px 40px #17343508;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}body.dark{--bg:#111e22;--panel:#1b2c30;--ink:#f0f6f4;--muted:#a8bcba;--line:#34494c;--accent:#5ce0c3;--soft:#263e3d;--shadow:none;color-scheme:dark}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,a.primary,nav a,.voucher-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:11px 17px;font:600 14px/1.4 inherit;cursor:pointer;text-decoration:none}button{font:600 14px/1.4 system-ui;background:var(--soft);color:var(--ink);border:1px solid var(--line)}button:hover{filter:brightness(.94)}button:disabled{opacity:.6;cursor:wait}.primary{background:var(--accent);color:#fff;border:0;box-shadow:0 4px 12px #07555016}body.dark .primary{color:#103833}.big{padding:17px 24px!important;font-weight:700;font-size:16px}.full{width:100%}.ghost{background:transparent}.top{max-width:1240px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:20px;line-height:1.2}.brand small{display:block;font-size:11px;letter-spacing:.2px;margin-top:6px;color:var(--muted)}.mark{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#0c5556;color:#f6cd80;font:700 19px Georgia}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}nav{display:flex;gap:5px;max-width:1180px;margin:20px auto 0;overflow:auto;padding:0 24px}nav a{white-space:nowrap;color:var(--muted)}main{max-width:1180px;margin:auto;padding:24px}h1{font-size:clamp(28px,4vw,42px);letter-spacing:-1.4px;line-height:1.16;margin:14px 0 18px}h2{font-size:23px;line-height:1.3;letter-spacing:-.6px}h3{margin-bottom:0}p{margin:12px 0}.page-title{padding:20px 0 32px;max-width:760px}.page-title p{color:var(--muted);margin-bottom:24px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.9px;color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--line);padding:28px;border-radius:18px;box-shadow:var(--shadow);margin-bottom:24px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.login{max-width:460px;margin:40px auto}.login h1{font-family:Georgia,serif;font-size:42px;letter-spacing:-1px}.login p{color:var(--muted);margin-bottom:28px}label{display:block;font-size:14px;font-weight:650;margin-bottom:20px}input,select,textarea{display:block;width:100%;padding:14px 16px;background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:9px;font:inherit;font-size:16px;margin-top:8px;min-height:50px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}textarea{min-height:90px}.muted,.fine{color:var(--muted)}.fine{font-size:12px}.center{text-align:center}details{padding:15px 0;border-top:1px solid var(--line);margin-top:16px;margin-bottom:20px}summary{cursor:pointer;color:var(--accent);font-size:14px;font-weight:650;margin-bottom:12px}.preview img{width:100%;border-radius:10px}.preview{align-self:start}.preview p{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.stats .panel{padding:20px}.stats span{font-size:13px;color:var(--muted)}.stats strong{display:block;font-size:32px;letter-spacing:-1px;margin-top:4px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:16px 10px;border-bottom:1px solid var(--line)}td{padding:18px 10px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted);margin-top:4px}.search{display:flex;gap:12px;margin-bottom:12px}.search input{margin:0}.badge{display:inline-block;font-size:12px;font-weight:750;padding:8px 12px;border-radius:8px;background:var(--soft);color:var(--ink)}.badge.active{background:#d8f3e7;color:#125540}.badge.expired,.badge.cancelled{background:#f9e1dc;color:#923a2d}.badge.redeemed{background:#e2eaf9;color:#254574}.badge.scheduled{background:#fff1c9;color:#745600}.alert{padding:16px 20px;border-radius:10px;background:#d8f3e7;color:#125540;margin-bottom:22px}.danger{background:#f9e1dc;color:#923a2d}.voucher{padding:0;overflow:hidden;max-width:860px;margin:12px auto 24px}.art img{display:block;width:100%;height:auto}.voucher-body{padding:30px 36px}.voucher-body>.badge{display:block;width:fit-content;margin:18px 0 26px}.voucher-body>.muted{font-size:11px;font-weight:750;letter-spacing:1.5px}.voucher h1{font-family:Georgia,serif;font-size:40px;letter-spacing:-1px;margin-top:4px}.voucher h2{color:var(--accent);margin-bottom:4px}.voucher-info{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:24px 0;margin:24px 0}.voucher-info span,.voucher-info b{display:block}.voucher-info span{font-size:12px;color:var(--muted);margin-top:8px}.voucher-info b{font-size:18px}.code{font-family:ui-monospace,monospace;font-size:17px;display:block;margin:16px 0 0}.qr{background:#fff;border:8px solid #fff;border-radius:10px;width:154px;height:154px;flex-shrink:0}.qr svg{width:100%;height:100%}.voucher-actions{justify-content:center}.voucher-actions a:not(.primary){border:1px solid var(--line);background:var(--panel)}footer{text-align:center;font-size:11px;color:var(--muted);padding:32px 20px 40px}@media(max-width:700px){.top{padding:16px}.brand{font-size:16px}.brand small{font-size:9px}.mark{width:38px;height:38px;border-radius:12px}.top .ghost{padding:8px;font-size:11px}.top .actions{gap:5px}nav{padding:0 12px;margin-top:12px}nav a{font-size:12px;padding:10px}main{padding:16px}.grid{grid-template-columns:1fr;gap:0}.panel{padding:21px;border-radius:14px}.stats{grid-template-columns:repeat(3,1fr);gap:8px}.stats .panel{padding:12px;margin-bottom:10px}.stats strong{font-size:26px}.stats span{font-size:11px}.preview{display:none}.voucher{padding:0}.voucher-body{padding:22px}.voucher h1{font-size:32px}.voucher-info{gap:12px}.qr{width:120px;height:120px}.voucher-info b{font-size:15px}.code{font-size:14px}.voucher-actions>*{flex:1 1 45%;font-size:13px}.page-title{padding-top:16px}.login{margin-top:12px}}@media print{body{background:#fff;color:#173435}.top,nav,footer,.voucher-actions,#save-status{display:none}main{padding:0}.voucher{border:1px solid #ddd;box-shadow:none;max-width:170mm;margin:0 auto;break-inside:avoid}.voucher-body{padding:16px}.voucher h1{font-size:28px}.art img{max-height:105mm;object-fit:contain}.voucher-info{padding:12px 0;margin:12px 0}.voucher-body .eyebrow{font-size:9px}.qr{width:120px;height:120px}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
