:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#183c3e;background:#f5f6f3;font-synthesis:none;--teal:#0b3d3f;--gold:#d7b66c;--muted:#738281;--line:#e1e7e2}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button,a{transition:background .15s,color .15s}button{cursor:pointer}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button:disabled{opacity:.55;cursor:wait}input,select,textarea{width:100%;border:1px solid #d8dfd9;border-radius:7px;background:#fff;padding:11px 12px;color:#244745;outline:none}input:focus,select:focus,textarea:focus{border-color:#748d73;box-shadow:0 0 0 3px #d7e2d6}label{display:block;font-size:12px;font-weight:600;margin:18px 0 0}label input,label select,label textarea{display:block;margin-top:8px}h1,h2,h3,p{margin-top:0}h1{font-size:31px;letter-spacing:-1px;font-weight:600;margin-bottom:10px}h2{font-size:19px;letter-spacing:-.5px}h3{font-size:15px}p{line-height:1.65;color:var(--muted);font-size:13px}small{font-size:11px}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:2px;color:#8d9b88;margin-bottom:13px}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#092f32;color:#dbe7df;padding:36px 22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:#f1eddd;font-size:12px;font-weight:650;letter-spacing:.6px;line-height:1.5;margin-bottom:60px}.brand small{display:block;color:#b7a371;font-size:8px;letter-spacing:2.4px;margin-top:9px}.brand-symbol{font-family:Georgia,serif;font-size:35px;line-height:1;color:#dfc582}.nav-label{font-size:9px;letter-spacing:1.8px;color:#739592;margin:0 12px 16px}.nav-item{border:0;background:transparent;color:#a6c0bc;display:flex;align-items:center;text-align:left;width:100%;padding:14px 13px;margin-bottom:6px;border-radius:7px;font-size:12px;gap:13px}.nav-item>span{font-size:19px;width:22px}.nav-item.active{background:#204548;color:#f1ddaa}.nav-item:hover{background:#204548}.sidebar-note{margin-top:auto;padding:24px 12px 0;font-size:10px;color:#cee0d3}.sidebar-note p{color:#799b96;font-size:11px;margin-top:10px}.status-dot{display:inline-block;background:#8aad8b;width:6px;height:6px;border-radius:50%;margin-right:6px}.signout{background:none;border:0;border-top:1px solid #25494a;color:#8cacaa;text-align:left;font-size:11px;margin-top:20px;padding:20px 12px 0}.main{min-width:0}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:11px;color:#85938d;background:#fafbf8}.slash{margin:0 12px;color:#b9c2ba}.admin-avatar{border:1px solid #d8ded3;background:#e9ede4;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;color:#60705e}.content{padding:35px 42px 50px;max-width:1550px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-head .eyebrow{font-size:9px;margin-bottom:9px}.page-head p{margin:0;font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid #d9e0d9;border-radius:6px;padding:11px 16px;color:#254e49;background:#fff;font-size:11px;font-weight:600;text-decoration:none!important;white-space:nowrap}.btn:hover{background:#edf1e9}.btn.primary{background:var(--teal);color:#f5efdd;border-color:var(--teal)}.btn.primary:hover{background:#1c5555}.btn.small{padding:9px 12px}.display-workspace{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:28px;align-items:start}.preview-area{background:#e7eae5;border:1px solid #dce1d8;border-radius:10px;padding:16px 23px 23px}.preview-toolbar{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#77887c;margin-bottom:16px;letter-spacing:.3px}.preview-toolbar>span:last-child{font-size:8px}.tv-wrap{max-width:790px;margin:auto;box-shadow:0 8px 22px #13362d1a}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;padding:24px}.settings h2{font-family:Georgia,serif;font-weight:400;font-size:23px;line-height:1.35}.settings .eyebrow{font-size:8px}.settings label{font-size:11px}.settings select{font-size:12px}.segmented{display:flex;background:#f0f2ed;padding:4px;border-radius:6px;margin-top:20px}.segmented button{flex:1;border:0;background:none;font-size:10px;color:#829080;padding:9px 3px;border-radius:4px}.segmented .chosen{background:#fff;color:#244b42;box-shadow:0 1px 4px #0001}.help{font-size:11px;line-height:1.75;margin-top:14px}.detail-row{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#879183;margin:15px 0 0}.detail-row strong{color:#4b6253;font-size:10px;font-weight:500}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.note-card{padding:23px;background:#eeeee2;border:1px solid #e0e1d2;border-radius:8px;margin-top:18px}.note-card>span{color:#b0914e;font-size:22px;display:block;margin-bottom:15px}.note-card h3{font-size:13px;font-weight:600}.note-card p{font-size:11px;margin:0;color:#898b74}.tiny{font-size:10px;padding:0 10px;margin-top:20px;color:#909989}.tv-square{container-type:inline-size;aspect-ratio:1;overflow:hidden;position:relative;color:#f6f2df;background:radial-gradient(ellipse at 80% 5%,#23535788,transparent 65%),linear-gradient(140deg,#123e41,#082b30 70%);display:flex;flex-direction:column;padding:5%;border:1px solid #77918155}.tv-square:before{content:"";position:absolute;inset:2%;border:1px solid #c6b77a25;pointer-events:none}.tv-brand{display:flex;align-items:center;gap:2cqw;font-size:1.7cqw;font-weight:650;letter-spacing:.22cqw;line-height:1.5}.tv-brand small{display:block;font-size:1cqw;letter-spacing:.48cqw;color:#c3b887;margin-top:.4cqw}.tv-brand .brand-symbol{font-size:5cqw}.tv-mode{margin-left:auto;font-size:1.05cqw;font-weight:500;letter-spacing:.1cqw;border:1px solid #c8b37066;padding:1.1cqw 1.5cqw;border-radius:10cqw;color:#e0c989}.tv-heading{margin-top:4.2cqw}.tv-square .eyebrow{font-size:1.1cqw;letter-spacing:.24cqw;color:#b8bd9c;margin-bottom:1.3cqw}.tv-heading h1{font-family:Georgia,"Times New Roman",serif;color:#f5df9d;font-size:6.7cqw;font-weight:400;letter-spacing:-.2cqw;line-height:1.05;margin:0 0 1.2cqw}.tv-heading p{font-size:1.7cqw;color:#b3c7c0;margin:0}.tv-total{margin-top:4cqw}.tv-total .eyebrow{font-size:1.05cqw}.raised{font-size:10.4cqw;font-weight:650;letter-spacing:-.5cqw;line-height:1.06;color:#faf6e9;font-variant-numeric:tabular-nums}.target{font-size:2cqw;color:#9ebbb4;margin-top:1.2cqw}.target strong{color:#e8dcb2;font-weight:500}.tv-progress{margin-top:2.5cqw}.progress{height:7px;border-radius:20px;background:#e7ebe4;overflow:hidden}.progress i{display:block;height:100%;background:#bba263;border-radius:inherit}.tv-progress .progress{height:1.2cqw;background:#325254}.tv-progress .progress i{background:linear-gradient(90deg,#bba15e,#f0d88c)}.tv-progress>div:last-child{display:flex;justify-content:space-between;margin-top:1.2cqw;font-size:1.6cqw;color:#adc3b9}.tv-progress strong{font-weight:500;color:#e6cf8c}.tv-bottom{display:grid;grid-template-columns:1fr 35%;gap:5%;margin-top:3.6cqw;min-height:0;flex:1}.tv-message{display:flex;flex-direction:column;padding-top:1cqw}.gold-line{height:1px;background:#cdb36a;width:8cqw;margin-bottom:2cqw}.tv-message h2{font-family:Georgia,serif;font-weight:400;font-size:3.4cqw;line-height:1.3;letter-spacing:0;margin-bottom:1.5cqw}.tv-message p{color:#a7bfb7;font-size:1.5cqw;line-height:1.7;margin:0}.scan-caption{margin-top:auto;padding:1.8cqw 0 0;font-size:1cqw;letter-spacing:.16cqw;color:#dac88d}.scan-caption span{font-size:2cqw;margin-left:2cqw}.qr-panel{background:#fff;border:1px solid #d4bb7a;border-radius:1cqw;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:0;padding:.8cqw}.qr-panel img{width:100%;height:100%;object-fit:contain;display:block}.qr-reserved{text-align:center;color:#84948e}.qr-reserved>span{display:block;font-size:8cqw;color:#b5bcb0}.qr-reserved strong{font-size:1.7cqw;display:block;letter-spacing:.2cqw}.qr-reserved small{display:block;font-size:1.2cqw;line-height:1.7;margin-top:1.5cqw}.tv-footer{display:flex;justify-content:space-between;gap:1cqw;border-top:1px solid #75978b44;margin-top:3cqw;padding-top:1.6cqw;font-size:.9cqw;color:#9db5a8;letter-spacing:.06cqw}.public-display{background:#03191b;min-height:100dvh;display:grid;place-items:center}.public-display #app{width:min(100vw,100dvh)}.public-display .tv-square{width:100%}.offline{position:fixed;bottom:0;background:#593d20;color:white;padding:10px;text-align:center;font-size:14px;left:0;right:0}.display-error{padding:40px;color:#fff}.summary-strip{display:flex;border:1px solid var(--line);background:#fff;border-radius:9px;margin-bottom:28px;padding:25px 30px;gap:50px}.summary-strip>div{flex:1}.summary-strip span{display:block;font-size:9px;letter-spacing:1px;color:#8d9a8c;margin-bottom:12px}.summary-strip strong{font-size:25px;font-weight:550}.campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.campaign-card{background:white;border:1px solid var(--line);padding:28px;border-radius:10px}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:15px}.campaign-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:10px;background:#eaf0e7;color:#76896f;font-size:30px}.badge{font-size:9px;padding:6px 9px;border-radius:20px;background:#eee;color:#777}.badge.green{background:#eef3e8;color:#6c8466}.badge.amber{background:#f6f1e3;color:#aa9158}.campaign-card h2{font-size:24px;font-family:Georgia,serif;font-weight:400}.campaign-card p{font-size:11px}.card-amount{font-size:28px;margin:28px 0 18px;font-weight:550;letter-spacing:-1px}.card-amount small{font-size:12px;font-weight:400;color:#8a998b;letter-spacing:0}.mapping-info{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.mapping-info>span{font-size:9px;letter-spacing:1px;color:#8d9a8c}.mapping-info p{margin-top:10px;min-height:35px}.card-actions{display:flex;justify-content:space-between;align-items:center;gap:15px}.card-actions a{font-size:11px}.upload-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px}.upload-panel{text-align:center;padding:42px 30px}.upload-icon{width:50px;height:50px;background:#edf1e7;border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;font-size:27px;color:#87976b}.upload-panel h2{font-family:Georgia,serif;font-size:27px;font-weight:400}.file-drop{border:1px dashed #b6c2ad;border-radius:8px;padding:24px;background:#fafbf6;margin:24px 0;text-align:left;color:#486246}.file-drop input{background:#fff;padding:14px;font-size:12px}.file-drop small{display:block;color:#9aa38e;font-weight:400;margin-top:12px}.upload-panel .btn{width:100%}.history{margin-top:24px}.history h2{font-size:15px}.steps{padding-left:20px;margin:25px 0 0}.steps li{padding-left:5px;margin-bottom:25px;color:#a08d5b;font-size:13px}.steps li:last-child{margin-bottom:0}.steps strong{color:#385547;font-size:12px}.steps p{font-size:11px;line-height:1.65;margin:7px 0 0}.success{padding:18px;margin-top:20px;background:#edf4e8;color:#5e7658;font-size:12px;border-radius:6px;line-height:1.8}.info-banner{display:flex;gap:17px;align-items:center;background:#eaf0e6;border:1px solid #dce6d4;border-radius:8px;padding:16px 24px;margin-bottom:24px}.info-banner>span{font-size:26px;color:#7c8d69}.info-banner p{font-size:12px;margin:0;color:#7f8c76}.info-banner strong{color:#496446}.transfers{padding:0;overflow:hidden}.table-toolbar{display:flex;justify-content:space-between;align-items:center;padding:22px;gap:15px}.table-toolbar h2{font-size:16px;margin:0}.table-toolbar>div{display:flex;gap:10px}.table-toolbar select{font-size:11px;min-width:130px}.count{font-size:11px;background:#f0f2e9;border-radius:20px;padding:4px 8px;margin-left:8px;color:#839278}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}th{font-size:8px;letter-spacing:1px;color:#919c8a;background:#f9faf6;font-weight:600;padding:14px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:17px 18px;border-bottom:1px solid #edf0e9;color:#617763;vertical-align:middle}td strong{font-size:11px;font-weight:500;color:#31573d;display:block}td small{display:block;color:#97a18e;font-size:10px;margin-top:6px}td.amount{font-weight:600;white-space:nowrap}td select{min-width:170px;font-size:11px;padding:9px}tr:last-child td{border-bottom:0}.empty{text-align:center;padding:40px;color:#96a48d}.empty>span{font-size:30px;display:block;margin-bottom:15px}.empty h3{font-weight:500}.empty p{font-size:12px}.modal{border:1px solid #dce3d7;border-radius:12px;padding:30px;width:min(520px,95vw);max-height:90vh;color:#234e40;box-shadow:0 20px 100px #0003}.modal::backdrop{background:#082e3280;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0}.close{border:0;background:transparent;font-size:27px;color:#8d9989}.modal .btn{margin-top:20px;width:100%}.modal details{margin-top:15px;font-size:11px;color:#7b8e75;line-height:1.8}.modal a{font-size:11px}.error{color:#a75c43;font-size:12px;margin-top:15px}.login{min-height:100vh;background:radial-gradient(at 90% 0,#215553,#092c30 70%);color:#f0e9cf;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.login-brand{display:flex;gap:15px;align-items:center;font-size:35px;color:#d4bd7f;margin-bottom:40px}.login-brand span{font-size:11px;letter-spacing:2px}.login-panel{max-width:450px;width:100%;background:#fcfcf5;border-radius:13px;padding:40px;color:#244a3d}.login-panel h1{font-family:Georgia,serif;font-weight:400;font-size:34px;line-height:1.2}.login-panel p{font-size:12px}.login-panel .btn{width:100%;margin-top:22px}.login-panel>a{font-size:11px;display:block;text-align:center;margin-top:24px}.login>small{color:#799e8d;margin-top:30px;font-size:10px}.loading{padding:50px;text-align:center}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);background:#133f36;color:#f1ebcf;padding:16px 24px;border-radius:8px;box-shadow:0 4px 30px #0002;font-size:12px;transition:transform .2s;z-index:1000;max-width:90vw}#toast.show{transform:translateX(-50%) translateY(0)}
@media(min-width:1600px){.content{padding-top:45px}.display-workspace{grid-template-columns:minmax(0,850px) 290px}.settings .panel{padding:30px}}@media(max-width:1150px){.sidebar{padding:30px 15px}.shell{grid-template-columns:190px 1fr}.content{padding:28px 25px}.topbar{padding:0 25px}.display-workspace{grid-template-columns:minmax(0,1fr) 220px;gap:18px}.preview-area{padding:12px}.panel{padding:20px}.preview-toolbar>span:last-child{display:none}.upload-layout{grid-template-columns:1fr}.upload-layout>aside{display:none}.summary-strip{gap:20px}.summary-strip strong{font-size:20px}}@media(max-width:850px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:15px 20px;display:block}.brand{margin:0;font-size:10px;gap:10px}.brand br,.brand small,.nav-label,.sidebar-note,.signout{display:none}.brand-symbol{font-size:25px}.sidebar nav{display:flex;margin-top:15px;gap:5px}.nav-item{padding:9px;margin:0;justify-content:center;font-size:10px;gap:6px}.nav-item>span{font-size:15px;width:auto}.topbar{display:none}.content{padding:25px 18px}.page-head{align-items:start}.page-head h1{font-size:27px}.page-head p{font-size:11px;max-width:230px}.page-head .btn{padding:10px}.display-workspace{grid-template-columns:1fr}.settings{display:grid;grid-template-columns:1fr 1fr;gap:15px}.note-card{margin-top:0}.settings .tiny{display:none}.preview-area{max-width:700px;width:100%;margin:auto}.campaign-grid{grid-template-columns:1fr}.summary-strip{padding:18px;gap:20px;flex-wrap:wrap}.summary-strip span{font-size:8px}.summary-strip strong{font-size:18px}.table-toolbar{flex-wrap:wrap}.table-toolbar>div{width:100%}.tv-wrap{max-width:650px}.modal{padding:25px}.upload-panel{padding:30px 20px}.upload-panel h2{font-size:23px}}@media(max-width:480px){.settings{grid-template-columns:1fr}.settings .note-card{display:none}.nav-item{font-size:9px}.page-head{gap:10px}.page-head .btn{font-size:10px}.summary-strip>div{min-width:40%}.login-panel{padding:28px}.preview-toolbar{font-size:8px}}
.qr-editor{margin-top:20px;padding:16px;background:#f3f5ee;border-radius:8px}.qr-editor[hidden]{display:none}.qr-editor canvas{display:block;width:100%;height:auto;touch-action:none;cursor:move;border:1px solid #bccabc}.qr-editor input[type=range]{padding:0}.qr-editor h3{margin-bottom:12px}
