:root{--bg:#f3f6f9;--surface:#fff;--text:#182532;--muted:#667686;--primary:#0f4c81;--primary-dark:#0a355b;--red:#c00510;--dark:#0d1720;--line:#dce4eb;--soft:#eef3f7;--green:#19734a;--shadow:0 10px 28px rgba(24,37,50,.07);--radius:16px;--sidebar:238px;--top:64px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{position:fixed;z-index:80;top:0;left:0;right:0;height:var(--top);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);padding:0 28px}.brand-area,.top-actions{display:flex;align-items:center}.logo{width:210px;height:auto;display:block}.product-name{border-left:1px solid var(--line);margin-left:20px;padding-left:18px;display:flex;flex-direction:column;line-height:1.2}.product-name strong{font-size:18px;color:var(--primary)}.product-name span{font-size:11px;color:var(--muted);margin-top:4px}.top-actions{gap:10px}.search-trigger,.knowledge-link{height:42px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 13px;display:flex;align-items:center;gap:8px;color:#3c5062}.search-trigger:hover,.knowledge-link:hover{border-color:#bfcdda;background:#f9fbfd}.search-trigger kbd{font-size:10px;border:1px solid #d3dce4;background:#f4f7f9;padding:2px 5px;border-radius:5px;color:#7b8996}.knowledge-link{color:var(--primary);font-weight:700}.avatar-btn{width:42px;height:42px;border:none;border-radius:50%;background:var(--primary);color:#fff;font-weight:800}.mobile-menu{display:none;border:0;background:none;font-size:24px;color:var(--primary);margin-right:10px}.sidebar{position:fixed;z-index:70;top:var(--top);bottom:0;left:0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:22px 14px}.main-nav{display:grid;gap:6px}.sidebar-bottom{margin-top:auto;display:grid;gap:6px}.nav-item{width:100%;border:0;background:transparent;border-radius:10px;padding:11px 12px;display:flex;align-items:center;gap:11px;color:#516272;text-align:left;font-weight:700}.nav-item:hover{background:#f3f7fa;color:var(--primary)}.nav-item.active{background:#eaf2f8;color:var(--primary);box-shadow:inset 3px 0 var(--red)}.nav-icon{width:24px;text-align:center;font-size:19px}.nav-badge{margin-left:auto;min-width:21px;height:21px;border-radius:10px;background:var(--red);color:#fff;font-size:11px;display:grid;place-items:center;padding:0 5px}.content{margin-left:var(--sidebar);padding:calc(var(--top) + 34px) 38px 48px;max-width:1660px}.view{display:none}.view.active{display:block}.page-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:26px}.page-head.compact{margin-bottom:24px}.eyebrow{font-size:11px;font-weight:900;color:var(--red);letter-spacing:.11em;margin-bottom:5px}.page-head h1{font-size:36px;line-height:1.1;margin:0 0 7px;color:var(--primary-dark)}.page-head p{margin:0;color:var(--muted);font-size:16px}.primary-btn,.success-btn,.ghost-btn,.outline-btn,.text-btn,.danger-outline{border-radius:10px;min-height:42px;padding:9px 15px;font-weight:800}.primary-btn{background:var(--primary);border:1px solid var(--primary);color:#fff}.primary-btn:hover{background:var(--primary-dark)}.success-btn{background:#e8f6ee;border:1px solid #bfe1cc;color:var(--green)}.ghost-btn,.outline-btn{background:#fff;border:1px solid #cfd9e2;color:#536575}.outline-btn{color:var(--primary)}.text-btn{border:0;background:transparent;color:var(--primary);padding-left:3px;padding-right:3px}.danger-outline{background:#fff;border:1px solid #e5b9bd;color:#a01922}.full{width:100%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.72fr);gap:20px}.span-2{grid-column:1/-1}.meal-highlight{padding:25px 28px;border-top:3px solid var(--red)}.card-topline{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:700}.pill{padding:4px 8px;border-radius:999px;background:#eff4f7;font-size:10px;font-weight:900;letter-spacing:.04em}.pill.red{background:#fff0f0;color:var(--red)}.pill.blue{background:#eaf2f8;color:var(--primary)}.meal-main{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:17px 0}.meal-main h2{font-size:26px;color:var(--primary-dark);margin:0 0 6px}.meal-main p{margin:0;color:#55687a;font-size:16px;max-width:670px}.attendance-ring{width:92px;height:92px;border-radius:50%;border:7px solid #e7edf2;border-top-color:var(--red);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 92px}.attendance-ring strong{font-size:26px;line-height:1}.attendance-ring span{font-size:11px;color:var(--muted);margin-top:4px}.meal-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.meal-actions .text-btn{margin-left:auto}.quick-card{padding:22px}.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:17px}.section-title-row h2{font-size:19px;color:var(--primary-dark);margin:0}.section-title-row p{margin:3px 0 0;color:var(--muted);font-size:13px}.section-title-row button{border:0;background:transparent;color:var(--primary);font-weight:700}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quick-grid button{border:1px solid #e1e7ed;background:#f8fafc;border-radius:11px;min-height:84px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;color:#3d5265}.quick-grid button:hover{background:#eef5fa;border-color:#cbdbe7;color:var(--primary);transform:translateY(-1px)}.quick-grid span{font-size:22px}.quick-grid b{font-size:12px}.feed-card{padding:24px 26px}.filter-btn{border:1px solid var(--line)!important;background:#fff!important;border-radius:9px;padding:7px 10px}.feed-item{display:grid;grid-template-columns:44px 1fr;gap:13px;padding:19px 0;border-top:1px solid #e8edf2}.feed-item:first-child{border-top:0;padding-top:2px}.feed-avatar{width:42px;height:42px;border-radius:11px;background:#eaf0f5;color:#435b6e;display:grid;place-items:center;font-size:11px;font-weight:900}.feed-avatar.blue{background:#e7f0f8;color:var(--primary)}.feed-avatar.green{background:#e8f5ee;color:var(--green)}.feed-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#7a8996;font-size:12px}.feed-meta strong{color:#384b5c}.tag{padding:3px 7px;border-radius:7px;background:#fff0f0;color:var(--red);font-weight:800}.tag.neutral{background:#eef3f7;color:#526778}.tag.green{background:#e9f6ef;color:var(--green)}.feed-body h3{font-size:17px;margin:5px 0 5px;color:#1e3446}.feed-body p{font-size:14px;margin:0;color:#536779}.feed-actions{display:flex;gap:16px;margin-top:12px}.feed-actions button{border:0;background:none;padding:0;color:#71808d;font-size:12px}.feed-actions button:hover{color:var(--primary)}.events-card,.poll-mini{padding:22px}.event-row{display:grid;grid-template-columns:47px 1fr;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #ebeff3}.event-row:first-of-type{border-top:0}.date-box{width:44px;border:1px solid #d9e2e9;border-radius:9px;text-align:center;overflow:hidden}.date-box strong{display:block;font-size:17px;color:var(--primary);padding:4px 0 0}.date-box span{display:block;background:#f0f4f7;font-size:9px;font-weight:900;padding:2px}.event-row>div:last-child{display:flex;flex-direction:column}.event-row strong{font-size:13px}.event-row span{font-size:11px;color:var(--muted)}.poll-mini h3{font-size:16px;margin:8px 0 15px}.poll-icon{font-size:22px;color:var(--red)}.mini-result{display:grid;grid-template-columns:50px 1fr 34px;gap:8px;align-items:center;margin:9px 0;font-size:12px}.mini-result>div{height:7px;background:#edf1f4;border-radius:999px;overflow:hidden}.mini-result i{display:block;height:100%;background:var(--primary);border-radius:999px}.mini-result b{text-align:right}.chat-layout{min-height:650px;display:grid;grid-template-columns:270px 1fr;overflow:hidden}.channel-list{border-right:1px solid var(--line);background:#f9fbfc;padding:14px}.channel-head{display:flex;justify-content:space-between;padding:9px 8px 15px}.channel-head button{border:0;background:none;font-size:19px}.channel{width:100%;border:0;background:transparent;border-radius:10px;padding:10px;display:grid;grid-template-columns:25px 1fr auto;gap:8px;align-items:center;text-align:left;color:#536574}.channel:hover,.channel.active{background:#eaf2f8;color:var(--primary)}.channel>span{font-size:19px}.channel div{display:flex;flex-direction:column}.channel b{font-size:13px}.channel small{font-size:10px;color:#8795a0}.channel i{font-style:normal;background:var(--red);color:#fff;border-radius:10px;font-size:10px;padding:2px 6px}.chat-main{display:grid;grid-template-rows:66px 1fr 67px;min-width:0}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line)}.chat-head>div:first-child{display:flex;flex-direction:column}.chat-head strong{color:var(--primary-dark);font-size:16px}.chat-head span{font-size:10px;color:var(--muted)}.chat-head button{border:0;background:transparent;font-size:18px;color:#617484}.messages{padding:20px 24px;overflow:auto;background:#fff}.day-separator{text-align:center;margin:3px 0 18px}.day-separator span{font-size:10px;color:#84919b;background:#f2f5f7;padding:4px 9px;border-radius:99px}.message{display:grid;grid-template-columns:42px 1fr;gap:10px;margin-bottom:18px;max-width:760px}.message.mine{margin-left:auto}.message-meta{display:flex;gap:9px;align-items:center}.message-meta strong{font-size:12px}.message-meta span{font-size:10px;color:#8794a0}.message p{margin:3px 0 0;background:#f2f6f9;padding:10px 12px;border-radius:4px 12px 12px 12px;color:#374e60}.message.mine p{background:#e8f1f8;border-radius:12px 4px 12px 12px}.chat-compose{border-top:1px solid var(--line);display:grid;grid-template-columns:38px 1fr 38px 44px;gap:6px;align-items:center;padding:10px 14px}.chat-compose input{height:43px;border:1px solid #d6e0e7;border-radius:10px;padding:0 13px;outline:none}.chat-compose input:focus{border-color:#8fb4d1;box-shadow:0 0 0 3px rgba(15,76,129,.08)}.chat-compose button{height:40px;border:0;background:transparent;color:#647687;font-size:18px}.chat-compose .send-btn{border-radius:9px;background:var(--primary);color:#fff}.two-col{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.65fr);gap:20px}.meal-detail{padding:28px}.meal-detail h2{font-size:27px;color:var(--primary-dark);margin:14px 0 6px}.lead{font-size:16px;color:#56697a}.meal-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.meal-status-grid>div{background:#f6f9fb;border:1px solid #e3e9ee;border-radius:11px;padding:13px}.meal-status-grid span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.meal-status-grid strong{font-size:21px;color:var(--primary-dark)}.participation{display:grid;grid-template-columns:auto auto 1fr auto;gap:8px;margin-bottom:23px}.participation input{border:1px solid #d4dee6;border-radius:10px;padding:0 12px;min-width:0}.participants{border:1px solid #e0e7ec;border-radius:12px;overflow:hidden}.table-head,.person-row{display:grid;grid-template-columns:1.1fr .65fr 1.25fr;gap:10px;align-items:center;padding:11px 14px}.table-head{background:#f2f6f9;font-size:10px;font-weight:900;color:#71818f;text-transform:uppercase}.person-row{border-top:1px solid #e8edf1;font-size:12px}.person-row.current{background:#fbfdff}.person-row>span:first-child{display:flex;align-items:center;gap:8px;font-weight:700}.mini-avatar{width:27px;height:27px;border-radius:8px;background:#eaf0f5;display:grid;place-items:center;font-style:normal;font-size:9px}.status{font-weight:800}.status.yes{color:var(--green)}.status.no{color:#8b5559}.status.open{color:#8a7a53}.stack{display:grid;gap:20px;align-content:start}.stack .card{padding:21px}.agenda{display:grid}.agenda div{padding:12px 0;border-top:1px solid #e8edf2;display:flex;flex-direction:column}.agenda div:first-child{border-top:0}.agenda b{font-size:12px;color:var(--primary)}.agenda span{font-size:13px}.note-card{display:flex;gap:13px}.big-icon{width:38px;height:38px;border-radius:50%;background:#eaf2f8;color:var(--primary);display:grid;place-items:center;font-weight:900}.note-card h3{margin:0 0 4px}.note-card p{margin:0;color:var(--muted);font-size:12px}.toolbar{padding:13px 15px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:18px}.inline-search{display:flex;align-items:center;gap:7px;flex:1}.inline-search input{border:0;outline:0;width:100%;font-size:14px}.tabs{display:flex;gap:4px}.tabs button{border:0;background:transparent;padding:8px 11px;border-radius:8px;color:#617383;font-size:12px;font-weight:700}.tabs button.active{background:#eaf2f8;color:var(--primary)}.question-list{display:grid;gap:13px}.question-card{display:grid;grid-template-columns:62px 1fr;padding:20px 23px}.vote-box{display:flex;flex-direction:column;align-items:center;border-right:1px solid #e6ebef;margin-right:20px}.vote-box button{border:0;background:transparent;color:#7a8b98}.vote-box b{font-size:18px;color:var(--primary)}.question-content h2{font-size:18px;margin:7px 0;color:#23394c}.question-content p{margin:0;color:#5c6f80}.question-footer{display:flex;gap:14px;align-items:center;margin-top:13px;font-size:11px;color:#70808d}.solved{color:var(--green);font-weight:800}.open-status{color:#9a7524}.knowledge-promote{margin-left:auto;border:0;background:#eef5fa;color:var(--primary);border-radius:8px;padding:6px 9px;font-size:10px;font-weight:800}.stats-row{display:grid;grid-template-columns:repeat(3,160px);gap:12px;margin-bottom:17px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;display:flex;flex-direction:column}.stat-card strong{font-size:24px;color:var(--primary)}.stat-card span{font-size:11px;color:var(--muted)}.idea-board{display:grid;gap:14px}.idea-card{padding:22px;display:grid;grid-template-columns:75px 1fr;gap:20px}.idea-votes{border-right:1px solid #e4eaee;text-align:center;display:flex;flex-direction:column;align-items:center}.idea-votes button{border:0;background:#eef5fa;color:var(--primary);border-radius:8px;padding:4px 9px}.idea-votes strong{font-size:20px;margin-top:4px}.idea-votes span{font-size:9px;color:var(--muted)}.idea-card h2{font-size:18px;margin:7px 0 5px}.idea-card p{margin:0 0 12px;color:#596d7e}.stage{display:inline-flex;font-size:9px;font-weight:900;padding:4px 7px;border-radius:7px}.stage.review{background:#fff5df;color:#8b6419}.stage.planned{background:#eaf2f8;color:var(--primary)}.stage.done{background:#e9f6ef;color:var(--green)}.poll-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.poll-card{padding:25px}.poll-card h2{font-size:20px;color:var(--primary-dark);margin:14px 0 4px}.poll-card>p{color:var(--muted);margin:0 0 18px}.poll-options{display:grid;gap:9px}.poll-options button{display:grid;grid-template-columns:85px 1fr 42px;gap:11px;align-items:center;border:1px solid #dfe6eb;background:#fff;border-radius:10px;padding:11px;text-align:left}.poll-options button:hover{border-color:#a8c2d7;background:#f8fbfd}.poll-options span{font-weight:700}.poll-options i{height:8px;background:#edf1f4;border-radius:9px;overflow:hidden}.poll-options i b{display:block;height:100%;background:var(--primary)}.poll-options em{font-style:normal;text-align:right;font-size:11px}.poll-foot{display:flex;justify-content:space-between;margin-top:16px;color:#7a8995;font-size:10px}.empty-state{padding:60px;text-align:center;max-width:640px}.empty-state>div{font-size:46px;color:#9aa8b3}.empty-state h2{color:var(--primary-dark)}.empty-state p{color:var(--muted)}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.settings-card{padding:24px}.settings-card h2{margin:0 0 17px;color:var(--primary-dark)}.settings-card label:not(.switch-row){display:block;font-size:11px;font-weight:800;margin:12px 0;color:#596d7f}.settings-card label input{display:block;width:100%;margin-top:5px;border:1px solid #d5dfe7;border-radius:9px;padding:10px}.switch-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid #e8edf1}.search-overlay,.modal{position:fixed;inset:0;z-index:200;display:none}.search-overlay.open,.modal.open{display:flex}.search-overlay{background:rgba(8,17,25,.5);align-items:flex-start;justify-content:center;padding-top:12vh;backdrop-filter:blur(3px)}.search-modal{width:min(690px,calc(100vw - 28px));background:#fff;border-radius:16px;box-shadow:0 25px 90px rgba(0,0,0,.28);overflow:hidden}.global-search{height:66px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;padding:0 19px;border-bottom:1px solid var(--line)}.global-search span{font-size:24px;color:var(--primary)}.global-search input{border:0;outline:0;font-size:17px}.global-search kbd{border:1px solid #d5dee5;background:#f4f7f9;border-radius:6px;padding:3px 7px;color:#7f8d98;font-size:10px}.search-hints{display:flex;gap:6px;align-items:center;padding:12px 18px;border-bottom:1px solid #eef1f4}.search-hints span{font-size:10px;color:#88959f}.search-hints button{border:1px solid #dde5eb;background:#f8fafb;border-radius:8px;padding:6px 8px;font-size:10px;color:#566a7a}.search-results{max-height:360px;overflow:auto;padding:9px}.search-empty{padding:26px;text-align:center;color:#85929d}.search-result{border:0;background:#fff;width:100%;display:block;text-align:left;padding:11px;border-radius:9px}.search-result:hover{background:#f1f6f9}.search-result strong{display:block;color:#274156}.search-result span{font-size:11px;color:#7b8995}.modal{align-items:center;justify-content:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(8,17,25,.6)}.modal-card{position:relative;background:#fff;width:min(560px,96vw);max-height:88vh;overflow:auto;border-radius:17px;box-shadow:0 26px 90px rgba(0,0,0,.3);padding:27px}.modal-close{position:absolute;right:12px;top:10px;border:0;background:#f0f4f6;border-radius:50%;width:34px;height:34px;font-size:20px}.modal-card h2{color:var(--primary-dark);margin:0 0 7px}.modal-card p{color:var(--muted)}.modal-form{display:grid;gap:12px;margin-top:18px}.modal-form label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#5b6d7c}.modal-form input,.modal-form textarea,.modal-form select{border:1px solid #d6e0e7;border-radius:9px;padding:10px;font:inherit}.modal-form textarea{min-height:110px;resize:vertical}.toast{position:fixed;z-index:300;right:24px;bottom:24px;background:#0d1720;color:#fff;border-radius:11px;padding:11px 15px;box-shadow:0 10px 35px rgba(0,0,0,.25);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:1050px){:root{--sidebar:210px}.content{padding-left:26px;padding-right:26px}.dashboard-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.two-col{grid-template-columns:1fr}.poll-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){:root{--top:68px}.topbar{padding:0 13px}.mobile-menu{display:block}.logo{width:155px}.product-name{display:none}.search-label,.search-trigger kbd,.knowledge-link{display:none}.sidebar{transform:translateX(-100%);transition:.22s;width:260px;box-shadow:8px 0 30px rgba(0,0,0,.12)}.sidebar.open{transform:translateX(0)}.content{margin-left:0;padding:calc(var(--top) + 22px) 14px 35px}.page-head{align-items:flex-start;flex-direction:column;gap:15px}.page-head h1{font-size:29px}.page-head p{font-size:14px}.dashboard-grid{gap:13px}.meal-highlight,.quick-card,.feed-card,.events-card,.poll-mini{padding:18px}.meal-main{align-items:flex-start}.attendance-ring{width:75px;height:75px;flex-basis:75px}.quick-grid{grid-template-columns:repeat(3,1fr)}.meal-actions .text-btn{margin-left:0}.chat-layout{grid-template-columns:1fr}.channel-list{display:none}.chat-main{min-height:620px}.meal-status-grid{grid-template-columns:repeat(2,1fr)}.participation{grid-template-columns:1fr 1fr}.participation input{grid-column:1/-1;min-height:42px}.participation .outline-btn{grid-column:1/-1}.table-head,.person-row{grid-template-columns:1fr .8fr}.table-head span:last-child,.person-row span:last-child{display:none}.toolbar{align-items:stretch;flex-direction:column}.stats-row{grid-template-columns:repeat(3,1fr)}.question-card{grid-template-columns:42px 1fr;padding:16px}.vote-box{margin-right:12px}.idea-card{grid-template-columns:52px 1fr}.idea-votes{margin-right:2px}.settings-grid{grid-template-columns:1fr}}@media(max-width:460px){.logo{width:138px}.top-actions{gap:5px}.search-trigger,.avatar-btn{width:38px;height:38px;padding:0;justify-content:center}.meal-main{display:block}.attendance-ring{margin-top:17px}.quick-grid{grid-template-columns:repeat(2,1fr)}.feed-item{grid-template-columns:36px 1fr}.feed-avatar{width:36px;height:36px}.feed-actions{gap:8px;flex-wrap:wrap}.stats-row{grid-template-columns:1fr}.poll-options button{grid-template-columns:70px 1fr 35px}.modal-card{padding:22px 18px}}

/* === Werkstattboard + Rollen / Benutzerverwaltung === */
.top-role-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 10px;border-radius:999px;background:#eef4f9;border:1px solid #d5e0e9;color:var(--primary);font-size:11px;font-weight:900;letter-spacing:.03em}.workshop-badge{background:#edf4fa;color:var(--primary);border:1px solid #cfdeea}.head-action-stack{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.permission-hint{font-size:12px;color:var(--muted);font-weight:800}.week-toolbar{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:15px 18px;margin-bottom:17px}.week-nav{display:flex;align-items:center;gap:8px}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--primary);font-size:24px;line-height:1}.week-title{text-align:center;display:flex;flex-direction:column}.week-title strong{font-size:17px;color:var(--primary-dark)}.week-title span{font-size:12px;color:var(--muted);margin-top:2px}.legend{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);font-weight:700}.dot{width:8px;height:8px;display:inline-block;border-radius:50%;margin-right:4px}.dot.planned{background:#2e73a6}.dot.progress{background:#d99116}.dot.blocked{background:#c00510}.dot.done{background:#2e8a5a}.workshop-note{display:none;margin:-3px 0 14px;padding:10px 13px;border:1px solid #d8e3ec;background:#f8fbfd;border-radius:10px;color:#546879;font-size:12px}.workshop-board{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;align-items:start;overflow-x:auto;padding-bottom:5px}.day-column{min-width:210px;background:#e9eef3;border:1px solid #d5dee6;border-radius:13px;overflow:hidden}.day-column>header{background:#fff;padding:12px 13px;border-bottom:1px solid #d7e0e8;display:flex;align-items:center;justify-content:space-between}.day-column>header>div{display:flex;flex-direction:column}.day-column>header strong{font-size:14px;color:var(--primary-dark)}.day-date{font-size:11px;color:var(--muted);margin-top:2px}.task-count{font-size:11px;color:#6a7b89;background:#eef3f7;border-radius:999px;padding:3px 7px}.task-list{min-height:430px;padding:10px;display:grid;gap:9px;align-content:start}.task-list.drag-over{background:#dce8f2}.work-task{background:#fff;border:1px solid #d9e2e9;border-left:4px solid #2e73a6;border-radius:10px;padding:11px;box-shadow:0 4px 12px rgba(29,47,64,.05);transition:.15s ease}.work-task[draggable="true"]{cursor:grab}.work-task[draggable="true"]:active{cursor:grabbing}.work-task.status-progress{border-left-color:#d99116}.work-task.status-blocked{border-left-color:#c00510}.work-task.status-done{border-left-color:#2e8a5a;opacity:.78}.task-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.task-top .priority{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 6px;background:#eef3f7;color:#657789;white-space:nowrap}.task-top .priority.high{background:#fff0f1;color:#a40a13}.task-top .priority.medium{background:#fff7e8;color:#9a6712}.task-top .priority.low{background:#eef6fb;color:#2e6c99}.work-task h3{font-size:13px;line-height:1.35;margin:7px 0 6px;color:#203343}.task-order{font-size:10px;color:#8a98a5;font-weight:800;letter-spacing:.035em}.task-meta{display:grid;gap:4px;margin-top:8px;font-size:11px;color:#5e7181}.task-meta span{display:flex;gap:6px}.task-meta b{color:#344b5e}.task-status-row{margin-top:9px;padding-top:8px;border-top:1px solid #edf1f4;display:flex;align-items:center;justify-content:space-between;gap:6px}.task-status{appearance:none;border:1px solid #d5dee6;background:#f8fafb;border-radius:7px;min-height:31px;padding:4px 24px 4px 8px;color:#43596b;font:700 10px/1.2 Arial,Helvetica,sans-serif}.task-edit{border:0;background:transparent;color:var(--primary);font-size:11px;font-weight:800;padding:4px}.workshop-footer-info{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:16px;padding:17px 20px}.workshop-footer-info>div{display:flex;flex-direction:column}.workshop-footer-info strong{color:var(--primary-dark);font-size:13px}.workshop-footer-info span{color:var(--muted);font-size:12px;margin-top:3px}
/* Rollen */
.admin-only{display:none!important}.leader-admin-only{display:none!important}.employee-only-note{display:none}body[data-role="admin"] .admin-only{display:flex!important}body[data-role="admin"] section.admin-only{display:none!important}body[data-role="admin"] section.admin-only.active{display:block!important}body[data-role="admin"] .leader-admin-only,body[data-role="leader"] .leader-admin-only{display:inline-flex!important}body[data-role="employee"] .employee-only-note{display:block}.role-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.role-card{padding:21px}.role-card h2{font-size:18px;color:var(--primary-dark);margin:12px 0 6px}.role-card p{color:var(--muted);margin:0 0 12px}.role-card ul{margin:0;padding-left:18px;color:#506475;font-size:13px}.role-chip{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.04em}.role-chip.employee{background:#eef3f7;color:#536a7c}.role-chip.leader{background:#fff6e7;color:#91600d}.role-chip.admin{background:#eaf2f8;color:var(--primary)}.user-admin-card{padding:20px}.user-count{display:flex;align-items:baseline;gap:6px}.user-count strong{font-size:25px;color:var(--primary)}.user-count span{font-size:11px;color:var(--muted)}.user-table{display:grid;margin-top:10px;border:1px solid var(--line);border-radius:11px;overflow:hidden}.user-row{display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(130px,.8fr) minmax(140px,.8fr) 90px 42px;gap:12px;align-items:center;padding:11px 13px;background:#fff;border-bottom:1px solid #edf1f4}.user-row:last-child{border-bottom:0}.user-row.head{background:#f7f9fb;color:#70808e;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.user-identity{display:flex;align-items:center;gap:10px;min-width:0}.user-identity .mini-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eaf2f8;color:var(--primary);font-size:10px;font-weight:900;font-style:normal;flex:0 0 32px}.user-identity>span{display:flex;flex-direction:column;min-width:0}.user-identity strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-identity small{font-size:10px;color:var(--muted)}.role-select,.team-select{width:100%;min-height:34px;border:1px solid #d6e0e8;border-radius:8px;background:#fff;color:#42586a;padding:5px 7px;font-weight:700;font-size:11px}.active-toggle{display:flex;align-items:center;gap:6px;font-size:11px;color:#526879}.user-more{border:0;background:transparent;color:#71818f;font-size:18px}.permission-matrix-card{padding:20px;margin-top:18px}.permission-matrix{display:grid;border:1px solid var(--line);border-radius:11px;overflow:hidden}.permission-matrix>div{display:grid;grid-template-columns:1fr 90px 110px 90px;border-bottom:1px solid #edf1f4}.permission-matrix>div:last-child{border-bottom:0}.permission-matrix span,.permission-matrix b{padding:10px 12px;font-size:12px}.permission-matrix b{text-align:center;color:#476074}.permission-matrix .pm-head{background:#f6f9fb;color:#71818f;text-transform:uppercase;letter-spacing:.04em}.permission-matrix .pm-head span,.permission-matrix .pm-head b{font-size:10px}.demo-role-card select{width:100%;min-height:42px;border:1px solid #cfd9e2;border-radius:9px;padding:0 10px;background:#fff;color:#334a5c;font-weight:800}.role-explain{margin-top:11px;padding:10px 12px;background:#f6f9fb;border-radius:8px;color:#5c6f7e;font-size:12px}
/* TV mode */
.tv-mode{position:fixed;inset:0;z-index:500;background:#eef2f5;display:none;grid-template-rows:86px 1fr 40px;color:#152635}.tv-mode.open{display:grid}.tv-header{background:#fff;border-bottom:3px solid var(--red);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 26px;gap:20px}.tv-header>div:first-child{display:flex;align-items:center;gap:18px}.tv-header img{width:235px;height:auto}.tv-header>div:first-child span{font-size:13px;font-weight:900;color:#526878;letter-spacing:.05em}.tv-center{text-align:center;display:flex;flex-direction:column}.tv-center strong{font-size:24px;color:var(--primary-dark)}.tv-center span{font-size:13px;color:var(--muted)}.tv-status{justify-self:end;display:flex;align-items:center;gap:8px;font-size:11px;color:#657786}.live-dot{width:8px;height:8px;border-radius:50%;background:#2c9b63;box-shadow:0 0 0 4px rgba(44,155,99,.12)}.tv-status b{font-size:14px;color:#263b4c;margin-left:8px}.tv-status button{width:35px;height:35px;border:1px solid #d3dde5;background:#fff;border-radius:8px;font-size:22px;color:#506678;margin-left:8px}.tv-board{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:16px 18px;overflow:hidden}.tv-day{background:#dfe6ec;border-radius:12px;overflow:hidden;display:grid;grid-template-rows:60px 1fr;min-width:0}.tv-day header{background:#fff;padding:9px 13px;border-bottom:1px solid #d2dce4;display:flex;align-items:center;justify-content:space-between}.tv-day header>div{display:flex;flex-direction:column}.tv-day header strong{font-size:19px;color:var(--primary-dark)}.tv-day header span{font-size:11px;color:var(--muted)}.tv-day header b{font-size:12px;color:#647787}.tv-task-list{padding:9px;display:grid;gap:8px;align-content:start;overflow:hidden}.tv-task{background:#fff;border-radius:9px;border-left:5px solid #2e73a6;padding:9px 10px;box-shadow:0 3px 10px rgba(26,43,59,.06)}.tv-task.status-progress{border-left-color:#d99116}.tv-task.status-blocked{border-left-color:#c00510}.tv-task.status-done{border-left-color:#2e8a5a;opacity:.8}.tv-task .task-order{font-size:9px}.tv-task h3{font-size:15px;line-height:1.23;margin:4px 0 6px}.tv-task .tv-meta{display:flex;flex-wrap:wrap;gap:5px 9px;font-size:10px;color:#536878}.tv-task .tv-meta b{color:#2c4355}.tv-task .tv-status-label{margin-top:7px;font-size:10px;font-weight:900;text-transform:uppercase;color:#667987}.tv-footer{display:flex;justify-content:space-between;align-items:center;background:#0d1720;color:#d9e3eb;padding:0 20px;font-size:11px}.tv-footer b{color:#fff}
@media(max-width:1250px){.workshop-board{grid-template-columns:repeat(5,230px)}.week-toolbar{grid-template-columns:auto 1fr}.legend{grid-column:1/-1;justify-content:center}.role-cards{grid-template-columns:1fr}.user-row{grid-template-columns:minmax(190px,1.3fr) 120px 120px 82px 36px}.tv-header img{width:190px}.tv-task h3{font-size:13px}}
@media(max-width:820px){.top-role-badge{display:none}.week-toolbar{grid-template-columns:1fr}.week-nav,.legend{justify-content:center}.workshop-footer-info{grid-template-columns:1fr}.user-row{grid-template-columns:1fr 115px}.user-row.head{display:none}.user-row>*:nth-child(3),.user-row>*:nth-child(4){display:none}.permission-matrix>div{grid-template-columns:1fr 45px 75px 55px}.permission-matrix span,.permission-matrix b{padding:8px 6px}.head-action-stack{align-items:flex-start}.page-head.workshop-head{align-items:flex-start}.tv-mode{display:none!important}}

/* ===== Django-Server-Kompatibilität / Equiconn Intern v3 ===== */
a{color:inherit;text-decoration:none}select,textarea{font:inherit}.top-role-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border-radius:999px;background:#eef3f7;color:#536879;font-size:11px;font-weight:900}.top-logout{height:38px;border:1px solid #d7e0e7;background:#fff;border-radius:9px;padding:0 11px;color:#607383;font-size:11px;font-weight:800}.top-logout:hover{background:#fff2f2;border-color:#e4c3c6;color:#a01922}.avatar-link{text-decoration:none;display:grid;place-items:center}.content-inner{width:100%;max-width:1500px;margin:0 auto}.flash-messages{display:grid;gap:8px;margin:0 0 18px}.flash-message{padding:11px 13px;border-radius:10px;border:1px solid;font-size:13px}.flash-message.success{background:#edf8f1;border-color:#cde8d6;color:#1d6440}.flash-message.error{background:#fff0f0;border-color:#efc8c8;color:#8d1e1e}.flash-message.info{background:#eef5fb;border-color:#d3e2ee;color:#254e70}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;min-height:40px;padding:8px 14px;background:var(--primary);border:1px solid var(--primary);color:#fff;font-weight:800;cursor:pointer}.btn:hover{background:var(--primary-dark)}.btn.light{background:#fff;color:var(--primary);border-color:#cfd9e2}.btn.small{min-height:32px;padding:6px 10px;font-size:11px}.btn.red{background:var(--red);border-color:var(--red)}
.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{padding:20px}.metric span{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;color:var(--primary);font-size:28px;margin-top:5px}.quick-card.card{display:block;padding:20px;transition:.18s}.quick-card.card:hover{transform:translateY(-2px);border-color:#bdd0df}.quick-card.card small{display:block;color:var(--muted);margin-top:5px}.card h2,.card h3{color:var(--primary-dark)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field{display:grid;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;color:#4a5d6b}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd9e2;border-radius:9px;background:#fff;padding:10px 11px;outline:none;color:var(--text)}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,76,129,.09)}.muted{color:var(--muted)}
.admin-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.details{margin-top:8px}.details summary{cursor:pointer;color:var(--primary);font-weight:800;font-size:12px}.details .inner{margin-top:10px;padding:12px;background:#f7f9fb;border-radius:9px}.empty{padding:24px;text-align:center;color:#80909c;border:1px dashed #d1dbe2;border-radius:10px}.switch-hint{padding:12px 14px;background:#eef5fb;border:1px solid #d5e4ef;border-radius:10px;color:#315873;font-size:13px}
.role-pill,.status-pill,.priority-pill{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900}.role-pill{background:#eaf2f8;color:var(--primary)}.status-planned{background:#e9f1f7;color:#365f7d}.status-progress{background:#fff4df;color:#8a5c17}.status-blocked{background:#fff0f0;color:#9a2828}.status-done{background:#e9f7ef;color:#236a45}.priority-urgent{background:#fee8e8;color:#a1000a}.priority-high{background:#fff1dd;color:#8d5912}.priority-normal{background:#edf2f5;color:#5f6f7a}
.weekbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px 12px;box-shadow:var(--shadow)}.weekbar .week-title{font-weight:900;color:var(--primary-dark)}.week-board{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:5px}.week-board .day-column{min-height:420px;background:#e9eef3;border:1px solid #d5dee6;border-radius:13px;padding:10px;overflow:visible}.week-board .day-head{display:flex;align-items:end;justify-content:space-between;margin:-10px -10px 9px;padding:12px 13px;background:#fff;border-radius:13px 13px 0 0;border-bottom:1px solid #d7e0e8}.week-board .day-head strong{color:var(--primary-dark)}.week-board .day-head span{color:var(--muted);font-size:11px}.task{background:#fff;border:1px solid #d9e2e9;border-left:4px solid #2e73a6;border-radius:10px;padding:11px;margin-bottom:9px;box-shadow:0 4px 12px rgba(29,47,64,.05)}.task[draggable=true]{cursor:grab}.task.dragging{opacity:.45}.day-column.dragover{outline:3px solid rgba(15,76,129,.18);background:#dce8f2}.task-title{font-weight:900;color:#203343}.task-meta{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0}.task-note{font-size:11px;color:#5f7180}.task form{margin-top:8px}.task select{width:100%;border:1px solid #d5dfe6;border-radius:8px;padding:6px;font-size:11px}
.split{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px}.channel-list{display:grid;gap:5px}.channel-list a{padding:9px;border-radius:8px;font-weight:800;color:#526575}.channel-list a.active,.channel-list a:hover{background:#eaf2f8;color:var(--primary)}.chat-box{display:flex;flex-direction:column;height:620px}.chat-messages{flex:1;overflow:auto;background:#f7f9fb;border:1px solid var(--line);border-radius:12px;padding:14px}.chat-msg{max-width:78%;margin:8px 0;padding:9px 11px;background:#fff;border:1px solid #e3e9ee;border-radius:4px 12px 12px 12px}.chat-msg.me{margin-left:auto;background:#e8f1f8;border-radius:12px 4px 12px 12px}.chat-msg strong{font-size:11px;color:var(--primary)}.chat-msg small{display:block;color:#8996a0;font-size:10px;text-align:right}.chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.chat-form input{border:1px solid #cad7df;border-radius:10px;padding:10px}
.topic{padding:17px 0;border-bottom:1px solid #e7edf1}.topic:last-child{border-bottom:0}.topic-head{display:flex;justify-content:space-between;gap:12px}.topic h3{margin:0;color:var(--primary-dark)}.topic-meta{font-size:11px;color:var(--muted)}.comment{margin:9px 0 0 20px;padding:10px 12px;background:#f6f9fb;border-radius:9px;font-size:13px}.poll-option{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #e0e7ec;border-radius:9px;margin:7px 0}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid #e6ecef;vertical-align:top}.table th{color:#5b6d7a;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.dashboard-create{margin-left:auto}.dashboard-create summary{list-style:none}.dashboard-create summary::-webkit-details-marker{display:none}.dashboard-create[open] .create-panel{display:block}.create-panel{position:absolute;right:38px;margin-top:8px;z-index:30;width:min(430px,calc(100vw - 40px));padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px rgba(24,37,50,.14)}.live-metric{display:flex;flex-direction:column;justify-content:center;padding:22px}.live-metric strong{font-size:36px;line-height:1;color:var(--primary)}.live-metric span{margin-top:8px;color:var(--muted);font-size:12px}.feed-card .topic{padding:16px 0}.feed-card .topic:first-of-type{padding-top:0}.feed-card .topic:last-child{padding-bottom:0;border-bottom:0}.feed-author{display:flex;align-items:center;gap:10px}.feed-author .feed-avatar{flex:0 0 42px}.topic-feed-body{min-width:0}.topic-feed-body h3{margin:5px 0;color:#1e3446}.topic-feed-body p{margin:0;color:#536779}
.mobile-menu{display:none}
@media(max-width:1100px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.chat-box{height:520px}.week-board{grid-template-columns:repeat(5,minmax(240px,1fr))}}
@media(max-width:900px){.mobile-menu{display:block}.sidebar{transform:translateX(-102%);transition:.2s ease;box-shadow:14px 0 34px rgba(20,32,43,.12)}.sidebar.open{transform:translateX(0)}.content{margin-left:0;padding-left:20px;padding-right:20px}.search-trigger{display:none}.topbar{padding:0 16px}.logo{width:175px}.product-name{margin-left:12px;padding-left:12px}.product-name span{display:none}}
@media(max-width:720px){.top-role-badge{display:none}.knowledge-link{padding:0 9px}.knowledge-link span{display:none}.content{padding-top:calc(var(--top) + 22px)}.page-head{align-items:flex-start;flex-direction:column}.dashboard-grid,.grid.cols-2,.grid.cols-3,.grid.cols-4,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.span-2{grid-column:auto}.meal-main{align-items:flex-start}.attendance-ring{width:72px;height:72px;flex-basis:72px;border-width:6px}.quick-grid{grid-template-columns:repeat(2,1fr)}.admin-row{grid-template-columns:1fr}.create-panel{right:12px}.top-logout{display:none}}
.quick-grid a{border:1px solid #e1e7ed;background:#f8fafc;border-radius:11px;min-height:84px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;color:#3d5265;text-decoration:none}.quick-grid a:hover{background:#eef5fa;border-color:#cbdbe7;color:var(--primary);transform:translateY(-1px)}.quick-grid a span{font-size:22px}.quick-grid a b{font-size:12px}.feed-actions a,.feed-actions span{color:#71808d;font-size:12px}.feed-actions a:hover{color:var(--primary)}

/* ===== V4: einheitliche Abstände + einheitlicher Portal-Umschalter ===== */
.card{padding:22px 24px}
.card form{max-width:100%}
.card .field input,.card .field select,.card .field textarea,.card .chat-form input{max-width:100%;min-width:0}
.card .form-grid{width:100%}
.portal-switch{display:flex;align-items:center;gap:3px;padding:3px;background:#eef3f7;border:1px solid #d9e2e9;border-radius:11px;white-space:nowrap}
.portal-switch a{display:flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border-radius:8px;color:#506474;font-size:12px;font-weight:900;text-decoration:none}
.portal-switch a:hover{background:#fff;color:var(--primary)}
.portal-switch a.active{background:#fff;color:var(--primary);box-shadow:0 1px 4px rgba(24,37,50,.10)}
.ask-link{height:40px;display:flex;align-items:center;padding:0 12px;border:1px solid #d7e0e7;border-radius:10px;background:#fff;color:var(--primary);font-size:12px;font-weight:900;white-space:nowrap}
.ask-link:hover{background:#f5f9fc;border-color:#bfd0dd}
.knowledge-link{display:none!important}
@media(max-width:1060px){.top-role-badge{display:none}.ask-link{display:none}.portal-switch a{padding:0 9px}}
@media(max-width:760px){.card{padding:18px}.top-actions{gap:6px}.portal-switch{padding:2px;gap:2px}.portal-switch a{min-height:32px;padding:0 8px;font-size:11px}.avatar-btn{width:38px;height:38px}.top-logout{display:none}}
@media(max-width:520px){.logo{width:128px}.portal-switch a{padding:0 7px;font-size:10px}}
@media(max-width:420px){.logo{width:112px}.portal-switch a{padding:0 6px;max-width:72px;white-space:normal;text-align:center;line-height:1.05}.avatar-btn{display:none}}

/* ===== V5: Login / 2FA sauber und responsive ===== */
.login-page{
  min-height:100vh;
  min-height:100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(20px,4vw,48px);
  background:
    radial-gradient(circle at 18% 18%,rgba(15,76,129,.08),transparent 34%),
    radial-gradient(circle at 82% 82%,rgba(192,5,16,.05),transparent 30%),
    #f3f6f9;
  position:relative;
  overflow-x:hidden;
}
.login-page:before{
  content:"";
  position:fixed;
  top:0;left:0;right:0;
  height:5px;
  background:linear-gradient(90deg,var(--primary) 0 78%,var(--red) 78% 100%);
}
.login-card{
  width:min(460px,100%);
  margin:auto;
  padding:32px 34px 30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 24px 70px rgba(24,37,50,.14);
}
.login-logo{
  display:block;
  width:min(260px,72%);
  max-width:260px;
  height:auto;
  object-fit:contain;
  margin:0 auto 22px;
}
.login-card h1{
  margin:0 0 6px;
  color:var(--primary-dark);
  text-align:center;
  font-size:clamp(26px,5vw,32px);
  line-height:1.15;
}
.login-card>p{
  margin:0 0 24px;
  color:var(--muted);
  text-align:center;
  font-size:14px;
}
.login-card form{display:grid;gap:14px}
.login-card .field{display:grid;gap:6px;margin:0}
.login-card .field label{font-size:12px;font-weight:800;color:#4a5d6b}
.login-card .field input{
  width:100%;
  min-width:0;
  height:46px;
  border:1px solid #cfd9e2;
  border-radius:10px;
  background:#fff;
  padding:0 13px;
  outline:none;
  color:var(--text);
}
.login-card .field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,76,129,.10)}
.login-card .remember{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:1px;
  color:#61727e;
  font-size:12px;
  line-height:1.35;
}
.login-card .remember input{width:16px;height:16px;flex:0 0 16px;margin:0}
.login-card .btn{width:100%;min-height:46px;margin:2px 0 0;font-size:14px}
.login-card .security-note{
  margin-top:20px;
  padding:12px 13px;
  border:1px solid #dbe5ec;
  border-radius:11px;
  background:#f4f8fb;
  color:#61727e;
  font-size:11px;
  line-height:1.5;
}
.login-card .messages{
  display:grid;
  gap:8px;
  padding:0;
  margin:0 0 16px;
  overflow:visible;
  background:transparent;
}
.login-card .message{
  display:block;
  max-width:none;
  margin:0;
  padding:10px 12px;
  border:1px solid #efc8c8;
  border-radius:10px;
  background:#fff0f0;
  color:#8d1e1e;
  font-size:12px;
}
.login-card .message.success{background:#edf8f1;border-color:#cde8d6;color:#1d6440}
.login-card .qr{display:block;width:220px;max-width:72%;height:auto;margin:18px auto}
@media(max-width:520px){
  .login-page{align-items:flex-start;padding:22px 14px}
  .login-card{padding:26px 20px 24px;border-radius:16px;margin-top:4vh}
  .login-logo{width:min(220px,70%);margin-bottom:18px}
  .login-card>p{margin-bottom:20px}
  .login-card .field input{height:45px}
  .login-card .btn{min-height:45px}
}

/* ===== V6: einheitliche Portal-Leiste, mobile Werkstatt, TV-Ansicht ===== */
:root{--top:64px}
.portal-topbar{position:fixed;z-index:80;top:0;left:0;right:0;height:var(--top);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(24,37,50,.07);padding:0 22px;gap:16px}
.portal-brand,.portal-actions{display:flex;align-items:center;min-width:0}.portal-brand{gap:14px}.portal-actions{gap:8px;justify-content:flex-end}.portal-logo-link{display:flex;align-items:center}.portal-logo{width:155px;height:auto;max-height:39px;object-fit:contain;display:block}.portal-title{padding-left:13px;border-left:1px solid var(--line);display:flex;flex-direction:column;line-height:1.1;white-space:nowrap}.portal-title strong{font-size:13px;color:var(--primary-dark)}.portal-title span{font-size:10px;color:var(--muted);margin-top:3px}.portal-topbar form{margin:0}.portal-topbar .top-logout{height:36px}.sidebar{top:var(--top)}.content{padding-top:calc(var(--top) + 34px)}
.notification-note{margin:12px 0 16px;padding:10px 12px;border:1px solid #d7e4ed;background:#f6f9fb;border-radius:10px;color:#566a7a;font-size:12px;line-height:1.45}
.workshop-head-actions{display:flex;gap:8px;flex-wrap:wrap}.workshop-weekbar .week-title{text-align:center}.mobile-day-tabs,.mobile-workshop-hint{display:none}.day-head>div{display:flex;flex-direction:column}.day-count{font-size:10px;color:#657786;background:#eef3f7;border-radius:999px;padding:4px 7px;white-space:nowrap}.task-order-line{font-size:.72rem}.task-note-box{margin-top:7px;padding:7px 8px;background:#f5f8fa;border-radius:7px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* TV */
.tv-page{margin:0;min-height:100vh;background:#eef2f5;display:grid;grid-template-rows:78px minmax(0,1fr) 38px;overflow:hidden;color:var(--text)}
.tv-page .tv-header{height:78px;display:grid;grid-template-columns:minmax(240px,1fr) auto minmax(340px,1fr);align-items:center;gap:18px;padding:0 20px;background:#fff;border-bottom:1px solid #d7e0e7;box-shadow:0 3px 14px rgba(24,37,50,.06)}
.tv-brand{display:flex;align-items:center;gap:15px;min-width:0}.tv-brand img{width:185px;height:auto;max-height:48px;object-fit:contain}.tv-brand span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#607383;white-space:nowrap}
.tv-page .tv-center{text-align:center;display:flex;flex-direction:column;line-height:1.12}.tv-page .tv-center strong{font-size:23px;color:var(--primary-dark)}.tv-page .tv-center span{font-size:11px;color:var(--muted);margin-top:4px}
.tv-page .tv-status{justify-self:end;display:flex;align-items:center;gap:7px;font-size:10px;color:#657786;white-space:nowrap}.tv-page .tv-status>b{font-size:14px;color:#263b4c;margin-left:5px}.tv-nav{display:flex;align-items:center;gap:4px;margin-left:7px}.tv-nav a{height:34px;min-width:34px;padding:0 9px;border:1px solid #d3dde5;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#506678;font-weight:800}.tv-nav a:hover{background:#f4f8fb;color:var(--primary)}
.tv-page .tv-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:12px 14px;overflow:hidden;min-height:0}.tv-page .tv-day{background:#dfe6ec;border-radius:12px;overflow:hidden;display:grid;grid-template-rows:56px minmax(0,1fr);min-width:0}.tv-page .tv-day>header{background:#fff;padding:8px 11px;border-bottom:1px solid #d2dce4;display:flex;align-items:center;justify-content:space-between}.tv-page .tv-day>header>div{display:flex;flex-direction:column}.tv-page .tv-day>header strong{font-size:17px;color:var(--primary-dark)}.tv-page .tv-day>header span{font-size:10px;color:var(--muted)}.tv-page .tv-day>header b{font-size:11px;color:#647787;background:#eef3f7;border-radius:999px;padding:3px 7px}.tv-page .tv-task-list{padding:8px;display:grid;gap:7px;align-content:start;overflow:auto;min-height:0}.tv-page .tv-task{background:#fff;border-radius:9px;border-left:5px solid #2e73a6;padding:8px 9px;box-shadow:0 3px 10px rgba(26,43,59,.06)}.tv-page .tv-task.status-progress{border-left-color:#d99116}.tv-page .tv-task.status-blocked{border-left-color:#c00510}.tv-page .tv-task.status-done{border-left-color:#2e8a5a;opacity:.82}.tv-page .tv-task h3{font-size:14px;line-height:1.22;margin:3px 0 6px;color:#1d3244}.tv-page .tv-task .task-order{font-size:9px;color:#7e8e9c;font-weight:900}.tv-page .tv-meta{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:9px;color:#566b7a}.tv-page .tv-meta b{color:#2c4355}.tv-assignee{margin-top:6px;font-size:11px;font-weight:800;color:#355368}.tv-note{margin-top:6px;padding:5px 6px;background:#f4f7f9;border-radius:6px;font-size:9px;color:#5a6d7c;line-height:1.3}.tv-empty{padding:20px 8px;text-align:center;color:#778793;font-size:11px}.tv-page .tv-footer{height:38px;display:flex;justify-content:space-between;align-items:center;background:#0d1720;color:#d9e3eb;padding:0 18px;font-size:10px}.tv-page .tv-footer b{color:#fff}

@media(max-width:1050px){.portal-title,.top-role-badge,.ask-link{display:none}.portal-brand{gap:8px}.portal-topbar{padding:0 14px}.portal-logo{width:135px}.portal-actions{gap:6px}}
@media(max-width:760px){:root{--top:58px}.portal-topbar{padding:0 10px;gap:7px}.portal-logo{width:112px}.portal-switch{padding:2px;gap:2px}.portal-switch a{min-height:32px;padding:0 8px;font-size:10px}.portal-topbar .avatar-btn{width:32px;height:32px;font-size:10px}.portal-topbar .top-logout{display:none}.content{padding-top:calc(var(--top) + 20px)}
  .workshop-weekbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.workshop-weekbar .week-title{grid-column:1/-1;grid-row:1;text-align:center}.workshop-weekbar>a{width:100%;justify-content:center}.mobile-day-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:0 0 9px}.mobile-day-tabs button{position:relative;border:1px solid #d7e0e7;background:#fff;border-radius:10px;padding:8px 3px 7px;display:flex;flex-direction:column;align-items:center;gap:1px;color:#536878;min-width:0}.mobile-day-tabs button strong{font-size:10px}.mobile-day-tabs button span{font-size:9px}.mobile-day-tabs button b{position:absolute;top:4px;right:5px;min-width:15px;height:15px;border-radius:8px;background:#eef3f7;color:#617482;font-size:8px;display:grid;place-items:center}.mobile-day-tabs button.active{background:#eaf2f8;border-color:#b9d0e0;color:var(--primary);box-shadow:inset 0 -3px var(--red)}.mobile-workshop-hint{display:block;margin:0 0 10px;color:#687b8a;font-size:10px;text-align:center}.week-board{display:block!important;overflow:visible!important;padding:0!important}.week-board .day-column{display:none;min-width:0;width:100%;min-height:0}.week-board .day-column.mobile-active{display:block}.week-board .day-column>div[data-task-list]{min-height:140px}.task{padding:13px;margin-bottom:10px}.task-title{font-size:14px}.task-note{font-size:12px}.task select{font-size:13px;min-height:40px}.workshop-head-actions{width:100%}.workshop-head-actions .btn{flex:1;justify-content:center}
}
@media(max-width:450px){.portal-logo{width:92px}.portal-switch a{padding:0 6px;max-width:73px;white-space:normal;text-align:center;line-height:1.05}.portal-topbar .avatar-btn{display:none}.mobile-day-tabs{gap:3px}.mobile-day-tabs button{padding-left:1px;padding-right:1px}.mobile-day-tabs button span{font-size:8px}}
@media(max-width:1200px){.tv-page .tv-header{grid-template-columns:1fr auto 1fr}.tv-brand span,.tv-page .tv-status>span:not(.live-dot){display:none}.tv-brand img{width:150px}.tv-page .tv-board{gap:7px;padding:9px}.tv-page .tv-task h3{font-size:12px}.tv-page .tv-task{padding:7px}}
@media(max-width:850px){.tv-page{overflow:auto;grid-template-rows:auto auto auto}.tv-page .tv-header{min-height:68px;height:auto;grid-template-columns:1fr auto;padding:8px 12px}.tv-page .tv-center{display:none}.tv-page .tv-status{justify-self:end}.tv-page .tv-board{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.tv-page .tv-footer{height:auto;min-height:36px;gap:10px;flex-wrap:wrap;padding:8px 12px}.tv-brand img{width:140px}.tv-page .tv-day{min-height:280px}}


/* ===== V7: gleiche Portal-Leiste + persoenlicher Werkstattfilter ===== */
.portal-account{color:#455b6d;text-decoration:none;padding:8px 10px;border-radius:9px;font-size:11px;font-weight:800;white-space:nowrap}
.portal-account:hover{background:#f2f6f9;color:var(--primary)}
.workshop-filterbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:-6px 0 12px;color:#6b7d8c;font-size:11px}
.workshop-filterbar>span{font-weight:800;margin-right:2px}
.filter-choice{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid #d7e0e7;border-radius:9px;background:#fff;color:#536878;text-decoration:none;font-size:11px;font-weight:800}
.filter-choice:hover{background:#f5f9fc;color:var(--primary)}
.filter-choice.active{background:#eaf2f8;border-color:#b9d0e0;color:var(--primary);box-shadow:inset 0 -3px var(--red)}
@media(max-width:1050px){.portal-account{font-size:10px;padding:7px 6px}}
@media(max-width:760px){.portal-account{font-size:10px;padding:7px 5px}.workshop-filterbar{margin-top:-2px}.filter-choice{flex:1;justify-content:center;padding:0 8px}}
@media(max-width:450px){.portal-account{display:none}}

/* ===== V8: Benutzerstatus, Prioritäten, Monatsplan, Chat-Admin, Pflicht-Passwort ===== */
.priority-low{background:#f0f3f5;color:#536471}.priority-elevated{background:#fff6df;color:#8a6516}.priority-high{background:#fff0e2;color:#a5500b}.priority-urgent{background:#fee8e8;color:#a1000a}.priority-normal{background:#edf2f5;color:#5f6f7a}
.task-label-prefix{font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#7b8995;align-self:center;margin-left:3px}
.task.priority-low{background:#f7f8f9;border-left-color:#7b8995}.task.priority-normal{background:#fff;border-left-color:#2e73a6}.task.priority-elevated{background:#fffaf0;border-left-color:#c5921f}.task.priority-high{background:#fff6ed;border-left-color:#e27617}.task.priority-urgent{background:#fff2f3;border-left-color:#c00510;box-shadow:0 5px 16px rgba(192,5,16,.09)}
.task.status-card-done{opacity:.76}.task.status-card-blocked{box-shadow:inset 0 0 0 1px rgba(192,5,16,.12),0 4px 12px rgba(29,47,64,.05)}

/* TV: Priorität über Hintergrund/Seitenkante, Status als eigener Badge */
.tv-page .tv-task{border-left-color:#2e73a6}.tv-page .tv-task.priority-low{background:#f5f7f8;border-left-color:#7b8995}.tv-page .tv-task.priority-normal{background:#fff;border-left-color:#2e73a6}.tv-page .tv-task.priority-elevated{background:#fffaf0;border-left-color:#c5921f}.tv-page .tv-task.priority-high{background:#fff5eb;border-left-color:#e27617}.tv-page .tv-task.priority-urgent{background:#fff0f1;border-left-color:#c00510}.tv-page .tv-task.status-card-done{opacity:.72}.tv-page .tv-meta{align-items:center;gap:5px}.tv-page .tv-meta .status-pill,.tv-page .tv-meta .priority-pill{font-size:9px;padding:3px 6px}.tv-quantity{padding:3px 6px;border-radius:999px;background:#eef3f7;font-weight:800;color:#536878}

/* Benutzerverwaltung */
.user-create-card,.users-card{padding:22px}.user-create-card{margin-bottom:16px}.user-create-action .btn{width:100%;justify-content:center}.temp-password-card{padding:20px 22px;margin-bottom:16px;border-left:5px solid #c38a18;background:#fffdf7}.temp-password-card h2{margin:0;color:var(--primary-dark)}.temp-password-card p{margin:5px 0 0;color:var(--muted)}.temp-password-value{margin-top:14px}.temp-password-value code{display:inline-block;font-size:18px;font-weight:900;letter-spacing:.03em;padding:10px 13px;border:1px dashed #c9a95a;background:#fff8e5;border-radius:9px;color:#4b3b16;user-select:all}.temp-password-note{margin-top:10px;font-size:12px;color:#70591e}.user-filterbar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.user-filter{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border:1px solid #d7e0e7;background:#fff;border-radius:10px;text-decoration:none;color:#536878;font-weight:800;font-size:12px}.user-filter b{min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#eef3f7;display:grid;place-items:center;font-size:10px}.user-filter.active{background:#eaf2f8;border-color:#b9d0e0;color:var(--primary);box-shadow:inset 0 -3px var(--red)}.account-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900}.account-status.active{background:#e9f7ef;color:#236a45}.account-status.disabled{background:#fff4df;color:#8a5c17}.account-status.archived{background:#eef1f4;color:#697783}.user-row-disabled{background:#fffdf8}.user-row-archived{background:#f7f8f9;color:#71808c}.password-pending{color:#9b6b12}.reset-password-form{margin-top:13px;padding-top:13px;border-top:1px solid #e4eaee}.check-label{display:flex!important;align-items:center;gap:7px}.check-label input{width:auto!important}.forced-password-card{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;padding:20px 22px;margin-bottom:16px;border:1px solid #edcf89;background:#fff9e9;box-shadow:none}.forced-password-card h2{margin:0;color:#664b10}.forced-password-card p{margin:4px 0 0;color:#725d2d}.forced-password-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#c38a18;color:#fff;font-size:24px;font-weight:900}.password-card-focus{border-top:4px solid #0f4c81}

/* Chat-Administration */
.chat-channels-card{padding:16px}.chat-channel-head,.chat-box-title,.chat-msg-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.chat-channel-head h3,.chat-box-title h2{margin:0}.admin-mini-badge{font-size:9px;font-weight:900;padding:3px 7px;border-radius:999px;background:#eaf2f8;color:var(--primary)}.channel-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center}.channel-row form{margin:0}.channel-row .icon-delete{width:27px;height:27px;border:1px solid #ead1d3;border-radius:8px;background:#fff;color:#a01922;font-size:18px;line-height:1;display:grid;place-items:center}.channel-row .icon-delete:hover{background:#fff0f0}.chat-box-title{padding-bottom:10px}.chat-box-title>span{font-size:11px;color:var(--muted)}.chat-msg-head form{margin:0}.msg-delete{border:0;background:transparent;color:#a46b70;font-size:9px;font-weight:800;padding:2px 4px}.msg-delete:hover{color:#a01922;text-decoration:underline}

/* Monatsplan Essen */
.meal-monthbar{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:14px}.meal-monthbar>div{text-align:center}.meal-monthbar h2{margin:0;color:var(--primary-dark);font-size:22px}.meal-calendar-card{padding:15px;margin-bottom:16px}.meal-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #dde5eb;border-radius:12px;overflow:hidden;background:#fff}.meal-weekday{padding:8px;text-align:center;font-size:10px;font-weight:900;color:#627482;background:#f5f8fa;border-right:1px solid #e2e8ed}.meal-weekday:nth-child(7){border-right:0}.meal-weekday.wednesday{background:#eaf2f8;color:var(--primary)}.meal-weekday.weekend{color:#8a969f}.meal-day{min-height:118px;padding:8px;border-right:1px solid #e6ebef;border-top:1px solid #e6ebef;background:#fff}.meal-day:nth-child(7n){border-right:0}.meal-day.outside{background:#f7f8f9;color:#a0aab2}.meal-day.wednesday{background:#f2f7fb;box-shadow:inset 0 3px #0f4c81}.meal-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:7px}.meal-day-head strong{font-size:13px;color:#475b6c}.meal-day-head span{font-size:8px;font-weight:900;color:var(--primary);text-transform:uppercase}.meal-calendar-event{display:flex;flex-direction:column;gap:1px;margin-top:5px;padding:7px 8px;border-radius:8px;background:#fff;border:1px solid #cfdde7;text-decoration:none;color:#31495c}.meal-calendar-event strong{font-size:10px;color:var(--red)}.meal-calendar-event span{font-size:10px;font-weight:800;line-height:1.25}.meal-calendar-event small{font-size:9px;color:#73838f}.meal-empty-wed{margin-top:15px;text-align:center;font-size:9px;color:#83919c}.mobile-meal-calendar{display:none}.meal-create-card{padding:22px;margin-bottom:16px}.meal-create-card h2{margin-top:0;color:var(--primary-dark)}.meal-event-list{display:grid;gap:12px}.meal-event-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:0;overflow:hidden}.meal-event-date{background:#0f4c81;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:14px}.meal-event-date span{font-size:10px;font-weight:900;text-transform:uppercase;opacity:.8}.meal-event-date strong{font-size:34px;line-height:1;margin:5px 0}.meal-event-date small{font-size:11px;text-transform:uppercase}.meal-event-main{padding:20px 22px}.meal-event-main h2{margin:0 0 5px;color:var(--primary-dark)}.meal-response-form{display:grid;grid-template-columns:180px minmax(220px,1fr) auto;gap:10px;align-items:end;margin-top:15px}.meal-save{padding-bottom:1px}.meal-responses{display:grid;gap:6px}.meal-responses>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f4;padding:5px 0}.meal-responses span{color:var(--muted)}

@media(max-width:900px){.meal-response-form{grid-template-columns:1fr 1fr}.meal-save{grid-column:1/-1}.meal-event-card{grid-template-columns:68px 1fr}.meal-event-date strong{font-size:28px}}
@media(max-width:720px){.task-meta{gap:4px}.task-label-prefix{display:none}.user-create-card,.users-card,.meal-create-card{padding:16px}.user-filter{flex:1;justify-content:center}.user-table th:nth-child(2),.user-table td:nth-child(2){display:none}.forced-password-card{grid-template-columns:38px 1fr;padding:16px}.forced-password-icon{width:34px;height:34px;font-size:20px}.desktop-meal-calendar{display:none}.mobile-meal-calendar{display:grid;gap:8px}.meal-calendar-card{padding:10px}.mobile-wednesday-card{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:10px;border:1px solid #d9e3ea;border-radius:10px;background:#f5f9fc}.mobile-wed-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0f4c81;color:#fff;border-radius:8px;min-height:60px}.mobile-wed-date strong{font-size:22px;line-height:1}.mobile-wed-date span{font-size:9px;text-transform:uppercase;margin-top:3px}.mobile-wed-content h3{font-size:13px;margin:0 0 4px;color:var(--primary-dark)}.mobile-wed-event{display:flex;flex-direction:column;text-decoration:none;color:#334b5e;background:#fff;border-radius:7px;padding:6px 8px;margin-top:4px}.mobile-wed-event b{font-size:11px}.mobile-wed-event span{font-size:10px;color:var(--muted)}.meal-monthbar{grid-template-columns:1fr 1fr}.meal-monthbar>div{grid-column:1/-1;grid-row:1}.meal-monthbar>a{width:100%;justify-content:center}.meal-event-card{grid-template-columns:1fr}.meal-event-date{min-height:0;flex-direction:row;justify-content:flex-start;gap:7px;padding:8px 14px}.meal-event-date strong{font-size:18px;margin:0}.meal-event-main{padding:16px}.meal-response-form{grid-template-columns:1fr}.meal-save{grid-column:auto}.chat-channels-card{padding:12px}.chat-msg{max-width:92%}}

.temp-password-value{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.temp-password-value .btn{min-height:40px}

/* ===== V9: gleichmäßige Werkstattkarten, Bearbeiten, Direktchat, Uploads, Passwort-Hinweise ===== */
/* Prioritätsfarbe liegt als EIN ruhiger Hintergrund über der ganzen Aufgabenkarte. */
.task.task-priority-low{--task-bg:#f3f5f6;--task-edge:#7b8995;--task-line:#d7dde1}
.task.task-priority-normal{--task-bg:#eef5fa;--task-edge:#2e73a6;--task-line:#cbdde9}
.task.task-priority-elevated{--task-bg:#fff7e7;--task-edge:#c5921f;--task-line:#ead7a7}
.task.task-priority-high{--task-bg:#fff0e3;--task-edge:#e27617;--task-line:#ecc9a7}
.task.task-priority-urgent{--task-bg:#fdecee;--task-edge:#c00510;--task-line:#e8bdc1}
.task[class*="task-priority-"]{
  background:var(--task-bg)!important;background-image:none!important;
  border:1px solid var(--task-line)!important;border-left:6px solid var(--task-edge)!important;
  box-shadow:0 4px 12px rgba(29,47,64,.055)!important;opacity:1;
}
.task[class*="task-priority-"].status-card-done{opacity:.72}
.task[class*="task-priority-"].status-card-blocked{box-shadow:0 4px 12px rgba(29,47,64,.055)!important}
.task[class*="task-priority-"] .task-note-box{background:transparent!important;border-radius:0;padding:8px 0 0!important;border-top:1px solid rgba(45,65,80,.14)}
.task[class*="task-priority-"] .task-controls{margin-top:10px;padding-top:9px;border-top:1px solid rgba(45,65,80,.14)}
.task-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.task-edit-marker{font-size:13px;color:#71808c;line-height:1}
.task-controls>form{margin:0}.task-controls select{background:#fff}
.task-edit-details{margin-top:8px}.task-edit-details>summary{list-style:none;display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:900;color:var(--primary);cursor:pointer;user-select:none}.task-edit-details>summary::-webkit-details-marker{display:none}.task-edit-details>summary:before{content:'✎';font-size:11px}.task-edit-details[open]>summary{margin-bottom:9px}
.task-edit-form{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px;background:rgba(255,255,255,.58);border:1px solid rgba(82,105,122,.18);border-radius:9px}.task-edit-form .field{min-width:0}.task-edit-form .field.full{grid-column:1/-1}.task-edit-form label{font-size:9px}.task-edit-form input,.task-edit-form select,.task-edit-form textarea{font-size:11px;padding:7px 8px;min-height:34px}.task-edit-form textarea{min-height:65px;resize:vertical}.task-edit-form>.btn{grid-column:1/-1;justify-self:start}

/* Direktnachrichten + geschützte kleine Dateianhänge */
.direct-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0 7px;padding-top:15px;border-top:1px solid var(--line)}.direct-head h3{margin:0;font-size:14px;color:var(--primary-dark)}.direct-head span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#687987;background:#eef3f7;padding:3px 7px;border-radius:999px}.direct-list{display:grid;gap:4px}.direct-user{display:grid!important;grid-template-columns:31px minmax(0,1fr);gap:8px;align-items:center;padding:7px 8px!important;text-decoration:none}.direct-user>span:last-child{display:flex;flex-direction:column;min-width:0}.direct-user strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.direct-user small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.direct-avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e7eef4;color:#31556f;font-size:10px;font-weight:900}.direct-user.active .direct-avatar{background:#0f4c81;color:#fff}.direct-user.active{background:#eaf2f8;color:var(--primary)}
.chat-body{white-space:pre-wrap;overflow-wrap:anywhere}.chat-time{display:block;color:#8996a0;font-size:10px;text-align:right}.chat-attachment{margin-top:8px;padding:8px;background:rgba(255,255,255,.72);border:1px solid #dce4eb;border-radius:9px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.chat-attachment img{display:block;max-width:260px;max-height:180px;width:auto;height:auto;border-radius:7px;border:1px solid #d8e1e8;object-fit:contain}.attachment-link{font-size:11px;font-weight:800;color:var(--primary);text-decoration:none;overflow-wrap:anywhere}.attachment-link:hover{text-decoration:underline}.chat-attachment small{font-size:9px;color:var(--muted)}
.chat-form{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.file-button{position:relative;display:inline-flex;align-items:center;justify-content:center}.file-button input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.file-button span{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 11px;border:1px solid #cad7df;border-radius:10px;background:#fff;color:#536878;font-size:11px;font-weight:800;cursor:pointer}.file-button:hover span{background:#f5f8fa;color:var(--primary)}.chat-upload-note{margin-top:6px;font-size:9px;color:#778793}.chat-empty{margin:auto}

.password-requirement{display:block;margin-top:5px;font-size:10px;color:#6d7e8b}.security-standard-note{margin-top:8px;padding:9px 11px;border-radius:8px;background:#eef5fa;color:#35586f;font-size:11px;line-height:1.45}

@media(max-width:720px){
  .task-edit-form{grid-template-columns:1fr}.task-edit-form .field.full,.task-edit-form>.btn{grid-column:auto}.task-edit-form input,.task-edit-form select,.task-edit-form textarea{font-size:13px}
  .chat-form{grid-template-columns:minmax(0,1fr) auto}.chat-form>.btn{grid-column:1/-1;width:100%;justify-content:center}.file-button span{min-height:42px}.chat-attachment img{max-width:100%;max-height:220px}.direct-list{grid-template-columns:1fr 1fr}.direct-user{min-width:0}
}
/* Bearbeitungsformular sitzt in einer schmalen Tageskarte: bewusst einspaltig, damit nichts gequetscht wird. */
.task-edit-form{grid-template-columns:1fr}.task-edit-form .field.full,.task-edit-form>.btn{grid-column:auto}

/* ===== V9 Final: größerer Essenskalender + dezente saisonale Themes ===== */
@media(min-width:721px){
  .meal-calendar-card{padding:20px}
  .meal-weekday{padding:11px 8px;font-size:12px}
  .meal-day{min-height:154px;padding:11px}
  .meal-day-head{margin-bottom:9px}.meal-day-head strong{font-size:15px}.meal-day-head span{font-size:9px}
  .meal-calendar-event{padding:9px 10px;margin-top:7px;gap:2px}.meal-calendar-event strong{font-size:11px}.meal-calendar-event span{font-size:12px;line-height:1.3}.meal-calendar-event small{font-size:10px}
  .meal-empty-wed{margin-top:22px;font-size:10px}
}

/* Saisonale Gestaltung bleibt bewusst dezent: Equiconn Blau/Rot bleiben die Hauptfarben. */
body.theme-standard{--season-bg:#f3f6f9;--season-soft:#eef3f7;--season-line:#dce4eb;--season-accent:#0f4c81}
body.theme-spring{--season-bg:#f4f7f2;--season-soft:#eef4eb;--season-line:#d8e3d4;--season-accent:#6e915d}
body.theme-summer{--season-bg:#f8f7f1;--season-soft:#f6f1e4;--season-line:#e6deca;--season-accent:#c69a2a}
body.theme-autumn{--season-bg:#f8f4ef;--season-soft:#f5ece2;--season-line:#e7d8c8;--season-accent:#b86f32}
body.theme-winter{--season-bg:#f1f6f9;--season-soft:#eaf2f7;--season-line:#d4e2ea;--season-accent:#7299b3}
body.theme-christmas{--season-bg:#f3f6f4;--season-soft:#eaf2ed;--season-line:#d4e2d9;--season-accent:#34704f}
body[class*="theme-"]{background:var(--season-bg,var(--bg))}
body[class*="theme-"] .portal-topbar{border-bottom-color:var(--season-line,var(--line));box-shadow:0 2px 10px rgba(24,37,50,.045)}
body[class*="theme-"] .portal-topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--primary) 0 46%,var(--season-accent,var(--primary)) 46% 56%,var(--red) 56% 100%);opacity:.28;pointer-events:none}
body[class*="theme-"] .sidebar{border-right-color:var(--season-line,var(--line))}
body[class*="theme-"] .card{border-color:var(--season-line,var(--line))}
body[class*="theme-"] .portal-switch{background:var(--season-soft,var(--soft));border-color:var(--season-line,var(--line))}
body.theme-christmas .portal-title span:after{content:" · Winterzeit";color:#34704f}
body.theme-autumn .portal-title span:after{content:" · Herbst";color:#9b642f}
body.theme-spring .portal-title span:after{content:" · Frühling";color:#5f8450}
body.theme-summer .portal-title span:after{content:" · Sommer";color:#9a771d}
body.theme-winter .portal-title span:after{content:" · Winter";color:#64879f}
@media(max-width:720px){body[class*="theme-"] .portal-title span:after{content:""}}

/* ===== V10: Werkstatt, Rechte, Urlaub, Fertigung, Benachrichtigungen ===== */
.field-help{display:block;margin-top:4px;font-size:10px;line-height:1.35;color:#728390}

/* Werkstatt: Status bewusst deutlich, Priorität als ruhige Vollflächenfarbe. */
.task[class*="task-priority-"]{overflow:hidden;padding:13px!important;background-image:none!important}
.task.task-priority-low{background-color:#f1f3f5!important;border-color:#d4d9de!important;border-left-color:#7a8791!important}
.task.task-priority-normal{background-color:#edf5fa!important;border-color:#c9dce8!important;border-left-color:#2e73a6!important}
.task.task-priority-elevated{background-color:#fff7e4!important;border-color:#ead6a6!important;border-left-color:#c28d1b!important}
.task.task-priority-high{background-color:#fff0e1!important;border-color:#ecc7a4!important;border-left-color:#df7115!important}
.task.task-priority-urgent{background-color:#fdebed!important;border-color:#e7bcc0!important;border-left-color:#bd0711!important}
.task[class*="task-priority-"] .task-title-row,.task[class*="task-priority-"] .task-meta,.task[class*="task-priority-"] .task-note,.task[class*="task-priority-"] .task-controls{background:transparent!important}
.task-status-banner{display:flex;align-items:center;gap:7px;margin:-13px -13px 12px;padding:8px 11px;font-size:11px;font-weight:900;letter-spacing:.01em;border-bottom:1px solid rgba(30,50,65,.08)}
.task-status-banner .status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.55)}
.task-status-banner.status-planned{background:#dbe9f4;color:#245d86}
.task-status-banner.status-progress{background:#ffe8b9;color:#7f560b}
.task-status-banner.status-blocked{background:#f8cfd2;color:#8b1119}
.task-status-banner.status-done{background:#cfead9;color:#1f6843}
.series-mark{margin-left:auto;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.62);font-size:9px;color:inherit}
.task-meta-prominent{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:9px}.duration-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(60,80,95,.12);font-size:10px;font-weight:800;color:#506678}
.responsible-name{color:#173f5f}.assignee-list{color:#4f6474}.task-copy-details{margin-top:8px}.task-copy-details>summary{cursor:pointer;font-size:10px;font-weight:900;color:#5a6f7e}.task-copy-form{margin-top:8px;padding:9px;border:1px solid rgba(82,105,122,.18);border-radius:9px;background:rgba(255,255,255,.55)}
.people-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.people-check{display:flex!important;align-items:center;gap:7px;padding:7px 8px;border:1px solid #d7e0e7;border-radius:8px;background:#fff;font-size:11px;cursor:pointer}.people-check input{width:auto!important;min-height:0!important;margin:0}.people-check:has(input:checked){border-color:#9fbfd6;background:#eef6fb;color:#164c73}

/* 6-Monats-Werkstattansicht */
.longterm-filter-card{padding:16px;margin-bottom:12px}.longterm-filter-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.longterm-nav{display:flex;justify-content:space-between;gap:8px;margin:12px 0}.longterm-card{padding:0;overflow:auto}.timeline-months{min-width:980px;display:grid;grid-template-columns:250px repeat(6,minmax(120px,1fr));border-bottom:1px solid var(--line);background:#f7f9fb;position:sticky;top:0;z-index:2}.timeline-months>div{padding:12px;border-right:1px solid var(--line);display:flex;flex-direction:column}.timeline-months strong{font-size:12px;color:var(--primary-dark)}.timeline-months span{font-size:9px;color:var(--muted)}.timeline-label-head{justify-content:center;font-size:11px;font-weight:900;color:#657786}.timeline-list{min-width:980px}.timeline-row{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:64px;border-bottom:1px solid #e5ebef}.timeline-task-label{padding:10px 12px;display:flex;flex-direction:column;border-right:1px solid #e2e8ed}.timeline-task-label strong{font-size:11px;color:#233b4d}.timeline-task-label span,.timeline-task-label small{font-size:9px;color:#71818d;margin-top:2px}.timeline-track{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));align-items:center;background-image:linear-gradient(to right,transparent calc(100% - 1px),#e7edf1 calc(100% - 1px));background-size:calc(100% / 6) 100%;padding:8px 0}.timeline-bar{min-height:42px;margin:0 5px;border-radius:8px;padding:7px 9px;border-left:5px solid currentColor;display:flex;align-items:center;gap:6px;min-width:0;box-shadow:0 2px 7px rgba(30,48,62,.06)}.timeline-bar b{font-size:10px;white-space:nowrap}.timeline-bar .status-pill{font-size:8px;padding:3px 6px}.timeline-bar.task-priority-low{background:#f1f3f5;color:#65727c}.timeline-bar.task-priority-normal{background:#edf5fa;color:#2e73a6}.timeline-bar.task-priority-elevated{background:#fff7e4;color:#9a7118}.timeline-bar.task-priority-high{background:#fff0e1;color:#bd5e10}.timeline-bar.task-priority-urgent{background:#fdebed;color:#a7060e}

/* Benutzerrechte */
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-check{display:flex!important;align-items:flex-start;gap:8px;padding:10px;border:1px solid #d8e1e8;border-radius:10px;background:#f9fbfc;cursor:pointer}.permission-check input{width:auto!important;margin:2px 0 0;min-height:0!important}.permission-check span{display:flex;flex-direction:column}.permission-check strong{font-size:11px;color:#284356}.permission-check small{font-size:9px;line-height:1.35;color:#71818d;margin-top:2px}.permission-check:has(input:checked){background:#eef6fb;border-color:#a9c7da}.permission-grid.compact .permission-check{padding:7px 8px}

/* Online-Status */
.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#aab4bc;margin-right:6px;vertical-align:1px}.online-dot.online{background:#2b9a5a;box-shadow:0 0 0 3px rgba(43,154,90,.13)}.online-label{color:#7b8994!important}.direct-user .online-label{font-size:8px!important}.chat-box-title h2 .online-dot{width:9px;height:9px}

/* Benachrichtigungscenter */
.notification-menu{position:relative}.notification-menu>summary{list-style:none}.notification-menu>summary::-webkit-details-marker{display:none}.notification-bell{position:relative;width:36px;height:36px;border:1px solid #d5dfe6;border-radius:10px;background:#fff;display:grid;place-items:center;cursor:pointer;font-size:15px}.notification-bell b{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#c00510;color:#fff;font-size:9px;display:grid;place-items:center}.notification-popover{position:absolute;right:0;top:44px;width:340px;max-width:86vw;background:#fff;border:1px solid #d7e0e7;border-radius:12px;box-shadow:0 16px 38px rgba(23,42,57,.16);padding:8px;z-index:120}.notification-popover-head{display:flex;align-items:center;justify-content:space-between;padding:7px 8px 10px}.notification-popover-head strong{font-size:12px;color:#243e52}.notification-popover-head a{font-size:10px;color:var(--primary);text-decoration:none}.notification-mini{margin:0}.notification-mini button{width:100%;text-align:left;border:0;background:#fff;padding:9px 10px;border-radius:8px;display:flex;flex-direction:column;cursor:pointer}.notification-mini.unread button{background:#edf5fb}.notification-mini strong{font-size:11px;color:#223d50}.notification-mini span{font-size:10px;color:#607482;margin-top:2px}.notification-mini small{font-size:8px;color:#8a98a3;margin-top:4px}.notification-empty{padding:20px;text-align:center;color:#7c8a95;font-size:11px}.notifications-card{padding:8px}.notification-list{display:grid}.notification-row{margin:0;border-bottom:1px solid #e6ecef}.notification-row:last-child{border-bottom:0}.notification-row>button{width:100%;border:0;background:#fff;padding:13px 14px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;cursor:pointer}.notification-row.unread>button{background:#f0f7fb}.notification-kind{width:34px;height:34px;border-radius:10px;background:#e9f1f6;display:grid;place-items:center}.notification-content{display:flex;flex-direction:column}.notification-content strong{font-size:12px;color:#243e52}.notification-content>span{font-size:11px;color:#5e7281;margin-top:2px}.notification-content small{font-size:9px;color:#8996a0;margin-top:4px}.notification-new{font-size:8px;padding:4px 7px;border-radius:999px;background:#c00510;color:#fff}

/* Urlaub */
.vacation-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.vacation-request-card,.vacation-my-card{padding:20px}.vacation-list{display:grid;gap:9px}.vacation-item{border:1px solid #d9e2e8;border-left:5px solid #8294a1;border-radius:10px;padding:11px 12px;background:#fff}.vacation-item.status-approved{border-left-color:#2f8b59;background:#f6fbf8}.vacation-item.status-rejected{border-left-color:#c00510;background:#fff7f7}.vacation-item.status-pending{border-left-color:#c18a1e;background:#fffaf0}.vacation-item-head{display:flex;justify-content:space-between;gap:10px}.vacation-item-head>div{display:flex;flex-direction:column}.vacation-item-head strong{font-size:12px;color:#263f52}.vacation-item-head span{font-size:10px;color:#6d7f8c;margin-top:2px}.vac-status{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}.vac-status.pending{background:#fff0cf;color:#83590f}.vac-status.approved{background:#dff2e7;color:#246842}.vac-status.rejected{background:#f8dfe1;color:#941b22}.vacation-meta,.vacation-decision{margin-top:7px;font-size:10px;color:#607482}.vacation-decision{padding:7px 8px;background:#f3f6f8;border-radius:7px}.vacation-actions{display:flex;gap:7px;align-items:flex-start;margin-top:8px}.vacation-actions details{flex:1}.mini-form{margin-top:8px}.vacation-team-card,.vacation-approval-card{padding:20px;margin-top:14px}.vac-timeline-wrap{overflow:auto;border:1px solid #dce4ea;border-radius:10px}.vac-timeline-head{min-width:1180px;display:grid;grid-template-columns:180px repeat(12,1fr);background:#f5f8fa;border-bottom:1px solid #dce4ea}.vac-timeline-head>div{padding:8px;border-right:1px solid #e1e8ed;display:flex;flex-direction:column}.vac-timeline-head strong{font-size:10px;color:#355066}.vac-timeline-head span{font-size:8px;color:#7a8a95}.vac-timeline-row{position:relative;min-width:1180px;display:grid;grid-template-columns:180px minmax(0,1fr);min-height:54px;border-bottom:1px solid #e8edf0}.vac-user{padding:9px 10px;border-right:1px solid #e1e8ed;display:flex;flex-direction:column}.vac-user strong{font-size:10px}.vac-user span{font-size:8px;color:#7a8994}.vac-month-cells{display:grid;grid-template-columns:repeat(12,1fr)}.vac-month-cells>div{border-right:1px solid #edf1f4}.vac-bands{position:absolute;left:180px;right:0;top:0;bottom:0;display:grid;grid-template-columns:repeat(12,1fr);align-items:center;pointer-events:none}.vac-band{margin:0 3px;min-height:26px;border-radius:7px;padding:5px 7px;font-size:8px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vac-band.pending{background:#ffe7b0;color:#76500f}.vac-band.approved{background:#cfead9;color:#1f6843}.vac-band.rejected{background:#f3cfd2;color:#8a1820}.vac-decision-form{display:flex;gap:5px;flex-wrap:wrap}.vac-decision-form input{min-width:150px;flex:1}

/* Fertigungsunterlagen */
.manufacturing-search-card,.manufacturing-create-card,.manufacturing-upload-card,.manufacturing-docs-card,.activity-card{padding:20px;margin-bottom:14px}.manufacturing-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.manufacturing-search input{min-height:46px;border:1px solid #cfdbe3;border-radius:10px;padding:0 13px;font-size:14px}.manufacturing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.manufacturing-card{text-decoration:none;color:inherit;padding:18px;transition:transform .15s ease,box-shadow .15s ease}.manufacturing-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(26,44,58,.09)}.manufacturing-card h2{font-size:18px;margin:4px 0}.manufacturing-card p{font-size:11px;color:#617482;min-height:28px}.manufacturing-card>span{font-size:9px;color:#7b8a95}.qr-info-card{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;padding:18px;margin-bottom:14px;background:#f0f6fa;border-color:#cbdde9}.qr-info-icon{width:46px;height:46px;border-radius:12px;background:#0f4c81;color:#fff;display:grid;place-items:center;font-size:24px}.qr-info-card strong{color:#1c3d56}.qr-info-card p{margin:4px 0 7px;font-size:11px;color:#5d7180}.qr-info-card code{display:inline-block;max-width:100%;padding:6px 8px;background:#fff;border:1px solid #d2dfe7;border-radius:7px;font-size:10px;overflow-wrap:anywhere}.manufacturing-doc-list{display:grid;gap:8px}.manufacturing-doc{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid #dbe3e8;border-left:5px solid #83939f;border-radius:10px;background:#fff}.manufacturing-doc.status-approved{border-left-color:#2d8a57;background:#f8fcfa}.manufacturing-doc.status-draft{border-left-color:#c18a1e;background:#fffcf5}.manufacturing-doc.status-archived{border-left-color:#8b98a2;background:#f5f6f7;opacity:.78}.doc-main{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center}.doc-main>div:last-child{display:flex;flex-direction:column}.doc-main strong{font-size:11px;color:#294357}.doc-main span,.doc-main small{font-size:9px;color:#71818d;margin-top:2px}.doc-icon{width:32px;height:32px;border-radius:8px;background:#e9f1f6;color:#2f5e7f;display:grid;place-items:center}.doc-status{display:flex;flex-direction:column;align-items:flex-end}.document-status{padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900}.document-status.approved{background:#dff2e7;color:#246842}.document-status.draft{background:#fff0cf;color:#83590f}.document-status.archived{background:#e7ebee;color:#65727c}.doc-status small{font-size:8px;color:#84929d;margin-top:3px}.doc-actions{display:flex;align-items:center;gap:6px}.doc-actions select{min-height:34px;font-size:10px}.activity-list{display:grid}.activity-list>div{display:grid;grid-template-columns:120px 110px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid #e6ecef}.activity-list span,.activity-list strong,.activity-list p{font-size:10px;margin:0}.activity-list span{color:#7c8a95}.activity-list strong{color:#344e62}.activity-list p{color:#5d7180}

/* Saison-Design V10: sichtbar, aber Arbeitsbereiche bleiben lesbar. */
.seasonal-backdrop{position:fixed;inset:64px 0 0 0;pointer-events:none;z-index:0;overflow:hidden}.content{position:relative;z-index:2}.sidebar{z-index:3}.portal-topbar{z-index:80}.seasonal-piece{position:absolute;display:none;opacity:.16;font-size:46px;filter:saturate(.8)}
body.theme-christmas{--season-bg:#f2f6f3;--season-soft:#e6f0e9;--season-line:#cfdfd4;--season-accent:#2f744f;background:#edf4ef!important}
body.theme-christmas .seasonal-piece{display:block}.theme-christmas .seasonal-piece:before{content:'❄';color:#7ea7bf}.theme-christmas .seasonal-piece.p1{left:8%;top:8%;font-size:54px}.theme-christmas .seasonal-piece.p2{right:10%;top:18%;font-size:34px}.theme-christmas .seasonal-piece.p3{left:22%;bottom:12%;font-size:42px}.theme-christmas .seasonal-piece.p4{right:23%;bottom:7%;font-size:60px}.theme-christmas .portal-topbar{background:#fbfdfb}.theme-christmas .portal-title span:after{content:' · Weihnachtszeit'!important;color:#2f744f!important}.theme-christmas .seasonal-top-accent:after{content:'🎄  ✨';font-size:18px;margin-left:4px}.seasonal-greeting{position:relative;display:inline-block}.theme-christmas .christmas-hat{display:block;position:absolute;left:-4px;top:-16px;width:24px;height:18px;background:#c00510;clip-path:polygon(10% 100%,58% 0,100% 100%);transform:rotate(-14deg);z-index:1}.theme-christmas .christmas-hat:before{content:'';position:absolute;left:0;right:0;bottom:-3px;height:6px;background:#fff;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.08)}.theme-christmas .christmas-hat:after{content:'';position:absolute;right:-4px;top:-2px;width:8px;height:8px;background:#fff;border-radius:50%}
body.theme-autumn{--season-bg:#f8f1e8;background:#f7f1e9!important}.theme-autumn .seasonal-piece{display:block;opacity:.18}.theme-autumn .seasonal-piece:before{content:'🍂'}.theme-autumn .seasonal-piece.p1{left:7%;top:10%;transform:rotate(-18deg)}.theme-autumn .seasonal-piece.p2{right:8%;top:24%;font-size:34px;transform:rotate(24deg)}.theme-autumn .seasonal-piece.p3{left:28%;bottom:10%;font-size:38px}.theme-autumn .seasonal-piece.p4{right:25%;bottom:5%;font-size:50px;transform:rotate(-12deg)}.theme-autumn .seasonal-top-accent:after{content:'🍁';font-size:18px}.theme-autumn .portal-title span:after{content:' · Herbstzeit'!important;color:#9b642f!important}
body.theme-winter .seasonal-piece{display:block;opacity:.12}.theme-winter .seasonal-piece:before{content:'❄';color:#739ab3}.theme-winter .seasonal-piece.p1{left:9%;top:15%}.theme-winter .seasonal-piece.p2{right:13%;top:10%;font-size:32px}.theme-winter .seasonal-piece.p3{left:26%;bottom:8%;font-size:40px}.theme-winter .seasonal-top-accent:after{content:'❄';color:#7d9db1;font-size:17px}
body.theme-spring .seasonal-top-accent:after{content:'🌿';font-size:17px}body.theme-summer .seasonal-top-accent:after{content:'☀';font-size:17px;color:#c39020}

@media(max-width:900px){.longterm-filter-form{grid-template-columns:1fr 1fr}.vacation-grid{grid-template-columns:1fr}.manufacturing-grid{grid-template-columns:1fr 1fr}.permission-grid{grid-template-columns:1fr}.manufacturing-doc{grid-template-columns:1fr}.doc-status{align-items:flex-start}.doc-actions{justify-content:flex-start}.activity-list>div{grid-template-columns:1fr}.notification-popover{right:-70px}}
@media(max-width:720px){.people-check-grid{grid-template-columns:1fr}.longterm-filter-form{grid-template-columns:1fr}.longterm-nav{flex-wrap:wrap}.longterm-nav .btn{flex:1}.manufacturing-grid{grid-template-columns:1fr}.manufacturing-search{grid-template-columns:1fr}.qr-info-card{grid-template-columns:1fr}.seasonal-backdrop{inset:58px 0 0}.seasonal-piece{font-size:32px!important}.seasonal-top-accent{display:none}.notification-bell{width:32px;height:32px}.notification-popover{right:-105px;width:310px}.vacation-request-card,.vacation-my-card,.vacation-team-card,.vacation-approval-card,.manufacturing-search-card,.manufacturing-create-card,.manufacturing-upload-card,.manufacturing-docs-card,.activity-card{padding:14px}.vacation-item-head{flex-direction:column}.vacation-actions{flex-direction:column}.vacation-actions>*{width:100%}.doc-actions{flex-wrap:wrap}}
.tv-status-banner{display:flex;align-items:center;gap:6px;margin:-8px -9px 7px;padding:6px 8px;font-size:9px;font-weight:900}.tv-status-banner .status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.tv-status-banner.status-planned{background:#dbe9f4;color:#245d86}.tv-status-banner.status-progress{background:#ffe8b9;color:#7f560b}.tv-status-banner.status-blocked{background:#f8cfd2;color:#8b1119}.tv-status-banner.status-done{background:#cfead9;color:#1f6843}.tv-status-banner>span:last-child{margin-left:auto}

/* Wissensportal-Unterseiten (z.B. Fertigungsunterlagen) nutzen die gemeinsame Topbar,
   aber nicht die Intern-Sidebar. */
body.knowledge-mode .sidebar{display:none!important}
body.knowledge-mode .content{margin-left:0!important;max-width:none}
@media(max-width:720px){body.knowledge-mode .content{margin-left:0!important}}

/* V10 final: saisonale Gestaltung bewusst sichtbar, ohne Arbeitsinhalte zu überdecken. */
body.theme-spring{background:#f2f7ef!important}
.theme-spring .seasonal-piece{display:block;opacity:.20}.theme-spring .seasonal-piece:before{content:'✿';color:#6b955a}.theme-spring .seasonal-piece.p1{left:6%;top:9%;font-size:48px}.theme-spring .seasonal-piece.p2{right:8%;top:18%;font-size:34px}.theme-spring .seasonal-piece.p3{left:25%;bottom:9%;font-size:40px}.theme-spring .seasonal-piece.p4{right:22%;bottom:6%;font-size:52px}.theme-spring .portal-topbar{background:#fbfdf9}.theme-spring .portal-title span:after{content:' · Frühlingszeit';color:#668954}.theme-spring .card{border-color:#d7e4d3}
body.theme-summer{background:#fbf7eb!important}
.theme-summer .seasonal-piece{display:block;opacity:.18}.theme-summer .seasonal-piece:before{content:'☀';color:#c79525}.theme-summer .seasonal-piece.p1{left:7%;top:8%;font-size:52px}.theme-summer .seasonal-piece.p2{right:9%;top:21%;font-size:34px}.theme-summer .seasonal-piece.p3{left:27%;bottom:10%;font-size:38px}.theme-summer .seasonal-piece.p4{right:21%;bottom:5%;font-size:48px}.theme-summer .portal-topbar{background:#fffdf7}.theme-summer .portal-title span:after{content:' · Sommerzeit';color:#a67d1f}.theme-summer .card{border-color:#e7ddc5}
body.theme-winter{background:#edf4f8!important}.theme-winter .portal-topbar{background:#f8fbfd}.theme-winter .portal-title span:after{content:' · Winterzeit';color:#6e91a8}.theme-winter .card{border-color:#d5e2e9}
.theme-christmas .card{border-color:#d5e2d9}.theme-christmas .page-head:not(.compact):before{content:'✦';position:absolute;right:12px;color:#b59031;font-size:22px;opacity:.72}.theme-christmas .page-head{position:relative}
.theme-autumn .card{border-color:#e7d8c9}.theme-autumn .page-head:not(.compact):after{content:'🍁';position:absolute;right:12px;top:3px;font-size:22px;opacity:.75}.theme-autumn .page-head{position:relative}

/* Verlauf und Fertigungsdokumente */
.task-history-details,.vacation-history-details{margin-top:8px;border-top:1px solid rgba(30,55,72,.12);padding-top:7px}.task-history-details summary,.vacation-history-details summary{font-size:10px;font-weight:900;color:#496376;cursor:pointer}.task-history-list{display:grid;gap:5px;margin-top:7px}.task-history-list>div{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:7px;align-items:start;padding:6px 7px;border-radius:7px;background:rgba(255,255,255,.66)}.task-history-list span,.task-history-list strong,.task-history-list p{font-size:9px;margin:0}.task-history-list span{color:#758694}.task-history-list strong{color:#304c61}.task-history-list p{color:#536b7c}.manufacturing-meta-card{padding:20px;margin-bottom:14px}.doc-edit-details{position:relative}.doc-edit-details>.inner{position:absolute;z-index:20;right:0;top:calc(100% + 6px);width:min(520px,80vw);padding:12px;background:#fff;border:1px solid #d6e0e7;border-radius:11px;box-shadow:0 14px 32px rgba(20,38,54,.14)}.doc-edit-details summary{font-size:10px;font-weight:900;color:#0f4c81;cursor:pointer}.doc-edit-details form+form{margin-top:10px}.browser-notification-card{padding:20px;margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:20px}.browser-notification-card h2{margin:2px 0 4px}.browser-notification-card p{margin:0;color:#617482;max-width:800px}.browser-notification-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:720px){.task-history-list>div{grid-template-columns:1fr}.doc-edit-details>.inner{position:fixed;left:12px;right:12px;top:80px;width:auto;max-height:75vh;overflow:auto}.browser-notification-card{flex-direction:column;align-items:flex-start}.browser-notification-actions{align-items:flex-start}.theme-christmas .page-head:not(.compact):before,.theme-autumn .page-head:not(.compact):after{display:none}}

/* ========================================================================
   V11 FINAL – Qualitäts-/Mobile-Pass und neue Portalbausteine
   ======================================================================== */
.content-inner{width:min(100%,1450px);margin:0 auto}.head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}a{color:inherit}.btn,.primary-btn,.success-btn,.outline-btn,.ghost-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:6px}.btn.small,.ghost-btn.small{min-height:34px;padding:6px 10px;font-size:11px}.btn.ghost{background:#fff;color:#587082;border:1px solid #d7e0e7}.btn.danger{background:#fff4f4;color:#9e1820;border-color:#e8c4c7}.btn.success{background:#e8f5ed;color:#1b6842;border-color:#c9e5d4}.empty.compact-empty{padding:12px;font-size:12px}.field-help,.password-requirement{display:block;margin-top:4px;color:#748594;font-size:11px;line-height:1.4}

/* Topbar: Desktop einheitlich, Tablet/Mobil priorisiert Umschalter statt Suchfeld. */
.global-search-mini{display:flex;align-items:center;width:min(300px,22vw);height:38px;border:1px solid #d9e2e9;border-radius:10px;background:#f8fafb;overflow:hidden;margin-left:auto}.global-search-mini input{width:100%;border:0!important;outline:0;background:transparent;padding:0 10px;font-size:12px;min-width:0}.global-search-mini button{width:38px!important;height:38px!important;border:0!important;border-left:1px solid #e3e8ed!important;border-radius:0!important;background:#fff!important;font-size:17px!important;color:#486276!important;padding:0!important}.portal-account{text-decoration:none;padding:7px 9px;border-radius:9px;color:#53697a;font-size:11px;font-weight:900;white-space:nowrap}.portal-account:hover{background:#eef4f8;color:var(--primary)}.top-logout{border:1px solid #d7e0e7;background:#fff;color:#617482;border-radius:9px;padding:0 10px;font-weight:800}.notification-bell{list-style:none;position:relative;width:36px;height:36px;border:1px solid #d7e0e7;background:#fff;border-radius:10px;display:grid;place-items:center;cursor:pointer}.notification-bell::-webkit-details-marker{display:none}.notification-bell b{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;border-radius:10px;background:var(--red);color:#fff;font-size:9px;display:grid;place-items:center;padding:0 4px}.notification-menu{position:relative}.notification-popover{position:absolute;right:0;top:45px;width:min(360px,90vw);background:#fff;border:1px solid #d8e1e8;border-radius:13px;box-shadow:0 18px 46px rgba(18,36,52,.18);padding:10px;z-index:110}.notification-popover-head{display:flex;align-items:center;justify-content:space-between;padding:4px 5px 8px}.notification-popover-head a{font-size:11px;color:var(--primary);font-weight:900}.notification-mini{margin:0}.notification-mini button{width:100%;height:auto!important;padding:9px!important;border:0!important;border-top:1px solid #edf1f4!important;border-radius:0!important;text-align:left;background:#fff!important;display:grid!important;gap:2px!important;justify-content:stretch!important}.notification-mini.unread button{background:#f2f7fb!important}.notification-mini strong{font-size:11px;color:#233d51}.notification-mini span,.notification-mini small{font-size:10px;color:#718391}.notification-empty{padding:20px 8px;text-align:center;font-size:11px;color:#778793}.sidebar-favorites{border-top:1px solid #edf1f4;margin:16px 8px 0;padding:14px 4px;display:grid;gap:7px}.sidebar-favorites>strong{font-size:9px;letter-spacing:.1em;color:#8a98a4}.sidebar-favorites a{font-size:10px;color:#536a7c;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-banner{position:fixed;top:var(--top);left:0;right:0;z-index:75;min-height:44px;background:#fff0be;border-bottom:1px solid #e2bf58;color:#674f0b;display:flex;align-items:center;justify-content:center;gap:30px;padding:6px 18px}.preview-banner>div{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.preview-banner strong{font-size:12px}.preview-banner span{font-size:10px}.preview-banner form{margin:0}.preview-banner button{border:1px solid #c69e30;background:#fff7d9;color:#604908;border-radius:8px;padding:5px 9px;font-size:10px;font-weight:900}.preview-mode .sidebar{top:calc(var(--top) + 44px)}.preview-mode .content{padding-top:calc(var(--top) + 78px)}.preview-readonly-card{border:1px dashed #d4b44c;background:#fffbeb}.preview-readonly-note{margin:0 0 10px;padding:8px 10px;border-radius:8px;background:#fff5cf;color:#70550d;font-size:11px}

/* Dashboard / Mein Tag */
.v11-dashboard{grid-template-columns:minmax(0,1.4fr) minmax(300px,.72fr)}.my-day-card{background:linear-gradient(135deg,#fff 0%,#f7fafc 100%);border-top:3px solid var(--primary)}.today-date{font-size:11px;color:#6f8190;font-weight:800}.my-day-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.my-day-grid>a{min-height:86px;border:1px solid #e0e7ed;background:#fff;border-radius:12px;padding:14px;text-decoration:none;display:flex;flex-direction:column;justify-content:center}.my-day-grid strong{font-size:23px;color:var(--primary-dark);line-height:1}.my-day-grid span{font-size:10px;color:#687b8a;margin-top:7px}.my-task-strip{display:flex;gap:8px;overflow:auto;padding-top:13px}.my-task-chip{min-width:190px;border:1px solid #dce4ea;border-left-width:5px;border-radius:10px;background:#fff;padding:9px 10px;text-decoration:none;display:grid;grid-template-columns:auto 1fr;gap:2px 7px}.my-task-chip strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-task-chip small{grid-column:2;color:#758694;font-size:9px}.my-task-chip.priority-low{border-left-color:#9aa7b1}.my-task-chip.priority-normal{border-left-color:#4d86ae}.my-task-chip.priority-elevated{border-left-color:#d3a33b}.my-task-chip.priority-high{border-left-color:#dc751c}.my-task-chip.priority-urgent{border-left-color:#bd1a24}.absent-card{padding:22px}.absent-count{min-width:34px;height:34px;border-radius:18px;background:#eef3f7;color:#526979;font-weight:900;display:grid;place-items:center}.absent-list{display:grid;gap:5px}.absent-list>div:not(.empty){display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;padding:8px 0;border-top:1px solid #edf1f4}.absent-list>div:first-child{border-top:0}.avatar-mini{width:30px;height:30px;border-radius:9px;background:#e8f0f6;color:var(--primary);display:grid;place-items:center;font-size:10px;font-weight:900}.absent-list strong{font-size:11px}.absent-list>div>span:last-child{font-size:9px;color:#71818e;background:#eef2f5;border-radius:999px;padding:3px 6px}.favorite-list{display:grid;gap:6px}.favorite-list a{padding:8px 10px;border-radius:8px;text-decoration:none;background:#f7f9fb;color:#425d71;font-size:11px}.live-metric{display:flex;flex-direction:column;gap:8px}.live-metric>strong{font-size:38px;color:var(--primary-dark);line-height:1}.live-metric>span{color:#71808c;font-size:11px}

/* Werkstatt: ruhige, vollflächige Prioritätsfarbe und Status klar darüber. */
.workshop-filters-card{margin-bottom:13px}.workshop-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:9px;align-items:end}.saved-filter-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:10px}.saved-filter-chip{display:inline-flex;align-items:center;gap:5px;background:#eef4f8;border:1px solid #d8e3ea;color:#42627a;border-radius:999px;padding:5px 9px;text-decoration:none;font-size:10px;font-weight:800}.week-board .task{overflow:hidden;border:1px solid rgba(30,55,72,.11)!important;border-left-width:5px!important;background:#fff!important;box-shadow:0 4px 12px rgba(24,41,55,.05)}.week-board .task.task-priority-low,.month-task.task-priority-low{background:#f4f6f7!important;border-left-color:#8998a4!important}.week-board .task.task-priority-normal,.month-task.task-priority-normal{background:#edf5fb!important;border-left-color:#4f85aa!important}.week-board .task.task-priority-elevated,.month-task.task-priority-elevated{background:#fff7df!important;border-left-color:#c89527!important}.week-board .task.task-priority-high,.month-task.task-priority-high{background:#fff0e3!important;border-left-color:#d56a16!important}.week-board .task.task-priority-urgent,.month-task.task-priority-urgent{background:#fff0f1!important;border-left-color:#bd1721!important}.week-board .task.task-done{opacity:.72;filter:saturate(.75)}.task-status-banner{margin:-12px -12px 10px;padding:7px 10px;display:flex;align-items:center;gap:7px;border-bottom:1px solid rgba(20,40,55,.08);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.task-status-banner.status-planned{background:#dfeaf3;color:#265d83}.task-status-banner.status-progress{background:#cfe8f8;color:#0b639a}.task-status-banner.status-blocked{background:#f5cdd0;color:#8c131b}.task-status-banner.status-done{background:#cee8d7;color:#206342}.task-status-banner .status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.task-title-row{display:flex;gap:8px;justify-content:space-between;align-items:start}.task-title{font-size:13px;line-height:1.25}.task-meta-prominent{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:6px 0}.priority-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:900;white-space:nowrap}.priority-pill.priority-low{background:#e4e8eb;color:#596973}.priority-pill.priority-normal{background:#dbeaf5;color:#305f7f}.priority-pill.priority-elevated{background:#fbe7aa;color:#77520b}.priority-pill.priority-high{background:#f9cfac;color:#8d440b}.priority-pill.priority-urgent{background:#f2bec2;color:#8c0f18}.responsible-name{font-size:10px;font-weight:900;color:#294f69}.assignee-list{font-size:10px;color:#607483}.done-tasks{margin-top:8px;border-top:1px solid #dbe3e9;padding-top:7px}.done-tasks>summary{cursor:pointer;list-style:none;padding:7px 9px;border-radius:8px;background:#eef2f4;color:#5c6c78;font-size:10px;font-weight:900}.done-tasks>summary::-webkit-details-marker{display:none}.done-task-list{display:grid;gap:7px;margin-top:8px}.task-controls{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:8px}.task-edit-details,.task-copy-details,.task-delete-details{position:relative}.task-edit-details summary,.task-copy-details summary,.task-delete-details summary{list-style:none}.task-edit-details summary::-webkit-details-marker,.task-copy-details summary::-webkit-details-marker,.task-delete-details summary::-webkit-details-marker{display:none}.task-edit-form,.task-copy-form{margin-top:8px;padding:10px;border-radius:9px;background:rgba(255,255,255,.86);border:1px solid rgba(40,65,82,.12)}.mobile-day-tabs{gap:5px;margin-bottom:10px}.mobile-day-tabs button{flex:1;min-width:0;border:1px solid #d4dee6;background:#fff;border-radius:9px;padding:8px 4px;font-size:10px;font-weight:900;color:#607483}.mobile-day-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary)}

/* 6-Monatsplanung: Aufgaben bleiben direkt im Monat; bei hoher Dichte scrollt nur der Monat. */
.longterm-filter-card{margin-bottom:12px}.longterm-filter-form{display:grid;grid-template-columns:1.2fr repeat(2,1fr) auto auto;gap:9px;align-items:end}.longterm-nav{display:flex;justify-content:center;gap:8px;margin:12px 0}.six-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.month-planner{padding:0!important;overflow:hidden;min-width:0}.month-planner-head{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;background:#f4f8fa;border-bottom:1px solid #dce5eb}.month-planner-head>div{display:flex;align-items:baseline;gap:6px}.month-planner-head strong{font-size:18px;color:var(--primary-dark)}.month-planner-head span{font-size:10px;color:#718391}.month-planner-head>b{min-width:28px;height:28px;border-radius:15px;background:#e7edf1;color:#506575;display:grid;place-items:center;font-size:10px}.month-task-stack{display:grid;gap:7px;padding:10px;max-height:450px;overflow:auto}.month-task{border:1px solid rgba(35,60,75,.11);border-left:5px solid #6689a3;border-radius:9px;padding:9px;text-decoration:none;display:grid;gap:4px;min-width:0}.month-task>strong{font-size:11px;color:#213e53;line-height:1.25}.month-task>small{font-size:9px;color:#6c7e8a;white-space:normal}.month-task>div{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:9px;color:#647684}.month-task-status{justify-self:start;padding:3px 6px;border-radius:999px;font-size:8px;font-weight:900;text-transform:uppercase}.month-task-status.status-planned{background:#dae8f2;color:#285e83}.month-task-status.status-progress{background:#cbe6f7;color:#0a628f}.month-task-status.status-blocked{background:#f2c7cb;color:#881019}.month-task-status.status-done{background:#cae7d5;color:#1e6240}

/* Urlaub: feste Mitarbeiterzeile + taggenaue Matrix. */
.vacation-top-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:14px}.vacation-view-actions{display:flex;gap:7px;flex-wrap:wrap}.vacation-month-nav{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0}.vacation-month-nav h2{margin:0;min-width:210px;text-align:center;color:var(--primary-dark);font-size:20px}.vacation-matrix-card{padding:0!important;overflow:hidden}.vacation-matrix-help{padding:13px 16px;border-bottom:1px solid #e0e7ec;display:flex;justify-content:space-between;gap:12px;background:#f8fafb}.vacation-matrix-help strong{font-size:12px;color:#27495f}.vacation-matrix-help span{font-size:10px;color:#71818e}.vacation-matrix-wrap{overflow:auto;max-width:100%;background:#fff}.vacation-matrix{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%;table-layout:fixed}.vacation-matrix th,.vacation-matrix td{border-right:1px solid #e5eaee;border-bottom:1px solid #e5eaee;height:36px;padding:0}.vacation-matrix thead th{position:sticky;top:0;z-index:3;background:#f4f7f9;width:31px;min-width:31px;text-align:center}.vacation-matrix thead th span{display:block;font-size:8px;color:#80909b;text-transform:uppercase}.vacation-matrix thead th strong{font-size:10px;color:#40596b}.vacation-matrix .vac-person-head,.vacation-matrix .vac-person{position:sticky;left:0;z-index:5;width:180px;min-width:180px;max-width:180px;text-align:left;padding:0 10px;background:#fff;box-shadow:3px 0 6px rgba(28,45,58,.05)}.vacation-matrix .vac-person-head{z-index:6;background:#f4f7f9;font-size:10px}.vacation-matrix .vac-person strong{display:block;font-size:10px;color:#2f4a5d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vacation-matrix .vac-person span{display:block;font-size:8px;color:#84929c}.vac-day{position:relative;background:#fff}.vac-day.weekend,.vacation-matrix th.weekend{background:#f0f2f3}.vac-day.today:after{content:'';position:absolute;inset:2px;border:2px solid #0f4c81;border-radius:3px;pointer-events:none}.vac-day.occupied{background:#d8e8f3}.vac-day.occupied.pending{background:#f9e5b5}.vac-day.occupied.approved{background:#cbe9d7}.vac-day.part-am:before,.vac-day.part-pm:before{content:'';position:absolute;background:rgba(255,255,255,.62)}.vac-day.part-am:before{right:0;top:0;bottom:0;width:50%}.vac-day.part-pm:before{left:0;top:0;bottom:0;width:50%}.vac-cell-link,.vac-cell-fill{display:block;position:absolute;inset:0}.vac-legend{display:flex;gap:15px;flex-wrap:wrap;padding:10px 15px;background:#fafbfc;font-size:9px;color:#687b88}.vac-legend i{display:inline-block;width:12px;height:8px;border-radius:2px;margin-right:4px}.vac-legend i.approved{background:#9dd2b2}.vac-legend i.pending{background:#e9c46a}.vac-legend i.weekend{background:#e1e4e6}.vac-admin-entry-list{display:grid;gap:8px}.vac-admin-entry{border:1px solid #dfe6eb;border-left:5px solid #92a4b0;border-radius:10px;padding:10px 12px}.vac-admin-entry.status-approved{border-left-color:#31825a}.vac-admin-entry.status-pending{border-left-color:#c18b17}.vac-admin-entry-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.vac-admin-entry-main>div{display:flex;flex-direction:column}.vac-admin-entry-main strong{font-size:11px}.vac-admin-entry-main span,.vac-admin-entry-main small{font-size:9px;color:#71818e}.vac-status{border-radius:999px;padding:3px 7px;font-size:8px!important;font-weight:900!important}.vac-status.approved{background:#d8efdf;color:#226a45}.vac-status.pending{background:#fff0c7;color:#805a08}.vac-status.rejected{background:#f7d3d6;color:#8c1921}.vac-year-wrap{overflow:auto}.vac-year-table{border-collapse:collapse;min-width:900px;width:100%}.vac-year-table th,.vac-year-table td{border:1px solid #e1e7eb;padding:7px;text-align:center;font-size:9px}.vac-year-table th:first-child{position:sticky;left:0;background:#fff;z-index:2;text-align:left;min-width:160px}.vac-year-table td.has-absence{background:#dff0e5}.vac-year-table td b{display:block;color:#276a48;font-size:12px}.vac-year-table td span{font-size:7px;color:#6d7e8a}.team-setting-list{display:grid;gap:7px;margin-top:10px}.team-setting-list form{display:grid;grid-template-columns:1fr 90px auto;gap:8px;align-items:center;border-top:1px solid #edf1f4;padding-top:7px}.vacation-item{border:1px solid #e0e6eb;border-left:4px solid #a6b2ba;border-radius:9px;padding:10px;margin-top:7px}.vacation-item.status-approved{border-left-color:#31825a}.vacation-item.status-pending{border-left-color:#c18b17}.vacation-item.status-rejected{border-left-color:#b3252d}.vacation-item-head{display:flex;justify-content:space-between;gap:8px;align-items:start}.vacation-item-head>div{display:flex;flex-direction:column}.vacation-item-head strong{font-size:11px}.vacation-item-head span{font-size:9px;color:#71818e}

/* Essen: Monatskalender groß; Hauptansicht rolliert immer exakt vier Mittwoche. */
.rolling-meals-card{margin-bottom:14px}.rolling-meal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.rolling-meal{min-height:118px;border:1px solid #dce5eb;border-top:4px solid var(--primary);border-radius:11px;padding:11px;background:#fff;text-decoration:none;display:flex;flex-direction:column;gap:5px}.rolling-meal>span{font-size:9px;color:#718391;font-weight:900;text-transform:uppercase}.rolling-meal>strong{font-size:12px;color:#203f55;line-height:1.25}.rolling-meal>b{font-size:10px;color:#2a744f}.rolling-meal>small{margin-top:auto;font-size:9px;color:#758691}.rolling-meal.empty-slot{border-top-color:#b7c2ca;background:#f8fafb}.meal-month-nav{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0}.meal-month-nav h2{min-width:210px;text-align:center;margin:0;color:var(--primary-dark)}.meal-calendar-card{padding:10px!important;overflow:auto}.meal-calendar{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px}.meal-weekday{padding:7px;text-align:center;font-size:10px;font-weight:900;color:#506777;border-bottom:1px solid #dfe6eb}.meal-weekday.weekend{background:#f0f2f3}.meal-day{min-height:125px;padding:7px;border-right:1px solid #e6ebef;border-bottom:1px solid #e6ebef;background:#fff}.meal-day.outside{opacity:.42;background:#f6f7f8}.meal-day.wednesday{background:#f6fafc;box-shadow:inset 0 3px #0f4c81}.meal-day-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.meal-day-head strong{font-size:13px}.meal-day-head span{font-size:8px;color:var(--primary);font-weight:900}.meal-calendar-event{display:grid;gap:2px;padding:7px;border-radius:8px;background:#eaf3f9;color:#2f4f65;text-decoration:none;margin-bottom:5px}.meal-calendar-event strong{font-size:9px}.meal-calendar-event span{font-size:10px;font-weight:800}.meal-calendar-event b{font-size:9px;color:#287149}.meal-calendar-event small{font-size:8px;color:#6b7d89}.meal-empty-wed{font-size:9px;color:#8a98a2;padding:8px 5px;border:1px dashed #ced8df;border-radius:7px;text-align:center}.meal-event-list{display:grid;gap:13px}.meal-event-head{display:flex;justify-content:space-between;gap:15px}.meal-event-head h2{margin:2px 0}.meal-count{width:60px;height:60px;border-radius:30px;background:#edf4f8;color:var(--primary);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;font-size:18px}.meal-count small{font-size:7px;color:#6b7d89}.meal-event-columns{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:16px;margin-top:14px}.meal-wishes{border-left:1px solid #e3e9ed;padding-left:16px}.meal-suggestion-form{display:flex;gap:7px}.meal-suggestion-form input{flex:1}.meal-suggestion-list{display:grid;gap:6px;margin-top:8px}.meal-suggestion{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #e1e7eb;border-radius:9px;padding:8px 9px;background:#fafbfc}.meal-suggestion.selected{background:#eaf6ef;border-color:#bddfc9}.meal-suggestion>div:first-child{display:flex;flex-direction:column}.meal-suggestion strong{font-size:10px}.meal-suggestion small{font-size:8px;color:#758691}.suggestion-actions{display:flex;gap:5px;align-items:center}.vote-btn{border:1px solid #d8e1e7;background:#fff;color:#6c7e8b;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900}.vote-btn.active{background:#ffe9eb;color:#a61c25;border-color:#efc1c5}.meal-responses>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #edf1f4;font-size:10px}

/* Austausch & Ideen */
.exchange-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.exchange-tabs a{padding:7px 10px;border:1px solid #dbe3e9;border-radius:999px;text-decoration:none;color:#5c7181;font-size:10px;font-weight:900;background:#fff}.exchange-tabs a.active{background:#e8f1f7;color:var(--primary);border-color:#c5d8e5}.topics-list-card{padding:10px 18px!important}.exchange-topic{padding:15px 2px;border-bottom:1px solid #e9eef1}.exchange-topic:last-child{border-bottom:0}.topic-type-row,.topic-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.topic-status{padding:3px 7px;border-radius:999px;font-size:8px;font-weight:900;background:#edf1f4;color:#627483}.topic-status.status-answered,.topic-status.status-implemented{background:#dcefe3;color:#246945}.topic-status.status-review{background:#fff0c8;color:#7d590c}.topic-status.status-rejected{background:#f7d8db;color:#8b1820}.topic-comments{display:grid;gap:6px;margin-top:10px}.comment{padding:8px 10px;border-radius:8px;background:#f5f8fa;font-size:10px}.topic-comment-form{display:flex;gap:7px;margin-top:8px}.topic-comment-form input,.topic-comment-form textarea{flex:1}

/* Suche / Benachrichtigungen / Systemstatus */
.global-search-large{display:flex;gap:8px}.global-search-large input{flex:1;min-width:0}.search-results{display:grid;margin-top:12px}.search-result{padding:12px 4px;border-top:1px solid #e9eef1;text-decoration:none}.search-result:hover{background:#f8fafb}.search-result-head{display:flex;justify-content:space-between;gap:10px}.search-result h3{font-size:12px;margin:0;color:#24465e}.search-result p,.search-result span{font-size:9px;color:#728391;margin:4px 0 0}.notification-list{display:grid}.notification-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:11px 4px;border-top:1px solid #e9eef1}.notification-row.unread{background:#f4f8fb}.notification-kind{font-size:8px;font-weight:900;padding:3px 6px;border-radius:999px;background:#e8eef2;color:#526979}.notification-content strong{font-size:11px}.notification-content p,.notification-content small{font-size:9px;color:#71818e}.system-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.system-tile{min-height:150px;display:flex;flex-direction:column;gap:7px}.system-tile:before{content:'●';font-size:18px}.system-tile.ok:before{color:#278052}.system-tile.warn:before{color:#b98314}.system-tile.error:before{color:#b81e27}.system-tile h2{font-size:15px;margin:0}.system-tile p{font-size:10px;color:#71818e;margin:0}.version-badge{display:inline-flex;align-self:flex-start;padding:5px 8px;border-radius:999px;background:#eaf2f8;color:var(--primary);font-weight:900}.restore-note{margin-top:12px;border-left:4px solid #d19a22}

/* Einstellungen / Notification preferences */
.notification-settings-card,.theme-settings-card{margin-top:14px}.notification-pref-grid{display:grid;max-width:720px;margin-top:13px;border:1px solid #e1e7eb;border-radius:10px;overflow:hidden}.notification-pref-grid>.pref-head,.notification-pref-grid>label{display:grid;grid-template-columns:1fr 70px 70px;align-items:center;min-height:42px;padding:0 10px;border-bottom:1px solid #e8edf0}.notification-pref-grid>.pref-head{background:#f4f7f9;font-size:9px;color:#617482}.notification-pref-grid>label span{font-size:10px;font-weight:800}.notification-pref-grid input{justify-self:center}.notification-pref-grid>.btn{margin:10px;justify-self:start}.notification-fineprint{font-size:9px;margin-top:8px}.theme-settings-form{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:13px}.theme-preview{min-height:60px;border:1px solid #dfe6eb;border-radius:10px;padding:10px;display:flex;gap:10px;align-items:center;background:#f8fafb}.theme-preview>span{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#0f4c81,#c00510)}.theme-preview strong,.theme-preview small{display:block}.theme-preview strong{font-size:10px}.theme-preview small{font-size:8px;color:#71818e;margin-top:3px}

/* V11 TV – aus mehreren Metern eindeutig. */
body.v11-tv{margin:0;min-height:100vh;height:100vh;overflow:hidden;background:#e9eef2;color:#1a2a36;font-family:Arial,Helvetica,sans-serif;display:grid;grid-template-rows:76px 38px minmax(0,1fr) 34px}.v11-tv .tv-header{height:auto;display:grid;grid-template-columns:minmax(330px,1fr) auto minmax(250px,1fr);align-items:center;gap:14px;padding:8px 16px;background:#fff;border-bottom:1px solid #d4dde4;box-shadow:0 2px 10px rgba(18,35,49,.08)}.v11-tv .tv-brand{display:flex;align-items:center;gap:13px}.v11-tv .tv-brand img{width:165px;max-height:44px;object-fit:contain}.v11-tv .tv-brand>div{display:flex;flex-direction:column}.v11-tv .tv-brand strong{font-size:16px;color:#173f5e}.v11-tv .tv-brand span{font-size:9px;color:#71818e}.tv-header-center{text-align:center;display:flex;flex-direction:column}.tv-header-center b{font-size:14px;color:#24465e}.tv-header-center span{font-size:8px;color:#7c8b96}.tv-header-right{display:flex;align-items:center;justify-content:flex-end;gap:10px}.v11-tv .tv-clock{font-size:22px;font-weight:900;color:#173f5e}.v11-tv .tv-nav{display:flex;gap:4px}.v11-tv .tv-nav a{height:32px;min-width:32px;padding:0 8px;border:1px solid #d2dce3;border-radius:7px;display:grid;place-items:center;text-decoration:none;background:#fff;color:#4f6778;font-size:10px;font-weight:900}.v11-tv .tv-legend{display:flex;align-items:center;gap:6px;padding:4px 16px;background:#f8fafb;border-bottom:1px solid #dbe3e9;font-size:8px;white-space:nowrap;overflow:hidden}.v11-tv .tv-legend>strong{color:#5b6f7e}.v11-tv .tv-legend>i{width:1px;height:18px;background:#d7e0e6;margin:0 5px}.legend-status,.legend-priority{padding:3px 7px;border-radius:999px;font-weight:900}.legend-status.planned{background:#dce8f1;color:#275c80}.legend-status.progress{background:#c8e7f8;color:#086190}.legend-status.blocked{background:#f2c7cb;color:#8b1018}.legend-status.done{background:#cae7d4;color:#206442}.legend-priority.low{background:#e6eaed;color:#5d6971}.legend-priority.normal{background:#dcebf5;color:#315f7e}.legend-priority.elevated{background:#f9e9b7;color:#73500b}.legend-priority.high{background:#f9d0ad;color:#894309}.legend-priority.urgent{background:#f2bdc1;color:#891018}.v11-tv .tv-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:9px 10px;min-height:0;overflow:hidden}.v11-tv .tv-day{min-width:0;background:#dce4e9;border:1px solid #d1dbe2;border-radius:10px;overflow:hidden;display:grid;grid-template-rows:48px minmax(0,1fr)}.v11-tv .tv-day-head{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:6px 9px;border-bottom:1px solid #d3dde4}.v11-tv .tv-day-head>div{display:flex;flex-direction:column}.v11-tv .tv-day-head strong{font-size:15px;color:#173e5d}.v11-tv .tv-day-head span{font-size:8px;color:#758691}.v11-tv .tv-day-head>b{min-width:25px;height:25px;border-radius:13px;background:#edf2f5;color:#516775;font-size:9px;display:grid;place-items:center}.v11-tv .tv-task-list{padding:6px;overflow:auto;display:grid;gap:6px;align-content:start;min-height:0}.v11-tv .tv-task{padding:0!important;border:1px solid #d3dce2!important;border-left:5px solid #8194a2!important;border-radius:8px;background:#fff!important;overflow:hidden;box-shadow:0 3px 9px rgba(20,37,51,.07);opacity:1}.v11-tv .tv-task.priority-low{border-left-color:#8b99a3!important}.v11-tv .tv-task.priority-normal{border-left-color:#4d86ad!important}.v11-tv .tv-task.priority-elevated{border-left-color:#c99322!important}.v11-tv .tv-task.priority-high{border-left-color:#d46511!important}.v11-tv .tv-task.priority-urgent{border-left-color:#b90f19!important}.v11-tv .tv-task.is-done{opacity:.48;filter:saturate(.55)}.v11-tv .tv-status-banner{margin:0!important;padding:5px 7px!important;min-height:27px;font-size:9px!important}.v11-tv .tv-status-banner.status-planned{background:#dce9f2;color:#245b80}.v11-tv .tv-status-banner.status-progress{background:#bfe2f6;color:#075f91}.v11-tv .tv-status-banner.status-blocked{background:#efbfc4;color:#861018}.v11-tv .tv-status-banner.status-done{background:#bfe1cd;color:#1c603d}.v11-tv .tv-status-banner .series-mark{margin-left:auto}.tv-task-main{padding:7px 8px 8px}.tv-task-topline{display:flex;align-items:center;justify-content:space-between;gap:5px}.v11-tv .tv-order{font-size:8px;color:#697b87;font-weight:900;letter-spacing:.04em}.v11-tv .tv-task h3{font-size:13px;line-height:1.18;margin:5px 0;color:#1b3447}.v11-tv .tv-people{display:flex;gap:5px;align-items:center;flex-wrap:wrap;font-size:9px;color:#586f80}.v11-tv .tv-people strong{color:#264e69}.v11-tv .tv-meta-line{display:flex;justify-content:space-between;gap:5px;flex-wrap:wrap;margin-top:5px;font-size:8px;color:#657985}.v11-tv .tv-note{margin-top:6px;padding:5px 6px;border-radius:6px;background:#f2f5f7;font-size:8px;line-height:1.25;color:#526774}.v11-tv .tv-empty{padding:18px 8px;text-align:center;color:#788893;font-size:9px}.v11-tv .tv-footer{display:flex;align-items:center;justify-content:space-between;padding:0 13px;background:#101a22;color:#cad5dc;font-size:8px}.v11-tv .tv-footer strong{color:#fff}

/* Mobil-Pass */
@media(max-width:1180px){.global-search-mini{display:none}.six-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.my-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.v11-tv .tv-header{grid-template-columns:1fr auto}.tv-header-center{display:none}.v11-tv .tv-board{gap:5px;padding:7px}.v11-tv .tv-brand img{width:140px}.v11-tv .tv-task h3{font-size:11px}}
@media(max-width:900px){.v11-dashboard{grid-template-columns:1fr}.span-2{grid-column:auto}.vacation-top-grid{grid-template-columns:1fr}.rolling-meal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-event-columns{grid-template-columns:1fr}.meal-wishes{border-left:0;border-top:1px solid #e3e9ed;padding-left:0;padding-top:13px}.theme-settings-form{grid-template-columns:1fr}.workshop-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.six-month-grid{grid-template-columns:1fr}.month-task-stack{max-height:none}.v11-tv .tv-brand>div{display:none}.v11-tv .tv-header{grid-template-columns:auto 1fr}.v11-tv .tv-board{grid-template-columns:repeat(5,minmax(180px,1fr));overflow:auto}.v11-tv .tv-day{min-width:180px}}
@media(max-width:760px){:root{--top:58px}.portal-topbar{height:var(--top);padding:0 8px;gap:5px}.portal-brand{gap:5px}.mobile-menu{display:block;margin:0;padding:3px;font-size:20px}.portal-logo{width:102px;max-height:34px}.portal-title{display:none}.portal-actions{gap:3px}.portal-switch{order:1}.portal-switch a{min-height:31px;padding:0 6px;font-size:9px}.notification-menu{order:2}.portal-account,.top-logout{display:none}.notification-popover{position:fixed;top:62px;right:8px;width:calc(100vw - 16px);max-width:380px}.sidebar{top:var(--top);transform:translateX(-105%);transition:transform .18s ease;box-shadow:8px 0 25px rgba(18,35,49,.14);z-index:78}.sidebar.open{transform:translateX(0)}.content{margin-left:0;padding:calc(var(--top) + 18px) 11px 30px;max-width:none}.preview-banner{top:var(--top);justify-content:space-between;gap:8px}.preview-banner>div{display:block}.preview-banner span{display:block}.preview-mode .content{padding-top:calc(var(--top) + 66px)}.preview-mode .sidebar{top:calc(var(--top) + 44px)}.page-head{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:16px}.page-head h1{font-size:27px}.page-head p{font-size:13px}.head-actions{width:100%}.head-actions .btn{flex:1}.card{padding:15px}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:12px}.my-day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.my-day-grid>a{min-height:72px;padding:10px}.my-day-grid strong{font-size:20px}.quick-grid{grid-template-columns:repeat(4,1fr)}.quick-grid a,.quick-grid button{min-height:68px}.quick-grid b{font-size:9px}.absent-list>div:not(.empty){grid-template-columns:30px 1fr}.absent-list>div>span:last-child{grid-column:2;justify-self:start}.workshop-head-actions{width:100%}.workshop-head-actions .btn{flex:1}.workshop-filters{grid-template-columns:1fr 1fr}.week-board{display:block}.mobile-day-tabs{display:flex}.day-column{display:none!important}.day-column.mobile-active{display:block!important}.week-board .day-column{min-height:0}.done-task-list{display:grid}.task-edit-form,.task-copy-form{grid-template-columns:1fr!important}.task-controls{align-items:stretch}.task-controls>.btn,.task-controls>form,.task-controls>details{flex:1 1 auto}.task-controls details>summary{width:100%}.longterm-filter-form{grid-template-columns:1fr 1fr}.longterm-filter-form>.btn{grid-column:1/-1}.longterm-nav{justify-content:stretch}.longterm-nav .btn{flex:1;text-align:center}.six-month-grid{gap:10px}.month-planner-head{padding:12px}.month-task-stack{padding:8px}.vacation-month-nav{gap:5px}.vacation-month-nav h2{font-size:16px;min-width:0;flex:1}.vacation-matrix-help{display:block}.vacation-matrix-help span{display:block;margin-top:3px}.vacation-matrix .vac-person-head,.vacation-matrix .vac-person{width:132px;min-width:132px;max-width:132px}.vacation-matrix thead th{width:29px;min-width:29px}.vacation-matrix th,.vacation-matrix td{height:34px}.vac-admin-entry-main{align-items:flex-start;flex-direction:column}.vac-entry-tools .mini-form{grid-template-columns:1fr!important}.approval-actions{display:grid;gap:5px}.team-setting-list form{grid-template-columns:1fr 70px}.team-setting-list form .btn{grid-column:1/-1}.rolling-meal-grid{grid-template-columns:1fr 1fr}.rolling-meal{min-height:104px;padding:9px}.meal-calendar-card{padding:6px!important}.meal-calendar{grid-template-columns:repeat(7,108px);min-width:756px}.meal-day{min-height:112px}.meal-event-head{align-items:flex-start}.meal-count{width:52px;height:52px;flex:0 0 52px}.meal-suggestion{align-items:flex-start;flex-direction:column}.suggestion-actions{width:100%;justify-content:flex-start}.inline-admin-tools{display:grid;gap:7px}.topic-comment-form{display:grid}.system-status-grid{grid-template-columns:1fr}.notification-pref-grid>.pref-head,.notification-pref-grid>label{grid-template-columns:1fr 54px 54px}.browser-notification-card{gap:10px}.browser-notification-actions{width:100%}.browser-notification-actions .btn{width:100%}.global-search-large{display:grid}.activity-list>div{grid-template-columns:1fr}.manufacturing-doc{grid-template-columns:1fr!important}.doc-actions{align-items:flex-start!important}.v11-tv{height:auto!important;min-height:100vh!important;overflow:auto!important;grid-template-rows:auto auto auto auto!important}.v11-tv .tv-header{position:sticky;top:0;z-index:10;padding:6px 8px}.v11-tv .tv-brand img{width:115px}.v11-tv .tv-clock{font-size:18px}.v11-tv .tv-legend{overflow:auto;padding:4px 8px}.v11-tv .tv-board{display:grid;grid-template-columns:1fr!important;overflow:visible!important;padding:8px}.v11-tv .tv-day{min-width:0!important;min-height:160px}.v11-tv .tv-task-list{overflow:visible}.v11-tv .tv-footer{padding:8px;gap:8px;flex-wrap:wrap}.seasonal-piece{opacity:.11!important}}
@media(max-width:460px){.portal-logo{width:82px}.portal-switch a{max-width:67px;white-space:normal;line-height:1.05;text-align:center;padding:0 4px}.notification-bell{width:31px;height:31px}.my-day-grid{grid-template-columns:1fr 1fr}.quick-grid{grid-template-columns:repeat(3,1fr)}.rolling-meal-grid{grid-template-columns:1fr}.workshop-filters{grid-template-columns:1fr}.longterm-filter-form{grid-template-columns:1fr}.vacation-view-actions{width:100%}.vacation-view-actions .btn{flex:1}.vacation-matrix .vac-person-head,.vacation-matrix .vac-person{width:116px;min-width:116px;max-width:116px;padding:0 6px}.meal-month-nav h2{font-size:15px;min-width:0}.meal-response-form .choice-row{display:grid}.settings-account-grid{grid-template-columns:1fr!important}.notification-pref-grid>.pref-head,.notification-pref-grid>label{grid-template-columns:1fr 45px 45px;padding:0 7px}.notification-pref-grid>label span{font-size:9px}}

/* Print: Essensplan und Standard-Seiten bleiben sauber. */
@media print{.portal-topbar,.sidebar,.preview-banner,.seasonal-backdrop,.head-actions,.mobile-menu,.notification-menu{display:none!important}.content{margin:0!important;padding:0!important;max-width:none!important}.card{box-shadow:none!important}.meal-calendar-card{overflow:visible!important}.meal-calendar{min-width:0!important}.meal-day{min-height:95px!important}}
.quick-grid a{border:1px solid #e1e7ed;background:#f8fafc;border-radius:11px;min-height:84px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;color:#3d5265;text-decoration:none}.quick-grid a:hover{background:#eef5fa;border-color:#cbdbe7;color:var(--primary);transform:translateY(-1px)}.quick-grid a span{font-size:22px}.quick-grid a b{font-size:12px}

/* ===== V12: Lesbarkeit, Dashboard-Anpassung, Changelog, @Mentions ===== */
body{font-size:16px;line-height:1.58}.nav-item{min-height:46px;font-size:14px}.btn,.primary-btn,.success-btn,.ghost-btn,.outline-btn,.danger-outline,.top-logout{min-height:44px;font-size:14px}.field label{font-size:12px!important;font-weight:800}.field input,.field select,.field textarea{font-size:14px;min-height:42px}.eyebrow{font-size:12px}.section-title-row h2{font-size:21px}.pill,.priority-pill,.status-pill,.series-mark{font-size:11px!important}.task h3,.task-title{font-size:16px!important}.task-meta,.task-note-box{font-size:12px!important}.direct-user strong{font-size:13px}.direct-user small{font-size:11px}.chat-box-title h2{font-size:22px}.chat-msg-head strong{font-size:13px}.chat-body{font-size:14px}.chat-time{font-size:11px}.msg-delete{font-size:11px!important;min-height:32px}.portal-account,.top-logout{font-size:12px}

.v12-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.v12-dashboard .dashboard-tile{position:relative;min-width:0}.v12-dashboard .dashboard-tile.tile-wide{grid-column:1/-1}.tile-custom-controls{display:none;position:absolute;z-index:5;right:10px;top:10px;gap:5px}.tile-custom-controls button{border:1px solid #c9d5de;background:#fff;color:#35556d;border-radius:8px;min-height:32px;padding:4px 8px;font-size:11px;font-weight:800}.v12-dashboard.is-customizing .dashboard-tile{outline:2px dashed #97afc1;outline-offset:2px;cursor:grab;padding-top:52px}.v12-dashboard.is-customizing .tile-custom-controls{display:flex}.v12-dashboard.is-customizing .tile-config-hidden{display:block!important;opacity:.42;filter:grayscale(.35)}.v12-dashboard .dashboard-tile.is-dragging{opacity:.55;cursor:grabbing}.dashboard-customize-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-8px 0 18px;padding:12px 14px;border:1px solid #cddae4;border-radius:12px;background:#eef5fa}.dashboard-customize-bar>span:not(.muted){color:#5d7181;font-size:13px}.dashboard-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.reminder-dashboard-card,.favorites-card,.live-metric{padding:22px}.reminder-mini-list{display:grid;gap:7px;margin-bottom:12px}.reminder-mini{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e0e7ec;border-left:4px solid #7890a3;border-radius:9px;padding:9px 10px}.reminder-mini.priority-high{border-left-color:#d46511}.reminder-mini.priority-urgent{border-left-color:#b90f19}.reminder-mini strong{font-size:13px}.reminder-mini span{font-size:11px;color:var(--muted)}.privacy-note{padding:12px;border-radius:9px;background:#f4f6f8;color:#5d6f7d;font-size:13px}.urgent-count{background:#b90f19!important;color:#fff!important}

.mention-suggestions{position:absolute;left:0;right:0;bottom:74px;z-index:30;margin:0 18px;padding:6px;background:#fff;border:1px solid #cdd9e2;border-radius:12px;box-shadow:0 14px 30px rgba(20,40,55,.14);max-height:240px;overflow:auto}.chat-box{position:relative}.mention-suggestions button{width:100%;display:flex;align-items:center;gap:10px;border:0;background:#fff;border-radius:8px;padding:9px 10px;text-align:left;color:#314b5e}.mention-suggestions button:hover,.mention-suggestions button:focus{background:#eef5fa}.mention-suggestions strong{font-size:13px;color:#0f4c81}.mention-suggestions span{font-size:12px;color:#667686}.chat-form button[disabled]{opacity:.6;cursor:wait}

.version-hero{min-width:76px;height:76px;border-radius:18px;background:#0f4c81;color:#fff;display:grid;place-items:center;font-size:25px;font-weight:900;box-shadow:0 8px 20px rgba(15,76,129,.18)}.changelog-list{display:grid;gap:16px}.changelog-version{padding:0;overflow:hidden}.changelog-version.current{border-color:#9cb8cd;box-shadow:0 12px 34px rgba(15,76,129,.10)}.changelog-version-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 22px;border-bottom:1px solid #e2e8ed;background:#f8fafb}.changelog-version.current .changelog-version-head{background:#edf5fa}.changelog-version-head span{font-size:12px;font-weight:900;letter-spacing:.06em;color:#697b89}.changelog-version-head h2{margin:3px 0 0;color:#0a355b;font-size:22px;line-height:1.25}.changelog-version-head>b{background:#0f4c81;color:#fff;border-radius:999px;padding:6px 10px;font-size:11px}.changelog-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.changelog-entry{padding:18px 22px;border-right:1px solid #e8edf1;border-bottom:1px solid #e8edf1}.changelog-entry:nth-child(2n){border-right:0}.changelog-entry h3{margin:0 0 7px;color:#0f4c81;font-size:16px}.changelog-entry p{margin:0;color:#4e6374;font-size:14px;line-height:1.6}.changelog-version.compact .changelog-groups{grid-template-columns:1fr}.changelog-version.compact .changelog-entry{border-right:0}.changelog-admin-create{margin-bottom:16px;padding:0}.changelog-admin-create>summary,.changelog-entry-admin>summary{cursor:pointer;list-style:none;font-weight:800;color:#0f4c81}.changelog-admin-create>summary{padding:16px 20px}.changelog-admin-create>.inner{padding:0 20px 20px}.changelog-admin-form{display:grid;grid-template-columns:140px minmax(0,1fr) 170px;gap:10px}.changelog-admin-form .span-2{grid-column:span 2}.changelog-admin-form .span-all{grid-column:1/-1}.changelog-entry-admin{margin-top:13px;padding-top:10px;border-top:1px dashed #d9e2e9}.changelog-entry-admin>summary{font-size:11px}.changelog-entry-admin[open]>summary{margin-bottom:10px}.changelog-admin-form.compact-form{grid-template-columns:repeat(3,minmax(0,1fr))}.changelog-delete-form{margin-top:8px}.changelog-edit-actions{display:flex;gap:8px}

.personal-reminder-create{padding:22px;margin-bottom:16px}.reminder-board{display:grid;gap:12px}.personal-reminder-card{padding:18px 20px;border-left:5px solid #7990a1}.personal-reminder-card.priority-high{border-left-color:#d46511}.personal-reminder-card.priority-urgent,.personal-reminder-card.overdue{border-left-color:#b90f19}.reminder-card-main{display:flex;justify-content:space-between;gap:20px}.reminder-card-main h2{margin:6px 0;color:#0a355b;font-size:20px}.reminder-card-main p{margin:0;color:#566a7a}.reminder-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.reminder-due{min-width:150px;text-align:right;display:flex;flex-direction:column}.reminder-due small{color:#788894}.reminder-due strong{font-size:18px;color:#0f4c81}.reminder-actions{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #e6ebef}.reminder-actions details{position:relative}.reminder-actions details>summary{list-style:none;border:1px solid #ccd7df;border-radius:9px;min-height:38px;padding:7px 10px;color:#425f74;font-size:12px;font-weight:800;cursor:pointer;background:#fff}.reminder-actions details[open]>.form-grid,.reminder-actions details[open]>.inline-copy-form,.reminder-actions details[open]>form{margin-top:8px;min-width:320px;padding:12px;border:1px solid #dbe3e9;border-radius:10px;background:#f8fafb}.completed-reminders{margin-top:16px;padding:16px 20px}.completed-reminders>summary{font-weight:900;color:#0a355b;cursor:pointer}.completed-reminder-list{display:grid;gap:7px;margin-top:12px}.completed-reminder-list>div{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:8px 0;border-top:1px solid #edf1f4}.reminder-channel-options{display:flex;gap:20px;align-items:center;flex-wrap:wrap}

body.theme-easter{background:#f6f8f1!important;--season-accent:#789b61}.theme-easter .seasonal-piece{display:block;opacity:.18}.theme-easter .seasonal-piece:before{content:'✿';color:#7a9d65}.theme-easter .seasonal-piece.p2:before{content:'🥚'}.theme-easter .seasonal-piece.p4:before{content:'🌷'}.theme-easter .seasonal-top-accent:after{content:'🌷  🥚';font-size:17px}.theme-easter .portal-title span:after{content:' · Osterzeit';color:#6d8d58}.theme-easter .card{border-color:#dce6d4}
body.theme-halloween{background:#f5f0ea!important;--season-accent:#b36b1e}.theme-halloween .seasonal-piece{display:block;opacity:.18}.theme-halloween .seasonal-piece:before{content:'🎃'}.theme-halloween .seasonal-piece.p2:before{content:'🦇'}.theme-halloween .seasonal-piece.p3:before{content:'🕸'}.theme-halloween .seasonal-piece.p4:before{content:'🎃'}.theme-halloween .portal-topbar{background:#fffaf4}.theme-halloween .seasonal-top-accent:after{content:'🎃  🦇';font-size:17px}.theme-halloween .portal-title span:after{content:' · Halloween';color:#9a5a18}.theme-halloween .card{border-color:#ead9c7}

@media(max-width:900px){.v12-dashboard{grid-template-columns:1fr}.v12-dashboard .dashboard-tile.tile-wide{grid-column:auto}.changelog-groups{grid-template-columns:1fr}.changelog-entry{border-right:0}.changelog-admin-form,.changelog-admin-form.compact-form{grid-template-columns:1fr 1fr}.changelog-admin-form .span-2{grid-column:1/-1}}
@media(max-width:760px){body{font-size:15px}.btn,.primary-btn,.success-btn,.ghost-btn,.outline-btn,.danger-outline{min-height:46px}.nav-item{min-height:48px;font-size:15px}.dashboard-customize-bar{position:sticky;top:64px;z-index:25}.v12-dashboard.is-customizing .dashboard-tile{padding-top:58px}.tile-custom-controls{left:8px;right:8px;justify-content:flex-end}.reminder-card-main{flex-direction:column}.reminder-due{text-align:left}.reminder-actions{display:grid;grid-template-columns:1fr}.reminder-actions>*{width:100%}.reminder-actions details>summary,.reminder-actions .btn{width:100%}.reminder-actions details[open]>.form-grid,.reminder-actions details[open]>.inline-copy-form,.reminder-actions details[open]>form{min-width:0}.completed-reminder-list>div{grid-template-columns:24px 1fr}.completed-reminder-list form,.completed-reminder-list small{grid-column:2}.changelog-admin-form,.changelog-admin-form.compact-form{grid-template-columns:1fr}.changelog-admin-form .span-2,.changelog-admin-form .span-all{grid-column:auto}.version-hero{width:66px;height:66px;min-width:66px}.changelog-version-head{align-items:flex-start;padding:16px}.changelog-version-head h2{font-size:18px}.changelog-entry{padding:16px}.mention-suggestions{bottom:120px;margin:0 10px}}

/* ========================================================================
   V13 – Lesbarkeit, Touch, Urlaub, Essen, Werkstatt/TV, Profile und Workflows
   ======================================================================== */
:root{--v13-font:17px;--v13-small:14px;--v13-line:#c9d5de}body{font-size:var(--v13-font);line-height:1.58}.content-inner{width:min(100%,1540px)}.page-head h1{font-size:40px}.page-head p{font-size:17px}.eyebrow{font-size:13px}.nav-item{font-size:16px;min-height:50px;padding:13px 14px}.nav-icon{font-size:21px}.btn,.primary-btn,.success-btn,.ghost-btn,.outline-btn,.danger-outline,.top-logout{min-height:46px;padding:10px 16px;font-size:15px}.btn.small,.ghost-btn.small{min-height:40px;font-size:13px}.field label{font-size:14px!important}.field input,.field select,.field textarea{min-height:46px;font-size:16px}.field textarea{min-height:100px}.field-help,.password-requirement,.muted,small{font-size:13px}.section-title-row h2{font-size:23px}.section-title-row p{font-size:15px}.permission-check strong{font-size:15px}.permission-check small{font-size:13px;line-height:1.45}.table th,.table td{font-size:15px;padding:13px 12px}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#e9f1f6;color:#315a76;font-size:13px;font-weight:900}

/* Benachrichtigungen */
.notification-popover{width:min(410px,calc(100vw - 24px))}.notification-popover-head{font-size:15px}.notification-quick-actions{display:flex;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:#f8fafc}.notification-quick-actions form{margin:0}.notification-quick-actions button{border:1px solid #ccd8e1;border-radius:8px;background:#fff;color:#35556d;padding:7px 9px;font-size:12px;font-weight:800}.notification-mini strong{font-size:14px}.notification-mini span{font-size:13px}.notification-mini small{font-size:11px}

/* Profile / Verzeichnis / neue V13 Module */
.v13-pad{padding:24px}.v13-pad h2{font-size:25px;margin:0 0 16px;color:#0a355b}.v13-pad h3{font-size:18px;color:#294c64}.v13-settings-grid,.v13-two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:18px}.profile-avatar-block{display:flex;gap:20px;align-items:center}.profile-avatar-xl,.employee-avatar{object-fit:cover;border-radius:18px;background:#e8f0f6;color:#0f4c81;display:grid;place-items:center;font-weight:900;border:1px solid #cbd9e3}.profile-avatar-xl{width:118px;height:118px;font-size:28px}.employee-avatar{width:86px;height:86px;font-size:22px;flex:0 0 86px}.employee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.employee-card{padding:20px;display:flex;gap:16px;align-items:center}.employee-card h2{font-size:20px;margin:0 0 3px;color:#0a355b}.employee-card strong{font-size:15px}.employee-card p{margin:4px 0;color:#657786}.employee-card a{display:block;color:#0f4c81;font-size:14px}.directory-search{display:flex;gap:8px}.directory-search input{min-width:300px;min-height:46px;border:1px solid #cbd6de;border-radius:10px;padding:8px 12px;font-size:16px}.event-list-v13{display:grid;gap:12px}.company-event{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:18px;padding:20px;align-items:start}.event-date-big{width:70px;height:78px;border-radius:14px;background:#eef5fa;display:flex;flex-direction:column;align-items:center;justify-content:center}.event-date-big strong{font-size:28px;color:#0f4c81;line-height:1}.event-date-big span{font-size:13px;font-weight:900;text-transform:uppercase}.company-event h2{margin:2px 0 6px;font-size:22px}.company-event p{margin:4px 0;font-size:15px}.request-row,.approval-row{padding:12px 0;border-top:1px solid #e5ebef;display:flex;align-items:center;justify-content:space-between;gap:12px}.request-row>div{display:flex;flex-direction:column}.request-row strong,.approval-row span,.approval-row a{font-size:15px}.request-row span{font-size:13px;color:#6b7d8a}.request-row p{width:100%;margin:6px 0 0}.request-admin{border-top:1px solid #e3e9ee;padding:14px 0}.request-admin>strong{font-size:16px}.stats-grid-v13{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stats-grid-v13>.card{padding:24px;display:flex;flex-direction:column}.stats-grid-v13 strong{font-size:36px;color:#0f4c81}.stats-grid-v13 span{font-size:15px;color:#657786}.quick-actions-grid-v13{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quick-actions-grid-v13 a{min-height:92px;border:1px solid #d8e2e9;border-radius:13px;background:#f8fafc;display:flex;flex-direction:column;justify-content:center;align-items:center;text-decoration:none;font-size:25px;color:#0f4c81}.quick-actions-grid-v13 a span{font-size:14px;font-weight:800;color:#40596b}.dashboard-events-v13{display:grid;gap:7px}.dashboard-events-v13 a{display:grid;grid-template-columns:58px 1fr;gap:2px 10px;padding:10px;border:1px solid #e0e7ec;border-radius:9px;text-decoration:none}.dashboard-events-v13 strong{grid-row:1/3;font-size:17px;color:#0f4c81}.dashboard-events-v13 span{font-size:14px;font-weight:800}.dashboard-events-v13 small{font-size:12px;color:#728391}.export-label-btn{flex-direction:column;line-height:1.08;padding-top:8px;padding-bottom:8px}.export-label-btn>span{font-weight:900}.export-label-btn>small{font-size:10px;color:#6d7f8e;font-weight:700}.global-mention-box{position:fixed;z-index:1000;background:#fff;border:1px solid #cbd8e2;border-radius:12px;padding:6px;box-shadow:0 16px 34px rgba(20,40,55,.18);max-height:230px;overflow:auto}.global-mention-box button{width:100%;display:flex;align-items:center;gap:10px;border:0;background:#fff;padding:9px 10px;border-radius:8px;text-align:left}.global-mention-box button:hover{background:#edf5fa}.global-mention-box strong{color:#0f4c81}.global-mention-box span{font-size:13px;color:#657786}

/* Austausch + Umfragen gemeinsam */
.poll-section-v13{margin-top:18px;padding:24px}.poll-create-v13>summary{display:inline-flex;list-style:none}.poll-create-v13[open] form{margin-top:14px}.poll-grid-v13{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.poll-card-v13{border:1px solid #dde5eb;border-radius:13px;padding:18px;background:#fff}.poll-card-v13 h3{font-size:20px;color:#0a355b;margin:8px 0}.poll-card-v13 p{font-size:15px}.poll-option{min-height:45px;font-size:15px}.exchange-tabs a{font-size:15px;padding:10px 14px}.topic h3{font-size:20px}.topic p,.comment p{font-size:15px}.topic-meta,.comment span{font-size:13px}.topic-comment-form textarea{font-size:15px;min-height:92px}

/* Essen: große Kacheln, Kalender und stabile Abrechnung */
.rolling-meals-card{padding:24px}.rolling-meal-grid{gap:14px}.rolling-meal,.rolling-meal.empty-slot{min-height:165px;padding:18px;border-radius:14px}.rolling-meal>span,.rolling-meal.empty-slot>span{font-size:14px;font-weight:900}.rolling-meal>strong,.rolling-meal.empty-slot>strong{font-size:21px;line-height:1.25}.rolling-meal>b{font-size:15px}.rolling-meal>small,.rolling-meal.empty-slot>small{font-size:13px}.meal-month-nav h2{font-size:26px}.meal-calendar-card{padding:16px}.meal-weekday{font-size:15px;font-weight:900;padding:11px}.meal-day{min-height:150px;padding:10px}.meal-day-head strong{font-size:20px}.meal-day-head span{font-size:12px}.meal-calendar-event{padding:9px;margin-top:8px}.meal-calendar-event strong{font-size:14px}.meal-calendar-event span{font-size:14px;line-height:1.3}.meal-calendar-event b,.meal-calendar-event small,.meal-empty-wed{font-size:12px}.meal-event-card{padding:24px}.meal-event-head h2{font-size:26px}.meal-event-head p{font-size:15px}.meal-count{font-size:28px}.meal-count small{font-size:12px}.meal-event-columns{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(380px,1.2fr);gap:22px}.meal-event-columns section{min-width:0}.meal-event-columns h3,.meal-billing h3{font-size:20px}.meal-response-form input,.meal-suggestion-form input{font-size:15px;min-height:44px}.meal-suggestion{padding:12px}.meal-suggestion strong{font-size:15px}.meal-suggestion small{font-size:12px}.meal-billing{margin-top:22px;padding:20px;border:1px solid #d9e3ea;border-radius:13px;background:#f9fbfc;overflow:hidden}.billing-totals{display:flex;gap:10px;flex-wrap:wrap}.billing-totals span{min-width:110px;padding:9px 11px;border-radius:10px;background:#fff;border:1px solid #dde5ea}.billing-totals small{font-size:11px}.billing-totals strong{font-size:18px}.billing-list{display:grid;gap:8px}.billing-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(140px,.55fr) auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid #dfe6eb;border-radius:10px;background:#fff}.billing-row>div:first-child{display:flex;flex-direction:column}.billing-row>div:first-child strong{font-size:15px}.billing-row>div:first-child small{font-size:12px}.billing-state{display:flex;flex-direction:column}.paid-badge,.open-badge{font-size:13px}.billing-remind-form{display:flex;gap:12px;align-items:center;margin-top:14px;flex-wrap:wrap}.billing-remind-form span{font-size:13px;color:#617482}.meal-responses>div{font-size:14px}

/* Urlaub: große Matrix, eindeutige Farben, echte Jahresansicht */
.vacation-matrix-card{padding:18px}.vacation-matrix-help strong{font-size:17px}.vacation-matrix-help span{font-size:14px}.vacation-matrix{border-collapse:separate;border-spacing:0}.vacation-matrix th,.vacation-matrix td{border-right:1px solid #bdcbd5;border-bottom:1px solid #bdcbd5}.vac-person-head,.vac-person{min-width:210px;max-width:210px}.vac-person strong{font-size:15px}.vac-person span{font-size:12px}.vacation-matrix thead th:not(.vac-person-head){min-width:43px;height:66px}.vacation-matrix thead th span{font-size:11px}.vacation-matrix thead th strong{font-size:17px}.vacation-matrix thead th small{font-size:10px}.vac-day{min-width:43px;height:50px}.vacation-matrix .weekend,.vac-day.weekend{background:#e7ebef!important}.vacation-matrix thead .holiday,.vac-day.holiday{background:#ffd8d8!important;box-shadow:inset 0 0 0 1px #df9797}.vacation-matrix thead .bridge,.vac-day.bridge{background:#e3d8f4!important;box-shadow:inset 0 0 0 1px #b9a2d8}.vac-day.occupied.approved{background:#bfe4cb!important}.vac-day.occupied.pending{background:#ffe5a9!important}.vac-day.occupied.rejected{background:#f5c4c7!important}.vac-legend{display:flex;flex-wrap:wrap;gap:14px;padding:14px 4px 2px;font-size:14px}.vac-legend span{display:flex;align-items:center;gap:6px}.vac-legend i,.legend-swatch{width:20px;height:20px;border-radius:5px;display:inline-block;border:1px solid rgba(0,0,0,.12)}.vac-legend i.approved,.legend-swatch.approved{background:#bfe4cb}.vac-legend i.pending{background:#ffe5a9}.vac-legend i.holiday,.legend-swatch.holiday{background:#ffd8d8}.vac-legend i.bridge,.legend-swatch.bridge{background:#e3d8f4}.vac-legend i.weekend,.legend-swatch.weekend{background:#e7ebef}.half-day-mark{font-size:18px}.year-calendar-legend{display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap;margin-bottom:14px;font-size:14px}.year-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.year-month-card{padding:14px;overflow:hidden}.year-month-head a{display:block;font-size:20px;font-weight:900;color:#0a355b;text-decoration:none;margin-bottom:9px}.year-weekdays,.year-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.year-weekdays b{text-align:center;font-size:12px;color:#53697a;padding:5px}.year-day{min-height:58px;border:1px solid #d8e1e7;border-radius:7px;padding:5px;background:#fff;overflow:hidden}.year-day strong{font-size:14px}.year-day span,.year-day small{display:block;font-size:9px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.year-day.weekend{background:#e7ebef}.year-day.holiday{background:#ffd8d8;border-color:#df9797}.year-day.bridge{background:#e3d8f4;border-color:#b9a2d8}.year-day.occupied{box-shadow:inset 0 -5px #57a873}.year-day.blank{border-color:transparent;background:transparent}.year-summary-v13{padding:18px;margin-top:14px}.year-summary-v13 h2{font-size:20px}.year-summary-v13>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.year-summary-v13 span{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;background:#f7f9fb;border-radius:8px}.year-summary-v13 strong,.year-summary-v13 b{font-size:14px}.vacation-request-card,.vacation-my-card,.vacation-approval-card,.bridge-day-card,.team-settings-card,.vacation-month-entries-card{padding:22px}

/* Werkstatt 6 Monate */
.six-month-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.month-planner{min-height:310px}.month-planner-head{padding:16px 18px}.month-planner-head strong{font-size:24px}.month-planner-head span{font-size:14px}.month-planner-head>b{font-size:18px}.month-task-stack{padding:12px;gap:10px}.month-task{padding:13px 14px;border-radius:11px;min-height:126px}.month-task>strong{font-size:18px;line-height:1.28}.month-task>small{font-size:13px}.month-task>div span{font-size:13px}.month-task-status,.priority-pill{font-size:12px!important}.longterm-filter-card{padding:18px}.longterm-filter-form label{font-size:13px}.longterm-filter-form select{font-size:15px;min-height:44px}

/* TV: aus mehreren Metern lesbar */
.tv-body{font-size:18px}.tv-header{min-height:100px;padding:12px 22px}.tv-brand img{width:230px}.tv-brand strong{font-size:24px}.tv-brand span{font-size:14px}.tv-header-center b{font-size:20px}.tv-header-center span{font-size:14px}.tv-clock{font-size:34px}.tv-nav a{min-width:48px;min-height:44px;font-size:18px}.tv-legend{min-height:54px;padding:10px 18px;gap:10px;font-size:15px}.legend-status,.legend-priority{font-size:14px;padding:6px 10px}.tv-board{gap:12px;padding:14px}.tv-day-head{min-height:72px;padding:10px 12px}.tv-day-head strong{font-size:22px}.tv-day-head span{font-size:14px}.tv-day-head>b{font-size:20px}.tv-task-list{padding:9px;gap:10px}.tv-task{padding:12px;border-radius:10px}.tv-status-banner{margin:-12px -12px 10px;padding:9px 10px;font-size:14px}.tv-status-banner .status-dot{width:10px;height:10px}.tv-order{font-size:13px}.tv-task h3{font-size:21px!important;line-height:1.2;margin:8px 0}.tv-people strong{font-size:17px}.tv-people span{font-size:15px}.tv-meta-line b,.tv-meta-line span{font-size:14px}.tv-note{font-size:14px;line-height:1.3;padding:8px}.tv-footer{font-size:13px;min-height:40px}

/* Saisonale Header-Dekoration – deutlich sichtbar, aber ohne Bedienflächen zu verdecken */
.portal-topbar{overflow:visible}.seasonal-garland{display:none}.theme-christmas .seasonal-garland{display:block;position:fixed;left:0;right:0;top:0;height:12px;z-index:90;background:radial-gradient(circle at 10px 6px,#ffd96a 0 3px,transparent 4px) 0 0/28px 12px repeat-x,linear-gradient(180deg,#285b3a 0 3px,transparent 3px);filter:drop-shadow(0 2px 3px rgba(0,0,0,.12))}.theme-christmas .portal-topbar:after{content:'✦  ✧  ✦  ✧  ✦  ✧  ✦';position:absolute;left:260px;right:260px;top:4px;text-align:center;letter-spacing:24px;color:#d5a728;font-size:12px;pointer-events:none}.theme-easter .portal-topbar:after{content:'✿   ❀   ✿   ❀   ✿';position:absolute;left:280px;right:280px;top:2px;text-align:center;letter-spacing:20px;color:#86a86e;font-size:18px;pointer-events:none}.theme-autumn .portal-topbar:after{content:'🍂   🍁   🍂';position:absolute;left:300px;right:300px;top:4px;text-align:center;letter-spacing:30px;font-size:17px;opacity:.7;pointer-events:none}.theme-halloween .portal-topbar:after{content:'🦇       🎃       🦇';position:absolute;left:300px;right:300px;top:2px;text-align:center;font-size:17px;opacity:.82;pointer-events:none}.theme-winter .portal-topbar:after{content:'❄     ❄     ❄     ❄';position:absolute;left:280px;right:280px;top:3px;text-align:center;color:#87a9bd;font-size:16px;pointer-events:none}.theme-spring .portal-topbar:after{content:'✿      ❀      ✿';position:absolute;left:300px;right:300px;top:3px;text-align:center;color:#6f9c62;font-size:17px;pointer-events:none}.theme-summer .portal-topbar:after{content:'☀      ·      ☀';position:absolute;left:320px;right:320px;top:3px;text-align:center;color:#c59624;font-size:16px;pointer-events:none}

@media(max-width:1100px){.employee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.year-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid-v13{grid-template-columns:repeat(2,minmax(0,1fr))}.six-month-grid{grid-template-columns:1fr}.meal-event-columns{grid-template-columns:1fr}.portal-topbar:after{display:none!important}}
@media(max-width:760px){body{font-size:16px}.content{padding-left:14px;padding-right:14px}.page-head{align-items:stretch}.page-head h1{font-size:31px}.page-head p{font-size:16px}.v13-settings-grid,.v13-two-col,.employee-grid,.poll-grid-v13,.stats-grid-v13,.year-calendar-grid{grid-template-columns:1fr}.directory-search{width:100%}.directory-search input{min-width:0;flex:1}.employee-card{align-items:flex-start}.quick-actions-grid-v13{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions-grid-v13 a{min-height:104px}.rolling-meal-grid{grid-template-columns:1fr!important}.rolling-meal,.rolling-meal.empty-slot{min-height:130px}.meal-calendar-card{overflow:auto}.meal-calendar{min-width:760px}.meal-weekday{font-size:14px}.meal-day{min-height:145px}.billing-row{grid-template-columns:1fr}.billing-row form,.billing-row .btn{width:100%}.vacation-matrix-wrap{overflow:auto}.vac-person-head,.vac-person{min-width:175px;max-width:175px}.vacation-matrix thead th:not(.vac-person-head),.vac-day{min-width:42px}.year-day{min-height:64px}.year-summary-v13>div{grid-template-columns:1fr}.company-event{grid-template-columns:64px 1fr}.company-event>form{grid-column:2}.tv-body{font-size:16px}.profile-avatar-block{align-items:flex-start;flex-direction:column}.dashboard-customize-bar{top:58px}.notification-quick-actions{flex-wrap:wrap}}
.notification-row-wrap{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:stretch;border-bottom:1px solid #e6ecef}.notification-row-wrap.unread{background:#f1f7fb}.notification-row-wrap .notification-row{border:0}.notification-row-delete{display:grid;place-items:center}.notification-row-delete button{border:0;background:transparent;color:#8a4a50;font-size:24px;width:38px;height:38px;border-radius:50%}.notification-row-delete button:hover{background:#fff0f0;color:#a20f18}
.mine-tasks-toggle{min-height:48px;padding:8px 14px;border-radius:12px;border:1px solid #b9cbd8;background:linear-gradient(180deg,#fff,#f3f8fb);color:#0f4c81;font-weight:900;box-shadow:0 3px 10px rgba(15,76,129,.06)}.mine-tasks-toggle:has(input:checked){background:#0f4c81;color:#fff;border-color:#0f4c81}.mine-tasks-toggle input{width:19px;height:19px}.mine-tasks-toggle span{font-size:15px}
.portal-account{display:flex!important;align-items:center;gap:7px}.top-account-avatar,.top-account-initial{width:30px;height:30px;border-radius:50%;object-fit:cover;background:#e7f0f7;color:#0f4c81;display:grid;place-items:center;font-size:12px;font-weight:900}.direct-avatar.image{object-fit:cover;padding:0}
.company-event{border-left:5px solid #6e8799}.company-event.category-company{border-left-color:#0f4c81}.company-event.category-maintenance{border-left-color:#c57820}.company-event.category-visitor{border-left-color:#7a60a8}.company-event.category-inventory{border-left-color:#8a6b3e}.company-event.category-meeting{border-left-color:#277b6a}.company-event.category-training{border-left-color:#467cba}.company-event.category-other{border-left-color:#75828c}
.approval-action-card{border-top:1px solid #e2e9ee;padding:14px 0;display:grid;gap:6px}.approval-action-card>strong{font-size:16px;color:#0a355b}.approval-action-card>span{font-size:14px;color:#657786}.approval-quick-form{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.approval-quick-form input{min-height:40px;min-width:210px;border:1px solid #cad6df;border-radius:8px;padding:7px 9px;font-size:14px}@media(max-width:760px){.approval-quick-form{display:grid;grid-template-columns:1fr}.approval-quick-form>*{width:100%}}

/* ========================================================================
   V13.1 – Korrekturen: kompakte Flyout-Navigation, Firmenkalender,
   Essen-Detailseite, Urlaub-Lesbarkeit und zentrale Einstellungen
   ======================================================================== */
:root{--sidebar:218px}
.sidebar.sidebar-flyout{overflow:visible;padding:18px 12px;z-index:85}
.flyout-nav{display:grid;gap:7px;overflow:visible}
.nav-group{position:relative}
.nav-group-trigger{width:100%;min-height:52px;border:0;background:transparent;border-radius:12px;padding:11px 12px;display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:9px;color:#4c6171;text-align:left;font:inherit;font-size:16px;font-weight:900;cursor:pointer;transition:background .16s,color .16s,box-shadow .16s}
.nav-group-trigger:hover,.nav-group.open>.nav-group-trigger,.nav-group.active>.nav-group-trigger{background:#eef5fa;color:#0f4c81}
.nav-group.active>.nav-group-trigger{box-shadow:inset 3px 0 #c00510}
.nav-caret{font-size:22px;line-height:1;text-align:right;transition:transform .16s}
.nav-group.open .nav-caret{transform:rotate(90deg)}
.nav-flyout{position:absolute;left:calc(100% - 1px);top:0;width:300px;padding:10px;border:1px solid #d6e1e8;border-radius:0 14px 14px 14px;background:#fff;box-shadow:0 18px 42px rgba(22,43,58,.16);opacity:0;visibility:hidden;transform:translateX(-7px);pointer-events:none;transition:opacity .16s,transform .16s,visibility .16s;z-index:130}
.nav-group.open>.nav-flyout{opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto}
@media (hover:hover) and (min-width:761px){.nav-group:hover>.nav-flyout{opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto}.nav-group:hover>.nav-group-trigger{background:#eef5fa;color:#0f4c81}}
.nav-flyout-title{display:block;padding:7px 10px 8px;color:#8a1b24;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.nav-flyout a{display:block;text-decoration:none;color:#40596b;border-radius:9px;padding:10px 11px;font-size:15px;font-weight:800;line-height:1.25}
.nav-flyout a:hover,.nav-flyout a.active{background:#eaf3f9;color:#0f4c81}
.sidebar-favorites{max-height:180px;overflow:auto;margin-top:14px}
.sidebar-bottom{margin-top:auto;padding-top:12px;border-top:1px solid #e7edf1}
.profile-settings-link{font-size:14px!important;line-height:1.2;min-height:52px!important}
.content{margin-left:var(--sidebar)}

/* Essen – alte 2-Spalten-Kartenstruktur vollständig neutralisieren */
.meal-event-card{display:block!important;overflow:visible!important;padding:26px!important}
.meal-event-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:24px!important;margin-bottom:12px}
.meal-event-head>div{min-width:0;flex:1}.meal-event-head h2{font-size:28px!important;margin:4px 0 6px!important}.meal-event-head p{font-size:16px!important;margin:0!important}.meal-event-card>p{font-size:16px;margin:8px 0 18px;max-width:1000px}
.meal-count{width:76px!important;height:76px!important;flex:0 0 76px!important;border-radius:50%!important;font-size:30px!important}.meal-count small{font-size:11px!important}
.meal-event-columns{display:grid!important;grid-template-columns:minmax(360px,.85fr) minmax(520px,1.15fr)!important;gap:28px!important;margin-top:20px!important;align-items:start}.meal-event-columns>section{border:1px solid #dce5eb;border-radius:13px;padding:20px;background:#fbfcfd}.meal-wishes{border-left:0!important;padding-left:20px!important}.meal-event-columns h3{font-size:22px!important;margin-top:0}.meal-response-form{display:grid!important;grid-template-columns:1fr!important;gap:13px!important;align-items:stretch!important}.meal-response-form .choice-row{display:flex!important;gap:12px!important;flex-wrap:wrap}.meal-response-form .choice-row label{display:flex;align-items:center;gap:8px;min-height:46px;padding:9px 13px;border:1px solid #d5e0e7;border-radius:10px;background:#fff;font-size:16px}.meal-response-form .choice-row input{width:20px;height:20px}.meal-response-form .field{margin:0}.meal-response-form .btn{justify-self:start}.meal-suggestion-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}.meal-billing{margin-top:24px!important;padding:24px!important}.billing-totals{justify-content:flex-end}.billing-totals span{min-width:128px!important;padding:11px 13px!important}.billing-totals small{font-size:12px!important}.billing-totals strong{font-size:20px!important}.billing-row{min-height:70px;padding:14px 16px!important}.billing-row>div:first-child strong{font-size:16px!important}.billing-row>div:first-child small{font-size:13px!important}.billing-state{font-size:15px}.inline-admin-tools{display:flex!important;align-items:flex-start!important;gap:10px!important;flex-wrap:wrap!important;margin-top:18px;padding-top:16px;border-top:1px solid #e2e8ed}.inline-admin-tools details{min-width:240px}.meal-event-card>.details{margin-top:12px}.meal-event-card>.details summary{font-size:15px;font-weight:900;color:#0f4c81}

/* Urlaub – Namen und Legende nochmals deutlich größer */
.vac-person-head,.vac-person{min-width:242px!important;max-width:242px!important}.vac-person{padding:10px 12px!important}.vac-person strong{font-size:17px!important;line-height:1.25}.vac-person span{font-size:13px!important;margin-top:2px}.vac-legend{margin-top:0;padding:14px 12px!important;gap:10px 12px!important;font-size:15px!important;background:#f7f9fb;border-top:1px solid #dbe4ea;border-radius:0 0 12px 12px}.vac-legend span{min-height:38px;padding:7px 10px;border:1px solid #dbe4ea;border-radius:9px;background:#fff;gap:8px!important}.vac-legend i{width:22px!important;height:22px!important;flex:0 0 22px}.vacation-matrix-card{padding-bottom:0!important;overflow:hidden}

/* Echter Firmenkalender */
.company-calendar-head{align-items:center}.company-calendar-toolbar{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:12px 16px;margin-bottom:14px}.company-calendar-tabs{display:flex;gap:5px;padding:4px;background:#eef3f6;border-radius:10px}.company-calendar-tabs a{padding:8px 13px;border-radius:8px;color:#526879;text-decoration:none;font-size:14px;font-weight:900}.company-calendar-tabs a.active{background:#fff;color:#0f4c81;box-shadow:0 1px 4px rgba(21,45,63,.10)}.company-month-nav{display:flex;align-items:center;justify-content:center;gap:14px}.company-month-nav>strong{min-width:190px;text-align:center;color:#0a355b;font-size:24px}.company-event-create{margin-bottom:14px}.company-event-create>summary{cursor:pointer;list-style:none;color:#0f4c81;font-size:18px;font-weight:900}.company-event-create>summary::-webkit-details-marker{display:none}.company-event-create[open]>summary{margin-bottom:18px}.company-calendar-legend{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 14px}.company-calendar-legend span{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dce4ea;border-radius:999px;background:#fff;font-size:13px;font-weight:800;color:#526777}.company-calendar-legend i{width:13px;height:13px;border-radius:4px;background:#6e8799}.company-calendar-legend i.company{background:#0f4c81}.company-calendar-legend i.maintenance{background:#c57820}.company-calendar-legend i.visitor{background:#7a60a8}.company-calendar-legend i.inventory{background:#8a6b3e}.company-calendar-legend i.meeting{background:#277b6a}.company-calendar-legend i.training{background:#467cba}.company-calendar-legend i.other{background:#75828c}.company-calendar-card{padding:0;overflow:auto}.company-weekdays,.company-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));min-width:1015px}.company-weekdays b{text-align:center;padding:12px 8px;background:#f2f6f8;border-right:1px solid #dce4e9;color:#405a6d;font-size:14px}.company-calendar-day{min-height:154px;padding:9px;border-right:1px solid #dce4e9;border-top:1px solid #dce4e9;background:#fff}.company-calendar-day:nth-child(6),.company-calendar-day:nth-child(7){background:#f4f6f7}.company-calendar-day.outside{background:#fafbfc!important;opacity:.48}.company-calendar-day.today{box-shadow:inset 0 0 0 2px #0f4c81}.company-day-head{display:flex;align-items:center;justify-content:space-between;gap:7px}.company-day-head strong{font-size:19px;color:#29495f}.company-day-head a{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;text-decoration:none;color:#0f4c81;font-size:19px;font-weight:900}.company-day-head a:hover{background:#e9f2f8}.company-day-events{display:grid;gap:6px;margin-top:8px}.company-calendar-event{display:grid;grid-template-columns:auto 1fr;gap:1px 7px;padding:7px 8px;border-left:4px solid #6e8799;border-radius:7px;background:#f7fafc;text-decoration:none;color:#334f62}.company-calendar-event strong{font-size:12px;color:#6b7d89}.company-calendar-event span{font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-calendar-event small{grid-column:2;font-size:11px;color:#71828e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-calendar-event.category-company{border-left-color:#0f4c81}.company-calendar-event.category-maintenance{border-left-color:#c57820}.company-calendar-event.category-visitor{border-left-color:#7a60a8}.company-calendar-event.category-inventory{border-left-color:#8a6b3e}.company-calendar-event.category-meeting{border-left-color:#277b6a}.company-calendar-event.category-training{border-left-color:#467cba}.company-calendar-event.category-other{border-left-color:#75828c}.company-no-events{color:#b3bec6;font-size:12px}.company-agenda-section{margin-top:18px}.company-agenda-section.below-calendar{margin-top:24px}

/* Zentrale Profil-/Einstellungsseite */
.settings-anchor-nav{position:sticky;top:76px;z-index:25;display:flex;gap:7px;flex-wrap:wrap;margin:-8px 0 18px;padding:8px;border:1px solid #dce5ea;border-radius:12px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px)}.settings-anchor-nav a{padding:8px 12px;border-radius:8px;text-decoration:none;color:#466074;font-size:14px;font-weight:900}.settings-anchor-nav a:hover{background:#eaf3f9;color:#0f4c81}.settings-wide-card{margin-top:18px}.settings-main-grid{align-items:start}.settings-browser-actions{margin:12px 0 18px}.settings-notification-grid{max-width:920px}.security-status-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 18px}.security-status-row>div{padding:12px 14px;border:1px solid #dbe4ea;border-radius:10px;background:#f8fafc;display:flex;flex-direction:column}.security-status-row strong{font-size:14px;color:#0a355b}.security-status-row span{font-size:14px;color:#647785}.password-settings-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto!important;align-items:end}.password-submit-field{align-self:end}.password-submit-field .btn{width:100%}

@media(max-width:1100px){.meal-event-columns{grid-template-columns:1fr!important}.password-settings-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.company-calendar-toolbar{grid-template-columns:1fr}.company-month-nav{justify-content:space-between}}
@media(max-width:760px){
  :root{--sidebar:260px}
  .sidebar.sidebar-flyout{overflow-y:auto;overflow-x:hidden;padding:14px 10px}
  .flyout-nav{gap:5px}
  .nav-group-trigger{min-height:50px;font-size:16px}
  .nav-flyout{position:static;width:auto;padding:0 0 0 38px;border:0;border-radius:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;transform:none;pointer-events:auto;max-height:0;overflow:hidden;transition:max-height .2s ease}
  .nav-group.open>.nav-flyout,.nav-group.active>.nav-flyout{max-height:420px}
  .nav-flyout-title{display:none}.nav-flyout a{font-size:15px;padding:10px;border-left:2px solid #d8e3ea;border-radius:0 8px 8px 0}.nav-group.active .nav-caret{transform:rotate(90deg)}
  .sidebar-favorites{max-height:none}.sidebar-bottom{margin-top:14px}
  .meal-event-card{padding:18px!important}.meal-event-head{gap:12px!important}.meal-event-head h2{font-size:24px!important}.meal-count{width:62px!important;height:62px!important;flex-basis:62px!important;font-size:25px!important}.meal-event-columns>section{padding:16px}.meal-suggestion-form{grid-template-columns:1fr!important}.billing-totals{justify-content:flex-start}.vac-person-head,.vac-person{min-width:205px!important;max-width:205px!important}.vac-person strong{font-size:16px!important}.vac-legend{padding:12px 8px!important}.vac-legend span{font-size:14px;min-height:36px}.company-calendar-head .head-actions{width:100%;display:flex;flex-wrap:wrap}.company-calendar-toolbar{padding:10px}.company-month-nav{display:grid;grid-template-columns:auto 1fr auto;gap:7px}.company-month-nav>strong{min-width:0;font-size:19px}.company-weekdays,.company-calendar-week{grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px}.company-calendar-day{min-height:140px}.company-calendar-tabs{justify-content:center}.settings-anchor-nav{top:66px;overflow-x:auto;flex-wrap:nowrap}.security-status-row,.password-settings-form{grid-template-columns:1fr!important}.settings-anchor-nav a{white-space:nowrap}
}

/* =====================================================================
   V13.2 – Navigation, Fokus, Einstellungen, Urlaub & saisonale Designs
   ===================================================================== */
/* Sidebar: ruhiges Single-Open-Accordion statt Flyout. */
.sidebar.sidebar-accordion{overflow-y:auto;overflow-x:hidden;padding:18px 12px 14px;z-index:85;scrollbar-width:thin;scrollbar-color:#c7d4dd transparent}
.sidebar.sidebar-accordion::-webkit-scrollbar{width:7px}.sidebar.sidebar-accordion::-webkit-scrollbar-thumb{background:#c7d4dd;border-radius:999px}
.accordion-nav{display:grid;gap:4px;align-content:start}
.nav-home,.sidebar-accordion .nav-group-trigger,.sidebar-accordion .profile-settings-link{min-height:48px;border-radius:11px;padding:10px 11px;display:grid;grid-template-columns:27px minmax(0,1fr) 18px;align-items:center;gap:9px;text-decoration:none;color:#4d6272;font-size:15px;font-weight:650;letter-spacing:0;line-height:1.25}
.nav-home{grid-template-columns:27px minmax(0,1fr)}
.sidebar-accordion .profile-settings-link{grid-template-columns:27px minmax(0,1fr)}
.nav-home:hover,.nav-home.active,.sidebar-accordion .nav-group-trigger:hover,.sidebar-accordion .nav-group.open>.nav-group-trigger,.sidebar-accordion .nav-group.active>.nav-group-trigger,.sidebar-accordion .profile-settings-link:hover,.sidebar-accordion .profile-settings-link.active{background:#eef5fa;color:#0f4c81}
.nav-home.active,.sidebar-accordion .nav-group.active>.nav-group-trigger,.sidebar-accordion .profile-settings-link.active{box-shadow:inset 3px 0 #c00510}
.sidebar-accordion .nav-icon{font-size:17px;color:#718493;width:27px}.sidebar-accordion .nav-group.active .nav-icon,.nav-home.active .nav-icon{color:#0f4c81}
.sidebar-accordion .nav-caret{justify-self:end;font-size:15px;color:#8a9aa7;transition:transform .18s ease}
.sidebar-accordion .nav-group.open .nav-caret{transform:rotate(180deg)}
.sidebar-accordion .nav-group{position:relative}
.sidebar-accordion .nav-group-trigger{width:100%;border:0;background:transparent;text-align:left;font-family:inherit;cursor:pointer}
.sidebar-accordion .nav-dropdown{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .2s ease,opacity .16s ease;margin:0 0 0 36px}
.sidebar-accordion .nav-dropdown:before{content:"";position:absolute;left:24px;top:50px;bottom:3px;width:1px;background:#dde6ec;opacity:0;transition:opacity .16s}
.sidebar-accordion .nav-group.open>.nav-dropdown{grid-template-rows:1fr;opacity:1;margin-bottom:5px}
.sidebar-accordion .nav-group.open>.nav-dropdown:before{opacity:1}
.sidebar-accordion .nav-dropdown>a{min-height:0;overflow:hidden;display:flex;align-items:center;text-decoration:none;color:#637686;padding:0 10px;border-radius:8px;font-size:14px;font-weight:550;line-height:1.25;transition:min-height .2s,padding .2s,background .15s,color .15s}
.sidebar-accordion .nav-group.open>.nav-dropdown>a{min-height:39px;padding-top:8px;padding-bottom:8px}
.sidebar-accordion .nav-dropdown>a:hover,.sidebar-accordion .nav-dropdown>a.active{background:#f0f6fa;color:#0f4c81}
.sidebar-accordion .nav-dropdown>a.active{font-weight:700}
.sidebar-accordion .nav-help-group{margin-top:7px;padding-top:7px;border-top:1px solid #edf1f4}
.sidebar-accordion .sidebar-bottom{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 14px);padding-top:20px;margin-top:auto;border-top:0}
.sidebar-accordion .sidebar-bottom .nav-item{font-weight:600;font-size:14px}
@media(max-width:900px){.sidebar.sidebar-accordion{padding-top:14px}.sidebar-accordion .nav-dropdown{margin-left:34px}.nav-home,.sidebar-accordion .nav-group-trigger,.sidebar-accordion .profile-settings-link{min-height:51px;font-size:16px}.sidebar-accordion .nav-group.open>.nav-dropdown>a{min-height:43px;font-size:15px}}

/* Dashboard-Bearbeitungsleiste darf im Normalzustand niemals Platz belegen. */
.dashboard-customize-bar[hidden]{display:none!important}.dashboard-customize-bar{position:relative;z-index:24}

/* Einstellungen: solide, ruhige Tab-Leiste ohne Durchscheinen. */
.settings-anchor-nav{position:sticky;top:76px;z-index:35;display:flex;align-items:center;gap:4px;overflow-x:auto;margin:0 0 20px;padding:7px;background:#fff;border:1px solid #dce5eb;border-radius:13px;box-shadow:0 8px 22px rgba(24,37,50,.08);scrollbar-width:thin}
.settings-anchor-nav:before{content:"";position:absolute;inset:-14px -2px auto;height:14px;background:var(--bg);z-index:-1}
.settings-anchor-nav a{flex:0 0 auto;text-decoration:none;color:#596f80;padding:9px 13px;border-radius:9px;font-size:14px;font-weight:650;white-space:nowrap}
.settings-anchor-nav a:hover,.settings-anchor-nav a:focus{background:#eef5fa;color:#0f4c81}
.settings-wide-card{scroll-margin-top:145px}
.password-settings-form{display:grid!important;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(210px,1fr) auto!important;gap:14px!important;align-items:end}.password-settings-form .field{display:grid;grid-template-rows:auto 46px auto;align-content:end;margin:0}.password-settings-form .field input{height:46px}.password-settings-form .field small{min-height:20px}.password-settings-form .password-submit-field{grid-template-rows:auto 46px auto}.password-settings-form .password-submit-field:before{content:"\00a0"}.password-settings-form .password-submit-field .btn{height:46px;white-space:nowrap}.security-status-row>div{min-height:78px;display:flex;flex-direction:column;justify-content:center}
@media(max-width:1050px){.password-settings-form{grid-template-columns:1fr 1fr!important}.password-settings-form .password-submit-field:before{display:none}}
@media(max-width:620px){.settings-anchor-nav{top:62px;margin-left:-2px;margin-right:-2px;border-radius:11px}.password-settings-form{grid-template-columns:1fr!important}.password-settings-form .field{grid-template-rows:auto 48px auto}.password-settings-form .password-submit-field{grid-template-rows:48px}.password-settings-form .password-submit-field .btn{width:100%}}

/* Urlaub: Tagesarbeit sichtbar, Konfiguration kompakt und gezielt erreichbar. */
.vacation-filterbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:13px 14px;background:#fff;border:1px solid #dce4ea;border-radius:13px;box-shadow:0 5px 16px rgba(24,37,50,.045)}
.vacation-filterbar .field{min-width:180px;margin:0}.vacation-filterbar .field label{font-size:12px}.vacation-filterbar select{min-height:42px}.vacation-filterbar .filter-spacer{flex:1}.vacation-settings-details{margin-top:16px}.vacation-settings-details>summary{list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:43px;padding:9px 14px;border:1px solid #cfdbe4;border-radius:10px;background:#fff;color:#0f4c81;font-weight:750;cursor:pointer}.vacation-settings-details>summary::-webkit-details-marker{display:none}.vacation-settings-details[open]>summary{background:#eef5fa}.vacation-settings-shell{margin-top:12px;display:grid;gap:14px}.vacation-settings-section{padding:20px 22px}.vacation-settings-section h2{margin:2px 0 6px}.vacation-settings-section>p{margin-top:0;color:var(--muted)}.vacation-global-visibility{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;background:#f5f8fa;border:1px solid #dde5eb;border-radius:10px;margin-bottom:14px}.vacation-global-visibility input{margin-top:4px;transform:scale(1.15)}
.vac-person-head,.vac-person{min-width:220px!important;max-width:260px!important}.vac-person strong{font-size:15px!important;line-height:1.25}.vac-person span{font-size:12px!important;margin-top:3px}.vacation-matrix thead .vac-person-head{font-size:14px}.vac-legend{gap:10px 14px!important;padding:14px 15px!important;min-height:58px;align-items:center;flex-wrap:wrap}.vac-legend>span{min-height:34px;padding:6px 9px;border:1px solid #e2e8ed;border-radius:9px;background:#fff;display:inline-flex;align-items:center;gap:7px;font-size:12px!important}
@media(max-width:720px){.vacation-filterbar{align-items:stretch}.vacation-filterbar .field{width:100%;min-width:0}.vacation-filterbar .btn{width:100%}.vac-person-head,.vac-person{min-width:195px!important;max-width:210px!important}.vac-person strong{font-size:14px!important}.vac-legend>span{flex:1 1 145px}}

/* Sichtbare saisonale Designs: nicht nur Akzentfarbe, sondern portalweite Stimmung. */
body[class*="theme-"] .portal-topbar,body[class*="theme-"] .sidebar,body[class*="theme-"] .card{transition:background .25s,border-color .25s,box-shadow .25s}
body.theme-spring{background:linear-gradient(180deg,#f0f8ed 0,#f7faf5 260px,#f3f6f9 760px)!important}.theme-spring .portal-topbar{background:linear-gradient(90deg,#fff 0,#f4fbef 52%,#fff 100%)!important}.theme-spring .sidebar{background:linear-gradient(180deg,#fbfef9,#f3f9ef)!important}.theme-spring .portal-topbar:before{content:"";position:absolute;inset:auto 0 -9px;height:17px;background:radial-gradient(circle at 10px 7px,#d8a6ca 0 3px,transparent 3.5px) 0 0/38px 17px,radial-gradient(circle at 28px 8px,#9bc48c 0 2px,transparent 2.5px) 0 0/38px 17px;opacity:.7;pointer-events:none}.theme-spring .card{box-shadow:0 10px 30px rgba(71,111,57,.08)}
body.theme-easter{background:linear-gradient(180deg,#fff4f8 0,#f8fbef 360px,#f3f6f9 820px)!important}.theme-easter .portal-topbar{background:linear-gradient(90deg,#fff8fb,#f4f9e9,#f7f3ff)!important}.theme-easter .sidebar{background:linear-gradient(180deg,#fffafd,#f7faef)!important}.theme-easter .portal-topbar:before{content:"";position:absolute;left:0;right:0;bottom:-12px;height:22px;background:radial-gradient(ellipse at 12px 9px,#e8b6cc 0 5px,transparent 5.5px) 0 0/42px 22px,radial-gradient(ellipse at 32px 9px,#b8d89a 0 5px,transparent 5.5px) 0 0/42px 22px;opacity:.72;pointer-events:none}.theme-easter .card{border-color:#e7dde7;box-shadow:0 10px 30px rgba(125,91,119,.07)}
body.theme-summer{background:linear-gradient(180deg,#fff8e5 0,#fffdf5 300px,#f3f6f9 780px)!important}.theme-summer .portal-topbar{background:linear-gradient(90deg,#fffdf5,#fff5cf 50%,#fffdf5)!important}.theme-summer .sidebar{background:linear-gradient(180deg,#fffef8,#fbf6e8)!important}.theme-summer .portal-topbar:before{content:"";position:absolute;right:4%;bottom:-22px;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle,#ffd85e 0 24%,rgba(255,216,94,.35) 25% 48%,transparent 49%);opacity:.68;pointer-events:none}.theme-summer .card{box-shadow:0 10px 30px rgba(154,119,29,.08)}
body.theme-autumn{background:linear-gradient(180deg,#f7eadc 0,#fbf6f0 340px,#f3f6f9 820px)!important}.theme-autumn .portal-topbar{background:linear-gradient(90deg,#fffaf5,#f6e5d2 52%,#fff9f2)!important}.theme-autumn .sidebar{background:linear-gradient(180deg,#fffaf5,#f7eee4)!important}.theme-autumn .portal-topbar:before{content:"";position:absolute;inset:auto 0 -10px;height:20px;background:radial-gradient(ellipse at 9px 8px,#bd7842 0 4px,transparent 4.6px) 0 0/34px 20px,radial-gradient(ellipse at 25px 11px,#d2a264 0 3px,transparent 3.6px) 0 0/34px 20px;opacity:.72;pointer-events:none}.theme-autumn .card{box-shadow:0 10px 30px rgba(127,79,37,.09)}
body.theme-halloween{background:linear-gradient(180deg,#1d1b20 0,#2a2427 130px,#f4f0ec 700px)!important}.theme-halloween .portal-topbar{background:linear-gradient(90deg,#211d22,#352527 50%,#211d22)!important;border-bottom-color:#6d4d34!important}.theme-halloween .portal-topbar .portal-title strong,.theme-halloween .portal-topbar .portal-account,.theme-halloween .portal-topbar .top-logout{color:#fff!important}.theme-halloween .portal-topbar .portal-title span{color:#dac8b8!important}.theme-halloween .sidebar{background:linear-gradient(180deg,#fff9f4,#f5ebe3)!important}.theme-halloween .portal-topbar:before{content:"";position:absolute;inset:auto 0 -13px;height:24px;background:repeating-linear-gradient(135deg,transparent 0 19px,rgba(242,130,40,.65) 20px 22px,transparent 23px 40px);opacity:.8;pointer-events:none}.theme-halloween .portal-topbar:after{height:4px!important;background:linear-gradient(90deg,#f28a2b,#6d3f85,#f28a2b)!important;opacity:1!important}.theme-halloween .card{border-color:#e4d7ca;box-shadow:0 12px 32px rgba(63,38,29,.11)}
body.theme-winter{background:linear-gradient(180deg,#e9f4fa 0,#f6fafc 360px,#f3f6f9 820px)!important}.theme-winter .portal-topbar{background:linear-gradient(90deg,#fbfdff,#eaf5fb 52%,#fbfdff)!important}.theme-winter .sidebar{background:linear-gradient(180deg,#fbfdff,#eef6fa)!important}.theme-winter .portal-topbar:before{content:"";position:absolute;inset:auto 0 -12px;height:24px;background:radial-gradient(circle at 8px 8px,#fff 0 3px,transparent 3.5px) 0 0/32px 24px,radial-gradient(circle at 22px 14px,#b9d7e7 0 2px,transparent 2.5px) 0 0/32px 24px;opacity:.95;pointer-events:none}.theme-winter .card{box-shadow:0 10px 30px rgba(72,116,143,.09)}
body.theme-christmas{background:linear-gradient(180deg,#e8f2eb 0,#f7f8f4 360px,#f3f6f9 850px)!important}.theme-christmas .portal-topbar{background:linear-gradient(90deg,#fffdf9,#eef7f1 50%,#fff8f2)!important;border-bottom-color:#b9d1c1!important}.theme-christmas .sidebar{background:linear-gradient(180deg,#fbfdfb,#eef6f0)!important}.theme-christmas .portal-topbar:before{content:"";position:absolute;left:0;right:0;bottom:-14px;height:26px;background:linear-gradient(#3e684f,#3e684f) 0 5px/100% 2px no-repeat,radial-gradient(circle at 10px 8px,#e7b43c 0 4px,rgba(231,180,60,.26) 5px 8px,transparent 9px) 0 0/48px 26px,radial-gradient(circle at 34px 8px,#c62832 0 4px,rgba(198,40,50,.22) 5px 8px,transparent 9px) 0 0/48px 26px;filter:drop-shadow(0 3px 4px rgba(39,82,55,.16));opacity:.98;pointer-events:none}.theme-christmas .portal-topbar:after{height:4px!important;background:linear-gradient(90deg,#2e704c,#c00510,#d8a93a,#2e704c)!important;opacity:.95!important}.theme-christmas .card{border-color:#cfdfd4;box-shadow:0 12px 32px rgba(45,102,69,.09)}
/* Saisonale Deko soll sichtbar sein, aber niemals Klicks oder Lesbarkeit stören. */
.seasonal-backdrop{opacity:1!important}.seasonal-piece{pointer-events:none}.theme-christmas .seasonal-piece,.theme-winter .seasonal-piece,.theme-autumn .seasonal-piece,.theme-spring .seasonal-piece,.theme-easter .seasonal-piece,.theme-summer .seasonal-piece,.theme-halloween .seasonal-piece{opacity:.14!important;filter:saturate(.9)}
.vacation-user-admin{margin-top:12px;padding:13px 14px;border:1px solid #dde5eb;border-radius:10px;background:#f7f9fb;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);gap:14px;align-items:end}.vacation-user-admin .field{margin:0}.vacation-user-admin .check-label{min-height:44px;align-items:center}@media(max-width:760px){.vacation-user-admin{grid-template-columns:1fr}}

/* =====================================================================
   V13.2b UI-Hotfix – Navigation, TV-Modus und saisonale Gestaltung
   ===================================================================== */

/* Navigation: kompakt, ruhiger und auf Desktop hover-gesteuert. */
.sidebar.sidebar-accordion{
  padding:14px 10px 12px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.main-nav.accordion-nav{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  align-content:initial!important;
}
.sidebar-accordion .nav-group{margin:0!important;padding:0!important}
.nav-home,
.sidebar-accordion .nav-group-trigger,
.sidebar-accordion .profile-settings-link{
  min-height:43px!important;
  padding:8px 10px!important;
  border-radius:10px!important;
  gap:8px!important;
  font-size:14.5px!important;
  font-weight:600!important;
  line-height:1.25!important;
}
.sidebar-accordion .nav-icon{
  width:25px!important;
  font-size:15px!important;
  color:#748794!important;
}
.sidebar-accordion .nav-caret{
  font-size:13px!important;
  color:#8a9ba7!important;
}
.sidebar-accordion .nav-group.active>.nav-group-trigger,
.nav-home.active,
.sidebar-accordion .profile-settings-link.active{
  box-shadow:inset 3px 0 #c00510!important;
}
.sidebar-accordion .nav-dropdown{
  display:grid!important;
  grid-template-rows:none!important;
  gap:1px!important;
  max-height:0!important;
  overflow:hidden!important;
  opacity:0!important;
  margin:0 0 0 33px!important;
  padding:0!important;
  transition:max-height .18s ease,opacity .14s ease,padding .18s ease!important;
}
.sidebar-accordion .nav-dropdown:before{display:none!important;content:none!important}
.sidebar-accordion .nav-group.open>.nav-dropdown{
  max-height:360px!important;
  opacity:1!important;
  padding:3px 0 5px!important;
  margin-bottom:1px!important;
}
.sidebar-accordion .nav-dropdown>a,
.sidebar-accordion .nav-group.open>.nav-dropdown>a{
  min-height:34px!important;
  padding:7px 9px!important;
  border-left:1px solid #dce5eb!important;
  border-radius:0 8px 8px 0!important;
  font-size:13.5px!important;
  font-weight:500!important;
  line-height:1.25!important;
}
.sidebar-accordion .nav-dropdown>a.active{font-weight:650!important}
.sidebar-accordion .sidebar-bottom.sidebar-utility{
  position:static!important;
  margin-top:auto!important;
  padding:9px 0 0!important;
  border-top:1px solid #e7edf1!important;
  background:transparent!important;
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
}
.sidebar-accordion .sidebar-bottom.sidebar-utility:before{display:none!important;content:none!important}
.sidebar-accordion .sidebar-bottom .nav-help-group{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.sidebar-accordion .profile-settings-link{
  display:grid!important;
  grid-template-columns:25px minmax(0,1fr)!important;
  width:100%!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none;
  color:#4d6272!important;
  text-decoration:none!important;
}
.sidebar-accordion .profile-settings-link:hover,
.sidebar-accordion .profile-settings-link.active{
  background:#eef5fa!important;
  color:#0f4c81!important;
}
@media (hover:hover) and (min-width:901px){
  .sidebar-accordion .nav-group:hover>.nav-group-trigger{background:#eef5fa;color:#0f4c81}
}
@media(max-width:900px){
  .nav-home,.sidebar-accordion .nav-group-trigger,.sidebar-accordion .profile-settings-link{
    min-height:47px!important;font-size:15px!important;
  }
  .sidebar-accordion .nav-dropdown>a,.sidebar-accordion .nav-group.open>.nav-dropdown>a{
    min-height:39px!important;font-size:14px!important;
  }
}

/* TV-Modus: ausgewogene Fernlesbarkeit ohne Mischskalierung oder Überlagerung. */
.v11-tv{
  font-size:14px!important;
  grid-template-rows:82px 46px minmax(0,1fr) 30px!important;
}
.v11-tv .tv-header{
  min-height:82px!important;
  padding:9px 14px!important;
  grid-template-columns:minmax(300px,1fr) auto minmax(235px,1fr)!important;
  gap:12px!important;
}
.v11-tv .tv-brand{gap:11px!important;min-width:0}
.v11-tv .tv-brand img{width:175px!important;max-height:48px!important}
.v11-tv .tv-brand strong{font-size:17px!important;line-height:1.15!important}
.v11-tv .tv-brand span{font-size:12px!important;line-height:1.25!important;margin-top:3px!important}
.v11-tv .tv-header-center b{font-size:18px!important;line-height:1.15!important}
.v11-tv .tv-header-center span{font-size:12px!important;margin-top:4px!important}
.v11-tv .tv-clock{font-size:27px!important;line-height:1!important}
.v11-tv .tv-nav a{height:36px!important;min-width:36px!important;padding:0 9px!important;font-size:12px!important}
.v11-tv .tv-legend{
  min-height:46px!important;
  padding:6px 14px!important;
  gap:7px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.v11-tv .tv-legend>span{font-size:11px!important}
.v11-tv .legend-status,.v11-tv .legend-priority{
  font-size:12px!important;
  padding:5px 9px!important;
  line-height:1.1!important;
}
.v11-tv .tv-board{
  gap:8px!important;
  padding:9px!important;
  min-height:0!important;
}
.v11-tv .tv-day{
  grid-template-rows:57px minmax(0,1fr)!important;
  border-radius:9px!important;
}
.v11-tv .tv-day-head{
  min-height:57px!important;
  padding:7px 9px!important;
}
.v11-tv .tv-day-head strong{font-size:17px!important;line-height:1.1!important}
.v11-tv .tv-day-head span{font-size:12.5px!important;line-height:1.2!important;margin-top:3px!important;font-weight:650!important}
.v11-tv .tv-day-head>b{
  min-width:28px!important;height:28px!important;border-radius:15px!important;font-size:11px!important;
}
.v11-tv .tv-task-list{
  padding:7px!important;
  gap:7px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.v11-tv .tv-task{
  padding:0!important;
  border-left-width:5px!important;
  border-radius:8px!important;
  min-width:0!important;
}
.v11-tv .tv-status-banner{
  margin:0!important;
  min-height:31px!important;
  padding:6px 8px!important;
  font-size:13px!important;
  line-height:1.15!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.v11-tv .tv-status-banner .status-dot{width:8px!important;height:8px!important;flex:0 0 8px!important}
.v11-tv .tv-task-main{padding:8px 9px 9px!important;min-width:0!important}
.v11-tv .tv-task-topline{gap:6px!important;min-width:0!important}
.v11-tv .tv-order{
  font-size:11.5px!important;
  line-height:1.2!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
}
.v11-tv .priority-pill{
  flex:0 0 auto!important;
  font-size:12.5px!important;
  padding:4px 8px!important;
  line-height:1.1!important;
}
.v11-tv .tv-task h3{
  font-size:16.5px!important;
  line-height:1.22!important;
  margin:7px 0!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
}
.v11-tv .tv-people{
  display:grid!important;
  gap:2px!important;
  margin-top:2px!important;
  min-width:0!important;
}
.v11-tv .tv-people strong{
  font-size:14px!important;
  line-height:1.22!important;
  color:#264e69!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
}
.v11-tv .tv-people span{
  font-size:12.5px!important;
  line-height:1.22!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
}
.v11-tv .tv-meta-line{
  margin-top:5px!important;
  gap:5px!important;
  font-size:12px!important;
  line-height:1.2!important;
}
.v11-tv .tv-meta-line b,.v11-tv .tv-meta-line span{font-size:12px!important}
.v11-tv .tv-note{
  margin-top:6px!important;
  padding:6px 7px!important;
  font-size:11.5px!important;
  line-height:1.3!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
.v11-tv .tv-empty{padding:18px 8px!important;font-size:12px!important}
.v11-tv .tv-footer{min-height:30px!important;padding:0 11px!important;font-size:10px!important}
@media(max-width:1400px) and (min-width:901px){
  .v11-tv .tv-brand img{width:150px!important}
  .v11-tv .tv-brand strong{font-size:15px!important}
  .v11-tv .tv-brand span{font-size:10px!important}
  .v11-tv .tv-header-center b{font-size:16px!important}
  .v11-tv .tv-task h3{font-size:15.5px!important}
  .v11-tv .tv-people strong{font-size:13px!important}
  .v11-tv .tv-status-banner{font-size:12px!important}
  .v11-tv .tv-day-head span{font-size:11.5px!important}
  .v11-tv .priority-pill{font-size:11.5px!important}
}

/* Saisonale Designs 2.0: wenige hochwertige Akzente statt wiederholter Deko. */
.seasonal-backdrop,.seasonal-garland,.seasonal-piece{display:none!important}
.portal-topbar:before,.portal-topbar:after{content:none!important;display:none!important}
.seasonal-top-accent:after{content:none!important;display:none!important}
.seasonal-top-accent{
  display:none;
  flex:0 0 auto;
  width:86px;
  height:18px;
  border-radius:999px;
  opacity:.92;
}
body.theme-spring .seasonal-top-accent,
body.theme-easter .seasonal-top-accent,
body.theme-summer .seasonal-top-accent,
body.theme-autumn .seasonal-top-accent,
body.theme-halloween .seasonal-top-accent,
body.theme-winter .seasonal-top-accent,
body.theme-christmas .seasonal-top-accent{display:block}
body.theme-spring{background:linear-gradient(180deg,#f5faf3 0,#f3f6f9 310px)!important}
body.theme-spring .portal-topbar{background:#fbfef9!important;border-bottom:2px solid #a8c69c!important}
body.theme-spring .sidebar{background:#fbfdf9!important}
body.theme-spring .seasonal-top-accent{background:linear-gradient(90deg,#a8c69c,#d7b8cf,#a8c69c)}
body.theme-easter{background:linear-gradient(180deg,#fbf7fa 0,#f3f6f9 310px)!important}
body.theme-easter .portal-topbar{background:#fffafd!important;border-bottom:2px solid #d6bfd0!important}
body.theme-easter .sidebar{background:#fdfafb!important}
body.theme-easter .seasonal-top-accent{background:linear-gradient(90deg,#d8b9cf 0 32%,#c9dcae 32% 66%,#c6bee1 66%)}
body.theme-summer{background:linear-gradient(180deg,#fdfaf1 0,#f3f6f9 310px)!important}
body.theme-summer .portal-topbar{background:#fffdf7!important;border-bottom:2px solid #dfc77c!important}
body.theme-summer .sidebar{background:#fefcf7!important}
body.theme-summer .seasonal-top-accent{background:linear-gradient(90deg,#e1c669,#f0dca0,#dcb85a)}
body.theme-autumn{background:linear-gradient(180deg,#faf5ef 0,#f3f6f9 310px)!important}
body.theme-autumn .portal-topbar{background:#fdf9f4!important;border-bottom:2px solid #c99a72!important}
body.theme-autumn .sidebar{background:#fcf8f3!important}
body.theme-autumn .seasonal-top-accent{background:linear-gradient(90deg,#a9683d,#d5a36d,#9e5d38)}
body.theme-halloween{background:linear-gradient(180deg,#f8f4f1 0,#f3f6f9 310px)!important}
body.theme-halloween .portal-topbar{background:#fbf8f5!important;border-bottom:2px solid #b87843!important}
body.theme-halloween .sidebar{background:#faf7f4!important}
body.theme-halloween .portal-topbar .portal-title strong,body.theme-halloween .portal-topbar .portal-account,body.theme-halloween .portal-topbar .top-logout{color:inherit!important}
body.theme-halloween .portal-topbar .portal-title span{color:var(--muted)!important}
body.theme-halloween .seasonal-top-accent{background:linear-gradient(90deg,#3e3438 0 45%,#c67a39 45% 60%,#3e3438 60%)}
body.theme-winter{background:linear-gradient(180deg,#f2f8fb 0,#f3f6f9 310px)!important}
body.theme-winter .portal-topbar{background:#f9fcfe!important;border-bottom:2px solid #a8c5d5!important}
body.theme-winter .sidebar{background:#f8fbfd!important}
body.theme-winter .seasonal-top-accent{background:linear-gradient(90deg,#a8c5d5,#e5f0f5,#91b5c8)}
body.theme-christmas{background:linear-gradient(180deg,#f4f8f4 0,#f3f6f9 310px)!important}
body.theme-christmas .portal-topbar{background:#fbfdfb!important;border-bottom:2px solid #7fa58b!important}
body.theme-christmas .sidebar{background:#fafcf9!important}
body.theme-christmas .seasonal-top-accent{
  height:20px;
  background:
    radial-gradient(circle at 16% 66%,#d7ad42 0 2px,transparent 3px),
    radial-gradient(circle at 38% 38%,#b93b42 0 2px,transparent 3px),
    radial-gradient(circle at 62% 66%,#d7ad42 0 2px,transparent 3px),
    radial-gradient(circle at 84% 38%,#b93b42 0 2px,transparent 3px),
    linear-gradient(165deg,transparent 42%,#537a60 43% 51%,transparent 52%);
}
body.theme-spring .card,body.theme-easter .card,body.theme-summer .card,body.theme-autumn .card,body.theme-halloween .card,body.theme-winter .card,body.theme-christmas .card{
  background:#fff!important;
  box-shadow:0 8px 24px rgba(24,37,50,.065)!important;
}
@media(max-width:1050px){.seasonal-top-accent{display:none!important}}

/* =====================================================================
   V13.2d UI completion – stable navigation, TV, themes, vacation today
   ===================================================================== */

/* Desktop navigation: top-level rows never move. Subnavigation is rendered
   in one stable secondary panel so hover cannot push targets under the cursor. */
@media (hover:hover) and (pointer:fine) and (min-width:901px){
  .sidebar.sidebar-accordion{overflow:visible!important}
  .main-nav.accordion-nav{display:flex!important;flex-direction:column!important;gap:2px!important}
  .sidebar-accordion .nav-group{position:relative!important;margin:0!important}
  .sidebar-accordion .nav-dropdown{display:none!important}
  .sidebar-accordion .nav-caret{transform:none!important;transition:transform .15s ease!important}
  .sidebar-accordion .nav-group.hover-active>.nav-group-trigger .nav-caret{transform:rotate(-90deg)!important}
  .sidebar-accordion .nav-group.hover-active>.nav-group-trigger,
  .sidebar-accordion .nav-group.active>.nav-group-trigger{background:#eef5fa!important;color:#0f4c81!important}
}
.nav-hover-panel{position:fixed;z-index:84;left:var(--sidebar);top:var(--top);bottom:0;width:286px;background:#fff;border-right:1px solid #dbe4ea;box-shadow:16px 0 36px rgba(27,46,60,.12);opacity:0;visibility:hidden;transform:translateX(-8px);pointer-events:none;transition:opacity .14s ease,transform .14s ease,visibility .14s;font-family:Arial,Helvetica,sans-serif}
.nav-hover-panel.open{opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto}
.nav-hover-panel-inner{margin-top:var(--nav-panel-offset,16px);padding:14px 16px 18px}
.nav-hover-kicker{font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:#9b2c34;margin:0 0 3px 2px}
.nav-hover-panel h2{margin:0 0 9px 2px;color:#143f5f;font-size:18px;line-height:1.2;font-weight:700}
.nav-hover-panel nav{display:flex;flex-direction:column;gap:2px}
.nav-hover-panel nav a{display:flex;align-items:center;min-height:40px;padding:8px 11px;border-radius:9px;text-decoration:none;color:#536b7b;font-size:14px;font-weight:500;line-height:1.25}
.nav-hover-panel nav a:hover,.nav-hover-panel nav a.active{background:#edf5fa;color:#0f4c81}
.nav-hover-panel nav a.active{font-weight:650;box-shadow:inset 3px 0 #c00510}
@media(max-width:900px){.nav-hover-panel{display:none!important}.sidebar.sidebar-accordion{overflow-y:auto!important}.sidebar-accordion .nav-dropdown{display:grid!important}}

/* Keep the primary rows visually compact and calm. */
.nav-home,.sidebar-accordion .nav-group-trigger,.sidebar-accordion .profile-settings-link{font-size:14px!important;font-weight:500!important;min-height:42px!important;padding:8px 10px!important}
.sidebar-accordion .nav-dropdown>a{font-size:13.5px!important;font-weight:480!important}
.sidebar-accordion .nav-dropdown>a.active{font-weight:620!important}
.sidebar-accordion .sidebar-bottom.sidebar-utility{gap:1px!important;padding-top:8px!important}

/* Vacation: today is a continuous lane, not a stack of blue boxes. */
.vac-day.today:after{content:none!important;display:none!important}
.vacation-matrix thead th.today{background:#e7f1f8!important;box-shadow:inset 2px 0 #0f4c81,inset -2px 0 #0f4c81}
.vacation-matrix thead th.today strong{display:grid!important;place-items:center!important;width:24px!important;height:24px!important;margin:2px auto 1px!important;border-radius:50%!important;background:#0f4c81!important;color:#fff!important;font-size:11px!important}
.vacation-matrix thead th.today span{color:#48697e!important;font-weight:800!important}
.vac-day.today{background-image:linear-gradient(rgba(15,76,129,.055),rgba(15,76,129,.055));box-shadow:inset 2px 0 rgba(15,76,129,.46),inset -2px 0 rgba(15,76,129,.46)}
.vac-day.today.occupied{background-blend-mode:multiply}
.vacation-matrix tbody tr:last-child .vac-day.today{box-shadow:inset 2px 0 rgba(15,76,129,.46),inset -2px 0 rgba(15,76,129,.46),inset 0 -2px rgba(15,76,129,.46)}

/* TV: one coherent scale system; metadata is never microscopic. */
body.v11-tv{--tv-title:clamp(16px,1.18vw,20px);--tv-person:clamp(13px,.95vw,16px);--tv-meta:clamp(11px,.78vw,13px);--tv-badge:clamp(11px,.82vw,13.5px);--tv-day:clamp(17px,1.1vw,20px);--tv-date:clamp(11px,.78vw,13px);grid-template-rows:76px 44px minmax(0,1fr) 28px!important;font-size:14px!important}
.v11-tv .tv-header{min-height:76px!important;padding:8px 14px!important;grid-template-columns:minmax(330px,1fr) auto minmax(240px,1fr)!important;gap:12px!important}
.v11-tv .tv-brand img{width:165px!important;max-height:44px!important}.v11-tv .tv-brand strong{font-size:17px!important;font-weight:750!important}.v11-tv .tv-brand span{font-size:var(--tv-date)!important;font-weight:600!important}.v11-tv .tv-header-center b{font-size:18px!important}.v11-tv .tv-header-center span{font-size:12px!important}.v11-tv .tv-clock{font-size:25px!important}.v11-tv .tv-nav a{height:34px!important;min-width:34px!important;font-size:12px!important}
.v11-tv .tv-legend{min-height:44px!important;padding:6px 12px!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important}.v11-tv .tv-legend>strong{font-size:11px!important}.v11-tv .legend-status,.v11-tv .legend-priority{font-size:12px!important;padding:5px 8px!important;line-height:1!important}
.v11-tv .tv-board{gap:7px!important;padding:8px!important}.v11-tv .tv-day{grid-template-rows:58px minmax(0,1fr)!important;border-radius:9px!important}.v11-tv .tv-day-head{min-height:58px!important;padding:7px 9px!important}.v11-tv .tv-day-head strong{font-size:var(--tv-day)!important;font-weight:750!important}.v11-tv .tv-day-head span{font-size:var(--tv-date)!important;font-weight:600!important;color:#627888!important}.v11-tv .tv-day-head>b{min-width:28px!important;height:28px!important;font-size:11px!important}
.v11-tv .tv-task-list{padding:7px!important;gap:7px!important;overflow-y:auto!important}.v11-tv .tv-task{border-left-width:5px!important;border-radius:8px!important;overflow:hidden!important}.v11-tv .tv-status-banner{min-height:32px!important;margin:0!important;padding:6px 8px!important;font-size:var(--tv-badge)!important;font-weight:750!important}.v11-tv .tv-task-main{padding:8px 9px 9px!important}.v11-tv .tv-order{font-size:var(--tv-meta)!important;font-weight:700!important}.v11-tv .priority-pill{font-size:var(--tv-badge)!important;padding:4px 8px!important;font-weight:750!important}.v11-tv .tv-task h3{font-size:var(--tv-title)!important;line-height:1.2!important;margin:7px 0!important;font-weight:760!important;-webkit-line-clamp:2!important}.v11-tv .tv-people strong{font-size:var(--tv-person)!important;font-weight:750!important}.v11-tv .tv-people span{font-size:var(--tv-meta)!important}.v11-tv .tv-meta-line,.v11-tv .tv-meta-line b,.v11-tv .tv-meta-line span{font-size:var(--tv-meta)!important}.v11-tv .tv-note{font-size:var(--tv-meta)!important;line-height:1.28!important;padding:6px 7px!important;-webkit-line-clamp:2!important}.v11-tv .tv-empty{font-size:12px!important}.v11-tv .tv-footer{font-size:10px!important;min-height:28px!important}
@media(max-width:1400px) and (min-width:901px){body.v11-tv{--tv-title:15.5px;--tv-person:13px;--tv-meta:11px;--tv-badge:11.5px;--tv-day:16px;--tv-date:10.5px}.v11-tv .tv-brand img{width:145px!important}.v11-tv .tv-header-center b{font-size:16px!important}.v11-tv .tv-clock{font-size:23px!important}}

/* Seasonal design system 3.0: one crafted header illustration + restrained tinting.
   No repeated garlands, no full-width decorative noise. */
.seasonal-backdrop,.seasonal-garland,.seasonal-piece{display:none!important}
.portal-topbar:before,.portal-topbar:after{content:none!important;display:none!important}
.seasonal-top-accent{display:none!important;width:180px!important;height:42px!important;border-radius:0!important;background-color:transparent!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;opacity:.96!important}
body.theme-spring .seasonal-top-accent{display:block!important;background-image:url("/static/portal/themes/spring.9ac80cc9e78c.svg")!important}
body.theme-easter .seasonal-top-accent{display:block!important;background-image:url("/static/portal/themes/easter.5523ab8a746e.svg")!important}
body.theme-summer .seasonal-top-accent{display:block!important;background-image:url("/static/portal/themes/summer.f300e04f9887.svg")!important}
body.theme-autumn .seasonal-top-accent{display:block!important;background-image:url("/static/portal/themes/autumn.7bbbb3038a48.svg")!important}
body.theme-halloween .seasonal-top-accent{display:block!important;background-image:url("/static/portal/themes/halloween.1d0cf1f249a8.svg")!important}
body.theme-winter .seasonal-top-accent{display:block!important;background-image:url("/static/portal/themes/winter.daeb4f525214.svg")!important}
body.theme-christmas .seasonal-top-accent{display:block!important;background-image:url("/static/portal/themes/christmas.9a9e891f7733.svg")!important}
body.theme-spring{background:linear-gradient(180deg,#f5faf3 0,#f3f6f9 360px)!important}body.theme-spring .portal-topbar{background:#fbfef9!important;border-bottom:2px solid #abc6a1!important}body.theme-spring .sidebar{background:#fbfdf9!important}
body.theme-easter{background:linear-gradient(180deg,#fbf7fa 0,#f3f6f9 360px)!important}body.theme-easter .portal-topbar{background:#fffafd!important;border-bottom:2px solid #d7bfd0!important}body.theme-easter .sidebar{background:#fdfafb!important}
body.theme-summer{background:linear-gradient(180deg,#fdfaf1 0,#f3f6f9 360px)!important}body.theme-summer .portal-topbar{background:#fffdf7!important;border-bottom:2px solid #dcc473!important}body.theme-summer .sidebar{background:#fefcf7!important}
body.theme-autumn{background:linear-gradient(180deg,#faf5ef 0,#f3f6f9 360px)!important}body.theme-autumn .portal-topbar{background:#fdf9f4!important;border-bottom:2px solid #c5966d!important}body.theme-autumn .sidebar{background:#fcf8f3!important}
body.theme-halloween{background:linear-gradient(180deg,#f7f3f1 0,#f3f6f9 360px)!important}body.theme-halloween .portal-topbar{background:#fbf8f5!important;border-bottom:2px solid #b97742!important}body.theme-halloween .sidebar{background:#faf7f4!important}body.theme-halloween .portal-topbar .portal-title strong,body.theme-halloween .portal-topbar .portal-account,body.theme-halloween .portal-topbar .top-logout{color:inherit!important}body.theme-halloween .portal-topbar .portal-title span{color:var(--muted)!important}
body.theme-winter{background:linear-gradient(180deg,#f2f8fb 0,#f3f6f9 360px)!important}body.theme-winter .portal-topbar{background:#f9fcfe!important;border-bottom:2px solid #9ebfce!important}body.theme-winter .sidebar{background:#f8fbfd!important}
body.theme-christmas{background:linear-gradient(180deg,#f4f8f4 0,#f3f6f9 360px)!important}body.theme-christmas .portal-topbar{background:#fbfdfb!important;border-bottom:2px solid #72947d!important}body.theme-christmas .sidebar{background:#fafcf9!important}
body.theme-spring .card,body.theme-easter .card,body.theme-summer .card,body.theme-autumn .card,body.theme-halloween .card,body.theme-winter .card,body.theme-christmas .card{background:#fff!important;box-shadow:0 8px 24px rgba(24,37,50,.065)!important}
@media(max-width:1150px){.seasonal-top-accent{width:135px!important}}
@media(max-width:980px){.seasonal-top-accent{display:none!important}}

/* V13.3 – stabile, nach unten aufklappende Desktop-Navigation. */
@media(min-width:901px) and (hover:hover) and (pointer:fine){
  .nav-hover-panel{display:none!important}
  .sidebar.sidebar-accordion{overflow-y:auto!important;overflow-x:hidden!important}
  .sidebar-accordion .nav-dropdown{display:block!important;max-height:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;margin-left:36px!important;margin-bottom:0!important;transition:max-height .20s ease,opacity .14s ease,margin-bottom .20s ease!important}
  .sidebar-accordion .nav-group.open>.nav-dropdown{max-height:520px!important;opacity:1!important;pointer-events:auto!important;margin-bottom:5px!important}
  .sidebar-accordion .nav-dropdown>a{min-height:0!important;overflow:hidden!important;padding-top:0!important;padding-bottom:0!important;transition:min-height .18s ease,padding .18s ease,background .14s ease,color .14s ease!important}
  .sidebar-accordion .nav-group.open>.nav-dropdown>a{min-height:39px!important;padding-top:8px!important;padding-bottom:8px!important}
  .sidebar-accordion .nav-dropdown:before{opacity:0!important}
  .sidebar-accordion .nav-group.open>.nav-dropdown:before{opacity:1!important}
}

/* ========================================================================== */
/* V13.3 – Urlaub: heutiger Tag dezent, aber eindeutig                        */
/* ========================================================================== */
.vacation-matrix thead th.today{background:#edf5fa!important;box-shadow:inset 0 -2px rgba(15,76,129,.24)!important}
.vacation-matrix thead th.today strong{display:grid!important;place-items:center;width:25px;height:25px;margin:2px auto 1px;border-radius:999px;background:#0f4c81;color:#fff!important;font-size:11px!important;line-height:1!important}
.vacation-matrix .vac-day.today{background-image:linear-gradient(rgba(15,76,129,.038),rgba(15,76,129,.038))!important;box-shadow:inset 1px 0 rgba(15,76,129,.11),inset -1px 0 rgba(15,76,129,.11)!important}
.vacation-matrix .vac-day.today.occupied,.vacation-matrix .vac-day.today.holiday,.vacation-matrix .vac-day.today.bridge,.vacation-matrix .vac-day.today.weekend{background-blend-mode:multiply}
.vacation-matrix tbody tr:last-child .vac-day.today{box-shadow:inset 1px 0 rgba(15,76,129,.11),inset -1px 0 rgba(15,76,129,.11)!important}

/* V13.3 – Essenskalender: rollierende Zukunftsansicht */
.rolling-calendar-card{overflow:hidden;padding:0!important}.rolling-calendar-head{padding:18px 18px 14px;margin:0;border-bottom:1px solid #e4eaee;align-items:flex-start}.rolling-calendar-head h2{margin:.15rem 0 .2rem}.rolling-month-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.rolling-month-chips span{border:1px solid #d8e3e9;background:#f7fafb;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:750;color:#496474}.rolling-week{border-top:1px solid #e7ecef}.rolling-week:first-of-type{border-top:0}.rolling-calendar-card .meal-day{position:relative;min-height:112px}.rolling-calendar-card .meal-day.weekend{background:#f6f7f8}.rolling-calendar-card .meal-day.today{box-shadow:inset 0 0 0 1px rgba(15,76,129,.17);background:#f8fbfd}.rolling-calendar-card .meal-day-head{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.rolling-calendar-card .meal-day-head>strong{font-size:15px}.rolling-calendar-card .meal-day-head>span{font-size:9px;text-transform:uppercase;color:#82919b}.rolling-calendar-card .meal-day-head>b{font-size:9px;color:#0f4c81;margin-left:auto}.meal-month-marker{position:absolute;left:7px;right:7px;top:3px;font-size:8px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#8a5c31;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rolling-calendar-card .meal-day.month-start{padding-top:20px}.rolling-calendar-card .meal-calendar-event{margin-top:5px}.rolling-calendar-card .meal-empty-wed{margin-top:7px}
@media(max-width:760px){.rolling-calendar-head{padding:14px}.rolling-month-chips{justify-content:flex-start}.rolling-calendar-card{overflow-x:auto}.rolling-calendar-card>.meal-calendar{min-width:760px}.rolling-calendar-card .meal-day{min-height:102px}}

/* ========================================================================== */
/* V13.4 – Navigation: Klick-Accordion + persönliche Icon-Leiste             */
/* ========================================================================== */
.sidebar-collapse-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;margin:0 0 9px;padding:5px 9px;border:1px solid #e1e8ed;border-radius:9px;background:#f8fafb;color:#5f7382;font-size:12px;font-weight:650}.sidebar-collapse-toggle:hover{background:#eef5fa;color:#0f4c81;border-color:#cddde7}.sidebar-collapse-toggle span{font-size:19px;line-height:1}.sidebar-collapse-toggle b{font-size:11px;font-weight:650;letter-spacing:.02em}
@media(min-width:901px){
  body.sidebar-collapsed{--sidebar:72px}
  body.sidebar-collapsed .sidebar.sidebar-accordion{padding-left:9px!important;padding-right:9px!important;overflow:visible!important}
  body.sidebar-collapsed .sidebar-collapse-toggle{justify-content:center;padding:4px}
  body.sidebar-collapsed .sidebar-collapse-toggle b{display:none}
  body.sidebar-collapsed .nav-home,
  body.sidebar-collapsed .sidebar-accordion .nav-group-trigger,
  body.sidebar-collapsed .sidebar-accordion .profile-settings-link{display:flex!important;justify-content:center!important;grid-template-columns:none!important;padding:8px!important;min-height:44px!important}
  body.sidebar-collapsed .nav-home>span:not(.nav-icon),
  body.sidebar-collapsed .sidebar-accordion .nav-group-trigger>span:not(.nav-icon),
  body.sidebar-collapsed .sidebar-accordion .profile-settings-link>span:not(.nav-icon){display:none!important}
  body.sidebar-collapsed .sidebar-accordion .nav-icon{width:28px!important;font-size:18px!important;margin:0!important}
  body.sidebar-collapsed .sidebar-accordion .nav-dropdown{display:none!important;max-height:0!important;opacity:0!important;pointer-events:none!important}
  body.sidebar-collapsed .sidebar-bottom.sidebar-utility{padding-top:7px!important}
  body.sidebar-collapsed .content{margin-left:72px!important}
  body.sidebar-collapsed .preview-banner{left:72px}
}
@media(max-width:900px){.sidebar-collapse-toggle{display:none!important}}
/* Hover hebt nur hervor. Es öffnet niemals eine Gruppe. */
@media(min-width:901px) and (hover:hover){.sidebar-accordion .nav-group:hover>.nav-group-trigger{background:#eef5fa!important;color:#0f4c81!important}}
.sidebar-accordion .nav-group.open>.nav-group-trigger .nav-caret{transform:rotate(180deg)!important}.sidebar-accordion .nav-caret{transition:transform .16s ease!important}

/* ========================================================================== */
/* V13.4 – Urlaub: „Heute“ muss auf Anhieb erkennbar sein                    */
/* ========================================================================== */
.vacation-matrix thead th.today{position:relative!important;background:#e4f0f8!important;box-shadow:inset 2px 0 #0f4c81,inset -2px 0 #0f4c81,inset 0 3px #0f4c81!important;padding-top:4px!important}
.vacation-matrix thead th.today strong{width:30px!important;height:30px!important;font-size:13px!important;box-shadow:0 2px 7px rgba(15,76,129,.2)!important}
.vacation-matrix thead th.today .today-label{display:block!important;margin:2px auto 0;color:#0f4c81;font-size:8px;font-style:normal;font-weight:900;letter-spacing:.055em;text-transform:uppercase;line-height:1.1}
.vacation-matrix .vac-day.today{background-image:linear-gradient(rgba(15,76,129,.075),rgba(15,76,129,.075))!important;box-shadow:inset 2px 0 rgba(15,76,129,.38),inset -2px 0 rgba(15,76,129,.38)!important}
.vacation-matrix .vac-day.today.occupied,.vacation-matrix .vac-day.today.holiday,.vacation-matrix .vac-day.today.bridge,.vacation-matrix .vac-day.today.weekend{background-blend-mode:multiply!important}
.vacation-account-card{padding:17px 19px;margin-bottom:14px;border-left:4px solid #0f4c81}.vacation-account-grid{display:grid;grid-template-columns:repeat(5,minmax(115px,1fr));gap:9px;margin-top:12px}.vacation-account-stat{padding:10px 12px;border:1px solid #dfe7ec;border-radius:10px;background:#f9fbfc;display:flex;flex-direction:column;gap:2px}.vacation-account-stat small{font-size:10px;color:#6f818e;font-weight:750}.vacation-account-stat strong{font-size:19px;color:#203f55}.vacation-account-stat.remaining{background:#edf7f1;border-color:#cfe5d7}.vacation-account-stat.pending{background:#fff9e9;border-color:#eadcae}.vacation-account-missing{margin-top:10px;padding:9px 11px;border-radius:9px;background:#fff7e8;color:#785b1e;font-size:13px}.vacation-allowance-table{display:grid;gap:8px;margin-top:14px}.vacation-allowance-row{display:grid;grid-template-columns:minmax(180px,1.2fr) 110px 110px 120px 120px 120px auto;gap:8px;align-items:end;padding:10px;border:1px solid #e1e8ed;border-radius:10px;background:#fff}.vacation-allowance-row .field{margin:0}.vacation-allowance-row .balance{display:flex;flex-direction:column;padding:7px 8px}.vacation-allowance-row .balance small{font-size:9px;color:#748591}.vacation-allowance-row .balance strong{font-size:14px}.vacation-allowance-row .person{align-self:center}.vacation-allowance-row .person small{display:block;color:#71828e}
@media(max-width:1100px){.vacation-account-grid{grid-template-columns:repeat(3,1fr)}.vacation-allowance-row{grid-template-columns:1fr 1fr 1fr}.vacation-allowance-row .person{grid-column:1/-1}.vacation-allowance-row .btn{width:100%}}
@media(max-width:650px){.vacation-account-grid{grid-template-columns:1fr 1fr}.vacation-allowance-row{grid-template-columns:1fr 1fr}}

/* ========================================================================== */
/* V13.4 – Essen: 4-Wochen-Vorschau + rollierende Werktagsansicht            */
/* ========================================================================== */
.meal-upcoming-card{padding:18px 20px;margin-bottom:15px}.meal-upcoming-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.meal-upcoming-tile{display:flex;flex-direction:column;gap:5px;min-height:145px;padding:14px;border:1px solid #dce5eb;border-top:4px solid #0f4c81;border-radius:12px;background:#fff;text-decoration:none;color:#27465a}.meal-upcoming-tile:hover{border-color:#bacdda;box-shadow:0 7px 18px rgba(25,49,66,.08)}.meal-upcoming-tile.empty{border-top-color:#aebbc4;background:#f8fafb}.meal-upcoming-date{font-size:11px;font-weight:900;color:#6f818e;text-transform:uppercase}.meal-upcoming-tile h3{font-size:17px;line-height:1.25;margin:3px 0;color:#163a52}.meal-upcoming-tile .final-meal{font-size:14px;font-weight:800;color:#24704d}.meal-upcoming-tile .poll-note{margin-top:auto;font-size:11px;color:#758692}.meal-upcoming-tile .poll-note.open{color:#8a6420}.meal-upcoming-tile .poll-note.final{color:#24704d}.meal-upcoming-tile .empty-note{margin-top:auto;color:#84939d;font-size:12px}
.rolling-calendar-card .meal-calendar{grid-template-columns:repeat(5,minmax(150px,1fr))!important;min-width:750px!important}.rolling-calendar-card .meal-day{min-height:142px!important;padding:10px!important}.rolling-calendar-card .meal-day-head>strong{font-size:18px!important}.rolling-calendar-card .meal-day-head>span{font-size:11px!important}.rolling-calendar-card .meal-day-head>b{font-size:10px!important}.rolling-calendar-card .meal-calendar-event span{font-size:13px!important}.rolling-calendar-card .meal-calendar-event b{font-size:12px!important}.rolling-calendar-card .meal-calendar-event small{font-size:10px!important}
.meal-poll{border-left:1px solid #e3e9ed;padding-left:18px}.meal-poll-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.meal-poll-head p{margin:2px 0 0;color:#6c7e8b;font-size:13px}.meal-poll-state{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef4f8;color:#456277;font-size:11px;font-weight:800;white-space:nowrap}.meal-poll-state.closed{background:#eef7f1;color:#2b704f}.meal-poll-option{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid #dfe7ec;border-radius:10px;padding:11px 12px;background:#fff}.meal-poll-option.selected{background:#eaf6ef;border-color:#bcdcc8}.meal-poll-option .option-main{display:flex;flex-direction:column;gap:2px}.meal-poll-option .option-main strong{font-size:15px}.meal-poll-option .option-main small{font-size:11px;color:#748692}.meal-poll-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.meal-vote-btn{min-width:82px}.meal-vote-btn.active{background:#eaf2f8!important;color:#0f4c81!important;border-color:#afc7d9!important}.meal-vote-result{font-weight:900;color:#0f4c81;min-width:34px;text-align:center}.meal-own-payment{margin-top:12px;padding:10px 12px;border-radius:10px;border:1px solid #dfe7ec;background:#f9fbfc;display:flex;justify-content:space-between;gap:12px;align-items:center}.meal-own-payment.paid{background:#edf7f1;border-color:#cbe2d4}.meal-own-payment.open{background:#fff6f0;border-color:#ead4c6}.meal-own-payment strong{font-size:13px}.meal-own-payment span{font-size:12px;font-weight:850}.meal-billing{display:block!important}
@media(max-width:950px){.meal-upcoming-grid{grid-template-columns:1fr 1fr}.meal-event-columns{grid-template-columns:1fr!important}.meal-poll{border-left:0;padding-left:0;border-top:1px solid #e3e9ed;padding-top:14px}}
@media(max-width:560px){.meal-upcoming-grid{grid-template-columns:1fr}.meal-upcoming-tile{min-height:115px}}

/* Dashboard → Firmenkalender: Zieltermin sichtbar hervorheben. */
.company-event:target{outline:3px solid rgba(15,76,129,.28);outline-offset:3px;box-shadow:0 12px 34px rgba(15,76,129,.16)!important;animation:eqEventTarget 1.15s ease-out 1}@keyframes eqEventTarget{0%{transform:translateY(-3px);background:#edf6fb}100%{transform:none}}

/* V13.4a – Essensabrechnung schneller auffindbar */
.meal-billing-quick-btn{background:#0f4c81;color:#fff!important;border-color:#0f4c81;box-shadow:0 4px 12px rgba(15,76,129,.14)}
.meal-billing-quick-btn:hover{background:#0c416f;border-color:#0c416f}
.meal-billing-overview{margin-bottom:15px;padding:18px 20px;border:1px solid #cfdee8;background:linear-gradient(180deg,#f8fbfd 0%,#fff 100%);scroll-margin-top:84px}
.meal-billing-overview-head{align-items:flex-start}.meal-billing-overview-head h2{margin-bottom:4px}.meal-billing-overview-head p{max-width:780px;margin-bottom:0}
.billing-access-badge{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border-radius:999px;background:#eaf6ef;color:#246747;border:1px solid #c6e0d1;font-size:12px;font-weight:850;white-space:nowrap}
.meal-billing-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.meal-billing-overview-item{display:flex;flex-direction:column;gap:5px;min-width:0;padding:13px 14px;border:1px solid #dce5eb;border-radius:11px;background:#fff;color:#27465a;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.meal-billing-overview-item:hover{border-color:#a9c3d5;box-shadow:0 6px 16px rgba(25,49,66,.08);transform:translateY(-1px)}
.meal-billing-overview-item.has-open{border-left:4px solid #b36a2e}.meal-billing-overview-item.all-paid{border-left:4px solid #438060}
.meal-billing-overview-date{font-size:11px;font-weight:900;color:#6f818e;text-transform:uppercase}.meal-billing-overview-item>strong{font-size:15px;line-height:1.3;color:#183d56;overflow-wrap:anywhere}
.meal-billing-overview-money{display:flex;flex-direction:column;gap:1px;margin-top:2px}.meal-billing-overview-money b{font-size:14px;color:#8a4f21}.meal-billing-overview-item.all-paid .meal-billing-overview-money b{color:#2b704f}.meal-billing-overview-money small{font-size:11px;color:#6e808c;line-height:1.35}
.meal-billing-overview-link{margin-top:auto;padding-top:5px;font-size:12px;font-weight:850;color:#0f4c81}
.meal-billing[id]{scroll-margin-top:84px;outline:none}.meal-billing:target{border-color:#9abbd1;box-shadow:0 0 0 3px rgba(15,76,129,.08)}
@media(max-width:1100px){.meal-billing-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.meal-billing-overview{padding:16px}.meal-billing-overview-head{display:block}.billing-access-badge{margin-top:10px}.meal-billing-overview-grid{grid-template-columns:1fr}.meal-billing-quick-btn{width:100%;justify-content:center}}

/* ========================================================================== */
/* V13.4b – Urlaub: Typfarben, direkter Krank-Eintrag & klare Heute-Spalte   */
/* ========================================================================== */
/* Ein Farbcode gilt in Kalender, Monatsverwaltung und Freigabe identisch. */
.kind-vacation{--vac-kind-bg:#dcefe4;--vac-kind-border:#5b9b73;--vac-kind-text:#245e3d}
.kind-absence{--vac-kind-bg:#dbe9f6;--vac-kind-border:#5f88ac;--vac-kind-text:#315f83}
.kind-sick{--vac-kind-bg:#f3dfe2;--vac-kind-border:#b0606a;--vac-kind-text:#7f3943}
.kind-private{--vac-kind-bg:#e4edf3;--vac-kind-border:#7e9aaa;--vac-kind-text:#496777}

.vacation-matrix .vac-day.occupied.kind-vacation,
.vacation-matrix .vac-day.occupied.kind-absence,
.vacation-matrix .vac-day.occupied.kind-sick,
.vacation-matrix .vac-day.occupied.kind-private{background-color:var(--vac-kind-bg)!important}
/* Ausstehend bleibt die Typfarbe; ein dezenter amberfarbener Streifen kennzeichnet den Status. */
.vacation-matrix .vac-day.occupied.status-pending{background-image:repeating-linear-gradient(135deg,rgba(193,139,23,.10) 0,rgba(193,139,23,.10) 5px,transparent 5px,transparent 10px)!important;box-shadow:inset 0 3px #c18b17!important}

.vac-admin-entry.kind-vacation,.vac-admin-entry.kind-absence,.vac-admin-entry.kind-sick{border-left-color:var(--vac-kind-border)!important;background:linear-gradient(90deg,var(--vac-kind-bg) 0,rgba(255,255,255,.96) 38%)!important}
.vac-kind-badge{display:inline-flex;align-items:center;width:max-content;margin-top:3px;padding:3px 7px;border-radius:999px;border:1px solid var(--vac-kind-border);background:var(--vac-kind-bg);color:var(--vac-kind-text)!important;font-size:9px!important;font-weight:850!important;line-height:1.2}
.vac-approval-row.kind-vacation>td,.vac-approval-row.kind-absence>td{background:color-mix(in srgb,var(--vac-kind-bg) 42%,white)!important}
.vac-approval-row.kind-vacation>td:first-child,.vac-approval-row.kind-absence>td:first-child{border-left:5px solid var(--vac-kind-border)!important}

.vac-kind-legend i.kind-vacation,.vac-kind-legend i.kind-absence,.vac-kind-legend i.kind-sick{background:var(--vac-kind-bg)!important;border:1px solid var(--vac-kind-border)}
.vac-kind-legend .kind-vacation{--vac-kind-bg:#dcefe4;--vac-kind-border:#5b9b73}.vac-kind-legend .kind-absence{--vac-kind-bg:#dbe9f6;--vac-kind-border:#5f88ac}.vac-kind-legend .kind-sick{--vac-kind-bg:#f3dfe2;--vac-kind-border:#b0606a}
.vac-kind-legend i.pending-marker{background:repeating-linear-gradient(135deg,#fff3cf 0,#fff3cf 4px,#e8c56b 4px,#e8c56b 7px)!important;border:1px solid #c18b17}

/* „Heute“ als durchgehende Spalte: Kreis im Kopf bleibt, Wort „Heute“ entfällt. */
.vacation-matrix thead th.today{background:#e8f2f8!important;box-shadow:inset 2px 0 #0f4c81,inset -2px 0 #0f4c81,inset 0 3px #0f4c81!important;padding-top:4px!important}
.vacation-matrix thead th.today strong{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;margin:2px auto!important;border-radius:50%!important;background:#0f4c81!important;color:#fff!important;font-size:13px!important;box-shadow:0 2px 7px rgba(15,76,129,.2)!important}
.vacation-matrix .vac-day.today{box-shadow:inset 2px 0 rgba(15,76,129,.52),inset -2px 0 rgba(15,76,129,.52)!important}
.vacation-matrix .vac-day.today:not(.occupied){background-color:#edf5fa!important}
.vacation-matrix tbody tr:last-child .vac-day.today{box-shadow:inset 2px 0 rgba(15,76,129,.52),inset -2px 0 rgba(15,76,129,.52),inset 0 -2px rgba(15,76,129,.52)!important}
/* Pending + Heute kombiniert beide Signale. */
.vacation-matrix .vac-day.today.occupied.status-pending{box-shadow:inset 2px 0 rgba(15,76,129,.52),inset -2px 0 rgba(15,76,129,.52),inset 0 3px #c18b17!important}
.vac-kind-legend i.kind-private{background:#e4edf3!important;border:1px solid #7e9aaa}

/* ========================================================================== */
/* V13.4c – Urlaubskalender: Wochenenden/Feiertage + automatische Brückentage */
/* ========================================================================== */
/* Gesetzliche Feiertage verwenden bewusst exakt dieselbe Ruhigfarbe wie das Wochenende. */
.vacation-matrix thead th.holiday:not(.today),
.vacation-matrix .vac-day.holiday:not(.today){background:#e7ebef!important;box-shadow:none!important}
.year-day.holiday{background:#e7ebef!important;border-color:#d7dee3!important}
.vac-legend i.weekend-holiday,.legend-swatch.weekend-holiday{background:#e7ebef!important;border:1px solid rgba(0,0,0,.12)!important}

/* Brückentage bleiben als eigener Planungshinweis erkennbar. */
.vacation-matrix thead th.bridge:not(.holiday):not(.today),
.vacation-matrix .vac-day.bridge:not(.holiday):not(.today):not(.occupied){background:#e3d8f4!important;box-shadow:inset 0 0 0 1px #b9a2d8!important}

.automatic-bridge-settings>p{max-width:920px}
.automatic-bridge-list{margin:14px 0;padding:13px 14px;border:1px solid #d9e4eb;border-left:4px solid #8b72b7;border-radius:10px;background:#faf8fd}
.automatic-bridge-list>strong{display:block;margin-bottom:8px;color:#4e3d70;font-size:13px}
.automatic-bridge-list>div{display:flex;flex-wrap:wrap;gap:7px}
.automatic-bridge-list span{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid #d9cceb;border-radius:999px;background:#fff;color:#5c4b78;font-size:11px;font-weight:750}
.automatic-bridge-empty{margin:14px 0;padding:10px 12px;border-radius:9px;background:#f6f8fa;color:#6b7b86;font-size:12px}
.bridge-manual-details{border:1px solid #dfe6eb;border-radius:10px;background:#fff;align-self:start}
.bridge-manual-details>summary{cursor:pointer;list-style:none;padding:12px 14px;color:#35536a;font-size:12px;font-weight:850}
.bridge-manual-details>summary::-webkit-details-marker{display:none}
.bridge-manual-details>summary:after{content:'+';float:right;color:#708492;font-size:17px;line-height:1}
.bridge-manual-details[open]>summary:after{content:'−'}
.bridge-manual-details form{padding:0 14px 14px}
.manual-bridge-list{margin-top:14px}.manual-bridge-list>strong{display:block;margin-bottom:8px;color:#516777;font-size:12px}
@media(max-width:760px){.automatic-bridge-list>div{display:grid;grid-template-columns:1fr}.automatic-bridge-list span{border-radius:8px}}

/* Heute-Spalte ohne einzelne Zell-Rechtecke: durchgehende Seitenkante + leichte Tönung je Zelle. */
.vacation-matrix .vac-day.today:after{display:none!important;content:none!important}
.vacation-matrix .vac-day.today.occupied:not(.status-pending){background-image:linear-gradient(rgba(15,76,129,.065),rgba(15,76,129,.065))!important;background-blend-mode:multiply!important}
.vacation-matrix .vac-day.today.occupied.status-pending{background-image:linear-gradient(rgba(15,76,129,.055),rgba(15,76,129,.055)),repeating-linear-gradient(135deg,rgba(193,139,23,.10) 0,rgba(193,139,23,.10) 5px,transparent 5px,transparent 10px)!important;background-blend-mode:multiply!important}

/* ========================================================================== */
/* V13.4c-2 – Urlaubskalender: eindeutige arbeitsfreie Tage                  */
/* ========================================================================== */
/*
 * Eine einzige finale Klasse entscheidet über die Darstellung arbeitsfreier
 * Kalendertage. Damit können ältere Weekend/Holiday/Bridge-Regeln einzelne
 * Samstage/Sonntage nicht mehr optisch übermalen.
 */
.vacation-matrix thead th.offday:not(.today),
.vacation-matrix .vac-day.offday:not(.today),
.year-day.offday{
  background:#e7ebef!important;
  background-image:none!important;
  border-color:#d7dee3!important;
  box-shadow:none!important;
}
/* Brückentage sind ausschließlich Werktags-Markierungen. */
.vacation-matrix thead th.offday.bridge:not(.today),
.vacation-matrix .vac-day.offday.bridge:not(.today),
.year-day.offday.bridge{
  background:#e7ebef!important;
  background-image:none!important;
  border-color:#d7dee3!important;
  box-shadow:none!important;
}
/* Heute darf als Spalte hervorgehoben bleiben; die arbeitsfrei-Grundfarbe bleibt erkennbar. */
.vacation-matrix thead th.offday.today,
.vacation-matrix .vac-day.offday.today{
  background-color:#e7ebef!important;
}

/* ========================================================================== */
/* V13.4h – globales Fluid-Layout + saubere Darstellungswahl                  */
/* ========================================================================== */
/*
 * Das Portal darf auf breiten Arbeitsplätzen nicht bei ~1500 px stehenbleiben.
 * Spezifische Komponenten (z. B. Tabellen/Kalender) regeln ihren eigenen
 * Horizontal-Scroll. Der normale Seitenrahmen nutzt die verfügbare Fläche.
 */
html,body{max-width:100%}
body{overflow-x:hidden}
.content{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  padding-left:clamp(22px,2vw,42px)!important;
  padding-right:clamp(22px,2vw,42px)!important;
}
.content-inner{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}
/* Breite Layouts dürfen wirklich mitwachsen; Kinder dürfen Grid/Flex nicht sprengen. */
.content-inner>*{min-width:0}
.card,.grid,.dashboard-grid,.two-col,.settings-main-grid,.settings-wide-card{max-width:100%}

/* Persönliche Darstellungswahl: echte Miniaturvorschau statt leerer Eingabeflächen. */
.appearance-settings-form{display:grid;gap:16px}
.appearance-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px}
.appearance-choice{
  position:relative;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  grid-template-areas:"radio title" "preview preview" "desc desc";
  align-items:center;
  gap:8px 10px;
  min-width:0;
  padding:14px;
  border:1px solid #d2dde5;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  transition:border-color .15s,box-shadow .15s,transform .15s,background .15s;
}
.appearance-choice:hover{border-color:#9cb9cf;box-shadow:0 6px 18px rgba(25,52,73,.08);transform:translateY(-1px)}
.appearance-choice:has(input:checked){border-color:#5f9bc8;box-shadow:0 0 0 3px rgba(74,143,193,.14)}
.appearance-choice input[type="radio"]{grid-area:radio;position:static!important;width:18px!important;height:18px!important;margin:0!important;accent-color:#0f6fae}
.appearance-choice strong{grid-area:title;font-size:14px;color:#153b56;line-height:1.2}
.appearance-choice small{grid-area:desc;font-size:12px;color:#6c7f8d;line-height:1.4}
.appearance-preview{
  grid-area:preview;
  height:92px;
  border-radius:10px;
  border:1px solid #cbd7e0;
  display:block;
  position:relative;
  overflow:hidden;
  background:#eef3f6;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
/* Mini-Topbar */
.appearance-preview:before{content:"";position:absolute;left:0;right:0;top:0;height:18px;background:#fff;border-bottom:1px solid #d9e2e8}
/* Mini-Sidebar */
.appearance-preview:after{content:"";position:absolute;left:0;top:19px;bottom:0;width:25px;background:#f7f9fb;border-right:1px solid #d9e2e8}
/* Mini-Hauptkarte */
.appearance-preview i{position:absolute;left:36px;right:10px;top:29px;bottom:11px;height:auto!important;border-radius:7px;background:#fff;border:1px solid #d9e2e8}
.appearance-preview i:before{content:"";position:absolute;left:9px;top:9px;width:42%;height:7px;border-radius:5px;background:#d8e4ec;box-shadow:0 15px 0 #edf2f5,70px 15px 0 #edf2f5}
.appearance-preview i:after{content:"";position:absolute;left:9px;right:9px;bottom:9px;height:12px;border-radius:5px;background:#edf3f7}
/* Dark-Miniatur */
.appearance-dark{background:#0f1821;border-color:#425665}
.appearance-dark:before{background:#151f29;border-color:#334554}
.appearance-dark:after{background:#121c25;border-color:#334554}
.appearance-dark i{background:#1b2833;border-color:#3b4e5d}
.appearance-dark i:before{background:#4c6577;box-shadow:0 15px 0 #283946,70px 15px 0 #283946}
.appearance-dark i:after{background:#263744}
/* Auto: links hell, rechts dunkel – alle Ebenen sauber geteilt. */
.appearance-auto{background:linear-gradient(90deg,#eef3f6 0 50%,#0f1821 50%);border-color:#96a7b3}
.appearance-auto:before{background:linear-gradient(90deg,#fff 0 50%,#151f29 50%);border-color:#8b9ba7}
.appearance-auto:after{background:linear-gradient(90deg,#f7f9fb 0 50%,#121c25 50%);border-color:#8b9ba7}
.appearance-auto i{background:linear-gradient(90deg,#fff 0 50%,#1b2833 50%);border-color:#8b9ba7}
.appearance-auto i:before{background:linear-gradient(90deg,#d8e4ec 0 50%,#4c6577 50%);box-shadow:0 15px 0 rgba(143,163,177,.35),70px 15px 0 rgba(70,91,106,.55)}
.appearance-auto i:after{background:linear-gradient(90deg,#edf3f7 0 50%,#263744 50%)}
.appearance-settings-form>.btn{justify-self:start;width:auto!important;min-width:220px}

/* Topbar auf Desktop: saubere, gleich hohe Aktionsgruppe. */
.portal-actions{align-items:center!important;gap:7px!important}
.portal-switch{min-height:38px}
.portal-switch a{min-height:32px}
.notification-bell,.top-logout,.portal-account{min-height:38px}
.portal-account{display:flex!important;align-items:center;gap:7px}

@media(max-width:1100px){
  .appearance-choice-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .content{padding-left:14px!important;padding-right:14px!important}
  .appearance-settings-form>.btn{width:100%!important;justify-self:stretch}
}

/* ========================================================================== */
/* V13.4i – finaler Light-Mode-/Formular-/Freigabe-Reparaturstand             */
/* ========================================================================== */
/*
 * Native Browser-Controls dürfen im hellen Portal nicht automatisch dem
 * Betriebssystem-Dark-Mode folgen. Dadurch entstanden dunkle Einzelinputs in
 * Chat, Essen, Verzeichnis, Anfragen, Urlaub und Reminder-Formularen.
 */
html:not(.eq-dark){color-scheme:light!important}
html:not(.eq-dark) body{color-scheme:light!important}
html:not(.eq-dark) input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
html:not(.eq-dark) select,
html:not(.eq-dark) textarea{
  color-scheme:light!important;
  background-color:#fff!important;
  color:#182532!important;
  border-color:#cbd8e2!important;
}
html:not(.eq-dark) input::placeholder,
html:not(.eq-dark) textarea::placeholder{color:#7b8996!important;opacity:1}
html:not(.eq-dark) input[type="file"]{background:#fff!important;color:#263b4c!important}
html:not(.eq-dark) input[type="file"]::file-selector-button{
  color-scheme:light!important;background:#f4f7f9!important;color:#27465a!important;
  border:1px solid #cbd8e2!important;border-radius:7px!important;padding:7px 10px!important;
  margin-right:10px!important;font-weight:700!important;cursor:pointer!important;
}
html:not(.eq-dark) input[type="checkbox"],
html:not(.eq-dark) input[type="radio"]{color-scheme:light!important;accent-color:#0f4c81}

/* Chat-/Such-/Abstimmungsfelder explizit hell; schützt gegen Legacy/UA-Styles. */
html:not(.eq-dark) .chat-form input,
html:not(.eq-dark) .directory-search input,
html:not(.eq-dark) .meal-suggestion-form input,
html:not(.eq-dark) .approval-quick-form input,
html:not(.eq-dark) .approval-actions input,
html:not(.eq-dark) .global-search-mini input{
  background:#fff!important;color:#182532!important;border-color:#cbd8e2!important;
}

/* Freigaben: Kommentar und Entscheidung als klar getrennte Einheit. */
.approval-action-card{padding:16px 0!important;gap:7px!important}
.approval-action-card>p{margin:4px 0;color:#526778}
.approval-quick-form,
.approval-actions{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
}
.approval-quick-form>input,
.approval-actions>input:not([type="hidden"]){
  width:100%!important;min-width:0!important;min-height:42px!important;
  border:1px solid #cbd8e2!important;border-radius:9px!important;padding:9px 11px!important;
}
.approval-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.approval-action-buttons .btn{white-space:nowrap;min-height:42px}

/* Urlaubsgenehmigungen: saubere Spalten und ruhige Zeile statt gequetschtem Formular. */
.vacation-approval-card .table-wrap{overflow-x:auto}
.vacation-approval-card table{width:100%;min-width:1040px;table-layout:auto}
.vacation-approval-card th:nth-child(1){width:20%}
.vacation-approval-card th:nth-child(2){width:24%}
.vacation-approval-card th:nth-child(3){width:14%}
.vacation-approval-card th:nth-child(4){width:42%}
.vacation-approval-card .vac-approval-row>td{padding:14px 16px!important;vertical-align:middle!important}
.vacation-approval-card .vac-approval-row>td:last-child{min-width:520px}
.vacation-approval-card .approval-actions{grid-template-columns:minmax(200px,1fr) auto!important}

/* Essen: Abrechnung ist eine eigene Unterkarte – sowohl hell als auch strukturell sauber. */
.meal-billing{
  background:#f8fafc!important;border:1px solid #d8e3ea!important;border-radius:14px!important;
  padding:22px!important;box-shadow:none!important;
}
.meal-billing .section-title-row{margin-bottom:16px!important}
.meal-billing .billing-totals{align-items:stretch}
.meal-billing .billing-totals span{background:#fff!important;border:1px solid #dce5eb!important}
.meal-billing .compact-empty{background:#fff!important;border-color:#d5e0e7!important;color:#738593!important}

/* Große Formulare bleiben auf breiten Monitoren lesbar statt grenzenlos auseinanderzuziehen. */
.form-grid .field textarea{width:100%}
.personal-reminder-form,
.task-edit-form,
.task-copy-form{min-width:0}

@media(max-width:980px){
  .approval-quick-form,.approval-actions{grid-template-columns:1fr!important}
  .approval-action-buttons{justify-content:flex-start}
  .vacation-approval-card .vac-approval-row>td:last-child{min-width:440px}
}
@media(max-width:620px){
  .approval-action-buttons{display:grid;grid-template-columns:1fr}
  .approval-action-buttons .btn{width:100%!important;justify-content:center}
}

/* ========================================================================== */
/* V13.4l – definitive mobile portal layout                                   */
/* ========================================================================== */
.portal-scroll-top{
  position:fixed;right:22px;bottom:86px;z-index:1195;width:50px;height:50px;
  border:1px solid #bdd2e1;border-radius:50%;display:grid;place-items:center;
  background:#78b7e5;color:#fff;box-shadow:0 10px 26px rgba(15,76,129,.24);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease;
}
.portal-scroll-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.portal-scroll-top:hover{background:#5ca4d8;transform:translateY(-1px)}
.portal-scroll-top svg{width:22px;height:22px}
.mobile-sidebar-head,.mobile-sidebar-backdrop{display:none}

@media(max-width:900px){
  body:not([data-role="tv"]){overflow-x:hidden!important}
  body:not([data-role="tv"]).mobile-nav-open{overflow:hidden!important}
  body:not([data-role="tv"]) .app-shell{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
  body:not([data-role="tv"]) .portal-topbar{
    left:0!important;right:0!important;width:100%!important;max-width:100%!important;
    padding:0 10px!important;gap:6px!important;overflow:visible!important;
  }
  body:not([data-role="tv"]) .portal-brand{min-width:0!important;gap:6px!important;flex:0 1 auto!important}
  body:not([data-role="tv"]) .mobile-menu{display:grid!important;place-items:center;width:40px;height:40px;min-width:40px;margin:0!important;padding:0!important;border:1px solid #cbd8e1!important;border-radius:10px!important;background:#fff!important;color:#0f4c81!important;font-size:0!important}
  body:not([data-role="tv"]) .mobile-menu:before{content:"☰";font-size:20px;line-height:1}
  body:not([data-role="tv"]) .portal-logo{width:112px!important;max-width:112px!important;height:auto!important}
  body:not([data-role="tv"]) .portal-title,
  body:not([data-role="tv"]) .global-search-mini,
  body:not([data-role="tv"]) .seasonal-top-accent,
  body:not([data-role="tv"]) .portal-account,
  body:not([data-role="tv"]) .top-logout,
  body:not([data-role="tv"]) .portal-actions>form{display:none!important}
  body:not([data-role="tv"]) .portal-actions{margin-left:auto!important;min-width:0!important;gap:5px!important;display:flex!important;align-items:center!important}
  body:not([data-role="tv"]) .portal-switch{padding:2px!important;gap:1px!important;min-width:0!important}
  body:not([data-role="tv"]) .portal-switch a{min-height:34px!important;padding:0 7px!important;font-size:10px!important;line-height:1.08!important;max-width:82px!important;text-align:center!important;white-space:normal!important}
  body:not([data-role="tv"]) .notification-bell{width:40px!important;height:40px!important;min-height:40px!important}

  body:not([data-role="tv"]) .sidebar.sidebar-accordion{
    position:fixed!important;top:var(--top)!important;bottom:0!important;left:0!important;
    width:min(88vw,350px)!important;max-width:calc(100vw - 38px)!important;height:auto!important;
    padding:0 12px 12px!important;transform:translateX(-103%)!important;transition:transform .2s ease!important;
    z-index:1005!important;box-shadow:16px 0 42px rgba(8,23,34,.28)!important;overflow-y:auto!important;overscroll-behavior:contain;
  }
  body:not([data-role="tv"]) .sidebar.sidebar-accordion.open{transform:translateX(0)!important}
  body:not([data-role="tv"]) .mobile-sidebar-head{
    position:sticky;top:0;z-index:2;display:flex!important;align-items:center;justify-content:space-between;gap:12px;
    min-height:62px;margin:0 -12px 8px;padding:9px 12px;border-bottom:1px solid #dce5eb;background:#fff;
  }
  body:not([data-role="tv"]) .mobile-sidebar-head strong{font-size:17px;color:#153b56}
  body:not([data-role="tv"]) .mobile-sidebar-head button{width:40px;height:40px;border:1px solid #cbd8e1;border-radius:10px;background:#fff;color:#40596b;font-size:24px;line-height:1}
  body:not([data-role="tv"]) .mobile-sidebar-backdrop{
    display:block!important;position:fixed;inset:var(--top) 0 0;z-index:1004;border:0;background:rgba(5,17,27,.42);
    opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,visibility .18s;
  }
  body:not([data-role="tv"]).mobile-nav-open .mobile-sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  body:not([data-role="tv"]) .sidebar-collapse-toggle{display:none!important}
  body:not([data-role="tv"]) .sidebar-bottom{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important}

  body:not([data-role="tv"]) .content{
    margin-left:0!important;width:100%!important;max-width:100%!important;min-width:0!important;
    padding:calc(var(--top) + 18px) 12px calc(100px + env(safe-area-inset-bottom,0px))!important;
    overflow:visible!important;
  }
  body:not([data-role="tv"]) .content-inner{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;overflow:visible!important}
  body:not([data-role="tv"]) .content-inner>*{min-width:0!important;max-width:100%!important}
  body:not([data-role="tv"]) .dashboard-head-v12{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;align-items:start!important}
  body:not([data-role="tv"]) .dashboard-head-v12>.head-actions,
  body:not([data-role="tv"]) .dashboard-head-actions{width:100%!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  body:not([data-role="tv"]) .dashboard-create{margin:0!important;max-width:100%!important}
  body:not([data-role="tv"]) .dashboard-create summary{width:100%!important;justify-content:center!important}
  body:not([data-role="tv"]) .dashboard-create .create-panel{position:fixed!important;left:12px!important;right:12px!important;top:calc(var(--top) + 12px)!important;width:auto!important;max-height:calc(100svh - var(--top) - 26px)!important;overflow:auto!important;margin:0!important;z-index:1020!important}
  body:not([data-role="tv"]) .v12-dashboard,
  body:not([data-role="tv"]) .dashboard-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;width:100%!important;min-width:0!important}
  body:not([data-role="tv"]) .v12-dashboard>.dashboard-tile,
  body:not([data-role="tv"]) .dashboard-grid>.dashboard-tile{grid-column:1!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
  body:not([data-role="tv"]) .dashboard-tile.tile-wide{grid-column:1!important}
  body:not([data-role="tv"]) .meal-main{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important}
  body:not([data-role="tv"]) .my-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:not([data-role="tv"]) .quick-actions-grid-v13{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:not([data-role="tv"]) .card{max-width:100%!important;min-width:0!important;overflow-wrap:anywhere}
  body:not([data-role="tv"]) img{max-width:100%;height:auto}
  body:not([data-role="tv"]) .table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

  .portal-scroll-top{right:12px;bottom:calc(78px + env(safe-area-inset-bottom,0px));width:48px;height:48px}
}
@media(max-width:430px){
  body:not([data-role="tv"]) .portal-logo{width:96px!important;max-width:96px!important}
  body:not([data-role="tv"]) .portal-switch a{padding:0 5px!important;font-size:9.5px!important;max-width:75px!important}
  body:not([data-role="tv"]) .notification-bell{width:38px!important;height:38px!important}
  body:not([data-role="tv"]) .mobile-menu{width:38px;height:38px;min-width:38px}
  body:not([data-role="tv"]) .my-day-grid{grid-template-columns:1fr 1fr!important}
}
