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

:root{--bg:#08080d;--bg-2:#0d0d14;--surface:#111119;--surface-2:#171721;--surface-3:#1d1d29;--glass:rgba(17,17,25,.78);--text:#f8f8fb;--muted:#9393a6;--subtle:#69697c;--line:rgba(255,255,255,.085);--line-strong:rgba(255,255,255,.14);--purple:#8b5cf6;--purple-2:#a855f7;--pink:#d946ef;--blue:#4f8cff;--cyan:#22d3ee;--green:#35d49a;--red:#ff5c7a;--amber:#f9b84b;--gradient:linear-gradient(135deg,#7047eb 0%,#a344ef 52%,#d946ef 100%);--shadow:0 28px 80px rgba(0,0,0,.35);--radius:22px;--radius-sm:14px;--sidebar:278px;--font:'Inter',system-ui,sans-serif;--display:'Space Grotesk','Inter',sans-serif}
[data-theme="light"]{--bg:#f4f4f8;--bg-2:#eeeef4;--surface:#fff;--surface-2:#f7f7fb;--surface-3:#efeff5;--glass:rgba(255,255,255,.84);--text:#171720;--muted:#66667a;--subtle:#8c8c9d;--line:rgba(20,20,35,.085);--line-strong:rgba(20,20,35,.15);--shadow:0 24px 70px rgba(38,32,70,.12)}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);background:var(--bg);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}.icon{display:inline-block;flex:none}.muted{color:var(--muted)}.desktop-only{display:inline-flex}.block-muted{display:block;margin-top:4px;color:var(--muted);font-size:12px}.align-right{text-align:right!important}.stack-lg{display:grid;gap:20px}.eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:9px;color:#bda8fa;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow i{width:24px;height:1px;background:linear-gradient(90deg,var(--purple),var(--pink))}

/* Login */
.login-body{overflow:hidden;background:#050508;color:#fff}.login-canvas{position:fixed;inset:0;width:100%;height:100%;opacity:.35}.login-glow{position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none}.login-glow-a{width:620px;height:620px;left:-180px;top:-250px;background:rgba(126,64,246,.18)}.login-glow-b{width:540px;height:540px;right:-160px;bottom:-250px;background:rgba(217,70,239,.12)}.login-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(440px,.8fr);min-height:100vh}.login-story{display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;padding:50px clamp(44px,6vw,96px)}.brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--display)}.brand-mark{position:relative;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.025));box-shadow:0 10px 40px rgba(129,74,246,.2);overflow:hidden}.brand-mark:after{position:absolute;inset:-30%;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.24),transparent 65%);content:"";transform:translateX(-70%);animation:brand-shine 6s infinite}.brand-mark img{width:34px;height:34px;object-fit:contain}.brand>span:last-child{display:flex;flex-direction:column;line-height:1}.brand b{font-size:22px;letter-spacing:-.04em}.brand small{margin-top:5px;color:#aaa6b9;font-family:var(--font);font-size:9px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.brand-large .brand-mark{width:52px;height:52px;border-radius:17px}.brand-large .brand-mark img{width:40px;height:40px}.brand-large b{font-size:27px}.login-copy{max-width:780px}.login-copy h1{max-width:760px;margin:24px 0 24px;font-family:var(--display);font-size:clamp(44px,5.6vw,82px);font-weight:600;letter-spacing:-.065em;line-height:.98}.login-copy h1 em{display:block;background:linear-gradient(90deg,#a98af7,#e175f2 55%,#63a7ff);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}.login-copy p{max-width:620px;margin:0;color:#a6a3b3;font-size:17px;line-height:1.7}.login-trust{display:flex;gap:24px;color:#888594;font-size:12px;font-weight:600}.login-trust span{display:flex;align-items:center;gap:8px}.login-trust .icon{color:#a885fb}.login-panel-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid rgba(255,255,255,.07);background:rgba(7,7,11,.56);padding:40px}.login-panel{width:min(100%,470px);border:1px solid rgba(255,255,255,.1);border-radius:30px;background:linear-gradient(150deg,rgba(24,24,34,.9),rgba(11,11,17,.88));padding:46px;box-shadow:0 40px 120px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(30px)}.mobile-brand{display:none}.login-kicker{color:#b9a6ee;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-panel h2{margin:10px 0 8px;font-family:var(--display);font-size:32px;letter-spacing:-.04em}.login-panel>p{margin:0 0 28px}.login-panel .alert{margin-bottom:20px}.login-help{margin:24px 0 0!important;color:#716f7d!important;font-size:11px;text-align:center}.login-legal{margin:22px 0 0;color:#5e5b69;font-size:10px;letter-spacing:.05em}.reveal-password{display:grid;width:38px;height:38px;place-items:center;border:0;background:transparent;color:#777487}.login-panel .btn-primary{box-shadow:0 15px 38px rgba(139,92,246,.26)}

/* Base controls */
.btn{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:12px;padding:0 16px;background:transparent;font-weight:700;white-space:nowrap;transition:.2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{border-color:rgba(255,255,255,.12);background:var(--gradient);color:#fff;box-shadow:0 10px 25px rgba(129,72,236,.18)}.btn-primary:hover{box-shadow:0 14px 34px rgba(129,72,236,.3)}.btn-soft{border-color:rgba(139,92,246,.2);background:rgba(139,92,246,.11);color:#c3abff}.btn-ghost{border-color:var(--line);background:var(--surface-2);color:var(--text)}.btn-ghost:hover{border-color:var(--line-strong);background:var(--surface-3)}.btn-lg{min-height:50px;border-radius:14px;padding:0 20px}.btn-sm{min-height:34px;border-radius:10px;padding:0 12px;font-size:12px}.btn-block{width:100%}.icon-btn{display:grid;width:40px;height:40px;flex:none;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--muted);transition:.2s ease}.icon-btn:hover{border-color:rgba(139,92,246,.4);color:var(--text);transform:translateY(-1px)}.icon-btn.danger{color:var(--red)}.icon-btn:disabled,.btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.button-group{display:flex;align-items:center;gap:8px}.field{display:grid;gap:8px}.field>span,.control-label{font-size:12px;font-weight:700}.field>small{color:var(--muted);font-size:10px;line-height:1.5}.field input,.field select,.field textarea,.search-form input,.search-form select,.filter-form select{width:100%;min-height:45px;border:1px solid var(--line);border-radius:12px;outline:0;background:var(--surface-2);padding:0 13px;color:var(--text);transition:.2s ease}.field textarea{padding-top:12px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.search-form input:focus{border-color:rgba(139,92,246,.62);box-shadow:0 0 0 3px rgba(139,92,246,.1)}.input-wrap{display:flex;min-height:46px;align-items:center;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);padding:0 12px;color:var(--muted);transition:.2s ease}.input-wrap:focus-within{border-color:rgba(139,92,246,.62);box-shadow:0 0 0 3px rgba(139,92,246,.1)}.input-wrap input{min-width:0;flex:1;border:0!important;outline:0!important;background:transparent!important;padding:0 10px!important;box-shadow:none!important}.alert{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:13px;padding:13px 15px;line-height:1.5}.alert-error{border-color:rgba(255,92,122,.24);background:rgba(255,92,122,.09);color:#ff9daf}.alert-warning{border-color:rgba(249,184,75,.25);background:rgba(249,184,75,.1);color:#f8cd82}.permanent-alert{margin-bottom:18px}.badge{display:inline-flex;min-height:25px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:0 9px;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.badge-ativo{border-color:rgba(53,212,154,.22);background:rgba(53,212,154,.1);color:#67dfa9}.badge-rascunho{border-color:rgba(249,184,75,.22);background:rgba(249,184,75,.1);color:#efbc65}.badge-concluido,.badge-bloqueado{background:var(--surface-3);color:var(--muted)}

/* Shell */
.app-body{background:var(--bg)}.ambient-grid{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;opacity:.15;mask-image:radial-gradient(circle at 65% 15%,#000 0,transparent 62%)}.app-layout{position:relative;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;z-index:50;inset:0 auto 0 0;display:flex;width:var(--sidebar);flex-direction:column;border-right:1px solid var(--line);background:rgba(10,10,15,.92);padding:20px 15px;backdrop-filter:blur(24px)}[data-theme="light"] .sidebar{background:rgba(250,250,253,.92)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:2px 8px 20px}.sidebar-close{display:none}.admin-mode,.tenant-chip{display:flex;align-items:center;gap:11px;margin:0 2px 18px;border:1px solid rgba(139,92,246,.17);border-radius:15px;background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(217,70,239,.04));padding:12px}.admin-mode small,.tenant-chip small{display:block;margin-bottom:4px;color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-mode b,.tenant-chip b{display:block;overflow:hidden;max-width:175px;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(53,212,154,.09),0 0 16px rgba(53,212,154,.5);animation:pulse 2s infinite}.tenant-avatar,.user-avatar{display:grid;width:34px;height:34px;flex:none;place-items:center;border-radius:11px;background:var(--gradient);color:#fff;font-weight:800}.sidebar-nav{display:flex;min-height:0;flex:1;flex-direction:column;gap:4px;overflow-y:auto;padding:0 2px}.nav-label{margin:16px 10px 6px;color:var(--subtle);font-size:8px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.sidebar-nav a{display:flex;min-height:43px;align-items:center;gap:12px;border:1px solid transparent;border-radius:12px;padding:0 12px;color:var(--muted);font-size:12px;font-weight:650;transition:.2s ease}.sidebar-nav a:hover{background:var(--surface-2);color:var(--text)}.sidebar-nav a.active{border-color:rgba(139,92,246,.18);background:linear-gradient(90deg,rgba(139,92,246,.16),rgba(217,70,239,.06));color:#d6c8ff;box-shadow:inset 3px 0 var(--purple)}.sidebar-nav .nav-live{margin-top:5px;border-color:rgba(139,92,246,.2);background:linear-gradient(135deg,rgba(111,67,231,.2),rgba(217,70,239,.1));color:#d8caff}.nav-context-label{margin-top:20px}.nav-event{display:flex;align-items:center;gap:9px;margin:0 6px 4px;padding:7px;color:var(--text);font-size:10px;font-weight:700}.nav-event i{width:7px;height:7px;flex:none;border-radius:50%;background:var(--event-color);box-shadow:0 0 12px var(--event-color)}.nav-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot{display:grid;gap:9px;border-top:1px solid var(--line);padding:15px 2px 0}.user-card{display:flex;align-items:center;gap:10px;border-radius:13px;padding:8px;transition:.2s}.user-card:hover{background:var(--surface-2)}.user-card>span:nth-child(2){min-width:0;flex:1}.user-card b,.user-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card b{font-size:11px}.user-card small{margin-top:4px;color:var(--muted);font-size:9px}.logout-link{display:flex;align-items:center;gap:9px;padding:8px 10px;color:var(--subtle);font-size:10px;font-weight:600}.logout-link:hover{color:var(--red)}.sidebar-backdrop{display:none}.main-shell{grid-column:2;min-width:0}.topbar{position:sticky;z-index:30;top:0;display:flex;min-height:95px;align-items:center;border-bottom:1px solid var(--line);background:var(--glass);padding:18px clamp(20px,3vw,42px);backdrop-filter:blur(25px)}.menu-btn{display:none}.topbar-title{min-width:0}.topbar-title h1{margin:2px 0 4px;font-family:var(--display);font-size:25px;letter-spacing:-.04em}.topbar-title p{margin:0;color:var(--muted);font-size:11px}.breadcrumb{display:block;overflow:hidden;max-width:520px;margin-bottom:3px;color:#a88cf4;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.content-shell{width:min(100%,1560px);margin:0 auto;padding:30px clamp(20px,3vw,42px) 60px}

/* Dashboard and common cards */
.hero-card{position:relative;display:grid;min-height:340px;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);overflow:hidden;border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 77% 48%,rgba(139,92,246,.14),transparent 35%),linear-gradient(135deg,var(--surface) 0%,var(--surface-2) 100%);box-shadow:var(--shadow)}.hero-card:before{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:34px 34px;content:"";mask-image:linear-gradient(90deg,transparent,#000)}.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:48px clamp(32px,5vw,70px)}.hero-copy h2{max-width:720px;margin:15px 0;font-family:var(--display);font-size:clamp(32px,3.3vw,50px);letter-spacing:-.055em;line-height:1.05}.hero-copy p{max-width:680px;margin:0;color:var(--muted);font-size:14px;line-height:1.75}.hero-actions{display:flex;gap:10px;margin-top:28px}.hero-visual{position:relative;display:grid;place-items:center}.neural-orb{position:relative;display:grid;width:230px;height:230px;place-items:center;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.22),transparent 65%)}.neural-orb:before{position:absolute;inset:34px;border:1px solid rgba(167,130,255,.25);border-radius:50%;box-shadow:inset 0 0 50px rgba(139,92,246,.12),0 0 70px rgba(139,92,246,.12);content:""}.neural-orb img{position:relative;z-index:2;width:130px;filter:drop-shadow(0 0 22px rgba(170,130,255,.3))}.orbit{position:absolute;border:1px solid rgba(151,115,245,.28);border-radius:50%}.orbit-a{inset:15px;animation:spin 12s linear infinite}.orbit-b{inset:-10px;border-style:dashed;animation:spin 18s linear infinite reverse}.node{position:absolute;width:7px;height:7px;border-radius:50%;background:#b896ff;box-shadow:0 0 14px #a876ff}.n1{top:21px;left:62px}.n2{right:8px;bottom:78px}.n3{bottom:1px;left:100px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.metric-grid.six{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-card{position:relative;display:flex;min-height:132px;align-items:center;gap:15px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:22px}.metric-card:after{position:absolute;width:90px;height:90px;right:-25px;bottom:-35px;border-radius:50%;background:currentColor;content:"";filter:blur(35px);opacity:.08}.metric-icon,.mini-icon{display:grid;width:44px;height:44px;flex:none;place-items:center;border-radius:14px;background:rgba(139,92,246,.1);color:#b89cff}.metric-card.blue .metric-icon,.mini-icon.blue{background:rgba(79,140,255,.1);color:#74a6ff}.metric-card.pink .metric-icon{background:rgba(217,70,239,.1);color:#e477f4}.metric-card.cyan .metric-icon{background:rgba(34,211,238,.1);color:#62dfef}.metric-card.green .metric-icon,.mini-icon.green{background:rgba(53,212,154,.1);color:#65dfa9}.metric-card small,.metric-card em{display:block;color:var(--muted);font-size:9px;font-style:normal}.metric-card strong{display:block;margin:5px 0 4px;font-family:var(--display);font-size:28px;letter-spacing:-.04em}.section-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:26px;box-shadow:0 18px 55px rgba(0,0,0,.08)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.section-heading h2{margin:5px 0 0;font-family:var(--display);font-size:22px;letter-spacing:-.035em}.section-heading p{margin:7px 0 0;color:var(--muted);font-size:11px}.raffle-list{display:grid}.raffle-row{display:grid;grid-template-columns:auto minmax(210px,1fr) auto auto;align-items:center;gap:18px;border-top:1px solid var(--line);padding:17px 2px}.raffle-row:first-child{border-top:0}.raffle-logo{display:grid;width:48px;height:48px;flex:none;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--raffle-color,#8b5cf6) 30%,transparent);border-radius:14px;background:color-mix(in srgb,var(--raffle-color,#8b5cf6) 10%,var(--surface-2));color:var(--raffle-color,#b28eff)}.raffle-logo.big{width:58px;height:58px;border-radius:17px}.raffle-logo img{width:100%;height:100%;object-fit:contain;padding:7px}.row-title{display:flex;align-items:center;gap:10px}.row-title h3{overflow:hidden;margin:0;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.raffle-main p{margin:6px 0 0;color:var(--muted);font-size:10px}.raffle-stats{display:flex;gap:24px;color:var(--muted);font-size:9px}.raffle-stats b{display:block;margin-bottom:3px;color:var(--text);font-size:13px}.empty-state{display:flex;min-height:290px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-state>span{display:grid;width:64px;height:64px;place-items:center;border:1px solid rgba(139,92,246,.18);border-radius:20px;background:rgba(139,92,246,.08);color:#b497f8}.empty-state h3{margin:18px 0 7px;font-family:var(--display);font-size:20px}.empty-state p{max-width:480px;margin:0 0 20px;color:var(--muted);line-height:1.65}

/* Toolbars and raffles */
.toolbar,.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.search-form{display:flex;flex:1;align-items:center;gap:8px}.search-form .input-wrap{width:min(100%,420px)}.search-form select,.filter-form select{width:auto;min-width:170px}.result-count{color:var(--muted);font-size:11px}.result-count b{color:var(--text)}.raffle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.raffle-card{position:relative;min-width:0;overflow:visible;border:1px solid var(--line);border-radius:22px;background:linear-gradient(160deg,var(--surface),var(--surface-2));padding:20px;transition:.25s ease}.raffle-card:before{position:absolute;inset:0 auto auto 10%;width:80%;height:1px;background:linear-gradient(90deg,transparent,var(--raffle-color),transparent);content:"";opacity:.5}.raffle-card:hover{border-color:color-mix(in srgb,var(--raffle-color) 35%,var(--line));transform:translateY(-3px);box-shadow:var(--shadow)}.raffle-card-top{position:relative;display:flex;align-items:flex-start;gap:9px}.raffle-card-top .badge{margin-left:auto}.raffle-card-top>.icon-btn{width:32px;height:32px;border:0;background:transparent}.context-menu{position:absolute;z-index:10;top:36px;right:0;display:none;width:155px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);padding:6px;box-shadow:var(--shadow)}.context-menu.open{display:grid}.context-menu form{display:block}.context-menu button{display:flex;width:100%;align-items:center;gap:8px;border:0;border-radius:8px;background:transparent;padding:9px;color:var(--text);font-size:11px;text-align:left}.context-menu button:hover{background:var(--surface-2)}.context-menu button.danger{color:var(--red)}.raffle-card-copy{min-height:132px;padding:18px 1px 12px}.raffle-card-copy>small,.prize-copy>small,.company-copy>small{color:var(--raffle-color,var(--purple-2));font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.raffle-card-copy h2,.prize-copy h2,.company-copy h2{overflow:hidden;margin:7px 0;font-family:var(--display);font-size:20px;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap}.raffle-card-copy p,.prize-copy p,.company-copy p{display:-webkit-box;overflow:hidden;margin:0;color:var(--muted);font-size:11px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.raffle-meta{display:grid;gap:7px;border-top:1px solid var(--line);padding:13px 0}.raffle-meta span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.raffle-numbers,.company-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:12px 0}.raffle-numbers div,.company-stats div{border-right:1px solid var(--line);text-align:center}.raffle-numbers div:last-child,.company-stats div:last-child{border:0}.raffle-numbers strong,.raffle-numbers span,.company-stats strong,.company-stats span{display:block}.raffle-numbers strong,.company-stats strong{font-family:var(--display);font-size:16px}.raffle-numbers span,.company-stats span{margin-top:4px;color:var(--muted);font-size:8px}.progress-line,.prize-progress i{display:block;height:4px;overflow:hidden;border-radius:999px;background:var(--surface-3)}.progress-line span,.prize-progress i span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--raffle-color,var(--purple)),var(--pink))}.raffle-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:17px}

/* Modals and forms */
.modal{position:fixed;z-index:100;inset:0;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(2,2,5,.75);backdrop-filter:blur(10px)}.modal-dialog{position:relative;width:min(100%,540px);max-height:calc(100vh - 40px);overflow-y:auto;border:1px solid var(--line-strong);border-radius:24px;background:var(--surface);padding:28px;box-shadow:0 35px 110px rgba(0,0,0,.55);animation:modal-in .25s ease}.modal-dialog.modal-lg{width:min(100%,720px)}.modal-close{position:absolute;top:18px;right:18px;display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:20px}.modal-head{display:flex;align-items:center;gap:13px;margin-bottom:24px;padding-right:40px}.modal-icon{display:grid;width:45px;height:45px;flex:none;place-items:center;border-radius:14px;background:rgba(139,92,246,.11);color:#b79af9}.modal-head small{color:#aa8eee;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.modal-head h2{margin:4px 0 0;font-family:var(--display);font-size:22px;letter-spacing:-.035em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid.narrow{max-width:570px}.form-grid .full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);margin-top:5px;padding-top:18px}.switch-row{display:flex!important;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);padding:13px}.switch-row input{position:absolute;opacity:0}.switch{position:relative;width:39px;height:23px;flex:none;border-radius:999px;background:var(--surface-3);transition:.2s}.switch:after{position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#8d8d9c;content:"";transition:.2s}.switch-row input:checked+.switch{background:var(--purple)}.switch-row input:checked+.switch:after{left:19px;background:#fff}.switch-row b,.switch-row small{display:block}.switch-row b{font-size:11px}.switch-row small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.4}.color-input{display:grid;grid-template-columns:48px 1fr;gap:8px}.color-input input[type=color]{padding:4px}.form-divider{position:relative;border-top:1px solid var(--line);margin:4px 0 0}.form-divider span{position:absolute;top:-8px;left:0;background:var(--surface);padding-right:12px;color:#ac90ef;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.upload-zone{position:relative;display:flex;min-height:175px;flex-direction:column;align-items:center;justify-content:center;border:1px dashed rgba(139,92,246,.4);border-radius:18px;background:rgba(139,92,246,.05);text-align:center}.upload-zone>span{color:#b799fb}.upload-zone b{margin-top:10px}.upload-zone p{max-width:370px;margin:6px 0;color:var(--muted);font-size:10px;line-height:1.5}.upload-zone input{max-width:260px;margin-top:10px;font-size:10px}.info-box,.platform-note{display:flex;align-items:flex-start;gap:12px;border:1px solid rgba(79,140,255,.18);border-radius:14px;background:rgba(79,140,255,.06);padding:14px}.info-box b,.info-box p{display:block;margin:0}.info-box b{font-size:10px}.info-box p{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.5}

/* Subnav and metrics */
.subnav{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:-8px 0 22px;padding:0 2px}.subnav a{display:flex;min-height:46px;align-items:center;gap:7px;border-bottom:2px solid transparent;padding:0 15px;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.subnav a.active{border-color:var(--purple);color:var(--text)}.subnav a span{display:grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:var(--surface-2);font-size:8px}.mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:17px}.mini-metrics article{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:17px;background:var(--surface);padding:16px 18px}.mini-icon{width:39px;height:39px;border-radius:12px;font-weight:800}.mini-metrics strong,.mini-metrics small{display:block}.mini-metrics strong{font-family:var(--display);font-size:20px}.mini-metrics small{margin-top:3px;color:var(--muted);font-size:9px}

/* Tables */
.table-card{padding:0;overflow:hidden}.table-toolbar{margin:0;border-bottom:1px solid var(--line);padding:17px 20px}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;white-space:nowrap}.data-table th{height:43px;background:var(--surface-2);padding:0 18px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.08em;text-align:left;text-transform:uppercase}.data-table td{height:68px;border-top:1px solid var(--line);padding:10px 18px;font-size:11px}.data-table tbody tr:hover{background:rgba(139,92,246,.025)}.person-cell,.prize-cell{display:flex;align-items:center;gap:11px}.person-cell b,.person-cell small{display:block}.person-cell small{margin-top:4px;color:var(--muted);font-size:9px}.table-avatar{display:grid;width:35px;height:35px;flex:none;place-items:center;border-radius:11px;background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(217,70,239,.1));color:#c7afff;font-size:11px;font-weight:800}.winner-avatar{background:rgba(249,184,75,.12);color:var(--amber)}.identifier-chip,.role-chip{display:inline-flex;min-height:25px;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:0 9px;color:var(--muted);font-family:ui-monospace,monospace;font-size:9px}.role-chip{font-family:inherit;color:#baa3f6}.status-dot{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.status-dot i{width:7px;height:7px;border-radius:50%;background:var(--subtle)}.status-dot.online{color:var(--green)}.status-dot.online i{background:var(--green);box-shadow:0 0 9px rgba(53,212,154,.5)}.date-cell,.date-cell small{display:block}.date-cell small{margin-top:3px;color:var(--muted);font-size:9px}.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.table-actions form{display:inline-flex}.prize-cell img{width:36px;height:36px;border-radius:10px;object-fit:contain;background:var(--surface-2);padding:4px}.pagination{display:flex;justify-content:center;gap:5px;border-top:1px solid var(--line);padding:14px}.pagination a{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);font-size:10px}.pagination a.active{border-color:transparent;background:var(--gradient);color:#fff}.toast-stack{position:fixed;z-index:200;right:22px;bottom:22px;display:grid;width:min(380px,calc(100vw - 32px));gap:8px}.toast{display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);padding:13px;box-shadow:var(--shadow);animation:toast-in .3s ease}.toast-symbol{display:grid;width:27px;height:27px;flex:none;place-items:center;border-radius:9px;background:rgba(53,212,154,.12);color:var(--green);font-weight:900}.toast-error .toast-symbol{background:rgba(255,92,122,.12);color:var(--red)}.toast>span:nth-child(2){flex:1;font-size:11px;line-height:1.45}.toast button{border:0;background:transparent;color:var(--muted);font-size:19px}

/* Attendance */
.attendance-hero,.winner-banner{display:flex;align-items:center;gap:23px;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 85%,rgba(53,212,154,.09),transparent 26%),var(--surface);margin-bottom:16px;padding:24px 28px}.attendance-hero>div:first-child,.winner-banner>div:nth-child(2){flex:1}.attendance-hero h2,.winner-banner h2{margin:6px 0 7px;font-family:var(--display);font-size:25px;letter-spacing:-.04em}.attendance-hero p,.winner-banner p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.attendance-ring{display:grid;width:88px;height:88px;flex:none;place-items:center;border-radius:50%;background:conic-gradient(var(--green) var(--progress),var(--surface-3) 0);padding:6px}.attendance-ring>div{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--surface)}.attendance-ring strong,.attendance-ring small{display:block}.attendance-ring strong{font-family:var(--display);font-size:19px}.attendance-ring small{color:var(--muted);font-size:8px}.attendance-list{display:grid}.attendance-row{display:flex;min-height:65px;align-items:center;gap:12px;border-top:1px solid var(--line);padding:9px 20px;cursor:pointer}.attendance-row:first-child{border-top:0}.attendance-row:hover{background:var(--surface-2)}.attendance-person{min-width:0;flex:1}.attendance-person b,.attendance-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-person small{margin-top:4px;color:var(--muted);font-size:9px}.attendance-state{width:60px;color:var(--muted);font-size:9px;text-align:right}.presence-toggle{position:absolute;opacity:0}.toggle-switch{position:relative;width:42px;height:24px;flex:none;border-radius:999px;background:var(--surface-3);transition:.2s}.toggle-switch:after{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#777789;content:"";transition:.2s}.presence-toggle:checked+.toggle-switch{background:var(--green)}.presence-toggle:checked+.toggle-switch:after{left:21px;background:#fff}.attendance-row:has(.presence-toggle:checked) .attendance-state{color:var(--green)}

/* Prizes */
.summary-inline{display:flex;gap:22px;color:var(--muted);font-size:10px}.summary-inline b{color:var(--text)}.prize-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.prize-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.prize-image{position:relative;display:grid;height:210px;place-items:center;overflow:hidden;background:radial-gradient(circle,rgba(139,92,246,.13),transparent 52%),var(--surface-2)}.prize-image img{width:100%;height:100%;object-fit:contain;padding:24px}.prize-placeholder,.prize-image>span{display:grid;width:70px;height:70px;place-items:center;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:#b79bf8}.prize-image em{position:absolute;right:12px;bottom:12px;border:1px solid var(--line);border-radius:999px;background:rgba(8,8,13,.76);padding:6px 9px;color:#d7d4df;font-size:8px;font-style:normal;backdrop-filter:blur(10px)}.prize-copy{padding:20px}.prize-copy p{min-height:35px}.prize-progress{margin-top:18px}.prize-progress>div{display:flex;justify-content:space-between;margin-bottom:8px;font-size:9px}.prize-progress>div span{color:var(--muted)}.prize-actions{display:flex;gap:8px;margin-top:17px}.prize-actions .btn{flex:1}.prize-actions form{display:flex}.winner-banner{background:radial-gradient(circle at 82%,rgba(249,184,75,.1),transparent 25%),var(--surface)}.winner-banner-icon{display:grid;width:60px;height:60px;flex:none;place-items:center;border:1px solid rgba(249,184,75,.2);border-radius:18px;background:rgba(249,184,75,.09);color:var(--amber)}.winner-banner>.btn{margin-left:auto}

/* Companies, users, profile */
.platform-note{align-items:center;margin-bottom:17px;border-color:rgba(139,92,246,.16);background:linear-gradient(90deg,rgba(139,92,246,.08),transparent)}.platform-note>span{display:grid;width:42px;height:42px;flex:none;place-items:center;border-radius:13px;background:rgba(139,92,246,.1);color:#b89dfa}.platform-note b{font-size:11px}.platform-note p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.company-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--surface);padding:20px}.company-card:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--company-color);content:""}.company-card.is-blocked{opacity:.65}.company-head{display:flex;align-items:center;justify-content:space-between}.company-logo{display:grid;width:54px;height:54px;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--company-color) 30%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--company-color) 10%,var(--surface-2));color:var(--company-color);font-family:var(--display);font-size:20px;font-weight:800}.company-logo img{width:100%;height:100%;object-fit:contain;padding:5px}.company-copy{min-height:105px;padding:17px 0 10px}.company-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid var(--line);margin-top:9px;padding-top:16px}.profile-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:17px}.profile-card{text-align:center}.profile-avatar-large{display:grid;width:88px;height:88px;place-items:center;border:1px solid rgba(139,92,246,.2);border-radius:28px;background:var(--gradient);margin:4px auto 14px;color:#fff;font-family:var(--display);font-size:33px;font-weight:800;box-shadow:0 18px 50px rgba(139,92,246,.22)}.profile-card h2{margin:16px 0 5px;font-family:var(--display);font-size:22px}.profile-card>p{margin:0;color:var(--muted);font-size:11px}.profile-details{display:grid;gap:0;border-top:1px solid var(--line);margin-top:22px;text-align:left}.profile-details div{border-bottom:1px solid var(--line);padding:14px 2px}.profile-details small,.profile-details b{display:block}.profile-details small{margin-bottom:5px;color:var(--muted);font-size:8px;text-transform:uppercase}.profile-details b{font-size:11px}.security-shield{display:grid;width:52px;height:52px;place-items:center;border:1px solid rgba(53,212,154,.17);border-radius:16px;background:rgba(53,212,154,.08);color:var(--green)}.audit-action{display:inline-flex;border-radius:8px;background:rgba(139,92,246,.08);padding:6px 8px;color:#b89df6;font-size:9px;text-transform:capitalize}.data-table code{color:var(--muted);font-size:9px}

@keyframes brand-shine{0%,65%{transform:translateX(-70%)}85%,100%{transform:translateX(70%)}}@keyframes pulse{50%{opacity:.5;transform:scale(.8)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes modal-in{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}@keyframes toast-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}

@media(max-width:1250px){.raffle-grid,.prize-grid,.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid.six{grid-template-columns:repeat(3,1fr)}.raffle-stats span:nth-child(2){display:none}}
@media(max-width:980px){:root{--sidebar:270px}.app-layout{display:block}.sidebar{transform:translateX(-105%);transition:.25s ease}.sidebar.open{transform:none}.sidebar-close,.menu-btn{display:grid}.sidebar-backdrop{position:fixed;z-index:40;inset:0;display:block;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:.25s}.sidebar.open+.sidebar-backdrop{opacity:1;pointer-events:auto}.main-shell{width:100%}.topbar{gap:12px}.hero-card{grid-template-columns:1fr}.hero-visual{display:none}.profile-grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-story{display:none}.login-panel-wrap{border:0}.mobile-brand{display:inline-flex;margin-bottom:38px}.login-panel{padding:38px}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-grid.six{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.desktop-only{display:none}.topbar{min-height:78px;padding:13px 15px}.topbar-title h1{font-size:20px}.topbar-title p{display:none}.topbar-actions .btn span{display:none}.content-shell{padding:20px 14px 45px}.hero-card{min-height:0}.hero-copy{padding:32px 25px}.hero-copy h2{font-size:31px}.hero-actions{width:100%;flex-direction:column}.hero-actions .btn{width:100%}.metric-grid,.metric-grid.six,.mini-metrics{grid-template-columns:1fr}.metric-card{min-height:105px}.raffle-grid,.prize-grid,.company-grid{grid-template-columns:1fr}.raffle-row{grid-template-columns:auto 1fr auto}.raffle-stats{display:none}.section-card{border-radius:18px;padding:18px}.table-card{padding:0}.section-heading{align-items:flex-start}.toolbar,.table-toolbar{align-items:stretch;flex-direction:column}.search-form{align-items:stretch;flex-wrap:wrap}.search-form .input-wrap{width:100%}.search-form select{flex:1}.button-group{display:grid;grid-template-columns:repeat(2,1fr)}.button-group .btn:last-child:nth-child(3){grid-column:1/-1}.subnav{margin-top:-4px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.modal{align-items:flex-end;padding:0}.modal-dialog,.modal-dialog.modal-lg{width:100%;max-height:92vh;border-radius:23px 23px 0 0;padding:23px}.raffle-list.compact .raffle-row{gap:11px}.row-title{align-items:flex-start;flex-direction:column;gap:5px}.attendance-hero,.winner-banner{align-items:flex-start;padding:20px}.attendance-ring{width:72px;height:72px}.winner-banner-icon{display:none}.winner-banner>.btn{margin:0}.summary-inline{gap:12px}.login-panel-wrap{padding:18px}.login-panel{border-radius:24px;padding:28px}.login-panel h2{font-size:27px}.login-legal{display:none}.attendance-state{display:none}.data-table th,.data-table td{padding-right:13px;padding-left:13px}.toast-stack{right:16px;bottom:16px}}
@media(max-width:420px){.topbar-actions>.icon-btn{display:none}.metric-card{padding:17px}.raffle-card{padding:17px}.button-group{grid-template-columns:1fr}.button-group .btn:last-child:nth-child(3){grid-column:auto}.login-panel-wrap{justify-content:flex-start;padding-top:7vh}.login-panel{padding:25px 21px}.mobile-brand{margin-bottom:30px}}
.button-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
