/* Visual layer. Brand colors are supplied by the selected organization. */
:root{--radius:16px;--shadow:0 8px 28px #12364b06;--ink:#142d45;--canvas:#eff5f9}
body{background:radial-gradient(ellipse at 85% 0%,#d5f2f580,transparent 52%),var(--canvas);-webkit-font-smoothing:antialiased}
.card{box-shadow:var(--shadow);border-color:#e4edf3}
.button{border-radius:9px;transition:transform .18s,box-shadow .18s,background .18s}
.button.primary{background:linear-gradient(115deg,var(--teal),var(--teal-dark));box-shadow:0 5px 12px color-mix(in srgb,var(--teal) 18%,transparent)}
.button:hover:not(:disabled){transform:translateY(-1px)}
.brand img{height:48px;width:48px}.brand strong{font-weight:750;letter-spacing:-.6px}.brand small{font-size:.56rem;letter-spacing:4px}
.public-shell{max-width:1390px;margin:22px auto;border-radius:22px;box-shadow:0 24px 70px #143c5112;background:#fbfdff}
.public-header{padding:18px 36px;min-height:86px}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:190px;padding:30px 36px;background:linear-gradient(110deg,#f4f9fd 34%,color-mix(in srgb,var(--teal) 12%,white))}
.hero:before{content:'';position:absolute;z-index:-1;inset:0 0 0 38%;background:linear-gradient(145deg,transparent 31%,#ffffff85 31.2%,transparent 57%),repeating-linear-gradient(90deg,transparent 0 65px,#1f9dac10 66px 67px),repeating-linear-gradient(0deg,transparent 0 65px,#1f9dac0a 66px 67px);mask-image:linear-gradient(90deg,transparent,#000)}
.hero:after{content:'';position:absolute;z-index:-1;width:700px;height:220px;right:-80px;bottom:-135px;border-radius:50%;transform:rotate(-17deg);background:color-mix(in srgb,var(--teal) 16%,transparent);box-shadow:-160px -35px 0 color-mix(in srgb,var(--teal) 8%,transparent),-290px -14px 0 #ffffff70}
.hero h1{font-size:3.25rem;font-weight:780;letter-spacing:-1.8px}.hero .eyebrow{letter-spacing:2.8px;font-size:.61rem}.hero-caption{max-width:215px;font-size:1.14rem;line-height:1.3;border:0;padding-left:0}.hero-caption span{width:52px;height:5px}
.public-content{padding:22px 36px 30px;min-height:470px}.instruction-banner{background:color-mix(in srgb,var(--teal) 8%,white);border:1px solid color-mix(in srgb,var(--teal) 9%,white);color:#225a74;margin-bottom:16px}
.intro-layout{grid-template-columns:minmax(0,1fr) 310px;gap:20px}.phone-card{padding:29px}.phone-card form{gap:12px}.phone-card form .button{min-width:180px}.phone-card h2{font-size:1.12rem}.step{background:linear-gradient(130deg,var(--teal),var(--teal-dark));box-shadow:0 4px 12px #009ca521;width:35px;height:35px}
.intro-note{background:linear-gradient(145deg,#f1fbfc,#f8fbff);padding:24px;border:1px solid #deedf2;border-radius:16px}.intro-note>h2{font-size:1.2rem}.mini-rule{padding:12px 0}.mini-rule b{background:white;border:1px solid #dfeef1;border-radius:8px;width:32px;height:32px;display:grid;place-items:center;font-size:.72rem;color:var(--teal-dark)}
.voting-layout{grid-template-columns:minmax(0,1fr) 322px;gap:18px}.phone-confirmed{padding:15px 20px;background:linear-gradient(110deg,white,#f7fcfc)}.companies-panel{padding:22px 16px}.company-grid{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.company-card{min-height:80px;padding:12px 11px;gap:11px;border-radius:10px;transition:border-color .15s,box-shadow .15s,background .15s}.company-card:hover:not(.locked){border-color:var(--teal);box-shadow:0 4px 12px #16395108}.company-card.selected{background:color-mix(in srgb,var(--teal) 9%,white);border-color:color-mix(in srgb,var(--teal) 60%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--teal) 12%,transparent)}
.company-logo{background:white;border:1px solid #e7eff2;box-shadow:0 2px 8px #193d4905;border-radius:50%;width:40px;height:40px}.company-copy strong{font-size:.78rem;line-height:1.35}.company-copy small{font-size:.71rem;line-height:1.4}.selection-count{border-radius:10px;background:#f1f7f9}.selection-panel{padding:13px;top:18px}.summary-heading{padding:15px 10px;background:linear-gradient(100deg,#e8faf5,#effbfa);border-radius:10px}.summary-icon{background:linear-gradient(130deg,var(--teal),var(--teal-dark));color:white;border-radius:50%}.selected-list{counter-reset:picks}.selected-list li:not(.selection-placeholder):before{counter-increment:picks;content:counter(picks);width:24px;height:24px;border-radius:50%;background:#edf3f7;display:grid;place-items:center;font-size:.75rem;font-weight:700;flex:none}.selected-list li{padding:9px 7px}.selected-list strong{font-size:.78rem}.selected-list .company-logo{width:33px;height:33px}.selection-panel .notice{background:#eef6ff;border-color:#e5f0fa}.time-grid>div{background:linear-gradient(140deg,#f0f5fa,#f8fbfd);border:1px solid #edf3f7;border-radius:9px}.time-grid b{color:#165995;font-variant-numeric:tabular-nums}.public-footer{border-top:1px solid #e9f0f4;padding:20px 36px}
.admin-layout{grid-template-columns:215px minmax(0,1fr)}.sidebar{background:radial-gradient(ellipse at 0 90%,#00657c70,transparent 70%),var(--navy);padding:28px 14px}.sidebar .brand{gap:10px}.sidebar .brand strong{font-size:1.03rem}.sidebar .brand img{width:42px;height:48px}.sidebar .brand small{font-size:.45rem;letter-spacing:2.5px}.sidebar .brand span{min-width:0}.sidebar .brand{width:auto}.nav-item.active{background:linear-gradient(100deg,var(--teal-dark),var(--teal));box-shadow:0 5px 20px #001e3920}.nav-item{border-radius:10px}.brand-watermark{font-size:16rem;opacity:.25;letter-spacing:-22px}.admin-header{height:72px;padding:0 26px}.admin-content{padding:25px 24px}.page-heading h1{font-size:2.55rem;letter-spacing:-1.4px}.page-heading .eyebrow{font-size:.57rem;letter-spacing:2.5px}.stats-grid{gap:13px}.stat{min-height:100px;padding:18px 14px;position:relative;overflow:hidden}.stat:after{content:'';position:absolute;width:85px;height:85px;right:-37px;bottom:-43px;border:12px solid color-mix(in srgb,var(--teal) 5%,white);border-radius:50%;pointer-events:none}.stat>.icon{height:50px;width:48px;background:var(--aqua)}.stat strong{font-size:2rem}.stat span{font-size:.72rem}.stat .stat-date{font-size:1.05rem}.poll-toolbar{padding:10px 13px;border:1px solid #e1ebf1;background:#ffffffa8;border-radius:12px;margin-bottom:16px}.connection{font-size:.72rem}
.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(240px,1fr) minmax(235px,.87fr);gap:15px;align-items:stretch}.results-panel{grid-column:1;grid-row:1;padding:19px 14px;min-height:0}.distribution-panel{grid-column:2;grid-row:1;padding:20px 16px}.management-panel{grid-column:3;grid-row:1;padding:19px 13px}.top-panel{grid-column:1/3;grid-row:2}.overview-panel{grid-column:3;grid-row:2}.distribution-panel h2{display:flex;align-items:center;gap:6px;font-size:1rem}.distribution-panel>.muted{font-size:.72rem}.donut{width:min(100%,220px);aspect-ratio:1;border-radius:50%;margin:26px auto;display:grid;place-items:center;box-shadow:0 8px 28px #17497008}.donut>div{width:65%;height:65%;border-radius:50%;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 4px #ffffffc7}.donut strong{font-size:2.1rem;letter-spacing:-1px}.donut span{font-size:.73rem;color:var(--muted);margin-top:4px}.chart-legend{list-style:none;margin:0;padding:0;display:grid;gap:13px}.chart-legend li{display:flex;align-items:center;gap:7px;font-size:.67rem}.chart-legend i{width:10px;height:10px;border-radius:50%;flex:none}.chart-legend span{flex:1}.chart-legend b{font-variant-numeric:tabular-nums;font-weight:600}.table-company{min-width:0}.table-company .company-logo{display:none}.table-company strong{font-size:.73rem}.table-company small{font-size:.62rem}.bar-value{min-width:65px;gap:6px}.bar-value b{font-size:.65rem;min-width:33px}.bar{min-width:28px}.results-panel th,.results-panel td{padding:11px 5px}.results-panel h2{font-size:1rem}.table-caption{font-size:.7rem}.management-panel h2{font-size:.92rem}.table-foot{font-size:.66rem}.podium-card{padding:17px;background:linear-gradient(135deg,#fff,#f5fafc);border-radius:12px}.podium-card h3{font-size:.85rem}.login-card{box-shadow:0 24px 70px #173b5310;padding:34px}.login-brand em{color:var(--teal)}.login-icon{background:var(--aqua)}
@media(min-width:1600px){.admin-content{padding:30px 36px}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr) 300px}}
@media(max-width:1200px){.public-shell{margin:16px}.public-header,.hero{padding-left:26px;padding-right:26px}.public-content{padding:20px 24px}.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr)}.management-panel{grid-column:2;grid-row:2}.top-panel{grid-column:1;grid-row:2}.overview-panel{grid-column:1/3;grid-row:3}.admin-layout{grid-template-columns:190px minmax(0,1fr)}.sidebar .brand strong{font-size:.85rem}.sidebar .brand img{width:34px}.podium{grid-template-columns:1fr}.podium-card h3{min-height:0}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.public-shell{margin:0;border-radius:0;border:0}.public-header{padding:16px 20px}.hero{min-height:160px;padding:24px 20px}.hero h1{font-size:2.6rem}.hero:before{inset-inline-start:10%}.public-content{padding:18px}.intro-layout,.voting-layout{grid-template-columns:1fr}.intro-note{padding:22px}.phone-card{padding:23px}.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-panel{position:static}.selected-list{grid-template-columns:1fr}.selected-list .company-logo{display:grid}.admin-layout{grid-template-columns:1fr}.sidebar{width:230px}.dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(230px,1fr)}.admin-content{padding:22px 18px}.admin-header{padding:0 18px}.stat>.icon{display:block}.admin-breadcrumb{font-size:.76rem}.top-panel,.management-panel,.overview-panel{grid-row:auto}.public-footer{padding:20px}.phone-card form .button{min-width:0}}
@media(max-width:560px){.public-header{padding:16px;min-height:76px}.public-header .brand strong{font-size:.87rem}.brand img{width:36px;height:40px}.hero{padding:23px 17px;min-height:140px}.hero h1{font-size:2.4rem}.hero .eyebrow{font-size:.53rem}.public-content{padding:15px 12px}.phone-card{padding:21px 16px}.phone-card h2{font-size:1rem}.step{width:29px;height:29px}.phone-card form{gap:10px}.intro-note{padding:22px}.company-grid{grid-template-columns:1fr;gap:8px}.companies-panel{padding:17px 12px}.company-card{min-height:69px;padding:11px;gap:13px}.company-copy strong{font-size:.87rem}.company-copy small{font-size:.77rem}.selection-panel{padding:12px}.selected-list strong{font-size:.82rem}.selected-list li{padding:9px}.hero-caption{display:none}.admin-content{padding:20px 12px}.admin-header{height:66px;padding:0 12px}.admin-breadcrumb{font-size:.68rem}.page-heading h1{font-size:2.15rem}.stats-grid{gap:9px}.stat{padding:14px 10px;min-height:100px;gap:8px}.stat>.icon{width:32px;height:39px;padding:6px}.stat strong{font-size:1.75rem}.stat span{font-size:.65rem}.stat .stat-date{font-size:.88rem}.dashboard-grid{grid-template-columns:1fr;gap:13px}.dashboard-grid>*{grid-column:1;grid-row:auto}.results-panel{order:0}.management-panel{order:1}.distribution-panel{order:2}.top-panel{order:3}.overview-panel{order:4}.results-panel .table-company strong{font-size:.76rem}.results-panel th,.results-panel td{padding:12px 5px}.distribution-panel{padding:22px}.donut{width:200px;margin:22px auto}.chart-legend{grid-template-columns:1fr 1fr;gap:14px}.chart-legend li{font-size:.67rem}.podium-card{padding:16px}.admin-profile{gap:5px}.poll-toolbar{padding:11px}.login-card{padding:27px 22px}.button{min-height:44px}.public-header .status{font-size:.6rem}}
.stat>div,.stat>.icon{position:relative;z-index:1}
@media(min-width:801px){.results-panel .table-scroll{max-height:410px;overflow:auto}.results-panel thead{position:sticky;top:0;z-index:1;background:#f1f6f9}}
