:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172c28;background:#f3f6f5;font-size:16px;--green:#124a3b;--green-dark:#093d30;--muted:#5f716d;--line:#dce5e1;--soft:#eaf2ee;--gold:#a27821}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b18b39;outline-offset:3px}a{color:var(--green);text-underline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;letter-spacing:-.045em;font-weight:650;margin-bottom:.5rem}h2{font-size:1.15rem;letter-spacing:-.02em}h3{font-size:1rem}p{line-height:1.6}small,.muted{color:var(--muted)}small{font-size:.875rem}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;background:linear-gradient(145deg,#eef4f0 0%,#f7f9f8 65%)}.login-card{width:min(100%,420px);background:white;padding:2.5rem;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 50px #183e3010}.login-card h1{font-family:Georgia,serif;font-size:1.75rem;letter-spacing:-.04em;margin-top:1.5rem}.monogram{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--green);color:white;font-family:Georgia,serif;font-size:24px;flex-shrink:0}.login-card>p{color:var(--muted)}.login-footer{text-align:center;font-size:.875rem;margin:1.5rem 0 0;color:var(--muted)}label{display:flex;flex-direction:column;gap:.45rem;font-size:.875rem;font-weight:550;margin-bottom:1.1rem}input,select,textarea{width:100%;border:1px solid #bfcfc7;background:white;color:#172c28;border-radius:7px;padding:.7rem .8rem;min-height:44px}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:18px;min-height:18px;margin:0;accent-color:var(--green)}.check{flex-direction:row;align-items:center}.primary,.secondary,.ghost,.danger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:7px;min-height:42px;padding:.65rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap}.primary{background:var(--green);border:1px solid var(--green);color:#fff}.primary:hover{background:var(--green-dark)}.secondary{background:white;border:1px solid var(--line);color:var(--green)}.secondary:hover,.ghost:hover{background:var(--soft)}.ghost{background:transparent;border:1px solid transparent;color:var(--green)}.danger{background:#fff3f0;border:1px solid #e4b6ae;color:#972e25}.full{width:100%}.error{color:#a12d25;background:#fff0ee;border-radius:6px;padding:.75rem;font-size:.875rem;margin:.6rem 0}.error:empty{display:none}.notice{background:#edf4f0;border:1px solid #cfdfd5;border-radius:8px;padding:1rem;font-size:.875rem;line-height:1.5}.demo-bar{background:#f8edd0;color:#59471b;padding:.65rem 1rem;font-size:.875rem;text-align:center;border-bottom:1px solid #e6d6ac}.demo-hint{margin-top:1.4rem;padding:1rem;background:#f8f4e8;border:1px solid #eadfbe;border-radius:8px;font-size:.875rem;line-height:1.6}.demo-hint p{margin:.4rem 0}.layout{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:1.75rem 1rem;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:.75rem;padding:0 .6rem 2rem}.brand strong{font-family:Georgia,serif;font-weight:500;font-size:1.05rem;display:block}.brand small{display:block;margin-top:.2rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.nav-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#72817c;padding:.8rem .9rem}.nav{display:grid;gap:.3rem}.nav button{display:flex;align-items:center;text-align:left;gap:.8rem;padding:.8rem 1rem;border:0;background:transparent;border-radius:8px;font-size:.875rem;color:#475e55;font-weight:550}.nav button.active{background:var(--soft);color:var(--green)}.nav button.active:before{content:"";width:3px;height:18px;background:var(--green);border-radius:4px;margin-left:-9px;margin-right:6px}.nav svg{width:19px;height:19px;flex-shrink:0}.side-bottom{margin-top:auto;padding:1.5rem .65rem 0}.side-bottom p{font-size:.8rem;line-height:1.6;margin:.5rem 0}.cloud-status{font-size:.8rem;font-weight:600;color:var(--green)}.topbar{height:78px;border-bottom:1px solid var(--line);background:#ffffffd9;display:flex;justify-content:space-between;align-items:center;padding:0 2.5rem;gap:1rem}.breadcrumb{font-size:.875rem;color:var(--muted)}.user-info{display:flex;align-items:center;gap:.6rem;font-size:.875rem}.avatar{width:34px;height:34px;background:#e5ede9;border-radius:50%;display:grid;place-items:center;color:var(--green);font-weight:600}.main{padding:2rem 2.5rem;max-width:1550px;margin:0 auto}.page-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}.page-title p{margin:0;color:var(--muted);font-size:.9rem}.eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);font-weight:650;margin-bottom:.65rem}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:1.35rem}.stat span{font-size:.875rem;color:var(--muted)}.stat strong{display:block;font-size:2.25rem;letter-spacing:-.055em;margin:.45rem 0 .15rem;font-weight:550}.stat small{font-size:.75rem}.grid-two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:1.4rem}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-header{padding:1.3rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:1rem}.panel-header h2{margin:0}.panel-body{padding:1.5rem}.toolbar{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:1.25rem}.search{max-width:340px;flex:1;min-width:170px}.toolbar select{width:auto;min-width:150px}.tabs{display:flex;gap:.3rem;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 .85rem;margin-bottom:1.2rem}.tabs button{background:transparent;border:0;border-radius:6px;color:#536a60;padding:.55rem .85rem;font-size:.875rem}.tabs button.active{background:var(--green);color:white}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.875rem;white-space:nowrap;text-align:left}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.075em;font-weight:600;color:#63756d;background:#f9fbfa;padding:1rem 1.3rem;border-bottom:1px solid var(--line)}td{padding:1rem 1.3rem;border-bottom:1px solid #e9eeeb;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfb}.person-name{display:flex;align-items:center;gap:.75rem}.person-name button{border:0;background:none;padding:0;text-align:left;font-weight:600;color:#193d2e}.person-name small{display:block;font-weight:400;margin-top:.3rem;font-size:.8rem}.badge{display:inline-flex;align-items:center;border-radius:5px;background:#edf3ef;color:#22533f;font-size:.75rem;padding:.25rem .5rem;font-weight:550}.badge.gold{background:#f8f0db;color:#775b20}.badge.gray{background:#edf0f1;color:#596965}.badge.red{background:#fbece8;color:#91392f}.empty{padding:3rem 1.5rem;text-align:center;color:var(--muted);white-space:normal}.empty h3{color:#243e32;margin-bottom:.5rem}.empty p{font-size:.9rem;margin-bottom:0}.row-actions{display:flex;gap:.4rem;align-items:center}.row-actions button,.row-actions a{min-height:34px;padding:.35rem .55rem}.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:1rem 0;border-bottom:1px solid #e8efeb;display:flex;align-items:flex-start;gap:.8rem}.timeline li:first-child{padding-top:0}.timeline li:last-child{border:0;padding-bottom:0}.timeline-icon{width:34px;height:34px;border-radius:50%;background:#f2eddc;color:var(--gold);display:grid;place-items:center;flex-shrink:0}.timeline p{margin:0;font-size:.875rem}.timeline small{display:block;margin-top:.3rem;font-size:.8rem}.pair-card{background:var(--green);color:white;padding:1.5rem;border-radius:10px}.pair-card .year{font-family:Georgia,serif;font-size:3.5rem;color:#e2d0a2;line-height:1;margin:.5rem 0 1.5rem}.pair-card p{margin:.8rem 0;font-size:1rem}.pair-card small{color:#c8dcd1}.pair-card .secondary{margin-top:1rem;background:transparent;border-color:#6b8c7b;color:white}.section-gap{margin-top:1.5rem}.royal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:1.2rem}.royal{padding:1.5rem}.royal-year{font-family:Georgia,serif;font-size:2.5rem;letter-spacing:-.04em;color:var(--green)}.royal-person{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.royal-person strong{display:block}.royal-person small{display:block;margin:.3rem 0;white-space:normal}.detail-grid,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.25rem}.wide{grid-column:1/-1}.detail-grid dt{font-size:.8rem;color:var(--muted);margin:.6rem 0 .3rem}.detail-grid dd{margin:0 0 .7rem;overflow-wrap:anywhere}.inline-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.inline-head h2{margin:0}.detail-hero{display:flex;gap:1rem;align-items:center;padding-bottom:1.5rem}.detail-hero .avatar{width:64px;height:64px;font-size:1.4rem}.detail-hero h2{font-size:1.4rem;margin:.2rem 0 .5rem}dialog{width:min(780px,calc(100vw - 2rem));max-height:90vh;padding:0;border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 90px #082c3240;color:#172c28}dialog::backdrop{background:#142a245c;backdrop-filter:blur(2px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:1}.modal-header h2{margin:0}.modal-content{padding:1.5rem}.form-actions{display:flex;justify-content:flex-end;gap:.7rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:.5rem}.court-row{border:1px solid var(--line);border-radius:8px;padding:1rem;margin-bottom:1rem;background:#fafcfb}.court-row .new-person{border-top:1px solid var(--line);padding-top:1rem;margin-top:.5rem}.court-row .row-actions{justify-content:space-between}.secret{display:block;overflow-wrap:anywhere;background:#eef3ef;padding:1rem;border-radius:8px;letter-spacing:.06em;margin:1rem 0;font-family:monospace;font-size:1rem}.recovery{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;font-family:monospace;font-size:.9rem;margin:1rem 0}.folder-name{display:flex;align-items:center;gap:.65rem}.folder-name svg{color:#b18939;width:22px;height:22px}.folder-name button{border:0;background:none;color:var(--green);font:inherit;font-weight:550;padding:0}.breadcrumbs{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1.3rem;font-size:.875rem}.breadcrumbs button{background:none;border:0;color:var(--green);padding:.3rem}.file-note{font-size:.875rem;color:var(--muted);margin-bottom:1rem}.mono{font-family:monospace;overflow-wrap:anywhere;white-space:normal}.desktop-only{display:inline}#toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);max-width:90vw;background:var(--green-dark);color:white;border-radius:8px;padding:1rem 1.5rem;box-shadow:0 10px 40px #0002;z-index:10;display:none;font-size:.875rem}#toast.visible{display:block}.loading{padding:3rem;text-align:center;color:var(--muted)}.mobile-menu{display:none}.table-footer{border-top:1px solid var(--line);padding:.8rem 1.3rem;font-size:.8rem;color:var(--muted)}
@media(max-width:1100px){.layout{grid-template-columns:210px minmax(0,1fr)}.main{padding:1.5rem}.topbar{padding:0 1.5rem}.stats{gap:.7rem}.stat{padding:1rem}.grid-two{grid-template-columns:1fr}.sidebar{padding:1.5rem .7rem}.brand{gap:.5rem;padding-left:0;padding-right:0}}
@media(max-width:760px){.layout{display:block}.sidebar{position:relative;height:auto;padding:1rem;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0 0 1rem}.nav{display:flex;overflow:auto;gap:.3rem}.nav button{white-space:nowrap;padding:.7rem}.nav-label,.side-bottom,.nav button.active:before{display:none}.nav svg{display:none}.topbar{height:60px;padding:0 1rem}.desktop-only{display:none}.main{padding:1.25rem 1rem}.page-title{align-items:flex-start;flex-wrap:wrap}.page-title h1{font-size:1.7rem}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.stat strong{font-size:1.9rem}.form-grid,.detail-grid{grid-template-columns:1fr}.wide{grid-column:auto}.toolbar{align-items:stretch}.search{max-width:none}.login-card{padding:2rem 1.5rem}.modal-content{padding:1rem}.modal-header{padding:1rem}.royal-grid{grid-template-columns:1fr}.recovery{grid-template-columns:1fr}.user-info .ghost{padding:.5rem}.breadcrumb{font-size:.8rem}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s}.panel,.stat{animation:arrive .2s ease-out}@keyframes arrive{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:none}}}
@media print{.sidebar,.topbar,.demo-bar,button,.toolbar,.tabs{display:none!important}.layout{display:block}.main{padding:0}.panel{break-inside:avoid}.stats{grid-template-columns:repeat(4,1fr)}body{background:white}}
/* Vereinskalender */
.calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.2rem;border-bottom:1px solid var(--line)}.calendar-controls h2{margin:0;font-size:1.25rem;min-width:11rem;text-align:center}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:#f5f8f6;color:var(--muted);text-align:center;padding:.7rem 0;font-size:.875rem}.calendar-cell{min-height:120px;border-right:1px solid var(--line);border-top:1px solid var(--line);padding:.45rem;min-width:0}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.outside{background:#f8faf9}.calendar-cell.outside .calendar-day{color:#8b9691}.calendar-day{border:0;background:none;color:var(--green);border-radius:50%;width:32px;height:32px;padding:0;font-weight:600}.calendar-today .calendar-day{background:var(--green);color:white}.calendar-event{display:block;width:100%;border:0;border-left:3px solid #b08b3d;background:#edf4ef;color:var(--green);border-radius:4px;margin:.25rem 0;padding:.35rem;text-align:left;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:30px}.calendar-more{border:0;background:none;padding:.3rem;color:var(--green);font-size:.8rem}.is-cancelled{opacity:.72;text-decoration:line-through}.calendar-list{padding:0 1.25rem}.calendar-list-item{display:flex;flex-direction:column;gap:.5rem;width:100%;text-align:left;padding:1.2rem .25rem;border:0;border-bottom:1px solid var(--line);background:white;border-radius:0;color:var(--ink);font-size:1rem;overflow-wrap:anywhere}.calendar-list-item:last-child{border-bottom:0}.calendar-list-item:hover{background:#f5f9f6}.calendar-list-item strong{color:var(--green)}.calendar-list-item span{font-size:.875rem;color:var(--muted)}.calendar-list-item .calendar-date{color:#886728}.calendar-description{white-space:pre-wrap;overflow-wrap:anywhere}#calendar-link{font-family:monospace;font-size:.8rem}
@media(max-width:760px){.calendar-controls{padding:.8rem;gap:.7rem}.calendar-controls .row-actions{flex-wrap:wrap}.calendar-controls h2{font-size:1.1rem;min-width:9rem}.calendar-cell{min-height:80px;padding:.15rem}.calendar-day{width:28px;height:28px}.calendar-event{font-size:.7rem;padding:.2rem;border-left-width:2px}.calendar-list{padding:0 .8rem}.calendar-weekdays{font-size:.8rem}.calendar-more{font-size:.7rem;padding:.1rem}}.overview-highlights{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);gap:1.2rem;align-items:stretch}.pair-card h2{color:inherit;margin:0 0 1rem}.pair-card.prince-card{background:#385f4d}.overview-highlights .panel-header{flex-wrap:wrap;gap:.5rem}.overview-highlights .timeline .ghost{padding:0;text-align:left}.overview-highlights .timeline small{line-height:1.6}.overview-highlights .panel-body{padding:1.25rem}#shooting-results td small{display:block;margin-top:.3rem}#shoot-new-person{background:#f5f8f6;border:1px solid var(--line);padding:1rem;border-radius:8px;margin:1rem 0}#membership-fields,#federal-fields{background:#f5f8f6;border-radius:8px;padding:1rem;margin:1rem 0}
@media(max-width:1150px){.overview-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-highlights>.panel{grid-column:1/-1}}@media(max-width:760px){.overview-highlights{grid-template-columns:minmax(0,1fr)}.overview-highlights>.panel{grid-column:auto}.pair-card .year{font-size:2.8rem}}@media(max-width:760px){.topbar{height:auto;min-height:70px;flex-wrap:wrap;padding:.7rem 1rem;gap:.35rem}.user-info{flex-wrap:wrap;gap:.2rem;max-width:100%}.topbar .breadcrumb{width:100%}.user-info .ghost{padding:.45rem .6rem}.page-title .row-actions{flex-wrap:wrap}.overview-highlights .timeline .ghost{white-space:normal}.panel-body p{overflow-wrap:anywhere}}
#access-table{white-space:normal;min-width:720px}#access-table th,#access-table td{padding:.9rem}#access-table .ghost{white-space:normal;justify-content:flex-start;text-align:left;padding:.35rem}#access-table .badge{white-space:normal}#access-table td:first-child{overflow-wrap:anywhere}
.officer-pair{border:1px solid #cfdfd5;background:#f2f7f4;padding:1rem;border-radius:9px;margin-bottom:1rem}.officer-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.officer-fields .court-row{margin:0;background:white}.officer-fields .form-grid{grid-template-columns:minmax(0,1fr)}.royal-officers{margin-top:1.2rem;padding:1rem;border:1px solid var(--line);border-radius:8px;background:#f8faf9}.royal-officers h3{margin:0;font-size:.9rem}.royal-officers .royal-person{margin-top:.75rem;padding-top:.75rem}@media(max-width:760px){.officer-fields{grid-template-columns:minmax(0,1fr)}.officer-pair>.inline-head{align-items:flex-start;flex-wrap:wrap}#add-officer{white-space:normal;text-align:left}.officer-fields .court-row{min-width:0}}
.prep-actions{flex-wrap:wrap;justify-content:flex-end}@media(max-width:900px){[id^=preparation-]>.panel-header{flex-wrap:wrap}.prep-actions{justify-content:flex-start}}
@media(min-width:761px){.sidebar{overflow-y:auto}.sidebar .nav,.sidebar .side-bottom{flex-shrink:0}}

.season-table input[name=title]{min-width:13rem}.season-table input[name=location]{min-width:12rem}.season-table input[type=time]{min-width:7rem}.season-table td:nth-child(2){white-space:nowrap}.season-table td{vertical-align:middle}

.rott-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;align-items:start}.rott-card header{display:flex;justify-content:space-between;gap:.7rem;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(--line)}.rott-card h2{font-size:1.1rem;margin:0}.rott-leaders{padding:.7rem 1rem;font-size:.9rem;line-height:1.5}.rott-leaders .ghost{padding:.15rem;min-height:32px;white-space:normal}.rott-leaders small{display:block}.rott-description{padding:0 1rem;font-size:.875rem}.rott-card summary{padding:.65rem 1rem;cursor:pointer;border-top:1px solid var(--line);font-size:.875rem;color:var(--green)}.rott-card td,.rott-card th{padding:.35rem .65rem;font-size:.875rem;letter-spacing:normal;text-transform:none}.rott-card td .ghost{padding:.2rem 0;min-height:32px}.rott-card .table-wrap{max-height:24rem;overflow:auto}.rott-card th{position:sticky;top:0;z-index:1}.rott-card td:first-child{white-space:normal;min-width:9rem}@media(max-width:900px){.rott-grid{grid-template-columns:minmax(0,1fr)}}
.access-denied { display:none !important; }
.permission-grid { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 22px;align-items:center; }
.permission-grid small { color:var(--muted,#66736f); }
.grant-pick { max-height:300px;overflow:auto;margin:16px 0; }
#stock-table small { display:block;max-width:320px;white-space:pre-wrap; }
@media(max-width:600px){.permission-grid{grid-template-columns:1fr;gap:8px}.permission-grid small{margin-bottom:12px}}
.fine-denied{display:none!important}.matrix-section th{background:#e9f1ed;color:#194d41}.permission-matrix{max-height:55vh;overflow:auto}.permission-matrix th{position:sticky;top:0;z-index:1;background:#edf3f0}.permission-matrix td:first-child{min-width:150px}.permission-matrix select{min-width:180px}.group-member-list{max-height:220px;overflow:auto;margin:15px 0}.group-member-list .check{padding:6px}.group-member-list small{margin-left:8px}.group-member-list [hidden]{display:none!important}.file-rule-list{display:grid;gap:10px}
.person-search{display:grid;gap:4px;margin-top:5px}.person-search input{width:100%}.person-search-results{max-height:225px;overflow:auto;border:1px solid #c8d7ce;border-radius:8px;background:white}.person-search-results[hidden]{display:none}.person-search-result{display:block;text-align:left;width:100%;border:0;border-radius:0;padding:10px 12px;background:white;color:#183e2e}.person-search-result:hover,.person-search-result:focus{background:#e7f3eb;outline:2px solid #507d60;outline-offset:-2px}.person-search-status{font-weight:400;color:#53665c}

.stock-group>summary{cursor:pointer;padding:18px 20px;list-style:disclosure-closed;color:#214d3f}.stock-group[open]>summary{list-style:disclosure-open;border-bottom:1px solid #e0e8e3}.stock-group-name{font-size:18px;font-weight:650;margin-right:12px}.stock-group summary .badge{margin:3px 8px 3px 0}.stock-group-tools{display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px}.stock-group:not([open])>summary{border-radius:12px}.stock-group summary:focus-visible{outline:3px solid #ae8c45;outline-offset:-3px}@media(max-width:600px){.stock-group>summary{padding:14px}.stock-group-name{display:block;margin:0 0 6px 10px}.stock-group-tools{padding:10px 14px}}
.stock-group>summary::after{content:'▾ Aufklappen';display:block;font-size:12px;font-weight:500;color:#527969;margin-top:6px}.stock-group[open]>summary::after{content:'▴ Zuklappen'}

/* Compact phone layout: keep every column accessible within its own table. */
.mobile-menu-toggle,.mobile-table-hint{display:none}
@media(max-width:760px){
 .layout>div,.main,.panel,.panel-body,.table-wrap{min-width:0;max-width:100%}
 .sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 .5rem;padding:.65rem .75rem}
 .brand{padding:0;gap:.55rem}.brand .monogram{width:36px;height:36px;font-size:19px;border-radius:9px}
 .brand strong{font-size:.92rem}.brand small{font-size:.65rem;letter-spacing:.06em;margin-top:.1rem}
 .mobile-menu-toggle{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.5rem .65rem;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--green);font-weight:600;font-size:.875rem}
 .sidebar .nav{display:none;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:.2rem;padding-top:.6rem}
 .sidebar.mobile-menu-open .nav{display:grid}.sidebar .nav button{min-height:44px;padding:.55rem .6rem;white-space:normal;font-size:.8125rem}.sidebar .nav svg{display:block;width:16px;height:16px}
 .topbar{min-height:48px;padding:.4rem .75rem;gap:.2rem}.topbar>span{font-size:.78rem;overflow-wrap:anywhere}.topbar .row-actions{flex-wrap:wrap}.topbar .ghost{min-height:40px;font-size:.78rem}
 .main{padding:1rem .65rem}.page-title{gap:.55rem;margin-bottom:.9rem}.page-title h1{font-size:1.4rem}.page-title p{font-size:.8125rem;line-height:1.45}.eyebrow{font-size:.65rem;margin-bottom:.35rem}
 .page-title>.row-actions{width:100%;flex-wrap:wrap}.primary,.secondary,.ghost,.danger{white-space:normal}.toolbar{gap:.4rem;margin-bottom:.75rem}.toolbar input,.toolbar select{min-width:0;max-width:100%}.search{flex-basis:100%}.toolbar select{flex:1 1 130px}
 input,select,textarea{font-size:16px}.panel-header,.panel-body,.royal{padding:.8rem}.panel-header{gap:.5rem;flex-wrap:wrap}.panel-header h2{font-size:1rem}.panel-header>.row-actions,.inline-head{flex-wrap:wrap}.grid-two{grid-template-columns:minmax(0,1fr);gap:.8rem}
 .table-wrap{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
 table{font-size:.8125rem}th{font-size:.7rem;letter-spacing:.025em;padding:.5rem .55rem}td{padding:.3rem .55rem;line-height:1.35}
 td:first-child{max-width:190px;white-space:normal;overflow-wrap:anywhere}.person-name{gap:.4rem}.person-name .avatar{display:none}.person-name small{font-size:.7rem;margin-top:.1rem}.person-name button{min-height:36px}
 table .row-actions{gap:.2rem;flex-wrap:nowrap}table .row-actions button,table .row-actions a,table .ghost{min-height:36px;padding:.25rem .4rem;font-size:.75rem;white-space:nowrap}table .badge{font-size:.68rem;padding:.15rem .35rem}
 .mobile-table-hint:not([hidden]){display:block;margin:.3rem .55rem .4rem;font-size:.72rem;color:var(--muted)}
 #access-table{min-width:590px}#access-table th,#access-table td{padding:.4rem .5rem}.permission-matrix td:first-child{min-width:130px}.permission-matrix select{min-width:160px}
 .stats{gap:.5rem;margin:.9rem 0 1rem}.stat{padding:.75rem}.stat span{font-size:.75rem}.stat strong{font-size:1.65rem;margin:.2rem 0}.stat small{font-size:.7rem}
 .overview-highlights{gap:.7rem}.pair-card{padding:1rem}.pair-card .year{font-size:2.2rem;margin:.35rem 0 .7rem}.pair-card p{font-size:.875rem;margin:.5rem 0}.section-gap{margin-top:.9rem}
 .stock-group>summary{padding:.7rem}.stock-group-name{font-size:1rem}.stock-group-tools{padding:.5rem .7rem;gap:.3rem}.rott-card header,.rott-leaders{padding:.6rem .75rem}.rott-card td,.rott-card th{padding:.3rem .45rem;font-size:.78rem}
 dialog{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);max-height:94dvh}.modal-header,.modal-content{padding:.8rem}.form-actions{flex-wrap:wrap}.form-actions button{min-height:44px}.form-grid,.detail-grid{gap:0 .7rem}.empty{padding:1.6rem .8rem}
 .tabs{gap:.2rem;padding-bottom:.55rem;margin-bottom:.75rem}.tabs button{min-height:40px;padding:.4rem .55rem;font-size:.78rem}
}

.membership-wrap{padding:2rem 1rem;max-width:900px;margin:auto}.membership-card{padding:2rem}.membership-card header{margin-bottom:2rem}.membership-card header .monogram{margin-top:1.5rem}.membership-card h1{font-size:1.8rem}.membership-card h2{font-size:1.25rem;margin:1.8rem 0 1rem}.membership-card p{line-height:1.6}.membership-card .form-grid{margin-bottom:1.25rem}.membership-card .form-grid label{min-width:0}.membership-check{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:.75rem;margin:1rem 0;line-height:1.5;font-weight:400!important}.membership-check input{width:20px!important;min-width:20px;height:20px;margin-top:3px;accent-color:#335747}.membership-terms{overflow-wrap:anywhere}.membership-terms details{padding:1rem;background:#f3f6f4;border:1px solid #dbe4de;border-radius:8px;margin:.75rem 0}.membership-terms summary{cursor:pointer;font-weight:600}.membership-terms h3{font-size:1rem;margin:1.2rem 0 .5rem}.membership-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;overflow-wrap:anywhere}.membership-details dt{font-size:.8rem;color:#53645c}.membership-details dd{margin:.3rem 0;font-weight:500}.membership-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.membership-card .full{white-space:normal;line-height:1.4;min-height:44px}.membership-card input,.membership-card select{width:100%;box-sizing:border-box}.membership-card .error{margin:1rem 0}#membership-settings-form{overflow-wrap:anywhere}
@media(max-width:600px){.membership-wrap{padding:.5rem}.membership-card{padding:1rem}.membership-card h1{font-size:1.5rem}.membership-card .form-grid,.membership-details{grid-template-columns:1fr}.membership-card input,.membership-card select{font-size:16px}.membership-terms details{padding:.8rem}}

.club-mail-list{display:grid;gap:.6rem;margin:1rem 0}.club-mail-item{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-align:left;background:#f5f8f6;color:var(--ink);border:1px solid var(--line);padding:1rem;width:100%;overflow-wrap:anywhere;white-space:normal}.club-mail-item span,.club-mail-item strong,.club-mail-item small{max-width:100%;overflow-wrap:anywhere}.club-mail-body{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6;border-top:1px solid var(--line);padding-top:1rem}#club-mail-compose-form textarea{min-height:220px}#club-mail-compose-form input[type=file]{max-width:100%;min-width:0}

.range-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.range-inspection{border-top:1px solid var(--border,#dce5e3);padding:1.2rem 0}.range-inspection h3{margin:.6rem 0}.range-documents{display:grid;gap:.6rem;margin-bottom:1rem}.range-photo{display:block;max-width:100%;max-height:650px;object-fit:contain;margin:1rem auto;border-radius:10px}.range-balance{font-size:1.8rem}.range-documents a{overflow-wrap:anywhere;white-space:normal}.range-inspection p{overflow-wrap:anywhere}@media(max-width:640px){.range-heading{align-items:flex-start}.range-heading .row-actions{width:100%}.range-photo{max-height:420px}.range-documents .row-actions{align-items:stretch;flex-direction:column}.range-balance{font-size:1.4rem}}

.settings-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px}.settings-trigger svg{width:23px;height:23px}.settings-subnav{flex-wrap:wrap;margin-bottom:20px}

.nav button svg{flex:0 0 24px;width:24px;height:24px}
.nav button .icon-reigns{width:27px;height:27px;flex-basis:24px}
.nav button .icon-range{width:27px;height:27px}
.project-card .panel-header{flex-wrap:wrap;gap:12px}
.project-card h2,.project-card h3,.project-card p{overflow-wrap:anywhere}
.project-card h3 .muted{font-size:.85rem;font-weight:400}
.project-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:16px}
.project-attachment{border:1px solid var(--line,#dbe5e2);border-radius:10px;padding:12px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.project-attachment a{display:flex;flex-direction:column;gap:10px;overflow-wrap:anywhere;max-width:100%}
.project-attachment img{width:100%;height:180px;object-fit:contain;border-radius:6px;background:#f2f6f4}
.project-pdf{display:flex;align-items:center;gap:8px;min-height:70px;font-weight:600}
.project-comment{border-left:3px solid #cbded6;padding:0 14px;margin:16px 0}
.project-comment time{display:inline-block;color:var(--muted,#657b78);font-size:.85rem;margin-left:8px}
.project-card [data-project-comment]{margin-top:20px}
.project-card [data-project-comment] textarea{min-height:96px}
@media(max-width:600px){.project-card .panel-header,.project-card .panel-body{padding:16px}.project-card .range-heading{flex-wrap:wrap;gap:10px}.project-comment time{display:block;margin-left:0}.project-card .row-actions{flex-wrap:wrap}}

.board-card>summary{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;flex-wrap:wrap}
.board-card>summary h2{margin:0;font-size:1.15rem}.board-card>summary p{margin:7px 0 0;color:#607674}
.board-card[open]>summary{border-bottom:1px solid #dbe5e2}.board-rsvp{padding:18px;border-radius:8px;background:#edf5f1;margin-top:20px}
.board-card textarea{min-height:130px}.board-card h2,.board-card p,.board-card td{overflow-wrap:anywhere}
.board-card form{margin-top:22px}.board-card .range-heading{flex-wrap:wrap;gap:12px}
.board-print{background:white;color:#172c28;font-family:Arial,sans-serif;font-size:11pt;line-height:1.5}
.board-print main{max-width:180mm;margin:15mm auto}.board-print-tools{max-width:180mm;margin:20px auto;padding:15px;background:#edf5f1}
.board-print-brand{font-size:10pt;color:#43675c}.board-print h1{font-size:23pt;margin:12px 0 0}.board-print h2{font-size:15pt;border-bottom:1px solid #b7cbc4;padding-bottom:5px;margin-top:24px}.board-print h3{font-size:12pt;margin-bottom:0}
.board-print-meta{display:grid;grid-template-columns:40mm 1fr;gap:5px}.board-print-meta dt{font-weight:bold}.board-print-meta dd{margin:0}
.board-print-text{white-space:pre-wrap;overflow-wrap:anywhere}.board-print table{width:100%;table-layout:fixed;border-collapse:collapse;min-width:0}.board-print th,.board-print td{white-space:normal;overflow-wrap:anywhere;padding:8px;border-bottom:1px solid #dbe5e2;text-align:left;font-size:10pt}.board-print th:first-child{width:40%}
.board-print-author,.board-print footer{font-size:9pt;color:#597169}.board-print footer{margin-top:25px;border-top:1px solid #b7cbc4;padding-top:10px}
@media print{@page{size:A4;margin:16mm}.board-print main{margin:0;max-width:none}.board-print-tools{display:none!important}.board-print h1,.board-print h2,.board-print h3,.board-print-author{break-after:avoid}.board-print tr{break-inside:avoid}.board-print thead{display:table-header-group}.board-print p{orphans:3;widows:3}.board-print a{color:inherit;text-decoration:none}}
@media(max-width:600px){.board-card .panel-body,.board-card>summary{padding:16px}.board-card .row-actions{flex-wrap:wrap}.board-print main,.board-print-tools{margin:15px}.board-print-meta{grid-template-columns:110px 1fr}}

.board-print-root{background:white}.board-print p{line-height:1.45}.board-print footer{break-inside:avoid}

#board-filter{flex:0 0 auto;min-height:44px;height:44px}

.overview-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.overview-pairs .pair-card{padding:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.overview-pairs .pair-card h2{margin:0;font-size:1rem}.overview-pairs .pair-card .year{font-size:1.4rem;margin:0}.overview-pairs .pair-card>small{display:none}.overview-pairs .pair-card p{margin:0;font-size:.95rem}.overview-pairs .pair-card p small{font-size:.75rem}.overview-pairs .pair-card .secondary{margin-left:auto;font-size:.75rem;padding:6px 10px;min-height:36px}.overview-focus{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.overview-focus-card{padding:18px}.overview-focus-card .eyebrow{display:flex;gap:8px;align-items:center;letter-spacing:.03em;line-height:1.5}.overview-focus-card .ghost{padding:0;text-align:left;justify-content:flex-start;white-space:normal;font-size:1rem}.overview-focus-card p{font-size:.85rem;margin-bottom:8px}.overview-focus-card strong,.overview-focus-card small{overflow-wrap:anywhere}.overview-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.overview-lists .timeline li{padding:8px 0}.overview-lists .ghost{padding:0;min-height:28px;white-space:normal;text-align:left}.overview-lists .panel-header{flex-wrap:wrap;gap:8px}.overview-anniversaries>summary{padding:16px 20px;cursor:pointer;font-weight:600}.overview-anniversaries>summary .badge{margin-left:8px}
@media(max-width:1100px){.overview-focus{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.overview-pairs,.overview-lists{grid-template-columns:minmax(0,1fr)}.overview-pairs .pair-card{padding:12px;gap:10px}.overview-focus{gap:8px}.overview-focus-card{padding:12px}.overview-focus-card .eyebrow{font-size:.65rem}.overview-focus-card .ghost{font-size:.88rem}}

.function-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.function-catalog h3{font-size:1rem}.function-catalog ul{padding-left:1.2rem;line-height:1.7}.function-catalog li{overflow-wrap:anywhere}@media(max-width:760px){.function-catalog{grid-template-columns:1fr;gap:.5rem}}

/* RedDot import: status text supplements color for accessible assignment review. */
.kordel-import-table table{min-width:1000px}.kordel-import-table th,.kordel-import-table td{padding:8px 6px;font-size:.84rem}.kordel-import-table td:first-child{min-width:220px}.kordel-import-table td:nth-child(2){min-width:145px}.kordel-import-table td:last-child{min-width:180px}.kordel-import-table select{font-size:.84rem;padding:8px;max-width:260px}.kordel-row-ok td{background:#effaf3}.kordel-row-bad td{background:#fff0f0}.kordel-row-ok .kordel-match-status,.kordel-ok{color:#155c35;background:#e3f4e9}.kordel-row-bad .kordel-match-status,.kordel-bad{color:#a52020;background:#ffe5e5}.kordel-match-status{display:block;font-weight:700;margin:4px 0}.kordel-value-error{color:#a52020;font-weight:600}.kordel-import-table small{display:block}.kordel-import-table th:not(:first-child){white-space:nowrap}

#modal:has(#kordel-upload-form){width:min(1320px,calc(100vw - 32px));max-width:calc(100vw - 32px)}

.board-document-list{list-style:none;margin:12px 0;padding:0}.board-document-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.board-document-list li>div{min-width:0}.board-document-list a,.board-document-list strong{overflow-wrap:anywhere}.board-document-list small{display:block;margin-top:5px;color:var(--muted)}.board-documents .range-heading{flex-wrap:wrap}

#kordel-season-overview table{min-width:880px}#kordel-season-overview td:first-child{min-width:145px;overflow-wrap:normal;word-break:normal}

.family-fields{border:1px solid var(--border,#d8e3df);border-radius:12px;padding:20px;margin:24px 0}.family-fields legend{font-weight:700;padding:0 8px}.family-fields .check,.profile-review form>.check{align-items:flex-start;margin:16px 0}.privacy-notice{background:#f4f7f6;padding:20px;border-radius:12px;margin:24px 0;line-height:1.65}.profile-review{max-width:1000px}.profile-review p{overflow-wrap:anywhere}@media(max-width:600px){.family-fields,.privacy-notice{padding:12px}.profile-review .primary{white-space:normal;width:100%}}

/* Compact, keyboard-accessible member modules. */
.community-entry{margin:0 0 12px;overflow:hidden}.community-entry[hidden]{display:none}
.community-summary{cursor:pointer;padding:18px 22px;display:flex;align-items:center;gap:20px;list-style:none;min-height:62px;background:#fff}
.community-summary::-webkit-details-marker{display:none}.community-summary:after{content:'⌄';margin-left:auto;font-size:22px;color:#527268}.community-entry[open]>.community-summary:after{transform:rotate(180deg)}
.community-summary:focus-visible{outline:3px solid #b58b34;outline-offset:-3px}.community-entry[open]>.community-summary{background:#edf4f0;border-bottom:1px solid #d9e4df}.community-summary>span{color:#627773;font-size:.9rem}.community-summary-title{display:flex;align-items:center;gap:12px}.community-summary-title .nav-icon{width:26px;height:26px}.community-tabs{display:flex;gap:10px;margin:0 0 18px}.community-column-head{display:grid;grid-template-columns:2fr 1fr 1fr 22px;padding:10px 22px;color:#627773;font-size:.82rem}.market-summary{display:grid;grid-template-columns:2fr 1fr 1fr 22px}.community-badges{padding:18px;background:#edf4f0;border-radius:10px;margin-bottom:22px}.community-check{display:flex!important;align-items:flex-start;gap:10px;margin:14px 0}.community-check input{width:20px!important;height:20px;flex:0 0 auto;margin-top:2px}.icon-assemblies,.icon-market{width:21px;height:21px}.community-entry .project-attachment img{max-height:260px;object-fit:contain}
@media(max-width:640px){.community-summary{padding:14px;gap:10px;flex-wrap:wrap}.community-summary>span{font-size:.8rem}.market-summary{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) 14px;gap:8px;font-size:.9rem}.community-column-head{padding:8px 14px;grid-template-columns:1.5fr 1fr 1fr 14px;font-size:.72rem}.community-entry .panel-header{flex-wrap:wrap}.community-summary strong,.market-summary span{overflow-wrap:anywhere}.community-tabs button{min-height:44px}.community-entry .row-actions{flex-wrap:wrap}}

.dress-sections{display:grid;gap:12px;margin:24px 0}.dress-sections summary,.dress-photo summary{padding:18px 22px;cursor:pointer;line-height:1.5}.dress-sections .panel-body{padding-top:0}.dress-sections p{max-width:80ch;line-height:1.7;margin:0 0 12px}.dress-photo img{width:100%;max-width:680px;height:auto}.dress-photo{margin-bottom:20px}

.news-section{margin:0 0 28px}.news-section h2{font-size:1.25rem}.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:18px}.news-card{min-width:0}.news-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.news-poster{display:block;max-width:100%;max-height:660px;object-fit:contain;margin:16px auto 0;border-radius:8px}.news-management{display:grid;gap:14px;margin-top:20px}.news-card h3{font-size:1.3rem;margin:0 0 12px;overflow-wrap:anywhere}#news-form textarea{width:100%;min-height:140px}#news-upload{display:flex;flex-wrap:wrap;gap:12px}#news-upload input{max-width:100%}.news-card a{overflow-wrap:anywhere}
