:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17283c;background:#f5f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8db6eb;outline-offset:2px}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.03fr 1fr;padding:24px;gap:20px}.login-art{position:relative;overflow:hidden;background:linear-gradient(155deg,#0c2039,#1c466e 70%,#2c5c7c);border-radius:30px;padding:48px;color:white;display:flex;flex-direction:column;justify-content:space-between}.login-art:after{content:"";position:absolute;width:600px;height:600px;border:1px solid #ffffff26;border-radius:50%;right:-200px;top:10%;box-shadow:0 0 0 100px #ffffff06,0 0 0 200px #ffffff06}.brand{display:flex;align-items:center;gap:13px;font-weight:750;letter-spacing:.04em}.brand-logo{width:46px;height:46px;object-fit:contain;background:#ffffff17;padding:6px;border-radius:13px}.brand small{display:block;font-size:10px;font-weight:600;letter-spacing:.15em;opacity:.65;margin-top:4px}.login-art h1{font-size:clamp(46px,5.4vw,86px);letter-spacing:-.065em;line-height:1.04;margin:0 0 24px;max-width:620px}.login-art p{color:#c3d5e6;font-size:18px;line-height:1.65;max-width:430px}.art-foot{color:#abc4dc;font-size:12px;letter-spacing:.1em}.login-right{display:grid;place-items:center}.login-box{width:min(420px,90%)}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#7a8da1;font-weight:800}.login-box h2{font-size:38px;letter-spacing:-.045em;margin:14px 0 8px}.sub{color:#8190a0;line-height:1.6}.field{display:grid;gap:8px;margin:20px 0}.field label{font-size:13px;font-weight:700;color:#4c5c6d}input,select,textarea{width:100%;background:#fff;border:1px solid #e0e7ee;border-radius:13px;padding:13px 14px;color:#1b2c3f;min-height:46px}textarea{min-height:95px;resize:vertical}.primary,.secondary,.ghost,.danger{border:0;border-radius:13px;padding:12px 17px;font-weight:700;display:inline-flex;gap:9px;align-items:center;justify-content:center}.primary{background:#254e78;color:white;box-shadow:0 5px 15px #1e4a7226}.primary:hover{background:#193e64}.secondary{background:#e9eff5;color:#274968}.ghost{background:transparent;color:#687b90}.ghost:hover{background:#edf2f7}.danger{background:#fff0ef;color:#b53e43}.wide{width:100%}.hint{font-size:12px;color:#9ba7b3;margin-top:18px}.shell{display:flex;min-height:100vh}.sidebar{width:255px;background:#fff;border-right:1px solid #e8edf3;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0;padding:27px 16px}.sidebar .brand{padding:0 12px 28px;color:#1c3550}.sidebar .brand-logo{background:#eaf1f7}.nav-label{font-size:10px;letter-spacing:.17em;color:#a2aebb;font-weight:800;padding:17px 16px 9px}.nav-item{width:100%;border:0;background:transparent;border-radius:12px;display:flex;align-items:center;gap:13px;padding:13px 14px;text-align:left;color:#708094;font-weight:650;margin:3px 0}.nav-item:hover{background:#f4f7fa}.nav-item.active{background:#eaf1f8;color:#1e4c77}.nav-item svg,.mini-icon svg{width:19px;height:19px}.sidebar-bottom{margin-top:auto;border-top:1px solid #eef1f4;padding:20px 8px 0}.profile{display:flex;align-items:center;gap:10px;margin-bottom:12px}.avatar{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:#e8eff7;color:#28527c;font-weight:800}.profile strong{display:block;font-size:13px}.profile small{color:#92a0af;font-size:11px}.content{flex:1;min-width:0;padding:38px clamp(20px,3.6vw,62px) 80px;max-width:1650px;margin:0 auto}.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:35px}.crumb{color:#92a0ad;font-size:13px}.topright{display:flex;align-items:center;gap:12px;color:#7b8b9c;font-size:12px}.live-dot{width:8px;height:8px;background:#42ae80;border-radius:50%;display:inline-block;box-shadow:0 0 0 4px #42ae801c}.pagehead{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:27px}.pagehead h1{font-size:clamp(31px,3.1vw,44px);letter-spacing:-.055em;line-height:1.1;margin:8px 0}.pagehead p{color:#8493a2;margin:7px 0 0;font-size:14px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.card{background:#fff;border:1px solid #e9eef3;border-radius:21px;box-shadow:0 8px 28px #20395008}.stat{padding:23px 25px}.stat .k{color:#8192a2;font-size:12px;font-weight:700}.stat .v{font-size:35px;letter-spacing:-.055em;font-weight:750;margin:13px 0 5px}.stat .foot{font-size:11px;color:#a0adba}.stat .iconbox{float:right;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#edf3f8;color:#4b7398}.section-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:20px}.panel{padding:24px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel h3{font-size:17px;letter-spacing:-.025em;margin:0}.panel p{color:#9ba8b4;font-size:12px;margin:5px 0 0}.linkbtn{background:none;border:0;color:#2e608c;font-size:12px;font-weight:750}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#9eacb8;font-weight:800;padding:13px 12px;border-bottom:1px solid #edf0f4}.data-table td{font-size:13px;padding:16px 12px;border-bottom:1px solid #f0f3f6;color:#4b5d70}.data-table tr:last-child td{border-bottom:0}.data-table td strong{color:#203448}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:100px;font-size:11px;font-weight:700;background:#eef2f5;color:#687b8b}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.green{background:#e8f7ee;color:#258559}.pill.red{background:#fdeced;color:#bc4b51}.pill.amber{background:#fff4df;color:#aa7a23}.pill.blue{background:#eaf2fb;color:#356b9c}.patrol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:15px}.patrol-card{padding:19px;border:1px solid #e8edf3;background:white;border-radius:18px;text-align:left;transition:.15s;min-height:160px}.patrol-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #254e7810;border-color:#bad0e4}.patrol-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.patrol-name{font-weight:800;color:#21394f}.patrol-type{font-size:11px;color:#9cabb8;margin:7px 0 16px}.patrol-members{display:flex;gap:5px;flex-wrap:wrap;font-size:12px;color:#64788c;min-height:24px}.circle{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#edf3f8;color:#3a6286;font-size:10px;font-weight:800}.searchrow{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:19px}.searchrow input{max-width:330px}.searchrow select{max-width:190px}.muted{color:#99a6b4}.empty{text-align:center;padding:40px 16px;color:#9aa7b4}.events{display:grid;gap:0}.event{padding:14px 0;border-bottom:1px solid #eff2f5;display:flex;gap:12px;align-items:start}.event:last-child{border:0}.event-icon{background:#edf3f9;border-radius:10px;padding:9px;color:#456d92}.event strong{font-size:12px}.event small{display:block;color:#a4afbb;margin-top:4px}.role{font-size:11px;padding:6px 10px;border-radius:9px;background:#eef3f8;color:#416b8d;font-weight:750}.modal-backdrop{position:fixed;inset:0;background:#10243b7a;display:grid;place-items:center;padding:20px;z-index:20;backdrop-filter:blur(5px)}.modal{width:min(510px,100%);max-height:92vh;overflow:auto;background:white;border-radius:25px;padding:29px;box-shadow:0 25px 80px #10243b45}.modal h2{letter-spacing:-.035em;margin:0 0 6px;font-size:24px}.modal .field{margin:14px 0}.modal-actions{display:flex;gap:10px;justify-content:end;margin-top:23px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.helpbox{background:#edf4fa;color:#4e6e8b;padding:13px 15px;border-radius:13px;font-size:12px;line-height:1.5;margin-top:14px}.loading{display:grid;place-items:center;min-height:100vh;color:#6b8198}#toast{position:fixed;bottom:26px;right:26px;z-index:40;pointer-events:none}#toast .notice{padding:14px 19px;border-radius:13px;background:#1e3e5e;color:white;box-shadow:0 12px 35px #0b243d33;max-width:350px;font-size:13px}.mobile-menu{display:none}.mini-icon{display:grid;place-items:center}.separator{height:1px;background:#eef1f4;margin:20px 0}.hero-card{padding:29px 32px;background:linear-gradient(115deg,#1b3958,#315e80);color:white;border:0;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.hero-card h2{font-size:23px;letter-spacing:-.035em;margin:7px 0}.hero-card p{color:#c3d8e9;font-size:13px;margin:0}.hero-card .primary{background:white;color:#254e78}.tiny{font-size:11px;color:#a5b1bd}.action-row{display:flex;gap:7px}.action-row button{padding:7px 10px;font-size:11px}.quick-status{border:1px solid #e5ecf2;background:#fff;border-radius:14px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.quick-status select{max-width:170px;padding:8px;min-height:37px}.group-heading{font-size:11px;color:#8294a5;font-weight:800;letter-spacing:.12em;margin:24px 0 12px}.small-logo{width:55px;height:55px;object-fit:contain}.hide{display:none!important}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.section-grid{grid-template-columns:1fr}}@media(max-width:760px){.login-screen{grid-template-columns:1fr;padding:12px}.login-art{min-height:270px;padding:27px}.login-art h1{font-size:45px}.login-art p{font-size:14px}.login-right{padding:30px 0}.sidebar{width:70px;padding:20px 9px}.sidebar .brand span,.sidebar .nav-label,.sidebar .nav-item span,.sidebar .sidebar-bottom .profile div:not(.avatar),.sidebar .sidebar-bottom .ghost{display:none}.sidebar .brand{padding:0 0 22px;justify-content:center}.sidebar .brand-logo{width:43px;height:43px}.nav-item{justify-content:center;padding:13px 0}.sidebar-bottom{padding:14px 0}.sidebar-bottom .profile{justify-content:center}.content{padding:25px 15px 60px}.topline{margin-bottom:23px}.topright{font-size:10px}.pagehead{align-items:start}.pagehead h1{font-size:32px}.stats{gap:10px}.stat{padding:17px}.stat .v{font-size:29px}.stat .iconbox{display:none}.hero-card{padding:22px;display:block}.hero-card .primary{margin-top:16px}.panel{padding:16px}.two{grid-template-columns:1fr}.modal{padding:21px}.searchrow input{max-width:none;flex:1}.searchrow select{max-width:none}.pagehead>.primary{font-size:12px;padding:11px}}

/* Dienstanmeldung und PD-Chat */
.duty-panel{max-width:620px;padding:30px}.duty-intro{display:flex;gap:16px;align-items:center;margin-bottom:24px}.duty-intro .iconbox{width:52px;height:52px;border-radius:16px;background:#eaf2fa;color:#2b5c83;display:grid;place-items:center}.duty-intro h3{font-size:19px}.duty-panel .field{margin:17px 0}.chat-panel{max-width:960px;overflow:hidden}.chat-heading{display:flex;gap:14px;align-items:center;padding:22px 25px;border-bottom:1px solid #edf0f4}.chat-heading strong{display:block;font-size:15px}.chat-heading small{display:block;color:#8d9cac;font-size:12px;margin-top:5px}.chat-heading button{margin-left:auto}.chat-messages{height:min(58vh,570px);min-height:300px;overflow-y:auto;padding:25px;display:flex;flex-direction:column;gap:19px;background:linear-gradient(180deg,#fff,#f9fbfd)}.chat-message{display:flex;gap:12px;align-items:start}.chat-avatar{flex-shrink:0;width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:#e9f1f8;color:#28527c;font-weight:800}.chat-bubble{min-width:0;max-width:85%;padding:13px 16px;border-radius:5px 17px 17px 17px;background:#f0f5fa}.chat-meta{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-bottom:7px}.chat-meta strong{font-size:12px;color:#27425b}.chat-meta time{font-size:10px;color:#92a0ae}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;font-size:13px;color:#354c62}.chat-compose{display:flex;gap:12px;padding:19px 25px;border-top:1px solid #edf0f4}.chat-compose input{flex:1;min-width:0}.chat-compose button{flex-shrink:0}@media(max-width:760px){.chat-compose{padding:13px;gap:7px}.chat-compose button{padding:10px}.chat-heading{padding:15px}.chat-messages{padding:15px}.duty-panel{padding:20px}}

/* Version 3: connected workflows, readable feedback, mobile account access. */
#connection{color:#277c59;max-width:280px;line-height:1.45}#connection.offline{color:#a33b3b;font-weight:700}.topright #sync-now{font-size:11px;padding:8px 10px;white-space:nowrap}.form-error{padding:13px 15px;margin:15px 0;background:#fff0ef;border:1px solid #efc5c2;color:#923536;border-radius:12px;font-size:13px;line-height:1.5}.detail-grid{display:grid;gap:18px;margin:24px 0}.detail-grid small{display:block;color:#6b8198;margin-bottom:8px}.own-message .chat-bubble{background:#e4f0f9}.nav-item[aria-current=page]{box-shadow:inset 3px 0 #254e78}.patrol-card:focus-visible{outline:3px solid #8db6eb;outline-offset:3px}.quick-status{flex-wrap:wrap}.quick-status>span{line-height:1.8}.duty-intro .pill{margin-top:10px}.helpbox{overflow-wrap:anywhere}.modal p{overflow-wrap:anywhere}.event small{color:#718294}.tiny,.hint{color:#718294}.pagehead p{line-height:1.6}.chat-text{user-select:text}.profile strong{overflow-wrap:anywhere}.sidebar{overflow-y:auto}.sidebar .brand{flex-shrink:0}.sidebar-bottom{flex-shrink:0}
@media(max-width:760px){.sidebar .sidebar-bottom .ghost{display:flex;width:100%;padding:10px 0}.sidebar .sidebar-bottom .ghost span{display:none}.topline{align-items:start}.topright{flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:190px}.topright>span:last-child{display:none}#connection{font-size:10px}.crumb{font-size:11px}.duty-intro{align-items:start}.quick-status select{max-width:none}.pagehead{flex-wrap:wrap}.chat-heading{flex-wrap:wrap}.chat-heading button{margin-left:20px}.chat-bubble{max-width:calc(100% - 49px)}.sidebar-bottom .profile{margin-bottom:5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.section-grid>*,.stats>*,.topline>*{min-width:0}.panel{min-width:0}.table-wrap{max-width:100%}

/* Dienstaktionen und Zeiterfassung */
.duty-bar{padding:19px 22px;margin-bottom:26px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-left:4px solid #2d638a}.duty-bar strong{font-size:14px}.duty-bar small{display:block;margin-top:9px;color:#60788f;line-height:1.6;font-variant-numeric:tabular-nums}.duty-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px;font-size:12px;color:#61788d}.duty-actions{display:flex;gap:9px;flex-wrap:wrap}.duty-actions button{font-size:12px}.time-stats .v{font-size:26px;font-variant-numeric:tabular-nums}.time-history{margin-top:22px}.time-history>p{margin:10px 0 16px}.time-history details{max-width:340px;white-space:normal;font-size:12px}.time-history summary{cursor:pointer;color:#254e78}.time-history details p{line-height:1.6;color:#51697e}.pagination{display:flex;gap:12px;justify-content:flex-end;margin-top:18px}#time-person{max-width:400px}#selected-duty-actions{margin:16px 0}#duty-form>[type=submit]{margin-top:12px}@media(max-width:900px){.duty-bar{align-items:start;flex-direction:column}.time-stats .v{font-size:22px}}@media(max-width:480px){.duty-actions{width:100%}.duty-actions button{flex:1;min-width:110px}.time-stats{grid-template-columns:1fr}.time-stats .iconbox{display:grid}}
.month-filters>div{display:grid;gap:8px;min-width:200px}.month-filters label{font-size:12px;color:#526d86;font-weight:700}.month-filters select{max-width:none}.export-link{text-decoration:none;font-size:12px;white-space:nowrap}.month-filters{align-items:end}.time-stats .v{overflow-wrap:anywhere}@media(max-width:760px){.month-filters>div{width:100%;min-width:0}.export-link{white-space:normal}.pagehead p{line-height:1.6}}
.login-eyebrow{color:#a8c5df;margin-bottom:17px}.login-error{color:#b63b45;font-size:13px}.crumb-divider{margin:0 9px;color:#b9c5d0}.header-date{margin-left:10px}.hero-eyebrow{color:#b4d3eb}.panel-spaced{margin-top:18px}#theme-toggle{position:fixed;right:18px;bottom:18px;z-index:35;background:#254e78;color:#fff;border:1px solid #aac1d8;border-radius:100px;padding:11px 16px;font-weight:700;box-shadow:0 5px 20px #12283b26}#toast{bottom:80px}.mini-button{display:block;font-size:11px;padding:7px 10px;margin-top:8px}.warning-panel{background:#fff4df;border:1px solid #d6a254;color:#805b20;padding:17px 21px;border-radius:17px;margin-bottom:22px}.warning-panel p{font-size:13px;line-height:1.6}.time-history pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-width:700px}.time-history details p{line-height:1.6}.time-history .data-table td{vertical-align:top}.content{padding-bottom:100px}
:root[data-theme=dark]{color-scheme:dark;color:#e0e8f3;background:#0c1420}html[data-theme=dark] body{background:#0c1420;color:#e0e8f3}html[data-theme=dark] .sidebar,html[data-theme=dark] .card,html[data-theme=dark] .patrol-card,html[data-theme=dark] .modal,html[data-theme=dark] .quick-status{background:#162234;border-color:#2d3d52;color:#e0e8f3}html[data-theme=dark] .sidebar .brand,html[data-theme=dark] .patrol-name,html[data-theme=dark] .data-table td strong,html[data-theme=dark] .chat-meta strong{color:#e3edfa}html[data-theme=dark] .sidebar-bottom,html[data-theme=dark] .data-table th,html[data-theme=dark] .data-table td,html[data-theme=dark] .event,html[data-theme=dark] .chat-heading,html[data-theme=dark] .chat-compose{border-color:#2d3d52}html[data-theme=dark] .data-table td,html[data-theme=dark] .field label,html[data-theme=dark] .sub,html[data-theme=dark] .pagehead p,html[data-theme=dark] .panel p,html[data-theme=dark] .time-history details p,html[data-theme=dark] .duty-bar small,html[data-theme=dark] .duty-meta,html[data-theme=dark] .crumb{color:#b6c5d7}html[data-theme=dark] .nav-item,html[data-theme=dark] .ghost,html[data-theme=dark] .topright,html[data-theme=dark] .tiny,html[data-theme=dark] .hint,html[data-theme=dark] .event small,html[data-theme=dark] .profile small,html[data-theme=dark] .stat .k,html[data-theme=dark] .stat .foot,html[data-theme=dark] .data-table th,html[data-theme=dark] .nav-label{color:#a4b7ce}html[data-theme=dark] .nav-item:hover,html[data-theme=dark] .nav-item.active,html[data-theme=dark] .secondary,html[data-theme=dark] .role,html[data-theme=dark] .avatar,html[data-theme=dark] .circle,html[data-theme=dark] .iconbox,html[data-theme=dark] .event-icon{background:#243951;color:#c4dff8}html[data-theme=dark] .ghost:hover{background:#23364c}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#101b2a;color:#e3edf8;border-color:#41536c}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#91a6bd}html[data-theme=dark] .helpbox{background:#20384f;color:#c5daed}html[data-theme=dark] .danger,html[data-theme=dark] .form-error{background:#4b2832;color:#ffc5ca;border-color:#804954}html[data-theme=dark] .warning-panel{background:#443824;color:#ffe0a1;border-color:#8e7443}html[data-theme=dark] .chat-messages{background:#101b2a}html[data-theme=dark] .chat-bubble{background:#24364d}html[data-theme=dark] .own-message .chat-bubble{background:#244563}html[data-theme=dark] .chat-text{color:#d5e5f5}html[data-theme=dark] .pill{background:#2a394b;color:#c6d6e7}html[data-theme=dark] .pill.green{background:#183e34;color:#92e5ba}html[data-theme=dark] .pill.red{background:#492b35;color:#ffb2bb}html[data-theme=dark] .pill.amber{background:#493b24;color:#f4d497}html[data-theme=dark] .pill.blue{background:#233d5c;color:#acd3fd}html[data-theme=dark] .primary{background:#376b9c;color:#fff}html[data-theme=dark] .hero-card{background:linear-gradient(115deg,#17334e,#285273);color:#fff}html[data-theme=dark] .hero-card .primary{background:#e5eff9;color:#193d61}html[data-theme=dark] .login-art{background:linear-gradient(155deg,#102137,#214867)}html[data-theme=dark] #connection{color:#9cdbbb}html[data-theme=dark] #connection.offline{color:#ffb2bb}html[data-theme=dark] .linkbtn,html[data-theme=dark] summary{color:#a6cdf6}html[data-theme=dark] #theme-toggle{background:#d7e5f5;color:#17344e}html[data-theme=dark] .muted,html[data-theme=dark] .empty{color:#a6b6c9}
