:root{--green:#76b82a;--green-dark:#4f8614;--black:#111;--text:#1e1e1e;--muted:#6b7280;--bg:#f4f6f3;--card:#fff;--line:#dfe4dc;--danger:#b42318;--warning:#a15c00;--radius:16px;--shadow:0 10px 28px rgba(0,0,0,.06)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{margin:0;line-height:1.45}a{color:var(--green-dark);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:20;background:#111;color:#fff;display:flex;align-items:center;gap:22px;padding:10px max(18px,calc((100vw - 1180px)/2));box-shadow:0 4px 18px rgba(0,0,0,.15)}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:800}.brand:hover{text-decoration:none}.brand img{height:42px;width:auto;max-width:150px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}.nav{margin-left:auto;display:flex;align-items:center;gap:6px}.nav a,.link-button{color:#fff;background:transparent;border:0;padding:10px 12px;border-radius:10px;cursor:pointer}.nav a:hover,.nav a.active,.link-button:hover{background:#2a2a2a;text-decoration:none}.nav-toggle{display:none;margin-left:auto;background:#222;border:1px solid #444;color:#fff;border-radius:8px;padding:8px 10px}.container{max-width:1180px;margin:0 auto;padding:30px 18px 60px}.footer{max-width:1180px;margin:0 auto;padding:20px 18px 40px;color:var(--muted);font-size:.88rem}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head h1{margin:0;font-size:clamp(1.65rem,3vw,2.35rem)}h2{margin-top:0;font-size:1.15rem}.muted{color:var(--muted)}.fineprint{font-size:.85rem;color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:20px}.compact{padding:14px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stats.mini .stat{padding:14px}.stats.one-line{grid-template-columns:1fr 1fr}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.stat span{display:block;color:var(--muted);font-size:.85rem}.stat strong{display:block;font-size:1.7rem;margin-top:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #c9d0c5;background:#fff;color:#111;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.button:hover{text-decoration:none;background:#f8faf7}.button.primary{background:var(--green);border-color:var(--green);color:#0d1b05}.button.primary:hover{background:#86c83b}.button.danger{background:#fff3f2;border-color:#f4b4ae;color:var(--danger)}.button.small{padding:7px 10px;font-size:.9rem}.flash,.notice{border-radius:12px;padding:12px 14px;margin-bottom:18px}.flash ul{margin:.4rem 0 0}.success{background:#ecf8df;border:1px solid #b8dc8c}.error{background:#fff0ef;border:1px solid #f2b6af;color:#7a1b12}.notice{background:#eef6e5;border:1px solid #c7dda9}.notice.warning{background:#fff8e8;border-color:#efd59b;color:#6d4700}.stack{display:flex;flex-direction:column;gap:14px}.form-card{max-width:820px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:.92rem}input,select,textarea{width:100%;border:1px solid #cfd6cc;background:#fff;border-radius:10px;padding:10px 11px;color:#111}textarea{resize:vertical}.check{flex-direction:row;align-items:flex-start;font-weight:500}.check input{width:auto;margin-top:4px}.check.inline{display:inline-flex;margin-right:12px}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.filters label{min-width:160px}.list-row{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #edf0eb}.list-row:last-child{border-bottom:0}.list-row small{display:block;color:var(--muted);margin-top:3px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:800;text-transform:none}.badge.offen{background:#fff4cf;color:#745300}.badge.bewilligt{background:#e4f5d1;color:#365e0b}.badge.abgelehnt{background:#ffe5e3;color:#8d2117}.badge.zurueckgezogen{background:#ececec;color:#555}.badge.large{font-size:.95rem;padding:8px 13px}.big-number{font-size:3rem;font-weight:900;margin:.2rem 0}.tabs{display:flex;gap:8px;overflow:auto;margin-bottom:14px}.tabs a{white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#333}.tabs a.active{background:#111;color:#fff}.table-card{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #edf0eb;vertical-align:top}th{font-size:.82rem;color:var(--muted);background:#fafbf9}.details{display:grid;grid-template-columns:130px 1fr;gap:9px 14px;margin:0}.details dt{color:var(--muted)}.details dd{margin:0}.prewrap{white-space:pre-wrap}.actions{display:flex;align-items:center;justify-content:space-between}.amendment{border-top:1px solid var(--line);padding:16px 0}.amendment:first-of-type{border-top:0}.decision-box{margin-top:12px;padding:14px;background:#f7f8f6;border-radius:12px}.notification{padding:14px;border-bottom:1px solid var(--line)}.notification:last-child{border-bottom:0}.notification.unread{background:#f3faeb;border-left:4px solid var(--green);padding-left:12px}.team-item{border-bottom:1px solid var(--line);padding:4px 0}.team-item summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;padding:14px 6px}.team-item summary small{display:block;color:var(--muted);font-weight:400}.team-form{padding:8px 6px 18px}.branch-form{display:grid;grid-template-columns:180px 180px 1fr auto;gap:14px;align-items:end;padding:14px 0;border-top:1px solid var(--line)}fieldset{border:0;padding:0;margin:0}legend{font-weight:650;font-size:.92rem;margin-bottom:7px}.calendar{padding:14px;overflow:hidden}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{text-align:center;padding:8px;font-weight:800;color:var(--muted)}.calendar-day{min-height:125px;border-top:1px solid var(--line);border-left:1px solid var(--line);padding:8px;background:#fff}.calendar-day:nth-child(7n){border-right:1px solid var(--line)}.calendar-day.sunday{background:#fafafa}.calendar-day.empty{background:transparent}.calendar-event{display:block;margin-top:6px;background:#eff8e5;border-left:3px solid var(--green);padding:6px;border-radius:6px;color:#222;font-size:.82rem}.calendar-event small{display:block;color:#65705c}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#101010 0,#1e1e1e 52%,#4f8614 140%)}.auth-card{width:min(440px,100%);background:#fff;border-radius:22px;padding:30px;box-shadow:0 25px 70px rgba(0,0,0,.28)}.auth-card .logo{height:58px;max-width:210px;object-fit:contain;margin-bottom:16px}.auth-card h1{margin:.2rem 0 1rem}.code-input{font-size:2rem;letter-spacing:.35em;text-align:center;font-weight:800}
@media(max-width:850px){.grid-2,.form-grid,.stats{grid-template-columns:1fr 1fr}.branch-form{grid-template-columns:1fr 1fr}.branch-form fieldset{grid-column:1/-1}.nav-toggle{display:block}.nav{display:none;position:absolute;top:62px;left:0;right:0;background:#111;flex-direction:column;align-items:stretch;padding:10px 18px 18px}.nav.open{display:flex}.nav form{display:block}.link-button{width:100%;text-align:left}.calendar{overflow:auto}.calendar-weekdays,.calendar-days{min-width:760px}}
@media(max-width:560px){.container{padding:22px 12px 50px}.topbar{padding:9px 12px}.brand span{display:none}.page-head{align-items:stretch;flex-direction:column}.stats,.grid-2,.form-grid,.stats.mini,.stats.one-line{grid-template-columns:1fr 1fr}.stat{padding:12px}.stat strong{font-size:1.35rem}.card{padding:15px;border-radius:13px}.details{grid-template-columns:1fr}.details dt{font-size:.8rem;margin-top:4px}.branch-form{grid-template-columns:1fr}.branch-form fieldset{grid-column:auto}.auth-card{padding:22px}}
