:root{font-family:system-ui,sans-serif;color:#202033;background:#f3f4f8;font-size:16px;line-height:1.5;--accent:#552583}*{box-sizing:border-box}body{margin:0}header{background:#351653;color:white;padding:20px max(24px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}header strong{font-size:22px}header small{display:block;color:#d9cbe7}main{max-width:1280px;margin:28px auto;padding:0 24px}h1{font-size:28px;margin:0 0 20px}h2{font-size:20px;margin:0 0 18px}a{color:var(--accent)}header a{color:white}.bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}.bar input{flex:1;min-width:180px}.card{background:white;border:1px solid #dedee8;border-radius:10px;padding:24px;margin-bottom:22px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.wide{grid-column:1/-1}label{display:block;font-size:14px;font-weight:600}input,textarea,select{display:block;width:100%;font:inherit;background:white;border:1px solid #9999ac;border-radius:5px;padding:10px;margin-top:5px;color:inherit}textarea{min-height:130px}button,.button{display:inline-block;font:inherit;font-weight:600;border:1px solid var(--accent);border-radius:5px;padding:10px 16px;background:var(--accent);color:white;text-decoration:none;cursor:pointer}.secondary{background:white;color:var(--accent)}.danger{background:#a32235;border-color:#a32235}button:hover,.button:hover{filter:brightness(.92)}:focus-visible{outline:3px solid #cb8e12;outline-offset:3px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #e3e3ed;vertical-align:top}th{font-size:14px;background:#f5f3f8}td small,.muted{color:#626276}.notice{padding:14px 18px;background:#e9f5ed;border-left:4px solid #237541;margin-bottom:20px}.error{background:#fff0f0;border-color:#a32235}.login{max-width:440px;margin:10vh auto}.login label{margin-bottom:18px}.inline{display:inline}.inline button{padding:6px 10px;font-size:14px}.document{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #eee}.count{color:#626276;font-size:16px;font-weight:400}footer{padding:20px 0;color:#626276;font-size:14px}@media(max-width:800px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}header{padding:18px 20px}main{padding:0 16px}.card{padding:18px}}@media(max-width:500px){.grid{grid-template-columns:1fr}.bar>*{width:100%}h1{font-size:24px}.document{flex-wrap:wrap}}@media print{header,.bar,button,.button,.no-print{display:none}body{background:white}.card{border:0;padding:0}main{max-width:none}}
.bar .sort{width:auto}@media(max-width:500px){.bar .sort{width:100%}}
.position{border:1px solid #dedee8;border-radius:6px;padding:18px;margin:20px 0}.position legend{font-weight:600;padding:0 8px}.check{display:flex;align-items:center;gap:10px}.check input{width:auto;margin:0}.badge{background:#eee6f6;color:#552583;border-radius:20px;padding:4px 12px;font-size:14px}.notice ul{margin-bottom:0}.bar h2{margin:0}.grid small{color:#626276}

.export-menu{margin:18px 0;position:relative;width:fit-content}.export-menu summary{cursor:pointer;background:#552583;color:white;padding:10px 16px;border-radius:5px;font-weight:600}.export-options{display:flex;flex-direction:column;gap:8px;background:white;padding:12px;border:1px solid #dedee8;border-radius:6px;margin-top:6px}.sponsor-total{font-size:2rem;font-weight:700;color:#552583;margin:8px 0}.export-menu summary:focus-visible{outline:3px solid #cb8e12;outline-offset:3px}

.department-summary{display:grid;grid-template-columns:minmax(200px,1fr) minmax(320px,2fr);gap:28px;align-items:start}.department-figure{position:sticky;top:20px}.department-figure>svg{display:block;width:100%;max-width:330px;margin:20px auto}.department-swatch{width:12px;height:12px;vertical-align:middle}.department-summary td:nth-child(n+2){white-space:nowrap}@media(max-width:700px){.department-summary{grid-template-columns:1fr}.department-figure{position:static}.department-figure>svg{max-width:230px}}

.department-more{margin-top:14px;border-top:1px solid #dedee8;padding-top:12px}.department-more>summary{cursor:pointer;color:#552583;font-weight:600;padding:8px 0}.department-more>summary:focus-visible{outline:3px solid #cb8e12;outline-offset:3px}

[hidden]{display:none!important}button:disabled{opacity:.5;cursor:not-allowed}.position[data-card="1"]{border-left:4px solid #552583}input[readonly]{background:#f5f3f8}
.season-position,.package-item{min-width:0}.season-package{margin:16px 0;padding:12px;border:1px solid #dedee8;border-radius:6px}.season-package>summary{cursor:pointer;font-weight:600;color:var(--accent)}.package-item{border:1px solid #dedee8;border-radius:6px;padding:14px;margin:14px 0}.package-item legend{font-weight:600}.package-item button{margin-top:12px}
.season-breakdown{margin:16px 0}.season-breakdown>summary{cursor:pointer;color:var(--accent);padding:8px 0}
.season-invoices{margin:16px 0;padding:12px;border:1px solid #dedee8;border-radius:6px}.season-invoices>summary{cursor:pointer;font-weight:600;color:var(--accent)}
.season-fold{margin:10px 0;border:1px solid #dedee8;border-radius:7px;background:#fff;min-width:0}.season-fold>summary{display:flex;align-items:center;gap:18px;cursor:pointer;padding:14px 16px;list-style:none}.season-fold>summary::-webkit-details-marker{display:none}.season-fold>summary:before{content:'▸';color:var(--accent)}.season-fold[open]>summary:before{content:'▾'}.season-fold>summary strong{min-width:110px;color:var(--accent)}.season-fold>summary span{color:#626276}.season-fold>summary span:last-child{margin-left:auto;font-weight:600;color:#202033}.season-fold[open]>summary{border-bottom:1px solid #dedee8;background:#f7f4fa}.season-fold-body{min-width:0;border:0;margin:0;padding:18px}.season-fold-body>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:600px){.season-fold>summary{flex-wrap:wrap;gap:6px 10px}.season-fold>summary span{font-size:13px}.season-fold>summary span:last-child{margin-left:24px;width:100%}.season-fold-body{padding:12px}}

.dashboard-notices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.dashboard-notices>.card{min-width:0;overflow-wrap:anywhere}.birthday-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e3e3ed}.birthday-row>div:last-child{flex-shrink:0;text-align:right}@media(max-width:800px){.dashboard-notices{grid-template-columns:1fr;gap:0}}

.contract-document-icon{display:inline-block;padding:2px 10px;border:1px solid #552583;border-radius:5px;text-decoration:none;font-size:22px;vertical-align:middle}.document-preview{width:100%;height:75vh;border:1px solid #dedee8;border-radius:8px}
