html,body,#root{height:100%}body{margin:0}:root{--fg:#1a1a1a;--bg:#fafafa;--muted:#6b6b6b;--accent:#1c5f9c;--accent-bg:#e8f1fa;--border:#e0e0e0;--err:#b1382a;--ok:#2e7d32}*{box-sizing:border-box}body{color:var(--fg);background:var(--bg);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{max-width:1100px;margin:0 auto;padding:0 16px 64px}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:16px;padding:16px 0;display:flex}.topbar h1{color:var(--accent);margin:0;font-size:1.6rem}.topbar .subtitle{color:var(--muted);font-size:.95rem}.topbar .health{color:var(--muted);margin-left:auto;font-size:.85rem}.topbar .health.ok{color:var(--ok)}.topbar .health.err{color:var(--err)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin:16px 0;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:1rem}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.searchform{gap:8px;margin-bottom:16px;display:flex}.searchform input{border:1px solid var(--border);border-radius:4px;flex:1;padding:10px 12px;font-size:1rem}.searchform input:focus{border-color:var(--accent);outline:none}.searchform button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-size:1rem}.searchform button:disabled{background:var(--muted);cursor:not-allowed}.error{color:var(--err);padding:8px 0}.empty{color:var(--muted);padding:12px 0;list-style:none}ul.hitlist,ul.meetinglist,ul.bodylist{margin:0;padding:0;list-style:none}.hitlist li,.meetinglist li,.bodylist li{border-bottom:1px solid var(--border);padding:12px 0}.hitname{font-weight:500}.hitname a{color:var(--accent);text-decoration:none}.hitname a:hover{text-decoration:underline}.badge{background:var(--accent-bg);color:var(--accent);vertical-align:middle;border-radius:3px;margin-left:8px;padding:2px 8px;font-size:.75rem;display:inline-block}.snippet{color:var(--muted);max-height:6em;margin-top:4px;font-size:.9rem;line-height:1.4;overflow:hidden}.snippet mark{color:var(--fg);background:#fff3a8;border-radius:2px;padding:0 1px}.hitmeta{color:var(--muted);margin-top:2px;font-size:.8rem}.mtitle a{color:var(--accent);font-weight:500;text-decoration:none}.mtitle a:hover{text-decoration:underline}.mmeta{color:var(--muted);margin-top:2px;font-size:.85rem}.bodylist li a{color:var(--fg);text-decoration:none}.bodylist li a:hover{color:var(--accent)}.searchform select,.filterbar select{border:1px solid var(--border);background:#fff;border-radius:4px;padding:10px 12px;font-size:1rem}.filterbar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;display:flex}.filterbar .count{color:var(--muted);margin-left:auto;font-size:.9rem}.clickable{cursor:pointer}.clickable:hover{background:var(--accent-bg)}.backbtn{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:4px 0;font-size:.95rem}.backbtn:hover{text-decoration:underline}.detail-title{margin:8px 0 4px}.detail-meta{margin-bottom:24px}.detail-meta a{color:var(--accent)}.agenda{padding-left:20px;list-style:decimal}.agenda li{padding:6px 0}.agenda-num{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:4px}.ref{color:var(--muted);font-size:.85rem}.badge.nonpublic{color:var(--err);background:#fdecea;margin-left:8px}.docgroup{margin:16px 0}.docgroup h4{margin:8px 0 4px;font-size:1rem}.doclist{margin:0;padding-left:0;list-style:none}.doclist li{padding:4px 0}.doclist a{color:var(--accent);text-decoration:none}.doclist a:hover{text-decoration:underline}.antrag-form,.antrag-editor{max-width:820px}.muted{color:var(--muted)}.field{flex-direction:column;gap:4px;margin:12px 0;display:flex}.field>span:first-child{font-size:.9rem;font-weight:500}.field input,.field textarea,.field select{border:1px solid var(--border);border-radius:4px;padding:8px 10px;font-family:inherit;font-size:1rem}.field textarea{resize:vertical;min-height:60px}.field .hint{color:var(--muted);font-size:.8rem}.field-label{margin:12px 0 4px;font-size:.9rem;font-weight:500;display:block}.row{align-items:flex-start;gap:12px;display:flex}.row .field{flex:1}button.primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:16px;padding:10px 24px;font-size:1rem}button.primary:disabled{background:var(--muted);cursor:not-allowed}button.addbtn{border:1px dashed var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:4px;margin:4px 0 12px;padding:6px 12px;font-size:.9rem}button.addbtn:hover{background:var(--accent-bg)}button.iconbtn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;width:32px;height:32px;font-size:1.1rem}button.iconbtn:hover{color:var(--err);border-color:var(--err)}.editlist{margin:8px 0;padding-left:24px;list-style:decimal}.editlist li{align-items:flex-start;gap:8px;padding:4px 0;display:flex}.editlist li textarea{flex:1}.begruendung-block{border:1px solid var(--border);border-radius:4px;margin-bottom:12px;padding:12px}.begruendung-block textarea{width:100%;margin-top:8px}.zusatz-block{border-left:3px solid var(--accent-bg);margin-bottom:12px;padding-left:12px}.action-row{flex-wrap:wrap;gap:8px;margin:24px 0 12px;display:flex}.action-row button{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:#fff;border-radius:4px;padding:8px 16px;font-size:.95rem}.action-row button:hover{background:var(--accent-bg)}.precedents{background:var(--accent-bg);border-radius:4px;margin:24px 0;padding:12px 16px}.precedents h3{margin:0 0 8px}.precedents ol{margin:0;padding-left:24px}.precedents li{padding:4px 0}.precedent-meta{color:var(--muted);font-size:.8rem}.usage{color:var(--muted);margin-top:8px;font-family:ui-monospace,monospace;font-size:.8rem}.antrag-loading{color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:60px 0;display:flex}.antrag-loading .hint{font-size:.85rem}.spinner{border:3px solid var(--accent-bg);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.antrag-preview{border:1px solid var(--border);background:#fff;border-radius:4px;padding:32px;line-height:1.6}.antrag-preview h1{margin-top:0}.antrag-preview .bezug{border-left:3px solid var(--accent);color:var(--muted);padding-left:12px}.login-wrap{justify-content:center;align-items:center;min-height:100%;padding:24px 16px;display:flex}.login-card{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;max-width:380px;padding:28px 24px}.login-card h1{color:var(--accent);margin:0 0 4px}.login-card p{margin:0 0 12px}.login-card .primary{width:100%}.login-card .action-row{margin-top:16px}.server-box{margin:8px 0 4px;font-size:.85rem}.linkbtn{color:var(--accent);cursor:pointer;font-size:inherit;text-align:left;word-break:break-all;background:0 0;border:none;padding:0;text-decoration:underline}.usermenu{margin-left:8px;position:relative}.userbtn{border:1px solid var(--border);cursor:pointer;color:var(--fg);background:0 0;border-radius:4px;padding:6px 10px;font-size:.9rem}.usermenu .menu{z-index:10;border:1px solid var(--border);background:#fff;border-radius:4px;flex-direction:column;min-width:200px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #00000014}.usermenu .menu-head{color:var(--muted);border-bottom:1px solid var(--border);padding:8px 12px;font-size:.8rem}.usermenu .menu button{text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 12px;font-size:.95rem}.usermenu .menu button:hover{background:var(--accent-bg)}.users h2{margin:8px 0 4px}.user-create{border:1px solid var(--border);background:#fff;border-radius:4px;margin:16px 0 24px;padding:4px 16px 16px}.user-create h3{margin:12px 0 0;font-size:1rem}.pw-notice{background:#fff8e1;border:1px solid #f0d78c;border-radius:4px;margin:12px 0;padding:12px 16px;line-height:1.6}.pw-notice code{font-size:1rem}.pw-notice code.pw{letter-spacing:.05em;font-weight:600}.pw-notice .action-row{margin:8px 0 0}.pw-notice .hint,.hint{color:var(--muted);font-size:.8rem}.tablewrap{overflow-x:auto}.usertable{border-collapse:collapse;width:100%;font-size:.92rem}.usertable th,.usertable td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}.usertable th{color:var(--muted);font-size:.8rem;font-weight:500}.usertable tr.inactive td{color:var(--muted)}.usertable td.actions{white-space:nowrap}.usertable td.actions button{border:1px solid var(--border);cursor:pointer;color:var(--accent);background:#fff;border-radius:4px;margin:2px 4px 2px 0;padding:4px 8px;font-size:.8rem}.usertable td.actions button:hover{background:var(--accent-bg)}.usertable td.actions button.danger{color:var(--err)}.usertable td.actions button.danger:hover{background:#fdecea}@media (width<=640px){.app{padding:0 10px 48px}.topbar{gap:8px;padding:12px 0}.topbar .subtitle{display:none}.tabs{gap:0;overflow-x:auto}.tabs button{white-space:nowrap;padding:10px 12px}.row{flex-direction:column;gap:0}.antrag-preview{padding:16px}}.pwfield{display:flex;position:relative}.pwfield input{flex:1;padding-right:92px}.pwtoggle{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:6px 8px;font-size:.85rem;text-decoration:underline;position:absolute;top:50%;right:6px;transform:translateY(-50%)}
