.result-pdf-downloads{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;display:flex}.result-pdf-downloads a{color:#194730;background:#deeee2;border:1px solid #bdcebf;border-radius:9px;align-items:center;gap:7px;min-height:44px;padding:11px 13px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.result-pdf-downloads a:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.result-pdf-downloads small{color:var(--muted);flex-basis:100%;font-size:11px}@media print{.result-pdf-downloads{display:none!important}}.schedule-result{--result-open:#bfe3c9;--result-open-ink:#0d432e;--result-shut:#d6d8d4;--result-warn:#fff0cf;background:var(--paper);border:1px solid var(--line);min-width:0;color:var(--ink);border-radius:16px;padding:24px}.schedule-result h2{margin:.4rem 0 0;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15}.schedule-result button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 12px;display:inline-flex}.schedule-result button:disabled{opacity:.4;cursor:default}.schedule-result button:focus-visible,.schedule-result select:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.result-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.result-actions,.result-modes{flex-wrap:wrap;gap:8px;display:flex}.result-actions{font-size:.8rem}.result-modes{margin-bottom:16px}.result-modes button[aria-pressed=true]{background:var(--result-open);border-color:var(--green)}.result-state{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:5px 0 17px;font-size:.8rem;display:flex}.result-state strong{font-weight:600}.result-state .is-published{color:var(--green)}.result-state .is-draft{color:#99502b}.result-week-nav{align-items:flex-end;gap:8px;max-width:510px;margin-bottom:18px;display:flex}.result-week-nav label{min-width:0;color:var(--muted);flex-direction:column;flex:1;gap:4px;font-size:.75rem;display:flex}.result-week-nav select{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--ink);background:#fff;border-radius:8px;padding:8px;font-size:.9rem}.result-week-nav button{min-width:44px;min-height:44px;padding:8px}.result-week-label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 15px;font-size:.85rem;display:flex}.result-week-label>span{color:var(--muted)}.result-calendar{grid-template-columns:48px repeat(var(--result-day-count),minmax(0,1fr));border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 5px 10px 0;display:grid}.result-day{min-width:0}.result-day-head{border-bottom:1px solid var(--line);height:55px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.8rem;display:flex}.result-day-head strong{color:var(--ink);font-size:1rem}.result-day.is-weekend .result-day-head strong{color:#ac462f}.result-day-body{height:var(--calendar-height);border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hour-height) / 2 - 1px),#e5e9e2 calc(var(--hour-height) / 2 - 1px),#e5e9e2 calc(var(--hour-height) / 2));position:relative}.is-muted-day .result-day-body{background:var(--result-shut)}.result-axis-body{height:var(--calendar-height);position:relative}.result-axis-body span{color:var(--muted);font-size:11px;position:absolute;right:5px}.result-day-note{text-align:center;color:var(--muted);overflow-wrap:anywhere;flex-direction:column;align-items:center;gap:7px;padding:22px 5px;font-size:11px;display:flex}.schedule-result .result-block{text-align:left;background:var(--result-open);width:calc(100% - 6px);min-height:0;color:var(--result-open-ink);overflow-wrap:anywhere;border:1px solid #629477;border-radius:7px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px;padding:9px 7px;display:flex;position:absolute;left:3px;right:3px}.schedule-result .result-block[aria-pressed=true]{box-shadow:0 0 0 2px var(--orange);z-index:1}.schedule-result .result-block.block-cancelled{background:var(--result-shut);color:#414a45;border:1px dashed #727a75}.schedule-result .result-block.block-review{background:var(--result-warn);color:#77501a;border:1px solid #bf9143}.block-time{font-variant-numeric:tabular-nums;font-size:11px;line-height:1.25}.block-people{flex-direction:column;gap:1px;font-size:14px;line-height:1.3;display:flex}.block-kind{margin-top:auto;font-size:11px;line-height:1.25}.short-block .block-people{font-size:12px}.tiny-block .block-people,.tiny-block .block-kind{display:none}.schedule-result .tiny-block{padding:3px}.result-legend{color:var(--muted);flex-wrap:wrap;gap:9px 18px;margin:15px 0;font-size:11px;display:flex}.result-legend>span{align-items:center;gap:6px;display:flex}.result-legend i{border-radius:3px;width:12px;height:12px;display:inline-block}.legend-open{background:var(--result-open);border:1px solid var(--green)}.legend-cancelled{background:var(--result-shut);border:1px dashed #829087}.legend-review{background:var(--result-warn);border:1px solid #bf9143}.result-block-detail{background:var(--result-shut);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:15px;font-size:.8rem;display:flex}.result-block-detail strong{margin-top:6px;display:block}.result-block-detail>.result-people{flex-wrap:wrap;gap:6px;display:flex}.result-people>span{background:var(--paper);border-radius:6px;padding:7px 10px}.result-note,.result-empty{color:var(--muted);margin:15px 0;font-size:.85rem;line-height:1.6}.public-week>.notice{margin-bottom:16px}.opening-days{flex-direction:column;gap:8px;display:flex}.opening-day{background:var(--result-shut);color:#414a45;border:1px solid #858c87;border-radius:9px;grid-template-columns:1fr 1.2fr .65fr;align-items:center;gap:15px;min-height:68px;padding:15px 19px;display:grid}.opening-day.is-open{background:var(--result-open);color:var(--result-open-ink);border-color:#629477}.opening-day.is-external{background:var(--paper);border:1px solid var(--line)}.opening-day>div:first-child{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.opening-day>div:first-child>span{color:var(--muted);font-size:.8rem}.opening-times{flex-direction:column;gap:4px;display:flex}.opening-times>strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(1.25rem,2.8vw,1.9rem);font-weight:500}.opening-indicator{justify-self:end;align-items:center;gap:6px;font-size:.8rem;display:flex}.personal-load{padding:8px 0 23px}.personal-load>div:first-child{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;display:flex}.personal-load>div:first-child>span{color:var(--muted);font-size:.8rem}.personal-load-track{background:var(--line);border-radius:5px;height:7px;overflow:hidden}.personal-load-track>span{background:var(--green);height:100%;display:block}.personal-shift{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:flex-start;gap:24px;margin-bottom:14px;padding:25px;display:flex;position:relative}.personal-date{min-width:72px;color:var(--muted);flex-direction:column;align-items:center;gap:2px;font-size:.75rem;display:flex}.personal-date strong{color:var(--green);font-size:2.8rem;font-weight:500;line-height:1.15}.personal-shift-content{min-width:0}.personal-shift-content h3{margin:6px 0;font-size:clamp(1.3rem,3vw,1.85rem);line-height:1.2}.personal-shift-content>span:not(.eyebrow){color:var(--muted);font-size:.8rem}.personal-partners{align-items:center;gap:8px;margin-top:17px;font-size:.85rem;line-height:1.5;display:flex}.personal-partners svg{flex-shrink:0}.personal-confirmed{color:var(--green);white-space:nowrap;align-items:center;gap:4px;margin-left:auto;font-size:.75rem;display:flex}.personal-confirmed.needs-review{color:#91641c}.profile-schedule-tabs{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.profile-schedule-tabs button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:10px 14px}.profile-schedule-tabs button[aria-pressed=true]{background:var(--mint);border-color:var(--green)}.panel-head:has(.qualification-add){flex-wrap:wrap;gap:12px}.result-editor-section>summary{cursor:pointer;color:var(--green);padding:12px 0;font-weight:600}.public-schedule-page .schedule-result{margin:24px clamp(1rem,4vw,4rem)}@media (width<=1000px){.schedule-result{padding:18px 12px}.schedule-result .result-block{padding:8px 4px}.block-people{font-size:13px}.short-block .block-kind{display:none}.personal-shift{gap:18px;padding:22px 17px}}@media (width<=700px){.result-calendar{padding:0 10px;display:block}.result-axis{display:none}.result-day{border-bottom:1px solid var(--line);grid-template-columns:54px minmax(0,1fr);gap:9px;padding:10px 0;display:grid}.result-day:last-child{border:0}.result-day-head{border:0;justify-content:flex-start;align-items:flex-start;height:auto;padding-top:5px}.result-day-body,.is-muted-day .result-day-body{background:0 0;border:0;flex-direction:column;gap:7px;height:auto;min-height:44px;display:flex}.schedule-result .result-block{gap:6px;width:100%;min-height:44px;padding:10px;position:static;height:auto!important;top:auto!important}.block-time{font-size:13px}.block-people{font-size:15px}.short-block .block-kind{display:block}.short-block .block-people{font-size:15px}.result-day-note{background:var(--result-shut);text-align:left;border-radius:6px;align-items:flex-start;padding:10px}.tiny-block .block-people{display:flex}.tiny-block .block-kind{display:block}.opening-day{grid-template-columns:minmax(82px,.8fr) minmax(0,1.2fr);gap:9px;padding:14px 10px}.opening-day>div:first-child{flex-direction:column;gap:1px}.opening-times{text-align:right;align-items:flex-end}.opening-indicator{display:none}.is-external .opening-indicator{grid-column:2;display:block}.opening-times>strong{font-size:1.4rem}.personal-shift{gap:12px;padding:38px 12px 18px}.personal-date{min-width:48px;font-size:11px}.personal-date strong{font-size:2.2rem}.personal-confirmed{font-size:11px;position:absolute;top:12px;right:12px}.personal-shift-content h3{font-size:1.3rem}.personal-partners{gap:6px;font-size:.8rem}.personal-shift-content .eyebrow{letter-spacing:.08em;font-size:11px}.result-week-nav{gap:4px}.result-week-nav select{font-size:16px}.result-actions button,.result-modes button{min-height:44px}.schedule-result .eyebrow{overflow-wrap:anywhere}}@media print{:is(body:has(.schedule-result) .main-content>:not(:has(.schedule-result)):not(.schedule-result),body:has(.schedule-result) .stack>:not(:has(.schedule-result)):not(.schedule-result),body:has(.schedule-result) .admin-person-planning>:not(:has(.schedule-result)):not(.schedule-result)),.result-actions,.result-modes,.result-week-nav,.result-block-detail,.profile-schedule-tabs,.result-editor-section{display:none!important}.schedule-result{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:0;padding:0!important}.result-heading h2{font-size:24px}.result-state{padding-bottom:6px}.result-week-label{margin:5px 0 12px}.opening-day,.personal-shift{break-inside:avoid}.public-schedule-page .schedule-result{margin:0}.result-calendar{break-inside:avoid}.schedule-result .result-block[aria-pressed=true]{box-shadow:none}}.flint-form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.flint-form .field{flex:120px;min-width:100px}.flint-form button{margin-bottom:1px}.flint-days{gap:12px;display:grid}.flint-day{border-bottom:1px solid #e2e8e3;padding:0 0 12px}.flint-day h3{color:#98445e}.flint-day article{background:#fcf6f8;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin:8px 0;padding:12px;display:flex}.flint-day p{margin:6px 0}.flint-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=800px){.flint-day article{flex-direction:column;align-items:start}}.block-team-dialog{border:1px solid var(--line);background:var(--paper);width:min(680px,100vw - 24px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:16px;padding:0;box-shadow:0 20px 80px #102a2255}.block-team-dialog::backdrop{background:#102a2277}.block-team-dialog>header,.block-team-dialog>footer{background:var(--paper);align-items:center;gap:12px;padding:18px 22px;display:flex}.block-team-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between}.block-team-dialog h2{margin:5px 0;font-size:1.4rem}.block-team-dialog h3{margin:14px 0 8px;font-size:.85rem}.block-team-dialog>header>button{min-width:44px;font-size:24px}.block-team-dialog button{min-height:44px}.block-team-body{padding:0 22px 20px}.block-team-body>p{font-size:.88rem;line-height:1.5}.block-team-dialog>footer{border-top:1px solid var(--line);flex-wrap:wrap;position:sticky;bottom:0}.block-team-dialog>footer>span{margin-right:auto;font-size:.8rem}.team-chips{flex-wrap:wrap;gap:7px;margin-bottom:18px;display:flex}.team-chips button{color:#0d432e;background:#bfe3c9;border:1px solid #629477;border-radius:24px;align-items:center;gap:14px;padding:6px 14px;display:flex}.team-candidates{margin-bottom:18px}.team-candidates>button{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin:5px 0;padding:12px;display:flex}.team-candidates>button>span:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.team-candidates>button>span:last-child{color:var(--green);font-size:24px}.team-candidates small{font-size:.76rem}.team-planner{color:#0d6342;font-weight:600}.team-warning{color:#93421b;overflow-wrap:anywhere}.orga-opportunities{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.orga-opportunities button{text-align:left;padding:10px}@media (width<=600px){.block-team-dialog>header,.block-team-dialog>footer{padding:14px}.block-team-body{padding:0 14px 14px}.block-team-dialog>footer>span{width:100%}.block-team-dialog>footer>.primary{flex:1}}.optimization-guide{font-size:.93rem;line-height:1.65}.optimization-guide p{margin:.65rem 0}.optimization-guide h3{margin:0 0 .5rem;font-size:1rem;line-height:1.4}.optimization-intro{max-width:90ch}.optimization-rules{grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;display:grid}.optimization-rules section{border:1px solid var(--line);border-radius:12px;min-width:0;padding:18px}.optimization-hard{background:#eef4f0}.optimization-soft{background:#fff8e8}.optimization-guide summary{cursor:pointer;border-radius:6px;min-height:44px;padding:8px 0}.optimization-guide summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.optimization-guide ul{margin:.6rem 0;padding-left:1.3rem}.optimization-guide ul li+li{margin-top:.65rem}.optimization-goals{gap:10px;margin:20px 0;padding:0;list-style:none;display:grid}.optimization-goals>li{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0}.optimization-goals summary{align-items:center;gap:14px;padding:16px;display:flex}.optimization-goals summary:after{content:"+";color:var(--green);flex-shrink:0;margin-left:auto;padding-left:6px;font-size:1.3rem}.optimization-goals details[open]>summary:after{content:"−"}.optimization-goals summary::-webkit-details-marker{display:none}.optimization-goals summary strong{font-size:1rem;line-height:1.4;display:block}.optimization-goals summary small{color:var(--muted);margin-top:4px;font-size:.85rem;line-height:1.45;display:block}.optimization-step{color:var(--green);background:var(--mint);border-radius:10px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:1.15rem;font-weight:800;display:grid}.optimization-detail{max-width:100ch;padding:0 20px 16px 72px}.optimization-example{border-left:3px solid var(--orange);background:#fcf6ee;border-radius:0 8px 8px 0;padding:12px 14px}.optimization-boundaries{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}@media (width<=700px){.optimization-rules{grid-template-columns:minmax(0,1fr);gap:10px}.optimization-rules section{padding:14px}.optimization-goals summary{gap:10px;padding:14px 12px}.optimization-step{width:34px;height:34px;font-size:1rem}.optimization-detail{padding:0 14px 14px}}.grid-slot:nth-child(19),.grid-slot:nth-child(27),.grid-slot:nth-child(35),.grid-slot:nth-child(39){border-left:3px solid var(--orange)}.category-edit{color:#8c9893;background:0 0;border:0;padding:.2rem;position:absolute;top:.28rem;right:.35rem}.category-edit svg{width:14px}.category-edit:hover{color:#174f42}.category-delete{bottom:.28rem;padding:.2rem!important;top:auto!important}.grid-prefill-note{color:#52635d;background:#eef1ec;border-radius:8px;margin:0 0 .8rem;padding:.65rem .8rem;font-size:.8rem}.grid-slot.closed{background:#7c8581}.grid-slot.closed:after{background:repeating-linear-gradient(135deg,#ffffff29 0 3px,#0000 3px 7px)}.planning-side{flex-direction:column;gap:1.25rem;display:flex}.logo img{width:330px;max-width:38vw;max-height:62px}.login-logo{width:min(100%,520px)}.planning-layout{flex-direction:column;gap:1.25rem;display:flex}.planning-head{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);align-items:start;gap:1.25rem;display:grid}.planning-lower{grid-template-columns:minmax(0,3fr) minmax(300px,1fr);align-items:start;gap:1.25rem;display:grid}.weekday-picks{grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.weekday-picks label{border:1px solid var(--line);background:#f7f8f3;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.65rem .35rem;font-weight:800;display:flex}.weekday-picks label.weekend{color:#b23b31;background:#fff4f1}.weekday-picks input{width:18px;height:18px;accent-color:var(--orange)}.time-level-row{grid-template-columns:130px 130px 1fr;align-items:end;gap:1rem;display:grid}.level-picks{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.level-picks label,.sticky-availability-tools button{border:1px solid var(--line);background:#f5f5ef;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:.7rem;font-weight:800;display:flex}.level-picks label.prefer,.sticky-availability-tools .prefer{background:#d9efe4}.level-picks label.possible,.sticky-availability-tools .possible{background:#fff5c9}.level-picks label.unavailable,.sticky-availability-tools .unavailable{background:#ecece8}.level-picks input{accent-color:var(--green)}.weekly-rule>.primary{margin-top:1rem}.compact-rules{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.availability-chip{background:#eef1ec;border-radius:99px;padding:.4rem .6rem;font-size:.75rem}.availability-chip.value-4{background:#d9efe4}.availability-chip.value-2{background:#fff5c9}.availability-chip.value-0{background:#e1e1dc}.workload-form{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.workload-form .primary{grid-column:1/-1}.workload-hint{margin:1rem 0 0;font-size:.78rem}.sticky-availability-tools{z-index:8;background:var(--paper);flex-wrap:wrap;gap:.5rem;padding:.5rem 0 1rem;display:flex;position:sticky;top:0}.sticky-availability-tools button{cursor:pointer}.sticky-availability-tools button.selected{border-color:var(--orange);box-shadow:0 0 0 3px #e66e3d47}.sticky-availability-tools i{background:currentColor;border-radius:3px;width:12px;height:12px}.sticky-availability-tools .prefer{color:#17654f}.sticky-availability-tools .possible{color:#8a6500}.sticky-availability-tools .unavailable{color:#727872}.sticky-availability-tools .clear-tool{color:var(--muted);background:#fff}.availability-grid-scroll{border:1px solid var(--line);border-radius:12px;max-height:68vh;overflow:auto}.availability-grid{--availability-slot:24px;-webkit-user-select:none;user-select:none;background:#fff;grid-template-columns:104px max-content;min-width:max-content;display:grid}.availability-corner{z-index:6;border-right:1px solid var(--line);background:#e9eee9;padding:.75rem;font-weight:800;position:sticky;top:0;left:0}.availability-time-axis{z-index:5;grid-template-columns:repeat(24,calc(var(--availability-slot) * 2));background:#e9eee9;height:38px;display:grid;position:sticky;top:0}.availability-time-axis span{border-left:1px solid #bdc9c2;padding:.75rem .2rem;font-size:.65rem}.availability-date-row{display:contents}.availability-date{z-index:4;border-top:1px solid var(--line);border-right:1px solid var(--line);background:#fbfcf8;justify-content:space-between;align-items:center;gap:.4rem;min-height:34px;padding:.45rem .6rem;font-size:.75rem;display:flex;position:sticky;left:0}.availability-date.weekend{color:#b23b31}.availability-date.no-shifts{background:#f0f0ed}.availability-slots{grid-template-columns:repeat(48,var(--availability-slot));border-top:1px solid var(--line);height:34px;display:grid}.availability-slots.weekend-empty{background:#efefec}.availability-cell{touch-action:none;background:0 0;border:0;border-left:1px solid #e4e7e2;padding:0}.availability-cell:nth-child(odd){border-left-color:#bdc9c2}.availability-cell.value-4{background:#4f9a77}.availability-cell.value-2{background:#e8c857}.availability-cell.value-0{background:#9da39f}.availability-cell.base{opacity:.62}.availability-cell.override{opacity:1;box-shadow:inset 0 0 0 1px #ffffff73}.availability-cell:hover{box-shadow:inset 0 0 0 2px var(--orange);z-index:2}.team-matrix{border:1px solid var(--line);border-radius:10px;overflow:hidden}.team-matrix-head,.team-matrix-row{grid-template-columns:minmax(110px,1fr) repeat(3,72px);align-items:stretch;display:grid}.team-matrix-head>span{border-left:1px solid var(--line);background:#e9eee9;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.5rem;font-size:1.35rem;display:flex}.team-matrix-head>span:first-child{border-left:0;align-items:flex-start;font-size:.8rem;font-weight:800}.team-matrix-head small{text-align:center;color:var(--muted);font-size:.55rem}.team-matrix-row strong{border-top:1px solid var(--line);padding:.7rem;font-size:.8rem}.team-matrix-row label{border-left:1px solid var(--line);border-top:1px solid var(--line);cursor:pointer;place-items:center;display:grid}.team-matrix-row input{opacity:0;position:absolute}.team-matrix-row label span{color:#0000;border:1px solid #aeb8b1;border-radius:5px;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.team-matrix-row input:checked+span{background:var(--orange);border-color:var(--orange);color:#fff}.team-hint{margin:1rem 0 0;font-size:.72rem}.self-identification{background:#fff5c9;border-radius:10px;grid-column:1/-1;align-items:flex-start;gap:.8rem;padding:1rem;display:flex}.self-identification input{width:20px;height:20px;accent-color:var(--green)}.self-identification span{flex-direction:column;gap:.25rem;display:flex}.self-identification small{color:var(--muted)}.people-columns{column-count:3;column-gap:1rem;margin-bottom:1rem}.people-columns .person-button{break-inside:avoid;border-radius:10px;margin:0 0 .35rem;display:grid}.user-inline-form{border-top:1px solid var(--line);grid-template-columns:2fr 1.5fr 1.5fr 48px;gap:.6rem;padding-top:1rem;display:grid}.user-inline-form input,.qualification-add input{border:1px solid #ccd5cf;border-radius:9px;min-width:0;padding:.65rem}.qualification-add{gap:.4rem;display:flex}.qualification-add .primary{padding:.6rem}.qualification-matrix-scroll,.shift-matrix-scroll{overflow:auto}.qualification-matrix,.shift-matrix{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.qualification-matrix th,.qualification-matrix td,.shift-matrix th,.shift-matrix td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;padding:.4rem}.qualification-matrix thead th{vertical-align:bottom;background:#e9eee9;height:150px}.qualification-matrix thead th:first-child{min-width:160px;height:auto}.qualification-matrix thead th span{writing-mode:vertical-rl;white-space:nowrap;font-size:.72rem;transform:rotate(180deg)}.qualification-matrix tbody th{z-index:2;background:#fff;font-size:.78rem;position:sticky;left:0}.qualification-matrix td{text-align:center}.qualification-matrix td button{color:#fff;background:#fff;border:1px solid #bfc8c2;border-radius:6px;width:28px;height:28px;font-weight:900}.qualification-matrix td button.checked{background:var(--green);border-color:var(--green)}.admin-person-planning{border-top:3px solid var(--orange);padding-top:1.5rem}.shift-matrix{width:100%}.shift-matrix thead th{z-index:2;background:#e9eee9;position:sticky;top:0}.shift-matrix td:nth-child(2){white-space:nowrap;font-variant-numeric:tabular-nums}.shift-selects{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.5rem;display:grid}.shift-selects select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.65rem}.candidate-option-unavailable,.unavailable-options{color:#8a8f8b;background:#efefec}.candidate-legend{flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:.76rem;display:flex}.candidate-good{color:#24734f}.candidate-possible{color:#967000}.candidate-unavailable{color:#858b87}@media (width<=1100px){.planning-head,.planning-lower{grid-template-columns:1fr}.people-columns{column-count:2}.logo img{width:280px;max-width:45vw}}@media (width<=700px){.weekday-picks{grid-template-columns:repeat(4,1fr)}.time-level-row,.workload-form{grid-template-columns:1fr 1fr}.level-picks{grid-column:1/-1}.people-columns{column-count:1}.user-inline-form{grid-template-columns:1fr 1fr}.user-inline-form .primary{grid-column:1/-1}.team-matrix-head,.team-matrix-row{grid-template-columns:minmax(90px,1fr) repeat(3,58px)}.logo img{width:230px;max-width:60vw}}.inline-form{grid-template-columns:repeat(5,1fr);align-items:end;gap:1rem;margin-bottom:1rem;display:grid}.chips{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.chips span:not(.muted){background:#cbe5d5;border-radius:99px;padding:.4rem .65rem;font-size:.8rem;font-weight:700}@media (width<=850px){.inline-form{grid-template-columns:1fr 1fr}}.hours-grid{flex-direction:column;display:flex}.hours-row{border-bottom:1px solid #e7e9e4;grid-template-columns:140px 130px 30px 130px 1fr;align-items:center;gap:.7rem;padding:.6rem 0;display:grid}.hours-row input[type=time]{border:1px solid #ccd5cf;border-radius:8px;padding:.55rem}.check{align-items:center;gap:.45rem;font-size:.84rem;display:flex}@media (width<=700px){.hours-row{grid-template-columns:1fr 1fr}.hours-row>span{display:none}}.person-button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.person-button:hover{background:#f3f3ed}.check-grid{grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1rem;display:grid}.check-grid .primary{grid-column:1/-1;width:max-content}@media (width<=700px){.check-grid{grid-template-columns:1fr 1fr}}.mini-action{color:var(--green);background:0 0;border:0;place-items:center;padding:.15rem;display:grid}.mini-action.danger{color:#a83b22;font-size:1.1rem}.logo img{width:250px;max-height:58px;display:block}.login-logo{width:min(100%,420px);margin-bottom:2.5rem;display:block}.inset-stack{padding:0}.category-preferences{gap:.65rem;display:grid}.category-preferences label{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;display:flex}.category-preferences label>span{align-items:center;gap:.6rem;display:flex}.category-preferences i{border-radius:5px;width:18px;height:18px}.category-preferences select{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:180px;padding:.55rem}.workload-controls{align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.workload-controls .field{min-width:170px}.workload-list{gap:1rem;display:grid}.workload-row{grid-template-columns:160px minmax(220px,1fr) minmax(340px,auto);align-items:center;gap:1rem;display:grid}.workload-track{border-right:3px solid var(--ink);background:#e2e5df;border-radius:99px;height:18px;position:relative;overflow:visible}.workload-fill{background:var(--orange);border-radius:99px;height:100%;display:block}.workload-marker{background:var(--green);width:2px;height:28px;position:absolute;top:-5px}.workload-marker.desired{background:#3276a8;width:3px}.workload-values{color:var(--muted);font-size:.78rem}@media (width<=900px){.workload-row{grid-template-columns:120px 1fr}.workload-values{grid-column:1/-1}.logo img{width:210px}.category-preferences label{flex-direction:column;align-items:flex-start}.category-preferences select{width:100%}}.compact-title{margin-bottom:0}.category-palette{flex-wrap:wrap;gap:.65rem;display:flex}.category-choice-wrap{display:flex;position:relative}.category-choice{--category:#2f7665;color:var(--ink);text-align:left;background:#f5f5ef;border:2px solid #0000;border-radius:12px;align-items:center;gap:.7rem;padding:.65rem 2.2rem .65rem .75rem;display:flex}.category-choice.selected{border-color:var(--category);box-shadow:0 0 0 3px color-mix(in srgb,var(--category) 18%,transparent);background:#fff}.category-choice i{background:var(--category);border-radius:7px;width:24px;height:24px;box-shadow:inset 0 0 0 1px #00000014}.category-choice span{flex-direction:column;display:flex}.category-choice small{color:var(--muted);margin-top:.15rem}.category-delete{color:#8c9893;background:0 0;border:0;padding:.25rem;position:absolute;top:.35rem;right:.35rem}.category-delete svg{width:14px}.category-delete:hover{color:#a83b22}.category-editor{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.category-editor summary{cursor:pointer;color:var(--green);align-items:center;gap:.45rem;font-weight:700;display:flex}.category-editor summary svg{width:17px}.category-form{grid-template-columns:repeat(4,1fr);align-items:end;gap:1rem;margin-top:1rem;display:grid}.category-form .primary{min-height:44px}.week-grid-scroll{overscroll-behavior-x:contain;padding-bottom:.75rem;overflow-x:auto}.week-grid{--slot-width:25px;border:1px solid var(--line);-webkit-user-select:none;user-select:none;background:#fff;border-radius:12px;grid-template-columns:88px max-content;min-width:max-content;display:grid;overflow:hidden}.week-corner{border-right:1px solid var(--line);color:var(--muted);background:#eef1ec;place-items:center;font-size:.75rem;font-weight:800;display:grid}.time-axis{grid-template-columns:repeat(24,calc(var(--slot-width) * 2));background:#eef1ec;height:36px;display:grid}.time-axis span{color:#66756f;border-left:1px solid #cdd5cf;padding:.65rem .25rem 0;font-size:.65rem}.week-row{display:contents}.day-label{border-top:1px solid var(--line);border-right:1px solid var(--line);background:#f9faf6;justify-content:space-between;align-items:center;height:42px;padding:.35rem .55rem;display:flex}.day-label strong{font-size:.82rem}.day-label small{color:var(--muted);font-size:.68rem}.day-label.disabled{opacity:.45}.slot-row{grid-template-columns:repeat(48,var(--slot-width));border-top:1px solid var(--line);height:42px;display:grid}.grid-slot{touch-action:none;background:#fff;border:0;border-left:1px solid #e5e8e3;padding:0;position:relative}.grid-slot:nth-child(odd){border-left-color:#cdd5cf}.grid-slot:hover:not(:disabled){box-shadow:inset 0 0 0 2px var(--orange);z-index:1}.grid-slot.filled{background:var(--slot-color)}.grid-slot.filled:after{content:"";background:#ffffff1f;border-radius:3px;position:absolute;inset:4px 2px}.grid-slot:disabled{cursor:not-allowed;background:#eee}.tool-active{border-color:var(--orange)!important;background:#fff3ed!important}.compact-button{padding:.7rem}.compact-button svg{width:18px}.button:disabled{opacity:.35;cursor:not-allowed}@media (width<=900px){.category-form{grid-template-columns:1fr 1fr}.panel-head:has(+.week-grid-scroll){flex-direction:column;gap:1rem}.panel-head:has(+.week-grid-scroll) .button-row{width:100%}}.planning-head{align-items:stretch}.planning-head>.panel{height:100%}.planning-lower{grid-template-columns:minmax(0,2.5fr) minmax(350px,1fr)}.rule-validity-row{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.rule-delete-hint{margin:.8rem 0 0;font-size:.72rem}.availability-chip{border-radius:12px;align-items:center;gap:.45rem;display:flex}.availability-chip>span{flex-direction:column;display:flex}.availability-chip small{color:var(--muted);margin-top:.1rem;display:block}.availability-chip button{color:#8a4032;cursor:pointer;background:#ffffff8c;border:0;border-radius:6px;place-items:center;padding:.3rem;display:grid}.availability-time-axis{grid-template-columns:repeat(11,calc(var(--availability-slot) * 2))}.availability-slots{grid-template-columns:repeat(22,var(--availability-slot))}.team-matrix-head,.team-matrix-row{grid-template-columns:minmax(105px,1fr) repeat(3,60px)}.team-matrix-head>span{min-width:0;padding:.45rem .2rem}.team-matrix-head small{overflow-wrap:anywhere;font-size:.5rem;line-height:1.05}.person-button.selected{box-shadow:inset 4px 0 0 var(--orange);background:#fff3ed}.time-axis{grid-template-columns:repeat(11,calc(var(--slot-width) * 2))}.slot-row{grid-template-columns:repeat(22,var(--slot-width))}@media (width<=1100px){.planning-lower{grid-template-columns:1fr}}@media (width<=700px){.rule-validity-row{grid-template-columns:1fr}.team-matrix-head,.team-matrix-row{grid-template-columns:minmax(86px,1fr) repeat(3,54px)}}:root{color:#18342e;font-synthesis:none;--ink:#15352e;--green:#174f42;--mint:#cbe5d5;--cream:#f3f2eb;--paper:#fffef9;--orange:#e66e3d;--line:#d8ddd5;--muted:#6e7c77;--shadow:0 16px 40px #1c372f14;background:#f3f2eb;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,.button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{color:var(--ink);font-family:Manrope,sans-serif}h1{letter-spacing:-.05em;font-size:clamp(2rem,5vw,4.1rem);line-height:1.03}h2{letter-spacing:-.02em;font-size:1.3rem}a{color:inherit;text-decoration:none}.boot{text-align:center;min-height:100vh;color:var(--green);place-content:center;gap:1rem;display:grid}.boot svg{width:52px;height:52px;margin:auto}.login-page{background:var(--ink);grid-template-columns:1.2fr .8fr;align-items:center;gap:7vw;min-height:100vh;padding:clamp(2rem,6vw,7rem);display:grid;position:relative;overflow:hidden}.login-page:after{content:"";border:1px solid #cbe5d526;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-280px;left:-180px;box-shadow:0 0 0 90px #cbe5d509,0 0 0 180px #cbe5d506}.login-brand{color:#e7eee8;z-index:1;position:relative}.login-brand>span{letter-spacing:.25em;font-size:.8rem;font-weight:800}.login-brand h1{color:#fff;margin:3rem 0 1.5rem;font-size:clamp(3rem,6vw,6rem)}.login-brand p{color:#aebfb8;max-width:540px;font-size:1.15rem;line-height:1.7}.brand-mark{background:var(--orange);border-radius:19px;place-items:center;width:62px;height:62px;margin-bottom:1.3rem;display:grid}.brand-mark svg{width:32px;height:32px}.login-card{background:var(--paper);z-index:1;border-radius:26px;flex-direction:column;gap:1.15rem;padding:clamp(2rem,4vw,3.4rem);display:flex;position:relative;box-shadow:0 28px 80px #00000040}.login-card h2{margin:0;font-size:2rem}.login-card>p{color:var(--muted)}.security-note{text-align:center;color:var(--muted)}.field{color:var(--ink);flex-direction:column;gap:.45rem;font-size:.88rem;font-weight:600;display:flex}.field input,.field select{min-height:44px;color:var(--ink);background:#fff;border:1px solid #ccd5cf;border-radius:10px;outline:none;padding:.78rem .9rem}.field input:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 3px #174f421a}.field small{color:var(--muted);font-weight:400}.primary,.button{background:var(--green);color:#fff;border:0;border-radius:10px;justify-content:center;align-items:center;gap:.55rem;padding:.78rem 1.05rem;font-weight:700;transition:all .18s;display:inline-flex}.primary:hover{background:#0d3d32;transform:translateY(-1px)}.primary:disabled{opacity:.55;cursor:wait;transform:none}.primary.full{width:100%;margin-top:.5rem}.primary.large{padding:1rem 1.4rem}.secondary{color:var(--green);border:1px solid var(--line);background:#fff}.topbar{background:var(--ink);color:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(1rem,4vw,4rem);display:flex}.logo{letter-spacing:.16em;align-items:center;gap:.7rem;font-family:Manrope;font-size:.78rem;font-weight:800;display:flex}.logo>span{background:var(--orange);border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.logo svg{width:21px}.user-area{align-items:center;gap:1rem;display:flex}.user-area .role{color:#b8cec5;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.icon-button{color:#fff;background:0 0;border:0;padding:.5rem}.icon-button svg{width:19px}.subnav{border-bottom:1px solid var(--line);background:#fff;gap:.3rem;padding:0 clamp(1rem,4vw,4rem);display:flex;overflow:auto}.subnav button{white-space:nowrap;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:.5rem;padding:1rem .9rem .8rem;font-weight:600;display:flex}.subnav button svg{width:17px}.subnav button.active{color:var(--green);border-bottom-color:var(--orange)}.main-content{max-width:1500px;margin:auto}.main-content>.notice,.main-content>.toolbar{margin-left:clamp(1rem,4vw,4rem);margin-right:clamp(1rem,4vw,4rem)}.stack,.two-col{padding:clamp(1.3rem,4vw,4rem)}.stack{flex-direction:column;gap:1.25rem;display:flex}.two-col{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.stack .two-col{padding:0}.align-start{align-items:start}.page-title{max-width:780px;margin-bottom:.7rem}.page-title h1{margin:.6rem 0 1rem}.page-title p,.solver-hero p{color:var(--muted);font-size:1.08rem;line-height:1.65}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--orange);font-size:.72rem;font-weight:800}.panel{background:var(--paper);border:1px solid #d2dad3e6;border-radius:16px;padding:1.3rem;box-shadow:0 5px 18px #233e3609}.panel-head{justify-content:space-between;align-items:start;margin-bottom:1rem;display:flex}.panel-head h2{margin:.35rem 0 0}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-grid button{grid-column:1/-1}.legend{color:var(--muted);flex-wrap:wrap;gap:.6rem 1.4rem;font-size:.8rem;display:flex}.legend span{align-items:center;gap:.45rem;display:flex}.legend i{border-radius:4px;width:12px;height:12px}.level-4{background:#17654f!important}.level-3{background:#70ac86!important}.level-2{background:#c7dabd!important}.level-1{background:#eac35a!important}.level-0{background:#b2b2aa!important}.rule-list,.people-list{flex-direction:column;display:flex}.rule,.requirement,.person{border-bottom:1px solid #e7e9e4;align-items:center;gap:.8rem;padding:.8rem 0;display:grid}.rule{grid-template-columns:140px 45px 1fr}.requirement{grid-template-columns:85px 110px 90px 1fr}.level-pill,.staff-count{background:var(--mint);border-radius:99px;width:max-content;padding:.35rem .55rem;font-size:.72rem;font-weight:700}.empty,.muted{color:var(--muted)}.notice{color:var(--green);background:#e8f0ed;border-radius:10px;align-items:center;gap:.7rem;margin-top:1rem;padding:.85rem 1rem;display:flex}.notice.error{color:#a83b22;background:#fce7e2}.notice.success{color:#17623d;background:#e1f2e7}.toolbar{align-items:end;gap:1rem;margin-top:1.5rem;display:flex}.toolbar .field{min-width:260px}.status{text-transform:uppercase;letter-spacing:.04em;background:#e7e8e2;border-radius:99px;padding:.48rem .7rem;font-size:.73rem;font-weight:800}.status-published{color:#17623d;background:#d9efdf}.status-collection_open{color:#8a5b00;background:#fff0c7}.metric-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.metric{background:var(--ink);color:#fff;border-radius:18px;flex-direction:column;padding:1.4rem;display:flex}.metric span,.metric small{color:#a9bdb6}.metric strong{margin:.5rem 0;font-family:Manrope;font-size:2.7rem}.quality-row{flex-wrap:wrap;align-items:center;gap:1rem 2rem;display:flex}.quality{border-radius:99px;padding:.5rem .75rem;font-weight:700}.quality.green{color:#17623d;background:#d9efdf}.quality.yellow{color:#8a5b00;background:#fff0c7}.person{grid-template-columns:44px 1fr 15px}.person small{color:var(--muted);margin-top:.2rem;display:block}.avatar{background:var(--mint);border-radius:12px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.dot{background:#aaa;border-radius:50%;width:9px;height:9px}.dot.on{background:#36a165}.solver-hero,.editor-actions{background:var(--mint);border-radius:22px;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(1.5rem,4vw,3rem);display:flex}.solver-hero h1,.editor-actions h1{margin:.5rem 0}.solver-hero p{max-width:700px;margin-bottom:0}.priority-list{grid-template-columns:repeat(5,1fr);gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.priority-list li{background:#f3f3ed;border-radius:12px;min-height:100px;padding:1rem;font-size:.84rem}.priority-list b{color:var(--orange);margin-bottom:.8rem;font-size:1.3rem;display:block}.button-row{flex-wrap:wrap;gap:.6rem;display:flex}.schedule-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.assignments{flex-wrap:wrap;gap:.5rem;display:flex}.assignment{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;align-items:center;gap:.6rem;padding:.55rem .7rem;display:flex}.assignment span{color:var(--muted)}.assignment.locked{border-color:var(--orange);background:#fff3ed}.shift{border-bottom:1px solid var(--line);justify-content:space-between;padding:1rem 0;display:flex}.loading{text-align:center;color:var(--muted);padding:3rem}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}footer{text-align:center;color:var(--muted);padding:2rem;font-size:.75rem}@media (width<=850px){.login-page{grid-template-columns:1fr;padding:2rem}.login-brand h1{margin:2rem 0 1rem;font-size:3.2rem}.login-brand p{display:none}.two-col,.metric-grid,.schedule-grid{grid-template-columns:1fr}.priority-list{grid-template-columns:1fr 1fr}.solver-hero,.editor-actions{flex-direction:column;align-items:flex-start}.user-area .role{display:none}}@media (width<=520px){.user-area strong{display:none}.form-grid{grid-template-columns:1fr}.rule,.requirement{grid-template-columns:1fr 1fr}.priority-list{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:flex-start}.toolbar .field{width:100%;min-width:0}.login-card{padding:1.5rem}.login-brand h1{font-size:2.6rem}}@media print{.topbar,.subnav,.toolbar,.button-row,footer{display:none!important}body{background:#fff}.panel{box-shadow:none;break-inside:avoid}.stack{padding:0}}.hours-row input{border:1px solid #ccd5cf;border-radius:8px;min-width:0;padding:.55rem}.grid-slot:nth-child(7),.grid-slot:nth-child(15),.grid-slot:nth-child(23),.grid-slot:nth-child(27){border-left:3px solid var(--orange)}.requirement-controls{border-top:1px solid var(--line);grid-template-columns:auto minmax(260px,.8fr) minmax(340px,1.2fr);align-items:start;gap:1rem;margin-top:1rem;padding-top:1rem;display:grid}.requirement-controls.compact{flex-direction:column;margin-top:.75rem;padding-top:.75rem;display:flex}.requirement-controls fieldset{border:1px solid var(--line);border-radius:10px;min-width:0;margin:0;padding:.7rem}.requirement-controls legend{color:var(--green);padding:0 .35rem;font-size:.72rem;font-weight:800}.requirement-controls fieldset>label,.requirement-check-grid label{align-items:flex-start;gap:.45rem;padding:.27rem 0;font-size:.76rem;display:flex}.requirement-controls input[type=checkbox]{accent-color:var(--green);margin-top:.12rem}.staff-compact{flex-wrap:wrap;align-items:end;gap:.55rem;display:flex}.staff-compact label:not(.urgent-check){color:var(--muted);flex-direction:column;gap:.3rem;font-size:.7rem;display:flex}.staff-compact input[type=number]{border:1px solid var(--line);text-align:center;width:62px;color:var(--ink);background:#fff;border-radius:8px;padding:.55rem .35rem}.urgent-check{border:1px solid var(--line);color:#a64a27;background:#fff8df;border-radius:8px;align-items:center;gap:.3rem;padding:.55rem .45rem;font-size:.75rem;font-weight:800;display:flex}.urgent-check svg{fill:currentColor;width:15px}.requirement-check-grid{columns:2;column-gap:1rem}.requirement-check-grid label{break-inside:avoid}.intrinsic-rules{background:#fff5c9;border-radius:8px;grid-column:1/-1;margin:0;padding:.55rem .7rem;font-size:.72rem}.brush-hint{margin:1rem 0 0}.painter-maintenance{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.qualification-painter-form{gap:.6rem;margin-top:1rem;display:flex}.qualification-painter-form input{border:1px solid var(--line);border-radius:9px;flex:1;min-width:0;padding:.65rem}.week-planner-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:1rem;display:grid}.block-inspector{border-left:1px solid var(--line);min-height:210px;padding-left:1rem;position:sticky;top:1rem}.block-inspector h3{margin:.4rem 0 .2rem}.inspector-note{margin:.8rem 0;font-size:.72rem}.day-label>span{justify-content:space-between;align-items:center;gap:.3rem;min-width:0;display:flex}.day-label>button{color:#a4aca7;background:0 0;border:0;place-items:center;padding:.1rem;display:grid}.day-label>button svg{width:15px}.day-label>button.urgent{color:var(--orange)}.day-label>button.urgent svg{fill:currentColor}.grid-slot{overflow:visible}.grid-slot:has(.grid-block-summary){z-index:3}.grid-block-summary{--block-cells:4;width:calc(var(--slot-width) * var(--block-cells) - 4px);color:#173c33;white-space:nowrap;text-overflow:ellipsis;text-align:left;pointer-events:none;z-index:4;background:#ffffffd1;border-radius:4px;height:15px;padding:0 3px;font-size:9px;font-weight:800;line-height:15px;position:absolute;bottom:3px;left:2px;overflow:hidden}.grid-slot.urgent-slot:before{content:"★";color:#fff4a4;z-index:5;font-size:10px;position:absolute;top:0;left:2px}.grid-slot.selected-slot{box-shadow:inset 0 0 0 3px var(--orange);z-index:6}.week-grid.selection-mode .grid-slot{cursor:cell}.week-grid.selection-mode .grid-slot:hover{box-shadow:inset 0 0 0 3px var(--orange)}@media (width<=1150px){.requirement-controls{grid-template-columns:1fr 1fr}.staff-compact{grid-column:1/-1}.week-planner-layout{grid-template-columns:1fr}.block-inspector{border-left:0;border-top:1px solid var(--line);padding:1rem 0 0;position:static}}@media (width<=700px){.requirement-controls{grid-template-columns:1fr}.staff-compact{grid-column:auto}.requirement-check-grid{columns:1}.painter-maintenance{grid-template-columns:1fr}.qualification-painter-form{flex-direction:column}}.workload-form{grid-template-columns:repeat(2,minmax(0,1fr))}.workload-form .field,.workload-form input:not([type=checkbox]){width:100%;min-width:0}.workload-form>label:not(.field){grid-column:1/-1}.password-reminder{background:#fff6d9;border:1px solid #dfc376;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.notification-release{flex-direction:column;align-items:flex-start;gap:8px;margin:12px 0;display:flex}:root .password-input{align-items:center;width:100%;min-width:0;display:flex;position:relative}:root .password-input input{width:100%;min-width:0;padding-right:48px}:root .password-input button{background:0 0;border:0;min-width:40px;min-height:40px;padding:8px;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.security-person summary{cursor:pointer;line-height:1.6}.session-info-button{flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex;position:relative}.session-info-button.has-warning{color:#ffd6a1}.session-warning-dot{background:#ed8c50;border-radius:50%;width:8px;height:8px;position:absolute;top:5px;right:5px}.session-login-alert{color:#6c3414;background:#fff0df;border:1px solid #d47e3c;border-radius:12px;align-items:center;gap:12px;margin:0 0 14px;padding:14px;display:flex}.session-login-alert>svg{flex-shrink:0}.session-login-alert>span{flex:1}.session-login-alert button{color:#6c3414;background:#fff;border:1px solid #c27840;border-radius:8px;min-height:44px;padding:8px 12px}.session-dialog{box-sizing:border-box;background:var(--paper,#f9faf5);width:min(760px,100vw - 24px);max-height:calc(100dvh - 32px);color:var(--ink,#173b30);border:1px solid #bdcdc3;border-radius:18px;margin:auto;padding:22px;overflow:auto;box-shadow:0 20px 70px #102d2840}.session-dialog::backdrop{background:#102d2866}.session-dialog-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.session-dialog-heading h2{margin:.35rem 0;font-size:1.35rem;line-height:1.25}.session-dialog-heading .icon-button{color:var(--ink);flex-shrink:0;min-width:44px;min-height:44px}.session-dialog p{font-size:.9rem;line-height:1.5}.session-dialog .session-list button{min-height:44px;color:var(--ink);cursor:pointer;background:#eef4ee;border:1px solid #8ba698;border-radius:8px;padding:8px}@media (width<=700px){.session-dialog{padding:16px}.session-dialog .session-list{grid-template-columns:minmax(0,1fr)}.session-login-alert{flex-wrap:wrap}.session-login-alert button{margin-left:34px}.session-login-alert>span{min-width:180px}.user-area>strong{overflow-wrap:anywhere;min-width:0}}.session-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0;display:grid}.session-list article{background:#fff;border:1px solid #c4d6cc;border-radius:10px;flex-direction:column;gap:6px;padding:12px;font-size:13px;display:flex}.security-person{border-bottom:1px solid #c4d6cc;margin:12px 0;padding:10px}.planning-section-profile .planning-head,.planning-section-profile .planning-lower,.planning-section-availability .planning-head,.planning-section-availability .planning-lower{grid-template-columns:1fr}.planning-section-availability .planning-head{min-height:0}.schedule-draft .personal-shift,.schedule-draft .result-block.block-open{color:#0d432e;background-color:#bfe3c9;background-image:repeating-linear-gradient(135deg,#0000 0 12px,#0d432e12 12px 14px)}@media (width<=700px){.user-inline-form .password-input{grid-column:1}}.workload-flint{background:#c37492;position:absolute;top:0;bottom:0}.hour-overflow,.result-block.hour-overflow,.personal-shift.hour-overflow{color:#722c27!important;background:#ffe7e5!important;border-color:#b7463a!important}.hour-overflow .workload-fill{background:#b7463a}.needs-support,.result-block.needs-support{color:#664e06;background:#fff3bd;border-color:#cba434}.block-warning{white-space:normal;font-size:.85rem;line-height:1.45}.mail-preview{background:#f6faf8;border:1px solid #b2c5bd;border-radius:12px;margin:1rem 0;padding:1rem}.mail-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.55}.orga-members{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;display:grid}.field textarea{resize:vertical;width:100%;min-height:100px;font:inherit;border:1px solid #ccd5cf;border-radius:10px;margin-bottom:.75rem;padding:.75rem;line-height:1.5}.mail-preview button{margin:.25rem .35rem .25rem 0}.handbook-link{min-height:44px;color:inherit;white-space:nowrap;border:1px solid;border-radius:9px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.handbook-link:hover{background:#fff2}.handbook-link:focus-visible{outline-offset:3px;outline:3px solid #efbd7c}@media (width<=700px){.user-area:has(.handbook-link){flex-wrap:wrap}}.handbook-links{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.mobile-admin-navigation,.mobile-only{display:none}.mobile-slot-editor{min-width:0}.mobile-grid-controls{background:var(--paper,#fff);padding:8px 0}.mobile-day-picker{grid-template-columns:44px minmax(0,1fr) 44px;gap:5px;display:grid}.mobile-day-picker select{width:100%;min-width:0}.mobile-day-picker button{justify-content:center;padding:8px}.mobile-grid-controls button,.mobile-slot-editor>button{color:#173b30;background:#f3f6f0;border:1px solid #c1cec5;border-radius:9px}.mobile-range-toolbar{align-items:center;gap:6px;margin-top:8px;display:flex}.mobile-range-toolbar strong{overflow-wrap:anywhere;flex:1;font-size:13px}.mobile-range-toolbar button{padding:6px 10px;font-size:13px}.mobile-range-toolbar button[aria-pressed=true]{background:#d5eadf;border-color:#126a56}.mobile-grid-hint,.mobile-day-note{color:#53675e;margin:10px 0;font-size:12px;line-height:1.5}.mobile-day-note{background:#edf0e9;border-radius:8px;padding:10px}.mobile-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.mobile-slot-grid .mobile-slot{color:#173b30;background:color-mix(in srgb,var(--cell-color) 45%,white);border:1px solid #c1cec5;border-top:5px solid var(--cell-color);text-align:center;border-radius:9px;flex-direction:column;justify-content:flex-start;gap:3px;min-height:56px;padding:6px 3px;display:flex}.mobile-slot b{font-variant-numeric:tabular-nums;font-size:15px}.mobile-slot small{overflow-wrap:anywhere;width:100%;font-size:10px;line-height:1.25}.mobile-slot-grid .mobile-slot:disabled{opacity:.6;color:#45564d;background:#e7e9e5}.mobile-slot-grid .range-anchor,.mobile-slot-grid .slot-selected{box-shadow:inset 0 0 0 3px #176d55}.mobile-qualifications{flex-direction:column;gap:8px;display:flex}.mobile-qualifications>label:not(.field){background:#f2f5ef;border-radius:8px;align-items:center;gap:12px;min-height:48px;padding:8px;display:flex}.mobile-qualifications small{margin-left:auto;font-size:10px}@media (width<=700px){.mobile-only{display:block}.mobile-only.primary{justify-content:center;width:100%;margin-top:14px;display:flex}html{scroll-padding-top:80px}body{font-size:15px}h1{overflow-wrap:anywhere;font-size:1.75rem;line-height:1.15}h2{overflow-wrap:anywhere;font-size:1.15rem}input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;min-height:46px;font-size:16px}input[type=checkbox],input[type=radio]{flex-shrink:0;width:21px;height:21px}button,summary{min-height:44px}button{touch-action:manipulation}.main-content{padding:12px}.stack{gap:14px;padding:14px 0}.panel,.schedule-result{border-radius:14px;min-width:0;padding:14px 12px}.panel-head,.result-heading{flex-direction:column;align-items:stretch;gap:12px}.panel-head>div,.result-heading>div{min-width:0}.panel-head>button{justify-content:center;align-self:stretch}.page-title p{font-size:14px;line-height:1.5}.topbar{flex-wrap:wrap;gap:10px;height:auto;min-height:52px;padding:10px 12px}.logo img{width:195px;max-width:100%}.user-area{justify-content:flex-end;gap:8px;width:100%}.user-area .role{margin-right:auto;font-size:10px;display:flex}.user-area>strong{color:#fff;display:inline}.android-app .topbar .logo{display:none}.android-app .topbar{padding-top:0;padding-bottom:6px}.android-app .result-actions button:has(.lucide-printer){display:none}.mobile-admin-navigation{margin-bottom:12px;display:flex}.admin-nav{display:none}.subnav{gap:3px;max-width:100%;margin:0 0 12px}.subnav[aria-label=Mitarbeiterbereich]{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:visible}.subnav[aria-label=Mitarbeiterbereich] button{white-space:normal;text-align:center;flex-direction:column;align-items:center;gap:5px;min-height:64px;padding:10px 4px;font-size:11px;display:flex}.subnav svg{flex-shrink:0;width:19px;height:19px}.toolbar{flex-wrap:wrap;align-items:stretch;gap:12px}.toolbar>.field,.toolbar .field{width:100%;min-width:0}.toolbar>.button-row{width:100%}.field,.field input,.field select{width:100%;min-width:0}.button-row{flex-wrap:wrap;gap:6px}.button-row button{white-space:normal}.planning-head,.planning-lower{flex-direction:column;align-items:stretch;gap:14px;display:flex}.planning-side{gap:14px}.weekday-picks{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.weekday-picks label{min-height:46px;padding:10px 6px}.time-level-row,.rule-validity-row,.workload-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.level-picks{grid-column:1/-1;grid-template-columns:1fr;gap:6px}.level-picks label{justify-content:flex-start;min-height:46px}.weekly-rule>.primary{justify-content:center;width:100%}.compact-rules{flex-direction:column}.availability-chip{border-radius:10px;width:100%;padding:8px}.availability-chip button{min-width:44px}.sticky-availability-tools{flex-wrap:nowrap;gap:5px;padding:8px 0;top:0}.sticky-availability-tools button{flex:1;min-height:48px;padding:8px 4px;font-size:11px}.sticky-availability-tools button i,.sticky-availability-tools .clear-tool{display:none}.team-matrix-head,.team-matrix-row{grid-template-columns:minmax(70px,1fr) repeat(3,54px)}.team-matrix-row label{min-width:44px;min-height:48px}.team-matrix-row label span{place-items:center;width:38px;height:38px;display:grid}.team-matrix-head>span{min-width:0}.team-matrix-head small{overflow-wrap:anywhere;font-size:8px;line-height:1.35}.team-matrix-row strong{overflow-wrap:anywhere;font-size:13px}.category-preferences label{flex-direction:column;align-items:stretch;gap:8px;display:flex}.category-preferences select{width:100%}.people-columns{grid-template-columns:1fr}.person-button{width:100%}.user-inline-form{grid-template-columns:minmax(0,1fr) 48px;display:grid}.user-inline-form input{grid-column:1/-1;width:100%}.user-inline-form input[type=password]{grid-column:1}.qualification-add,.qualification-painter-form{gap:6px;width:100%;display:flex}.qualification-add input,.qualification-painter-form input{width:100%;min-width:0}.qualification-add button{min-width:44px}.week-planner-layout{flex-direction:column;gap:16px;display:flex}.requirement-controls{flex-direction:column;gap:10px;display:flex}.requirement-controls fieldset{min-width:0}.requirement-controls fieldset label{align-items:center;min-height:44px;padding:8px 0}.staff-compact{flex-wrap:wrap;gap:12px}.staff-compact input[type=number]{width:76px}.category-palette{flex-wrap:wrap;gap:8px;display:flex}.category-palette>div{min-width:0}.category-choice-wrap{width:100%}.category-choice{width:100%;min-height:94px;padding-right:48px}.category-edit,.category-delete{min-width:40px;min-height:40px}.category-form{grid-template-columns:repeat(2,minmax(0,1fr))}.painter-maintenance{flex-direction:column}.workload-controls{flex-direction:column;gap:8px;display:flex}.workload-row{flex-direction:column;align-items:stretch;gap:8px;padding:12px 0;display:flex}.workload-track{width:100%;min-width:0}.workload-values{font-size:12px}.shift-matrix-scroll{overflow:visible}.shift-matrix,.shift-matrix tbody,.shift-matrix tr,.shift-matrix th,.shift-matrix td{width:100%;min-width:0;display:block}.shift-matrix thead{display:none}.shift-matrix tr{border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:12px}.shift-matrix th{background:0 0;padding:0 0 8px;font-size:16px}.shift-matrix td{white-space:normal;border:0;padding:8px 0}.shift-matrix td:before{content:attr(data-label);color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.shift-selects{flex-direction:column;min-width:0;display:flex}.shift-selects select{width:100%;min-width:0;max-width:100%}.flint-form{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.flint-form>.field:first-child,.flint-form>.field:nth-child(n+4),.flint-form>button{grid-column:1/-1;min-width:0}.flint-form label{min-width:0}.flint-actions{flex-wrap:wrap}.login-page{align-content:start;gap:20px;min-height:100%;padding:18px 14px}.login-brand h1{margin:16px 0 0;font-size:26px}.login-card{width:100%;max-width:100%;padding:22px 18px}.login-logo{max-width:100%}footer{padding:16px 12px;font-size:10px}}
