:root{--bg:#060f19;--card:#0b1a29;--edge:#253e55;--muted:#93a8bf;--lime:#c8f52b;--text:#f0f5fc;--blue:#258cff;--red:#ef3047}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(ellipse at top,#102639,var(--bg) 65%);color:var(--text);font:14px Arial,'Segoe UI',sans-serif}header{display:flex;align-items:center;gap:24px;padding:18px 24px;border-bottom:1px solid var(--edge);background:#081522;min-height:70px}.brand{font-size:20px;font-weight:900;white-space:nowrap;color:white;text-decoration:none}.brand span{font-weight:400;color:var(--muted)}nav{display:flex;gap:5px;flex:1}a{color:#b0d5fc}nav a{color:var(--muted);text-decoration:none;padding:11px 15px;border-radius:6px}nav a.active{background:var(--lime);color:#102014;font-weight:800}.identity{margin-left:auto;font-size:13px;white-space:nowrap}.identity a{margin-left:16px}main{padding:20px;max-width:1920px;margin:auto}.card{background:linear-gradient(140deg,#102334,var(--card));border:1px solid var(--edge);border-radius:10px;padding:20px;margin-bottom:14px;min-width:0}.scope{display:flex;gap:16px;align-items:center;padding:12px 18px}.scope label{min-width:170px}.scope .badge{margin-left:auto}.workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);gap:18px}.control-column,aside{min-width:0}h1{font-size:22px;margin:0}h2{font-size:14px;margin:0 0 15px;letter-spacing:.04em}p{line-height:1.5}.muted,small{color:var(--muted)}label{display:block;color:var(--muted);font-size:12px}input,select,textarea{width:100%;background:#081625;color:white;border:1px solid #354e66;border-radius:6px;font:inherit;padding:11px;margin-top:6px}textarea{resize:vertical;min-height:70px}input[type=checkbox]{width:20px;height:20px;vertical-align:middle;accent-color:var(--lime)}button{background:var(--lime);color:#0c2011;border:1px solid transparent;border-radius:6px;font:700 13px Arial;cursor:pointer;padding:12px 18px}button:hover{filter:brightness(1.09)}button:disabled{opacity:.4;cursor:not-allowed}.secondary{background:#1d3249;border-color:#354e66;color:white}.danger{background:#381a25;border-color:var(--red);color:#ff7b8b}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.section-heading h2{margin:0}.badge{display:inline-block;background:#263a4a;border:1px solid #3a5269;padding:6px 10px;border-radius:5px;font-size:12px}.badge.ok{background:#14331f;border-color:#3a6334;color:#c8f52b}.badge.error{border-color:var(--red);color:#ff8790}.tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.tabs button{background:#172b40;color:#b1c5da;padding:10px 15px;border-color:#30485f}.tabs button.active{background:var(--lime);color:#0b2411}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.queue-scroll{max-height:220px;overflow:auto}.queue-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--edge);padding:10px 4px}.queue-row b{flex:1}.queue-row .badge{min-width:82px;text-align:center}.queue-row button{padding:8px 12px}.opponents{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.opponent{border:1px solid var(--blue);border-left:6px solid var(--blue);border-radius:7px;padding:16px;background:#102338}.opponent.red{border-color:var(--red)}.opponent .name{display:block;font-size:20px;font-weight:800;margin:8px 0;overflow-wrap:anywhere}.number{font-size:23px;font-weight:900}.role{float:right;border-radius:4px;padding:5px 9px;background:var(--blue);font-size:12px}.red .role{background:var(--red)}.footer-actions{display:flex;gap:10px;flex-wrap:wrap;border-top:1px solid var(--edge);padding-top:18px;margin-top:18px}.footer-actions button:first-child{flex:1}.jury-wrap{max-width:960px;margin:18px auto}.jury-wrap .card{padding:30px}.jury-head{display:grid;grid-template-columns:100px 1fr 120px;gap:18px;padding:18px;background:#081827;border:1px solid var(--edge);border-radius:7px;margin-bottom:22px}.jury-head strong{display:block;font-size:19px;margin-top:6px}.score-input{display:grid;grid-template-columns:54px minmax(80px,160px) 54px;gap:9px;align-items:center;margin-top:12px}.score-input input{font-size:36px;font-weight:800;text-align:center;margin:0}.score-input button{height:62px;font-size:26px;background:#243b52;color:white}.criterion{margin:18px 0}.criterion>label{font-size:17px;color:white}.check-label{display:flex;align-items:center;gap:10px;margin:16px 0}.judges{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.judge{border:1px solid var(--edge);background:#102436;border-radius:6px;padding:13px}.judge strong{display:block;margin-bottom:8px}.judge button{margin-top:10px;padding:6px 10px}.total{font-size:32px;font-weight:900;padding:14px;color:var(--lime);background:#102535}.preview{width:100%;aspect-ratio:16/9;background:repeating-conic-gradient(#172c40 0 25%,#21364a 0 50%) 0/26px 26px;overflow:hidden;border-radius:8px;border:1px solid var(--edge)}iframe{width:100%;height:100%;border:0}.onair-chip{display:inline-flex;gap:22px;align-items:center;background:#153d2b;border:1px solid #54a865;padding:9px 14px;border-radius:6px}.onair-chip button{padding:5px 9px;background:transparent;color:white}.text-link{display:inline-block;margin-top:12px}.table-scroll{max-height:350px;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;font-size:12px;padding:10px 7px;border-bottom:1px solid var(--edge)}th{color:var(--muted)}.status-message{padding:18px;border:1px solid #36513c;background:#132d23;border-radius:7px;color:var(--lime)}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:16px 22px;max-width:min(90vw,700px);background:#183c35;border:1px solid #5f9f81;border-radius:8px;z-index:100;display:none;box-shadow:0 12px 35px #0008}.live-details{min-height:160px}button.blue{background:var(--blue);color:white}button.red{background:var(--red);color:white}.votes-actions{display:grid;grid-template-columns:1fr 140px 1fr;gap:10px}.waiting{padding:40px;text-align:center}.empty{padding:20px;color:var(--muted)}@media(max-width:1100px){header{flex-wrap:wrap;padding:14px}nav{order:3;width:100%;overflow:auto}.workspace{grid-template-columns:1fr}.scope{flex-wrap:wrap}.scope .badge{margin-left:0}main{padding:12px}}@media(max-width:650px){.fields,.opponents{grid-template-columns:1fr}.judges{grid-template-columns:1fr}.jury-head{grid-template-columns:70px 1fr}.jury-head>div:last-child{grid-column:1/-1}.jury-wrap .card{padding:18px}.votes-actions{grid-template-columns:1fr}.scope label{flex:1}.queue-row{flex-wrap:wrap}.identity{font-size:12px}.brand{font-size:17px}}@media(prefers-reduced-motion:no-preference){.card{animation:appear .2s ease-out}@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}}

dialog{background:var(--bg);color:var(--text);border:1px solid var(--edge);border-radius:12px;width:min(1000px,95vw);height:min(900px,92vh);padding:16px}dialog::backdrop{background:#0009}dialog iframe{height:calc(100% - 55px)}

/* v12 — common navigation and compact judging desk */
.app-header{padding:10px 20px;min-height:66px;gap:18px}.brand{display:flex;align-items:center;gap:12px;flex:none}.brand img{width:205px;height:45px;object-fit:contain}.brand-mode{color:#c8f52b;font-size:11px;letter-spacing:.12em;border-left:1px solid var(--edge);padding-left:12px}.app-nav{display:flex!important;padding:0!important;background:none!important;border:0!important;gap:3px;flex:1}.app-nav a{padding:9px 10px;font-size:12px;white-space:nowrap}.legacy-tabs{display:none!important}.app-header .identity{font-size:12px}body[data-page=president],body[data-page=jury]{height:100dvh;overflow:hidden;display:flex;flex-direction:column}body[data-page=president]>main,body[data-page=jury]>main{width:100%;flex:1;min-height:0;padding:12px 18px;display:flex;flex-direction:column}.scope{padding:8px 14px;margin-bottom:10px;flex:none}.scope label{font-size:10px}.scope select{padding:7px;margin-top:3px}.president-workspace{display:block;flex:1;min-height:0}.president-workspace>aside{display:none}.president-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:12px;height:100%;min-height:0}.president-grid .card{margin:0;padding:16px;min-height:0}.queue-card{display:flex;flex-direction:column;gap:9px}.queue-card .tabs{margin-bottom:0}.queue-card>button{padding:9px;font-size:12px}.compact-queue{flex:1;min-height:0}.queue-row{padding:9px 0;flex-wrap:wrap;gap:5px}.queue-row b{flex-basis:100%;font-size:12px}.queue-row .badge{font-size:10px;padding:4px}.queue-row button{font-size:10px;padding:7px}.queue-row.current{border-left:3px solid var(--lime);padding-left:8px;background:#1f3024}.queue-pages{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.queue-pages button{padding:5px 12px}.assessment-card{display:flex;flex-direction:column;overflow:hidden}.assessment-card .jury-head{padding:12px;margin-bottom:12px;grid-template-columns:90px 1fr 90px}.assessment-card .jury-head strong{font-size:21px}.assessment-card .section-heading{margin-bottom:10px}.assessment-card .footer-actions{margin-top:auto;padding-top:12px;flex:none}.assessment-card .footer-actions button{padding:12px;font-size:12px}.assessment-card .opponents{margin:8px 0}.assessment-card .opponent{padding:10px}.assessment-card .opponent .name{font-size:18px;margin:5px 0}.judge-table{table-layout:fixed;margin-bottom:12px}.judge-table th,.judge-table td{font-size:13px;padding:13px 10px}.judge-table th:first-child{width:20%}.judge-table th:nth-child(2){width:28%}.judge-table td b{color:var(--lime);font-size:21px}.judge-table .secondary{font-size:11px;padding:6px 10px}.score-strip{display:grid;grid-template-columns:repeat(4,1fr) 1.25fr;gap:8px;margin:12px 0}.score-tile{padding:13px;background:#102638;border:1px solid var(--edge);border-radius:7px}.score-tile small{display:block;font-size:11px}.score-tile b{display:block;font-size:26px;margin-top:6px}.score-tile.total{background:#253719;color:var(--lime);font-size:inherit}.assessment-notes{max-height:65px;overflow:auto;font-size:11px}.jury-wrap{width:min(900px,100%);margin:0 auto;flex:1;min-height:0;display:flex;flex-direction:column}.jury-wrap>.section-heading{margin-bottom:10px}.jury-wrap h1{font-size:18px}.jury-wrap .card{padding:20px;margin-bottom:0;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.jury-head{padding:12px;margin-bottom:12px}.jury-head strong{font-size:19px}.jury-wrap .criterion{margin:8px 0}.jury-wrap .criterion>label{font-size:14px}.jury-wrap .score-input{margin-top:6px;grid-template-columns:48px 120px 48px}.score-input input{font-size:30px;padding:10px}.score-input button{height:55px}.jury-wrap .check-label{margin:10px 0}.jury-wrap textarea{height:54px;min-height:54px;resize:none}.jury-wrap .footer-actions{margin-top:auto;padding-top:12px}.jury-wrap .opponents{margin:8px 0}.jury-wrap .opponent .name{font-size:19px}.jury-wrap .waiting{padding:20px}.jury-wrap .status-message{margin-top:14px}.jury-inputs{display:flex;gap:55px;align-items:flex-start;flex-wrap:wrap}.jury-comments{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;margin-top:8px}dialog .table-scroll{max-height:calc(100% - 70px)}body[data-page=consult] .card{overflow:auto}body[data-page=consult] main{max-width:1500px;width:100%}.app-nav a.active{color:#142110;background:var(--lime)}
@media(max-width:1100px){.app-header{flex-wrap:nowrap;gap:8px}.brand img{width:155px;height:38px}.brand-mode{display:none}.app-nav{order:initial;width:auto;overflow:visible;flex-wrap:wrap}.app-nav a{font-size:10px;padding:6px}.identity{font-size:10px}.president-grid{grid-template-columns:minmax(0,1fr) 245px}.score-tile{padding:9px}.score-tile b{font-size:22px}.judge-table td,.judge-table th{font-size:11px;padding:9px 5px}}
@media(max-height:800px){.president-grid .card{padding:12px}.jury-wrap .card{padding:14px}.jury-head{padding:9px}.judge-table td,.judge-table th{padding:9px}.score-strip{margin:8px 0}.score-tile{padding:9px}.score-tile b{font-size:24px}.queue-card .section-heading{margin-bottom:0}.jury-wrap .criterion{margin:4px 0}.jury-wrap .score-input input{font-size:27px}.jury-wrap .score-input button{height:51px}.jury-wrap textarea{height:44px;min-height:44px}}
@media(max-width:700px){body[data-page=president],body[data-page=jury]{height:auto;min-height:100dvh;overflow:auto}.app-header{flex-wrap:wrap}.app-nav{order:3;width:100%}.president-grid{grid-template-columns:1fr;height:auto}.queue-card{min-height:330px}.assessment-card{min-height:500px}.score-strip{grid-template-columns:repeat(3,1fr)}.jury-comments{grid-template-columns:1fr}.jury-wrap .card{min-height:500px}.jury-inputs{gap:20px}.judge-table td,.judge-table th{font-size:10px}.identity{margin-left:auto}}

.president-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.president-toolbar .tabs{margin:0;flex:1}.president-toolbar button{padding:8px;font-size:11px}.heartbeat{display:flex;gap:15px;margin:0 0 8px;font-size:11px}.heartbeat:empty{display:none}.heartbeat .online{color:#56d897}.heartbeat .offline{color:#ff6978}.penalty-presets{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.penalty-presets button{font-size:10px;padding:9px}.feedback-option{display:flex;align-items:center;gap:6px;font-size:11px}.sent,.status-message{background:#164b32!important;color:#d6ffe8!important}.opponent{border-color:#d6a848!important}.opponent .role{color:#e6bd63!important}.opponent.red{border-color:#00b8de!important}.opponent.red .role{color:#65ddfa!important}.omt-timer{display:flex;gap:12px;align-items:center;color:#e6bd63;margin-bottom:10px}.omt-timer b{font-size:24px;font-variant-numeric:tabular-nums}.received-pulse{animation:received 1s ease-out}@keyframes received{0%{background:#2c9560}100%{background:transparent}}

[hidden]{display:none!important}

#myAssessmentDialog{width:min(780px,94vw);height:fit-content;max-height:94dvh;overflow:auto;padding:18px}#myAssessmentDialog>.section-heading{margin-bottom:14px}#myAssessmentDialog #juryArea{padding:16px;margin:0}#myAssessmentDialog .jury-head{grid-template-columns:80px 1fr 80px;padding:10px}#myAssessmentDialog .jury-head strong{font-size:18px}#myAssessmentDialog .jury-inputs{gap:28px}#myAssessmentDialog .score-input input{font-size:26px}#myAssessmentDialog textarea{height:50px;resize:none}#myAssessmentDialog .footer-actions{margin-top:16px;padding-top:12px}#myAssessmentDialog .waiting{padding:20px}.zero-hint{font-size:11px;line-height:1.4;margin:6px 0;color:#adc3d5}.run-annulled{padding:9px 12px;background:#572035;border:1px solid #a63d55;border-radius:6px;color:#ffe0e8;font-weight:bold;font-size:12px;margin:8px 0}

.monitor-access{display:flex;align-items:center;gap:12px;margin-bottom:8px;font-size:12px}.monitor-access button{padding:6px 10px;font-size:11px}

.undo-window{color:#e7c46b;font-size:12px;padding:8px 0}.heartbeat small{font-size:11px;color:inherit}

.queue-pilots{margin-top:6px;font-size:13px;line-height:1.4;color:var(--text)}
