.vp-page { box-sizing:border-box; max-width:1000px; margin:0 auto; padding:2rem 1.25rem 3rem; font:16px/1.55 system-ui,sans-serif; color:#24313a; }
#poll-root .vh-skip-link:not(:focus) { clip-path:inset(50%); width:1px; height:1px; overflow:hidden; padding:0; }
.vp-page *, .vp-inline * { box-sizing:border-box; }
.vp-page h1 { font-size:clamp(1.75rem,4vw,2.4rem); line-height:1.2; margin:1rem 0; }
.vp-page h2 { font-size:1.35rem; line-height:1.3; margin:.25rem 0 .8rem; }
.vp-page h1,.vp-page h2,.vp-page p,.vp-page td { overflow-wrap:anywhere; }
.vp-card { background:white; border:1px solid #dce4e7; border-radius:18px; padding:1.4rem; margin:1rem 0; box-shadow:0 8px 30px #23313a08; }
.vp-actions { display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; margin:1rem 0; }
.vp-page button,.vp-page .vp-button,.vp-inline a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.65rem 1rem; border:1px solid #006080; border-radius:10px; background:white; color:#004f6d; font:inherit; font-weight:650; cursor:pointer; text-decoration:none; }
.vp-page button[type=submit], .vp-page .vp-primary { color:white; background:#006080; }
.vp-page .vp-danger { color:#9e2424; border-color:#9e2424; }
.vp-page :disabled { opacity:.65; cursor:default; }
.vp-page :focus-visible,.vp-inline :focus-visible { outline:3px solid #b94d18; outline-offset:3px; }
.vp-field { display:block; font-weight:650; margin:1rem 0; }
.vp-field input,.vp-field select,.vp-field textarea,.vp-link { display:block; width:100%; min-width:0; max-width:100%; padding:.7rem; margin-top:.35rem; border:1px solid #87949b; border-radius:8px; font:inherit; color:#24313a; background:white; min-height:44px; font-weight:400; }
.vp-field textarea { min-height:110px; resize:vertical; }
.vp-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 1.25rem; }
.vp-meta,.vp-note { color:#53636c; font-size:.94rem; }
.vp-description { white-space:pre-wrap; }
.vp-status { margin:1rem 0; padding:.75rem 1rem; background:#edf5f7; border-left:4px solid #006080; border-radius:5px; }
.vp-status:empty { display:none; }
.vp-options { border:0; margin:1rem 0; padding:0; }
.vp-options legend { font-weight:700; margin-bottom:.6rem; }
.vp-option { display:flex; align-items:center; gap:.7rem; min-height:48px; padding:.7rem; border:1px solid #cbd7dc; border-radius:9px; margin:.5rem 0; cursor:pointer; }
.vp-option:has(input:checked) { background:#eaf5f8; border-color:#006080; }
.vp-option input { accent-color:#006080; width:20px; height:20px; flex:none; }
.vp-page [hidden] { display:none!important; }
.vp-trap { position:absolute!important; left:-10000px!important; width:1px; height:1px; overflow:hidden; }
.vp-counts { display:flex; flex-wrap:wrap; gap:.65rem; padding:0; list-style:none; }
.vp-counts li { padding:.5rem .8rem; background:#eaf5f8; border-radius:9px; }
.vp-table-wrap { max-width:100%; overflow-x:auto; }
.vp-page table { width:100%; border-collapse:collapse; text-align:left; }
.vp-page th,.vp-page td { border-bottom:1px solid #dce4e7; padding:.7rem .5rem; vertical-align:top; }
.vp-page td:first-child { min-width:100px; }
.vp-inline { padding:1rem; margin:1.5rem 0; background:#eaf5f8; border-radius:12px; }
.vp-inline h2 { font-size:1.25rem; }
.vp-inline a { margin:.3rem .5rem .3rem 0; }
.vp-top { background:#004f6d; color:white; padding:1rem 1.25rem; }
.vp-top a { color:white; font:bold 1.25rem system-ui,sans-serif; text-decoration:none; }
@media(max-width:600px) { .vp-grid{grid-template-columns:1fr} .vp-page{padding:1.1rem .8rem 2rem} .vp-card{padding:1rem} .vp-page th,.vp-page td{padding:.5rem .3rem;font-size:.9rem} }
