.availability-scroll{overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.availability-table{min-width:1000px;table-layout:fixed}.availability-table th:first-child{width:215px;text-align:left}.availability-table th{position:sticky;top:0;background:var(--soft);font-size:12px;padding:16px 10px}.availability-table td{vertical-align:top;border-left:1px solid var(--border);padding:7px;height:78px}.availability-table th small{display:block;font-size:10px;margin-top:6px;font-weight:400}.availability-table .absence{display:block;width:100%;text-align:left;font-size:11px;margin:3px 0;padding:9px}.absence small{display:block;font-size:9px;color:inherit;margin-top:5px}.VACATION{background:#374b3e!important;color:#c3ddca!important}.SICK{background:#514046!important;color:#ead0d8!important}.OFF{background:#3b4352!important;color:#d0d9ea!important}.OTHER{background:#4a4538!important;color:#e3d9bf!important}.available-add{width:100%;font-size:10px;background:transparent;color:var(--muted);padding:7px 2px;border-color:transparent}.availability-legend{display:flex;gap:9px;margin:18px 0;font-size:11px}.availability-legend span{padding:8px 12px;border-radius:5px;background:var(--panel)}.absence-dialog{max-height:95vh;overflow:auto}.absence-dialog textarea{background:var(--soft);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:10px;font:inherit;min-height:70px}.p5-absent{color:#e2b6be;display:block;font-size:9px;margin-top:4px}.p5-reassign{font-size:10px;color:#e0c799}.p5warnings{max-height:150px;overflow:auto}.p5availability{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:11px;margin:12px 0}.p5availability select{padding:7px}.p2employee:has(.p5-absent){border-left:3px solid #b7828d}.p2layout{display:grid;grid-template-columns:minmax(650px,1fr) 250px;gap:16px;align-items:start}.p2scroll{overflow:auto;border:1px solid var(--border);border-radius:9px;background:var(--panel)}.p2grid{min-width:980px;display:grid;grid-template-columns:180px 1fr}.p2head{padding:22px 12px;background:var(--soft);font-size:12px;font-weight:600}.p2timeline{background:var(--soft)}.p2shifts{display:grid;grid-template-columns:repeat(3,1fr);height:38px;text-align:center;font-size:12px;font-weight:600}.p2shifts span{padding:12px;background:var(--green)}.p2shifts span:nth-child(2){background:var(--orange)}.p2shifts span:nth-child(3){background:var(--blue)}.p2hours{display:grid;grid-template-columns:repeat(24,1fr);height:30px;text-align:center;align-items:center;font-size:10px}.p2department,.p2station{display:contents}.p2deptlabel{display:flex;background:var(--soft);border-bottom:1px solid var(--border)}.p2deptlabel button{font-size:12px;background:transparent;border:0;padding:10px 8px;border-radius:0;text-align:left}.p2deptlabel button:first-child{flex:1;justify-content:start}.p2deptspace{background:var(--soft);border-bottom:1px solid var(--border)}.p2stationlabel{padding:16px 15px;font-size:11px;color:var(--muted);border-bottom:1px solid var(--border)}.p2track{position:relative;display:grid;grid-template-columns:repeat(24,1fr);height:56px;background:linear-gradient(90deg,var(--green) 33.333%,var(--orange) 33.333%,var(--orange) 66.666%,var(--blue) 66.666%)}.p2cell{background:transparent;border:0;border-right:1px solid #89898925;border-bottom:1px solid var(--border);border-radius:0;padding:0}.p2cell:hover{background:#aaaaaa30}.p2block{position:absolute;top:5px;height:45px;border-radius:5px;display:flex;flex-direction:column;gap:3px;align-items:start;justify-content:center;overflow:hidden;padding:4px 8px;font-size:11px;background:#b8d9c1;color:#203d29;border:1px solid #7ca588}.p2block small{color:inherit;font-size:9px;white-space:nowrap}.p2block.shift-1{background:#dfc59f;color:#46331e;border-color:#b79a72}.p2block.shift-2{background:#b4c6e2;color:#23384f;border-color:#7b98bd}.p2employee{width:100%;text-align:left;justify-content:start;border:0;border-radius:0;background:var(--panel);padding:12px;font-size:12px}.p2 .employee-header input{width:100%;margin:12px 0}.p2 .employee-header>button{width:100%;font-size:12px;margin-bottom:15px}.record{display:flex;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid var(--border);font-size:13px}.record span{color:var(--muted);flex:1}.modal-backdrop{position:fixed;inset:0;background:#0009;z-index:100;display:grid;place-items:center;padding:20px}.p2dialog{background:var(--panel);border:1px solid var(--border);padding:28px;border-radius:12px;width:500px;max-height:95vh;overflow:auto;box-shadow:0 20px 80px #0004}.p2dialog p{font-size:12px}.p2times{display:grid;grid-template-columns:1fr 1fr;gap:15px}.p2actions{display:flex;justify-content:space-between;margin-top:18px}.p2 .workspace-notice{line-height:1.6}.p2dialog select{width:100%}.p2cell{border-right-color:#91949b44;position:relative}.p3plus{display:none;font-size:18px;color:var(--text)}.p2cell:hover .p3plus,.p2cell:focus-visible .p3plus{display:inline}.p3assignment{position:absolute;top:5px;height:45px;background:#b8d9c1;color:#203d29;border:1px solid #7ca588;border-radius:5px;display:flex;z-index:2}.p3assignment.shift-1{background:#dfc59f;color:#46331e;border-color:#b79a72}.p3assignment.shift-2{background:#b4c6e2;color:#23384f;border-color:#7b98bd}.p3move{background:transparent!important;color:inherit;border:0;border-radius:4px;display:flex;flex-direction:column;align-items:start;justify-content:center;width:100%;gap:3px;overflow:hidden;padding:4px 12px;cursor:grab;font-size:12px}.p3move small{color:inherit;font-size:10px;white-space:nowrap}.p3handle{position:absolute;top:0;bottom:0;width:9px;cursor:ew-resize;touch-action:none;border-radius:4px;background:#00000012}.p3handle.start{left:0}.p3handle.end{right:0}.p3handle:hover,.p3handle:focus-visible{background:#0004;outline:2px solid var(--purple)}.p2employee[draggable=true]{cursor:grab}.p3target{outline:2px solid var(--purple);outline-offset:-2px}.p2department:has(.p3target)>.p2deptlabel{box-shadow:inset 3px 0 var(--purple)}.p3preview{position:absolute;top:0;min-height:56px;background:#675587e8;color:#fff;border:2px dashed #c5b0e7;border-radius:5px;z-index:4;pointer-events:none;display:flex;flex-direction:column;padding:4px 8px;font-size:11px;gap:3px;box-shadow:0 3px 14px #0004}.p3preview.invalid{background:#67454aed;border-color:#d5989e}.p3quick{width:490px;border:1px solid var(--border);border-radius:12px;padding:24px;background:var(--panel);color:var(--text)}.p3quick::backdrop{background:#0008}.p3quick>input{width:100%;margin-bottom:12px}.p3quick p{font-size:12px}.p3choices{max-height:600px;overflow:auto;margin-bottom:14px}.p3choices button{height:40px;width:100%;border:0;display:flex;justify-content:space-between;border-radius:4px;text-align:left;font-size:13px}.p3choices button[aria-selected=true]{background:var(--purple-soft);outline:1px solid var(--purple);outline-offset:-1px}.p3choices small{font-size:11px}.p3menu{position:fixed;z-index:110;background:var(--panel);border:1px solid var(--border);padding:7px;border-radius:9px;min-width:250px;box-shadow:0 8px 30px #0005}.p3menu strong{font-size:11px;display:block;padding:9px;color:var(--muted)}.p3menu button{display:flex;justify-content:start;width:100%;border:0;font-size:12px}.p2layout>.employee-panel{max-height:calc(100vh - 260px);overflow:auto;position:sticky;top:16px}.p4toolbar,.p4row,.p4apply,.p4filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:16px 0}.p4toolbar{justify-content:space-between}.p4toolbar label,.p4tools label,.p4filters label{font-size:12px;display:inline-flex;align-items:center;gap:9px}.p4tools input[type=date]{margin-left:10px}.p4tools h2{margin:22px 0 12px}.p4tools p{font-size:12px}.p4tabs{display:flex;gap:8px}.p4tabs button[aria-pressed=true]{background:var(--purple);color:#fff}.p4sources{max-height:240px;overflow:auto}.p4sources .record{gap:12px}.p4sources .record label{flex:1}.p4sources button{font-size:11px}.p4preview{margin:18px 0 0;border:1px solid var(--border);border-radius:8px;padding:18px}.p4preview h3{font-size:15px}.p4table{max-height:260px;overflow:auto}.p4apply fieldset{width:100%;border:1px solid var(--border);border-radius:6px;display:flex;gap:14px;flex-wrap:wrap;padding:14px}.p4apply legend{font-size:12px}.p4count{margin-left:auto;color:var(--muted);font-size:11px}.p4compact .p2track{height:28px}.p4compact .p2stationlabel{padding:7px 12px;font-size:11px}.p4compact .p3assignment{height:24px;top:2px}.p4compact .p3move{flex-direction:row;gap:8px;padding:2px 10px;align-items:center;justify-content:start;font-size:11px}.p4compact .p3move small{font-size:9px}.p4compact .p3preview{min-height:28px;font-size:10px;padding:2px 7px;flex-direction:row;align-items:center}.p4compact .p2deptlabel button{padding:6px 8px}.p4compact .p3plus{font-size:14px}:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#25232e;background:#f3f3f6;font-synthesis:none;--bg: #f3f3f6;--panel: #fff;--soft: #f7f7fa;--border: #e3e3eb;--text: #25232e;--muted: #85818f;--purple: #7753bd;--purple-soft: #efe9fa;--green: #e2f2e6;--orange: #faeddb;--blue: #e5ecfa;--shadow: 0 2px 7px #24203408}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);padding:9px 13px;transition:background .15s}button:hover{background:var(--purple-soft)}button:disabled{opacity:.55;cursor:wait}input,select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:11px 12px;min-width:0}input:focus,select:focus,button:focus-visible{outline:2px solid var(--purple);outline-offset:2px}h1,h2,p{margin-top:0}h1{font-size:27px;letter-spacing:-.8px;margin-bottom:9px}h2{font-size:18px}p{color:var(--muted);line-height:1.6}small{color:var(--muted)}.primary{background:var(--purple);color:#fff;border-color:var(--purple);font-weight:600}.primary:hover{background:#6642a9}.purple{color:var(--purple)}.logo{display:flex;align-items:center;gap:11px;font-weight:800;font-size:25px;letter-spacing:-.8px}.logo>span{background:linear-gradient(135deg,#9b7bda,#6842ad);color:#fff;border-radius:10px;padding:8px;display:flex;box-shadow:0 3px 6px #7653bd22}.logo small{display:block;font-size:11px;font-weight:400;letter-spacing:.1px;margin-top:1px;color:var(--text)}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted);font-weight:700;margin-bottom:10px}.icon{padding:9px;min-width:36px}.center{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;padding:100px 10%;gap:60px;background:radial-gradient(ellipse at 12% 40%,var(--purple-soft),transparent 65%),var(--bg)}.login-page>header{position:absolute;top:32px;left:5%;right:5%;display:flex;justify-content:space-between}.login-intro h1{font-size:clamp(36px,3.7vw,58px);line-height:1.13;letter-spacing:-2.5px;margin:22px 0}.login-intro em{font-style:normal;color:var(--purple)}.login-intro p{font-size:16px}.mini-shifts{display:flex;gap:6px;margin:35px 0 50px;font-size:11px;font-weight:600}.mini-shifts span{padding:12px;border-radius:6px;background:var(--green)}.mini-shifts span:nth-child(2){background:var(--orange)}.mini-shifts span:nth-child(3){background:var(--blue)}.login-intro>small{font-size:10px;letter-spacing:2px}.login-card{max-width:430px;width:100%;padding:36px;background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 60px #21143908}.login-card h2{margin:20px 0 8px;font-size:26px;letter-spacing:-.7px}.login-card>p{font-size:13px;margin-bottom:27px}.form{display:flex;flex-direction:column;gap:18px}.form label,.inline-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}.form .primary{padding:13px;margin-top:6px;justify-content:space-between}.login-note{border-top:1px solid var(--border);padding-top:22px;margin-top:28px;font-size:11px;color:var(--muted);line-height:1.8}.login-note svg{vertical-align:middle;margin-right:5px}.login-page>footer{position:absolute;bottom:25px;font-size:11px;color:var(--muted);left:5%}.error,.notice{padding:13px 16px;border-radius:8px;line-height:1.6;font-size:13px;margin:10px 0}.error{background:#fce8e8;color:#a52c3c}.notice{background:var(--purple-soft);color:var(--text)}.notice code{display:block;padding:15px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-size:17px}.app{display:flex;min-width:1100px;min-height:100vh}.navigation{width:207px;flex-shrink:0;background:var(--panel);border-right:1px solid var(--border);padding:25px 13px;display:flex;flex-direction:column;position:fixed;top:0;bottom:0}.navigation .logo{padding:0 8px 27px}.nav-label{font-size:9px;font-weight:700;letter-spacing:1.5px;color:var(--muted);margin:16px 13px 12px}nav{display:flex;flex-direction:column;gap:5px}nav button{justify-content:flex-start;font-size:12px;border-color:transparent;padding:13px 12px;gap:13px}nav button.selected{background:var(--purple);color:#fff;box-shadow:0 4px 10px #7753bd25}.nav-dot{margin-left:auto;width:5px;height:5px;border-radius:50%;background:#d5c4f5}.nav-bottom{margin-top:auto;padding:18px 8px 0;font-size:10px;color:var(--muted)}.nav-bottom small{display:block;margin-top:8px;font-size:9px}.status-dot{display:inline-block;background:#5dbb83;width:6px;height:6px;border-radius:50%;margin-right:5px}.app main{margin-left:207px;width:calc(100% - 207px)}.topbar{height:78px;padding:0 25px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.breadcrumb{display:flex;gap:13px;align-items:center;font-size:11px;color:var(--muted)}.breadcrumb strong{color:var(--text);font-weight:500}.top-actions{display:flex;gap:17px;align-items:center}.timezone{font-size:10px;color:var(--muted)}.account{position:relative}.account>button{border:0;padding:0;gap:10px;text-align:left;background:transparent;font-size:12px}.account small{display:block;font-size:10px;margin-top:3px}.avatar{width:33px;height:33px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e1d6f5;color:#5b3e96;font-size:11px;font-weight:600;flex-shrink:0}.account-menu{position:absolute;z-index:10;right:0;top:48px;min-width:200px;background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:6px;box-shadow:var(--shadow)}.account-menu button{width:100%;justify-content:flex-start;border:0;font-size:12px}.workspace{padding:26px 24px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.page-heading .eyebrow{font-size:9px;margin-bottom:7px}.page-heading h1{display:flex;align-items:center;gap:12px}.badge{display:inline-block;padding:4px 9px;border:1px solid var(--border);background:var(--soft);color:var(--muted);font-size:10px;font-weight:500;letter-spacing:0;border-radius:5px;vertical-align:middle}.date-controls{display:flex;gap:6px;align-items:center;font-size:11px}.date-controls>button{padding:10px}.date-input{position:relative;display:flex;gap:8px;align-items:center;border:1px solid var(--border);padding:11px;background:var(--panel);border-radius:7px;text-transform:capitalize}.date-input input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.workspace-notice{display:flex;gap:10px;align-items:center;padding:13px 15px;border:1px solid var(--border);border-radius:8px;background:var(--panel);font-size:11px;color:var(--muted);margin-bottom:19px}.workspace-notice svg{color:var(--purple)}.draft{margin-left:auto;letter-spacing:1px;font-size:9px;white-space:nowrap}.schedule-layout{display:grid;grid-template-columns:minmax(650px,1fr) 250px;gap:16px;align-items:start}.schedule{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}.schedule-grid{display:grid;grid-template-columns:185px minmax(465px,1fr)}.schedule-grid.compact{grid-template-columns:42px minmax(465px,1fr)}.department-head{height:83px;display:flex;align-items:center;gap:7px;background:var(--soft);padding:8px;font-size:11px;border-bottom:1px solid var(--border)}.department-head .icon{padding:5px;background:transparent;border:0;min-width:25px}.timeline-head{height:83px;border-bottom:1px solid var(--border)}.shift-labels{display:grid;grid-template-columns:repeat(3,1fr);height:49px;font-size:12px;font-weight:650;text-align:center}.shift-labels span{display:flex;align-items:center;justify-content:center;background:var(--green);color:#447c54}.shift-labels span:nth-child(2){background:var(--orange);color:#9f7432}.shift-labels span:nth-child(3){background:var(--blue);color:#5f78ad}.hours{height:34px;display:flex;justify-content:space-between;align-items:center;padding:0 3px;font-size:9px;font-weight:600;background:linear-gradient(90deg,var(--green) 33.333%,var(--orange) 33.333%,var(--orange) 66.666%,var(--blue) 66.666%)}.department-row,.timeline-row{height:34px;border-bottom:1px solid var(--border)}.department-row{background:var(--soft);border-right:1px solid var(--border);font-size:10px;display:flex;align-items:center;overflow:hidden}.department-row>span{padding-left:29px;color:var(--muted)}.department-title{background:var(--panel)}.department-title button{border:0;border-radius:0;padding:8px;justify-content:flex-start;white-space:nowrap;font-weight:600;font-size:11px;width:100%;background:transparent;gap:6px}.rotated{transform:rotate(90deg)}.timeline-row{position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / 24 - 1px),#96959e20 calc(100% / 24 - 1px),#96959e20 calc(100% / 24)),linear-gradient(90deg,var(--green) 33.333%,var(--orange) 33.333%,var(--orange) 66.666%,var(--blue) 66.666%)}.group-row{filter:brightness(.98)}.sample-assignment{height:25px;top:4px;position:absolute;border:1px solid #97caa1;border-radius:5px;background:#d2edda;box-shadow:0 1px 2px #0000000a;display:flex;align-items:center;font-size:9px;font-weight:650;gap:5px;padding:2px 4px;color:#2c4933;white-space:nowrap;overflow:hidden}.shift-1{background:#f8e1bf;border-color:#ddbf90;color:#634b28}.shift-2{background:#cdddf7;border-color:#a5bfe7;color:#384d71}.initials{font-size:8px;background:#ffffff70;border-radius:3px;padding:3px}.sample-mark{margin-left:auto}.schedule-footer{min-height:52px;display:flex;gap:13px;align-items:center;padding:10px 12px;flex-wrap:wrap;font-size:9px}.schedule-footer>span{display:flex;align-items:center;gap:5px}.schedule-footer small{margin-left:auto;font-size:8px}.legend{width:15px;height:10px;border:1px solid #96959e30;display:inline-block;border-radius:3px}.green{background:var(--green)}.orange{background:var(--orange)}.blue{background:var(--blue)}.employee-panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:13px;box-shadow:var(--shadow)}.employee-header h2{font-size:13px;margin:3px 0 4px;display:flex;justify-content:space-between}.employee-header h2 span{color:var(--muted);font-weight:400}.employee-header small{font-size:9px}.search{margin:15px 0;display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:6px;padding:0 9px;color:var(--muted)}.search input{padding:10px 0;background:transparent;border:0;width:100%;font-size:10px}.employee-group{background:var(--soft);border:1px solid var(--border);border-radius:7px;margin-bottom:10px;overflow:hidden}.employee-group:last-child{margin-bottom:0}.employee-group summary{cursor:pointer;display:flex;align-items:center;gap:6px;padding:10px 9px;font-size:11px;font-weight:600;list-style:none;border-bottom:1px solid var(--border)}.employee-group summary>svg:first-child{color:var(--purple)}.employee-group summary>span{margin-left:auto;font-size:9px;color:var(--muted);font-weight:400}.employee-group summary>svg:last-child{color:var(--muted)}.employee{display:flex;align-items:center;gap:7px;padding:9px 8px;border-bottom:1px solid var(--border);font-size:10px;background:var(--panel)}.employee:last-child{border:0}.employee .avatar{width:27px;height:27px;font-size:9px}.employee small{display:block;font-size:8px;margin-top:4px}.employee .status-dot{margin-left:auto;flex-shrink:0;width:5px;height:5px}.color-1{background:#d9def7;color:#555f9c}.color-2{background:#f5e3d2;color:#a9794a}.color-3{background:#dfebe3;color:#61836c}.no-results{font-size:12px}.placeholder{text-align:center;padding:100px 30px}.placeholder .eyebrow{margin-bottom:15px}.placeholder h1{margin-bottom:40px}.placeholder h2{font-size:20px;margin-top:22px}.empty-icon{display:inline-flex;padding:23px;border:1px solid var(--border);background:var(--panel);border-radius:18px;color:var(--purple)}.password-page{max-width:500px;margin:60px auto;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:30px}.content-page{padding:32px}.content-page>p{font-size:13px}.card{padding:24px;border:1px solid var(--border);border-radius:10px;background:var(--panel);margin:22px 0;overflow:auto}.card h2{font-size:15px}.inline-form{display:flex;align-items:end;gap:20px;flex-wrap:wrap}.inline-form h2{width:100%;margin-bottom:0}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:var(--muted);font-size:10px;font-weight:500}td,th{padding:14px 8px;border-bottom:1px solid var(--border)}td button{font-size:10px;padding:7px;margin-right:6px}[data-theme=dark]{color-scheme:dark;--bg: #191b1f;--panel: #23262c;--soft: #282b32;--border: #363941;--text: #edeef2;--muted: #9b9da8;--purple: #9170d3;--purple-soft: #332a46;--green: #293e33;--orange: #423a2b;--blue: #303b50;--shadow: 0 2px 7px #0002;color:var(--text);background:var(--bg)}[data-theme=dark] .shift-labels span{color:#a3d4ae}[data-theme=dark] .shift-labels span:nth-child(2){color:#e0c28e}[data-theme=dark] .shift-labels span:nth-child(3){color:#b6c8ea}[data-theme=dark] .error{background:#452c32;color:#f4b8c4}@media(min-width:1700px){.schedule-grid{grid-template-columns:215px 1fr}.schedule-layout{grid-template-columns:1fr 290px}.department-row,.timeline-row{height:39px}.employee{padding:12px 9px}.workspace{padding:30px}.schedule-footer{font-size:10px}}@media(max-width:1100px){.login-page{padding:110px 6%;gap:30px}.app{min-width:1050px}.schedule-layout{grid-template-columns:minmax(600px,1fr) 215px}.navigation{width:180px}.app main{margin-left:180px;width:calc(100% - 180px)}.workspace{padding:20px 15px}.topbar{padding:0 15px}.date-input span{max-width:180px;overflow:hidden;white-space:nowrap}.schedule-grid{grid-template-columns:150px minmax(450px,1fr)}.timezone{display:none}}@media(max-width:700px){.login-page{display:flex;justify-content:center;padding:120px 20px 70px}.login-intro{display:none}.login-card{padding:28px}.login-page>footer{font-size:9px}}nav button{font-size:13px}.department-row,.department-title button,.employee{font-size:12px}.employee small{font-size:9px}.employee-group summary{font-size:12px}.sample-assignment{font-size:11px}.hours{font-size:10px}.mobile-menu,.mobile-page-title,.mobile-view-switch,.mobile-schedule{display:none}.mobile-drawer{border:1px solid var(--border);color:var(--text);background:var(--panel)}.mobile-drawer::backdrop{background:#000a}@media(max-width:800px){html{-webkit-text-size-adjust:100%}body{overflow-wrap:anywhere}.app{min-width:0;width:100%;min-height:100dvh}.app>.navigation{display:none}.app main{margin-left:0;width:100%;min-width:0}.app .topbar{height:auto;min-height:64px;padding:calc(8px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));gap:8px;position:sticky;top:0;z-index:10}.mobile-menu{display:inline-flex;padding:10px;flex:0 0 auto}.mobile-page-title{display:block;font-size:14px;flex:1;min-width:0}.breadcrumb,.timezone{display:none}.top-actions{gap:6px}.account>button{min-width:44px;padding:4px}.account>button>span:not(.avatar),.account>button>svg{display:none}.account-menu{right:0;width:min(270px,calc(100vw - 24px))}.mobile-drawer{margin:0;max-width:none;width:min(360px,100%);height:var(--visible-height, 100dvh);max-height:var(--visible-height, 100dvh);top:var(--visible-top, 0px);border-radius:0 18px 18px 0;padding:max(16px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));overflow-y:auto}.drawer-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.mobile-drawer nav button{width:100%;min-height:48px;justify-content:flex-start;padding:12px}.mobile-drawer .selected{background:var(--purple-soft);color:var(--purple)}.app .workspace,.app .content-page,.app .placeholder,.app .password-page{padding:20px max(14px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));min-width:0}h1{font-size:24px;letter-spacing:-.5px}h2{font-size:18px}.eyebrow{font-size:10px;letter-spacing:1px}button,input,select,textarea,summary{touch-action:manipulation}button,summary{min-height:44px}input,select,textarea{font-size:16px;max-width:100%}input[type=checkbox],input[type=radio]{min-width:22px;min-height:22px;flex:0 0 auto}input[type=date],input[type=time]{min-height:44px;width:100%}label,.form,fieldset{min-width:0}.page-heading{display:block}.date-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;width:100%;margin:16px 0}.date-controls input{width:100%}.date-controls button{padding:8px;font-size:13px}.mobile-view-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.mobile-view-switch button{font-size:13px}.mobile-view-switch [aria-pressed=true]{background:var(--purple);color:#fff;border-color:var(--purple)}.mobile-cards .mobile-schedule{display:block}.mobile-cards .p2layout,.mobile-cards .desktop-schedule-hint{display:none}.mobile-full-grid .p2layout{display:block;min-width:0}.p2scroll{max-width:100%;overscroll-behavior-x:contain}.p2layout>.employee-panel{position:static;max-height:none;margin-top:16px}.p4toolbar{gap:10px;margin:12px 0}.p4toolbar>button{width:100%;font-size:13px}.mobile-cards .p4toolbar>label{display:none}.mobile-shifts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:18px 0}.mobile-shifts button{font-size:12px;padding:8px 3px;background:var(--soft)}.mobile-shifts [aria-selected=true]{border-color:var(--purple);box-shadow:inset 0 -3px var(--purple);color:var(--text);background:var(--purple-soft)}.mobile-department{display:grid;gap:8px;font-size:13px}.mobile-hint{font-size:12px;line-height:1.5;margin:12px 0 18px}.mobile-dept{border:1px solid var(--border);background:var(--panel);border-radius:12px;margin-bottom:12px;overflow:hidden}.mobile-dept summary{padding:14px 12px;background:var(--soft);font-size:15px;font-weight:650;cursor:pointer}.mobile-dept summary small{display:block;font-size:12px;font-weight:400;padding:5px 0 0 18px}.mobile-configure{margin:8px 12px;font-size:12px;max-width:calc(100% - 24px)}.mobile-station{border-top:1px solid var(--border);padding:12px;min-width:0}.mobile-station h3{font-size:13px;margin:0 0 12px}.mobile-hours{display:grid;grid-template-columns:repeat(8,minmax(48px,1fr));overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:8px}.mobile-hours button{position:relative;border-radius:0;padding:6px 2px 10px;flex-direction:column;gap:4px;font-size:11px;background:var(--green)}.shift-1 .mobile-hours button{background:var(--orange)}.shift-2 .mobile-hours button{background:var(--blue)}.mobile-hours i{position:absolute;width:20px;height:3px;background:var(--purple);bottom:4px;border-radius:2px}.mobile-assignment{width:100%;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;margin-top:8px;padding:12px;border-left:3px solid #719c7e;background:var(--green);font-size:13px}.shift-1 .mobile-assignment{background:var(--orange);border-left-color:#b59569}.shift-2 .mobile-assignment{background:var(--blue);border-left-color:#819dc0}.mobile-assignment small{color:var(--text);opacity:.8;font-size:12px}.mobile-conflict{color:var(--text);font-weight:600}.mobile-empty{font-size:12px;margin:8px 0 0}.modal-backdrop{top:var(--visible-top, 0px);bottom:auto;height:var(--visible-height, 100dvh);padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.p2dialog,dialog.p3quick{width:100%;max-width:500px;padding:20px 16px;max-height:calc(var(--visible-height, 100dvh) - 24px);overflow-y:auto;overscroll-behavior-y:contain;scroll-padding:16px;color:var(--text)}dialog.p3quick{top:var(--visible-top, 0px)}.p2dialog p{font-size:13px}.p2dialog .p2times{gap:8px}.p2dialog .p2actions{gap:8px;flex-wrap:wrap}.p2dialog .p2actions button{flex:1}.card{padding:16px;min-width:0;max-width:100%}.record{flex-wrap:wrap;gap:10px;align-items:center}.record>strong{flex-basis:100%}.record button{font-size:13px}.p4tabs,.p4row,.p4apply,.p4filters,.availability-legend{flex-wrap:wrap;gap:8px}.p4tabs button{flex:1 1 auto;font-size:13px}.p4tools label,.p4filters label,.p4row>label{display:flex;flex-wrap:wrap;flex:1 1 140px;gap:8px}.p4tools input[type=date]{margin-left:0}.p4row>input,.p4row>select{flex:1 1 140px;width:100%}.p4row button{flex:1 1 auto}.p4tools .p4row>label{flex-basis:100%}.p4tools label>input:not([type=checkbox]),.p4tools label>select{width:100%}.p4apply fieldset{padding:10px}.p4count{margin-left:0}.availability-scroll{max-width:100%}.availability-table th:first-child{position:sticky;left:0;z-index:2;width:150px}.availability-table td:first-child{position:sticky;left:0;z-index:1;background:var(--panel)}.availability-table .absence,.available-add{min-height:44px;font-size:12px}.availability-legend{font-size:12px}.availability-legend span{padding:8px}.content-page>.card,.audit-list{overflow-x:auto}table{max-width:100%}.login-page{min-height:100dvh}.login-card{width:100%;max-width:440px}.login-page>header{padding-top:env(safe-area-inset-top)}}.mobile-availability{display:none}@media(max-width:800px){.availability-scroll{display:none}.mobile-availability{display:block}.mobile-availability>label{display:grid;gap:8px;margin:16px 0;font-size:13px}.mobile-availability-card{padding:16px;margin:12px 0;border:1px solid var(--border);background:var(--panel);border-radius:12px}.mobile-availability-card h2{font-size:15px;margin:0 0 8px}.mobile-availability-card p{font-size:12px;margin-bottom:12px}.mobile-availability-card button{width:100%;margin-top:8px}.mobile-availability-card .absence{display:block;text-align:left;font-size:14px}}@media(max-width:800px){.p2times>label{display:flex;flex-direction:column;min-width:0}input::-webkit-date-and-time-value{text-align:left;min-height:1.2em}}@media(max-width:800px){dialog.p3quick[open]{position:fixed;top:calc(var(--visible-top, 0px) + 12px);bottom:auto;margin-block:0;margin-inline:auto}}@media(max-width:800px){dialog.p3quick{width:min(500px,calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right)))}}@media(max-width:800px){input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px}}.mobile-date-nav,.mobile-availability-controls{display:none}@media(max-width:800px){.app .topbar{min-height:56px;padding-top:calc(4px + env(safe-area-inset-top));padding-bottom:4px}.app .workspace,.app .availability-page{padding-top:10px}.workspace .page-heading>div:first-child,.availability-page>h1,.availability-page>.eyebrow{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.schedule-page .date-controls,.mobile-date-bar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;gap:4px;margin:0 0 8px;align-items:center}.schedule-page .date-controls>button:last-child{display:none}.mobile-date-nav{display:inline-flex;font-size:24px!important;padding:4px!important}.mobile-date-bar button{padding:6px 8px}.mobile-date-bar input,.schedule-page .date-controls input{padding:8px 4px}.mobile-date-bar button:first-child,.mobile-date-bar button:nth-child(3){font-size:24px}.schedule-page .p4toolbar,.mobile-view-switch[hidden],.mobile-hint{display:none}.mobile-view-switch:not([hidden]){display:flex;align-items:center;margin:8px 0}.mobile-view-switch span{font-size:12px;color:var(--muted)}.mobile-shifts{margin:0 0 8px;gap:4px}.mobile-shifts button{font-size:12px}.mobile-department-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.mobile-department{flex:1;min-width:0;display:block;font-size:0}.mobile-department select{width:100%;padding:8px}.mobile-actions{position:relative;flex:0 0 auto}.mobile-actions>summary{display:flex;align-items:center;justify-content:center;padding:8px 12px;font-size:13px;border:1px solid var(--border);border-radius:8px;background:var(--panel);cursor:pointer;list-style:none}.mobile-actions>summary::-webkit-details-marker{display:none}summary:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.mobile-action-list{position:absolute;right:0;top:calc(100% + 6px);z-index:15;width:min(270px,calc(100vw - 32px));padding:6px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #0006}.mobile-action-list button{width:100%;justify-content:start;border:0;text-align:left;font-size:14px}.mobile-dept{margin-bottom:8px;border-radius:10px}.mobile-dept>summary{padding:8px 10px;font-size:14px}.mobile-dept>summary small{display:inline;float:right;padding:2px 0}.mobile-dept-settings{margin:0 10px;font-size:12px}.mobile-dept-settings>summary{padding:4px 0;min-height:44px;display:flex;align-items:center;color:var(--muted);cursor:pointer}.mobile-configure{margin:0 0 8px}.mobile-station{padding:8px 10px}.mobile-station h3{margin-bottom:6px}.mobile-hours{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:25%;padding-bottom:4px;scroll-snap-type:x proximity}.mobile-hours button{scroll-snap-align:start;padding:5px 2px 9px;gap:2px;font-size:12px;min-height:50px}.mobile-hours i{bottom:0;height:4px;border-radius:0}.mobile-assignment{padding:8px 10px;margin-top:6px;gap:3px}.mobile-assignment .mobile-edit-hint{font-size:11px;color:var(--muted)}.p5warnings{max-height:104px;padding:8px 10px;font-size:12px;margin:8px 0}.p5warnings p{margin:4px 0;line-height:1.4}.availability-intro,.availability-page .availability-legend{display:none}.mobile-availability-controls{display:block}.mobile-availability-actions{display:flex;gap:8px}.mobile-availability-actions .primary{flex:1;font-size:14px}.mobile-range{display:block;color:var(--muted);font-size:12px;margin:8px 0}.availability-filter-panel[data-open=false]{display:none}.availability-filter-panel{padding:8px 10px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px}.availability-filter-panel .primary{display:none}.availability-page>.notice{margin:8px 0;padding:8px 10px;font-size:12px;line-height:1.4}.mobile-availability-card{padding:10px;margin:8px 0}.mobile-availability-card h2{margin-bottom:4px}.mobile-availability-card p{margin-bottom:6px}.mobile-availability-card button{margin-top:6px}}.responsive-date{display:contents}.mobile-date-caption{display:none}@media(max-width:800px){.responsive-date{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;min-height:44px;background:var(--panel);border:1px solid var(--border);border-radius:7px}.responsive-date .mobile-date-caption{display:block;font-size:14px;font-weight:500;white-space:nowrap;padding:4px}.responsive-date input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.responsive-date:focus-within{outline:2px solid var(--purple);outline-offset:2px}}
