:root{--ink:#24382e;--muted:#778271;--paper:#f5f6f1;--line:#e2e7dd;--green:#254b37;--lime:#d6edab;--white:#fff;--warn:#a56632;--danger:#a44f3e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:wait}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #97b66b}button{border:0;background:none}a{color:inherit}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.topbar{min-height:87px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:16px 38px;gap:27px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:31px;font-weight:750;letter-spacing:-1.5px}.brand-dot{color:#8ca66b;margin-left:-8px}.brandmark{width:31px;height:31px;display:grid;grid-template-columns:1fr 1fr;gap:4px;transform:rotate(-8deg)}.brandmark i{background:var(--green);border-radius:5px}.brandmark i:last-child{background:#b6d77b}.brand-sub{border-left:1px solid var(--line);padding-left:25px;color:var(--muted);font-size:12px}.top-right{margin-left:auto;display:flex;align-items:center;gap:22px}.demo-tag{font-size:10px;color:#788366;background:#f3f5ed;padding:8px 10px;border-radius:7px}.profile-control{display:flex;flex-direction:column;gap:4px;font-size:9px;color:var(--muted)}.profile-control select{border:0;background:white;color:var(--ink);font-size:12px;max-width:210px;cursor:pointer;padding:2px 0}.main-nav{max-width:1600px;margin:auto;display:flex;gap:9px;padding:18px 38px 0}.nav-link{font-size:12px;padding:10px 16px;border-radius:9px;color:#788272;display:flex;align-items:center;gap:8px}.nav-link.active{background:#e6eedb;color:var(--green);font-weight:650}.nav-link svg{width:16px;height:16px}.count-badge{border-radius:20px;background:#d6e4c0;font-size:9px;padding:3px 6px}.page{max-width:1600px;margin:auto;padding:28px 38px 34px}.intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:700;color:#859276;margin-bottom:9px}h1{font-size:33px;font-weight:650;letter-spacing:-1.1px;line-height:1.2;margin:0 0 10px}h2{font-size:20px;font-weight:650;letter-spacing:-.5px;margin:0}h3{font-size:14px;margin:0}.subtitle{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;border-radius:9px;border:1px solid var(--line);background:white;font-size:12px;font-weight:600;white-space:nowrap}.button.primary{background:var(--green);border-color:var(--green);color:white}.button.lime{background:var(--lime);border-color:var(--lime)}.button.small{padding:8px 11px;font-size:11px}.button.danger{color:var(--danger);border-color:#ead5cf}.button.full{width:100%}.text-button{color:#607552;font-size:11px;text-decoration:underline;text-underline-offset:4px;padding:5px}.iconbutton{height:31px;width:31px;border:1px solid var(--line);border-radius:7px;display:inline-grid;place-items:center;background:white}.button-row{display:flex;gap:9px;flex-wrap:wrap}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:23px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 4px 12px #203a2507}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:19px}.week-nav{display:flex;align-items:center;gap:10px}.date-title{font-size:15px;font-weight:650;letter-spacing:-.2px}.nav-pair{display:flex;gap:5px}.site-filter{border:1px solid var(--line);border-radius:8px;background:#fbfcf9;padding:8px;font-size:11px;max-width:170px}.draft{font-size:10px;display:inline-flex;align-items:center;gap:5px;color:#7e8c72}.draft:before{content:'';height:5px;width:5px;background:#a6b68e;border-radius:50%}.draft.dirty{color:var(--warn)}.preview-banner{background:#eaf3dc;border-top:1px solid #d8e6c8;border-bottom:1px solid #d8e6c8;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:10px}.calendar{display:grid;grid-template-columns:133px repeat(7,minmax(0,1fr))}.grid-head{height:62px;padding:11px 3px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:9px;color:#8a9480;letter-spacing:.7px}.grid-head strong{font-size:17px;display:block;font-weight:550;color:#465443;margin-top:6px;letter-spacing:-.4px}.grid-head.label{display:flex;align-items:center;text-align:left;padding-left:18px;letter-spacing:0;font-size:10px}.grid-head.today strong{color:var(--green);font-weight:750}.person{min-height:135px;border-bottom:1px solid var(--line);padding:21px 10px 15px 15px;display:flex;align-items:flex-start;gap:8px}.avatar{height:28px;width:28px;flex:none;border-radius:50%;background:color-mix(in srgb,var(--color,#8a9e5d) 15%,white);color:var(--color,#718951);display:grid;place-items:center;font-size:10px;font-weight:750}.person-name{font-size:12px;font-weight:650;line-height:18px}.hours{font-size:9px;color:#849079;margin-top:4px;line-height:1.5}.hours.warn{color:var(--warn)}.progress{height:3px;background:#eef1e8;width:57px;border-radius:8px;overflow:hidden;margin-top:7px}.progress span{display:block;background:var(--color);height:100%;opacity:.75}.cell{min-width:0;min-height:135px;border-left:1px solid #f0f2ec;border-bottom:1px solid var(--line);padding:8px 4px;display:flex;flex-direction:column;gap:5px}.weekend{background:#fafbf8}.shift{width:100%;padding:9px 6px;text-align:left;background:color-mix(in srgb,var(--color,#8a9e5d) 13%,white);border:1px solid transparent;border-left:3px solid var(--color);border-radius:6px;transition:box-shadow .15s}.shift:hover{box-shadow:0 3px 7px #203a2515}.shift.proposed{border-style:dashed;border-color:var(--color)}.period{font-size:10px;white-space:nowrap;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.place{font-size:9px;color:color-mix(in srgb,var(--color) 80%,#24382e);margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-diff{font-size:8px;display:block;margin-top:4px;color:#567644}.empty{width:100%;flex:1;min-height:65px;color:#acb69f;font-size:10px;border-radius:7px}.empty:hover,.cell-add:hover{background:#f1f5e9;color:#61764c}.empty:before{content:'+';display:block;font-size:19px;margin-bottom:4px}.cell-add{font-size:13px;line-height:18px;color:#a3af95;border-radius:4px}.schedule-bottom{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#7d8c6d}.schedule-bottom span{display:flex;align-items:center;gap:6px}.schedule-bottom svg{width:14px;height:14px}.rules-strip{margin:19px 3px}.rules-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:600}.rules-title>span{display:flex;align-items:center;gap:8px}.rules-title svg{width:15px;height:15px}.rules-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.rule{font-size:10px;color:#78866c;border:1px solid #e0e7d7;background:#fbfcf8;border-radius:7px;padding:8px 9px;line-height:1.5}.rule b{color:#526148;font-weight:600}.rule button{padding:0 0 0 7px;color:#9ca58e;font-size:14px}.agent{min-height:630px;display:flex;flex-direction:column}.agent-top{padding:21px 20px;background:linear-gradient(125deg,#f1f7e7,white);border-bottom:1px solid var(--line)}.agent-brand{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:650}.spark{height:31px;width:31px;border-radius:9px;background:var(--green);color:var(--lime);display:grid;place-items:center}.mode-tag{display:inline-block;font-size:9px;margin-top:12px;color:#73815f;background:#edf3e4;padding:5px 7px;border-radius:5px}.agent-top p{font-size:11px;line-height:1.7;color:#7a886f;margin:10px 0 0}.conversation{padding:22px 18px;max-height:470px;min-height:290px;overflow:auto;scrollbar-width:thin;flex:1}.welcome-icon{height:49px;width:49px;background:#f0f6e6;border-radius:15px;color:#668347;display:grid;place-items:center;margin-bottom:17px}.welcome h2{font-size:23px;line-height:1.3;letter-spacing:-.8px;margin-bottom:10px}.welcome p{font-size:11px;line-height:1.8;color:#7c8872;margin-bottom:20px}.suggestions{display:flex;flex-direction:column;gap:9px}.suggestion{display:flex;align-items:center;gap:8px;width:100%;border:1px solid var(--line);padding:12px 10px;border-radius:9px;text-align:left;background:white;font-size:11px}.suggestion:hover{background:#f7faf1;border-color:#b8cba0}.suggestion svg{width:15px;height:15px;color:#78985c}.message{font-size:11px;line-height:1.7;margin-bottom:15px;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{background:#f0f3eb;border-radius:10px 10px 2px 10px;margin-left:20px;padding:10px 12px}.speaker{display:block;font-size:9px;color:#819766;font-weight:650;margin-bottom:5px}.proposal{background:#f5faee;border:1px solid #dbe7cc;border-radius:11px;padding:14px;font-size:11px;line-height:1.7}.proposal strong{display:block;font-size:13px;margin:5px 0}.proposal-label{font-size:9px;letter-spacing:1px;color:#759054;font-weight:700}.proposal ul{padding-left:17px;margin:10px 0}.proposal .button{margin-top:7px}.composer-area{margin-top:auto;padding:0 15px 16px}.composer{background:white;border:1px solid #dce4d3;border-radius:11px;padding:11px}.composer textarea{width:100%;min-height:52px;resize:vertical;border:0;outline:none;font-size:12px;line-height:1.6;color:var(--ink);background:none}.composer-actions{display:flex;align-items:center;justify-content:space-between}.voice-button{font-size:10px;display:flex;gap:6px;align-items:center;color:#647b50}.voice-button svg{width:15px;height:15px}.voice-button.recording{color:#a55a44}.send-button{width:30px;height:30px;border-radius:7px;background:var(--green);color:white;display:grid;place-items:center}.disclaimer{font-size:9px;color:#94a084;text-align:center;line-height:1.6;margin-top:10px}.diagnostics{margin-top:17px;padding:15px 18px;border:1px solid var(--line);background:#fff;border-radius:12px}.diagnostics summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;list-style:none}.diagnostics summary svg{height:15px;width:15px}.diagnostics-list{font-size:11px;line-height:1.7;margin:12px 0 0;padding-left:16px;color:#7d896e}.diagnostics-list .error-item{color:var(--danger)}.diagnostics-list .warning-item{color:var(--warn)}.status-ok{color:#60834a}.muted{color:var(--muted)}.footnote{display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#9aa58b;line-height:1.7;padding:24px 3px 0}.mobile-switch,.mobile-days{display:none}.section-header{padding:21px 23px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.section-header p{font-size:11px;color:var(--muted);line-height:1.6;margin:7px 0 0}.section-body{padding:21px 23px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:15px}.team-card{border:1px solid var(--line);border-radius:12px;padding:20px;background:white}.team-card-head{display:flex;align-items:center;gap:10px;margin-bottom:17px}.team-card-head .avatar{height:39px;width:39px;font-size:12px}.team-card h3{font-size:15px}.team-card p{font-size:11px;color:var(--muted);line-height:1.7}.team-card .button{margin-top:6px}.team-meta{display:flex;gap:20px;margin-bottom:14px}.team-meta b{font-size:19px;font-weight:550;display:block}.team-meta small{font-size:9px;color:var(--muted)}.chip{display:inline-block;padding:5px 7px;background:#f1f5ea;color:#73865f;border-radius:5px;font-size:9px;margin:0 4px 5px 0}.config-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:21px}.site-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid #edf0e7;font-size:12px}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th{text-align:left;font-size:9px;color:#8b987d;font-weight:600;letter-spacing:.5px;padding:12px 9px;border-bottom:1px solid var(--line)}.data-table td{padding:14px 9px;border-bottom:1px solid #edf0e8;line-height:1.6}.data-table td:last-child{text-align:right}.table-scroll{position:relative;overflow:auto}.empty-state{text-align:center;padding:35px 20px;color:#849474;font-size:12px;line-height:1.8}.empty-state svg{width:33px;height:33px;color:#a2b78a;margin-bottom:12px}.request-card{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}.request-card h3{margin-bottom:8px}.request-card p{margin:7px 0;font-size:11px;color:#7e8974;line-height:1.6}.status-chip{font-size:9px;border-radius:6px;padding:5px 7px;background:#eef2e7;color:#6d8254}.status-chip.pending{background:#f8eedb;color:#a47e3e}.status-chip.rejected{background:#f8eeea;color:#a36557}.request-comment{font-style:italic;overflow-wrap:anywhere}.employee-layout{max-width:980px;margin:auto}.employee-top{display:flex;align-items:center;gap:13px}.employee-top .avatar{width:48px;height:48px;font-size:15px}.employee-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:13px;margin-top:20px}.day-card{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden}.day-card-title{padding:14px 17px;background:#fafcf6;border-bottom:1px solid var(--line);font-size:11px;font-weight:650;text-transform:capitalize}.employee-shift{padding:17px;display:flex;align-items:center;gap:13px;border-bottom:1px solid #f0f2ec}.employee-shift svg{color:#869f69}.employee-shift strong{display:block;font-size:14px;font-weight:600;margin-bottom:5px}.employee-shift small{font-size:11px;color:#7e8b72}.rest-day{font-size:11px;color:#a0ad92;padding:22px 17px}.employee-requests{margin-top:24px}.notice{padding:14px 16px;border-radius:9px;background:#eff5e6;color:#6d8159;font-size:11px;line-height:1.7;margin:15px 0}.notice.warning{background:#fbf5e8;color:#927746}.notice.error{background:#fbefeb;color:#a05e4b}.initial-loading{padding:80px 20px;text-align:center;color:#849276;font-size:13px}.toast{visibility:hidden;opacity:0;pointer-events:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120px);z-index:100;background:var(--green);color:white;padding:13px 20px;border-radius:10px;font-size:12px;box-shadow:0 5px 22px #20341e30;max-width:90vw;text-align:center;transition:transform .2s}.toast.show{visibility:visible;opacity:1;transform:translateX(-50%) translateY(0)}.global-error{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#fff7f3;border:1px solid #e4bdae;color:#9d5948;z-index:101;padding:15px 20px;border-radius:10px;box-shadow:0 5px 22px #44301e15;font-size:12px;max-width:90vw;line-height:1.6}.global-error button{margin-left:15px;text-decoration:underline}dialog{border:1px solid var(--line);border-radius:18px;padding:0;width:calc(100% - 34px);max-width:550px;max-height:90dvh;color:var(--ink);box-shadow:0 20px 100px #14321d25}dialog::backdrop{background:#20332955;backdrop-filter:blur(3px)}dialog.wide{max-width:760px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 24px 0}.modal-head h2{font-size:21px}.modal-body{padding:18px 24px 24px}.modal-body>p{font-size:12px;line-height:1.7;color:var(--muted);margin-top:0}.field{margin-bottom:16px}.field label{font-size:11px;display:block;font-weight:600;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid #dce3d3;border-radius:8px;background:#fbfcf8;color:var(--ink);font-size:12px}.field textarea{min-height:80px;resize:vertical}.field small{display:block;font-size:10px;line-height:1.6;color:#8a977d;margin-top:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:20px}.modal-error{font-size:11px;line-height:1.6;color:var(--danger);background:#fbefeb;border-radius:8px;padding:12px;margin-top:12px}.modal-error:empty{display:none}.confirm-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:17px}.summary-tile{background:#f3f7ec;border-radius:9px;padding:15px}.summary-tile b{display:block;font-size:23px;font-weight:550;margin-bottom:5px}.summary-tile small{color:#82916f;font-size:10px}.loading-line{height:3px;background:#d6e5c0;position:fixed;top:0;left:0;right:0;z-index:110;animation:loading 1.3s ease-in-out infinite}@keyframes loading{50%{opacity:.3}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.calendar{grid-template-columns:150px repeat(7,minmax(0,1fr))}.cell{padding:9px 6px}.period{font-size:11px}.shift{padding:10px 8px}.workspace{grid-template-columns:minmax(0,1fr) 350px}.person{padding-left:18px}}
@media(max-width:1200px) and (min-width:781px){.topbar{padding:16px 22px}.page{padding:25px 20px}.main-nav{padding:15px 20px 0}.workspace{grid-template-columns:minmax(0,1fr) 290px;gap:15px}.calendar{grid-template-columns:108px repeat(7,minmax(0,1fr))}.person{padding:20px 6px 14px 9px;gap:5px}.person .avatar{width:22px;height:22px;font-size:8px}.person-name{font-size:11px}.hours{font-size:8px}.cell{padding:7px 2px}.shift{padding:8px 3px;border-left-width:2px}.period{font-size:9px}.place{font-size:8px}.toolbar{padding:15px 12px}.date-title{font-size:13px}.brand-sub{display:none}.config-grid{grid-template-columns:235px minmax(0,1fr)}}
@media(max-width:780px){.topbar{padding:14px 18px;gap:8px;align-items:flex-start}.topbar .brand{flex-shrink:0}.topbar .top-right{min-width:0;max-width:calc(100% - 111px)}.topbar .demo-tag{max-width:100%;text-align:right;line-height:1.4}.topbar .profile-control{max-width:100%;min-width:0}.topbar .profile-control select{width:100%;min-width:0;max-width:100%}.brand{font-size:26px;margin-top:5px}.brandmark{width:27px;height:27px}.brand-sub{display:none}.top-right{gap:7px;flex-direction:column;align-items:flex-end}.demo-tag{font-size:8px;padding:5px 7px}.profile-control span{display:none}.profile-control select{font-size:10px;max-width:185px}.main-nav{padding:13px 13px 0;gap:2px;overflow-x:auto}.nav-link{padding:10px 11px;white-space:nowrap;font-size:11px;gap:6px}.nav-link svg{width:14px;height:14px}.page{padding:22px 16px}.intro{display:block;margin-bottom:21px}h1{font-size:28px;letter-spacing:-1px}.eyebrow{font-size:8px}.subtitle{font-size:12px}.intro>.button,.intro>.button-row{margin-top:16px}.intro>.button{width:100%}.workspace{display:block}.panel{border-radius:13px}.toolbar{padding:15px 12px;gap:12px}.week-nav{gap:7px}.date-title{font-size:13px}.iconbutton{width:29px;height:29px}.site-filter{max-width:150px;font-size:10px}.toolbar-secondary{width:100%;display:flex;align-items:center;justify-content:space-between}.mobile-switch{display:flex;background:#eaf0e2;border:1px solid #e0e7d6;padding:4px;border-radius:10px;margin-bottom:15px}.mobile-switch button{flex:1;padding:10px 6px;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px}.mobile-switch button.active{background:white;box-shadow:0 1px 5px #26402013;font-weight:600}.mobile-switch svg{width:15px;height:15px}.mobile-days{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 9px;background:#fcfdf9}.mobile-days button{width:36px;padding:8px 0;border-radius:8px;color:#8a997c;font-size:9px}.mobile-days strong{font-size:14px;display:block;margin-top:5px;font-weight:550}.mobile-days button.active{background:var(--green);color:white}.calendar{grid-template-columns:117px minmax(0,1fr)}.grid-head,.grid-head.label{display:none}.cell{display:none;min-height:130px;border-left:none;padding:10px 12px}.cell.selected-day{display:flex}.person{min-height:130px;padding:24px 9px}.person .avatar{width:26px;height:26px}.person-name{font-size:12px}.hours{font-size:9px}.shift{padding:10px 12px}.period{font-size:12px}.place{font-size:10px}.cell-add{min-height:22px}.empty{min-height:90px}.agent{display:none;min-height:590px}.workspace.show-agent .agent{display:flex}.workspace.show-agent .planning-side{display:none}.conversation{max-height:430px;min-height:300px}.schedule-bottom{padding:14px 12px;line-height:1.5}.preview-banner{font-size:10px;padding:11px 12px}.preview-banner .button{font-size:10px}.footnote{font-size:9px;display:block}.footnote>span{display:block}.rules-title{font-size:11px}.rule{font-size:9px}.config-grid{display:block}.config-grid>.panel{margin-bottom:17px}.section-header{padding:18px 16px;align-items:flex-start}.section-header h2{font-size:18px}.section-body{padding:17px 16px}.section-header .button{font-size:10px;padding:8px 9px}.data-table{font-size:10px;min-width:500px}.cards{grid-template-columns:1fr}.team-card{padding:19px}.request-card{display:block;padding:17px}.request-card>.button-row{margin-top:15px}.request-card>.status-chip{display:inline-block;margin-top:10px}.employee-week{display:block}.day-card{margin-bottom:12px}.employee-shift{padding:19px 17px}.employee-shift strong{font-size:16px}.employee-top .avatar{width:43px;height:43px}.modal-head{padding:21px 19px 0}.modal-head h2{font-size:19px}.modal-body{padding:17px 19px 22px}.form-row{gap:10px}.field input,.field select,.field textarea{font-size:16px;padding:10px}.field label{font-size:11px}.modal-actions .button{padding:12px 14px}.global-error{width:calc(100% - 32px)}.confirm-summary{gap:8px}.summary-tile{padding:13px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.absence-request{display:flex;gap:13px;align-items:center;padding:16px;border:1px solid #dce7ce;background:#f4f8ed;border-radius:12px;margin-bottom:20px}.absence-icon{width:42px;height:42px;border-radius:11px;background:#e2edcf;color:#6e8a4e;display:grid;place-items:center;flex:none}.absence-request b{display:block;font-size:15px;margin-bottom:5px}.absence-request span:not(.absence-icon){display:block;font-size:12px}.absence-request small{display:block;font-size:10px;line-height:1.6;color:#829270;margin-top:6px}.absence-options{border:1px solid var(--line);border-radius:12px;padding:17px 18px 5px;margin:0 0 18px;min-width:0}.absence-options legend{font-size:12px;font-weight:650;padding:0 7px;color:#617451}.check-line{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;margin:12px 0;cursor:pointer}.check-line input{width:17px;height:17px;min-width:17px;margin:2px 0 0;accent-color:var(--green)}.check-line span{min-width:0}.check-line b{font-size:12px;font-weight:600;display:block}.check-line small{display:block;font-size:10px;line-height:1.6;color:#8a967d;margin-top:3px}.hours-policy{border-top:1px solid #e6ecdf;margin-top:16px;padding-top:4px}.recovery-options{margin:0 0 12px 27px;border-left:2px solid #dce8cd;padding:13px 0 0 15px}.recovery-options[hidden]{display:none}.authorization{background:#f6f8f1;border-radius:8px;padding:11px;font-size:11px}.input-hint{font-size:10px;line-height:1.75;color:#89967b;margin:10px 0 16px}.absence-loading{padding:30px 15px;text-align:center;background:#f8faf4;border-radius:10px;color:#71885b;font-size:13px}.absence-loading small{display:block;font-size:10px;margin-top:10px;color:#95a287}.absence-preview{border-top:1px solid var(--line);padding-top:21px;margin-top:6px}.review-heading{margin-bottom:17px}.review-heading h3{font-size:18px;font-weight:600;letter-spacing:-.4px;margin-top:6px}.absence-numbers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px}.absence-numbers>div{padding:17px 13px;border:1px solid #e1e8d7;background:#f8fbf3;border-radius:10px}.absence-numbers b{display:block;font-size:25px;letter-spacing:-.6px;font-weight:550}.absence-numbers span{font-size:10px;line-height:1.6;display:block;color:#88967a;margin-top:5px}.absence-week{border:1px solid var(--line);border-radius:11px;margin:14px 0;overflow:hidden}.absence-week>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;background:#f6f9f0;cursor:pointer;list-style:none;font-size:12px;font-weight:650}.absence-week>summary:after{content:'⌄';font-size:16px;color:#8a9a77}.absence-week>summary small{font-size:9px;color:#849474;font-weight:400;margin-left:auto}.absence-week-body{padding:16px}.absence-week-body h4{font-size:11px;margin:0 0 10px;font-weight:650}.diff-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.shift-change-list{list-style:none;padding:0;margin:0 0 8px}.shift-change-list li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #eef1e8;font-size:10px;line-height:1.6}.shift-change-list li>span{min-width:0}.shift-change-list b{font-size:11px;font-weight:550}.shift-change-list strong{font-size:10px;font-weight:500;white-space:nowrap;color:#607852}.shift-change-list small{display:block;color:#8d9a80;font-size:9px}.absence-empty{font-size:10px;line-height:1.7;color:#9aa58e;margin:8px 0 14px}.replacement-block{border-top:1px solid #edf1e5;margin-top:14px;padding-top:15px}.hours-after{border-top:1px solid #edf1e5;margin-top:15px;padding-top:14px}.hours-after>div{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:8px 0;font-size:11px;border-bottom:1px solid #f0f3e9}.hours-after b{font-size:10px;font-weight:500}.hours-after small{grid-column:1/-1;color:#93a083;font-size:9px}.shortage-box{background:#fcf6e9;border:1px solid #eadfbe;border-radius:9px;margin-top:17px;padding:14px;color:#9b7c3f}.shortage-box h4{display:flex;align-items:center;gap:7px}.shortage-box h4 svg{width:15px;height:15px}.shortage-box p{font-size:10px;line-height:1.7;margin:5px 0 12px}.shortage-box ul{list-style:none;padding:0;margin:0}.shortage-box li{padding:8px 0;border-top:1px solid #ede2c8;font-size:10px;line-height:1.7}.shortage-box li b{display:block;font-weight:550}.shortage-box li span{display:block}.publication-diff{border-top:1px solid #e6ecdc;margin-top:16px;padding-top:14px}.publication-diff summary{font-size:11px;font-weight:600;color:#6e8258;cursor:pointer;padding:2px 0 10px}.publication-diff p{font-size:10px;line-height:1.7;color:#8c987d;margin:4px 0 12px}.other-changes summary{color:#9b7c48}.absence-sticky{margin-top:20px;padding-top:17px;border-top:1px solid var(--line);background:#fff}.absence-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.absence-actions .button{font-size:10px;padding:11px 12px}.absence-sticky>p{font-size:9px;color:#96a189;text-align:right;margin:11px 0 0}.confirmation-weeks{padding:16px;border:1px solid var(--line);border-radius:10px;margin:18px 0}.confirmation-weeks h3{font-size:12px}.confirmation-weeks ul{list-style:none;padding:0;margin:12px 0 0}.confirmation-weeks li{padding:10px 0;border-top:1px solid #edf1e6;font-size:11px;line-height:1.7}.confirmation-weeks li b{display:block;font-weight:550}.confirmation-weeks li span{display:block;font-size:10px;color:#92a080}.coverage-banner{display:flex;align-items:flex-start;gap:9px}.coverage-banner svg{height:17px;width:17px;margin-top:2px}.coverage-banner b{display:block;font-weight:600}.coverage-banner span{display:block;margin-top:4px;font-size:10px}.employee-absence{display:flex;align-items:center;gap:12px;padding:17px;background:repeating-linear-gradient(135deg,#f7f6ef,#f7f6ef 6px,#f0f0e6 6px,#f0f0e6 7px);border-bottom:1px solid #e8eadc;color:#849173}.employee-absence strong{display:block;font-size:12px;font-weight:600;margin-bottom:5px}.employee-absence small{font-size:10px;line-height:1.6}.employee-hours{display:flex;align-items:center;gap:9px;font-size:12px;padding:18px 3px 3px;color:#788b65}.employee-hours b{font-weight:600}.modal-body [hidden]{display:none!important}
@media(max-width:780px){dialog.wide{width:calc(100% - 22px);max-height:94dvh}.absence-request{padding:13px;gap:10px}.absence-request b{font-size:14px}.absence-request span:not(.absence-icon){font-size:11px;line-height:1.7}.absence-request small{font-size:9px}.absence-icon{height:35px;width:35px}.absence-options{padding:12px 11px 4px}.check-line{font-size:11px;gap:8px}.check-line b{font-size:11px}.check-line small{font-size:9px}.recovery-options{margin-left:14px;padding-left:10px}.recovery-options .form-row{display:block}.absence-numbers{grid-template-columns:1fr 1fr;gap:8px}.absence-numbers>div{padding:13px 11px}.absence-numbers>div:last-child{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:11px}.absence-numbers>div:last-child b{font-size:20px}.absence-numbers>div:last-child span{margin:0}.absence-numbers b{font-size:23px}.absence-numbers span{font-size:9px}.absence-week>summary{padding:12px;font-size:11px;flex-wrap:wrap;gap:4px}.absence-week>summary small{margin-left:0;flex-basis:90%}.absence-week>summary:after{position:relative;margin-left:auto;margin-top:-18px}.absence-week-body{padding:13px 12px}.diff-columns{display:block}.diff-columns>section+section{margin-top:17px}.shift-change-list li{gap:7px}.shift-change-list strong{font-size:9px}.shift-change-list small{font-size:9px}.absence-actions{display:flex;flex-direction:column}.absence-actions .button{width:100%;white-space:normal;line-height:1.5;font-size:11px;min-height:43px}.absence-sticky>p{text-align:center}.modal-actions .button{white-space:normal;line-height:1.5;min-height:43px}.employee-absence{padding:18px 17px}.employee-absence strong{font-size:13px}.employee-absence small{font-size:11px}.confirmation-weeks{padding:13px}.coverage-banner{font-size:10px}.input-hint{font-size:9px}}
.assistant-status{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px}.assistant-status .mode-tag{margin:0}.mode-tag.connected{background:#e0edcd;color:#4c7436}.guided-status{font-size:8px;color:#93a17e}.assistant-info{margin-left:auto;height:21px;width:21px;border:1px solid #dce6d0;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:650;color:#7b9265;background:#fbfdf7}.assistant-budget{font-size:9px;line-height:1.7;color:#879777;margin-top:9px}.assistant-budget>span{display:block}.assistant-budget .budget-warning{display:block;color:#a17a3d;font-size:9px;margin-top:3px}.assistant-action-card{background:#f5f9ee;border:1px solid #dce7cc;border-radius:11px;padding:14px;margin:0 0 18px;font-size:11px;line-height:1.7}.assistant-action-card>strong{font-size:13px;display:block;font-weight:600;margin:5px 0 9px}.assistant-action-card ul{padding-left:17px;margin:0 0 10px;color:#72845f}.assistant-action-card p{font-size:9px;line-height:1.7;color:#91a17e;margin:8px 0 12px}.assistant-action-card.stale{background:#f8f6ef;border-color:#e7dfcd}.assistant-action-card.stale .proposal-label{color:#a18b62}.assistant-action-card.stale p{color:#9d8d71}.assistant-pending{background:#f4f8ec;border:1px solid #e0e8d4;border-radius:10px;padding:15px;font-size:11px;color:#70875a;margin:0 0 17px}.assistant-pending>span{display:inline-block;height:6px;width:6px;background:#91ad6d;border-radius:50%;margin-right:7px;animation:loading 1.2s ease-in-out infinite}.assistant-pending small{display:block;font-size:9px;color:#97a688;margin:6px 0 0 14px}.assistant-error{border:1px solid #e8d4c8;background:#fcf5ee;border-radius:10px;padding:14px;color:#a16f4b;font-size:11px;line-height:1.7;margin-bottom:17px;overflow-wrap:anywhere}.assistant-error b,.assistant-error span,.assistant-error small{display:block}.assistant-error b{font-weight:600;margin-bottom:5px}.assistant-error small{font-size:9px;color:#a18b75;margin-top:8px}.assistant-setup{margin:20px 0}.assistant-setup>div{display:flex;gap:13px;margin:17px 0}.assistant-setup>div>span{flex:none;background:#ecf2e2;color:#7b9560;width:29px;height:29px;border-radius:9px;display:grid;place-items:center;font-size:11px;font-weight:600}.assistant-setup p{margin:0;font-size:12px;line-height:1.7}.assistant-setup b{font-weight:600;display:block}.assistant-setup small{display:block;font-size:11px;color:#879779;margin-top:4px;line-height:1.7}.assistant-setup+.assistant-budget{background:#f5f8ef;border-radius:8px;padding:12px;font-size:11px}.assistant-status+.assistant-budget{min-height:15px}
@media(max-width:780px){.assistant-status{gap:7px}.guided-status{font-size:8px}.assistant-budget{font-size:9px}.assistant-action-card{padding:14px}.assistant-action-card .button{min-height:42px;font-size:11px}.assistant-setup>div{gap:11px}.assistant-setup p{font-size:11px}.assistant-setup small{font-size:10px}.assistant-error{font-size:11px}}

[hidden] { display: none !important; }
.login-panel { max-width: 440px; margin: 40px auto; padding: 28px; }
.login-panel p { color: var(--muted, #68736b); margin-bottom: 24px; }
.login-panel .field { margin-bottom: 18px; }
.account-identity { font-size: 12px; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .top-right { flex-wrap: wrap; justify-content: flex-end; }
  .account-identity { max-width: 150px; }
  .login-panel { margin: 20px auto; padding: 20px; }
}

.connection-notice { position: fixed; bottom: 12px; left: 12px; right: 12px; z-index: 100; margin: auto; max-width: 600px; padding: 14px 18px; border-radius: 12px; background: #fff1ce; color: #624715; box-shadow: 0 3px 18px #0002; font-size: 14px; }
#installHelp { max-width: min(520px, calc(100vw - 24px)); }
#installHelp p { line-height: 1.6; margin-bottom: 18px; }

/* Candidate only: explicit locale selection and honest partial-translation notice. */
.language-control select{font:inherit;font-size:12px;max-width:110px;border:1px solid #d5dfd7;border-radius:8px;background:#fff;padding:8px;color:#234d3b}
.locale-notice{margin:12px 24px 0;padding:10px 14px;border-radius:8px;background:#eef2e5;color:#34513e;font-size:12px;line-height:1.5}
@media(max-width:600px){.locale-notice{margin:10px 16px 0}.top-right{flex-wrap:wrap}.language-control{max-width:110px}.main-nav .nav-link{white-space:normal}}

/* Guided setup uses existing forms and never changes a published week. */
.planning-setup{max-width:980px;margin:0 auto}.setup-body{padding:28px;display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,1.6fr);gap:32px}.setup-steps{list-style:none;margin:0;padding:0;display:grid;gap:18px;align-content:start}.setup-steps li{display:flex;gap:12px;align-items:center;color:#71806d;font-size:13px;line-height:1.5}.setup-steps li.current{color:#234d3b;font-weight:650}.setup-number{display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid #dce5d6;border-radius:50%;font-size:12px}.setup-steps .current .setup-number{background:#234d3b;color:white;border-color:#234d3b}.setup-steps .done .setup-number{background:#edf3e4;color:#567443}.setup-steps small{display:block;font-size:10px;color:#6f8064}.setup-next{min-width:0;padding:22px;background:#f4f8ef;border-radius:12px}.setup-next h2{font-size:22px;line-height:1.3;margin:10px 0}.setup-next>p{font-size:13px;line-height:1.7;color:#607355}.setup-next>.button{margin-top:12px;white-space:normal;line-height:1.5;max-width:100%}.setup-next>.setup-safety{font-size:11px;margin-top:20px}.setup-next>.eyebrow{font-size:10px;margin:0}
@media(max-width:780px){.setup-body{padding:18px;grid-template-columns:1fr;gap:24px}.setup-steps{gap:12px}.setup-next{padding:18px}.setup-next h2{font-size:21px}.setup-next>.button{width:100%;min-height:44px}.planning-setup .toolbar{gap:8px}}

/* Public access screens: invitation and recovery secrets are selectable, never persisted. */
.access-panel{width:min(100%,540px);margin:34px auto;padding:32px}.access-panel h1{font-size:29px;letter-spacing:-.04em;line-height:1.2;margin:0 0 16px}.access-panel>p{font-size:14px;line-height:1.65;color:var(--muted,#60715d)}.access-panel .field{margin:19px 0}.access-panel .field small{display:block;line-height:1.5;margin-top:7px}.access-panel .full{width:100%;justify-content:center;min-height:44px}.access-nav{display:flex;flex-direction:column;align-items:center;gap:15px;margin-top:24px}.access-nav button{min-height:30px}.access-error{color:#8a2e1e;font-size:13px;line-height:1.5;margin:16px 0;overflow-wrap:anywhere}.access-error:empty{display:none}.access-eyebrow{font-size:11px!important;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.access-ack{margin:24px 0;align-items:flex-start}.access-ack input{flex-shrink:0}.access-copy-status{font-size:12px;margin-top:12px;min-height:1em}.access-panel [data-sensitive],#employeeInviteLink{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;letter-spacing:0}.access-panel .check-line span{font-size:13px;line-height:1.55}.access-panel button{white-space:normal;overflow-wrap:break-word}.access-panel .field input{min-width:0;width:100%}
@media(max-width:600px){.access-panel{margin:18px auto;padding:24px 20px}.access-panel h1{font-size:26px}.access-panel .modal-actions{flex-wrap:wrap}}
