:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:#243246;background:#f6f7f8}*{box-sizing:border-box}body{margin:0}.shell{max-width:1080px;margin:auto;padding:24px 24px 50px}.top,.brand,.adminhead,.submitbar,.dialoghead{display:flex;align-items:center;justify-content:space-between;gap:20px}.top{padding:16px 0 30px;border-bottom:1px solid #e1e5e9}.brand{justify-content:flex-start}.brand img{width:72px;height:72px;object-fit:contain;mix-blend-mode:multiply;cursor:pointer}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:750;color:#58708d}h1{font-size:27px;margin:4px 0 0;letter-spacing:-.035em}h2{font-size:30px;letter-spacing:-.04em;margin:0 0 12px}h3{font-size:19px;letter-spacing:-.02em}p{line-height:1.65}.intro{padding:38px 0 12px;max-width:730px}.intro p{color:#536276}.muted,small{color:#738092}.status{white-space:nowrap;padding:9px 13px;border-radius:5px;background:#e7eaf0;font-size:12px;font-weight:750}.status.open{background:#e5f2eb;color:#246448}.status.closed{background:#f4e9e8;color:#8d3939}.identity,.settings{background:white;border:1px solid #e2e7ed;padding:25px;border-radius:9px;margin:24px 0}.identity h3{margin-top:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:13px;font-weight:650}input:not([type=radio]),select{display:block;width:100%;padding:12px 13px;border:1px solid #cdd5de;border-radius:5px;background:white;font:inherit;margin:8px 0 14px;color:#25364b}.section{margin:28px 0}.section h3{padding:0 0 12px;border-bottom:1px solid #dce2e9}.vote-item{display:flex;justify-content:space-between;align-items:center;gap:22px;background:white;border:1px solid #e2e7ed;border-radius:7px;margin:10px 0;padding:18px 20px;min-width:0}.vote-item legend{display:contents}.vote-item legend span{font-weight:700}.vote-item legend small{display:block}.choices{display:flex;gap:8px;flex-wrap:wrap}.choice{cursor:pointer}.choice input{position:absolute;opacity:0}.choice span{display:block;min-width:84px;text-align:center;padding:10px 12px;border:1px solid #cbd3dc;border-radius:4px;font-size:12px;color:#435267;background:#fff}.choice input:checked+span{background:#253d61;color:white;border-color:#253d61}.choice input:focus-visible+span{outline:3px solid #8da6c8}.submitbar{background:white;border:1px solid #e2e7ed;padding:18px 20px;border-radius:7px}button,.exports a{background:#263f63;color:white;border:1px solid #263f63;border-radius:4px;padding:12px 18px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:white;color:#263f63}.success,.error,#message:not(:empty),#adminMessage:not(:empty){padding:13px;margin:12px 0;border-radius:4px}.success{background:#eaf5ee;color:#27613c}.error{background:#f9eceb;color:#a22b2b}footer{font-size:12px;color:#8290a0;margin-top:40px;text-align:center}.adminhead{padding:35px 0 20px}.statrow{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.stat{background:white;padding:24px;border:1px solid #e2e7ed;border-radius:7px}.stat strong{display:block;font-size:35px}.stat span{font-size:13px;color:#728094}.tablewrap{overflow:auto;background:white;border:1px solid #e2e7ed;border-radius:6px}table{border-collapse:collapse;width:100%;font-size:13px}td,th{padding:14px;text-align:left;border-bottom:1px solid #e5e9ef}th{background:#f1f3f6;color:#526176}td small{display:block;margin-top:4px}.exports{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.settings form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings form button{justify-self:start;align-self:end;margin-bottom:14px}dialog{border:0;border-radius:9px;box-shadow:0 25px 80px #14233d45;width:min(420px,calc(100% - 30px));padding:28px}dialog::backdrop{background:#1b2a42a3}.dialoghead h2{font-size:22px}.close{background:none;color:#344;border:0;font-size:26px;padding:0}dialog button[type=submit]{width:100%}@media(max-width:730px){.shell{padding:15px}.top{align-items:flex-start}.brand img{width:58px;height:58px}h1{font-size:22px}.eyebrow{font-size:9px}.status{font-size:10px}.fields,.settings form{grid-template-columns:1fr}.vote-item{display:block}.choices{margin-top:15px}.choice{flex:1}.choice span{min-width:0}.intro{padding-top:25px}h2{font-size:26px}}@media print{.top img,.exports,.settings,#logout,.submitbar{display:none!important}.shell{max-width:none}.tablewrap{overflow:visible}body{background:white}}

.fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.modalactions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}#confirmDialog,#successDialog{max-width:460px}#successClose{width:100%}@media(max-width:730px){.fields.three{grid-template-columns:1fr}}

.submitbar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 18px}
#votingStatusNote{grid-column:1/-1;text-align:center;color:#58708d;font-size:12px;font-weight:600;letter-spacing:.01em;margin:2px 0 0;line-height:1.5}
@media(max-width:550px){.submitbar{grid-template-columns:1fr}.submitbar #submit{width:100%}}

/* V1.3 portrait-friendly, collapsible results and dedicated printable synopsis */
.resultsPanel{margin-top:24px}.resultsPanel>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:19px;font-weight:700;padding:15px 0;list-style:none}.resultsPanel>summary::-webkit-details-marker{display:none}.resultsChevron{font-size:23px;color:#58708d;transition:transform .6s ease}.resultsPanel:not([open]) .resultsChevron{transform:rotate(-90deg)}
.resultsPanel .tablewrap{overflow-x:hidden}.resultsPanel table{table-layout:fixed;width:100%;font-size:12px}.resultsPanel th,.resultsPanel td{padding:11px 8px;overflow-wrap:anywhere}.resultsPanel th:first-child{width:40%}.resultsPanel th:not(:first-child){width:15%;text-align:center}.resultsPanel td:not(:first-child){text-align:center;font-variant-numeric:tabular-nums}.resultsPanel td small{font-size:10px}.resultsPanel td:first-child small{font-size:10px}
@media(max-width:550px){.resultsPanel table{font-size:11px}.resultsPanel th,.resultsPanel td{padding:9px 3px}.resultsPanel th:first-child{width:36%}.resultsPanel th:not(:first-child){width:16%}.resultsPanel td small{font-size:9px}.exports button{flex:1 1 45%;padding:11px 8px;font-size:12px}}
#printReport{background:white}#printReport table{border-collapse:collapse;width:100%}#printReport th,#printReport td{padding:12px 10px;border-bottom:1px solid #d8dfe7}#printReport th:first-child,#printReport td:first-child{width:48%}
@media print{body.print-items .shell>*:not(#admin){display:none!important}body.print-items #admin>*:not(#printReport){display:none!important}body.print-items #printReport{display:block!important}body.print-items #printReport h2{font-size:22px}body.print-items #printReport table{font-size:12px}body:not(.print-items) .resultsPanel{display:block!important}body:not(.print-items) .resultsPanel>.tablewrap{display:block!important}body:not(.print-items) .resultsPanel>summary{display:block!important}}

/* V1.5: hide native restore picker and password action until input */
[hidden]{display:none!important}
#restoreFile{display:none!important}
.settingsActions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.settingsActions button{margin-bottom:14px}

/* V1.6 password controls */
.passwordEntry{position:relative;display:block}.passwordEntry input{padding-right:54px!important}.passwordEye{position:absolute;right:6px;top:calc(50% - 3px);transform:translateY(-50%);background:transparent;border:0;color:#58708d;padding:9px;display:flex;align-items:center;justify-content:center;border-radius:4px}.passwordEye:hover,.passwordEye:focus-visible{background:#edf1f6;color:#263f63}.passwordEye.revealed:after{content:"";position:absolute;width:24px;height:1.8px;background:currentColor;transform:rotate(-42deg)}#passwordWarning{position:fixed;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:24px;border:1px solid #dce2e9}#passwordWarning h2{font-size:21px}#passwordWarning p{margin:10px 0 0;color:#536276}#passwordWarning::backdrop{background:#1b2a425c}
