@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=Manrope:wght@600;700&display=swap');

:root{--ink:#17213a;--muted:#718096;--line:#e5eaf2;--canvas:#f5f7fb;--panel:#fff;--blue:#1769e0;--blue-dark:#1056bd;--blue-soft:#eaf2ff;--green:#12976f;--green-soft:#e6f7f1;--amber:#d98b15;--amber-soft:#fff5df;--red:#c54343;--red-soft:#fff0f0;--violet:#7457d9;--shadow:0 12px 40px rgba(31,51,83,.08);--radius:16px}
.sidebar-site-picker{display:block;margin:0 5px 14px}.sidebar-site-picker>span{display:block;color:#71809a;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0 7px 5px}.sidebar-site-picker select{background:#1a52bd;border-color:#30415e;color:#fff;font-size:12px;padding:9px}
*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,sans-serif;line-height:1.5}button,input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Inter,sans-serif;line-height:1.2}button{cursor:pointer}
.app-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:linear-gradient(145.25deg,#3b2bc7 21.149%,#1d1561 72.385%);color:#c8d2e5;padding:26px 18px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;color:#fff;font:700 18px Inter,sans-serif;margin:0 9px 34px}.brand>span:last-child span{color:#65a3ff}.brand-mark{width:36px;height:36px;border-radius:10px;background:#1769e0;color:white;display:grid;place-items:center;font:700 19px Inter,sans-serif;box-shadow:none}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-label{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#8d9bb6;margin:18px 12px 7px}.sidebar nav a{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:9px;font-weight:600;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.16);color:#fff}.sidebar nav a.active{box-shadow:none}.nav-icon{width:20px;text-align:center;font-size:17px;color:#aebce0}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding:18px 7px 0;display:flex;align-items:center;gap:10px}.sidebar-user>div{min-width:0;flex:1}.sidebar-user strong,.sidebar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user strong{color:#fff;font-size:13px}.sidebar-user small{font-size:11px;color:#aeb9d3}.avatar{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dceaff;color:#1769e0;font-weight:700}.icon-button,.copy-button{border:0;background:transparent;padding:6px;color:#8292ad}.page{grid-column:2;min-width:0}.topbar{height:96px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 38px;gap:18px}.topbar>div{margin-right:auto}.topbar h1{font-size:24px;margin:2px 0 0}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:700;color:#718096;margin-bottom:5px}.content{padding:30px 30px 55px;max-width:1640px;margin:auto}.menu-button{display:none;border:0;background:none;font-size:22px}
.button{border:0;border-radius:9px;padding:10px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.15s ease}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--blue);color:#fff;box-shadow:none}.button.primary:hover{background:var(--blue-dark)}.button.secondary{background:#fff;border:1px solid #d7dfeb;color:#34425b}.button.ghost{background:#f3f6fa;color:#46536a}.button.compact{padding:8px 12px;font-size:13px}.button.full{width:100%;margin-top:4px}.alert{padding:12px 14px;border-radius:10px;margin-bottom:20px;border:1px solid;display:flex;align-items:center;justify-content:space-between}.alert button{border:0;background:none}.alert.success{background:var(--green-soft);border-color:#bce8d9;color:#087a58}.alert.danger{background:var(--red-soft);border-color:#f3caca;color:#a43232}.alert.warning{background:var(--amber-soft);border-color:#f0d8a6;color:#94600f}
.welcome{min-height:122px;padding:13px 29px;background:#1a52bd;color:white;border-radius:var(--radius);display:flex;align-items:center;margin-bottom:22px;overflow:hidden;position:relative}.welcome:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;border:55px solid rgba(255,255,255,.05);right:90px;top:-105px}.welcome>div{margin-right:auto;position:relative;z-index:1}.welcome h2{font-size:23px;margin-bottom:6px}.welcome p{margin-bottom:0;color:#c4d2e8}.welcome .eyebrow{color:#80b4ff}.welcome .button{z-index:1}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.stat-card{min-height:124px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px;display:flex;gap:15px;box-shadow:none}.stat-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-size:20px;flex:none}.stat-card.blue .stat-icon{color:var(--blue);background:var(--blue-soft)}.stat-card.green .stat-icon{color:var(--green);background:var(--green-soft)}.stat-card.amber .stat-icon{color:var(--amber);background:var(--amber-soft)}.stat-card.violet .stat-icon{color:var(--violet);background:#f0edff}.stat-card small{display:block;color:var(--muted);font-weight:600}.stat-card strong{display:block;font:700 27px Inter,sans-serif;margin:2px 0}.stat-card p{font-size:11px;color:#95a0b1;margin:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,765fr) minmax(260px,348fr);gap:22px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}.panel-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center}.panel-head>div{margin-right:auto}.panel-head h3{margin:0;font-size:17px}.panel-head p:not(.eyebrow){font-size:13px;color:var(--muted);margin:5px 0 0}.panel-head a{font-size:12px;color:var(--blue);font-weight:700}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#8793a7;font-size:10px;text-transform:uppercase;letter-spacing:.06em;background:#fafbfc}th,td{padding:12px 16px;border-bottom:1px solid #edf0f5;white-space:nowrap}tbody tr:hover{background:#fafcff}.site-pill,.count-pill{background:#edf4ff;color:#2a65b6;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:700}.quick-panel{height:max-content}.site-row{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}.site-row:last-child{border-bottom:0}.site-row>div{margin-right:auto}.site-row strong,.site-row small{display:block}.site-row small{color:var(--muted);font-size:11px}.site-logo{width:38px;height:38px;border-radius:10px;background:#e9f2ff;color:#1769e0;display:grid;place-items:center;font-weight:700;font-size:12px}.site-logo.large{width:48px;height:48px}.empty{text-align:center;padding:48px 20px}.empty>span{display:grid;place-items:center;margin:0 auto 12px;width:48px;height:48px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:22px}.empty h3{margin-bottom:7px}.empty p{color:var(--muted);margin-bottom:18px}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;max-width:1100px}.form-panel{padding-bottom:24px}.voucher-form{padding:8px 24px}.form-section{display:flex;gap:13px;align-items:center;margin:24px 0 14px}.form-section h4,.form-section p{margin:0}.form-section h4{font-size:14px}.form-section p{font-size:11px;color:var(--muted)}.step{width:29px;height:29px;border-radius:8px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:700}.stack{display:flex;flex-direction:column;gap:14px}.stack label,.voucher-form>label,.field-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:12px}input,select{width:100%;border:1px solid #d9e0ea;border-radius:8px;background:#fff;padding:10px 11px;outline:0;transition:.15s}input:focus,select:focus{border-color:#488be7;box-shadow:0 0 0 3px rgba(23,105,224,.11)}label small{color:#8b96a8;font-weight:400}.field-grid{display:grid;gap:13px;margin-bottom:14px}.field-grid.two{grid-template-columns:1fr 1fr}.field-grid.three{grid-template-columns:repeat(3,1fr)}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.segmented label input{position:absolute;opacity:0}.segmented label span{border:1px solid #dce2eb;border-radius:10px;padding:12px;display:flex;flex-direction:column;cursor:pointer}.segmented label input:checked+span{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 1px var(--blue)}.segmented b{font-size:12px}.segmented small{font-size:10px;color:var(--muted)}.unit-input{position:relative}.unit-input b{position:absolute;right:10px;top:10px;color:#8893a5}.unit-input input{padding-right:48px}.form-actions{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;display:flex;justify-content:flex-end;gap:10px}.info-card{background:#152744;color:#d0dbea;padding:25px;border-radius:var(--radius);height:max-content}.info-card h3{color:#fff;margin:11px 0 9px}.info-card p{font-size:12px;color:#adbbcf}.info-card strong{color:#fff;font-size:12px}.info-card hr{border:0;border-top:1px solid #31435f;margin:18px 0}.info-icon{width:29px;height:29px;border-radius:50%;background:#337dde;display:grid;place-items:center;font-weight:700}.hidden{display:none!important}
.toolbar{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.filters{display:flex;gap:12px}.filters label{font-size:11px;color:var(--muted);font-weight:700}.filters select{min-width:180px;margin-top:5px}.voucher-code{font:700 14px monospace;background:#f1f5fa;padding:5px 8px;border-radius:5px;color:#1c4e93;letter-spacing:.05em}.status{display:inline-flex;padding:4px 9px;border-radius:20px;font-size:10px;font-weight:700}.status.unused{background:var(--blue-soft);color:var(--blue)}.status.active{background:var(--green-soft);color:var(--green)}.status.expired{background:#f0f1f4;color:#737d8d}.copy-button{font-size:17px}.management-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.7fr);gap:22px}.create-card{height:max-content}.create-card form{padding:20px}.create-card .panel-head{background:#fafbfc;border-radius:var(--radius) var(--radius) 0 0}.user-cell{display:flex;align-items:center;gap:9px}.user-cell strong,.user-cell small{display:block}.user-cell small{font-size:10px;color:var(--muted)}fieldset{border:1px solid var(--line);border-radius:9px;padding:10px}legend{font-size:11px;font-weight:700;padding:0 4px}.check-row{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;padding:5px 0}.check-row input{width:auto}.site-cards{padding:8px 20px}.site-card{padding:17px 4px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px}.site-card:last-child{border-bottom:0}.site-main{display:flex;align-items:center;flex:1;gap:25px}.site-main>div:first-child{margin-right:auto}.site-main h4,.site-main p{margin:0}.site-main p{font-size:11px;color:var(--muted);margin-top:3px}.site-metrics{display:flex;gap:20px;color:var(--muted);font-size:11px}.site-metrics b{color:var(--ink)}
.voucher-bulk-actions{display:flex;align-items:center;gap:8px;margin-right:0!important}.voucher-bulk-actions form{margin:0}.voucher-select{width:34px;padding-right:4px}.voucher-select input{width:auto;cursor:pointer}.panel-head h3 small{color:var(--muted);font-size:11px;font-weight:600}
.auth-page{min-height:100vh;background:linear-gradient(135deg,#204a99 0%,#1d1561 100%);display:grid;place-items:center;padding:30px;position:relative;overflow:hidden;font-family:Inter,sans-serif}.auth-page:before,.auth-page:after{content:"";position:absolute;border-radius:50%}.auth-page:before{width:560px;height:560px;left:-220px;bottom:-270px;background:rgba(255,255,255,.05)}.auth-page:after{width:430px;height:430px;right:-180px;top:-260px;border:80px solid rgba(255,255,255,.035)}.auth-shell{width:min(1072px,100%);display:grid;grid-template-columns:minmax(0,594px) 430px;gap:48px;position:relative;z-index:1;align-items:center;transform:translateY(-53px)}.auth-brand{padding:38px 0;color:white;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.auth-logo{width:190px;height:70px;object-fit:contain;object-position:left center;margin-bottom:34px}.auth-brand .eyebrow{color:#fff;margin-bottom:10px}.auth-brand h1{font-family:Inter,sans-serif;font-size:50px;line-height:58px;margin-bottom:18px;letter-spacing:0}.auth-brand>p:not(.eyebrow){color:#c2cad8;max-width:420px;font-size:17px;line-height:27px}.auth-card{height:466px;background:#fff;border:0;border-radius:24px;padding:48px;box-shadow:0 32px 60px rgba(4,10,22,.38)}.auth-card h2{font-family:Inter,sans-serif;font-size:28px;line-height:36px;margin-bottom:25px}.auth-card input{height:48px;padding:12px 13px;border-radius:9px}.auth-card input:focus{border-color:#204a99;box-shadow:0 0 0 3px rgba(32,74,153,.12)}.auth-card .button.primary{height:48px;background:#1d1561;box-shadow:none}.auth-card .button.primary:hover{background:#16104d}.auth-mobile-brand{display:none}.auth-help-mobile{display:none}.muted{color:var(--muted)}.auth-help{text-align:center;color:#909bad;font-size:11px;line-height:17px;margin:23px 0 0}.status-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#12a778;margin-bottom:10px}
.button.danger{background:var(--red-soft);color:var(--red);border:1px solid #f0cccc}.button.danger:hover{background:#fbe1e1}.site-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.site-actions form{margin:0}.site-edit-layout{max-width:1000px}.discovery-form{padding:20px}.discovery-intro{font-size:12px;margin:0}.discovery-hero{background:var(--blue-soft);border-radius:11px;padding:15px;display:flex;gap:12px;align-items:center}.discovery-hero>span{width:34px;height:34px;border-radius:9px;background:#fff;color:var(--blue);display:grid;place-items:center;font-size:20px}.discovery-hero p{font-size:12px;margin:0;color:#41628f}.discovery-list{display:flex;flex-direction:column;gap:8px}.discovery-option{position:relative;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:11px;cursor:pointer}.discovery-option>input{position:absolute;opacity:0}.discovery-option>span:nth-of-type(2){margin-right:auto;min-width:0}.discovery-option strong,.discovery-option small{display:block}.discovery-option small{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selection-check{width:23px;height:23px;border-radius:50%;border:1px solid #d4dce8;color:transparent;display:grid;place-items:center}.discovery-option:has(input:checked){border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 1px var(--blue)}.discovery-option:has(input:checked) .selection-check{background:var(--blue);border-color:var(--blue);color:#fff}.rediscover-form{padding:0 20px 20px}.rediscover-form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600}.manual-setup{border-top:1px solid var(--line);padding:14px 20px}.manual-setup summary{cursor:pointer;color:var(--muted);font-size:11px;font-weight:700;text-align:center}.manual-setup[open] summary{margin-bottom:15px}.manual-setup form{padding:0}
@media(max-width:1050px){.stats-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.management-grid{grid-template-columns:1fr}.dashboard-grid>.panel:first-child{grid-column:auto}.create-card{order:-1}.form-layout{grid-template-columns:1fr}.info-card{display:none}}
@media(max-width:760px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0);box-shadow:20px 0 50px rgba(0,0,0,.2)}.page{min-width:0}.menu-button{display:block}.topbar{height:78px;padding:0 16px}.topbar .eyebrow{display:none}.topbar h1{font-size:19px}.topbar>.button{font-size:0}.topbar>.button span{font-size:18px}.content{padding:19px 14px 40px}.welcome{align-items:flex-start;flex-direction:column;gap:18px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:14px;gap:10px}.stat-icon{width:34px;height:34px}.stat-card strong{font-size:21px}.field-grid.three{grid-template-columns:1fr}.auth-page{padding:20px;place-items:start center}.auth-shell{grid-template-columns:1fr;max-width:350px;margin-top:72px;transform:none}.auth-brand{display:none}.auth-card{padding:25px;height:521px}.auth-mobile-brand{display:flex;align-items:center;justify-content:space-between;height:64px;background:#1d1561;border-radius:13px;padding:10px 15px;margin:0 0 31px;color:#fff;font-size:9px;line-height:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.auth-mobile-brand img{width:118px;height:43px;object-fit:contain}.auth-card h2{font-size:27px;line-height:34px;margin-bottom:31px}.auth-help-desktop{display:none}.auth-help-mobile{display:inline}.toolbar{align-items:stretch;flex-direction:column;gap:10px}.filters{display:grid;grid-template-columns:1fr 1fr}.filters select{min-width:0}.site-main{display:block}.site-metrics{margin-top:8px}.site-card{align-items:flex-start;flex-wrap:wrap}.site-card form{margin-left:62px}}
@media(max-width:450px){.stats-grid{grid-template-columns:1fr}.field-grid.two,.segmented{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}}
@media(max-width:760px){.site-actions{margin-left:62px;width:100%}.site-actions form{margin-left:0}.site-actions .button{white-space:nowrap}}
@media print{.sidebar,.topbar,.toolbar,.panel-head .button,.alert{display:none!important}.app-shell{display:block}.page{display:block}.content{padding:0}.panel{border:0;box-shadow:none}.voucher-table table{font-size:11px}.voucher-table th,.voucher-table td{padding:7px}}
.client-count{display:inline-flex;align-items:center;gap:5px;color:var(--blue);font-weight:700;padding:4px 7px;border-radius:6px}.client-count:hover{background:var(--blue-soft)}.client-count span{font-size:17px}.remaining{font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}.remaining.unused{font-weight:500;color:var(--muted)}.remaining.expired{color:var(--red)}.row-actions,.client-actions{display:flex;align-items:center;gap:7px}.row-actions form,.client-actions form{margin:0}.delete-button{width:27px;height:27px;border:0;border-radius:7px;background:var(--red-soft);color:var(--red);font-size:18px;line-height:1}.client-panel{max-width:1100px}.client-message{margin:18px 22px;padding:12px 14px;border-radius:9px;font-size:12px}.client-message.warning{background:var(--amber-soft);color:#8d5e13;border:1px solid #edd49f}.client-message.danger{background:var(--red-soft);color:var(--red);border:1px solid #f0cccc}.client-list{padding:8px 22px}.client-card{display:grid;grid-template-columns:42px minmax(180px,1fr) minmax(110px,.45fr) minmax(145px,.6fr) auto;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.client-card:last-child{border-bottom:0}.client-icon{width:38px;height:38px;border-radius:10px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:20px}.client-card strong,.client-card small{display:block}.client-card small{font-size:10px;color:var(--muted)}.client-identity strong{font-size:14px}.client-identity small{font-family:monospace;margin-top:2px}@media(max-width:760px){.client-card{grid-template-columns:42px 1fr}.client-card>div:not(.client-identity),.client-card>.status,.client-card>.client-actions{grid-column:2}.client-panel .panel-head{align-items:flex-start;gap:10px}}
.active-guests-panel{max-width:none}@media(min-width:761px){.active-guests-panel .table-wrap{overflow-x:hidden}.active-guests-table{table-layout:fixed}.active-guests-table th,.active-guests-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:middle;padding-left:12px;padding-right:12px}.active-guests-table .user-cell,.active-guests-table .user-cell>div{min-width:0}.active-guests-table .user-cell strong,.active-guests-table .user-cell small{white-space:normal;overflow-wrap:anywhere}.active-guests-table td:last-child form{margin:0}.active-guests-table td:last-child .button{width:100%;padding:8px 7px;white-space:normal;line-height:1.25}.active-guests-table.with-site th:nth-child(1){width:14%}.active-guests-table.with-site th:nth-child(2){width:20%}.active-guests-table.with-site th:nth-child(3){width:12%}.active-guests-table.with-site th:nth-child(4){width:16%}.active-guests-table.with-site th:nth-child(5){width:16%}.active-guests-table.with-site th:nth-child(6){width:9%}.active-guests-table.with-site th:nth-child(7){width:13%}.active-guests-table.single-site th:nth-child(1){width:24%}.active-guests-table.single-site th:nth-child(2){width:14%}.active-guests-table.single-site th:nth-child(3){width:18%}.active-guests-table.single-site th:nth-child(4){width:18%}.active-guests-table.single-site th:nth-child(5){width:10%}.active-guests-table.single-site th:nth-child(6){width:16%}}
.action-table{overflow:visible}.action-menu{position:relative;display:inline-flex}.action-trigger{width:34px;height:30px;border:0;border-radius:8px;background:transparent;color:#758196;font-weight:700;letter-spacing:2px}.action-trigger:hover,.action-menu.open .action-trigger{background:#edf3fc;color:var(--blue)}.action-dropdown{display:none;position:absolute;z-index:30;right:0;top:35px;width:245px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 15px 40px rgba(31,51,83,.18);padding:6px}.action-menu.open .action-dropdown{display:block}.action-dropdown a,.action-dropdown button{display:flex;align-items:center;gap:10px;width:100%;padding:9px;border:0;border-radius:8px;background:transparent;text-align:left}.action-dropdown a:hover,.action-dropdown button:hover{background:#f3f6fa}.action-dropdown>a>span,.action-dropdown button>span{width:27px;height:27px;border-radius:7px;background:#edf3fc;color:var(--blue);display:grid;place-items:center;flex:none}.action-dropdown strong,.action-dropdown small{display:block}.action-dropdown strong{font-size:12px}.action-dropdown small{font-size:10px;color:var(--muted)}.action-dropdown form{margin:0}.action-dropdown .danger-item{color:var(--red)}.action-dropdown .danger-item>span{background:var(--red-soft);color:var(--red)}.user-edit-layout{max-width:1000px}
.legacy-notice{padding:10px 11px;margin-bottom:10px;border-radius:8px;background:var(--amber-soft);border:1px solid #eed7a7;color:#855a17;font-size:11px}
.toolbar-actions{display:flex;align-items:center;gap:8px}.toolbar-actions form{margin:0}.print-config{position:relative}.print-config>summary{list-style:none;cursor:pointer}.print-config>summary::-webkit-details-marker{display:none}.print-config>form{position:absolute;z-index:35;right:0;top:40px;width:290px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px rgba(31,51,83,.2);display:flex;flex-direction:column;gap:11px}.print-config>form>label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700}.print-config fieldset{max-height:235px;overflow:auto}.print-preview{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px}.print-preview-bar{display:flex;align-items:center;margin-bottom:24px}.print-preview-bar>div{margin-right:auto}.print-preview-bar h2{margin:0}.print-labels{display:grid;grid-template-columns:repeat(var(--label-columns),1fr);gap:10px}.print-label{min-height:105px;border:1px dashed #9da7b7;border-radius:5px;padding:13px;display:flex;flex-direction:column;justify-content:center;text-align:center;break-inside:avoid}.print-label code{font:700 20px monospace;letter-spacing:.08em;color:#111}.print-label strong{font-size:11px;margin-top:4px}.print-label span{font-size:10px;color:#46536a;margin-top:2px}.print-list code{font:700 13px monospace}.print-list th{background:#f2f4f7;color:#27354b}.print-list th,.print-list td{white-space:normal}
.print-preview-actions{display:flex;align-items:center;gap:8px}.print-preview-bar>.print-preview-actions{margin-right:0}
@media screen and (max-width:760px){.toolbar-actions{align-items:stretch;flex-direction:column}.toolbar-actions .button{width:100%}.print-config>form{position:fixed;left:14px;right:14px;top:100px;width:auto;max-height:calc(100vh - 120px);overflow:auto}.print-labels{grid-template-columns:1fr!important}}
@media print{body{background:#fff}.page,.content{width:100%;max-width:none;margin:0;padding:0}.print-preview{border:0;padding:0;width:100%}.print-preview-bar{display:none}.print-labels{display:grid!important;grid-template-columns:repeat(var(--label-columns),minmax(0,1fr))!important;width:100%;gap:0}.print-label{border:1px dashed #999;border-radius:0;min-width:0;min-height:32mm;padding:4mm}.print-list{font-size:10pt}.print-list th,.print-list td{padding:5px 7px}.print-list tbody tr{break-inside:avoid}}
.slug-field{display:flex;align-items:center;border:1px solid #d9e0ea;border-radius:8px;overflow:hidden;background:#f7f9fc}.slug-field span{padding:10px 0 10px 11px;color:var(--muted);font-size:11px;white-space:nowrap}.slug-field input{border:0;border-radius:0;background:transparent;padding-left:2px}.voucher-form textarea{width:100%;border:1px solid #d9e0ea;border-radius:8px;padding:10px 11px;font:inherit;resize:vertical}
.portal-editor-layout{display:grid;grid-template-columns:minmax(520px,760px) minmax(330px,430px);gap:22px;align-items:start;max-width:1230px}.portal-preview-panel{position:sticky;top:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.portal-preview-heading{display:flex;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.portal-preview-heading>div{margin-right:auto}.portal-preview-heading h3,.portal-preview-heading p{margin-bottom:0}.portal-preview-heading h3{font-size:16px}.portal-preview-heading>span{font-size:10px;font-weight:700;color:var(--green);background:var(--green-soft);padding:5px 8px;border-radius:20px}.portal-preview-stage{padding:34px 24px;min-height:430px;background-color:var(--preview-background);transition:background-color .2s}.portal-preview-card{max-width:330px;margin:auto;background:#fff;border-radius:17px;padding:27px;box-shadow:0 14px 35px rgba(20,35,60,.13);text-align:center}.portal-preview-logo{display:block;max-width:125px;max-height:55px;margin:0 auto 17px}.portal-preview-card h2{font-size:21px;margin-bottom:8px}.portal-preview-card>p:not(.portal-preview-terms){font-size:12px;color:#667085;white-space:pre-line;margin-bottom:18px}.portal-preview-card>label{display:block;text-align:left;font-size:10px;font-weight:700;margin-bottom:5px}.portal-preview-input{border:1px solid #d7deea;border-radius:8px;padding:10px;font:700 14px monospace;letter-spacing:.08em;color:#758196}.portal-preview-button{border-radius:8px;padding:10px;margin-top:9px;background:var(--preview-primary);color:#fff;font-size:11px;font-weight:700;transition:background .2s}.portal-preview-button.stripe{background:#172033}.portal-preview-button.paypal{background:#ffc439;color:#111}.portal-preview-divider{display:flex;align-items:center;gap:8px;color:#98a2b3;font-size:9px;margin:15px 0 7px}.portal-preview-divider:before,.portal-preview-divider:after{content:"";height:1px;background:#e5e9f0;flex:1}.portal-preview-payments>small{display:block;margin-top:9px;color:#8b96a8;font-size:9px}.portal-preview-terms{margin:15px 0 0!important;font-size:8px!important;color:#667085}.preview-note{font-size:10px;color:var(--muted);padding:13px 18px;margin:0}.payment-provider{border:1px solid var(--line);border-radius:11px;overflow:hidden}.payment-provider-head{padding:13px 14px!important;background:#fafbfc;cursor:pointer}.payment-provider-head>span{display:block}.payment-provider-head strong,.payment-provider-head small{display:block}.payment-provider-head small{margin-top:2px}.payment-provider-settings{display:flex;flex-direction:column;gap:13px;padding:15px;border-top:1px solid var(--line)}.payment-provider-settings>label,.payment-product-settings label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}.payment-product-settings{padding:16px;border:1px solid #d8e5f7;border-radius:11px;background:#f8fbff}.payment-product-settings>h4{font-size:13px;margin-bottom:13px}
@media(max-width:1100px){.portal-editor-layout{grid-template-columns:1fr}.portal-preview-panel{position:relative;top:auto;order:-1}.portal-preview-stage{padding:24px}}
.preview-device-switch{display:flex;background:#f0f3f7;border-radius:8px;padding:3px}.preview-device-switch button{border:0;background:transparent;padding:5px 8px;border-radius:6px;font-size:10px;font-weight:700;color:var(--muted)}.preview-device-switch button.active{background:#fff;color:var(--blue);box-shadow:0 1px 4px rgba(31,51,83,.14)}.portal-preview-stage.mobile{max-width:375px;min-height:620px;margin:20px auto;border-radius:24px;padding:55px 18px;box-shadow:0 0 0 8px #17213a}.portal-preview-stage.mobile .portal-preview-card{padding:22px}
.color-control{display:grid;grid-template-columns:48px 1fr;gap:8px}.color-control input[type=color]{height:42px;padding:3px;cursor:pointer}.color-control input[name]{font-family:monospace;text-transform:uppercase}.color-swatches{display:flex;gap:7px;margin-top:7px}.color-swatches button{width:25px;height:25px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #cad2df}.image-upload-field{border:1px dashed #cbd5e1;border-radius:11px;padding:13px;background:#fafcff}.image-upload-field>input[type=file]{font-size:11px;background:#fff}.current-image{font-size:10px;color:var(--green);font-weight:700}
.portal-preview-button.tikkie{background:#5f259f}.provider-admin{max-width:820px}.provider-warning{margin:0}.product-options{display:grid;gap:10px;margin-top:18px}.product-option{border:1px solid #dfe5ee;border-radius:12px;padding:14px;text-align:left}.product-option-head{display:flex;align-items:start;gap:10px}.product-option-head>div{margin-right:auto}.product-option h3{font-size:15px;margin:0}.product-option p{font-size:11px;color:#667085;margin:3px 0 0}.product-price{font-weight:800;color:var(--primary);white-space:nowrap}.product-meta{font-size:10px;color:#7d8899;margin-top:8px}.product-pay-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.product-pay-buttons form{margin:0}.product-pay-buttons button{margin:0;padding:9px;font-size:11px}.product-pay-buttons .tikkie{background:#5f259f}.product-pay-buttons .paypal{background:#ffc439;color:#111}@media(max-width:480px){.product-pay-buttons{grid-template-columns:1fr}}
.brand-logo{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.brand-logo img{width:72%;height:72%;object-fit:contain}
.brand-site-pill{display:inline-flex;align-items:center;gap:7px}
.brand-site-pill img{width:18px;height:18px;object-fit:contain}
.platform-label{font-weight:700;color:#344054}
.platform-tabs{display:flex;gap:8px;margin:-4px 0 16px}
.platform-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dbe3ef;border-radius:999px;color:#667085;font-size:12px;font-weight:700;background:#fff}
.platform-chip img{width:18px;height:18px;object-fit:contain}
.platform-chip.active{border-color:#b9cef2;color:#1769e0;background:#f3f7ff}
.omada-setup{border-color:#b9dedc}
.brand-info-logo{width:64px;height:64px;object-fit:contain;border-radius:16px;margin-bottom:10px}
.portal-connection-test{padding:14px 24px 0;display:flex;justify-content:flex-end}.omada-portal-settings{padding:4px 0 8px}
.omada-group-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid hsl(var(--group-hue) 45% 80%);border-radius:9px;padding:5px 8px;background:hsl(var(--group-hue) 65% 96%);color:hsl(var(--group-hue) 45% 31%);text-align:left;white-space:nowrap}
.omada-group-badge:hover{border-color:hsl(var(--group-hue) 55% 63%);background:hsl(var(--group-hue) 70% 92%)}
.omada-group-badge img{width:20px;height:20px;object-fit:contain;border-radius:5px}
.omada-group-badge strong,.omada-group-badge small{display:block;line-height:1.2}
.omada-group-badge strong{max-width:145px;overflow:hidden;text-overflow:ellipsis;font-size:11px}
.omada-group-badge small{margin-top:2px;font:9px monospace;opacity:.75}
tr[data-omada-group-row] td:first-child{border-left:3px solid hsl(178 45% 42%)}
.voucher-bundle-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid #cddcf2;border-radius:9px;padding:5px 8px;background:#f2f7ff;color:#24538f;text-align:left;white-space:nowrap}.voucher-bundle-badge:hover{border-color:#8fb3e8;background:#e8f1ff}.voucher-bundle-badge img{width:20px;height:20px;object-fit:contain;border-radius:5px}.voucher-bundle-badge strong,.voucher-bundle-badge small{display:block;line-height:1.2}.voucher-bundle-badge strong{max-width:145px;overflow:hidden;text-overflow:ellipsis;font-size:11px}.voucher-bundle-badge small{margin-top:2px;font:9px monospace;opacity:.75}
.welcome-actions{display:grid;grid-template-columns:1fr;align-items:center;gap:15px;width:170px;position:relative;z-index:2}.welcome>.welcome-actions{margin-left:auto;margin-right:0}.welcome-actions .button{width:100%;min-height:40px;padding:9px 12px;white-space:nowrap;font-size:12px;line-height:1.2;font-weight:700}.welcome-actions .history-toggle{background:#fff;color:#34425b;border:1px solid #d7dfeb}.welcome-actions .history-toggle:hover{background:#f3f6fa}
.stat-card.has-history{position:relative;overflow:hidden;min-height:119px}.stat-card.has-history>.stat-icon,.stat-card.has-history>div{position:relative;z-index:2}.stat-sparkline{position:absolute;z-index:1;right:-7px;top:13px;width:58%;height:75px;opacity:.82;pointer-events:none}.stat-sparkline polyline{fill:none;stroke:var(--blue);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.stat-trend{display:block;margin-top:5px;font-size:9px;font-weight:700}.stat-trend.up{color:var(--green)}.stat-trend.down{color:var(--red)}.stat-trend.neutral{color:var(--muted)}
@media(max-width:760px){.welcome-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%}.welcome-actions .button{white-space:nowrap}.stat-sparkline{width:52%;opacity:.62}}
