:root{
  --bg:#090909;
  --bg-2:#0d0d0d;
  --panel:#111111;
  --panel-2:#151515;
  --panel-3:#1a1a1a;
  --ink:#f4f4f2;
  --muted:#a7a7a3;
  --muted-2:#6f6f6b;
  --line:#292929;
  --line-soft:#1d1d1d;
  --accent:#378bff;
  --accent-2:#71b4ff;
  --danger:#ff6b5f;
  --radius:22px;
  --shadow:0 24px 80px rgba(0,0,0,.42);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:
  radial-gradient(circle at 78% 10%,rgba(55,139,255,.10),transparent 26rem),
  radial-gradient(circle at 20% 70%,rgba(55,139,255,.035),transparent 30rem),
  var(--bg);color:var(--ink);min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.23;background-image:linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent 88%)}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
a{color:inherit}
.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,5vw);border-bottom:1px solid rgba(255,255,255,.07);position:sticky;top:0;background:rgba(9,9,9,.82);backdrop-filter:blur(18px);z-index:30}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:22px;font-weight:900;letter-spacing:-.04em;white-space:nowrap}
.brand .logo-accent{color:var(--accent)}
.brand-mark{width:27px;height:27px;border:1px solid rgba(55,139,255,.45);border-radius:9px;display:grid;place-items:center;color:var(--accent);font-size:14px;box-shadow:inset 0 0 18px rgba(55,139,255,.08)}
.brand-sub{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.13em;color:var(--muted-2);font-weight:700;margin-left:2px}
.topbar nav{display:flex;gap:28px;align-items:center}
.topbar nav a{color:#bcbcb8;text-decoration:none;font-size:13px;font-weight:650;transition:.2s}
.topbar nav a:hover{color:#fff}
.nav-btn,.side-link{border:0;background:none;cursor:pointer}
.nav-btn{color:#fff;border:1px solid #343434;padding:10px 14px;border-radius:12px;background:#131313;font-size:12px;font-weight:800}
.nav-btn:hover{border-color:#555}
main{overflow:hidden}
.hero{max-width:1180px;margin:0 auto;padding:104px 24px 82px;position:relative}
.hero:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;right:-170px;top:-120px;border:1px solid rgba(55,139,255,.10);box-shadow:0 0 100px rgba(55,139,255,.04)}
.hero:after{content:"";position:absolute;width:230px;height:1px;right:50px;top:165px;background:linear-gradient(90deg,transparent,var(--accent));transform:rotate(-31deg);opacity:.7;box-shadow:0 0 18px var(--accent)}
.hero-copy{max-width:890px;position:relative;z-index:1}
.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:#8f8f8b}
.eyebrow:before{content:"";width:9px;height:9px;border:1px solid var(--accent);border-radius:3px;box-shadow:0 0 12px rgba(55,139,255,.35)}
.hero h1{font-size:clamp(56px,9vw,116px);line-height:.87;letter-spacing:-.075em;margin:22px 0 28px;font-weight:950;text-transform:uppercase}
.hero h1 .metal{display:inline-block;background:linear-gradient(180deg,#fff 0%,#f4f4f4 32%,#bdbdbd 61%,#f4f4f4 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 1px 0 rgba(255,255,255,.2)}
.hero h1 .accent-word{color:var(--accent);text-shadow:0 0 40px rgba(55,139,255,.13)}
.lead{max-width:720px;font-size:18px;line-height:1.65;color:#aeadab;margin:0 0 44px}
.lead strong{color:var(--ink);font-weight:750}
.search-wrap{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:stretch;position:relative;z-index:2}
.search-card,.panel-card{background:linear-gradient(145deg,rgba(21,21,21,.98),rgba(13,13,13,.98));border:1px solid #2c2c2c;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.search-card:before,.panel-card:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(55,139,255,.7),transparent);opacity:.6}
.search-aside{border:1px solid #2c2c2c;border-radius:var(--radius);padding:26px;background:linear-gradient(150deg,#121212,#0d0d0d);display:flex;flex-direction:column;justify-content:space-between;min-height:100%;position:relative;overflow:hidden}
.search-aside:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-90px;bottom:-90px;background:radial-gradient(circle,rgba(55,139,255,.24),transparent 65%)}
.aside-icon{width:52px;height:52px;border:1px solid #373737;border-radius:15px;display:grid;place-items:center;font-size:22px;color:var(--accent);background:#101010;box-shadow:inset 0 0 20px rgba(55,139,255,.06)}
.aside-copy{position:relative;z-index:1}
.aside-copy b{font-size:18px;letter-spacing:-.025em}
.aside-copy p{font-size:13px;line-height:1.55;color:#8e8e8a;margin:8px 0 0}
.field-group,label{display:grid;gap:9px;font-weight:750;font-size:13px;color:#d9d9d5}
.field-group small{color:#73736f;font-weight:500;line-height:1.4}
select,input,textarea{width:100%;border:1px solid #313131;border-radius:13px;background:#0d0d0d;padding:15px 16px;outline:none;color:#f5f5f3;transition:border-color .18s,box-shadow .18s,background .18s}
select{appearance:auto}
input::placeholder,textarea::placeholder{color:#60605d}
select:focus,input:focus,textarea:focus{border-color:rgba(55,139,255,.72);box-shadow:0 0 0 3px rgba(55,139,255,.09);background:#101010}
.divider{height:1px;background:#272727;margin:25px 0}
.search-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.shield{color:#8f8f8a;font-size:11px;font-weight:700;text-transform:none;letter-spacing:0}
.shield:before{content:"";display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:7px;box-shadow:0 0 10px rgba(55,139,255,.7)}
.consent{display:flex;grid-template-columns:18px 1fr;align-items:start;margin:17px 0;color:#777773;font-weight:500;font-size:12px;line-height:1.5}
.consent input{width:16px;height:16px;margin:2px 0;accent-color:var(--accent)}
.primary,.secondary{border-radius:13px;padding:15px 18px;border:1px solid #343434;cursor:pointer;font-weight:850;letter-spacing:.02em;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}
.primary{background:linear-gradient(135deg,var(--accent),#155ddb);color:#fff;width:100%;border-color:#4e9dff;box-shadow:0 12px 30px rgba(55,139,255,.16)}
.primary:hover{transform:translateY(-1px);box-shadow:0 15px 36px rgba(55,139,255,.23)}
.primary:disabled{opacity:.6;cursor:wait;transform:none}
.secondary{background:#141414;color:#fff}
.secondary:hover{border-color:#555;background:#181818}
.micro-row{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:16px;color:#676763;font-size:11px}
.micro-row span:before{content:"•";color:var(--accent);margin-right:6px}
.result{margin-top:20px;background:linear-gradient(145deg,#161616,#0e0e0e);color:#fff;border:1px solid #333;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.result:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent);box-shadow:0 0 18px var(--accent)}
.result.hidden,.hidden{display:none!important}
.result h3{font-size:30px;letter-spacing:-.04em;margin:14px 0 8px}
.result .masked{color:#898985}
.ticket-summary{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:22px;padding:15px 17px;border:1px solid #2d2d2d;border-radius:14px;background:#0c0c0c}
.ticket-summary span{color:#858581;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.ticket-summary strong{font-size:32px;line-height:1;color:var(--accent);letter-spacing:-.04em}
.tickets{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:9px;margin-top:14px}
.ticket{background:#0a0a0a;color:#fff;border:1px solid #3b3b3b;border-radius:11px;padding:11px 8px;font-weight:900;min-width:0;text-align:center;box-shadow:inset 0 0 18px rgba(255,255,255,.015);font-variant-numeric:tabular-nums}
.ticket:first-child{border-color:rgba(55,139,255,.65)}
.tickets-wrap:not(.expanded) .ticket-extra{display:none}
.ticket-toggle{width:100%;margin-top:12px;padding:13px 16px;border-radius:12px;border:1px solid #343434;background:#111;color:#d7d7d3;font-weight:850;cursor:pointer;transition:.18s}
.ticket-toggle:hover{border-color:rgba(55,139,255,.65);background:#101b31}
.active-section{max-width:1180px;margin:0 auto;padding:82px 24px}
.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:20px}
.section-title-row h2,.app-section h2,.panel-card h2{font-size:clamp(36px,5vw,64px);line-height:.95;letter-spacing:-.055em;margin:16px 0;color:#f0f0ee}
.section-title-row h2 span,.app-section h2 span{color:var(--accent)}
.status-dot{font-size:12px;color:#8a8a86;border:1px solid #2c2c2c;padding:9px 12px;border-radius:999px;background:#101010}
.status-dot:before{content:"";width:7px;height:7px;background:var(--accent);border-radius:50%;display:inline-block;margin-right:8px;box-shadow:0 0 10px rgba(55,139,255,.65)}
.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.action-card{background:linear-gradient(145deg,#151515,#0e0e0e);border:1px solid #292929;border-radius:19px;padding:23px;min-height:178px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.action-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-65px;bottom:-75px;background:radial-gradient(circle,rgba(55,139,255,.18),transparent 66%)}
.action-card .num{font-size:clamp(24px,3vw,39px);font-weight:900;letter-spacing:-.045em;margin-top:13px;position:relative;z-index:1}
.action-card p{margin:20px 0 0;color:#777773;font-size:12px;position:relative;z-index:1}
.app-section{max-width:1180px;margin:36px auto 110px;border:1px solid #2d2d2d;border-radius:28px;padding:46px;display:grid;grid-template-columns:150px 1fr;gap:38px;background:linear-gradient(145deg,#141414,#0b0b0b);position:relative;overflow:hidden;box-shadow:var(--shadow)}
.app-section:after{content:"";position:absolute;width:420px;height:420px;right:-230px;top:-230px;border-radius:50%;background:radial-gradient(circle,rgba(55,139,255,.19),transparent 65%)}
.app-badge{width:136px;height:136px;border-radius:30px;border:1px solid #383838;background:#0c0c0c;display:grid;place-items:center;position:relative;overflow:hidden;box-shadow:inset 0 0 34px rgba(55,139,255,.05)}
.app-badge .app-letter{font-size:48px;font-weight:950;letter-spacing:-.08em;color:#fff;z-index:1}
.app-badge .app-letter span{color:var(--accent)}
.app-badge:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:rgba(55,139,255,.17);right:-50px;bottom:-50px;filter:blur(5px)}
.app-section>div:last-child{position:relative;z-index:1}
.app-section p{color:#8d8d89;max-width:700px;line-height:1.65}
.chips,.button-row{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.chips span{border:1px solid #343434;border-radius:999px;padding:8px 12px;color:#aaa9a5;font-size:11px;background:#111}
.chips span:first-child{border-color:rgba(55,139,255,.35);color:#b0d4ff}
.app-section .secondary{border-color:#393939;background:#101010;color:#fff}
.app-section details{color:#858581;margin-top:12px;font-size:13px}
.app-section summary{cursor:pointer;color:#bbb}
footer{border-top:1px solid #202020;padding:38px max(24px,5vw);display:grid;grid-template-columns:220px 1fr auto;gap:30px;color:#666662;font-size:12px;background:#080808}
footer p{margin:0;max-width:650px;line-height:1.55}
.error-text{color:#ff8b7f;margin-top:12px;font-size:13px}
.status-text{margin-top:16px;color:#8f8f8b}
.warning{background:#0b2241;border:1px solid #30578f;color:#bedbff;padding:14px 16px;border-radius:14px;margin-bottom:20px}

/* admin */
.admin-body{background:var(--bg)}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 20%,rgba(55,139,255,.10),transparent 30rem),#090909}
.login-card{width:min(450px,100%);background:linear-gradient(145deg,#151515,#0e0e0e);border:1px solid #2d2d2d;padding:34px;border-radius:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.login-card:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.login-card h1{font-size:52px;line-height:.95;letter-spacing:-.06em;margin:17px 0;color:#f2f2f0}
.login-card p{color:#858581;line-height:1.55}
.login-card input{margin:10px 0}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.sidebar{position:sticky;top:0;height:100vh;padding:26px 18px;background:#0b0b0b;color:#fff;display:flex;flex-direction:column;gap:7px;border-right:1px solid #222}
.sidebar .brand{color:#fff;margin:1px 10px 28px}
.side-link{color:#777773;text-align:left;padding:13px 14px;border-radius:12px;font-weight:700;font-size:13px;transition:.18s}
.side-link:hover{background:#131313;color:#ddd}
.side-link.active{background:linear-gradient(90deg,rgba(55,139,255,.16),rgba(55,139,255,.03));color:#fff;box-shadow:inset 2px 0 0 var(--accent)}
.side-spacer{flex:1}
.admin-main{padding:46px;max-width:1320px;width:100%;margin:0 auto}
.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}
.admin-top h1{font-size:clamp(42px,5vw,62px);line-height:.95;letter-spacing:-.06em;margin:12px 0;color:#f1f1ef}
.link-button{text-decoration:none;display:inline-block;width:auto}
.admin-list{display:grid;gap:12px}
.admin-item{background:linear-gradient(145deg,#151515,#0f0f0f);border:1px solid #2b2b2b;border-radius:17px;padding:19px;display:grid;grid-template-columns:1.5fr .6fr .5fr auto;gap:18px;align-items:center}
.admin-item h3{margin:0 0 6px;font-size:18px}
.admin-item small{color:#73736f}
.badge{display:inline-block;border:1px solid #3a3a3a;border-radius:999px;padding:6px 10px;font-size:11px;color:#bdbdb9;background:#101010}
.admin-actions{display:flex;gap:8px;justify-content:flex-end}
.icon-btn{border:1px solid #343434;background:#111;color:#d1d1cd;border-radius:10px;padding:9px 11px;cursor:pointer;font-size:12px;font-weight:700}
.icon-btn:hover{border-color:#555}
.danger{color:#ff7b70;border-color:#4b2926}
.panel-card{max-width:900px}
.panel-card>p{color:#858581;line-height:1.55}
.panel-card>label{margin:16px 0}
.mapping{margin-top:22px}
.mapping-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sample-wrap{overflow:auto;margin:18px 0;border:1px solid #292929;border-radius:13px}
.sample-table{border-collapse:collapse;width:100%;font-size:12px;background:#0d0d0d}
.sample-table th,.sample-table td{border-bottom:1px solid #242424;border-right:1px solid #242424;padding:9px;text-align:left;white-space:nowrap}
.sample-table th{background:#151515;color:#d7d7d3}.sample-table td{color:#8d8d89}

@media(max-width:900px){
  .topbar{height:66px;padding:0 18px}.brand{font-size:19px}.brand-sub{display:none}.topbar nav a{display:none}.nav-btn{padding:9px 11px}
  .hero{padding:68px 18px 48px}.hero:before{width:310px;height:310px;right:-180px}.hero:after{right:-40px;top:150px}.hero h1{font-size:clamp(42px,11.5vw,58px);margin-top:18px}.lead{font-size:16px;margin-bottom:30px}
  .search-wrap{grid-template-columns:1fr}.search-card{padding:20px;border-radius:18px}.search-aside{min-height:145px;padding:20px}.aside-icon{width:44px;height:44px}
  .search-head{flex-direction:column;align-items:flex-start;gap:7px}.result{padding:22px 18px}.result h3{font-size:26px}.tickets{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:7px}.ticket{padding:10px 6px;font-size:13px}.ticket-summary strong{font-size:28px}.active-section{padding:58px 18px}.section-title-row{align-items:flex-start;flex-direction:column}.action-grid{grid-template-columns:1fr}.action-card{min-height:150px}
  .app-section{margin:18px 14px 66px;padding:25px;grid-template-columns:1fr;border-radius:23px}.app-badge{width:90px;height:90px;border-radius:22px}.app-badge .app-letter{font-size:34px}.button-row{flex-direction:column}.button-row button{width:100%}
  footer{grid-template-columns:1fr;padding:28px 18px}.admin-shell{display:block}.sidebar{position:relative;height:auto;display:flex;flex-direction:row;overflow:auto;padding:10px 12px;border-right:0;border-bottom:1px solid #222}.sidebar .brand,.side-spacer{display:none}.side-link{white-space:nowrap}.admin-main{padding:24px 14px}.admin-top{align-items:flex-start}.admin-top h1{font-size:42px}.admin-top .link-button{display:none}.admin-item{grid-template-columns:1fr}.admin-actions{justify-content:flex-start;flex-wrap:wrap}.mapping-grid{grid-template-columns:1fr}
}

/* v3 live actions */
.wide-card{max-width:1100px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.inline-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.primary.compact{width:auto;padding-inline:22px}.legacy-box{margin-top:22px}.legacy-box summary{cursor:pointer;color:#ddd}.legacy-box[open] summary{margin-bottom:20px}.detect-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;padding:12px;background:#0d0d0d;border-bottom:1px solid #292929}.detect-grid>div{padding:10px;border:1px solid #262626;border-radius:10px;background:#111}.detect-grid small{display:block;color:#777;margin-bottom:5px}.detect-grid b{font-size:12px;word-break:break-word}.action-admin-card{background:linear-gradient(145deg,#151515,#0f0f0f);border:1px solid #2b2b2b;border-radius:20px;padding:22px;box-shadow:0 16px 46px rgba(0,0,0,.16)}.action-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.action-card-head h3{font-size:24px;letter-spacing:-.035em;margin:10px 0 6px}.row-badges{display:flex;gap:7px;flex-wrap:wrap}.mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}.mini-stats span{border:1px solid #292929;border-radius:13px;padding:12px;background:#0d0d0d;min-width:0}.mini-stats b{display:block;font-size:17px;overflow:hidden;text-overflow:ellipsis}.mini-stats small{display:block;color:#6f6f6b;margin-top:4px}.progress{height:7px;background:#222;border-radius:999px;overflow:hidden;margin-top:16px}.progress.big{height:10px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit}.bad-text{color:#ff8b7f}.muted{color:#777}.detail-panel{margin-top:28px;scroll-margin-top:25px}.detail-card{border:1px solid #333;background:linear-gradient(145deg,#161616,#0d0d0d);border-radius:24px;padding:26px;box-shadow:var(--shadow)}.detail-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.detail-title h2{font-size:42px;letter-spacing:-.05em;margin:12px 0}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:22px}.stats-grid>div,.detail-info>div{border:1px solid #2a2a2a;border-radius:13px;padding:13px;background:#0c0c0c}.stats-grid small,.detail-info small{display:block;color:#73736f;margin-bottom:5px}.stats-grid b{font-size:18px}.detail-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:9px}.detail-info span{font-size:12px;line-height:1.4}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.break{word-break:break-all}.subhead{margin-top:22px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:#8d8d89}.action-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px);z-index:100;display:grid;place-items:center;padding:20px}.overlay-card{width:min(1280px,100%);max-height:92vh;overflow:auto;background:#0c0c0c;border:1px solid #333;border-radius:24px;padding:24px;box-shadow:0 30px 100px rgba(0,0,0,.65)}.overlay-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px;position:sticky;top:-24px;background:#0c0c0c;padding:24px 0 10px;z-index:2}.overlay-head h2{font-size:34px;letter-spacing:-.04em;margin:8px 0 0}.data-table-wrap{overflow:auto;border:1px solid #292929;border-radius:14px;margin-top:14px;max-height:62vh}.data-table{border-collapse:collapse;width:100%;font-size:13px;background:#0b0b0b}.data-table th,.data-table td{padding:10px 12px;border-right:1px solid #252525;border-bottom:1px solid #252525;text-align:left;white-space:nowrap}.data-table th{position:sticky;top:0;background:#171717;color:#e6e6e2;z-index:1}.data-table td{color:#b3b3af}.data-table tbody tr:hover td{background:#121212}.public-table-card{width:min(1050px,100%)}.public-table-state:empty{display:none}.waiting-card{text-align:center;padding:44px 20px;border:1px solid #292929;border-radius:18px;background:#101010}.waiting-card h3{font-size:30px;margin:12px 0 8px}.waiting-card p{color:#8f8f8b;max-width:620px;margin:0 auto 22px;line-height:1.6}.waiting-icon{font-size:42px}.public-table .ticket-cell{font-weight:900;color:var(--accent);font-variant-numeric:tabular-nums}.table-open-btn{width:100%;margin-top:14px}.card-badge{margin-top:12px}.completed-section{padding-top:20px}.muted-dot:before{background:#777;box-shadow:none}.action-card .badge{position:relative;z-index:1}

@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,1fr)}.mini-stats{grid-template-columns:repeat(2,1fr)}.detail-info{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.form-grid.two,.form-grid.three{grid-template-columns:1fr}.detect-grid{grid-template-columns:repeat(2,1fr)}.action-card-head{flex-direction:column}.action-card-head>.secondary{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.detail-info{grid-template-columns:1fr}.detail-title h2{font-size:32px}.detail-title{flex-direction:column}.overlay{padding:8px}.overlay-card{padding:16px;border-radius:18px}.overlay-head{top:-16px;padding-top:16px}.data-table-wrap{max-height:68vh}.data-table th,.data-table td{padding:9px}.mini-stats{grid-template-columns:repeat(2,1fr)}}

/* === Layout polish v3.1 === */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.admin-main{min-width:0}
.action-admin-card,.detail-card,.panel-card,.search-card,.action-card{overflow:hidden}
.action-card-head>div,.detail-title>div,.admin-top>div{min-width:0}
.action-card-head h3,.detail-title h2,.admin-top h1,.section-title-row h2{overflow-wrap:anywhere}
.mini-stats span,.stats-grid>div,.detail-info>div{display:flex;flex-direction:column;justify-content:center;min-height:76px}
.mini-stats b,.stats-grid b{line-height:1.15;white-space:normal;word-break:break-word}
.action-toolbar{align-items:center}
.action-toolbar .secondary,.action-toolbar .primary,.inline-actions .secondary,.inline-actions .primary{min-height:42px;display:inline-flex;align-items:center;justify-content:center}
.link-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.form-grid label,.panel-card>label{min-width:0}
input,select,textarea{width:100%;min-width:0}
.data-table th,.data-table td{vertical-align:middle}

/* Full public table page: used for every action */
.table-page-body{background:var(--bg);min-height:100vh;overflow-x:hidden}
.table-topbar{height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 clamp(18px,4vw,56px);border-bottom:1px solid #202020;background:rgba(9,9,9,.94);position:sticky;top:0;z-index:30;backdrop-filter:blur(18px)}
.compact-link{padding:10px 14px!important;width:auto!important;white-space:nowrap}
.table-page-shell{width:min(1480px,100%);margin:0 auto;padding:52px clamp(16px,4vw,56px) 72px}
.table-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.table-page-head h1{font-size:clamp(38px,5vw,72px);line-height:.98;letter-spacing:-.055em;margin:14px 0 8px;max-width:960px}
.table-subtitle{margin:0;color:#92928e;line-height:1.55;max-width:760px}
.table-summary{flex:0 0 auto}
.table-panel{border:1px solid #292929;border-radius:22px;background:linear-gradient(145deg,#141414,#0d0d0d);padding:20px;box-shadow:var(--shadow)}
.table-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:end;margin-bottom:18px}
.table-search-box label{display:block;font-size:13px;font-weight:800;margin-bottom:9px}
.table-search-box small{display:block;color:#777773;margin-top:8px;line-height:1.4}
.table-search-box input{height:50px;background:#0b0b0b;border:1px solid #343434;border-radius:13px;color:#fff;padding:0 15px;outline:none}
.table-search-box input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(55,139,255,.09)}
.table-counts{display:grid;grid-template-columns:repeat(2,minmax(145px,1fr));gap:9px}
.table-counts>div{border:1px solid #2d2d2d;border-radius:14px;background:#0b0b0b;padding:12px 16px;min-height:72px;display:flex;flex-direction:column;justify-content:center}
.table-counts small{color:#777773;margin-bottom:4px}
.table-counts strong{font-size:23px;line-height:1}
.table-result-meta{min-height:20px;color:#b5b5b1;font-size:13px;margin-bottom:8px}
.big-table-wrap{border:1px solid #292929;border-radius:16px;overflow:auto;background:#090909;max-height:none;margin:0}
.big-public-table{font-size:14px;min-width:680px}
.big-public-table th{top:74px;z-index:3;background:#181818;padding:13px 16px}
.big-public-table td{padding:11px 16px}
.big-public-table .ticket-cell{font-weight:900;color:var(--accent);font-variant-numeric:tabular-nums;width:120px}
.table-sentinel{text-align:center;color:#71716d;font-size:12px;padding:18px;border-top:1px solid #202020}
.table-waiting{max-width:920px;margin:60px auto}
.waiting-progress{margin-top:10px;color:#8a8a86;font-size:13px}

@media(max-width:980px){
  .admin-shell{grid-template-columns:210px minmax(0,1fr)}
  .admin-main{padding:32px 24px}
  .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .table-page-head{align-items:flex-start;flex-direction:column}
  .table-controls{grid-template-columns:1fr}
  .table-counts{width:100%}
}
@media(max-width:760px){
  .topbar nav a{display:none}.topbar{padding:0 16px}.brand-sub{display:none}
  .search-wrap{grid-template-columns:1fr}.search-aside{display:none}
  .action-grid{grid-template-columns:1fr}
  .admin-shell{display:block}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;padding:14px}.sidebar .brand{width:100%;margin:0 0 8px}.side-spacer{display:none}.side-link{flex:1 1 140px}
  .admin-main{padding:24px 14px}.admin-top{align-items:flex-start;gap:14px}.admin-top .link-button{display:none}
  .action-card-head,.detail-title{flex-direction:column}.action-card-head>.secondary{width:100%}
  .stats-grid,.mini-stats,.detail-info{grid-template-columns:repeat(2,minmax(0,1fr))}
  .table-topbar{height:66px;padding:0 14px}.table-topbar .compact-link{font-size:12px;padding:9px 10px!important}
  .table-page-shell{padding:28px 10px 50px}.table-page-head{margin-bottom:18px}.table-panel{padding:10px;border-radius:16px}
  .table-counts{grid-template-columns:1fr 1fr}.table-counts>div{padding:10px;min-height:66px}.table-counts strong{font-size:20px}
  .big-public-table{min-width:610px}.big-public-table th{top:66px}.big-public-table th,.big-public-table td{padding:10px 12px}
}
@media(max-width:480px){.stats-grid,.mini-stats,.detail-info{grid-template-columns:1fr 1fr}.table-counts{grid-template-columns:1fr}.table-page-head h1{font-size:38px}}
/* public table scrolling polish */
.big-table-wrap{max-height:calc(100vh - 330px);min-height:420px;overflow:auto}
.big-public-table th{position:sticky;top:0}
@media(max-width:760px){.big-table-wrap{max-height:calc(100vh - 300px);min-height:360px}.big-public-table th{top:0}}


/* === Winners & live draw tools v3.2 === */
.winner-panel{border:1px solid #2c2c2c;border-radius:22px;background:linear-gradient(145deg,#141414,#0d0d0d);padding:22px;margin:0 0 22px;box-shadow:var(--shadow)}
.winner-panel-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:28px;align-items:end}
.winner-panel h2{font-size:clamp(28px,4vw,46px);letter-spacing:-.045em;margin:12px 0 8px}.winner-panel p{color:#858581;margin:0;line-height:1.55}
.winner-check{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.winner-check .primary{width:auto;white-space:nowrap}.winner-check-result{margin-top:16px;border:1px solid #343434;border-radius:14px;padding:16px;background:#0a0a0a}.winner-big{font-size:20px;font-weight:900;color:#fff}.winner-check-result p{margin:8px 0 0;color:#aaa}.not-winner{color:#b8b8b4}
.winner-list-details{margin-top:16px;border-top:1px solid #292929;padding-top:14px}.winner-list-details summary{cursor:pointer;font-weight:850;color:#e7e7e3}.winner-list-details .data-table-wrap{max-height:460px}
.winner-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(55,139,255,.34);background:rgba(55,139,255,.08);border-radius:999px;padding:5px 9px;color:#c3e0ff;font-weight:850;white-space:nowrap}
.table-action{border:1px solid #3a3a3a;background:#151515;color:#fff;border-radius:9px;padding:7px 10px;font-weight:800;cursor:pointer}.table-action:hover{border-color:var(--accent)}.danger-mini{color:#ff9b91;border-color:#57302c}
@media(max-width:760px){.winner-panel{padding:16px}.winner-panel-head{grid-template-columns:1fr}.winner-check{grid-template-columns:1fr}.winner-check .primary{width:100%}}

/* === Downloads & winner manager contacts v3.3 === */
.overlay-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.overlay-tools #overlayDownload:empty{display:none}
.overlay-tools .compact-link{height:46px;min-height:46px}
.manager-contact-box{margin-top:14px;border:1px solid rgba(55,139,255,.28);background:linear-gradient(145deg,rgba(55,139,255,.07),rgba(55,139,255,.035));border-radius:14px;padding:14px 15px;display:flex;flex-direction:column;gap:6px}
.manager-contact-box>b{font-size:15px;color:#fff}
.manager-contact-box>span{font-size:12px;color:#989894;line-height:1.45}
.manager-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}
.manager-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #3a3a3a;border-radius:10px;background:#141414;color:#fff;text-decoration:none;font-size:12px;font-weight:850}
.manager-link:hover{border-color:var(--accent);transform:translateY(-1px)}
.manager-link.vk:before{content:'VK';margin-right:7px;color:#8cb8ff;font-size:10px}.manager-link.telegram:before{content:'➤';margin-right:7px;color:#77bfff}.manager-link.max:before{content:'M';margin-right:7px;color:#b6a1ff;font-size:11px;font-weight:950}
#winnerManagerContacts:not(.hidden){margin-top:14px}
@media(max-width:700px){.overlay-tools{grid-template-columns:1fr}.overlay-tools #overlayDownload .link-button{width:100%}.manager-links{display:grid;grid-template-columns:1fr}.manager-link{width:100%}}

/* v3.5 - safe live draw table */
.live-table-button{border-color:rgba(55,139,255,.55);background:rgba(55,139,255,.08)}
.live-draw-body{min-height:100vh;background:#080808;color:#f3f3ef;margin:0}
.live-draw-topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(18px,4vw,58px);position:sticky;top:0;z-index:30;background:rgba(8,8,8,.96);backdrop-filter:blur(18px);border-bottom:1px solid #242424}
.live-draw-topbar strong{display:block;font-size:18px;margin-top:4px}
.live-draw-shell{width:min(1540px,100%);margin:0 auto;padding:42px clamp(16px,4vw,58px) 70px}
.live-draw-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;margin-bottom:24px}
.live-draw-head h1{font-size:clamp(36px,5vw,68px);letter-spacing:-.055em;line-height:1;margin:10px 0 12px}
.live-draw-head p{max-width:780px;color:#93938e;line-height:1.55;margin:0}
.live-draw-stats{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px}
.live-draw-stats>div{background:#101010;border:1px solid #2a2a2a;border-radius:16px;padding:15px 18px;min-width:170px}
.live-draw-stats small{display:block;color:#7d7d78;margin-bottom:7px}.live-draw-stats strong{font-size:26px}
.live-draw-panel{background:linear-gradient(145deg,#141414,#0d0d0d);border:1px solid #292929;border-radius:22px;padding:20px;box-shadow:var(--shadow)}
.live-draw-controls{display:grid;grid-template-columns:minmax(280px,720px) 1fr;gap:20px;align-items:end;margin-bottom:16px}
.live-draw-controls .table-result-meta{text-align:right;margin:0;min-height:auto}
.live-draw-table-wrap{border:1px solid #2b2b2b;border-radius:16px;overflow:auto;max-height:calc(100vh - 300px);background:#090909}
.live-draw-table th{top:0;font-size:13px}.live-draw-table td{font-size:15px;padding:12px 14px}
.live-draw-table .ticket-cell{font-size:18px;font-weight:900;color:var(--accent)}
.live-draw-table .live-fio{font-weight:750;color:#f2f2ef}
.live-draw-table .live-action-cell{white-space:nowrap}
.live-winner-row td{background:rgba(55,139,255,.065)}
.live-mark-button{font-weight:800}
#overlayDownload{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:800px){.live-draw-topbar{align-items:flex-start;flex-direction:column}.live-draw-head{grid-template-columns:1fr}.live-draw-stats{grid-template-columns:repeat(2,1fr)}.live-draw-controls{grid-template-columns:1fr}.live-draw-controls .table-result-meta{text-align:left}.live-draw-table-wrap{max-height:none}.live-draw-table td{font-size:13px}}


/* ==========================================================
   Единый раздел акций + встроенная публичная таблица
   ========================================================== */

.action-entry{
  min-width:0;
}

.action-entry.open{
  grid-column:1 / -1;
}

.action-card-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid #343434;
  background:#101010;
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.action-card-status:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
}

.action-card-status.collecting{
  color:#bddbff;
  border-color:rgba(55,139,255,.35);
}

.action-card-status.collecting:before{
  background:var(--accent);
  box-shadow:0 0 10px rgba(55,139,255,.65);
}

.action-card-status.finished{
  color:#aaa;
}

.action-card-status.finished:before{
  background:#737373;
}

.inline-table-shell{
  margin-top:14px;
}

.inline-table-window{
  border:1px solid #303030;
  border-radius:22px;
  overflow:hidden;
  background:#0b0b0b;
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}

.inline-table-bar{
  min-height:76px;
  padding:15px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid #292929;
  background:linear-gradient(145deg,#151515,#0e0e0e);
}

.inline-table-bar b{
  display:block;
  margin-top:5px;
  font-size:16px;
}

.inline-table-frame{
  display:block;
  width:100%;
  height:680px;
  border:0;
  background:#090909;
}

/* Страница таблицы, когда она открыта внутри карточки */
.embedded-table .table-topbar{
  display:none;
}

.embedded-table .table-page-shell{
  padding:22px;
  max-width:none;
}

.embedded-table .table-page-head{
  margin-bottom:18px;
}

.embedded-table .big-table-wrap{
  min-height:360px;
  max-height:calc(100vh - 280px);
}

.embedded-table .big-public-table th{
  top:0;
}

@media(max-width:760px){
  .inline-table-frame{
    height:68vh;
    min-height:500px;
  }

  .inline-table-bar{
    padding:13px 14px;
  }

  .embedded-table .table-page-shell{
    padding:10px;
  }

  .embedded-table .table-page-head{
    margin-bottom:12px;
  }
}

.action-card-status.stopped{
  color:#bddbff;
  border-color:rgba(97,172,255,.28);
}

.action-card-status.stopped:before{
  background:#5ca2ff;
  box-shadow:0 0 8px rgba(92,162,255,.35);
}


/* === inline table single-scroll fix === */

.inline-table-shell,
.inline-table-window{
  overflow:hidden;
}

.inline-table-frame{
  display:block;
  width:100%;
  height:900px;
  border:0;
  overflow:hidden;
  background:#090909;
}

html.embedded-table-root,
body.embedded-table{
  overflow:hidden !important;
}

body.embedded-table .big-table-wrap{
  max-height:520px !important;
  min-height:360px !important;
  overflow:auto !important;
}

body.embedded-table .big-public-table th{
  top:0 !important;
}

@media(max-width:760px){
  .inline-table-frame{
    height:820px;
  }

  body.embedded-table .big-table-wrap{
    max-height:420px !important;
    min-height:300px !important;
  }
}


/* === Search-only public homepage === */

/* Эти блоки остаются в коде, но на главной не показываются */
#actions.hidden,
#app.hidden{
  display:none !important;
}

/* Таблица появляется только после успешного поиска */
.search-table-mount{
  width:100%;
  margin-top:28px;
}

.search-table-mount.hidden{
  display:none !important;
}

.search-result-public-table{
  width:100%;
  overflow:hidden;
  border:1px solid #303030;
  border-radius:22px;
  background:#0b0b0b;
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}

.search-result-table-frame{
  display:block;
  width:100%;
  border:0;
  background:#090909;
}

@media(max-width:760px){
  .search-table-mount{
    margin-top:20px;
  }

  .search-result-public-table{
    border-radius:17px;
  }
}


/* === Mobile public table: all columns fit on screen === */
@media(max-width:760px){

  body.embedded-table .big-table-wrap,
  .big-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:hidden !important;
    overflow-y:auto;
  }

  .big-public-table{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    table-layout:fixed;
  }

  .big-public-table th,
  .big-public-table td{
    padding:8px 5px !important;
    font-size:11px;
    line-height:1.25;
    white-space:normal !important;
    vertical-align:middle;
  }

  /* Номер */
  .big-public-table th:nth-child(1),
  .big-public-table td:nth-child(1){
    width:12%;
    text-align:center;
    white-space:nowrap !important;
  }

  /* ФИО */
  .big-public-table th:nth-child(2),
  .big-public-table td:nth-child(2){
    width:36%;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  /* Телефон */
  .big-public-table th:nth-child(3),
  .big-public-table td:nth-child(3){
    width:30%;
    font-size:10px;
    white-space:nowrap !important;
  }

  /* Результат */
  .big-public-table th:nth-child(4),
  .big-public-table td:nth-child(4){
    width:22%;
    font-size:10px;
    overflow-wrap:anywhere;
  }

  .big-public-table th{
    font-size:10px;
  }
}

@media(max-width:390px){

  .big-public-table th,
  .big-public-table td{
    padding:7px 4px !important;
  }

  .big-public-table th:nth-child(1),
  .big-public-table td:nth-child(1){
    width:11%;
  }

  .big-public-table th:nth-child(2),
  .big-public-table td:nth-child(2){
    width:37%;
  }

  .big-public-table th:nth-child(3),
  .big-public-table td:nth-child(3){
    width:30%;
    font-size:9.5px;
  }

  .big-public-table th:nth-child(4),
  .big-public-table td:nth-child(4){
    width:22%;
    font-size:9.5px;
  }
}


/* === iPhone: prevent automatic zoom on form focus === */
@media(max-width:760px){
  #queryInput,
  #actionSelect,
  #tableSearch,
  input,
  select,
  textarea{
    font-size:16px !important;
  }
}


/* === Public table cleanup + Show me in table === */

/* Название акции в публичной таблице больше не показываем */
#tableTitle{
  display:none !important;
}

/* Общее количество доступов не показываем */
.table-counts{
  display:none !important;
}

/* После удаления счётчика поиск занимает всю ширину */
.table-controls{
  grid-template-columns:minmax(0,1fr) !important;
}

.show-me-table-wrap{
  margin-top:16px;
}

.show-me-table-btn{
  width:100%;
  min-height:48px;
  font-weight:850;
}

/* Строки конкретного найденного пользователя */
.big-public-table tbody tr.own-table-row td{
  background:rgba(55,139,255,.10) !important;
  border-bottom-color:rgba(55,139,255,.28);
}

.big-public-table tbody tr.own-table-row td:first-child{
  box-shadow:inset 4px 0 0 var(--accent);
}

.big-public-table tbody tr.own-table-row .ticket-cell{
  color:#71b4ff;
}

@media(max-width:760px){
  .show-me-table-btn{
    min-height:52px;
    font-size:14px;
  }

  .big-public-table tbody tr.own-table-row td:first-child{
    box-shadow:inset 3px 0 0 var(--accent);
  }
}


/* === Clean public table + prominent Show Me button === */

/* Панель ручного поиска в публичной таблице больше не показываем */
.table-controls{
  display:none !important;
}

/* Яркая кнопка "Показать меня в таблице" */
.show-me-table-wrap{
  margin-top:18px;
}

.show-me-table-btn{
  width:100% !important;
  min-height:58px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--accent),#155ddb) !important;
  border:1px solid rgba(69,155,255,.7) !important;
  color:#fff !important;
  font-weight:950 !important;
  font-size:16px !important;
  letter-spacing:.01em;
  box-shadow:
    0 10px 30px rgba(55,139,255,.30),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.show-me-table-btn:hover{
  transform:translateY(-1px);
  box-shadow:
    0 14px 38px rgba(55,139,255,.38),
    inset 0 1px 0 rgba(255,255,255,.12);
}

/* Все номера пользователя показываются сразу */
.tickets .ticket{
  display:flex !important;
}

@media(max-width:760px){
  .show-me-table-btn{
    min-height:60px;
    font-size:15px !important;
  }
}


/* === Ticket alignment + phone winner check === */

/* Блок присвоенных номеров */
.tickets-wrap{
  margin-top:18px;
  padding:16px;
  border:1px solid rgba(55,139,255,.42);
  border-radius:18px;
  background:rgba(55,139,255,.025);
}

/* Все номера стоят ровно */
.tickets{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px !important;
}

/* Каждый номер — ровный прямоугольник с синей окантовкой */
.ticket{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  width:auto !important;
  min-width:72px !important;
  height:46px !important;

  padding:0 15px !important;
  margin:0 !important;

  border:1px solid rgba(55,139,255,.78) !important;
  border-radius:12px !important;

  background:
    linear-gradient(
      180deg,
      rgba(55,139,255,.08),
      rgba(55,139,255,.025)
    ) !important;

  color:#fff !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-align:center !important;
  white-space:nowrap !important;

  box-sizing:border-box !important;

  box-shadow:
    inset 0 0 0 1px rgba(55,139,255,.05),
    0 0 14px rgba(55,139,255,.035);
}

/* Проверка выигрыша теперь состоит только из одной кнопки */
.winner-check-phone{
  display:block !important;
}

.winner-check-phone #winnerCheckBtn{
  width:100% !important;
  min-height:56px;
  font-size:14px;
  font-weight:900;
}

#winnerCheckResult{
  margin-top:16px;
}

@media(max-width:760px){

  .tickets-wrap{
    padding:12px;
    border-radius:16px;
  }

  .tickets{
    gap:8px !important;
  }

  .ticket{
    min-width:62px !important;
    height:42px !important;
    padding:0 11px !important;
    font-size:14px !important;
  }

  .winner-check-phone #winnerCheckBtn{
    min-height:58px;
    font-size:14px !important;
  }
}


/* === Centered winner action block === */
.winner-panel-head-center{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:14px;
}

.winner-check-phone-centered{
  width:100%;
  display:flex;
  justify-content:center;
}

.winner-check-phone-centered #winnerCheckBtn{
  width:min(520px, 100%);
  min-width:min(520px, 100%);
}

.winner-intro-centered{
  margin:0;
  color:#9c9c98;
  max-width:760px;
}

@media(max-width:760px){
  .winner-panel-head-center{
    gap:12px;
  }

  .winner-check-phone-centered #winnerCheckBtn{
    width:100%;
    min-width:0;
  }
}


/* === Search result side-by-side actions === */

.result-action-area{
  margin-top:18px;
}

.result-action-buttons{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
}

.result-action-buttons .primary{
  width:100% !important;
  min-width:0;
  min-height:58px;
  margin:0 !important;

  display:flex !important;
  align-items:center;
  justify-content:center;

  text-align:center;
  font-weight:900 !important;
}

.result-action-buttons .check-my-win-btn{
  background:linear-gradient(135deg,#378bff,#155ddb) !important;
}

.quick-win-result{
  margin-top:14px;
}

.quick-win-loading{
  padding:16px;
  border:1px solid #303030;
  border-radius:14px;
  background:#0b0b0b;
  color:#aaa;
  text-align:center;
}

/*
  На главной таблица встроена в iframe.
  Отдельный старый блок проверки выигрыша там больше не нужен.
  На самостоятельной странице /table/... он сохраняется.
*/
body.embedded-table #winnerPanel{
  display:none !important;
}

@media(max-width:760px){

  .result-action-buttons{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .result-action-buttons .primary{
    min-height:56px;
    padding:9px 8px !important;
    font-size:12px !important;
    line-height:1.2;
  }
}


/* === Bulk winners === */

.bulk-winner-form{
  display:grid;
  gap:18px;
  max-width:850px;
  padding:4px 0 12px;
}

.bulk-winner-form label>span:first-child{
  display:block;
  margin-bottom:8px;
  font-weight:800;
}

.bulk-winner-form textarea{
  min-height:300px;
  resize:vertical;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  line-height:1.5;
}

.bulk-winner-check{
  display:flex !important;
  align-items:flex-start;
  gap:11px;
  padding:14px 16px;
  border:1px solid #303030;
  border-radius:14px;
  background:#101010;
  cursor:pointer;
}

.bulk-winner-check input{
  width:18px !important;
  min-width:18px !important;
  height:18px;
  margin:2px 0 0;
}

.bulk-winner-check span{
  margin:0 !important;
}

.bulk-winner-check small{
  display:block;
  color:#777;
  margin-top:4px;
  font-weight:400;
}

.bulk-winner-result{
  border:1px solid #303030;
  border-radius:16px;
  padding:18px;
  background:#0e0e0e;
}

.bulk-result-title{
  font-size:22px;
  font-weight:900;
  margin-bottom:14px;
}

.bulk-result-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.bulk-result-grid>div{
  padding:12px;
  border:1px solid #292929;
  border-radius:12px;
  background:#111;
}

.bulk-result-grid small{
  display:block;
  color:#777;
  margin-bottom:5px;
}

.bulk-result-grid b{
  font-size:20px;
}

.bulk-result-note{
  margin-top:14px;
  color:#aaa;
}

.bulk-result-details{
  margin-top:14px;
  border:1px solid #292929;
  border-radius:12px;
  padding:12px 14px;
}

.bulk-result-details summary{
  cursor:pointer;
  font-weight:800;
}

.bulk-ticket-list{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}

.bulk-ticket-list span{
  display:inline-flex;
  padding:6px 9px;
  border:1px solid #343434;
  border-radius:9px;
  background:#151515;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}

.bulk-ticket-list.bad-list span{
  border-color:rgba(255,100,80,.45);
}

.bulk-published-warning{
  margin-top:14px;
}

.bulk-result-actions{
  margin-top:14px;
}

@media(max-width:700px){
  .bulk-result-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .bulk-winner-form textarea{
    min-height:240px;
  }
}


/* === Public table compact heading === */
#tableSubtitle{
  display:none !important;
}


/* === Automatic next-action prize === */
.auto-entry-prize-box{
  margin-top:16px;
  padding:18px 20px;
  border:1px solid rgba(55,139,255,.42);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(55,139,255,.09),rgba(55,139,255,.025));
}

.auto-entry-prize-box b{
  display:block;
  font-size:18px;
  margin-bottom:6px;
  color:#f5f5f3;
}

.auto-entry-prize-box span{
  display:block;
  color:#aaa;
  line-height:1.5;
}


/* === Create action mode tabs === */
.create-mode-tabs{
  width:min(1100px,100%);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 22px;
  padding:6px;
  border:1px solid #292929;
  border-radius:18px;
  background:#0d0d0d;
}

.create-mode-tab{
  appearance:none;
  border:1px solid transparent;
  border-radius:13px;
  min-height:58px;
  padding:14px 20px;
  background:transparent;
  color:#858581;
  font:inherit;
  font-size:14px;
  font-weight:850;
  cursor:pointer;
  transition:
    color .18s,
    border-color .18s,
    background .18s,
    box-shadow .18s,
    transform .18s;
}

.create-mode-tab:hover{
  color:#fff;
  background:#141414;
  border-color:#343434;
}

.create-mode-tab.active{
  color:#fff;
  border-color:rgba(55,139,255,.72);
  background:linear-gradient(
    135deg,
    rgba(55,139,255,.19),
    rgba(55,139,255,.06)
  );
  box-shadow:
    inset 0 0 0 1px rgba(55,139,255,.08),
    0 8px 26px rgba(55,139,255,.08);
}

.create-mode-pane{
  width:100%;
}

#createModeLegacy .legacy-box{
  margin-top:0;
}

@media(max-width:700px){
  .create-mode-tabs{
    grid-template-columns:1fr 1fr;
    gap:7px;
    padding:5px;
    border-radius:15px;
  }

  .create-mode-tab{
    min-height:52px;
    padding:11px 9px;
    font-size:12px;
    line-height:1.25;
  }
}


/* === Standalone Program tab === */
.program-card{
  max-width:1100px;
}

.program-info{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:12px;
  padding:14px 16px;
  border:1px solid #292929;
  border-radius:13px;
  background:#0d0d0d;
}

.program-info b{
  font-size:13px;
  color:#e7e7e3;
}

.program-info span{
  color:#858581;
  font-size:12px;
  line-height:1.5;
}

.program-files-grid{
  margin-top:12px;
}

.program-files-grid label{
  padding:16px;
  border:1px solid #292929;
  border-radius:14px;
  background:#0c0c0c;
}

.program-files-grid label small{
  color:#747470;
  font-weight:500;
  line-height:1.4;
}

.program-preview-actions{
  margin-top:16px;
}

.program-preview-actions .status-text{
  margin-top:0;
}

#programPreviewResult{
  display:grid;
  gap:14px;
  margin-top:20px;
}

.program-preview-card{
  border:1px solid #303030;
  border-radius:17px;
  padding:18px;
  background:linear-gradient(145deg,#121212,#0b0b0b);
}

.program-preview-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}

.program-preview-head>div{
  min-width:0;
}

.program-preview-head small{
  display:block;
  color:#777773;
  margin-bottom:5px;
}

.program-preview-head b{
  display:block;
  overflow-wrap:anywhere;
}

.program-preview-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}

.program-preview-stats span{
  border:1px solid #292929;
  border-radius:12px;
  padding:11px 12px;
  background:#0b0b0b;
}

.program-preview-stats small,
.program-detected-item small{
  display:block;
  color:#73736f;
  margin-bottom:4px;
}

.program-preview-stats b{
  font-size:15px;
}

.program-detected{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.program-detected-item{
  min-width:150px;
  padding:10px 12px;
  border:1px solid #292929;
  border-radius:11px;
  background:#0d0d0d;
}

.program-detected-item b{
  font-size:12px;
  overflow-wrap:anywhere;
}

.program-zip-file{
  color:#8e8e8a;
  font-size:12px;
  line-height:1.5;
}

.program-sample{
  margin-bottom:0;
}

.program-next-stage{
  margin-top:24px;
  padding-top:4px;
  border-top:1px solid #252525;
}

.program-next-stage p{
  color:#777773;
  font-size:12px;
  line-height:1.55;
}

@media(max-width:700px){
  .create-mode-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .create-mode-tab{
    padding:10px 6px;
    font-size:11px;
  }

  .program-preview-stats{
    grid-template-columns:1fr;
  }

  .program-preview-head{
    flex-direction:column;
  }
}


/* === Program processing step 2 === */
.program-workspace{
  margin-top:26px;
  padding-top:6px;
  border-top:1px solid #262626;
}

.program-manual{
  width:100%;
  min-height:140px;
  resize:vertical;
  font-family:inherit;
}

.program-warning{
  margin:18px 0;
  padding:14px 16px;
  border:1px solid rgba(69,155,255,.28);
  border-radius:13px;
  background:rgba(69,155,255,.05);
  color:#999994;
  font-size:12px;
  line-height:1.55;
}

.program-process-button{
  width:100%;
  margin-top:4px;
}

.program-result-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:18px 0;
}

.program-result-stats span{
  padding:13px;
  border:1px solid #2c2c2c;
  border-radius:12px;
  background:#0d0d0d;
}

.program-result-stats small{
  display:block;
  color:#777773;
  margin-bottom:5px;
}

.program-result-stats b{
  font-size:19px;
}

.program-downloads{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.program-download{
  text-decoration:none;
}

@media(max-width:700px){
  .program-result-stats{
    grid-template-columns:1fr 1fr;
  }

  .program-downloads{
    flex-direction:column;
  }

  .program-download{
    width:100%;
    text-align:center;
  }
}


/* === Program repeat processing === */
.program-repeat-ok{
  margin:14px 0;
  padding:14px 16px;
  border:1px solid rgba(75,200,120,.28);
  border-radius:13px;
  background:rgba(75,200,120,.06);
  color:#a8b8ab;
  font-size:12px;
  line-height:1.55;
}



/* GetCourse — payment journal */

.gc-payments-button{
  background:#123522!important;
  border-color:#2d8454!important;
  color:#d5ffe4!important;
  box-shadow:
    inset 0 0 0 1px
    rgba(76,200,126,.08);
}

.gc-payments-button:hover{
  background:#17462d!important;
  border-color:#42ad70!important;
}

.gc-payment-status{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}

.gc-payment-status.ok{
  color:#c2f8d3;
  background:#123522;
  border:1px solid #2d8454;
}

.gc-payment-status.error{
  color:#ffc7c1;
  background:#391817;
  border:1px solid #823a34;
}

.gc-payment-tools{
  display:flex;
  align-items:center;
  gap:9px;
}

.gc-payment-filter{
  height:46px;
  min-width:175px;
  padding:0 12px;
  border:1px solid #343434;
  border-radius:12px;
  background:#111;
  color:#fff;
  font-weight:800;
  outline:none;
}

.gc-payment-filter:focus{
  border-color:#42ad70;
}

.gc-conflict-list{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.gc-conflict-list span{
  display:block;
  padding:5px 8px;
  border:1px solid #73322e;
  border-radius:8px;
  background:#301514;
  color:#ffb7b0;
  font-size:12px;
  font-weight:750;
}

.gc-payment-details{
  min-width:90px;
}

.gc-payment-details summary{
  cursor:pointer;
  color:#bdf7d0;
  font-weight:800;
  user-select:none;
}

.gc-payment-detail-meta{
  width:min(560px,72vw);
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #2c2c2c;
  border-radius:10px;
  background:#101010;
  line-height:1.65;
  white-space:normal;
}

.gc-payment-details pre{
  width:min(640px,75vw);
  max-height:330px;
  overflow:auto;
  margin:10px 0 0;
  padding:12px;
  border:1px solid #2c2c2c;
  border-radius:10px;
  background:#080808;
  color:#bdbdb9;
  font-size:11px;
  line-height:1.5;
  white-space:pre-wrap;
  word-break:break-word;
}

@media(max-width:700px){
  .gc-payment-tools{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
  }

  .gc-payment-filter{
    width:100%;
  }
}

/* GetCourse payment journal — conflict visibility */

.gc-conflict-list{
  min-width:260px;
  max-width:420px;
}

.gc-conflict-list span{
  white-space:normal;
  line-height:1.35;
}


/* === Restored Google Sheets create mode === */

.create-mode-tabs{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.google-create-card{
  max-width:1100px;
}

.google-create-intro{
  color:#8c8c88;
  line-height:1.6;
  max-width:820px;
}

.google-create-info{
  margin-bottom:18px;
}

.google-source-actions{
  margin-top:10px;
}

.google-preview-box{
  margin:14px 0 20px;
}

.google-detected-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}

.google-detected-item{
  padding:10px;
  border:1px solid #292929;
  border-radius:10px;
  background:#0d0d0d;
  min-width:0;
}

.google-detected-item small{
  display:block;
  color:#777;
  margin-bottom:5px;
}

.google-detected-item b{
  display:block;
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
}

.google-source-sample{
  margin-top:14px;
}

#createModeGoogle label{
  margin-top:14px;
}

#createModeGoogle label small{
  display:block;
  color:#777773;
  line-height:1.45;
  margin-top:5px;
}

#createGoogleBtn{
  margin-top:20px;
}

@media(max-width:700px){
  .create-mode-tabs{
    grid-template-columns:1fr 1fr;
  }

  .google-detected-grid{
    grid-template-columns:1fr 1fr;
  }
}


/* === Public winners controls === */

.winners-public-button{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 16px;
  border:1px solid #509dff;
  border-radius:11px;
  background:
    linear-gradient(
      180deg,
      #9acbff,
      #2677ee
    );
  color:#17130a!important;
  font:inherit;
  font-size:13px;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
  box-shadow:
    0 8px 25px rgba(69,155,255,.13);
  transition:
    transform .15s,
    filter .15s,
    box-shadow .15s;
}

.winners-public-button:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
  box-shadow:
    0 10px 30px rgba(69,155,255,.19);
}

.winners-share-panel{
  width:min(820px,100%);
  display:grid;
  gap:9px;
}

.winners-share-state{
  font-size:11px;
  font-weight:850;
}

.winners-share-state.is-public{
  color:#77d997;
}

.winners-share-state.is-private{
  color:#81baff;
}

.winners-share-row{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto auto;
  gap:8px;
  align-items:center;
}

.winners-public-url{
  min-width:0;
  height:40px;
  padding:0 11px;
  border:1px solid #30302e;
  border-radius:10px;
  outline:none;
  background:#10100f;
  color:#d8d8d3;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;
}

.winners-public-url:focus{
  border-color:rgba(69,155,255,.55);
}

.winners-copy-button{
  min-height:40px;
  white-space:nowrap;
}

.winners-share-downloads{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

@media(max-width:850px){
  .winners-share-row{
    grid-template-columns:1fr 1fr;
  }

  .winners-public-url{
    grid-column:1/-1;
  }
}

@media(max-width:560px){
  .winners-share-row{
    grid-template-columns:1fr;
  }

  .winners-public-url{
    grid-column:auto;
  }

  .winners-share-row > *{
    width:100%;
  }
}

