/* FC Hilchenbach – responsive, local administration interface. */
:root{color-scheme:light;--bg:#f5f7f5;--surface:#fff;--surface-soft:#f7f9f7;--ink:#1b302a;--muted:#6a7b72;--line:#e4eae5;--green:#176448;--green-hover:#0f5039;--green-soft:#eaf4ed;--gold:#d9b766;--gold-soft:#fbf4e3;--shadow:0 6px 24px #17362905;--danger:#a33d3d;--danger-bg:#fcf0ef;--sidebar:#fff;--radius:16px;--ring:#b58a2b;font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.5}
:root[data-theme=dark]{color-scheme:dark;--bg:#111c18;--surface:#192822;--surface-soft:#203129;--ink:#edf3ee;--muted:#a4b5ab;--line:#304238;--green:#76c69b;--green-hover:#95d5b0;--green-soft:#203e2f;--gold:#e0bc6b;--gold-soft:#3a3421;--shadow:0 6px 24px #0001;--danger:#f1aaa6;--danger-bg:#3f2927;--sidebar:#16241e}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#111c18;--surface:#192822;--surface-soft:#203129;--ink:#edf3ee;--muted:#a4b5ab;--line:#304238;--green:#76c69b;--green-hover:#95d5b0;--green-soft:#203e2f;--gold:#e0bc6b;--gold-soft:#3a3421;--shadow:0 6px 24px #0001;--danger:#f1aaa6;--danger-bg:#3f2927;--sidebar:#16241e}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1{font-size:34px;line-height:1.16;letter-spacing:-1.35px;font-weight:700;margin-bottom:12px}h2{font-size:18px;line-height:1.35;letter-spacing:-.3px;margin-bottom:6px}h3{font-size:16px;line-height:1.4;letter-spacing:-.15px;margin-bottom:8px}p{margin-bottom:16px}small{font-size:12px}strong{font-weight:650}form{margin:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ring);outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid var(--green);outline-offset:1px}::selection{background:var(--green-soft)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:500;top:-60px;left:20px;padding:12px 20px;background:var(--ink);color:var(--surface);border-radius:0 0 8px 8px}.skip-link:focus{top:0}
.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:9px;min-height:42px;padding:10px 16px;font-size:13px;font-weight:600;line-height:1.35;text-align:center;transition:background .15s,border-color .15s,transform .15s;white-space:nowrap}.button:active{transform:translateY(1px)}.button.primary{background:var(--green);color:var(--surface)}:root[data-theme=dark] .button.primary{color:#10281b}.button.primary:hover{background:var(--green-hover)}.button.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.button.secondary:hover{background:var(--surface-soft);border-color:var(--muted)}.button.ghost{background:transparent;color:var(--muted)}.button.ghost:hover{background:var(--surface-soft);color:var(--green)}.button.gold{background:var(--gold);color:#183327}.button.gold:hover{background:#e6c988}.button.danger{background:var(--danger-bg);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 18%,transparent)}.button.small{min-height:34px;padding:7px 11px;font-size:12px}.button.small svg{width:17px;height:17px}.button.large{min-height:50px;font-size:14px}.button.full{display:flex;margin-top:20px;white-space:normal}.button-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.icon-button{padding:9px;min-width:40px;min-height:40px;background:transparent;color:var(--muted);border-radius:9px}.icon-button:hover{background:var(--surface-soft);color:var(--ink)}.icon-button.tiny{width:32px;min-width:32px;min-height:34px;padding:4px;font-size:18px}.text-link{color:var(--green);font-weight:600;font-size:12px;display:inline-flex;align-items:center;gap:7px;line-height:1.5}.text-link:hover{text-decoration:underline}.text-link svg{width:16px;height:16px}.eyebrow{display:block;font-size:10px;letter-spacing:1.65px;font-weight:750;color:var(--green);line-height:1.5;margin-bottom:10px}.eyebrow.light{color:#b4cbb8}.subtle,.hint{color:var(--muted)}.hint{font-size:12px;line-height:1.65;margin-bottom:0}.optional{color:var(--muted);font-weight:400;font-size:11px;margin-left:4px}.grow,.spacer{flex:1}.align-right{text-align:right}.badge{display:inline-flex;padding:4px 9px;border-radius:6px;font-size:10px;line-height:1.3;font-weight:650;white-space:nowrap}.badge.good{background:var(--green-soft);color:var(--green)}.badge.amber{background:var(--gold-soft);color:#896920}.badge.muted{background:var(--surface-soft);color:var(--muted)}:root[data-theme=dark] .badge.amber{color:var(--gold)}.live-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#79b68b;flex-shrink:0;box-shadow:0 0 0 4px #79b68b14}
/* Navigation */
.sidebar{position:fixed;inset:0 auto 0 0;width:247px;border-right:1px solid var(--line);background:var(--sidebar);z-index:20;display:flex;flex-direction:column;padding:31px 18px 22px;overflow-y:auto}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 40px}.brand img{height:45px;width:45px;object-fit:contain}.brand>span{font-size:17px;letter-spacing:-.4px;font-weight:750;line-height:1.3}.brand small{display:block;font-size:7px;letter-spacing:1.25px;font-weight:600;margin-top:6px;color:var(--muted)}.sidebar-section{font-size:9px;letter-spacing:1.8px;font-weight:700;color:#839187;padding:0 15px 13px}.main-nav{display:flex;flex-direction:column;gap:5px}.nav-link{display:flex;align-items:center;gap:12px;min-height:45px;padding:11px 14px;border-radius:9px;color:var(--muted);font-size:13px;font-weight:550;line-height:1.25}.nav-link:hover{color:var(--ink);background:var(--surface-soft)}.nav-link.active{background:var(--green-soft);color:var(--green);font-weight:650}.nav-link.active svg{stroke-width:2}.nav-count{margin-left:auto;font-size:10px;min-width:21px;text-align:center;background:var(--surface);padding:2px 5px;border-radius:4px}.nav-external{margin-left:auto;color:var(--muted)}.sidebar-bottom{margin-top:auto;padding-top:45px}.sidebar-bottom .nav-link{font-size:12px}.back-link{font-size:11px;color:var(--muted);display:block;padding:14px}.season-box{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;padding:17px 14px;display:flex;gap:11px;align-items:center;margin-top:22px}.season-box>div{font-size:10px;color:var(--muted)}.season-box strong{display:block;color:var(--ink);font-size:15px;letter-spacing:.3px}.season-symbol{font-size:12px;letter-spacing:1px;color:var(--line);font-weight:900;margin-left:auto}.app-shell{margin-left:247px;min-height:100vh}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 37px;background:var(--surface);gap:20px}.breadcrumb{font-size:11px;color:var(--muted)}.breadcrumb span{margin:0 12px;color:var(--line)}.breadcrumb strong{color:var(--ink);font-weight:500}.topbar-actions{display:flex;align-items:center;gap:15px}.user-chip{display:flex;gap:10px;align-items:center;font-size:11px;line-height:1.4}.user-chip small{font-size:9px;display:block;color:var(--muted);margin-top:2px}.avatar{display:inline-flex;align-items:center;justify-content:center;background:var(--green-soft);color:var(--green);height:35px;width:35px;border-radius:50%;font-weight:700;font-size:13px;flex-shrink:0}.avatar.large{width:45px;height:45px;font-size:18px}.mobile-menu,.mobile-nav{display:none}.hamburger{display:block;width:20px;height:14px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}.hamburger:before{content:'';position:absolute;left:0;right:0;top:5px;border-top:2px solid currentColor}
.main-content{max-width:1610px;margin:auto;padding:37px 37px 20px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:29px}.page-heading p{color:var(--muted);font-size:12px;margin-bottom:0}.page-heading .eyebrow{margin-bottom:8px;font-size:9px}.heading-actions{flex-shrink:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-bottom:24px}.panel-heading{padding:25px 26px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-heading h2{font-size:15px;margin-bottom:5px}.panel-heading p{font-size:11px;line-height:1.65;color:var(--muted);margin-bottom:0;max-width:720px}.panel.compact{padding:25px}.panel.compact h3{font-size:15px;line-height:1.45}.panel.compact p{font-size:12px;line-height:1.75;margin-bottom:18px}.section-caption{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted);margin:0 0 20px}.content-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;gap:20px;padding:23px 1px 5px;margin-top:20px}.notice{display:flex;align-items:flex-start;gap:12px;padding:15px 18px;border-radius:10px;background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 14%,transparent);color:var(--green);font-size:12px;margin-bottom:24px;line-height:1.7}.notice.error{background:var(--danger-bg);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 20%,transparent)}.notice.info{background:var(--surface);color:var(--muted);border-color:var(--line)}.notice>span{flex:1}.notice svg{margin-top:1px}.notice .icon-button{margin:-8px -9px -8px 0;min-height:32px;font-size:20px;color:inherit}.empty{text-align:center;padding:65px 25px 70px}.empty-icon{display:inline-flex;justify-content:center;align-items:center;width:56px;height:56px;border-radius:16px;background:var(--green-soft);color:var(--green);margin-bottom:18px}.empty-icon svg{width:25px;height:25px}.empty h3{font-size:15px;margin-bottom:7px}.empty p{font-size:12px;color:var(--muted);max-width:330px;margin:0 auto;line-height:1.7}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:28px}.stat-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:22px 21px;min-height:157px;box-shadow:var(--shadow)}.stat-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);gap:10px;line-height:1.5}.stat-label svg{width:18px;height:18px;color:var(--green);opacity:.8}.stat-card>strong{display:block;font-size:31px;line-height:1.2;letter-spacing:-1.1px;margin:14px 0 10px;font-weight:650;font-variant-numeric:tabular-nums}.stat-card em{font-style:normal;font-size:12px;letter-spacing:0;color:var(--muted);font-weight:400}.stat-card>small{font-size:9px;color:var(--muted);line-height:1.55;display:block}.stat-card.featured{background:#164e39;border-color:#164e39;color:#fff}.stat-card.featured .stat-label,.stat-card.featured small,.stat-card.featured svg{color:#c7d9c9}.stat-card.featured:after{content:'';position:absolute;right:20px;bottom:20px;width:25px;height:3px;border-radius:2px;background:var(--gold)}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:23px;align-items:start}.overview-grid>.panel{min-height:365px}.overview-grid .table-wrap{font-size:11px}.overview-grid .records th{font-size:9px}.overview-grid .records td{padding:17px 14px}.overview-grid .records th:first-child,.overview-grid .records td:first-child{padding-left:24px}.overview-grid .records td .row-secondary{font-size:10px}.overview-grid .records td:nth-child(2){white-space:nowrap}.overview-grid .records th:nth-child(3),.overview-grid .records td:nth-child(3){display:none}.overview-grid .row-actions .button{font-size:10px;padding:6px 8px}.overview-aside .panel{margin-bottom:0}.election-card{position:relative;background:#173e2e;color:#fff;border-radius:15px;padding:25px;margin-bottom:22px;overflow:hidden}.election-card:after{content:'';height:180px;width:180px;border:1px solid #6a9d7a25;border-radius:50%;position:absolute;right:-90px;top:-30px;pointer-events:none}.election-card h2{font-size:23px;letter-spacing:-.75px;line-height:1.28;margin-bottom:13px}.election-card p{font-size:11px;color:#c0d0c3;line-height:1.8;margin-bottom:24px;max-width:225px}.election-card .eyebrow{font-size:8px;letter-spacing:1.6px}.election-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #71947b55;background:#264f39;border-radius:12px;color:var(--gold);margin:23px 0 21px}.election-card .button{font-size:11px;width:100%;justify-content:space-between;padding:12px 14px}
label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:var(--ink);min-width:0}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:11px 12px;min-height:43px;font-size:12px;transition:border-color .15s}input::placeholder,textarea::placeholder{color:#95a196}select{padding-right:30px;cursor:pointer}textarea{resize:vertical;min-height:82px}label>small{font-size:10px;color:var(--muted);font-weight:400}input[type=checkbox]{width:17px;height:17px;min-height:17px;accent-color:var(--green);margin:0;flex-shrink:0;border-radius:4px}input[type=number]{font-variant-numeric:tabular-nums}.check{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:12px;font-weight:500;cursor:pointer}.check.inline{font-size:11px;white-space:nowrap}.form-stack{display:flex;flex-direction:column;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.padded-form{padding:5px 26px 26px}.padded-form.form-stack{padding-top:6px}.form-footer{margin-top:23px;border-top:1px solid var(--line);padding-top:21px;display:flex;align-items:center;justify-content:space-between;gap:20px}.form-footer p{font-size:11px;color:var(--muted);line-height:1.6;margin:0;max-width:450px}.filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:13px;padding:20px 25px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.filters label{min-width:130px;flex:1;max-width:240px;font-size:10px;font-weight:550}.filters label.grow,.filters label.search-field{max-width:none}.filters .search-field{min-width:180px;flex:1.5}.filters input,.filters select{min-height:39px;font-size:11px;background:var(--surface)}.filters .button{min-height:39px}.filter-reset{font-size:10px;color:var(--muted);padding-bottom:12px;white-space:nowrap}.filter-reset:hover{text-decoration:underline}.table-wrap{overflow-x:auto}.records{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.records th{background:var(--surface-soft);font-weight:550;letter-spacing:.3px;font-size:10px;padding:13px 19px;border-bottom:1px solid var(--line);color:var(--muted);white-space:nowrap}.records td{padding:19px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6}.records td:first-child,.records th:first-child{padding-left:25px}.records td:last-child,.records th:last-child{padding-right:25px}.records tbody tr:last-child td{border-bottom:0}.records tbody tr:hover{background:var(--surface-soft)}.records td:first-child{min-width:180px}.records td>strong{display:block}.row-secondary{display:block;font-size:11px;color:var(--muted);line-height:1.55;margin-top:4px;max-width:370px}.note{font-size:10px;color:var(--muted);display:block;margin-top:6px;max-width:330px;overflow-wrap:anywhere}.money-emphasis{font-weight:650;color:var(--green);white-space:nowrap;font-variant-numeric:tabular-nums}.row-actions{text-align:right;white-space:nowrap}.cancelled td{color:var(--muted);background:var(--surface-soft)}.cancelled td:first-child>strong{text-decoration:line-through}.list-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px 25px;font-size:11px;color:var(--muted);gap:15px}.list-toolbar strong{color:var(--ink)}
/* Payments */
.payment-form{padding:24px 26px}.checklist-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.checklist-title h3{font-size:13px;margin:0}.checklist-title h3 span{font-size:11px;font-weight:400}.payment-checklist{border:1px solid var(--line);border-radius:10px;overflow:hidden;max-height:400px;overflow-y:auto}.payment-choice{padding:15px 17px;border-bottom:1px solid var(--line);display:flex;flex-direction:row;align-items:center;gap:13px;font-weight:400;cursor:pointer}.payment-choice:last-child{border-bottom:0}.payment-choice:hover,.payment-choice:has(input:checked){background:var(--green-soft)}.payment-choice>span{flex:1}.payment-choice strong{font-size:12px}.payment-choice small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.payment-choice>strong{white-space:nowrap;font-variant-numeric:tabular-nums}.selection-total{display:flex;justify-content:space-between;align-items:center;padding:17px 0 24px;font-size:11px;color:var(--muted)}.selection-total strong{color:var(--green);font-size:17px}.preview-box{margin:25px;padding:25px;background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 25%,transparent);border-radius:12px}.preview-box h3{font-size:20px;margin:12px 0 5px}.preview-box>p{font-size:12px;color:var(--muted)}.allocation-list{padding:0;margin:15px 0 22px;list-style:none}.allocation-list li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px}.allocation-list small{display:block;color:var(--muted);font-size:10px}.allocation-list strong{white-space:nowrap;font-variant-numeric:tabular-nums}.payment-history{padding:0 25px 8px}.payment-record{padding:22px 0;border-bottom:1px solid var(--line)}.payment-record:last-child{border-bottom:0}.payment-record-head{display:flex;align-items:center;gap:13px}.record-icon{height:42px;width:42px;background:var(--green-soft);color:var(--green);border-radius:11px;display:flex;justify-content:center;align-items:center;flex-shrink:0}.payment-record-head .grow>strong{font-size:13px}.payment-record-head small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.payment-amount{display:block;font-size:18px;letter-spacing:-.4px;margin-bottom:4px;font-variant-numeric:tabular-nums}.payment-record>details{margin-top:14px;padding-left:55px}.payment-record summary{color:var(--muted);font-size:11px;cursor:pointer}.payment-record .allocation-list{margin-bottom:15px}.payment-record .subtle{font-size:11px;margin:10px 0}.reverse-form{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:flex-end;gap:12px}.reverse-form label{flex:1}.payment-record.reversed .payment-amount{text-decoration:line-through;color:var(--muted)}.payment-record.reversed .record-icon{background:var(--surface-soft);color:var(--muted)}
/* Team, catalogue and settings */
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:30px;align-items:start}.person-card{padding:23px;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.person-card-head{display:flex;align-items:center;gap:11px}.person-card-head>div{flex:1;min-width:0}.person-card-head h3{font-size:13px;margin:0 0 3px;overflow-wrap:anywhere}.person-card-head p{font-size:9px;color:var(--muted);margin:0;overflow-wrap:anywhere}.person-card-head .badge{font-size:8px}.person-card .avatar.large{height:37px;width:37px;font-size:15px}.person-balance{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin:19px 0 15px}.person-balance span{font-size:9px;color:var(--muted)}.person-balance strong{display:block;font-size:17px;color:var(--ink);letter-spacing:-.3px;margin-top:3px}.person-card .text-link{font-size:10px}.person-card.inactive{background:var(--surface-soft)}.account-controls{margin-top:18px;padding-top:13px;border-top:1px solid var(--line)}.account-controls summary{font-size:10px;color:var(--muted);cursor:pointer}.account-controls .form-stack{margin-top:18px;gap:13px}.account-controls .form-stack label{font-size:10px}.account-controls .hint{font-size:10px}.account-activation{margin-top:15px}.narrow-panel{max-width:900px}.catalogue-row{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding:20px 25px;transition:background .15s}.catalogue-row:hover{background:var(--surface-soft)}.catalogue-row.inactive{opacity:.65}.drag-handle{color:var(--muted);cursor:grab;font-size:22px;line-height:1;width:20px;text-align:center;touch-action:none}.dragging{opacity:.35}.drag-over{border-top:2px solid var(--green)}.rule-number{color:var(--muted);font-size:11px;width:24px;font-variant-numeric:tabular-nums}.catalogue-label{flex:1}.catalogue-label strong{font-size:12px;line-height:1.5}.catalogue-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.catalogue-price{text-align:right;min-width:130px}.catalogue-price strong{font-size:14px;white-space:nowrap}.catalogue-controls{display:flex;gap:5px;align-items:center;margin-left:12px}.catalogue-controls>.button{margin-left:8px}.audit-list{list-style:none;padding:0 25px;margin:0}.audit-list li{display:flex;gap:14px;align-items:flex-start;border-top:1px solid var(--line);padding:21px 0}.audit-dot{margin-top:6px;display:block;height:7px;width:7px;flex-shrink:0;background:var(--green);border-radius:50%}.audit-list li>div{flex:1;min-width:0}.audit-list strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.audit-list small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.audit-list time{font-size:10px;color:var(--muted);white-space:nowrap}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.7fr);gap:25px;max-width:1000px;align-items:start}.account-summary h2{margin-top:15px}.account-summary dl,.entry-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:12px;margin:24px 0}.account-summary dt,.entry-summary dt{color:var(--muted)}.account-summary dd,.entry-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.season-management{max-width:1000px}.season-list{padding:0 25px}.season-list>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:16px 0;gap:15px}.season-list>div>span{display:flex;gap:12px;align-items:center}.season-management .filters{border-top:1px solid var(--line);border-bottom:0}.season-management .filters label{flex:0 1 250px;max-width:none}
/* Drawers */
.drawer-backdrop{position:fixed;inset:0;background:#071b1373;z-index:100;display:flex;justify-content:flex-end;backdrop-filter:blur(2px)}.drawer{width:520px;max-width:100%;height:100%;background:var(--surface);box-shadow:-12px 0 60px #09201420;display:flex;flex-direction:column;animation:drawer-in .22s ease-out}.drawer-heading{padding:26px 30px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:20px}.drawer-heading .eyebrow{font-size:9px;margin-bottom:4px}.drawer-heading h2{font-size:23px;margin:0;letter-spacing:-.6px}.drawer-content{padding:28px 30px 40px;overflow-y:auto;overscroll-behavior:contain}.drawer .form-grid{gap:15px}.drawer-section{margin-top:27px;padding-top:24px;border-top:1px solid var(--line)}.drawer-section>h3{font-size:14px;margin-bottom:7px}.drawer-section>.subtle{font-size:11px;margin-bottom:18px;line-height:1.65}.drawer-section .form-stack{gap:14px}.drawer-section .button{align-self:flex-start}.drawer .fine-preview{background:var(--green-soft);padding:18px 20px;border-radius:10px;margin-top:4px}.fine-preview>span{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--green);gap:20px}.fine-preview strong{font-size:24px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.fine-preview small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.entry-summary>h3{font-size:21px}.entry-summary>p{font-size:13px}.drawer-open{overflow:hidden}.entry-summary .hint{font-size:11px}
/* Login */
.login-layout{min-height:100vh;display:grid;grid-template-columns:1.04fr 1fr}.login-story{min-height:100vh;position:relative;overflow:hidden;background:#123e2b;color:white;padding:37px 10% 32px;display:flex;flex-direction:column}.portal-link{font-size:11px;color:#c1d0c3;align-self:flex-start}.portal-link:hover{color:#fff}.login-brand{display:flex;gap:17px;align-items:center;margin-top:58px;position:relative;z-index:1}.login-brand img{width:60px;height:65px;object-fit:contain}.login-brand>span{font-size:22px;letter-spacing:.3px;font-weight:750}.login-brand small{font-size:7px;letter-spacing:1.8px;display:block;margin-top:8px;font-weight:500;color:#bdd0c1}.login-headline{position:relative;z-index:1;margin-top:100px;margin-bottom:120px}.login-headline .eyebrow{font-size:9px;letter-spacing:1.75px;margin-bottom:18px}.login-headline h1{font-size:clamp(43px,4.4vw,67px);font-weight:650;letter-spacing:-2.8px;line-height:1.08;margin-bottom:25px}.login-headline p{color:#c5d4c8;font-size:13px;max-width:320px;line-height:1.8}.login-footer{position:relative;z-index:1;display:flex;align-items:center;gap:12px;font-size:10px;color:#c3d4c6;margin-top:auto}.pitch-art{position:absolute;right:-125px;bottom:-90px;transform:rotate(-22deg);height:480px;width:400px;border:1px solid #a3c0a521;border-radius:3px;background:repeating-linear-gradient(90deg,#70947807 0,#70947807 50px,transparent 50px,transparent 100px)}.pitch-art:before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:#a3c0a521}.pitch-art:after{content:'';position:absolute;top:0;left:80px;width:230px;height:80px;border:1px solid #a3c0a521;border-top:0}.pitch-circle{width:110px;height:110px;position:absolute;left:calc(50% - 55px);top:calc(50% - 55px);border-radius:50%;border:1px solid #a3c0a521}.pitch-center{height:5px;width:5px;border-radius:50%;position:absolute;left:calc(50% - 2.5px);top:calc(50% - 2.5px);background:#a3c0a530}.login-panel{position:relative;padding:60px 14%;display:flex;align-items:center;justify-content:center;background:var(--surface)}.login-form{max-width:365px;width:100%}.login-form .eyebrow{font-size:9px;margin-bottom:11px}.login-form h2{font-size:28px;letter-spacing:-.9px;line-height:1.3;margin-bottom:12px}.login-form>.subtle{font-size:12px;line-height:1.7;margin-bottom:33px}.login-form .form-stack{gap:20px}.login-form input{min-height:48px;font-size:13px}.login-form .button{margin-top:7px;justify-content:space-between;padding-left:18px;padding-right:18px}.login-help{margin-top:30px;border-top:1px solid var(--line);padding-top:25px;display:flex;gap:12px;color:var(--muted)}.login-help svg{width:18px;height:18px;margin-top:2px;color:var(--green)}.login-help p{font-size:10px;line-height:1.8;margin:0}.login-theme{position:absolute;top:30px;right:30px}.login-form .notice{font-size:11px;margin-top:-10px}.print-heading{display:flex;align-items:center;gap:20px;margin-bottom:30px}.print-heading img{width:58px}.print-heading h1{font-size:26px}.print-heading p{font-size:12px;color:var(--muted);margin-bottom:0}.print-heading>div{flex:1}.print-heading .eyebrow{margin-bottom:5px}.print-description{font-size:11px;color:var(--muted)}
@keyframes drawer-in{from{transform:translateX(40px);opacity:.5}to{transform:translateX(0);opacity:1}}
@media(min-width:1700px){.main-content{padding-top:47px}.page-heading h1{font-size:40px}.stats-grid{margin-bottom:34px}.stat-card{padding:28px;min-height:175px}.stat-card>strong{font-size:36px}.overview-grid{grid-template-columns:minmax(0,1fr) 330px}.election-card{padding:30px}.election-card h2{font-size:28px}.election-card p{font-size:12px}.election-card .button{font-size:12px}.panel-heading{padding-top:28px;padding-bottom:23px}}
@media(max-width:1280px){.sidebar{width:222px;padding-left:13px;padding-right:13px}.app-shell{margin-left:222px}.brand{gap:8px}.brand>span{font-size:15px}.brand small{font-size:6px}.brand img{width:39px;height:43px}.main-content{padding:30px 27px 20px}.topbar{padding:0 27px}.stats-grid{gap:13px}.stat-card{padding:20px 16px}.stat-card>strong{font-size:26px}.stat-label{font-size:10px}.stat-card>small{font-size:8px}.overview-grid{grid-template-columns:minmax(0,1fr) 245px;gap:20px}.election-card{padding:23px}.election-card h2{font-size:22px}.overview-grid .records th:nth-child(2),.overview-grid .records td:nth-child(2){display:none}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-controls{margin-left:0}.catalogue-price{min-width:100px}.catalogue-row{gap:12px;padding-left:20px;padding-right:20px}.catalogue-label strong{font-size:11px}.login-panel{padding:60px 11%}.login-headline{margin-top:85px}}
@media(max-width:1020px){.sidebar{width:200px;padding-left:10px;padding-right:10px}.app-shell{margin-left:200px}.brand{padding-left:6px;padding-right:3px}.brand>span{font-size:13px}.brand small{font-size:5px;letter-spacing:1px}.brand img{width:34px;height:40px}.nav-link{gap:9px;font-size:12px;padding-left:12px;padding-right:12px}.sidebar-bottom .nav-link{font-size:10px}.main-content{padding:28px 24px 20px}.topbar{padding:0 24px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:140px;padding:20px}.stat-card>strong{font-size:30px}.stat-label{font-size:11px}.stat-card>small{font-size:10px}.overview-grid{grid-template-columns:minmax(0,1fr)}.overview-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.overview-aside .panel{margin-bottom:22px}.election-card h2{font-size:24px}.election-icon{margin-top:15px;margin-bottom:15px}.overview-grid>.panel{min-height:320px;margin-bottom:0}.overview-grid .records th:nth-child(2),.overview-grid .records td:nth-child(2){display:table-cell}.page-heading{align-items:flex-start}.page-heading h1{font-size:29px}.page-heading .button{font-size:11px;padding:10px 12px}.heading-actions{padding-top:15px}.settings-grid{grid-template-columns:minmax(0,1fr) minmax(220px,.7fr)}.catalogue-row{flex-wrap:wrap}.catalogue-label{flex-basis:50%}.catalogue-controls{margin-left:auto}.catalogue-price{margin-left:60px;text-align:left}.login-story{padding-left:11%;padding-right:9%}.login-brand{gap:12px}.login-brand>span{font-size:17px}.login-brand small{font-size:6px;letter-spacing:1.25px}.login-brand img{width:45px;height:50px}.login-headline h1{font-size:49px}.login-headline p{font-size:12px}.login-form h2{font-size:25px}.login-panel{padding-left:12%;padding-right:12%}}
@media(max-width:760px){.sidebar{display:none}.app-shell{margin-left:0}.topbar{height:70px;padding:0 20px;gap:10px}.mobile-menu{display:inline-flex;margin-left:-8px}.breadcrumb{display:none}.topbar-actions{gap:10px;margin-left:auto}.user-chip{font-size:10px;gap:8px}.user-chip small{font-size:8px}.avatar{width:32px;height:32px;font-size:12px}.topbar-actions>.icon-button{width:35px;min-width:35px}.topbar-actions form .icon-button{margin-right:-8px}.mobile-nav{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border-bottom:1px solid var(--line);padding:14px 16px;gap:5px;position:relative;z-index:21}.mobile-nav .nav-link{font-size:12px;padding:12px}.main-content{padding:27px 20px 18px}.page-heading{margin-bottom:25px;gap:15px}.page-heading h1{font-size:29px;letter-spacing:-1px;margin-bottom:10px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.25px}.page-heading p{font-size:11px;line-height:1.7}.page-heading .button{font-size:11px;min-height:40px}.heading-actions{padding-top:7px}.heading-actions .button svg{height:16px;width:16px}.stats-grid{gap:13px;margin-bottom:23px}.stat-card{padding:19px;min-height:146px}.stat-label{font-size:10px;gap:7px}.stat-label svg{width:16px;height:16px}.stat-card>strong{font-size:30px;margin-top:16px}.stat-card>small{font-size:9px}.stat-card em{font-size:10px}.overview-grid{gap:22px}.panel-heading{padding:22px 20px 19px}.panel-heading h2{font-size:14px}.panel-heading p{font-size:10px}.panel-heading .text-link{font-size:10px;white-space:nowrap}.panel.compact{padding:24px}.overview-aside{gap:16px}.election-card{padding:24px}.election-card h2{font-size:23px}.election-card .eyebrow{font-size:7px}.election-card p{font-size:11px}.filters{padding:18px 20px;gap:12px}.filters label{min-width:calc(50% - 12px);max-width:none;flex:1}.filters .search-field{flex-basis:100%}.filters .filter-reset{margin-left:auto}.list-toolbar{padding:13px 20px}.records td:first-child,.records th:first-child{padding-left:20px}.records td:last-child,.records th:last-child{padding-right:20px}.team-grid{gap:14px}.person-card{padding:20px}.person-card-head{flex-wrap:wrap}.person-card-head .badge{margin-left:auto}.person-card-head .avatar{display:none}.person-card-head h3{font-size:12px}.person-balance strong{font-size:16px}.person-balance span{font-size:8px}.settings-grid{grid-template-columns:1fr}.account-summary{display:none}.payment-form{padding:20px}.payment-history{padding:0 20px 5px}.preview-box{margin:20px;padding:20px}.form-footer{align-items:flex-start}.form-footer p{font-size:10px}.payment-create .panel-heading{align-items:flex-start}.payment-create .panel-heading .badge{display:none}.checklist-title h3 span{display:block;font-size:9px;margin-top:3px}.payment-choice{padding:14px}.payment-choice strong{font-size:11px}.payment-choice small{font-size:9px}.payment-record-head strong{font-size:12px}.payment-record-head .payment-amount{font-size:17px}.reverse-form{flex-direction:column;align-items:stretch}.reverse-form .button{align-self:flex-start}.section-caption{font-size:10px;align-items:flex-start}.catalogue-row{padding:18px 20px;gap:10px}.catalogue-label{flex-basis:calc(100% - 77px)}.catalogue-label strong{font-size:12px}.catalogue-price{margin-left:58px;min-width:60px;flex:1}.catalogue-controls .button{font-size:10px}.catalogue-controls .icon-button{min-height:36px}.audit-list{padding:0 20px}.audit-list li{flex-wrap:wrap;gap:10px}.audit-list time{margin-left:17px;flex-basis:100%;font-size:9px}.audit-list strong{font-size:11px}.audit-list small{font-size:9px}.season-list{padding:0 20px}.season-list>div{gap:10px}.season-list>div>span{gap:8px;font-size:12px}.season-list .button{font-size:10px}.season-list .badge{font-size:8px}.content-footer{font-size:8px;line-height:1.6;margin-top:14px}.notice{font-size:11px;padding:14px;margin-bottom:22px}.notice>svg{width:17px;height:17px}.padded-form{padding:2px 20px 22px}.login-layout{grid-template-columns:1fr;min-height:100vh}.login-story{min-height:0;padding:22px 8% 35px}.portal-link{font-size:10px}.login-brand{margin-top:27px;gap:13px}.login-brand img{width:42px;height:46px}.login-brand>span{font-size:18px}.login-brand small{font-size:6px;letter-spacing:1.4px}.login-headline{margin:35px 0 0}.login-headline .eyebrow{display:none}.login-headline h1{font-size:42px;letter-spacing:-1.9px;line-height:1.08;margin-bottom:13px}.login-headline p{font-size:11px;max-width:300px;margin-bottom:0}.login-footer{display:none}.pitch-art{height:330px;width:260px;bottom:-50px;right:-90px}.login-panel{padding:42px 8% 40px}.login-form{max-width:420px}.login-form h2{font-size:25px}.login-theme{top:18px;right:20px}.login-form .eyebrow{font-size:8px}.login-form>.subtle{font-size:11px;margin-bottom:26px}.login-form .form-stack{gap:17px}.login-help{margin-top:24px;padding-top:22px}.drawer{width:490px}.drawer-heading{padding:23px 24px}.drawer-content{padding:25px 24px 35px}.print-heading{gap:15px;flex-wrap:wrap}.print-heading h1{font-size:24px}.print-heading img{width:45px}.print-heading .button{margin-left:60px}}
@media(max-width:540px){.page-heading{flex-direction:column;gap:16px}.heading-actions{padding-top:0;width:100%}.heading-actions .button{width:100%;min-height:43px;font-size:12px}.stats-grid{gap:10px}.stat-card{padding:16px 14px;min-height:143px}.stat-label{font-size:9px;align-items:flex-start;line-height:1.5}.stat-label svg{width:15px;height:15px}.stat-card>strong{font-size:25px;letter-spacing:-.8px;margin-top:17px;margin-bottom:9px}.stat-card em{font-size:9px;letter-spacing:0}.stat-card>small{font-size:8px;line-height:1.6;max-width:145px}.stat-card.featured:after{width:16px;right:14px;bottom:15px}.overview-aside{grid-template-columns:1fr}.overview-aside .panel{margin-bottom:0}.election-card{padding:25px}.election-icon{float:right;margin:0 0 0 15px}.election-card h2{margin-top:20px;font-size:28px}.election-card p{max-width:260px;font-size:11px}.election-card .button{width:auto;min-width:190px;gap:20px}.election-card:after{width:260px;height:260px;right:-125px;top:-60px}.overview-grid>.panel{min-height:310px}.panel-heading{gap:10px}.panel-heading .text-link{font-size:9px;gap:3px}.panel-heading .text-link svg{width:13px;height:13px}.panel-heading p{font-size:9px}.empty{padding:47px 20px 55px}.empty p{font-size:11px}.empty h3{font-size:14px}.filters label{font-size:10px}.filters select,.filters input{font-size:11px}.filters .button{font-size:11px}.table-wrap{overflow:visible}.records{display:block}.records thead{display:none}.records tbody{display:block}.records tr{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:20px;border-bottom:1px solid var(--line)}.records tbody tr:last-child{border-bottom:0}.records td,.records td:first-child,.records td:last-child{display:block;border:0;padding:7px 0;min-width:0;font-size:12px;line-height:1.5}.records td:first-child{grid-column:1/-1;padding-top:0;padding-bottom:10px}.records td:first-child>strong{font-size:14px}.records td[data-label]:not(:first-child):before{content:attr(data-label);display:block;font-size:9px;color:var(--muted);font-weight:400;letter-spacing:.2px;margin-bottom:4px}.records td .row-secondary{font-size:11px;max-width:100%;margin-top:4px}.records .money-emphasis{font-size:16px}.records td:nth-child(5){grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:12px}.records td:nth-child(5):before{flex-basis:100%;margin-bottom:0}.records td:nth-child(5) .row-secondary{margin:0;font-size:10px}.records .row-actions{grid-column:1/-1;text-align:left;padding-top:12px}.records .row-actions .button{width:100%;font-size:11px;min-height:36px}.overview-grid .records td{padding:7px 0}.overview-grid .records td:first-child{padding:0 0 10px}.overview-grid .records td:nth-child(2){display:block}.overview-grid .records td:nth-child(3){display:none}.overview-grid .records td:nth-child(4){font-size:16px}.overview-grid .records td:nth-child(5){font-size:10px;grid-column:1/-1;display:flex;padding-top:12px}.overview-grid .records td .row-secondary{font-size:11px}.overview-grid .records .row-actions{padding-top:13px}.overview-grid .records .row-actions .button{font-size:11px}.team-grid{grid-template-columns:1fr;gap:16px}.person-card{padding:23px}.person-card-head{flex-wrap:nowrap}.person-card-head .avatar{display:flex}.person-card-head h3{font-size:13px}.person-card-head p{font-size:10px}.person-balance strong{font-size:19px}.person-balance span{font-size:10px}.person-card .text-link{font-size:11px}.form-grid{grid-template-columns:1fr;gap:17px}.form-grid>span:empty{display:none}.drawer .form-grid{grid-template-columns:1fr 1fr;gap:13px}.drawer .form-grid label{font-size:11px}.form-footer{flex-direction:column;align-items:stretch;gap:15px}.form-footer p{font-size:11px}.form-footer .button{width:100%}.payment-choice{gap:10px;padding:13px 12px}.payment-choice>strong{font-size:11px}.payment-choice small{font-size:8px}.payment-record-head{gap:10px}.payment-record-head .record-icon{width:35px;height:35px}.record-icon svg{width:17px;height:17px}.payment-record-head .grow>strong{font-size:12px}.payment-record-head small{font-size:9px}.payment-record-head .payment-amount{font-size:16px}.payment-record-head .badge{font-size:8px}.payment-record>details{padding-left:45px}.allocation-list li{font-size:10px;gap:10px}.allocation-list small{font-size:9px}.preview-box .button{width:100%;white-space:normal;font-size:11px}.preview-box h3{font-size:18px}.checklist-title{gap:12px}.checklist-title h3{font-size:12px}.checklist-title .check{font-size:9px}.selection-total{font-size:10px}.selection-total strong{font-size:16px}.catalogue-row{padding:17px 18px;gap:9px}.catalogue-label{flex-basis:calc(100% - 75px)}.catalogue-label strong{font-size:11px}.catalogue-label small{font-size:9px}.catalogue-price{margin-left:54px;min-width:50px}.catalogue-price strong{font-size:13px}.catalogue-price small{font-size:9px;max-width:140px}.catalogue-controls{gap:2px}.catalogue-controls .button{font-size:9px;padding:7px;margin-left:4px}.catalogue-controls .icon-button{min-width:28px;width:28px}.catalogue-row .drag-handle{font-size:20px}.catalogue-row .rule-number{font-size:10px}.season-list>div{flex-wrap:wrap}.season-list>div>.button-group{margin-left:auto}.season-list .button{font-size:9px}.section-caption{font-size:9px;line-height:1.65}.section-caption>span:last-child{max-width:180px;text-align:right}.drawer{width:100%}.drawer-heading{padding:22px}.drawer-content{padding:23px 22px 35px}.drawer-heading h2{font-size:23px}.drawer .button-group>.button{flex:1}.drawer .form-stack>.button-group{margin-top:3px}.drawer .hint{font-size:11px}.drawer .full{font-size:11px}.fine-preview strong{font-size:23px}.print-heading .button{margin-left:0;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{:root,:root[data-theme]{color-scheme:light;--surface:#fff;--surface-soft:#f5f5f5;--bg:#fff;--ink:#111;--muted:#555;--line:#ddd;--green:#174e37;--green-soft:#eff5f0;--gold-soft:#f5f1e5}body{font-size:10pt;background:white;color:black}.no-print,.sidebar,.topbar,.mobile-nav,.skip-link,.content-footer,.drawer-backdrop{display:none!important}.app-shell{margin:0}.main-content{max-width:none;padding:0}.panel{box-shadow:none;border:1px solid #ddd;border-radius:0;overflow:visible}.table-wrap{overflow:visible}.records{display:table;width:100%;font-size:8pt}.records thead{display:table-header-group}.records tbody{display:table-row-group}.records tr{display:table-row;padding:0;break-inside:avoid}.records th,.records td,.records td:first-child,.records td:last-child,.overview-grid .records td{display:table-cell!important;padding:8px!important;border-bottom:1px solid #ddd}.records td:before{display:none!important}.records th{font-size:8pt;white-space:normal}.records td .row-secondary{font-size:7pt}.records td:first-child>strong{font-size:8pt}.records .money-emphasis{font-size:8pt;color:black}.badge{font-size:7pt;border:1px solid #ddd;background:#fff!important;color:#333!important}.print-heading{margin:0 0 20px}.print-heading h1{font-size:19pt}.print-heading p,.print-description,.print-note{font-size:8pt}.print-heading img{height:50px;width:auto}.print-note{margin-top:18px}.notice{display:none}.empty{padding:30px}.print-note,.print-description{color:#444}a[href]:after{content:none}@page{size:A4 landscape;margin:14mm}}
