:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d3622;background:#f6f9f6;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 #9bdda8;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,#133219,#286234 70%,#387043);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:#c8e1cd;font-size:18px;line-height:1.65;max-width:430px}.art-foot{color:#b2d5b9;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:#809b85;font-weight:800}.login-box h2{font-size:38px;letter-spacing:-.045em;margin:14px 0 8px}.sub{color:#869b8a;line-height:1.6}.field{display:grid;gap:8px;margin:20px 0}.field label{font-size:13px;font-weight:700;color:#516856}input,select,textarea{width:100%;background:#fff;border:1px solid #e2ece4;border-radius:13px;padding:13px 14px;color:#203a25;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:#316c3d;color:white;box-shadow:0 5px 15px #2b653626}.primary:hover{background:#24592f}.secondary{background:#ebf3ec;color:#315e3a}.ghost{background:transparent;color:#6e8a74}.ghost:hover{background:#eef5f0}.danger{background:#fff0ef;color:#b53e43}.wide{width:100%}.hint{font-size:12px;color:#9fafa2;margin-top:18px}.shell{display:flex;min-height:100vh}.sidebar{width:255px;background:#fff;border-right:1px solid #eaf1eb;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0;padding:27px 16px}.sidebar .brand{padding:0 12px 28px;color:#24482b}.sidebar .brand-logo{background:#ecf5ee}.nav-label{font-size:10px;letter-spacing:.17em;color:#a6b7a9;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:#758f7a;font-weight:650;margin:3px 0}.nav-item:hover{background:#f5f9f6}.nav-item.active{background:#ecf6ee;color:#2b6a38}.nav-item svg,.mini-icon svg{width:19px;height:19px}.sidebar-bottom{margin-top:auto;border-top:1px solid #eff3f0;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:#eaf5ec;color:#356f40;font-weight:800}.profile strong{display:block;font-size:13px}.profile small{color:#96ab9a;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:#96a99a;font-size:13px}.topright{display:flex;align-items:center;gap:12px;color:#809785;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:#889d8d;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 #ebf2ec;border-radius:21px;box-shadow:0 8px 28px #27492e08}.stat{padding:23px 25px}.stat .k{color:#869d8b;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:#a4b6a8}.stat .iconbox{float:right;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eff6f0;color:#578c61}.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:#9fb0a2;font-size:12px;margin:5px 0 0}.linkbtn{background:none;border:0;color:#3c7e49;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:#a2b4a6;font-weight:800;padding:13px 12px;border-bottom:1px solid #eef3ef}.data-table td{font-size:13px;padding:16px 12px;border-bottom:1px solid #f1f5f2;color:#516a56}.data-table tr:last-child td{border-bottom:0}.data-table td strong{color:#26422c}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:100px;font-size:11px;font-weight:700;background:#eff4f0;color:#6d8672}.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:#edf8ef;color:#448d53}.patrol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:15px}.patrol-card{padding:19px;border:1px solid #eaf1eb;background:white;border-radius:18px;text-align:left;transition:.15s;min-height:160px}.patrol-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #316c3d10;border-color:#c0dec6}.patrol-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.patrol-name{font-weight:800;color:#28482e}.patrol-type{font-size:11px;color:#a0b4a4;margin:7px 0 16px}.patrol-members{display:flex;gap:5px;flex-wrap:wrap;font-size:12px;color:#6a8670;min-height:24px}.circle{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#eff6f0;color:#457b50;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:#9db0a1}.empty{text-align:center;padding:40px 16px;color:#9eb0a2}.events{display:grid;gap:0}.event{padding:14px 0;border-bottom:1px solid #f0f4f1;display:flex;gap:12px;align-items:start}.event:last-child{border:0}.event-icon{background:#eff7f0;border-radius:10px;padding:9px;color:#51865b}.event strong{font-size:12px}.event small{display:block;color:#a7b8ab;margin-top:4px}.role{font-size:11px;padding:6px 10px;border-radius:9px;background:#f0f6f1;color:#4c8257;font-weight:750}.modal-backdrop{position:fixed;inset:0;background:#16351c7a;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 #16351c45}.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:#eff8f1;color:#578260;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:#729178}#toast{position:fixed;bottom:26px;right:26px;z-index:40;pointer-events:none}#toast .notice{padding:14px 19px;border-radius:13px;background:#285431;color:white;box-shadow:0 12px 35px #12361933;max-width:350px;font-size:13px}.mobile-menu{display:none}.mini-icon{display:grid;place-items:center}.separator{height:1px;background:#eff3f0;margin:20px 0}.hero-card{padding:29px 32px;background:linear-gradient(115deg,#244f2d,#3d7448);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:#c9e3ce;font-size:13px;margin:0}.hero-card .primary{background:white;color:#316c3d}.tiny{font-size:11px;color:#a9b9ac}.action-row{display:flex;gap:7px}.action-row button{padding:7px 10px;font-size:11px}.quick-status{border:1px solid #e7f0e9;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:#87a08c;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:#ecf8ef;color:#387645;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 #eef3ef}.chat-heading strong{display:block;font-size:15px}.chat-heading small{display:block;color:#92a796;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,#fafcfa)}.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:#ebf6ed;color:#356f40;font-weight:800}.chat-bubble{min-width:0;max-width:85%;padding:13px 16px;border-radius:5px 17px 17px 17px;background:#f2f8f3}.chat-meta{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-bottom:7px}.chat-meta strong{font-size:12px;color:#2f5336}.chat-meta time{font-size:10px;color:#96aa9a}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;font-size:13px;color:#3c5b42}.chat-compose{display:flex;gap:12px;padding:19px 25px;border-top:1px solid #eef3ef}.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:#729178;margin-bottom:8px}.own-message .chat-bubble{background:#e7f6ea}.nav-item[aria-current=page]{box-shadow:inset 3px 0 #316c3d}.patrol-card:focus-visible{outline:3px solid #9bdda8;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:#768f7b}.tiny,.hint{color:#768f7b}.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 #3b7c48}.duty-bar strong{font-size:14px}.duty-bar small{display:block;margin-top:9px;color:#67886e;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:#68866e}.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:#316c3d}.time-history details p{line-height:1.6;color:#58775e}.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:#5a7e61;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:#b0d7b8;margin-bottom:17px}.login-error{color:#b63b45;font-size:13px}.crumb-divider{margin:0 9px;color:#bccdc0}.header-date{margin-left:10px}.hero-eyebrow{color:#bce3c4}.panel-spaced{margin-top:18px}#theme-toggle{position:fixed;right:18px;bottom:18px;z-index:35;background:#316c3d;color:#fff;border:1px solid #b1d1b7;border-radius:100px;padding:11px 16px;font-weight:700;box-shadow:0 5px 20px #18351e26}#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:#e3f0e6;background:#0f1d12}html[data-theme=dark] body{background:#0f1d12;color:#e3f0e6}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:#1a2f1f;border-color:#334c38;color:#e3f0e6}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:#e6f7ea}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:#334c38}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:#bbd2c0}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:#aac8b0}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:#2b4a31;color:#ccf0d3}html[data-theme=dark] .ghost:hover{background:#29462f}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#142618;color:#e6f5e9;border-color:#47664d}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#98b69e}html[data-theme=dark] .helpbox{background:#27482e;color:#cbe7d1}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:#142618}html[data-theme=dark] .chat-bubble{background:#2a4730}html[data-theme=dark] .own-message .chat-bubble{background:#2d5a36}html[data-theme=dark] .chat-text{color:#daf0de}html[data-theme=dark] .pill{background:#2f4634;color:#cbe2d0}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:#2c5334;color:#b8f1c3}html[data-theme=dark] .primary{background:#468d54;color:#fff}html[data-theme=dark] .hero-card{background:linear-gradient(115deg,#1f4627,#33683e);color:#fff}html[data-theme=dark] .hero-card .primary{background:#e8f6eb;color:#24562e}html[data-theme=dark] .login-art{background:linear-gradient(155deg,#16311b,#2c5c35)}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:#b2eabd}html[data-theme=dark] #theme-toggle{background:#dcf0e0;color:#1f4627}html[data-theme=dark] .muted,html[data-theme=dark] .empty{color:#abc4b0}
