:root{--color-primary: #123b35;--color-accent: #e8b84b;--color-bg: #f6f5ef;--font-heading: Georgia, serif;--font-size-heading: 32px;--font-body: Inter, ui-sans-serif, system-ui, sans-serif;--font-size-body: 16px;--font-nav: Arial, Helvetica, sans-serif;--font-size-nav: 15px;--font-topbar: Georgia, serif;--font-size-topbar: 25px;--logo-height-topbar: 40px;--logo-height-login: 64px;--card-border-width: 1px;--card-shadow: 0 4px 16px rgba(0,0,0,.05);--card-padding-top: 28px;--card-padding-right: 28px;--card-padding-bottom: 28px;--card-padding-left: 28px;--tile-hover-color: #edf0eb;font-family:var(--font-body);font-size:var(--font-size-body);color:var(--color-primary);background:var(--color-bg);font-synthesis:none}.app-logo{width:auto;display:block}.topbar .app-logo{height:var(--logo-height-topbar)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.app-shell{min-height:100vh}.topbar{background:var(--color-primary);color:#fff;padding:24px max(24px,calc((100vw - 1280px)/2));display:flex;justify-content:space-between;align-items:center}.eyebrow{letter-spacing:.14em;font-size:.68rem;font-weight:700;opacity:.65}h1,h2,h3,p{margin:0}h1{font:700 var(--font-size-topbar)/1.1 var(--font-topbar);margin-top:5px}h2{font-family:var(--font-heading);font-weight:700;font-size:clamp(1.75rem,4vw,var(--font-size-heading));line-height:1.15;margin:8px 0}main{max-width:1120px;margin:auto;padding:64px 24px}.hero{display:flex;justify-content:space-between;align-items:end;margin-bottom:46px}.hero p{color:#61736e}button{border:0;border-radius:7px;padding:12px 18px;background:var(--color-accent);color:var(--color-primary);font-weight:700;cursor:pointer}button:hover{filter:brightness(.96)}.account{display:flex;align-items:center;gap:12px;font-size:.85rem}.account select{color:#fff;background:transparent;border:1px solid #6b8a83;border-radius:5px;padding:7px}.online-dot{width:8px;height:8px;border-radius:50%;background:#8fd694}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.search{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid #dfe4dd;border-radius:6px;padding:8px 12px;width:min(100%,340px)}.search input{border:0;outline:0;width:100%}.count{color:#71817c;font-size:.85rem}.table-wrap{overflow-x:auto;background:#fff;border:1px solid #e2e6df;border-radius:8px}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:17px 20px;border-bottom:1px solid #edf0eb}th{text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;color:#71817c}td{color:#506560;font-size:.92rem}td strong{color:var(--color-primary)}tr:last-child td{border-bottom:0}.badge{display:inline-block;border-radius:99px;padding:5px 9px;font-size:.75rem;font-weight:700;margin:2px 4px 2px 0}.status-aktiv{background:#d3e8df;color:#287b4c}.status-inaktiv{background:#eceee9;color:#71817c}.status-ausgetreten{background:#f4ded7;color:#a15c48}.function-badge{background:#eceee9;color:#506560;font-weight:500}.empty{text-align:center;padding:42px}.notice{background:#fff0da;padding:12px 16px;border-radius:6px;margin-bottom:20px;color:#754a1e}.notice button{background:none;color:inherit;padding:0 0 0 12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#102c2688;display:grid;place-items:center;padding:20px}.modal{background:#fff;border-radius:10px;padding:28px;width:min(100%,480px);max-height:90vh;overflow-y:auto;display:grid;gap:14px;box-shadow:0 20px 60px #0003}.modal h3{font:700 1.65rem var(--font-heading);margin-bottom:5px}.modal label,.settings-card label{display:grid;gap:6px;color:#506560;font-size:.85rem}.modal input,.modal label select,.modal textarea,.settings-card input,.settings-card label select,.settings-card textarea{border:1px solid #d5ddd5;border-radius:5px;padding:10px}.settings-card textarea{font-family:inherit;resize:vertical}.log-box{white-space:pre-wrap;word-break:break-all;background:#f6f5ef;border:1px solid #e2e6df;border-radius:6px;padding:12px;font-size:.78rem;line-height:1.5;max-height:320px;overflow-y:auto;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#506560}.modal-actions{display:flex;justify-content:end;gap:10px;margin-top:8px}.secondary{background:#edf0eb}.settings-card{background:#fff;border-style:solid;border-color:#e2e6df;border-width:var(--card-border-width);border-radius:10px;padding:var(--card-padding-top) var(--card-padding-right) var(--card-padding-bottom) var(--card-padding-left);display:grid;gap:14px;box-shadow:var(--card-shadow)}.settings-card+.settings-card{margin-top:24px}.color-field-row{display:flex;align-items:center;gap:8px}.color-field-row input[type=color]{flex-shrink:0;width:46px;padding:3px}.color-field-row input[type=text]{min-width:0;flex:1}.file-upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}.settings-card .file-button,.modal .file-button{display:inline-block;background:#edf0eb;color:var(--color-primary);font-weight:700;font-size:.92rem;padding:12px 18px;border-radius:7px;cursor:pointer}.file-button:hover{filter:brightness(.96)}.file-button input[type=file]{display:none}@media(max-width:600px){.topbar,.hero{align-items:flex-start;flex-direction:column;gap:20px}main{padding-top:40px}.account{flex-wrap:wrap}th,td{padding:13px 12px}}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#fff;border:1px solid #e2e6df;border-radius:10px;padding:30px 16px;text-align:center;color:var(--color-primary);font-weight:700;transition:transform .12s ease,box-shadow .12s ease}.tile:hover{background:var(--tile-hover-color);box-shadow:0 10px 24px #0002;transform:translateY(-2px)}.tile-icon{font-size:2rem;line-height:1}.tile-name{font-family:var(--font-nav);font-size:var(--font-size-nav)}.tile-group-title{margin:40px 0 16px}.topbar-brand{display:flex;align-items:center;gap:14px}.brand-button{background:transparent;border:0;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;gap:16px;text-align:left;color:inherit;font-weight:inherit;border-radius:0}.menu-anchor{position:relative}.hamburger-button{background:transparent;border:1px solid #6b8a83;color:#fff;font-size:1.05rem;line-height:1;padding:9px 13px;border-radius:6px}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:transparent;border:0;padding:0;cursor:default}.menu-panel{position:absolute;top:calc(100% + 10px);left:0;z-index:41;background:#fff;border:1px solid #e2e6df;border-radius:10px;box-shadow:0 20px 60px #0002;padding:14px;display:grid;gap:3px;min-width:230px;max-height:70vh;overflow-y:auto}.menu-item{display:flex;gap:11px;align-items:center;background:transparent;color:#61736e;width:100%;text-align:left;padding:10px 12px;font-weight:500;font-family:var(--font-nav);font-size:var(--font-size-nav);border-radius:6px}.menu-item:hover{background:#edf0eb}.back-link{margin-bottom:18px;padding:0}.consent-note{margin:32px 0 0;padding-top:18px;border-top:1px solid #e2e6df;color:#88958f;font-size:.75rem;line-height:1.5}.offline-dot{width:8px;height:8px;border-radius:50%;background:#f0a35d}.offline-banner{background:#fff0da;color:#754a1e;padding:12px 16px;border-radius:6px;margin-bottom:20px}.placeholder{min-height:400px;display:grid;align-content:center;justify-items:start;gap:8px}.placeholder p{color:#61736e}.link-button{background:transparent;padding:0;color:#287b4c;font-weight:700}.link-button.danger{color:#a15c48}.actions-cell{display:flex;gap:14px}.checkbox{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:8px!important}.checkbox input{accent-color:var(--color-primary)}.login-page{min-height:100vh;display:grid;place-items:center;background:var(--color-bg);padding:20px}.login-card{background:#fff;border:1px solid #e2e6df;border-radius:8px;padding:32px;width:min(100%,360px);display:grid;gap:14px;box-shadow:0 20px 60px #0002}.login-card h1{font-size:clamp(1.4rem,5vw,var(--font-size-topbar));margin:4px 0 10px;text-align:center}.login-card .eyebrow{text-align:center}.login-card .app-logo{height:var(--logo-height-login);margin:0 auto}.login-card label{display:grid;gap:6px;color:#506560;font-size:.85rem}.login-card input{border:1px solid #d5ddd5;border-radius:5px;padding:10px}.login-error{color:#a15c48;font-size:.85rem;margin:0}.hint{color:#88958f;font-size:.8rem;margin:-6px 0 0}.modal-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.topbar-logout{background:transparent;border:1px solid #6b8a83;color:#fff;padding:7px 12px;font-weight:600}.modal-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.modal-grid-3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:14px}.modal-grid select,.modal-grid-3 select,.settings-card select{min-width:0;width:100%}.settings-card input[type=number],.modal input[type=number]{max-width:130px}.color-field-row input[type=text]{max-width:100px}.modal.modal-wide{width:min(100%,640px)}.modal input:disabled,.modal select:disabled{background:#f3f4f1;color:#8b9791;cursor:not-allowed}.functions-dropdown{border:1px solid #d5ddd5;border-radius:5px;padding:10px 12px;background:#fff}.functions-dropdown summary{cursor:pointer;color:var(--color-primary);font-size:.92rem}.functions-dropdown[open] summary{margin-bottom:10px}.functions-dropdown-list{display:flex;flex-wrap:wrap;gap:8px;max-height:190px;overflow-y:auto;padding-top:6px;border-top:1px solid #edf0eb}.functions-dropdown-list .checkbox{flex:1 1 45%}.king-cell{display:flex;flex-wrap:wrap;gap:6px}.king-badge{display:inline-flex;flex-direction:column;align-items:center;line-height:1;font-size:1.05rem;color:var(--color-accent)}.king-badge small{font-size:.6rem;color:#71817c;margin-top:2px}.king-decade{margin-bottom:32px}.king-decade-label{font-weight:700;color:#71817c;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}.king-grid{display:grid;gap:14px}main.wide{max-width:min(1600px,96vw)}.king-grid-cell{background:#fff;border:1px solid #e2e6df;border-radius:8px;padding:14px 10px;text-align:center}.king-grid-year{font-weight:700;color:#71817c;font-size:.75rem;letter-spacing:.06em}.king-grid-name{margin-top:6px;font-weight:600;color:var(--color-primary);font-size:.88rem}@media(max-width:480px){.modal-grid,.modal-grid-3{grid-template-columns:1fr}}@media(max-width:760px){main{padding-top:40px}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}
