:root {
  --navy: #10254d; --navy-dark: #0a1731; --blue: #1d5cba; --cyan: #53cce3;
  --ink: #172849; --muted: #77849a; --line: #e3e9f1; --paper: #f4f7fb;
  --white: #fff; --shadow: 0 18px 60px rgba(25, 49, 98, .07);
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; color: var(--ink); background: var(--paper); min-height: 100vh; -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
button { cursor: pointer; }
button:disabled { opacity: .46; cursor: not-allowed; }
a { color: inherit; text-decoration: none; }
.wrap { max-width: 1130px; width: min(calc(100% - 60px), 1130px); margin-inline: auto; }
.ambient { position: fixed; z-index: -1; border-radius: 50%; filter: blur(90px); pointer-events: none; opacity: .32; }
.ambient-left { left: -200px; top: 250px; width: 520px; height: 520px; background: #dce8ff; }
.ambient-right { right: -260px; bottom: 0; width: 550px; height: 550px; background: #d4f6fb; }
.site-header { height: 104px; display: flex; align-items: center; justify-content: space-between; }
.brand { display:flex; align-items:center; gap: 13px; color: var(--navy); }
.brand-glyph { position:relative; width:43px; height:43px; border: 2.5px solid #1b5aaa; border-radius: 50%; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.brand-glyph span { position:absolute; width:31px; height:31px; border:2px solid #49bcd5; border-radius:50%; transform:translate(11px,8px); }
.brand-glyph span:nth-child(2) { width:24px; height:24px; transform:translate(-9px,-10px); }
.brand-glyph span:nth-child(3) { width:14px; height:14px; transform:translate(-1px,0); background:#1b5aaa; border:0; }
.brand-copy { display:flex; flex-direction:column; line-height:1; }
.brand-copy strong { letter-spacing:-.07em; font-weight:900; font-size:26px; color:#102955; }
.brand-copy strong span { color:#2376b5; margin-left:4px; }
.brand-copy small { font-weight:700; font-size:9px; letter-spacing:.23em; margin-top:6px; color:#7d8ca7; }
.header-side { display:flex; align-items:center; gap:27px; }
.header-divider { height:27px; width:1px; background:#dce4f0; }
.pill { display:inline-flex; align-items:center; gap:7px; padding:11px 15px; border-radius:999px; font-size:12px; font-weight:700; }
.pill-glass { color:#0e8c91; background:#e8f7f7; }
.pill-glass.is-closed { background:#f0f1f4; color:#64738b; }
.hero { position:relative; min-height:405px; overflow:hidden; border-radius:22px; padding:49px 62px 45px; color:#fff; isolation:isolate; background:radial-gradient(circle at 92% 58%,rgba(31,166,206,.53),transparent 28%),linear-gradient(113deg,#0b1c3c 0%,#173868 54%,#0f538c 100%); box-shadow:0 22px 65px rgba(11,32,74,.16); }
.hero::before { content:''; position:absolute; inset:0; z-index:-1; background:repeating-linear-gradient(112deg,transparent 0px,transparent 49px,rgba(255,255,255,.015) 50px,rgba(255,255,255,.015) 51px); }
.hero-lines { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.hero-lines i { position:absolute; display:block; width:650px; height:650px; border:1px solid rgba(157,234,248,.20); border-radius:50%; right:-230px; top:-160px; transform:rotate(-23deg); }
.hero-lines i:nth-child(2) { width:500px; height:500px; right:-152px; top:-90px; border-color:rgba(157,234,248,.25); }
.hero-lines i:nth-child(3) { width:370px; height:370px; right:-88px; top:-21px; border-color:rgba(157,234,248,.29); }
.hero-lines i:nth-child(4) { width:235px; height:235px; right:-20px; top:49px; border-color:rgba(157,234,248,.33); }
.eyebrow { display:flex; align-items:center; gap:13px; font-size:11px; letter-spacing:.21em; font-weight:800; color:#b8edfa; }
.eyebrow-line { display:inline-block; width:31px; height:2px; background:#55cce1; }
.hero h1 { font-size:clamp(42px,5.1vw,67px); letter-spacing:-.057em; line-height:1.08; font-weight:800; max-width:720px; margin:25px 0 16px; }
.hero h1 em { font-style:normal; color:#80d9eb; }
.hero-dot { color:#fff; }
.hero-lead { max-width:550px; color:#d1e0f1; font-size:15px; line-height:1.75; margin:0; }
.event-facts { display:flex; flex-wrap:wrap; gap:25px; margin-top:27px; color:#e1edf8; font-size:12px; font-weight:650; }
.event-facts>span { display:flex; align-items:center; gap:8px; }
.fact-icon { font-size:20px; color:#8bdef0; font-weight:400; }
.hero-decor { position:absolute; width:370px; height:370px; right:26px; top:30px; pointer-events:none; }
.orb { position:absolute; border-radius:100%; background:rgba(109,238,244,.58); box-shadow:0 0 60px rgba(73,224,239,.35); }
.orb-one { width:10px; height:10px; right:46px; top:51px; }
.orb-two { width:15px; height:15px; right:175px; bottom:70px; }
.orb-three { width:7px; height:7px; left:38px; top:60px; }
.entry-layout { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr); gap:25px; margin-top:29px; }
.panel { background:#fff; border:1px solid #e6ecf3; border-radius:19px; box-shadow:var(--shadow); }
.entry-card { padding:38px 45px; }
.panel-index,.mini-kicker { color:#278ab2; font-weight:800; font-size:10px; letter-spacing:.18em; }
.entry-card h2 { font-size:43px; line-height:1.07; letter-spacing:-.06em; margin:17px 0 17px; color:#10254d; }
.muted { color:var(--muted); font-size:14px; line-height:1.65; }
.stack-form { display:flex; flex-direction:column; margin-top:25px; gap:9px; }
.stack-form label { font-weight:700; font-size:12px; color:#263a5d; margin-top:6px; }
.stack-form input,.admin-input { background:#f8fafe; border:1px solid #dce5f2; color:var(--navy); height:49px; padding:0 15px; border-radius:9px; outline:none; font-size:14px; width:100%; }
.stack-form input:focus,.admin-input:focus { border-color:#3584c8; box-shadow:0 0 0 4px rgba(50,138,201,.11); }
.optional { color:#9cabc0; font-weight:500; }
.btn { display:inline-flex; justify-content:center; align-items:center; gap:12px; border-radius:9px; border:1px solid transparent; font-weight:750; font-size:13px; padding:12px 17px; min-height:44px; transition:background .15s,transform .15s,border-color .15s; white-space:nowrap; }
.btn:not(:disabled):active { transform:translateY(1px); }
.btn-wide { width:100%; justify-content:space-between; min-height:52px; margin-top:11px; padding-inline:20px; }
.btn-primary { color:#fff; background:linear-gradient(110deg,#2259bb,#238cc8); box-shadow:0 7px 18px rgba(35,103,194,.16); }
.btn-primary:hover:not(:disabled) { background:linear-gradient(110deg,#164da9,#177ebd); }
.btn-dark { background:#123264; color:#fff; }
.btn-dark:hover:not(:disabled) { background:#1e4f92; }
.btn-outline { border-color:#d3dfec; color:#20538d; background:#fff; }
.btn-outline:hover:not(:disabled) { background:#f2f7ff; border-color:#a5c2e3; }
.btn-text { background:transparent; color:#7d8b9f; }
.card-footnote { font-size:11px; color:#96a1b4; line-height:1.5; margin-top:13px; }
.entry-separator { margin:23px 0 13px; display:flex; align-items:center; color:#a0abc0; gap:14px; font-size:12px; }
.entry-separator:before,.entry-separator:after { content:''; background:#e9edf4; height:1px; flex:1; }
.text-action { border:0; background:transparent; color:#2165aa; padding:6px 0; font-weight:750; font-size:12px; text-align:left; }
.text-action:hover { text-decoration:underline; }
.recover-form { margin-top:15px; border-top:1px solid var(--line); padding-top:16px; }
.recover-form input { text-transform:uppercase; letter-spacing:.2em; }
.entry-aside { color:#fff; padding:38px; min-height:530px; border-radius:19px; background:linear-gradient(155deg,#14396d 0%,#10315b 62%,#0d2346 100%); position:relative; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; }
.aside-graphic { position:absolute; width:320px; height:320px; top:25px; left:50%; transform:translateX(-50%); }
.aside-ring { position:absolute; inset:0; border-radius:50%; border:1px solid rgba(133,224,242,.20); }
.aside-ring.r2 { inset:48px; border-color:rgba(133,224,242,.31); }
.aside-ring.r3 { inset:92px; border-color:rgba(133,224,242,.43); }
.aside-center { position:absolute; inset:0; display:flex; justify-content:center; align-items:center; font-size:84px; font-weight:800; letter-spacing:-.09em; color:#a3f1f5; text-shadow:0 0 50px rgba(98,235,249,.5); }
.aside-number { color:#8ee6f2; font-size:10px; letter-spacing:.19em; font-weight:800; }
.entry-aside h3 { font-size:30px; line-height:1.14; letter-spacing:-.045em; max-width:300px; margin:14px 0 12px; }
.entry-aside p { color:#c1d9ee; font-size:13px; line-height:1.68; max-width:335px; margin:0; }
.dashboard { margin-top:24px; }
.voter-toolbar { display:flex; padding:22px 28px; justify-content:space-between; align-items:center; gap:25px; }
.profile-mini { display:flex; align-items:center; gap:13px; min-width:220px; }
.profile-mini>div { display:flex; flex-direction:column; gap:5px; }
.profile-mini strong { font-size:20px; font-weight:800; letter-spacing:-.035em; }
.profile-avatar { display:flex; align-items:center; justify-content:center; min-width:47px; height:47px; border-radius:12px; background:linear-gradient(140deg,#103465,#2c92c6); color:#fff; font-size:16px; font-weight:800; }
.progress-area { width:min(350px, 45%); }
.progress-meta { display:flex; justify-content:space-between; font-size:12px; margin-bottom:10px; }
.progress-meta>span { color:#94a0b1; }.progress-meta>b { color:#193967; }
.progress-track { width:100%; background:#e8eef6; border-radius:50px; height:7px; overflow:hidden; }
.progress-fill { height:100%; background:linear-gradient(90deg,#2e72c7,#59d9dc); border-radius:50px; transition:width .35s; }
.tabs { display:flex; gap:28px; margin-top:17px; padding:0 10px; border-bottom:1px solid #dde6f0; overflow-x:auto; }
.tab { display:flex; align-items:center; gap:9px; background:transparent; border:0; border-bottom:3px solid transparent; padding:17px 5px 15px; color:#8c9bad; font-weight:750; font-size:13px; white-space:nowrap; }
.tab.active { color:#174d98; border-bottom-color:#2b7fc4; }
.tab-bubble { display:inline-flex; align-items:center; justify-content:center; font-size:10px; color:#4678aa; background:#e8eff8; border-radius:5px; min-width:23px; height:20px; }
.view { padding:36px 0 0; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin:0 0 24px; }
.eyebrow-dark { color:#2682ae; }
.section-heading h2 { font-size:36px; letter-spacing:-.055em; line-height:1.1; color:#132d57; margin:14px 0 0; }
.section-heading h2 em { font-style:normal; color:#2b80b4; }
.section-caption { display:flex; align-items:baseline; gap:6px; color:#8ca1bd; font-weight:800; font-size:20px; }
.section-caption span { font-size:9px; letter-spacing:.18em; }
.notice { padding:15px 19px; display:flex; align-items:center; gap:13px; border-radius:10px; font-size:12px; line-height:1.5; margin-bottom:17px; }
.notice-info { color:#436a92; background:#eaf2fb; border:1px solid #d9e9f8; }
.notice-favorite { background:#ecf5fa; color:#315b80; margin-top:20px; border:1px solid #dbe9f2; }
.notice-favorite:first-letter { color:#2b83b1; font-size:18px; }
.speaker-list { display:flex; flex-direction:column; gap:11px; }
.speaker-card { background:#fff; border:1px solid #e1e9f2; box-shadow:0 4px 22px rgba(21,52,104,.04); border-radius:13px; overflow:hidden; transition:border-color .2s,box-shadow .2s; }
.speaker-card.speaker-editing { border-color:#78afd8; box-shadow:0 8px 30px rgba(21,77,147,.10); }
.speaker-top { display:flex; align-items:center; padding:21px 23px; gap:18px; }
.speaker-num { color:#a9b5c7; font-size:15px; font-weight:850; width:31px; display:flex; flex-direction:column; gap:7px; flex-shrink:0; }
.num-dash { width:15px; height:2px; background:#8ac5dc; }
.speaker-avatar { flex:0 0 60px; width:60px; height:60px; border-radius:11px; display:flex; justify-content:center; align-items:center; font-size:20px; font-weight:800; letter-spacing:-.055em; }
.tint-0 { color:#1e548c; background:#e6f0fb; }.tint-1 { color:#247d9a; background:#e6f6fa; }.tint-2 { color:#3c68ab; background:#e8edfb; }.tint-3 { color:#318ca8; background:#edf6fa; }.tint-4 { color:#506c9c; background:#e8eff9; }
.speaker-info { flex:1; min-width:0; }
.speaker-sub { display:block; color:#849bb3; font-weight:650; letter-spacing:.04em; font-size:11px; margin-bottom:5px; }
.speaker-info h3 { font-size:20px; line-height:1.25; margin:0 0 7px; color:#173261; letter-spacing:-.035em; }
.speaker-status { display:inline-flex; color:#a8b0bb; font-weight:800; letter-spacing:.11em; font-size:9px; }
.status-done { color:#1c9aa5; }
.speaker-side-score { color:#c6d1e0; min-width:70px; text-align:right; }
.speaker-side-score strong { color:#1d5797; font-size:34px; letter-spacing:-.075em; }
.speaker-side-score small { font-size:12px; color:#99a9ba; font-weight:700; }
.speaker-side-score>span { font-size:28px; }
.video-badge { font-size:10px; color:#7f98ac; white-space:nowrap; letter-spacing:.03em; }
.speaker-actions { display:flex; gap:12px; align-items:center; padding:0 23px 19px 132px; flex-wrap:wrap; }
.speaker-actions .btn { font-size:12px; min-height:40px; padding:10px 14px; }
.favorite-action { border:0; display:inline-flex; align-items:center; gap:7px; background:transparent; color:#8699ac; font-size:12px; font-weight:750; padding:9px 10px; }
.favorite-action>span { font-size:20px; line-height:1; color:#5186ad; }
.favorite-action.favorited { color:#146f9f; }
.favorite-action.favorited>span { color:#2182ae; }
.closed-hint { font-size:12px; color:#9aa6b5; }
.rating-editor { padding:23px 27px 27px; background:linear-gradient(180deg,#f3f8fd,#f8fbff); border-top:1px solid #e0edf6; }
.rating-head { display:flex; align-items:end; justify-content:space-between; gap:15px; }
.rating-head h4 { margin:6px 0 0; font-size:20px; color:#183a68; letter-spacing:-.04em; }
.rating-verbal { color:#5685ae; font-size:12px; font-weight:800; }
.rating-choices { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:7px; margin-top:19px; }
.rating-choice { height:47px; border:1px solid #d9e5f1; color:#276094; background:#fff; border-radius:8px; font-size:15px; font-weight:750; }
.rating-choice:hover { background:#e6f3fb; }.rating-choice.selected { color:#fff; background:#1b66b1; border-color:#1b66b1; box-shadow:0 4px 13px rgba(29,102,177,.17); }
.rating-footer { margin-top:20px; display:flex; align-items:center; gap:15px; justify-content:space-between; }
.rating-footer>span { font-size:11px; color:#9baabd; }.rating-footer>div { display:flex; gap:6px; }
.my-vote-list,.result-list { display:flex; flex-direction:column; gap:11px; }
.my-summary { display:flex; align-items:center; gap:28px; background:linear-gradient(110deg,#132f60,#1d629d); border-radius:14px; padding:23px 32px; color:#fff; margin-bottom:10px; }
.big-figure { font-size:60px; font-weight:800; letter-spacing:-.08em; white-space:nowrap; }
.big-figure span { font-size:21px; color:#a6ddec; }
.my-summary strong { font-size:17px; }.my-summary p { font-size:12px; color:#c3d8ec; max-width:400px; line-height:1.55; }
.my-vote-row { display:flex; align-items:center; gap:18px; padding:23px 28px; background:#fff; border:1px solid #e5ebf2; border-radius:12px; }
.my-vote-row>div:first-child { display:flex; flex-direction:column; gap:5px; flex:1; }.my-vote-row>div:first-child>span { font-size:11px; color:#92a4b9; }.my-vote-row>div:first-child>strong { font-size:17px; color:#1a376a; }
.my-vote-score { font-size:27px; font-weight:850; color:#246db0; }.my-vote-score small { color:#9daaba; font-size:11px; }.my-edit { padding:8px; color:#3a7cae; border:0; background:transparent; font-size:12px; font-weight:750; }
.empty-state { text-align:center; padding:50px 25px; }.empty-orb { width:76px; height:76px; border:1px solid #cae5f1; border-radius:50%; margin:0 auto; color:#57a2c6; display:flex; align-items:center; justify-content:center; font-size:46px; }
.empty-state h3 { margin:18px 0 5px; font-size:22px; color:#1a3d71; }.empty-state p { color:var(--muted); font-size:13px; margin:0 0 23px; }
.profile-panel,.account-panel { padding:28px; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; }
.profile-panel>div,.account-panel>div { max-width:600px; display:flex; flex-direction:column; gap:8px; }.profile-panel .muted,.account-panel .muted { margin:0; }
.profile-code { color:#184c8b; font-size:28px; letter-spacing:.17em; user-select:all; }.account-panel strong { font-size:21px; color:#173966; }
.result-highlight { display:flex; flex-direction:column; gap:10px; padding:31px; border-radius:13px; background:linear-gradient(130deg,#0d2754,#21629b); color:#fff; margin-bottom:12px; }
.result-highlight strong { font-size:29px; letter-spacing:-.04em; }.result-highlight>span:last-child { font-size:12px; color:#c4dceb; }
.result-row { display:flex; align-items:center; gap:20px; padding:20px 24px; background:#fff; border:1px solid #e3eaf3; border-radius:11px; }.result-rank { color:#9fbed5; font-size:18px; font-weight:800; }.result-row strong { flex:1; font-size:16px; }.result-row>span:nth-last-of-type(1) { font-size:12px; color:#9cabc0; }.result-row>b { color:#1d599c; font-size:23px; }.result-row small { font-size:11px; color:#9aafc3; }
.site-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-block:48px 35px; color:#9caaba; font-size:10px; font-weight:750; letter-spacing:.14em; }.site-footer a { color:#6086ac; }.site-footer a:hover { color:#1e5c9f; }
.loading-state { padding:60px 0; display:flex; align-items:center; justify-content:center; gap:12px; color:#8a9aab; font-size:13px; }
.loader { width:20px; height:20px; display:inline-block; border:2px solid #c7e0f3; border-top-color:#2169b7; border-radius:50%; animation:spin .8s linear infinite; }@keyframes spin { to { transform:rotate(360deg); } }
.toast { z-index:100; position:fixed; left:50%; bottom:24px; width:max-content; max-width:min(90vw,560px); transform:translate(-50%,20px); background:#153a69; color:#fff; border-radius:10px; padding:13px 21px; box-shadow:0 12px 44px rgba(13,36,75,.25); font-size:13px; font-weight:650; opacity:0; visibility:hidden; transition:opacity .2s,transform .2s,visibility .2s; text-align:center; }
.toast.visible { opacity:1; visibility:visible; transform:translate(-50%,0); }.toast.toast-error { background:#a33e4b; }
/* Admin area */
.admin-body { background:#f1f5fa; }
.admin-header { display:flex; justify-content:space-between; align-items:center; padding-block:23px; gap:15px; }
.admin-header .brand-copy strong { font-size:23px; }.admin-label { padding:8px 13px; color:#4478a4; background:#e4eff9; border-radius:6px; font-size:11px; font-weight:800; letter-spacing:.08em; }
.admin-header-right { display:flex; align-items:center; gap:20px; }.admin-header-right>a { font-size:12px; color:#647f9b; font-weight:750; }
.admin-main { padding-bottom:45px; }
.login-container { max-width:460px; margin:65px auto 75px; }.login-card { padding:37px; }
.login-card h1 { margin:12px 0 9px; font-size:35px; letter-spacing:-.055em; color:#143363; }.login-card .stack-form { margin-top:24px; }
.admin-hero { background:linear-gradient(110deg,#122951,#1a568b); color:#fff; border-radius:16px; padding:27px 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; margin:10px 0 22px; }
.admin-hero h1 { font-size:32px; letter-spacing:-.05em; margin:8px 0 0; }.admin-hero p { color:#c3d8eb; margin:8px 0 0; font-size:12px; }.admin-hero .mini-kicker { color:#8cddeb; }.admin-hero .btn { border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.1); color:#fff; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; margin-bottom:22px; }
.stat-card { padding:21px 23px; border-radius:12px; background:#fff; border:1px solid #e3eaf2; }.stat-card strong { display:block; font-size:34px; color:#16386b; line-height:1.3; letter-spacing:-.04em; }.stat-card small { color:#8c9eb1; font-size:12px; }
.admin-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:19px; margin-bottom:22px; align-items:start; }
.admin-panel { padding:25px; }.admin-panel h2 { font-size:21px; margin:0 0 7px; color:#163565; letter-spacing:-.04em; }.admin-panel>p { margin:4px 0 19px; font-size:12px; color:#8798ae; line-height:1.65; }
.admin-panel-top { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:15px; }.admin-panel-top h2 { margin:0; }
.control-list { display:flex; flex-direction:column; gap:0; }.control-row { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:16px 0; border-top:1px solid #ebeff5; }.control-row:first-child { border-top:0; }.control-row>div { display:flex; flex-direction:column; gap:5px; }.control-row strong { font-size:13px; color:#213e69; }.control-row small { color:#95a3b6; font-size:11px; line-height:1.45; max-width:330px; }
.toggle { position:relative; display:inline-flex; width:46px; height:26px; border:0; background:#cdd7e3; border-radius:50px; flex-shrink:0; transition:background .2s; }.toggle:after { position:absolute; content:''; background:#fff; border-radius:50%; width:18px; height:18px; top:4px; left:4px; transition:transform .2s; box-shadow:0 1px 4px rgba(30,49,80,.14); }.toggle.on { background:#2877be; }.toggle.on:after { transform:translateX(20px); }
.qr-card { display:flex; gap:15px; align-items:center; padding:13px; background:#f4f8fd; border:1px solid #e2ebf4; border-radius:11px; margin-top:12px; }.qr-card img { width:142px; height:142px; border:1px solid #dbe6f2; border-radius:6px; background:#fff; padding:5px; }.qr-right { flex:1; min-width:0; }.qr-right b { display:block; font-size:12px; color:#1f5189; margin-bottom:8px; }.qr-right code { display:block; font-size:11px; color:#657c9d; overflow-wrap:anywhere; line-height:1.4; }.qr-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; }.qr-actions .btn { min-height:35px; padding:8px 10px; font-size:11px; }
.admin-section { margin:24px 0 13px; display:flex; align-items:center; justify-content:space-between; gap:10px; }.admin-section h2 { margin:0; font-size:22px; color:#173761; letter-spacing:-.04em; }.admin-section>div { display:flex; gap:8px; flex-wrap:wrap; }
.admin-section .btn { font-size:11px; min-height:34px; padding:8px 12px; }
.table-scroll { overflow-x:auto; }.admin-table { width:100%; border-collapse:collapse; text-align:left; }.admin-table th { color:#98a6b8; font-size:10px; letter-spacing:.08em; text-transform:uppercase; padding:13px 14px; border-bottom:1px solid #e7ecf3; font-weight:800; white-space:nowrap; }.admin-table td { padding:14px; border-bottom:1px solid #edf1f6; font-size:12px; color:#4b6585; }.admin-table tr:last-child td { border-bottom:0; }.admin-table td strong { color:#243f67; }.admin-table .large-cell { min-width:175px; }.admin-table .number-cell { font-size:16px; color:#236cae; font-weight:850; }.admin-table .code-cell { font-family:ui-monospace,monospace; color:#2d6b9f; letter-spacing:.09em; font-size:11px; }
.admin-speaker-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.speaker-edit-card { border:1px solid #e3eaf2; background:#fff; padding:17px; border-radius:12px; }.speaker-edit-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:15px; }.speaker-edit-head strong { font-size:13px; color:#285887; }.speaker-edit-head>span { color:#9caabe; font-size:10px; font-weight:800; }
.speaker-edit-fields { display:grid; grid-template-columns:65px 1fr; gap:9px; }.speaker-edit-fields .full { grid-column:1/-1; }.edit-label { color:#91a2b4; font-size:10px; margin-bottom:5px; }.speaker-edit-card .admin-input { height:38px; padding:7px 10px; font-size:12px; }
.speaker-edit-controls { display:flex; align-items:center; gap:17px; flex-wrap:wrap; margin:14px 0 0; }.speaker-edit-controls label { display:flex; align-items:center; gap:5px; font-size:11px; font-weight:650; color:#7188a0; }.speaker-edit-controls input { accent-color:#2c80bd; }.speaker-edit-save { margin-left:auto; }.speaker-edit-save .btn { min-height:34px; padding:7px 11px; font-size:11px; }
.result-indicator { display:inline-flex; font-size:10px; background:#e5f4f0; color:#1b947a; font-weight:800; padding:4px 7px; border-radius:5px; }
.empty-table { color:#a1aec1; font-size:13px; padding:25px; text-align:center; }
.admin-notice { color:#637f9d; background:#e8f1f9; padding:14px 16px; font-size:12px; line-height:1.5; margin-bottom:20px; border-radius:8px; }
.admin-footer { padding-block:15px 25px; color:#aab5c3; font-size:11px; text-align:center; }
@media print { body.admin-body { background:#fff; }.admin-header,.admin-hero,.stat-grid,.admin-section,.admin-panel:not(.qr-panel),.admin-notice,.admin-footer,.qr-actions { display:none !important; }.admin-grid { display:block; }.qr-panel { border:0; box-shadow:none; text-align:center; }.qr-panel h2 { font-size:29px; }.qr-card { display:flex; flex-direction:column; border:0; background:#fff; }.qr-card img { width:420px; height:420px; }.qr-right { text-align:center; }.qr-right code { font-size:20px; } }
@media (max-width: 900px) { .hero { padding:45px 38px; }.entry-aside { padding:30px; }.entry-card { padding:32px; }.admin-grid { grid-template-columns:1fr; }.admin-speaker-grid { grid-template-columns:1fr 1fr; } }
@media (max-width: 690px) {
 .wrap { width:min(calc(100% - 30px),1130px); }.site-header { height:76px; }.brand-glyph { width:36px; height:36px; }.brand-copy strong { font-size:22px; }.brand-copy small { font-size:8px; }.header-divider { display:none; }.header-side { gap:0; }.pill { font-size:10px; padding:8px 11px; }
 .hero { min-height:420px; padding:34px 24px 31px; border-radius:16px; }.hero h1 { font-size:clamp(40px,9.2vw,56px); margin:26px 0 17px; }.hero-lead { font-size:13px; line-height:1.7; }.eyebrow { font-size:9px; letter-spacing:.15em; gap:9px; }.eyebrow-line { width:21px; }.hero-lines i { right:-470px; }.hero-lines i:nth-child(2) { right:-390px; }.hero-lines i:nth-child(3) { right:-318px; }.hero-lines i:nth-child(4) { right:-236px; }.hero-decor { right:-180px; }.event-facts { gap:10px 20px; margin-top:25px; font-size:11px; }
 .entry-layout { grid-template-columns:1fr; gap:15px; margin-top:16px; }.entry-card { padding:27px 23px; }.entry-card h2 { font-size:37px; }.entry-aside { min-height:360px; }.aside-graphic { top:-76px; }.entry-aside h3 { font-size:26px; }
 .voter-toolbar { padding:17px; align-items:stretch; flex-direction:column; gap:17px; }.progress-area { width:100%; }.profile-mini strong { font-size:18px; }.tabs { gap:19px; padding:0 2px; }.tab { font-size:12px; }.view { padding-top:27px; }.section-heading h2 { font-size:30px; }.section-caption { display:none; }
 .speaker-top { gap:12px; padding:17px 13px 15px; }.speaker-num { width:25px; font-size:13px; }.speaker-avatar { flex-basis:48px; width:48px; height:48px; font-size:16px; }.speaker-info h3 { font-size:16px; }.speaker-sub { font-size:10px; }.speaker-status { font-size:8px; }.speaker-side-score { min-width:50px; }.speaker-side-score strong { font-size:27px; }.speaker-side-score small { font-size:10px; }.video-badge { font-size:9px; }
 .speaker-actions { padding:0 15px 16px 98px; gap:7px; }.speaker-actions .btn { padding:9px 10px; font-size:11px; }.favorite-action { font-size:11px; padding:7px 0; }.rating-editor { padding:18px 14px 20px; }.rating-head h4 { font-size:17px; }.rating-choices { grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }.rating-footer { flex-direction:column; align-items:stretch; gap:16px; }.rating-footer>div { justify-content:flex-end; }
 .profile-panel,.account-panel { flex-direction:column; align-items:flex-start; padding:22px; }.my-vote-row { padding:16px; gap:9px; }.my-vote-row>div:first-child>strong { font-size:14px; }.my-edit { font-size:11px; }.my-vote-score { font-size:24px; }.my-summary { padding:22px; gap:20px; }.big-figure { font-size:52px; }.my-summary strong { font-size:14px; }.result-row { padding:16px 11px; gap:10px; }.result-row strong { font-size:13px; }.result-row>span:nth-last-of-type(1) { font-size:10px; }
 .site-footer { padding-block:28px; gap:10px; flex-wrap:wrap; line-height:1.5; font-size:9px; }.site-footer>span:nth-child(2) { display:none; }
 .admin-header { flex-wrap:wrap; }.admin-header-right { gap:9px; }.admin-label { font-size:9px; }.admin-hero { padding:22px; flex-direction:column; align-items:flex-start; }.admin-hero h1 { font-size:28px; }.stat-grid { grid-template-columns:1fr 1fr; gap:8px; }.stat-card { padding:16px; }.stat-card strong { font-size:29px; }.stat-card small { font-size:11px; }.admin-panel { padding:18px; }.admin-speaker-grid { grid-template-columns:1fr; }.qr-card { flex-direction:column; align-items:flex-start; }.qr-card img { width:180px; height:180px; align-self:center; }.qr-right { width:100%; }.admin-section { flex-direction:column; align-items:flex-start; }.admin-section h2 { font-size:20px; }
}
@media (max-width: 385px) { .speaker-actions { padding-left:15px; }.speaker-top { gap:9px; }.speaker-avatar { width:43px; flex-basis:43px; }.speaker-info h3 { font-size:15px; }.brand-copy small { font-size:7px; }.header-side .pill { font-size:9px; }.rating-choices { gap:5px; } }

.admin-hero-actions { display:flex; gap:8px; flex-wrap:wrap; }
.admin-side-note { font-size:11px; }
.result-inactive { background:#f0f1f4; color:#8697a8; }

/* ГЕО ТЭД 2026 — отзывы зрителей и кабинеты выступающих */
button,input,textarea,select { font:inherit; }
.speaker-feedback-strip { display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 23px 14px 132px;background:#f9fbfe;border-top:1px solid #eff3f8;color:#8497ad;font-size:11px;font-weight:650; }
.speaker-feedback-strip>span:first-child { display:flex;gap:8px;align-items:center; }
.speaker-feedback-strip>span:first-child>span { color:#247aaf;font-size:19px; }
.btn-message { border:0;background:transparent;font-weight:800;font-size:12px;color:#1765a8;padding:7px 0; }
.btn-message:hover { color:#0c477e;text-decoration:underline; }
.comment-closed { color:#a3afbe;font-size:11px; }
.comment-editor { border-top:1px solid #dce9f4;padding:24px 29px 27px;background:linear-gradient(115deg,#eff8fd,#f9fbfe); }
.comment-heading h4 { margin:7px 0 6px;color:#173965;font-size:24px;letter-spacing:-.045em; }
.comment-heading p { margin:0 0 18px;color:#778ca3;font-size:12px;line-height:1.6; }
.comment-label { display:block;color:#3d638a;font-size:12px;font-weight:750;margin-bottom:8px; }
.comment-editor textarea { display:block;width:100%;resize:vertical;min-height:112px;padding:14px 16px;border:1px solid #d2e2f0;border-radius:11px;background:#fff;color:#233e64;font-size:14px;line-height:1.6;outline:none; }
.comment-editor textarea:focus,.search-box input:focus {border-color:#7cafe1;box-shadow:0 0 0 3px rgba(52,144,214,.12); }
.comment-editor textarea::placeholder { color:#a4b4c5; }
.comment-editor-foot { display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:17px; }
.comment-editor-foot .btn {min-height:43px; }
.anonymous-choice {display:flex;gap:7px;align-items:center;flex-wrap:wrap;color:#476b90;font-size:12px;font-weight:700; }
.anonymous-choice input { accent-color:#297fbd;width:16px;height:16px; }
.anonymous-choice small {color:#8295ac;font-weight:400;font-size:11px; }
.feedback-intro {color:#738aa2;max-width:650px;line-height:1.65;margin:-12px 0 22px;font-size:13px; }
.my-comment-list {display:flex;flex-direction:column;gap:12px; }
.my-comment-card {padding:22px 26px; }
.my-comment-meta {display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap; }
.my-comment-meta strong {color:#204d86;font-size:14px; }
.my-comment-meta span {color:#97a9bc;font-size:11px; }
.my-comment-card p {font-size:14px;line-height:1.7;color:#334f74;margin:15px 0;overflow-wrap:anywhere; }
.my-comment-foot {font-size:11px;color:#76a0be;border-top:1px solid #eff2f7;padding-top:12px; }

/* Персональный кабинет выступающего */
.speaker-main {min-height:65vh; }
.speaker-login-layout {display:grid;grid-template-columns:1.15fr 0.85fr;gap:24px;margin:23px 0 30px;align-items:stretch; }
.speaker-intro {position:relative;overflow:hidden;isolation:isolate;border-radius:19px;padding:55px 48px;min-height:520px;color:#fff;background:radial-gradient(circle at 85% 55%,rgba(50,191,228,.35),transparent 40%),linear-gradient(125deg,#0b1c3c,#194b7c); }
.speaker-intro::before {content:'';position:absolute;width:540px;height:540px;border:1px solid rgba(123,207,233,.2);border-radius:50%;right:-240px;bottom:-280px;box-shadow:0 0 0 64px rgba(124,215,242,.03),0 0 0 128px rgba(124,215,242,.025);z-index:-1; }
.speaker-intro .eyebrow {color:#92e5ef; }
.speaker-intro h1 {font-size:clamp(42px,4.7vw,69px);line-height:1.09;letter-spacing:-.065em;margin:50px 0 23px; }
.speaker-intro h1 em {font-style:normal;color:#86e7f0; }
.speaker-intro p {max-width:430px;font-size:15px;line-height:1.85;color:#d1e4f5; }
.intro-icon {position:absolute;right:50px;bottom:25px;font-size:120px;color:rgba(134,222,241,.19);transform:rotate(-12deg); }
.intro-icon span {font-size:55px;position:absolute;right:-17px;top:-15px;color:rgba(164,233,245,.5); }
.speaker-login-card {padding:42px 37px;display:flex;justify-content:center;flex-direction:column; }
.speaker-login-card h2 {font-size:39px;color:#163565;letter-spacing:-.055em;line-height:1.1;margin:20px 0 18px; }
.speaker-login-card .muted {font-size:13px;line-height:1.75;margin:0 0 24px; }
.speaker-login-card input {letter-spacing:.16em;text-transform:uppercase;font-size:14px; }
.speaker-welcome {position:relative;overflow:hidden;background:radial-gradient(circle at 93% 45%,#2376b0 0%,transparent 23%),linear-gradient(120deg,#0e2147,#173966 55%,#17609c);color:#fff;padding:35px 43px 40px;border-radius:19px;isolation:isolate; }
.speaker-welcome-glow {width:530px;height:530px;position:absolute;right:-270px;top:-280px;border:1px solid rgba(150,227,249,.22);border-radius:50%;box-shadow:0 0 0 72px rgba(119,211,244,.04),0 0 0 155px rgba(119,211,244,.02);z-index:-1; }
.speaker-welcome .mini-kicker {color:#7ee0ed; }
.speaker-welcome-grid {display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:26px; }
.speaker-welcome h1 {font-size:clamp(34px,4vw,57px);letter-spacing:-.062em;line-height:1.1;margin:0 0 11px; }
.speaker-welcome p {color:#c0dfef;font-size:13px;line-height:1.6;margin:0;max-width:540px; }
.speaker-welcome-symbol {color:#8cdaed;font-size:94px;opacity:.7;font-weight:300;line-height:1; }
.speaker-stats {display:grid;grid-template-columns:230px 230px 1fr;gap:12px;align-items:stretch;margin:14px 0 33px; }
.speaker-stat {padding:21px 24px;display:flex;flex-direction:column;gap:4px; }
.speaker-stat strong {font-size:43px;letter-spacing:-.06em;color:#27659c; }
.speaker-stat span {font-size:12px;color:#71869f; }
.speaker-stat-aside {border:1px solid #dbeaf3;border-radius:16px;background:#e7f1f8;color:#50799d;font-size:13px;display:flex;align-items:center;gap:12px;padding:20px 25px;line-height:1.6; }
.dot-live {width:9px;height:9px;background:#28a59f;border-radius:50%;flex:0 0 9px;box-shadow:0 0 0 5px rgba(40,165,159,.1); }
.speaker-messages-title {display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:20px; }
.speaker-messages-title h2 {color:#143b70;font-size:37px;letter-spacing:-.055em;margin:12px 0 0; }
.speaker-messages-title h2 em {font-style:normal;color:#3081b4; }
.speaker-toolbar {display:flex;gap:8px;flex-wrap:wrap; }
.speaker-toolbar .btn {min-height:36px;padding:8px 11px;font-size:11px; }
.speaker-inbox-tools {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 16px; }
.search-box {display:flex;align-items:center;gap:10px;max-width:485px;flex:1;padding:0 15px;border:1px solid #dce5ef;border-radius:10px;background:#fff; }
.search-box span {color:#5d95bb;font-size:21px; }
.search-box input {width:100%;border:0;height:44px;outline:none;font-size:13px;color:#24456e;background:transparent; }
.search-box input::placeholder {color:#9aacc0; }
.inbox-updated {font-size:11px;color:#90a2b7;white-space:nowrap; }
.speaker-inbox {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:start; }
.inbox-item {padding:25px 26px 17px;min-width:0; }
.inbox-item-top {display:flex;gap:12px;align-items:center; }
.inbox-author-avatar {height:43px;width:43px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:linear-gradient(140deg,#d9f4f5,#deecfb);color:#3278a4;font-weight:850;font-size:16px;flex:0 0 43px; }
.inbox-meta {display:flex;flex-direction:column;gap:5px;flex:1;min-width:0; }
.inbox-meta strong {color:#184678;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.inbox-meta span {color:#8bb0c5;font-size:9px;letter-spacing:.1em;font-weight:800; }
.inbox-item-top time {font-size:10px;color:#9eb0c1;align-self:start;white-space:nowrap; }
.inbox-text {font-size:14px;color:#3a5273;line-height:1.8;margin:22px 0 24px;white-space:normal;overflow-wrap:anywhere; }
.inbox-item-foot {display:flex;justify-content:space-between;border-top:1px solid #edf2f8;padding-top:13px;color:#9bacbd;font-size:9px;letter-spacing:.12em;font-weight:800; }
.speaker-empty {grid-column:1/-1;text-align:center;padding:60px 22px; }
.speaker-empty-symbol {width:78px;height:78px;display:flex;align-items:center;justify-content:center;border:1px solid #daedf5;border-radius:50%;margin:0 auto;font-size:46px;color:#4a9bc6; }
.speaker-empty h3 {color:#24578b;font-size:24px;letter-spacing:-.03em;margin:16px 0 7px; }
.speaker-empty p {color:#8ba0b6;font-size:13px;max-width:450px;margin:auto;line-height:1.7; }
.speaker-private-note {color:#95a8ba;font-size:11px;line-height:1.7;margin:30px 0 0; }

/* Организатор: коды выступающих, модерация комментариев */
.btn-code {font-size:11px;min-height:32px;padding:7px 10px;white-space:nowrap; }
.issued-codes-panel {margin-top:12px;border-color:#95c9dd;background:#f5fbfe; }
.issued-codes-heading {display:flex;justify-content:space-between;gap:20px;align-items:start; }
.issued-codes-heading p {font-size:12px;color:#7a93ab; }
.issued-codes-list {display:flex;flex-direction:column;gap:8px;margin-top:17px; }
.issued-code-item {background:#fff;border:1px solid #daebf5;border-radius:8px;display:flex;align-items:center;gap:16px;padding:12px 14px; }
.issued-code-item>strong {font-size:12px;color:#285989;flex:1; }
.issued-code-item>code {font-size:15px;color:#0a437c;font-weight:850;letter-spacing:.09em;user-select:all; }
.issued-code-item .btn {font-size:10px;padding:6px 9px;min-height:28px; }
.issued-code-actions {display:flex;justify-content:flex-end;gap:10px;margin-top:18px; }
.feedback-filter-row {display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px; }
.feedback-filter-row .admin-input {font-size:12px;min-height:39px;padding:8px 12px;min-width:0;flex:1; }
.feedback-count {font-size:11px;color:#90a3b5;white-space:nowrap; }
.admin-comments-feed {display:flex;flex-direction:column;gap:9px;max-height:700px;overflow-y:auto; }
.admin-comment-row {border:1px solid #e7edf4;border-radius:10px;padding:16px 17px;background:#fcfdff; }
.admin-comment-row.comment-moderated {background:#f6f7f9;opacity:.75; }
.admin-comment-top {display:flex;justify-content:space-between;align-items:start;gap:13px;flex-wrap:wrap; }
.admin-comment-top>div {display:flex;flex-direction:column;gap:6px; }
.admin-comment-top strong {color:#1a578c;font-size:13px; }
.admin-comment-top span,.admin-comment-top time {color:#8da0b6;font-size:11px; }
.admin-comment-row p {font-size:13px;line-height:1.7;color:#385775;overflow-wrap:anywhere;margin:13px 0; }
.admin-comment-foot {display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e9edf5;padding-top:9px; }
.admin-comment-foot span {color:#869db0;font-size:11px; }
.admin-comment-foot .btn {font-size:11px;min-height:30px;padding:7px 11px; }

@media (max-width:900px) {
  .speaker-login-layout {grid-template-columns:1fr 1fr;gap:14px; }
  .speaker-intro {padding:38px 30px; }
  .speaker-login-card {padding:30px 25px; }
  .speaker-stats {grid-template-columns:1fr 1fr; }
  .speaker-stat-aside {grid-column:1/-1; }
  .speaker-messages-title {align-items:start;flex-direction:column; }
}
@media (max-width:690px) {
  .speaker-feedback-strip {padding:11px 15px 12px; }
  .comment-editor {padding:19px 15px 22px; }
  .comment-editor-foot {align-items:stretch;flex-direction:column; }
  .comment-editor-foot .btn {width:100%; }
  .speaker-login-layout {grid-template-columns:1fr;gap:12px;margin-top:5px; }
  .speaker-intro {min-height:265px;padding:29px 23px; }
  .speaker-intro h1 {font-size:clamp(37px,9vw,50px);margin:22px 0 12px; }
  .speaker-intro p {font-size:12px;line-height:1.6;max-width:260px; }
  .speaker-intro .eyebrow {font-size:8px; }
  .intro-icon {font-size:70px;right:20px;bottom:6px; }
  .speaker-login-card {padding:27px 23px; }
  .speaker-login-card h2 {font-size:32px;margin:14px 0 11px; }
  .speaker-welcome {padding:29px 22px;border-radius:15px; }
  .speaker-welcome .mini-kicker {font-size:9px;letter-spacing:.1em; }
  .speaker-welcome h1 {font-size:36px; }
  .speaker-welcome p {font-size:12px; }
  .speaker-welcome-symbol {display:none; }
  .speaker-stats {grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 27px; }
  .speaker-stat {padding:13px 16px; }
  .speaker-stat strong {font-size:33px; }
  .speaker-stat span {font-size:10px; }
  .speaker-stat-aside {font-size:11px;padding:12px 15px; }
  .speaker-messages-title h2 {font-size:31px; }
  .speaker-toolbar {width:100%; }
  .speaker-toolbar .btn {flex:1;text-align:center; }
  .speaker-inbox-tools {align-items:stretch;flex-direction:column;gap:8px; }
  .search-box {max-width:none; }
  .speaker-inbox {grid-template-columns:1fr; }
  .inbox-item {padding:19px 17px 13px; }
  .inbox-item-top time {font-size:9px; }
  .inbox-text {margin:16px 0 18px;font-size:14px; }
  .speaker-header-meta .pill {font-size:9px;padding:8px 9px; }
  .issued-code-item {align-items:flex-start;flex-wrap:wrap;gap:9px; }
  .issued-code-item>strong {flex:1 0 100%; }
  .issued-code-item code {font-size:13px; }
  .feedback-filter-row .admin-input {flex:1 1 100%; }
  .admin-comment-top time {font-size:10px; }
  .admin-comments-feed {max-height:none; }
}

/* Фотографии выступающих — зритель, спикер, организатор */
.speaker-avatar.has-portrait {overflow:hidden;background:#dce9f6;box-shadow:inset 0 0 0 2px #e3eef6;}
.speaker-avatar.has-portrait img {width:100%;height:100%;display:block;object-fit:cover;object-position:center 30%;}
.speaker-avatar {border-radius:13px;}
.speaker-welcome-portrait {width:135px;height:135px;border-radius:18px;overflow:hidden;border:3px solid rgba(186,233,247,.55);box-shadow:0 20px 38px rgba(0,0,0,.20);flex:0 0 135px;}
.speaker-welcome-portrait img {width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block;}
.speaker-edit-head {display:flex;align-items:center;gap:12px;}
.speaker-edit-photo {width:63px;height:63px;flex:0 0 63px;border-radius:12px;background:linear-gradient(145deg,#e2effa,#cce3f0);overflow:hidden;display:flex;align-items:center;justify-content:center;color:#1c5a86;font-weight:850;font-size:17px;}
.speaker-edit-photo img {width:100%;height:100%;display:block;object-fit:cover;object-position:center 25%;}
.speaker-edit-heading {display:flex;flex-direction:column;gap:4px;}
.speaker-edit-heading span {font-size:10px;color:#8ca3b7;}
.speaker-photo-controls {display:flex;align-items:center;gap:8px;margin:12px 0 15px;flex-wrap:wrap;}
.speaker-photo-controls span {font-size:10px;color:#8aa1b3;}
.speaker-file-btn {font-size:11px;min-height:33px;padding:7px 11px;cursor:pointer;}
.uploading {opacity:.55;pointer-events:none;}
.pptx-photo-panel {margin-bottom:20px;background:#fafdff;}
.pptx-photo-head {display:flex;align-items:center;justify-content:space-between;gap:20px;}
.pptx-photo-head h2 {margin:9px 0;}
.pptx-photo-head p {max-width:720px;}
.pptx-upload-btn {cursor:pointer;flex:0 0 auto;}
.pptx-photo-note {background:#eaf3fb;border-radius:9px;padding:11px 13px;color:#456d94;font-size:11px;line-height:1.65;}
.pptx-import-toolbar {display:flex;justify-content:space-between;align-items:center;margin:19px 0 13px;gap:10px;}
.pptx-import-toolbar strong {color:#164779;font-size:13px;}
.photo-import-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:13px;margin-bottom:18px;}
.photo-choice {border:1px solid #dae6f2;border-radius:11px;padding:9px;background:#fff;display:flex;flex-direction:column;gap:6px;}
.photo-choice img {height:150px;width:100%;object-fit:cover;object-position:center 25%;border-radius:7px;background:#edf4f9;}
.photo-choice small {color:#91a6b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.photo-choice select {font-size:12px;padding-inline:8px;height:43px;}
@media(max-width:690px){.speaker-welcome-portrait {width:88px;height:88px;flex-basis:88px;border-radius:13px;}.speaker-welcome-grid {align-items:center;}.speaker-welcome h1 {font-size:29px;}.pptx-photo-head {flex-direction:column;align-items:stretch;gap:10px;}.pptx-upload-btn {justify-content:center;}.photo-import-grid {grid-template-columns:repeat(2,minmax(0,1fr));}.photo-choice img {height:120px;}.speaker-edit-head {gap:10px;}}

/* v1.3: presentations for each talk; invitation-inspired orange highlight */
.speaker-presentation-strip {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:13px 23px 13px 132px;background:#fff6f1;border-top:1px solid #f2e4dd;}
.presentation-info {display:flex;align-items:center;gap:11px;min-width:0;flex:1 1 200px;}
.presentation-info>span {display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border:1px solid #ffc7ae;border-radius:9px;background:#fff;color:#f05b13;font-size:20px;}
.presentation-info>div {min-width:0;display:flex;flex-direction:column;gap:4px;}
.presentation-info strong {color:#102950;font-size:12px;font-weight:850;}
.presentation-info small {font-size:11px;line-height:1.4;word-break:break-word;color:#75839a;}
.btn-download {background:#f46719;color:#fff;border:1px solid #ee5e11;min-height:37px;font-size:12px;padding:8px 13px;box-shadow:0 4px 12px rgba(245,98,25,.15);}
.btn-download:hover {background:#dd4b08;}
.presentation-unavailable {font-size:11px;color:#9a9ca4;}
.speaker-presentation-manager {border:1px dashed #f4c6ae;background:#fff9f5;padding:13px;border-radius:12px;margin:12px 0;}
.presentation-manager-actions {display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:11px 0 4px;}
.presentation-manager-actions .btn {font-size:11px;min-height:34px;padding:7px 10px;}
.presentation-note {display:block;color:#8c91a0;font-size:11px;line-height:1.55;margin:10px 0 0;}
.speaker-presentation-panel {padding:21px 24px;display:flex;align-items:center;flex-wrap:wrap;gap:13px 22px;margin:7px 0 28px;border-left:4px solid #f46918;}
.speaker-presentation-panel .presentation-manager-actions {margin:0;}
.speaker-presentation-panel .presentation-note {flex-basis:100%;margin:0;}
@media(max-width:690px){.speaker-presentation-strip{padding:13px 15px;}.speaker-presentation-strip .btn-download{width:100%;}.speaker-presentation-panel{padding:18px 16px;}.speaker-presentation-panel .presentation-manager-actions{width:100%;}.speaker-presentation-panel .presentation-manager-actions .btn{flex:1;}}

/* Brand accents from ГЕО ТЭД 2026 invitation */
:root{--orange:#f46418;}
.brand-copy strong span{color:var(--orange);}
.btn-primary{background:linear-gradient(110deg,#f46b1c,#e94d0b);box-shadow:0 7px 18px rgba(238,90,18,.17);}
.btn-primary:hover:not(:disabled){background:linear-gradient(110deg,#df550c,#c94508);}
.hero h1 em{color:#ff944e;}
.hero .eyebrow-line{background:#ff7c31;}
.speaker-card.speaker-editing{border-color:#ff9c69;}


/* v1.4 — mobile-first event voting: QR → entry → one-tap rating, safe-area controls */
:root { --orange: #f46418; }
.speaker-card, .entry-card, .speaker-login-card, .admin-panel { min-width:0; }
.vote-quick-tools {display:flex;gap:12px;align-items:center;justify-content:space-between;margin:0 0 15px;flex-wrap:wrap;}
.vote-filters {display:flex;gap:6px;align-items:center;min-width:0;}
.vote-filter {color:#536d8b;background:#fff;border:1px solid #dde7f1;border-radius:999px;padding:9px 14px;font-weight:750;font-size:12px;min-height:40px;}
.vote-filter.is-active {border-color:#f46418;color:#dc5310;background:#fff4ed;}
.btn-jump-next {color:#174a82;background:#edf4fb;border:1px solid #dbe8f4;min-height:40px;padding:8px 13px;border-radius:9px;font-weight:750;font-size:12px;}
.btn-jump-next:disabled {color:#26835e;background:#eaf6ef;opacity:1;cursor:default;}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {outline:3px solid #f58a4a;outline-offset:2px;}
.speaker-card {scroll-margin-top:80px;}
#voterPanel {scroll-margin-top:69px;}
@media (hover:none) and (pointer:coarse) {
  .btn,.tab,.favorite-action,.btn-message,.rating-choice,.vote-filter,.btn-jump-next,.text-action {touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
}
@media (max-width: 690px) {
  html {scroll-padding-top:70px;}
  body {overflow-x:clip;}
  .wrap {width:calc(100% - 24px);max-width:100%;}
  .site-header {position:sticky;top:0;z-index:30;height:62px;padding-inline:3px;background:rgba(247,249,253,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
  .brand {gap:8px;min-width:0;}
  .brand-glyph {width:34px;height:34px;flex-shrink:0;border-color:#102f5d;}
  .brand-copy strong {font-size:20px;letter-spacing:-.04em;}
  .brand-copy small {font-size:7px;letter-spacing:.12em;margin-top:4px;}
  .header-side .pill {padding:6px 8px;font-size:9px;line-height:1.2;text-align:center;max-width:122px;}
  .hero {color:#112b58;background:linear-gradient(93deg,rgba(246,250,255,.99) 0%,rgba(245,250,255,.95) 56%,rgba(230,245,255,.12) 100%),url('/hero-energy.webp') 83% 36%/cover no-repeat;box-shadow:none;border:1px solid #dce9f6;}
  .hero-lines,.hero-decor {display:none;}
  body.voter-site:not(.is-ready) .hero {display:none;}
  body.voter-site.is-guest .hero {min-height:153px;padding:18px 18px 17px;margin-top:7px;border-radius:13px;}
  .hero .eyebrow {font-size:8px;letter-spacing:.105em;color:#244d82;}
  .hero .eyebrow-line {width:13px;}
  body.voter-site.is-guest .hero h1 {color:#0c2d5d;font-size:clamp(26px,7.4vw,34px);line-height:1.03;letter-spacing:-.043em;max-width:265px;margin:12px 0 7px;font-weight:900;}
  body.voter-site.is-guest .hero h1 em {color:#ff7b2b;}
  body.voter-site.is-guest .hero-lead {display:none;}
  body.voter-site.is-guest .hero .event-facts {gap:9px;margin-top:7px;color:#2b5181;}
  body.voter-site.is-guest .hero .event-facts>span:nth-child(3) {display:none;}
  body.voter-site.is-guest .hero .event-facts>span {font-size:10px;gap:3px;}
  body.voter-site.is-guest .hero .fact-icon {font-size:13px;color:#ff9857;}
  body.voter-site.is-registered .hero {display:none;}
  .entry-layout {display:block;margin-top:10px;}
  .entry-card {padding:20px 20px 22px;border-radius:15px;}
  .entry-card h2 {font-size:27px;line-height:1.1;margin:9px 0 10px;letter-spacing:-.045em;}
  .entry-card .muted {font-size:12px;line-height:1.45;margin:0;}
  .entry-card .stack-form {margin-top:14px;gap:7px;}
  .stack-form label {font-size:12px;}
  .stack-form input,.stack-form textarea,.admin-input,input[type=search],input[type=text],select,textarea {font-size:16px;}
  .stack-form input {min-height:49px;padding:12px;}
  .entry-card .btn-wide {min-height:54px;margin-top:6px;font-size:15px;}
  .entry-card .card-footnote {font-size:10px;margin-top:10px;line-height:1.45;}
  .entry-separator {margin:14px 0 8px;}
  .entry-aside {display:none;}
  .dashboard {margin-top:10px;}
  .voter-toolbar {flex-direction:row;align-items:center;gap:12px;padding:12px 14px;border-radius:13px;}
  .profile-mini {gap:8px;min-width:0;flex:1;}
  .profile-mini>div {min-width:0;}
  .profile-mini strong {font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:155px;display:block;}
  .profile-mini .mini-kicker {font-size:8px;letter-spacing:.045em;}
  .profile-avatar {min-width:38px;width:38px;height:38px;border-radius:10px;font-size:12px;}
  .progress-area {width:min(42%,146px);flex-shrink:0;}
  .progress-meta {display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-bottom:6px;font-size:10px;}
  .progress-meta>span {display:none;}
  .progress-meta b {font-size:10px;}
  .progress-track {height:7px;}
  body.voter-site.is-registered {padding-bottom:calc(86px + env(safe-area-inset-bottom, 0px));}
  body.voter-site.is-registered .tabs {position:fixed;z-index:40;left:0;bottom:0;width:100%;margin:0;padding:7px max(7px,env(safe-area-inset-left,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(7px,env(safe-area-inset-right,0px));display:flex;justify-content:space-around;gap:0;background:rgba(255,255,255,.97);border-top:1px solid #d9e4f0;box-shadow:0 -5px 24px rgba(12,38,80,.10);backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px);overflow-x:visible;border-bottom:0;}
  body.voter-site.is-registered .tab {position:relative;min-width:0;flex:1;max-width:130px;flex-direction:column;justify-content:center;gap:4px;border:0;border-radius:10px;padding:7px 2px;min-height:51px;color:#70829a;font-size:10px;line-height:1.15;white-space:normal;}
  body.voter-site.is-registered .tab.active {background:#fff0e6;color:#d4520d;}
  body.voter-site.is-registered .tab::before {display:block;font-size:19px;font-weight:800;line-height:1;}
  .tab[data-view=speakers]::before {content:'★';}
  .tab[data-view=my]::before {content:'✓';}
  .tab[data-view=feedback]::before {content:'✉';}
  .tab[data-view=profile]::before {content:'◎';}
  .tab[data-view=results]::before {content:'◆';}
  .tab-bubble {position:absolute;right:4px;top:3px;min-width:15px;height:15px;padding:1px 3px;font-size:9px;border-radius:9px;color:#fff;background:#f16a1f;}
  .view {padding-top:17px;}
  .section-heading {margin-bottom:12px;}
  .section-heading h2 {font-size:24px;line-height:1.1;margin-top:7px;letter-spacing:-.035em;}
  .section-heading .eyebrow {font-size:8px;letter-spacing:.12em;}
  .vote-quick-tools {flex-direction:column;align-items:stretch;gap:8px;margin-bottom:10px;}
  .vote-filters {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;}
  .vote-filter {min-height:42px;padding:9px 4px;font-size:11px;white-space:nowrap;}
  .btn-jump-next {width:100%;min-height:43px;background:#f5f9fe;}
  .notice-info {font-size:11px;line-height:1.35;margin-bottom:9px;padding:8px 12px;}
  .speaker-list {gap:9px;}
  .speaker-card {border-radius:14px;scroll-margin-top:76px;}
  .speaker-top {padding:14px 13px 10px;gap:9px;align-items:center;}
  .speaker-num {width:19px;flex:0 0 19px;font-size:11px;gap:3px;}
  .num-dash {width:12px;}
  .speaker-avatar {flex:0 0 60px;width:60px;height:60px;border-radius:12px;font-size:18px;}
  .speaker-info h3 {font-size:16px;line-height:1.14;letter-spacing:-.03em;margin-bottom:6px;}
  .speaker-sub {font-size:10px;line-height:1.25;margin-bottom:4px;letter-spacing:0;}
  .speaker-status {font-size:8px;line-height:1.28;letter-spacing:.04em;}
  .speaker-side-score {min-width:33px;}
  .speaker-side-score strong {font-size:26px;color:#e85b17;}
  .speaker-side-score small {display:block;font-size:9px;}
  .speaker-actions {padding:0 13px 12px;display:grid;grid-template-columns:1fr 1fr;gap:7px;align-items:stretch;}
  .speaker-actions .btn {justify-content:space-between;white-space:normal;text-align:left;width:100%;min-height:49px;font-size:11px;line-height:1.18;padding:8px 11px;}
  .speaker-actions .favorite-action {display:flex;align-items:center;justify-content:center;text-align:center;gap:5px;width:100%;min-height:49px;background:#f3f7fc;color:#1f4a7c;border:1px solid #e0e9f3;border-radius:9px;padding:8px 5px;font-size:11px;line-height:1.2;}
  .speaker-actions .favorite-action>span {font-size:22px;color:#f36b29;}
  .speaker-actions .favorite-action.favorited {background:#fff0e7;color:#c34907;border-color:#f8b995;}
  .closed-hint {grid-column:1/-1;padding:10px 0;}
  .speaker-presentation-strip {padding:10px 13px;gap:8px;}
  .speaker-presentation-strip.no-material {display:none;}
  .speaker-presentation-strip.has-material .btn-download {min-height:48px;font-size:13px;}
  .presentation-info strong {font-size:12px;}
  .speaker-feedback-strip {padding:10px 13px;gap:7px;}
  .speaker-feedback-strip>span:first-child {flex:1 1 100%;font-size:11px;}
  .btn-message {font-size:12px;min-height:44px;padding:9px 12px;background:#edf5fc;border-radius:8px;border:1px solid #e0eaf3;width:100%;text-align:center;}
  .comment-editor {padding:18px 14px;}
  .comment-editor textarea {font-size:16px;min-height:115px;}
  .comment-editor-foot .btn {min-height:51px;}
  .rating-editor {padding:17px 13px 15px;}
  .rating-head {gap:8px;align-items:center;}
  .rating-head h4 {font-size:18px;}
  .rating-verbal {font-size:11px;max-width:100px;text-align:right;}
  .rating-choices {grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:14px;}
  .rating-choice {width:100%;min-width:0;min-height:50px;height:50px;border-radius:9px;font-size:17px;touch-action:manipulation;}
  .rating-choice.selected {background:#f26517;border-color:#eb5b16;box-shadow:0 3px 12px rgba(244,100,24,.22);}
  .rating-footer {margin-top:13px;gap:9px;}
  .rating-footer>span {font-size:10px;}
  .rating-footer>div {display:grid;grid-template-columns:1fr 1.8fr;gap:8px;}
  .rating-footer .btn {min-height:54px;font-size:14px;width:100%;}
  .profile-panel,.account-panel,.my-summary,.my-vote-row {min-width:0;}
  .my-vote-row {flex-wrap:wrap;gap:7px;}
  .my-vote-row>div:first-child {min-width:0;}
  .my-edit {min-height:43px;padding:8px 11px;background:#edf5fc;border-radius:8px;color:#1a588e;}
  .toast {top:calc(67px + env(safe-area-inset-top,0px));bottom:auto;width:min(90vw,420px);font-size:12px;line-height:1.45;padding:12px 16px;}
  body.voter-site.is-guest .toast {bottom:20px;}
  .site-footer {padding-bottom:21px;}
  .speaker-login-card input {font-size:16px;letter-spacing:.10em;}
  .speaker-intro {min-height:160px;padding:20px;}
  .speaker-intro h1 {font-size:29px;margin:12px 0 8px;}
  .speaker-intro p {font-size:11px;line-height:1.45;}
  .speaker-login-card {padding:22px 20px;}
  .speaker-login-card .btn {min-height:52px;}
  .speaker-presentation-panel .btn {min-height:46px;}
  .speaker-toolbar .btn {min-height:44px;}
  .speaker-inbox-tools .search-box {height:48px;}
  .speaker-inbox-tools .search-box input {font-size:16px;}
  .admin-body .admin-input {font-size:16px;min-height:44px;}
  .admin-body .btn {min-height:44px;white-space:normal;}
  .admin-table {min-width:630px;}
  .admin-body .speaker-edit-fields {grid-template-columns:58px minmax(0,1fr);}
  .admin-body .speaker-edit-card {min-width:0;}
  .admin-body .speaker-edit-card .admin-input {font-size:16px;}
}
@media (max-width:359px) {
  .header-side .pill {max-width:92px;font-size:8px;}
  .brand-copy strong {font-size:18px;}
  .speaker-actions {grid-template-columns:1fr;}
  .speaker-actions .btn,.speaker-actions .favorite-action {justify-content:center;text-align:center;min-height:46px;}
  .speaker-avatar {flex-basis:52px;width:52px;height:52px;}
  .speaker-top {gap:7px;}
  .speaker-info h3 {font-size:14px;}
  .speaker-info .speaker-status {font-size:7px;}
  .tab {font-size:9px !important;}
  .rating-choices {gap:5px;}
  .rating-choice {font-size:16px;}
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior:auto;}
  .btn,.toast,.progress-fill,.speaker-card {transition:none;}
}

/* --- GEO TED 2026 / Page «Program» / mobile-first v1.5 --- */
.program-page {background:#f6f9fd;color:#102a52;overflow-x:clip;padding-bottom:0;}
.program-site-header {height:83px;}
.program-header-vote {display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:45px;padding:10px 21px;border-radius:12px;background:#082e64;color:#fff;font-size:13px;font-weight:800;}
.program-header-vote:hover,.program-vote-cta:hover {filter:brightness(1.07);}
.program-main {padding-bottom:32px;}
.program-hero {background:linear-gradient(92deg,rgba(248,252,255,.98),rgba(248,252,255,.92) 42%,rgba(255,255,255,.04) 100%),url('/hero-energy.webp') 80% center/cover no-repeat;min-height:268px;border:1px solid #d9e9f7;border-radius:20px;position:relative;overflow:hidden;padding:42px 50px 34px;}
.program-hero-content {position:relative;z-index:1;max-width:760px;}
.program-kicker {display:flex;align-items:center;gap:12px;color:#19528c;font-size:11px;font-weight:850;letter-spacing:.11em;}
.program-kicker-line {height:2px;width:30px;background:#ff7222;flex:0 0 auto;}
.program-hero h1 {font-size:clamp(36px,5.1vw,64px);line-height:1.0;letter-spacing:-.05em;font-weight:950;margin:20px 0 14px;color:#0b2b5a;}
.program-hero h1 em {font-style:normal;color:#f46b1f;}
.program-hero p {font-size:15px;max-width:470px;line-height:1.5;color:#3c5878;margin:0;}
.program-hero-meta {display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.program-hero-meta span {display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid #e1e9f5;background:rgba(255,255,255,.88);border-radius:9px;font-size:12px;font-weight:750;color:#204577;backdrop-filter:blur(7px);}
.program-hero-shimmer {position:absolute;inset:auto -30% -80% 25%;height:150%;border-radius:50%;background:radial-gradient(circle,rgba(255,112,33,.15),transparent 60%);pointer-events:none;}
.program-navline {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 0 27px;}
.program-nav-back {display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#145fa6;font-weight:800;padding:9px 10px;}
.program-now {display:flex;align-items:center;gap:8px;border-radius:50px;padding:10px 13px;background:#eaf2fa;color:#225487;font-size:12px;font-weight:800;margin-left:auto;}
.program-jump {border:0;background:#fff3e9;color:#bf530f;border-radius:50px;padding:11px 14px;font-size:12px;font-weight:850;}
.program-live-dot {width:8px;height:8px;border-radius:50%;background:#f16c1d;box-shadow:0 0 0 4px #fff1e5;}
.program-section {margin-top:20px;}
.program-section-heading {display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin:0 0 15px;}
.program-section-heading>div>span {font-size:10px;letter-spacing:.16em;color:#e9651b;font-weight:900;}
.program-section-heading h2 {font-size:29px;line-height:1.13;letter-spacing:-.05em;color:#0c2d5c;margin:4px 0 0;font-weight:900;}
.program-section-range {font-size:13px;font-weight:850;color:#6c829e;white-space:nowrap;padding-bottom:3px;}
.program-list {list-style:none;display:grid;gap:10px;margin:0;padding:0;}
.program-item {display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;align-items:stretch;min-width:0;position:relative;border:1px solid #dbe6f3;background:#fff;border-radius:14px;box-shadow:0 3px 16px rgba(10,46,91,.045);padding:18px 20px 18px 15px;scroll-margin-top:96px;}
.program-item.is-now {border-color:#f7ac74;background:#fffcf8;box-shadow:0 0 0 2px rgba(244,114,29,.1),0 10px 30px rgba(10,46,91,.075);}
.program-item.is-now::before {content:'';position:absolute;top:0;left:0;bottom:0;width:4px;border-radius:14px 0 0 14px;background:#f26c1f;}
.program-time {display:flex;flex-direction:column;justify-content:flex-start;gap:5px;padding:2px 13px 0 0;border-right:1px solid #e2eaf4;}
.program-time time {font-size:25px;line-height:1;color:#0c3269;font-weight:950;letter-spacing:-.045em;font-variant-numeric:tabular-nums;}
.program-time-until {font-size:12px;font-weight:700;color:#8192a7;}
.program-item-body {min-width:0;}
.program-item-heading {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:5px;}
.program-item-tag {font-size:9px;font-weight:950;letter-spacing:.11em;color:#2d68a6;}
.program-duration {color:#6e819a;background:#f2f6fb;padding:5px 8px;border-radius:6px;font-size:10px;font-weight:900;white-space:nowrap;}
.program-item h3 {font-size:16px;line-height:1.35;letter-spacing:-.018em;margin:0;color:#102a52;font-weight:850;}
.program-item p {font-size:12px;line-height:1.5;color:#788ba2;margin:7px 0 0;}
.program-talk .program-item-tag {color:#ee6519;}
.program-item-link {display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:850;color:#125ba2;margin-top:11px;min-height:30px;}
.program-guest {background:linear-gradient(90deg,#f3faff,#fff);}
.program-guest .program-item-tag {color:#1b79a6;}
.program-break-block {border-radius:19px;padding:20px;background:linear-gradient(135deg,#0b2b5a,#165da8);margin:24px 0;}
.program-break-heading h2 {color:white;}
.program-break-heading>div>span {color:#ff9a60;}
.program-break-list .program-item {background:rgba(255,255,255,.96);border-color:transparent;box-shadow:none;}
.program-break-list .program-item-tag {color:#df631c;}
.program-award {border-color:#f7c9a7;background:linear-gradient(91deg,#fff8f2,#fff);}
.program-award .program-item-tag {color:#e76c1b;}
.program-finale {background:#f0f7ff;border-color:#b9d8f6;}
.program-section-second {margin-top:24px;}
.program-note {display:flex;align-items:flex-start;gap:12px;margin:22px 0;border-radius:13px;background:#eaf3fb;border:1px solid #d7e7f6;padding:15px 17px;}
.program-note p {margin:0;color:#3b5878;font-size:12px;line-height:1.6;}
.program-note-icon {width:23px;height:23px;border:1.5px solid #3c89c2;border-radius:50%;flex:0 0 23px;display:flex;align-items:center;justify-content:center;font-weight:900;color:#2c78b3;font-size:14px;}
.program-footer-card {background:linear-gradient(113deg,#0b2a56,#154e85);border-radius:17px;color:white;padding:29px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.program-footer-card>div {max-width:640px;}
.program-footer-card span {font-size:10px;font-weight:850;letter-spacing:.13em;color:#8ed3ff;}
.program-footer-card h2 {font-size:23px;margin:7px 0 6px;letter-spacing:-.04em;}
.program-footer-card p {margin:0;color:#d0e2f2;font-size:13px;line-height:1.5;}
.program-vote-cta {display:flex;align-items:center;justify-content:center;gap:11px;padding:14px 17px;background:#f16e1e;border-radius:10px;white-space:nowrap;color:#fff;font-size:13px;font-weight:900;min-height:47px;}
.program-footer {margin-top:7px;}
.program-mobile-vote {display:none;}
/* link to the program on other conference pages */
.program-header-link {display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:6px 12px;border-radius:9px;border:1px solid #d8e5f4;color:#174d88;font-size:12px;font-weight:850;white-space:nowrap;background:#fff;}
.tab.program-tab-link {text-decoration:none;}
.hero-agenda-link {display:inline-flex;align-items:center;gap:6px;color:#ff9e60;font-weight:800;font-size:12px;padding:3px 0;}
@media(max-width:690px){
  .program-site-header {height:62px;}
  .program-header-vote {min-height:38px;border-radius:10px;padding:8px 12px;font-size:12px;}
  .program-main {padding-bottom:120px;}
  .program-hero {min-height:236px;padding:24px 18px 22px;border-radius:13px;margin-top:7px;background-position:83% center;}
  .program-kicker {font-size:9px;letter-spacing:.08em;gap:7px;}
  .program-kicker-line {width:18px;}
  .program-hero h1 {font-size:clamp(31px,8.7vw,41px);margin:13px 0 8px;max-width:330px;}
  .program-hero p {font-size:12px;max-width:262px;line-height:1.4;}
  .program-hero-meta {margin-top:15px;gap:5px;max-width:300px;}
  .program-hero-meta span {font-size:10px;padding:6px 8px;}
  .program-navline {gap:5px;margin:13px 0 24px;flex-wrap:wrap;}
  .program-nav-back {font-size:11px;padding:8px 3px;}
  .program-now {font-size:10px;padding:8px 9px;}
  .program-jump {font-size:11px;min-height:40px;margin-left:auto;}
  .program-section {margin-top:20px;}
  .program-section-heading {gap:8px;margin-bottom:12px;}
  .program-section-heading h2 {font-size:23px;}
  .program-section-heading>div>span {font-size:9px;}
  .program-section-range {font-size:11px;}
  .program-list {gap:8px;}
  .program-item {grid-template-columns:67px minmax(0,1fr);gap:12px;border-radius:12px;padding:13px 12px;}
  .program-time {padding-right:10px;gap:4px;}
  .program-time time {font-size:21px;}
  .program-time-until {font-size:10px;}
  .program-item-heading {gap:5px;margin-bottom:4px;}
  .program-item-tag {font-size:8px;letter-spacing:.05em;}
  .program-duration {font-size:9px;padding:3px 6px;}
  .program-item h3 {font-size:14px;line-height:1.3;}
  .program-item p {font-size:11px;line-height:1.42;margin-top:5px;}
  .program-item-link {font-size:11px;min-height:28px;margin-top:7px;}
  .program-break-block {padding:14px 12px;border-radius:14px;margin:20px 0;}
  .program-note {padding:12px 13px;}
  .program-note p {font-size:11px;}
  .program-footer-card {padding:22px;display:block;}
  .program-footer-card h2 {font-size:22px;}
  .program-vote-cta {margin-top:17px;width:100%;min-height:48px;}
  .program-mobile-vote {display:flex;align-items:center;justify-content:center;gap:11px;position:fixed;bottom:calc(10px + env(safe-area-inset-bottom, 0px));left:50%;transform:translateX(-50%);z-index:41;width:min(355px,calc(100% - 30px));height:52px;color:#fff;background:#f16c1e;border-radius:13px;box-shadow:0 9px 30px rgba(128,53,12,.26);font-size:15px;font-weight:900;}
  .program-mobile-vote span:last-child {margin-left:auto;padding-right:5px;}
  .program-mobile-vote span:first-of-type {margin-right:auto;}
  .voter-site .header-side {gap:7px;}
  .voter-site .header-divider {display:none;}
  .voter-site.is-guest .header-side .pill {display:none;}
  .voter-site.is-registered .header-side .program-header-link {display:none;}
  .program-header-link {font-size:11px;min-height:34px;padding:5px 9px;}
  .voter-site.is-guest .hero-agenda-link {background:#fff;padding:6px;border-radius:6px;color:#c35411;font-size:10px;}
  .tab.program-tab-link::before {content:'▤';}
  .admin-header-right .program-header-link,.speaker-header-meta .program-header-link {font-size:11px;}
}
@media (max-width:359px){
  .program-hero {min-height:245px;}
  .program-kicker {font-size:8px;}
  .program-hero h1 {font-size:31px;}
  .program-hero-meta span {font-size:9px;}
  .program-time time {font-size:19px;}
  .program-item {grid-template-columns:63px minmax(0,1fr);gap:10px;}
  .program-duration {font-size:8px;}
  .program-item h3 {font-size:13px;}
  .program-tab-link {font-size:9px !important;}
}

.program-contact {display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:0 0 19px;padding:17px 20px;border:1px solid #dfebf6;border-radius:13px;background:#fff;}
.program-contact>div {display:flex;flex-direction:column;gap:5px;}
.program-contact strong {font-size:16px;color:#123562;}
.program-contact>a {display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:850;color:#13558d;min-height:42px;}
@media(max-width:690px){.program-contact{padding:15px 17px;gap:6px;}.program-contact>a{font-size:15px;}}


/* Version 1.6 — mobile-first public contacts */
.contacts-page {background:linear-gradient(180deg,#f9fcff 0,#f4f8ff 380px,#fff 90%); color:#123054;}
.contacts-header {height:84px;}
.contacts-topnav {display:flex;gap:12px;align-items:center;}
.contacts-topnav a {border-radius:11px;min-height:43px;padding:12px 15px;font-size:12px;font-weight:850;color:#1d5789;border:1px solid #cbdcf0;background:#fff;white-space:nowrap;}
.contacts-topnav a:last-child {background:#f46d20;border-color:#f46d20;color:#fff;}
.contacts-main {padding-bottom:44px;}
.contacts-hero {position:relative;min-height:360px;border-radius:24px;overflow:hidden;padding:54px 54px 38px;background:linear-gradient(92deg,rgba(251,253,255,.98),rgba(252,253,255,.90) 41%,rgba(250,252,255,.09) 86%),url('/hero-energy.webp') center/cover no-repeat;border:1px solid #dce9f8;}
.contacts-hero::after {content:'';position:absolute;width:260px;height:260px;border-radius:50%;right:-42px;bottom:-160px;background:radial-gradient(circle,rgba(247,114,24,.26),transparent 67%);pointer-events:none;}
.contacts-overline {display:flex;align-items:center;gap:12px;color:#265583;font-size:11px;letter-spacing:.13em;font-weight:900;}
.contacts-overline>span {background:#f36d20;width:23px;height:2px;}
.contacts-hero h1 {font-size:clamp(47px,6.3vw,83px);line-height:.98;letter-spacing:-.06em;margin:25px 0 19px;font-weight:950;color:#0b2b5a;}
.contacts-hero h1 em,.contacts-section-heading h2 em {color:#f5691d;font-style:normal;}
.contacts-hero p {max-width:500px;color:#3a5b7d;font-size:16px;line-height:1.52;margin:0;}
.contacts-hero-chips {display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;}
.contacts-hero-chips span {border:1px solid #d6e4f4;background:rgba(255,255,255,.86);border-radius:7px;padding:8px 10px;font-size:10px;color:#2e5684;font-weight:850;letter-spacing:.1em;}
.contacts-lead-row {display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 2px 42px;}
.contacts-lead-row a {color:#2d68a3;font-size:13px;font-weight:780;padding:8px 2px;}
.contacts-lead-row span {font-size:10px;font-weight:850;color:#7794b4;letter-spacing:.12em;}
.contacts-section {margin-bottom:45px;}
.contacts-section-heading {display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:18px;}
.contacts-section-heading>div>span {font-size:10px;color:#3277ae;letter-spacing:.14em;font-weight:900;}
.contacts-section-heading h2 {font-size:clamp(26px,3.1vw,39px);letter-spacing:-.04em;line-height:1.06;margin:9px 0 0;font-weight:950;color:#102c5a;}
.contacts-section-heading p {font-size:13px;color:#6b849f;margin:0 0 3px;}
.contacts-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.contacts-loading {grid-column:1/-1;padding:25px;color:#7890a7;}
.contact-card {min-width:0;position:relative;background:#fff;border:1px solid #dce7f3;border-radius:19px;box-shadow:0 14px 35px rgba(23,62,112,.055);padding:27px 28px 25px;display:flex;flex-direction:column;overflow:hidden;}
.contact-card::after {content:'';position:absolute;right:-60px;top:-87px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(66,159,231,.10),transparent 68%);pointer-events:none;}
.contact-dj::after,.contact-expert::after {background:radial-gradient(circle,rgba(255,110,39,.13),transparent 68%);}
.contact-card-head {display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px;}
.contact-icon {display:flex;align-items:center;justify-content:center;width:61px;height:61px;background:linear-gradient(145deg,#102c5e,#126bb1);color:#fff;border-radius:18px;font-size:19px;letter-spacing:-.04em;font-weight:950;box-shadow:0 8px 19px rgba(20,86,154,.15);}
.contact-max .contact-icon {background:linear-gradient(145deg,#1267c9,#23a2ff);font-size:14px;}
.contact-dj .contact-icon {background:linear-gradient(145deg,#fc8432,#e35214);}
.contact-expert .contact-icon {background:linear-gradient(145deg,#133661,#245ba5);}
.contact-corner {font-size:25px;color:#f46d20;font-weight:900;opacity:.8;line-height:1;}
.contact-eyebrow {font-size:10px;letter-spacing:.09em;color:#3172ab;font-weight:850;}
.contact-card h3 {font-size:clamp(21px,2.4vw,27px);line-height:1.15;letter-spacing:-.04em;color:#0b2e5b;margin:9px 0 10px;font-weight:950;}
.contact-card p {color:#5a728c;line-height:1.53;font-size:13px;margin:0 0 22px;min-height:42px;}
.contact-actions {margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.contact-button {display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:47px;padding:12px 17px;border-radius:11px;font-size:13px;font-weight:850;text-align:left;}
.contact-primary {background:#f46b1c;color:#fff;flex:1 1 auto;}
.contact-secondary {background:#f1f6fc;color:#1b5c9a;border:1px solid #d7e6f6;}
.contact-textlink {font-size:12px;color:#15598b;font-weight:800;min-height:39px;display:inline-flex;align-items:center;word-break:break-all;}
.contact-pending {color:#667f99;background:#f3f7fc;border:1px dashed #cdddeb;border-radius:10px;min-height:46px;display:flex;align-items:center;justify-content:center;width:100%;font-size:12px;}
.contacts-bottom-cta {display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 34px;background:linear-gradient(113deg,#092b54,#115187);border-radius:19px;color:#fff;}
.contacts-bottom-cta>div {max-width:620px;}
.contacts-bottom-cta>div>span {color:#9bd6fb;letter-spacing:.1em;font-size:10px;font-weight:850;}
.contacts-bottom-cta h2 {font-size:26px;margin:9px 0;letter-spacing:-.04em;color:#fff;line-height:1.15;}
.contacts-bottom-cta p {font-size:13px;color:#d3e7f8;margin:0;line-height:1.5;}
.contacts-bottom-cta>a {background:#f46b1c;color:#fff;display:flex;align-items:center;gap:25px;border-radius:12px;padding:15px 18px;font-size:13px;font-weight:900;white-space:nowrap;min-height:50px;}
.contacts-bottom-nav {display:none;}
/* Admin contact editor */
.admin-contacts-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;}
.admin-contact-item {border:1px solid #d9e5f1;min-width:0;border-radius:13px;padding:15px;background:#f9fcff;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.admin-contact-item legend {font-size:14px;font-weight:900;color:#133b68;padding:0 5px;}
.admin-contact-item label {min-width:0;display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;color:#58758c;}
.admin-contact-item label.full {grid-column:1/-1;}
.admin-contact-item .admin-input {min-width:0;width:100%;font-size:12px;padding:11px 10px;min-height:42px;line-height:1.4;}
.admin-contact-item textarea.admin-input {resize:vertical;min-height:65px;}
.admin-contacts-actions {margin-top:19px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.contacts-tab-link {text-decoration:none;}
@media(max-width:730px) {
 .contacts-header {height:66px;}.contacts-topnav a {font-size:10px;min-height:35px;padding:9px 10px;}
 .contacts-hero {min-height:290px;padding:28px 22px 27px;border-radius:14px;background-position:80% center;}
 .contacts-hero h1 {font-size:clamp(43px,10vw,60px);margin:20px 0 14px;}
 .contacts-hero p {font-size:13px;max-width:285px;line-height:1.43;}
 .contacts-hero-chips {margin-top:20px;}.contacts-hero-chips span {font-size:8px;letter-spacing:.08em;}
 .contacts-overline {font-size:9px;letter-spacing:.08em;}
 .contacts-lead-row {margin:15px 0 26px;}.contacts-lead-row span {font-size:8px;letter-spacing:.04em;}
 .contacts-section-heading {align-items:flex-start;flex-direction:column;gap:5px;}
 .contacts-section-heading h2 {font-size:29px;}.contacts-section-heading p {font-size:12px;}
 .contacts-section {margin-bottom:30px;}.contacts-grid {grid-template-columns:1fr;gap:11px;}
 .contact-card {padding:21px;border-radius:14px;}.contact-card-head {margin-bottom:14px;}.contact-icon {width:52px;height:52px;border-radius:14px;}
 .contact-card h3 {font-size:23px;}.contact-card p {font-size:12px;min-height:0;margin-bottom:19px;}
 .contacts-bottom-cta {padding:24px;display:block;}.contacts-bottom-cta h2 {font-size:23px;}.contacts-bottom-cta>a {justify-content:space-between;margin-top:19px;}
 .contacts-page {padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));}
 .contacts-bottom-nav {display:flex;position:fixed;z-index:50;bottom:0;left:0;width:100%;background:rgba(255,255,255,.96);border-top:1px solid #d8e6f4;padding:8px 7px calc(8px + env(safe-area-inset-bottom,0px));justify-content:space-around;gap:5px;box-shadow:0 -5px 19px rgba(20,43,74,.08);backdrop-filter:blur(14px);}
 .contacts-bottom-nav>a,.contacts-bottom-nav>span {flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;border-radius:9px;color:#6b809a;font-size:18px;font-weight:850;}
 .contacts-bottom-nav a span,.contacts-bottom-nav>span span {font-size:10px;}.contacts-bottom-nav>span {color:#dd611a;background:#fff0e3;}
 .contacts-footer {display:none;}
 .admin-contacts-grid {grid-template-columns:1fr;}
 .contacts-header-link {display:none;}
 .tab.contacts-tab-link::before {content:'✉';}
 body.voter-site.is-registered .tabs {overflow-x:auto;justify-content:flex-start;scrollbar-width:none;}
 body.voter-site.is-registered .tab {flex:0 0 17%;font-size:9px;}
}
@media(max-width:360px){
 .contacts-topnav a:first-child {display:none;}
 .contacts-hero {min-height:270px;padding:24px 17px;background-position:76% center;}
 .contacts-hero h1 {font-size:39px;}.contacts-hero p {max-width:270px;font-size:12px;}
 .admin-contact-item {grid-template-columns:1fr;}.admin-contact-item label.full {grid-column:1;}
}

/* v1.7: ранняя регистрация и отсроченное голосование */
.early-signup{display:flex;flex-direction:column;gap:5px;margin:13px 0 16px;padding:13px 16px;background:#eff7ff;border-left:3px solid #f46e22;border-radius:8px;color:#1d456d;line-height:1.4}
.early-signup strong{font-size:13px;color:#12345c}
.early-signup span{font-size:12px}
.schedule-state{margin:10px 0 14px;padding:11px 13px;border:1px solid #d4e4f2;background:#eff6fd;color:#25577f;font-size:12px;font-weight:750;line-height:1.4;border-radius:9px}
.schedule-state.schedule-active{border-color:#b7e6cf;background:#e8f8ef;color:#166144}
.schedule-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end;margin-bottom:19px}
.schedule-form label{font-size:11px;font-weight:700;color:#516983;display:flex;flex-direction:column;gap:6px;min-width:0}
.schedule-form .admin-input{width:100%;max-width:100%;height:43px;font-size:13px;padding:8px 9px}
.schedule-form button{grid-column:1/-1;justify-self:start}
@media(max-width:690px){.early-signup{padding:10px 12px;margin:10px 0 12px}.early-signup strong{font-size:12px}.early-signup span{font-size:11px}.schedule-form{grid-template-columns:1fr}.schedule-form button{width:100%;justify-content:center}}


/* 1.8 - direct visitor registration without QR; shared sign-up form */
#registration { scroll-margin-top: 118px; }
.header-register-cta,.header-cabinet-cta {
  display:inline-flex;align-items:center;justify-content:center;gap:11px;
  min-height:44px;padding:11px 17px;border-radius:11px;
  color:#fff;background:linear-gradient(110deg,#fa7625,#e9580c);
  box-shadow:0 7px 20px rgba(228,91,14,.16);
  font-size:13px;font-weight:850;white-space:nowrap;
  transition:background .15s,transform .15s;
}
.header-cabinet-cta {background:#134a85;box-shadow:none;}
.header-register-cta:hover,.hero-register-button:hover {background:#d9570c;}
.header-register-cta:active,.hero-register-button:active {transform:translateY(1px);}
.hero-register-row {position:relative;z-index:2;display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:23px;}
.hero-register-row p {margin:0;font-size:12px;line-height:1.6;font-weight:650;color:#d8e4f4;}
.hero-register-button {display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:53px;
  padding:14px 21px;border-radius:11px;color:#fff;background:linear-gradient(110deg,#ff8128,#ed5b0b);
  box-shadow:0 12px 24px rgba(30,25,25,.15);font-weight:900;font-size:15px;white-space:nowrap;}
.hero-register-button span {font-size:19px;line-height:1;}
body.voter-site.is-registered .hero-register-row {display:none;}
.header-register-cta:focus-visible,.header-cabinet-cta:focus-visible,.hero-register-button:focus-visible {outline:3px solid #55a4ec;outline-offset:3px;}
@media (max-width:900px) {.header-side {gap:9px;}}
@media (max-width:690px) {
  #registration {scroll-margin-top:74px;}
  .voter-site.is-guest .header-side .program-header-link {display:none;}
  .header-register-cta,.header-cabinet-cta {min-height:40px;padding:9px 11px;font-size:11px;border-radius:9px;gap:6px;}
  .header-register-cta span,.header-cabinet-cta span {font-size:14px;}
  .voter-site.is-guest .hero {min-height:unset;}
  .hero-register-row {margin-top:11px;gap:7px;}
  .hero-register-row p {display:none;}
  .hero-register-button {min-height:43px;padding:10px 17px;font-size:12px;gap:19px;border-radius:9px;}
  .hero-register-button span {font-size:15px;}
}
@media (max-width:359px) {
  .voter-site .brand-copy strong {font-size:18px;}
  .voter-site .brand-copy small {font-size:6px;letter-spacing:.02em;}
  .voter-site .brand {gap:5px;}
  .header-register-cta,.header-cabinet-cta {font-size:10px;padding:8px 9px;}
}

@media (max-width:390px) {
  .program-site-header .brand {gap:5px;min-width:0;flex-shrink:1;}
  .program-site-header .brand-glyph {width:31px;height:31px;flex-shrink:0;}
  .program-site-header .brand-copy strong {font-size:17px;white-space:nowrap;}
  .program-site-header .brand-copy small {display:none;}
  .program-site-header .program-header-vote {min-height:37px;font-size:11px;padding:8px 10px;gap:5px;white-space:nowrap;flex-shrink:0;}
}

/* 2026-11-04: confirmed seven-speaker lineup and two non-voting greetings */
.video-greetings{margin:32px 0 10px;padding-top:22px;border-top:1px solid #dfeaf2;}
.video-greeting-heading{margin-bottom:8px;}
.video-greeting-heading h2{font-size:clamp(22px,3vw,30px);}
.video-greeting-intro{font-size:13px;line-height:1.6;color:#617993;max-width:620px;margin:4px 0 17px;}
.video-greetings .speaker-card{background:#f6f9fe;border-color:#dae5f0;}
.video-greetings .speaker-num{color:#ff6a23;font-size:18px;}
.video-greetings .video-badge{border:1px solid #ffddc5;background:#fff4e9;color:#bb5e28;padding:8px 9px;border-radius:12px;font-weight:800;}
.video-greetings .closed-hint{color:#5a7790;}
.program-speaker-identity{display:flex;align-items:center;gap:12px;margin-top:7px;}
.program-speaker-identity img{flex-shrink:0;display:block;width:56px;height:56px;object-fit:cover;object-position:center 28%;border:2px solid #e4edf7;border-radius:14px;background:#d9e5f1;}
.program-speaker-identity h3{font-size:18px;line-height:1.22;}
.program-speaker-identity p{margin-top:4px;}
.program-video-note{padding:18px 22px;border:1px solid #e4eaf3;border-radius:18px;background:#fff;box-shadow:0 4px 20px rgba(34,68,110,.04);margin:21px 0;}
.program-video-note h2{margin:4px 0 6px;color:#132e55;font-size:19px;}
.program-video-note p{margin:0;color:#63788d;font-size:13px;line-height:1.6;}
.program-video-note .program-item-tag{color:#d66127;}
@media(max-width:480px){.video-greetings{padding-top:17px;margin-top:24px}.video-greeting-intro{font-size:12px}.program-speaker-identity img{width:50px;height:50px;border-radius:12px}.program-speaker-identity h3{font-size:15px}.program-speaker-identity{gap:10px}.program-video-note{padding:14px 16px}.video-greetings .speaker-top{gap:9px}.video-greetings .video-badge{font-size:8px;white-space:normal;text-align:center;}}
