@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#242326;background:#dcd9d8;font-synthesis:none;--accent:#752e43;--line:#dedcde;--muted:#817d81;--pale:#ecdce2}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 80% 0%,#fff9 0,transparent 55%),radial-gradient(ellipse at 0% 85%,#c8c3c5 0,transparent 60%);padding:32px 28px}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background .18s,transform .18s}button:disabled{cursor:default;opacity:.65}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a75b74;outline-offset:3px}.app-shell{max-width:1600px;margin:auto;border:1px solid #ffffff90;border-radius:24px;background:#ecebecdf;box-shadow:0 24px 70px #38303921,inset 0 1px 0 #fff;padding:0 30px;min-height:calc(100vh - 64px)}.topbar{min-height:96px;display:flex;align-items:center;gap:22px;border-bottom:1px solid #d5d2d670}.brand{display:flex;align-items:center;gap:10px;color:#252126;text-decoration:none;font-size:21px;font-weight:650;letter-spacing:-1px;min-width:170px}.brand small{font-size:8px;letter-spacing:1.9px;display:block;font-weight:500;margin-top:2px;color:#83767f}.logo-tile{background:var(--accent);width:46px;height:64px;border-radius:11px;display:grid;place-items:center;padding:5px}.logo-tile img{object-fit:contain;width:auto;height:53px}nav{display:flex;align-items:center;gap:3px;flex:1}.nav-item{background:none;color:#7c777b;border:0;padding:11px 13px;white-space:nowrap;border-radius:24px;font-size:12px}.nav-item.active{background:#faf9fa;color:var(--accent);box-shadow:0 3px 7px #32252f08}.nav-item:hover{background:#fff8;color:var(--accent)}.icon-button{border:0;background:#f6f5f6;border-radius:50%;width:34px;height:34px;display:inline-grid;place-items:center;color:#3b333b;font-size:20px;flex-shrink:0}#chatToggle{color:var(--accent);font-size:27px}.profile{display:flex;gap:10px;align-items:center;font-size:12px}.profile small{display:block;font-size:9px;color:#8d858d;margin-top:3px}.avatar{display:inline-grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#e7d4dc;color:#75354a;font-size:11px;font-weight:600;font-style:normal;flex-shrink:0}.avatar.small{width:25px;height:25px;font-size:9px}.avatar.large{width:49px;height:49px;font-size:15px}main{padding-top:30px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:1.6px;color:#8c858b;margin-bottom:11px;text-transform:uppercase}.eyebrow span{padding:0 8px;color:#b9b0b6}h1{font-size:clamp(28px,3vw,42px);font-weight:450;letter-spacing:-1.7px;line-height:1.13;margin:0 0 10px}h2{font-size:16px;font-weight:550;letter-spacing:-.4px;margin:0}h2 span{font-weight:400;color:#928992}h3{font-size:14px;font-weight:550}p{font-size:12px;line-height:1.7;color:#888088;margin:5px 0}.actions,.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #ddd7dc;background:#f6f5f6;border-radius:10px;padding:11px 15px;color:#5c535b;font-size:11px;white-space:nowrap;min-height:39px}.btn:hover{background:#fff}.btn.primary{background:var(--accent);border-color:var(--accent);color:white;box-shadow:0 4px 9px #742e4310}.btn.primary:hover{background:#632439}.btn.selected{border-color:var(--accent);color:var(--accent);background:#f1e5e9}.page-heading .primary{padding:14px 20px;border-radius:13px;min-height:46px}.overview-grid{display:grid;grid-template-columns:2.45fr 1fr;gap:17px;margin-bottom:19px}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.stat-card{position:relative;text-align:left;overflow:hidden;border:1px solid #ffffff80;border-radius:17px;background:linear-gradient(135deg,#f7f6f7,#efedef);padding:20px;color:#282327;min-height:179px;display:flex;flex-direction:column;align-items:flex-start}.stat-card:before{content:'';position:absolute;width:120px;height:75px;right:10px;top:-34px;border-radius:30px;background:linear-gradient(130deg,#d2cdd344,#fff6);transform:rotate(-10deg)}.stat-icon{font-size:19px;position:absolute;right:18px;bottom:62px;color:#a59aa2}.stat-kicker{font-size:9px;letter-spacing:1px;opacity:.75}.stat-card strong{display:flex;align-items:baseline;gap:7px;font-size:35px;letter-spacing:-1.5px;font-weight:500;line-height:1;margin-top:28px}.stat-card strong small{font-size:12px;font-weight:400;letter-spacing:0}.stat-card strong .muted{font-size:22px;color:#aaa0a7}.stat-foot{font-size:10px;color:#8f858e;display:flex;justify-content:space-between;width:100%;margin-top:auto;padding-top:20px}.accent-card{background:radial-gradient(ellipse at 100% 0,#b4617b 0,transparent 50%),linear-gradient(135deg,#2b1825,#752e43 75%,#a95b73);color:#fff;border-color:#9f617260}.accent-card:before{width:230px;height:230px;background:transparent;border:30px solid #e7a6bc1a;top:-140px;right:-70px;border-radius:40%;box-shadow:0 0 0 24px #d68aa511;transform:rotate(15deg)}.accent-card .stat-foot,.accent-card .stat-icon{color:#ebcbd6}.deadline-card{border:0;border-radius:17px;background:radial-gradient(ellipse at 115% 110%,#a14b67 0,#62263b 28%,transparent 57%),#232123;padding:20px 23px;text-align:left;color:#fff;position:relative;overflow:hidden;min-height:179px}.deadline-card:after{content:'';position:absolute;right:-62px;bottom:-131px;width:235px;height:260px;border:22px solid #ae587338;border-radius:45%;transform:rotate(45deg);pointer-events:none}.mini-pill{font-size:8px;letter-spacing:1.3px;color:#c4adb9}.deadline-card strong{font-size:23px;display:block;font-weight:450;letter-spacing:-.6px;margin:14px 0 7px}.deadline-card p{color:#b8abb5;font-size:10px}.deadline-card p b{color:#f0e6eb;font-weight:450}.deadline-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:#c6b5c0;margin-top:18px;position:relative;z-index:1}.deadline-bottom i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#a34c69;color:#fff;font-style:normal;font-size:15px}.status-strip{border-radius:12px;background:#f8f4f6a8;border:1px solid #e0d6dd;display:flex;align-items:center;gap:12px;padding:13px 17px;margin-bottom:20px;font-size:11px}.status-strip b{display:block;font-size:11px;font-weight:550}.status-strip span:not(.status-dot){display:block;color:#96818d;font-size:10px;margin-top:4px}.status-strip .text-button,.status-strip .check-label{margin-left:auto}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;box-shadow:0 0 0 4px #752e430b}.text-button{background:none;border:0;color:var(--accent);font-size:10px;padding:5px;white-space:nowrap}.panel{border-radius:18px;background:linear-gradient(135deg,#f8f7f8e8,#f2f0f3dc);border:1px solid #fff8;overflow:hidden;margin-bottom:20px;box-shadow:0 4px 20px #473c4202}.panel-heading{padding:21px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.pill{background:#e8e3e8;color:#8c7d87;border-radius:6px;padding:5px 7px;font-size:8px;letter-spacing:.5px;white-space:nowrap}.pill.warning{background:#ede0e5;color:#873d55}.subtle{font-size:10px;color:#948b93}.tablewrap{overflow:auto;max-height:548px;scrollbar-width:thin;scrollbar-color:#c5b4c0 transparent}.roster{min-width:1120px}table{border-collapse:separate;border-spacing:0;width:100%;font-size:11px}th{color:#928a93;font-weight:400;background:#efedf0;white-space:nowrap}td,th{padding:9px 6px;text-align:center;border-bottom:1px solid #e4dfe640;height:45px}th{padding:15px 8px}th small{font-size:7px;letter-spacing:.8px;display:block;margin-top:6px;font-weight:400;color:#a99ca5}thead th{position:sticky;top:0;z-index:2}th:first-child,td:first-child{position:sticky;left:0;background:#f5f3f6;z-index:1;padding-left:20px;text-align:left;min-width:100px}thead th:first-child{z-index:3;background:#efedf0}.head-person{display:flex;align-items:center;gap:7px;justify-content:center;color:#51434f;white-space:nowrap}.head-person b{font-weight:500;font-size:11px}.date b{font-weight:500;color:#51464e}.date span{font-size:9px;color:#9b9099;margin-left:9px}.date i{font-style:normal;margin-left:6px;color:var(--accent)}.shift{border:0;border-radius:6px;background:#eae6eb;color:#a99aa6;width:100%;min-width:83px;min-height:30px;font-size:10px;padding:7px 5px;white-space:nowrap}.shift.work{background:#752e43;color:#fff;box-shadow:inset 0 1px 0 #ffffff14}.shift.short{background:#c38b9f;color:#fff}.shift.off{background:#e5d5dd;color:#966c7e}.shift.leave{background:#e0dce9;color:#877494}.shift.empty{background:#eae7eb77;color:#b4a9b1}.shift:disabled{opacity:1}.shift:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 3px 9px #47253920}.weekend td{background-color:#eee9ef44}.weekend td:first-child{background:#ede8ee}.count{font-size:11px;color:#753e55;font-weight:600}.count span{font-size:9px;font-weight:400;color:#b29ca8}.count.low{color:#a18c98}.day-target{font-size:9px;color:#99838f}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;color:#a396a0;font-size:9px}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:9px}.legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px}.legend-work{background:#752e43}.legend-short{background:#c38b9f}.legend-off{background:#e5d5dd}.legend-leave{background:#c7bdd8}.bottom-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.heatmap{display:flex;gap:4px;padding:5px 20px 20px;overflow:auto}.heatmap>div{flex:1;min-width:13px;text-align:center}.heatmap span{font-size:8px;color:#a298a0;display:block;margin-bottom:8px}.heatmap i{display:grid;place-items:center;font-size:8px;font-style:normal;min-height:30px;border-radius:4px;background:rgba(117,46,67,calc(var(--heat)*.8 + .05));color:#fffd}.panel-note{font-size:9px;color:#aa9ba6;padding:0 20px 18px}.issue-list{max-height:160px;overflow:auto}.issue{padding:11px 20px;border-top:1px solid #e3dce280;font-size:10px;display:flex;gap:10px;line-height:1.6}.issue>span{color:#9a6079}.issue small{display:block;color:#ad9da8;font-size:9px;margin-top:3px}.candidate-panel{background:#e9dce3;border:1px solid #d9bcca;border-radius:15px;padding:20px;display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:20px}.candidate-panel>.actions{margin-left:auto}.candidate-totals{width:100%;display:flex;gap:10px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #d6c0cd}.candidate-totals>span{padding:8px 12px;background:#f6eef299;border-radius:8px;font-size:10px}.candidate-totals small{display:block;color:#a18496;margin-top:4px}.candidate-totals b{margin-left:5px;color:#752e43}.notice{background:#e9e1e8;border:1px solid #ddd0db;padding:14px 18px;border-radius:11px;font-size:11px;line-height:1.7;color:#8e7186;margin-bottom:20px}.person-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.person{padding:25px;margin-bottom:0}.person-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.person h2{font-size:20px}.fields label{display:block;font-size:10px;color:#9b8796;margin:16px 0 7px}input,select,textarea{width:100%;border:1px solid #d9ced8;border-radius:8px;padding:10px 12px;font-size:12px;background:#fbf8fc99;color:#5e4a59;min-height:39px}select{cursor:pointer}.actions select{width:auto;font-size:10px;min-height:36px}.person-note{background:#ebe0e8;padding:12px;border-radius:9px;font-size:10px;color:#947689;line-height:1.7;margin-top:20px}.efo-card{background:#29232b;color:#fff}.efo-card p{color:#b6a3b1}.efo-card .person-note{background:#3c303d;color:#baa4b6}.efo-number{font-size:65px;letter-spacing:-3px;color:#cb8aa5;margin:20px 0}.efo-number span{font-size:14px;letter-spacing:0}.form{padding:24px}.form>.fields{margin-top:12px}.form .btn{margin-top:15px}.row{display:flex;gap:14px}.row>*{flex:1;min-width:0}textarea{min-height:80px;resize:vertical}.check-label{display:flex;align-items:center;gap:8px;font-size:10px;color:#93768a;line-height:1.6}.check-label input{width:15px;height:15px;min-height:0;accent-color:var(--accent);flex-shrink:0}.request-item{padding:18px 20px;border-top:1px solid #e4dce4;display:flex;align-items:center;gap:12px;font-size:12px}.request-item .icon-button{margin-left:auto}.request-item small{font-size:10px;color:#a18c9b}.empty-state{text-align:center;color:#a18e9d;padding:45px 20px;font-size:12px}.empty-state>span{font-size:25px;color:#bea5b5}.consent-form{margin-top:18px}.consent-form>*{flex:1;min-width:120px}.upload-panel{display:flex;align-items:center;justify-content:space-between;padding:28px 32px}.upload-icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e6d7e1;color:#8c4c69;font-size:25px;margin-bottom:16px}.file-label{position:relative;cursor:pointer}.file-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.import-tabs{padding:0 20px 20px;display:flex;gap:8px;flex-wrap:wrap}.mapping-grid{padding:0 20px 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}.import-actions{padding:15px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between}.panel>.notice{margin:10px 20px 20px}.import-result{padding:20px;border-top:1px solid #d9c8d5}.import-result .btn{margin-top:20px}.error-text{color:#9a3a5c}details{padding:15px 20px;font-size:11px;color:#9f7f94}summary{cursor:pointer}.opening-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 15px;margin-bottom:20px}.hours-table{min-width:900px}.hours-table td{height:67px}.hours-table small{display:block;font-size:9px;color:#a38a9b;margin-top:6px}.history{display:flex;gap:15px;align-items:center;padding:24px;border-bottom:1px solid #e2d6e0}.history-icon{display:grid;place-items:center;background:#e9dce5;color:#97617f;width:40px;height:40px;border-radius:12px;font-size:21px}.history .btn{margin-left:auto}footer{font-size:8px;letter-spacing:.5px;color:#a196a0;display:flex;gap:15px;justify-content:space-between;align-items:center;padding:15px 0 25px}footer .text-button{font-size:8px}dialog{border:1px solid #f6edf4;background:#f5f0f5;color:#503749;border-radius:20px;padding:28px;max-width:480px;width:92%;box-shadow:0 25px 100px #24112355}dialog::backdrop{background:#30202b66;backdrop-filter:blur(5px)}dialog>.actions{margin-top:22px}dialog h2{font-size:21px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:30;background:#332332;color:#fff;border-radius:12px;padding:15px 22px;font-size:12px;box-shadow:0 10px 35px #38233230;max-width:90vw}.chat-drawer{position:fixed;right:20px;top:20px;bottom:20px;width:410px;z-index:20;border:1px solid #eadce7;background:#f6f0f5;border-radius:22px;box-shadow:0 20px 90px #41293f45;display:flex;flex-direction:column;overflow:hidden}.chat-drawer[hidden]{display:none}.chat-header{display:flex;align-items:center;gap:11px;padding:20px;border-bottom:1px solid #e6d7e2}.chat-header .icon-button{margin-left:auto}.chat-header small{display:block;font-size:10px;margin-top:5px;color:#a28099}.assistant-mark{width:40px;height:40px;background:#752e43;color:white;border-radius:12px;display:grid;place-items:center;font-size:28px}.chat-messages{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:13px}.chat-bubble{border-radius:15px;padding:13px 15px;font-size:12px;line-height:1.8;white-space:pre-wrap;max-width:95%}.chat-bubble.assistant{background:#ebe0e9;color:#82627a;border-top-left-radius:3px}.chat-bubble.user{background:#752e43;color:#fff;align-self:flex-end;border-bottom-right-radius:3px}.chat-bubble small{display:block;font-size:10px;line-height:1.7;margin-top:10px;opacity:.8}.chat-proposal{padding:15px;background:#fff9;border:1px solid #dbbacf;border-radius:13px;font-size:12px}.chat-proposal .btn{margin:5px 3px 0 0;white-space:normal}.chat-examples{padding:10px 20px;display:flex;gap:8px}.chat-examples button{border:1px solid #d7bbce;border-radius:12px;color:#97708b;background:transparent;font-size:9px;padding:7px}.chat-drawer form{padding:0 20px 20px;display:flex;gap:8px;flex-direction:column}.chat-drawer textarea{min-height:75px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(min-width:1500px){.roster{font-size:12px}.shift{min-height:33px;font-size:11px}.tablewrap{max-height:650px}}@media(max-width:1200px){body{padding:18px 14px}.app-shell{padding:0 20px}.topbar{gap:10px}.nav-item{font-size:10px;padding:10px}.brand{min-width:140px;font-size:18px}.overview-grid{grid-template-columns:2.5fr 1fr}.stat-card{padding:17px}.stat-card strong{font-size:28px}.deadline-card{padding:17px}.deadline-card strong{font-size:20px}.profile>span:last-child{display:none}}@media(max-width:950px){.topbar{flex-wrap:wrap;padding:15px 0;gap:15px}.brand{flex:1}nav{order:2;flex-basis:100%;overflow:auto}.overview-grid{grid-template-columns:1fr}.deadline-card{min-height:130px}.deadline-card p{display:inline-block}.deadline-bottom{margin-top:12px}.summary-cards{gap:12px}.stat-card{min-height:155px}.bottom-grid{grid-template-columns:1fr}.person-grid{grid-template-columns:repeat(2,1fr)}.opening-grid{grid-template-columns:repeat(2,1fr)}.mapping-grid{grid-template-columns:repeat(2,1fr)}.page-heading{align-items:flex-start}.page-heading>.actions{max-width:210px;justify-content:flex-end}.status-strip{flex-wrap:wrap}.status-strip #asOf{width:auto}.status-strip .check-label{margin-left:0}}@media(max-width:600px){body{padding:10px 8px}.app-shell{padding:0 14px;border-radius:18px}.topbar{padding:12px 0}.logo-tile{height:52px;width:38px}.logo-tile img{height:43px}.nav-item{padding:9px 12px}.page-heading{display:block;margin-bottom:20px}h1{font-size:30px;letter-spacing:-1.2px}.page-heading>.actions{max-width:none;justify-content:flex-start;margin-top:18px}.page-heading .primary{padding:11px 15px}.eyebrow{font-size:8px}.summary-cards{gap:7px}.stat-card{padding:12px 10px;min-height:145px;border-radius:12px}.stat-kicker{font-size:7px;letter-spacing:.3px}.stat-card strong{font-size:25px;flex-wrap:wrap;gap:4px;margin-top:22px}.stat-card strong small{font-size:9px}.stat-card strong .muted{font-size:16px}.stat-foot{font-size:8px;line-height:1.5;padding-top:14px}.stat-icon{display:none}.deadline-card{border-radius:12px}.panel{border-radius:13px}.panel-heading{padding:17px 14px}.panel-heading .actions{gap:6px}.panel-heading .btn{font-size:9px;padding:8px}.panel-heading h2{font-size:15px}.pill{font-size:7px}.status-strip{padding:12px;font-size:10px}.status-strip .text-button{margin-left:0}.table-footer{padding:14px;align-items:flex-start;flex-direction:column}.legend{gap:12px}.person-grid{grid-template-columns:1fr}.form{padding:20px}.mapping-grid{grid-template-columns:1fr}.import-actions,.upload-panel{flex-direction:column;align-items:flex-start;gap:20px}.opening-grid{grid-template-columns:1fr}.candidate-panel{padding:15px}.candidate-panel>.actions{margin-left:0}.candidate-totals{gap:5px}.candidate-totals>span{padding:8px;font-size:9px}.chat-drawer{inset:8px;width:auto;border-radius:16px}.history{padding:16px;flex-wrap:wrap}.history .btn{margin-left:55px}.history h2{font-size:14px}footer{align-items:flex-start;flex-direction:column;line-height:1.7}.request-item{padding:15px}.import-tabs{padding:0 14px 14px}.consent-form{flex-direction:column;align-items:stretch}.row{gap:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.chat-cost{padding:5px 20px 12px;color:#a48a9d;font-size:9px}.page-heading h1{color:#28252a}.page-heading h1 em{font-style:normal;color:var(--accent)}
.shared-banner{display:flex;align-items:center;gap:8px;padding:11px 2px;border-bottom:1px solid #ddd2da;font-size:10px;color:#8b6a7c}.sync-dot{width:6px;height:6px;border-radius:50%;background:#6c8a73}.sync-dot.pending{background:#b28e5f}.sync-dot.error{background:#a94060}.shared-banner .text-button{margin-left:auto}.auth-shell .topbar{min-height:100px}.auth-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:center;padding:35px 35px 65px;max-width:1100px;margin:auto;min-height:650px}.auth-story h1{font-size:clamp(36px,4vw,56px);line-height:1.12;letter-spacing:-2px;margin-bottom:22px}.auth-story p{font-size:13px}.auth-logo{background:radial-gradient(ellipse at 90% 20%,#b06682,transparent 65%),#542337;border-radius:24px;display:grid;place-items:center;width:160px;height:180px;margin-top:30px;box-shadow:0 15px 35px #54233720}.auth-logo img{height:145px;width:auto}.auth-card{background:#fbf7fbbb;border:1px solid #fff;border-radius:22px;padding:32px;box-shadow:0 20px 50px #61394f08}.auth-card h2{font-size:27px;margin:22px 0 10px;font-weight:450;letter-spacing:-1px}.auth-card .fields{margin-top:25px}.auth-card .btn{width:100%;margin-top:20px}.auth-help{font-size:10px;margin-top:20px;text-align:center}.team-list,.suggestion-history{max-height:300px;overflow:auto;margin:20px 0}.team-list article,.suggestion-history article{padding:16px 0;border-top:1px solid #e3d5df;font-size:12px}.team-list small,.suggestion-history small{display:block;color:#9b8493;font-size:10px;margin:6px 0}.suggestion-history p{white-space:pre-wrap}.profile{gap:8px}.profile .icon-button{font-size:17px}.auth-card #authError{margin-top:15px}.auth-shell footer{padding-top:20px}#inviteResult{padding-top:20px;font-size:11px}#inviteResult input{margin-top:10px}.shared-banner.error{color:#a94060}@media(max-width:800px){.auth-layout{grid-template-columns:1fr;gap:30px;padding:20px 5px 40px;min-height:0}.auth-story{padding:10px}.auth-story h1{font-size:36px}.auth-logo{display:none}.auth-card{padding:24px}.shared-banner{flex-wrap:wrap;line-height:1.6}.topbar .profile .icon-button{width:28px;height:28px;font-size:14px}}
.ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:30px}.ops-wide{grid-column:1/-1}.ops-grid .fields label{display:grid;gap:7px;font-size:11px;color:#6d5f69}.ops-grid .check-label{display:flex;margin:12px 0;align-items:center;font-size:11px}.ops-grid .check-label input{width:auto}.ops-grid input,.ops-grid select,.ops-grid textarea{max-width:100%;min-width:0}.ops-grid td input{width:155px}.ops-grid td input[type=number]{width:90px}.ops-grid .btn{margin:8px 5px 0 0}.ops-scroll{max-height:350px;overflow:auto;margin-top:15px}.ops-scroll article{padding:12px 0;border-bottom:1px solid var(--line)}.ops-scroll p{overflow-wrap:anywhere}.ops-grid h3{margin-top:25px}.ops-grid textarea{min-height:110px}@media(max-width:850px){.ops-grid{grid-template-columns:1fr}.ops-wide{grid-column:auto}}nav{overflow-x:auto}
.ops-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.ops-tabs .selected{background:#752e43;color:white;border-color:#752e43}.ops-grid .ops-wide{min-width:0}
.ops-grid .fields label.check-label{display:flex;align-items:center;gap:10px}.ops-grid label.check-label input{margin:0;flex:0 0 16px;width:16px;height:16px}#opsMonth{width:160px;flex:0 0 160px}.ops-grid .fields label{line-height:1.5}
.assistant-launch{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:#752e43;color:#fff!important;border-radius:12px;padding:12px 16px;font-size:12px!important;font-weight:600;white-space:nowrap;min-height:44px;flex-shrink:0;box-shadow:0 5px 15px #752e4320}.assistant-launch>span{font-size:24px}.assistant-launch:hover{background:#5b2034}.assistant-entry{display:flex;align-items:flex-start;gap:16px;border:1px solid #cbaab9;background:linear-gradient(120deg,#f0e2e9,#fbf7fa);padding:22px;border-radius:18px;margin-bottom:22px}.assistant-entry>div{flex:1;min-width:0}.assistant-entry h2{font-size:18px;color:#63243c}.assistant-entry p{color:#755c6c;margin:8px 0 15px}.assistant-entry form{display:flex;gap:10px}.assistant-entry input{flex:1;min-width:0;background:#fff9}.mobile-roster{display:none}.chat-messages{min-height:0;overscroll-behavior:contain}.chat-header,.chat-drawer form{flex-shrink:0}.chat-drawer{max-width:calc(100vw - 32px)}.chat-drawer input,.chat-drawer select,.chat-drawer textarea{min-width:0}.chat-cost{font-size:10px;padding:5px 20px;color:#75576b}.panel,.bottom-grid>*{min-width:0}.tablewrap{max-width:100%;overscroll-behavior-x:contain}main{min-width:0}.app-shell{width:100%}
@media(max-width:950px){.topbar{gap:10px}.assistant-launch{font-size:11px!important;padding:9px 12px}.topbar .profile{margin-left:auto}.topbar .brand{min-width:120px}.topbar nav{scrollbar-width:thin}.nav-item{min-height:44px}.ops-tabs .btn{min-height:44px}}
@media(max-width:600px){body{padding-bottom:95px}.assistant-launch{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:15;border-radius:28px;padding:12px 20px;font-size:14px!important;box-shadow:0 8px 25px #4d213b40}.chat-open .assistant-launch{display:none}.chat-open{overflow:hidden}.assistant-entry{padding:17px;gap:11px;margin-bottom:18px}.assistant-entry>.assistant-mark{width:30px;height:30px;flex-shrink:0;font-size:23px}.assistant-entry h2{font-size:17px}.assistant-entry form{flex-direction:column}.assistant-entry .btn{width:100%;min-height:46px}.assistant-entry input{min-height:46px}.desktop-roster{display:none}.mobile-roster{display:block;padding:0 12px 12px}.mobile-day{padding:0;margin:8px 0;border:1px solid #ded3da;border-radius:12px;background:#faf7fa;overflow:hidden;color:#382b35}.mobile-day summary{padding:16px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;min-height:52px;list-style:none}.mobile-day summary::after{content:'';width:8px;height:8px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg);margin-right:3px}.mobile-day[open] summary{background:#eee0e7;border-bottom:1px solid #ded3da}.mobile-day summary>span{margin-left:auto;font-size:11px;white-space:nowrap}.mobile-person{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:0;border-bottom:1px solid #ebe2e8;background:transparent;text-align:left;font-size:12px;min-height:46px;color:#4d3946}.mobile-person:disabled{opacity:1}.mobile-person b{color:#752e43;font-size:11px;text-align:right}.chat-drawer{inset:0;max-width:none;width:100%;height:100dvh;border:0;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.chat-header{padding:15px}.chat-header .icon-button{width:44px;height:44px}.chat-messages{padding:14px}.chat-drawer form{padding:10px 14px 14px;background:#f6f0f5}.chat-drawer textarea{min-height:70px;max-height:120px;resize:vertical}.chat-drawer form .btn{min-height:46px}.chat-examples{padding:5px 14px}.chat-examples button{min-height:38px;font-size:10px}.chat-proposal .btn{min-height:44px}input,select,textarea{font-size:16px!important}.fields .row{flex-wrap:wrap}.row>div{min-width:0;flex:1 1 140px}.page-heading select{max-width:100%}.panel-heading{flex-wrap:wrap;gap:10px}.panel-heading .actions{flex-wrap:wrap}.status-strip{line-height:1.6}.candidate-totals{max-height:180px;overflow:auto}.ops-grid .form{padding:17px}.ops-grid td input{font-size:16px}.person-grid,.mapping-grid,.opening-grid{min-width:0}.bottom-grid{grid-template-columns:minmax(0,1fr)}.shared-banner{font-size:11px}.auth-layout input{min-height:46px}#toast{bottom:calc(85px + env(safe-area-inset-bottom));width:calc(100% - 30px);max-width:420px}.chat-open #toast{bottom:20px}}
@media(max-height:700px) and (max-width:600px){.chat-examples,.chat-cost{display:none}.chat-bubble{padding:10px;font-size:12px}.chat-header{padding:9px 14px}.chat-drawer textarea{min-height:56px}}
@media(max-width:600px){.assistant-inline-visible .assistant-launch{display:none}}
.shift-break{display:block;font-size:8px;margin-top:4px;opacity:.75}.mobile-person b small{display:block;font-size:9px;font-weight:400;margin-top:3px}.roster td>.shift{display:inline-flex;flex-direction:column;justify-content:center}.roster th:nth-last-child(3){min-width:115px}
.mobile-person.short{background:#ecdce6;border-left:3px solid #ae7891}.mobile-person.short b{color:#69384e}.shift.short{border-color:#d5b4c7}

.assistant-entry textarea{flex:1;min-width:0;min-height:86px;background:#fff9;resize:vertical}.assistant-entry{margin-top:20px}#versionStatus{width:100%;min-height:46px}
/* One conversation, available beside the plan and in the floating assistant. */
.assistant-entry.conversation-surface{display:flex;flex-direction:column;gap:0;padding:0;background:#fffdfd;border:1px solid #dfd1d8;box-shadow:0 8px 26px #5f344509;overflow:hidden;margin:22px 0;min-width:0}
.conversation-header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid #eee6ea;background:linear-gradient(110deg,#fcf8fa,#fffdfd);flex-shrink:0}.conversation-avatar,.message-avatar{display:grid;place-items:center;flex-shrink:0;border-radius:12px;background:#752e43;color:#fff;width:38px;height:38px;font-size:25px}.conversation-header h2{font-size:17px;color:#362631;font-weight:600;letter-spacing:-.4px}.conversation-header>div>span{display:flex;align-items:center;gap:5px;font-size:10px;color:#887280;margin-top:5px}.assistant-online{width:6px;height:6px;background:#789a82;border-radius:50%;display:inline-block}.conversation-context{margin-left:auto;font-size:11px;color:#8c6f7d;background:#f3ebef;border-radius:20px;padding:7px 10px}.conversation-close,.conversation-expand{border:1px solid #e6dce2;background:#fff;border-radius:10px;min-width:36px;height:36px;color:#816575;font-size:23px;flex-shrink:0}.conversation-close:hover,.conversation-expand:hover{background:#f2e7ed}.conversation-log{overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;min-height:150px;max-height:480px;padding:24px 28px;display:flex;flex-direction:column;gap:24px;scrollbar-width:thin;scrollbar-color:#dbc8d2 transparent;outline-offset:-4px}.conversation-message{display:flex;gap:12px;align-items:flex-start;max-width:92%;font-size:13px;line-height:1.75}.conversation-message>div{min-width:0}.message-avatar{width:28px;height:28px;font-size:19px;border-radius:9px;margin-top:2px;background:#f0e2e9;color:#752e43}.message-author{font-size:10px;font-weight:650;color:#806674;display:block;margin-bottom:5px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;color:#43313e;font-size:13px;line-height:1.85}.conversation-message.user{align-self:flex-end;flex-direction:row-reverse;max-width:85%}.conversation-message.user>div{border-radius:18px 3px 18px 18px;padding:12px 17px;background:#f3e9ee}.conversation-message.user .message-author{display:none}.conversation-message.user .message-avatar{font-size:9px;background:#752e43;color:white}.message-copy{border:0;background:transparent;color:#a38a98;padding:3px 0;font-size:10px;margin-top:6px;opacity:.7}.message-copy:hover{color:#752e43;opacity:1}.conversation-form{padding:0 24px 18px!important;margin:0!important;display:block!important;border:0!important;background:transparent!important;flex-shrink:0}.composer{border:1px solid #dfd3db;background:#faf7f9;border-radius:18px;padding:12px 13px 10px;transition:border-color .2s,box-shadow .2s}.composer:focus-within{border-color:#aa7087;box-shadow:0 0 0 3px #752e430b;background:#fff}.composer textarea{display:block;width:100%;min-height:56px!important;max-height:180px!important;padding:4px 5px!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;resize:none!important;font-size:13px!important;line-height:1.65;color:#49323f}.composer textarea::placeholder{color:#a08a98}.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.composer-person{display:flex;align-items:center;gap:5px;color:#8d7382;min-width:0;font-size:12px}.composer-person select{max-width:210px;width:auto;border:0;background:transparent;padding:7px 3px;color:#8d7382;font-size:10px;min-height:30px;outline-offset:0}.send-message{display:grid;place-items:center;border:0;border-radius:50%;width:35px;height:35px;min-height:35px!important;padding:0!important;background:#752e43;color:#fff;font-size:24px;flex-shrink:0}.send-message:hover{background:#5d2036;transform:translateY(-1px)}.send-message:disabled{background:#ddd1d8;color:#a8919f;opacity:1}.stop-message{font-size:13px}.composer-hint{display:flex;justify-content:space-between;gap:12px;margin:8px 5px 0;color:#a08a98;font-size:9px;line-height:1.5}.keyboard-hint{white-space:nowrap}.conversation-starters{display:flex;gap:8px;flex-wrap:wrap;padding:0 28px 20px}.conversation-starters button{background:#fff;border:1px solid #e7dce3;border-radius:20px;padding:8px 12px;color:#7d6372;font-size:11px}.conversation-starters button:hover{background:#f7edf2;border-color:#bc94a6}.conversation-proposal{margin:0 0 2px 40px;border:1px solid #dcc7d2;border-radius:14px;padding:18px;background:linear-gradient(120deg,#faf2f6,#fff)}.proposal-eyebrow{font-size:8px;letter-spacing:.8px;color:#9a7286}.conversation-proposal h3{font-size:14px;color:#683149;margin:9px 0}.conversation-proposal p{font-size:12px;color:#715463;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:16px}.proposal-actions{display:flex;flex-wrap:wrap;gap:8px}.proposal-actions .btn{white-space:normal;text-align:center;line-height:1.5}.thinking{display:flex;align-items:center;gap:4px;height:32px}.thinking>span{width:5px;height:5px;border-radius:50%;background:#a7788e;animation:assistant-think 1.3s infinite}.thinking>span:nth-child(2){animation-delay:.15s}.thinking>span:nth-child(3){animation-delay:.3s}.thinking small{font-size:11px;color:#9a7e8d;margin-left:7px}@keyframes assistant-think{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.chat-drawer{width:490px!important;max-width:calc(100vw - 32px)!important;height:min(820px,calc(100dvh - 40px))!important;display:flex;flex-direction:column;padding:0!important;background:#fffdfd!important;border:1px solid #ddcbd5!important;border-radius:22px!important;box-shadow:0 20px 90px #46273733!important;overflow:hidden}.chat-drawer[hidden]{display:none!important}.chat-drawer .conversation-log{flex:1;max-height:none;padding:22px;gap:22px}.chat-drawer .conversation-header{padding:18px}.chat-drawer .conversation-header h2{font-size:15px}.chat-drawer .conversation-context{display:none}.chat-drawer .conversation-form{padding:0 16px 14px!important}.chat-drawer .keyboard-hint{display:none}.chat-drawer .conversation-message{max-width:100%}.chat-drawer .conversation-message.user{max-width:93%}.chat-drawer .message-body{font-size:12px}.chat-drawer .conversation-proposal{margin-left:0}.chat-drawer .conversation-starters{padding:0 18px 16px}.cell-editor-heading{display:flex;gap:14px;align-items:center;margin-bottom:16px}.cell-editor-heading h2{font-size:21px}.cell-editor-heading p{margin-top:5px}#modal #shiftTimes .row{display:flex;gap:15px}#modal #shiftTimes .row>div{flex:1;min-width:0}.shift:not(:disabled):hover,.mobile-person:not(:disabled):hover{box-shadow:inset 0 0 0 2px #a96c86;background-color:#e2c9d6;color:#5f253d}.shift.empty:not(:disabled):hover::after{content:' +';font-weight:600}.roster .shift{min-height:32px}
@media(max-width:600px){.assistant-entry.conversation-surface{margin:18px 0;border-radius:17px}.conversation-header{padding:16px;gap:10px}.conversation-header h2{font-size:15px}.conversation-context{display:none}.conversation-log{max-height:430px;padding:18px 14px;gap:22px}.conversation-message{max-width:100%;gap:8px}.conversation-message.user{max-width:96%}.message-body{font-size:13px;line-height:1.8}.conversation-message.user>div{padding:10px 13px}.conversation-form{padding:0 12px 13px!important}.composer textarea{font-size:16px!important;min-height:65px!important}.composer-person select{font-size:12px!important;max-width:190px}.composer-hint{font-size:9px}.keyboard-hint{display:none}.send-message{width:40px;height:40px;min-height:40px!important}.conversation-proposal{margin-left:0;padding:15px}.proposal-actions{flex-direction:column;align-items:stretch}.proposal-actions button{min-height:44px}.conversation-starters{padding:0 14px 16px;gap:6px}.conversation-starters button{font-size:10px;min-height:36px}.chat-drawer{inset:0!important;width:100%!important;max-width:none!important;height:100dvh!important;border:0!important;border-radius:0!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}.chat-drawer .conversation-header{padding:15px}.chat-drawer .conversation-log{padding:18px 14px}.chat-drawer .message-body{font-size:14px}.chat-drawer .conversation-form{padding:0 12px 12px!important}.conversation-close{width:42px;height:42px;margin-left:auto}.cell-editor-heading h2{font-size:19px}.cell-editor-heading .avatar{display:none}#modal .actions>.btn{flex:1;white-space:normal;min-height:46px}}
@media(prefers-reduced-motion:reduce){.thinking>span{animation:none}.conversation-log{scroll-behavior:auto}.send-message:hover{transform:none}}
.assistant-entry.conversation-surface{align-items:stretch}.conversation-surface>.conversation-header{width:100%}.conversation-surface>.conversation-log,.conversation-surface>.conversation-form{width:100%;max-width:920px;margin-left:auto!important;margin-right:auto!important}.conversation-surface>.conversation-starters{width:100%;max-width:920px;margin-inline:auto}.conversation-surface .conversation-expand{margin-left:0}.head-hours{display:flex;flex-direction:column;gap:4px;margin-top:11px;padding-top:9px;border-top:1px solid #ded0d94d}.head-hours>b{font-size:14px;line-height:1.2;color:#71334b;font-weight:650;font-variant-numeric:tabular-nums}.head-hours>b>span{font-size:10px;font-weight:450;color:#9b7f8d}.roster th .head-hours small{font-size:8px!important;letter-spacing:0!important;color:#a08c98!important;white-space:nowrap}
/* The shift stays still and retains its meaning on hover. */
.shift:not(:disabled):hover{transform:none;box-shadow:0 0 0 2px #a76c8540;color:inherit}.shift.work:not(:disabled):hover{background:#81374f;color:#fff}.shift.short:not(:disabled):hover{background:#bd8198;color:#fff}.shift.empty:not(:disabled):hover{background:#e8dee4;color:#987789}.shift.off:not(:disabled):hover{background:#deccd6;color:#855f72}.shift.leave:not(:disabled):hover{background:#d7d0e3;color:#7b658f}.shift.empty:not(:disabled):hover::after{content:none}.mobile-person:not(:disabled):hover{box-shadow:none;background:#f4ebf0;color:#5b3f50}
dialog.cell-editor{padding:0!important;max-width:470px;width:calc(100% - 32px);border:1px solid #eadfe5;background:#fffdfd;border-radius:22px;overflow:hidden;box-shadow:0 28px 100px #351c3540}dialog.cell-editor::backdrop{background:#30232d4d;backdrop-filter:blur(4px)}.cell-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px 20px;border-bottom:1px solid #eee5eb;background:#fff}.editor-person{display:flex;gap:12px;align-items:center}.editor-person .avatar{width:42px;height:42px;border-radius:13px;font-size:12px;background:#f0e2e9;color:#752e43}.editor-eyebrow{font-size:8px;letter-spacing:1.2px;color:#a38a98;display:block;margin-bottom:5px}.cell-editor-header h2{font-size:20px;letter-spacing:-.5px;font-weight:600;color:#392735}.editor-close{width:33px;height:33px;border:1px solid #eee6eb;background:#faf7f9;border-radius:50%;font-size:24px;line-height:1;color:#967c8b;display:grid;place-items:center}.editor-close:hover{background:#efe3ea;color:#752e43}.cell-editor-body{padding:21px 24px 10px}.editor-date{display:flex;align-items:center;gap:10px;margin-bottom:23px}.editor-date>span:first-child{color:#ac8b9c;font-size:21px}.editor-date b{display:block;color:#654d5b;font-size:12px;font-weight:550}.editor-date small{display:block;font-size:9px;color:#b29aa7;margin-top:3px}.editor-preview-pill{margin-left:auto;border:1px solid #eadce4;border-radius:20px;padding:5px 9px;font-size:9px;color:#a0798e;background:#fcf5f8}.editor-status{display:flex;gap:3px;padding:4px;background:#f3edf1;border:1px solid #eee4eb;border-radius:12px;margin-bottom:22px}.editor-status button{flex:1;border:0;background:transparent;color:#9b8090;border-radius:8px;padding:10px 6px;font-size:11px;font-weight:500}.editor-status button[aria-pressed=true]{background:#fff;color:#752e43;box-shadow:0 2px 7px #5434430c}.editor-time-range{display:flex;align-items:center;gap:9px}.editor-time-range>label{flex:1;min-width:0;display:block;border:1px solid #e6d9e1;border-radius:13px;background:#fdfafb;padding:13px 12px 9px}.editor-time-range>label:focus-within{border-color:#ad7a90;box-shadow:0 0 0 3px #752e4308}.editor-time-range label>span{display:block;font-size:8px;color:#ac8c9e;letter-spacing:1px;font-weight:550;margin-bottom:8px}.editor-time-range input{display:block;width:100%;border:0!important;outline:none!important;box-shadow:none!important;padding:0!important;min-height:34px;background:transparent!important;font-size:25px!important;letter-spacing:-1px;color:#63354d;font-weight:550;font-variant-numeric:tabular-nums;color-scheme:light}.editor-time-range input::-webkit-calendar-picker-indicator{opacity:.3;width:15px;padding:0;margin-left:3px}.editor-time-arrow{color:#b79eac;font-size:21px}.editor-presets{display:flex;gap:7px;margin-top:10px;margin-bottom:19px}.editor-presets button{border:1px solid #eadfe6;background:#fff;border-radius:7px;padding:6px 9px;font-size:9px;color:#9a7488}.editor-presets button:hover{background:#f7edf3;color:#752e43;border-color:#c9a6b8}.editor-hours{display:flex;align-items:center;justify-content:space-between;padding:12px 0 16px;border-top:1px solid #f0e8ed;font-size:11px;color:#a08797}.editor-hours b{font-size:14px;color:#704259;font-weight:600}.cell-editor-body #shiftError{font-size:11px;color:#a34460}.cell-editor-body #shiftError:empty{display:none}.cell-editor-footer{border-top:1px solid #eee5eb;background:#faf7f9;padding:14px 24px 20px}.cell-editor-footer>p{font-size:9px;color:#a28b99;margin:0 0 12px}.cell-editor-footer>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.cell-editor-footer .btn{padding:12px 15px;font-size:11px;border-radius:10px;min-height:42px}.editor-remove{border:0;background:transparent;color:#a3697e;font-size:10px;padding:9px 0}.editor-remove:hover{color:#80304c;text-decoration:underline}.editor-off{text-align:center;padding:7px 14px 25px}.editor-off>span{display:block;color:#b99aa9;font-size:32px;margin-bottom:13px}.editor-off>b{font-size:14px;color:#795368;font-weight:550}.editor-off p{font-size:11px;color:#ac929f;margin-top:7px}.cell-editor-body #editorAbsence{padding:3px 0 24px}.cell-editor-body #editorAbsence label{display:block;margin-bottom:9px;font-size:11px;color:#a08797}.cell-editor-body #editorAbsence select{width:100%;padding:12px;border:1px solid #e5d8e1;border-radius:10px;background:#fff;color:#795469;font-size:13px}.cell-editor [hidden]{display:none!important}
@media(max-width:600px){dialog.cell-editor{border-radius:22px 22px 0 0!important;max-width:none;width:100%;margin:auto 0 0;max-height:calc(100dvh - 24px);overflow-y:auto;padding-bottom:env(safe-area-inset-bottom)!important}.cell-editor-header{padding:20px}.cell-editor-body{padding:20px 20px 8px}.cell-editor-footer{padding:14px 20px 20px}.editor-time-range input{font-size:27px!important}.cell-editor-footer .btn{flex:0 1 auto!important;min-height:46px;font-size:12px}.editor-status button{min-height:43px;font-size:12px}.editor-remove{min-height:44px;font-size:11px}.editor-close{width:38px;height:38px}.editor-presets button{min-height:35px;font-size:10px}.cell-editor-header .avatar{display:grid}.editor-time-range>label{padding:14px}.conversation-surface>.conversation-log{max-width:100%}}
.roster th .head-person{display:flex;align-items:baseline;justify-content:center;gap:5px;white-space:nowrap}.roster th .head-hours{display:inline;margin:0;padding:0;border:0;line-height:1}.roster th .head-hours>b{font-size:9px;font-weight:550;letter-spacing:-.2px;color:#96667c}.roster th .head-hours>b>span{font-size:9px;color:#b59aa9;font-weight:400}.roster th>small{margin-top:6px}
.cell-editor-footer{display:block}.cell-editor-footer>p{margin-bottom:12px}.roster .shift:focus-visible{outline:2px solid #b18197;outline-offset:2px}
.conversation-proposal{padding:14px 16px;background:#fcf8fa;border-radius:12px}.conversation-proposal .proposal-actions{margin-top:12px}.conversation-proposal .proposal-eyebrow{font-size:8px;letter-spacing:.6px}.proposal-actions .btn{font-size:10px;padding:9px 12px;min-height:36px}.proposal-actions>.text-button{font-size:10px}.conversation-message.assistant+.conversation-proposal{margin-top:-13px}
.shift.early{background:#c38b9f;color:#fff}.shift.late{background:#dce8f2;color:#476f91}.shift.middle{background:#eee2c9;color:#91713e}.shift.early:not(:disabled):hover{background:#bc8096;color:#fff}.shift.late:not(:disabled):hover{background:#d1e1ef;color:#3f6585}.shift.middle:not(:disabled):hover{background:#e7d8b9;color:#816234}.legend-early{background:#c38b9f}.legend-late{background:#dce8f2}.legend-middle{background:#eee2c9}.mobile-person.early{background:#f2e3ea}.mobile-person.late{background:#e9f0f7}.mobile-person.middle{background:#f6efdf}.mobile-person.late b{color:#476f91}.mobile-person.middle b{color:#91713e}.presence-online{margin-bottom:22px}.presence-form{padding:0 24px 20px;display:grid;gap:10px}.presence-form .row{display:flex;gap:14px;flex-wrap:wrap}.presence-form .row>div{flex:1;min-width:150px}.presence-form label{display:block;font-size:11px;color:#8d7483;margin-bottom:7px}.presence-form input,.presence-form select{width:100%;min-height:42px;padding:10px 12px;border:1px solid #dfd2dc;border-radius:10px;background:#fff;color:#68495d}.presence-form [hidden]{display:none!important}.presence-record-state{font-size:11px;margin:0 0 4px}.presence-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:7px}.presence-form-actions [role=status]{margin-right:auto;font-size:11px;color:#a34460}.presence-month-total{padding:14px 24px;background:#f6eff3;color:#937285;font-size:11px;line-height:1.7}.presence-month-total b{color:#75465e;font-weight:550}.presence-day-list{padding:10px 24px 20px}.presence-day-list article{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #e9dfe6}.presence-day-list article>div{flex:1;min-width:0}.presence-day-list b{display:block;font-size:12px;color:#68465d;font-weight:550}.presence-day-list span{display:block;font-size:10px;color:#ab91a0;margin-top:5px}.presence-history{max-height:55vh;overflow:auto}.presence-history article{padding:14px 0;border-bottom:1px solid #e7dce4}.presence-history b{font-size:12px}.stat-card{min-height:145px}.stat-card strong{margin-top:24px}
@media(max-width:600px){.presence-form{padding:0 15px 16px}.presence-day-list{padding:5px 15px 15px}.presence-month-total{padding:13px 15px}.presence-day-list article{flex-wrap:wrap;gap:8px}.presence-day-list article>div{flex:1 1 40%}.presence-day-list article>.btn{min-height:40px}.presence-form-actions{flex-wrap:wrap}.presence-form-actions [role=status]{width:100%}.presence-form-actions>.btn{flex:1;min-height:45px}.presence-form .row>div{min-width:130px}.presence-day-list .text-button{min-height:40px}.legend{flex-wrap:wrap;gap:9px}.table-footer{align-items:flex-start}}
.mobile-hour-pills{display:none}@media(max-width:600px){.mobile-hour-pills{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding:0 12px 12px;scrollbar-width:thin}.mobile-hour-pills>span{display:flex;align-items:baseline;gap:6px;white-space:nowrap;padding:7px 9px;background:#f5edf2;border-radius:8px;font-size:10px;color:#825d71}.mobile-hour-pills b{font-size:10px;font-weight:550;color:#8b5e75}.mobile-hour-pills small{color:#b096a5;font-size:9px;font-weight:400}}
dialog.email-preview-dialog{max-width:680px;background:#fffdfd}.email-preview-dialog>label{display:block;font-size:11px;color:#917786;margin:18px 0 7px}.email-preview-dialog>select{width:100%;padding:11px;border:1px solid #dfd0da;border-radius:9px;background:#fff;color:#73455e}.mail-envelope{font-size:11px;margin:20px 0 12px}.mail-envelope>div{display:flex;gap:12px;margin:9px 0}.mail-envelope dt{width:70px;color:#ad909f;flex-shrink:0}.mail-envelope dd{margin:0;color:#725263;overflow-wrap:anywhere}.mail-body{font-family:inherit;font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;max-height:48vh;overflow:auto;background:#f9f5f8;padding:20px;border:1px solid #eee3ea;border-radius:11px;color:#513448}.email-preview-dialog #cancel{margin-top:12px}
.roster tbody tr.staff-shortage>td{background:#f9e5e7!important;border-bottom-color:#edc8cf}.roster tbody tr.staff-shortage>td:first-child{box-shadow:inset 3px 0 #c76b7c;background:#f4d9df!important}.roster tr.staff-shortage .date>b,.roster tr.staff-shortage .count{color:#a53c55}.shortage-badge{display:block;width:max-content;max-width:100%;margin:5px auto 0;border:1px solid #e7acb9;background:#f8d5de;color:#a33e57;border-radius:5px;padding:3px 5px;font-size:8px;font-weight:600;line-height:1.3;white-space:nowrap}.heatmap .heatmap-shortage i{background:#e7a6b5!important;color:#873349;box-shadow:inset 0 0 0 1px #ca7a8e}.mobile-day.staff-shortage{border-color:#dfa5b3;background:#fff4f6}.mobile-day.staff-shortage>summary,.mobile-day.staff-shortage[open]>summary{background:#f5dfe5;border-bottom-color:#e9bdc8;box-shadow:inset 3px 0 #c76b7c}.mobile-day.staff-shortage>summary>b{color:#993d56}.mobile-day .shortage-badge{font-size:9px;margin:5px 0 0 auto}.shortage-intervals{margin:0;padding:11px 12px;color:#a33e57;background:#fbeaf0;font-size:11px;line-height:1.7;border-bottom:1px solid #edc9d4}.shortage-badge::before{content:'!';font-weight:700;margin-right:4px}
.pair-preference-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #e7dbe3}.pair-preference-row b{font-size:12px;color:#75465f}.pair-preference-row p{font-size:11px}.pair-preference-row>.text-button{white-space:nowrap;min-height:40px}@media(max-width:600px){.pair-preference-row{flex-wrap:wrap}}
/* Loading states share the final layout, keeping page geometry stable. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.loading-layout{padding:10px 0 28px;max-width:100%;animation:surface-in .25s ease-out}
.skeleton{display:block;position:relative;overflow:hidden;background:#eae4e7;border-radius:7px}
.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.62),transparent);animation:skeleton-sweep 1.7s ease-in-out infinite}
.loading-heading{width:260px;max-width:65%;height:34px;margin:18px 0 30px}.loading-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.loading-card{background:#faf8f9;border:1px solid #ece6e9;border-radius:20px;padding:24px}.loading-card i{width:55%;height:12px;margin-bottom:22px}.loading-card b{width:38%;height:34px}.loading-table{background:#fff;border:1px solid #ece6e9;border-radius:20px;overflow:hidden;padding:14px 20px}.loading-table-head,.loading-row{display:grid;grid-template-columns:70px repeat(5,1fr);gap:16px;padding:15px 0;border-bottom:1px solid #f1edef}.loading-table-head .skeleton{height:14px;width:75%}.loading-row .skeleton{height:30px}.loading-row:last-child{border:0}.initial-loader{display:flex;gap:10px;padding:80px;justify-content:center}.initial-loader i{width:12px;height:12px;background:#752e43;border-radius:50%;animation:loading-pulse 1s infinite alternate}.initial-loader i:nth-child(2){animation-delay:.2s}.initial-loader i:nth-child(3){animation-delay:.4s}
#content>.page-heading{animation:surface-in .24s ease-out}.btn,.nav-item,.icon-button{transition:background-color .16s,color .16s,box-shadow .16s,transform .16s}.btn:active{transform:translateY(1px)}dialog[open]{animation:dialog-in .18s ease-out}dialog::backdrop{background:rgba(34,20,28,.28);backdrop-filter:blur(4px)}:focus-visible{outline:2px solid #752e43;outline-offset:3px}.load-error{max-width:620px;margin:60px auto}
@keyframes skeleton-sweep{to{transform:translateX(100%)}}@keyframes surface-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loading-pulse{to{opacity:.3;transform:translateY(-4px)}}
@media(max-width:600px){.loading-cards{gap:8px}.loading-card{padding:16px 12px;border-radius:14px}.loading-table{padding:10px}.loading-table-head,.loading-row{grid-template-columns:45px repeat(3,1fr);gap:8px}.loading-row i:nth-child(n+5),.loading-table-head i:nth-child(n+5){display:none}.loading-heading{height:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.presence-month-heading{align-items:flex-end}.presence-month-heading p{font-size:13px;color:#82757e;margin:8px 0 0;max-width:450px}.presence-month-heading label{font-size:12px;color:#82757e;display:grid;gap:6px}.presence-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;border-block:1px solid #eee7eb}.presence-toolbar>div{display:flex;gap:8px}.presence-sheet{width:100%;min-width:1040px;border-collapse:collapse}.presence-sheet th{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#8a7581;text-align:left;padding:14px 10px;background:#faf7f9}.presence-sheet td{padding:8px 10px;border-bottom:1px solid #f0eaed;font-size:12px}.presence-sheet tr.weekend{background:#fcf9fa}.presence-sheet tr[aria-disabled=true]{opacity:.46}.presence-sheet input,.presence-sheet select{padding:9px 8px;border:1px solid #e8dfe4;border-radius:8px;font:inherit;width:100%;min-width:75px;background:#fff}.presence-sheet input[type=checkbox]{min-width:0;width:17px;height:17px;accent-color:#752e43}.presence-sheet input[type=number]{width:75px}.presence-sheet input[data-field=note]{min-width:130px}.presence-sheet select{min-width:135px}.presence-sheet input:disabled{background:transparent;border-color:transparent;color:#6c5a65}.presence-date b,.presence-date small{display:block}.presence-date small{color:#99838e;font-size:10px}.presence-sheet .pill{font-size:10px;white-space:nowrap}.presence-sheet .text-button{display:block;font-size:11px}.presence-month #presenceMonthResult{padding:0 22px;color:#752e43}.presence-month .tablewrap{max-height:70vh;overflow:auto}.presence-sheet thead{position:sticky;top:0;z-index:1}
@media(max-width:700px){.presence-month-heading{align-items:stretch;gap:20px}.presence-month-heading .actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.presence-toolbar{padding:12px;align-items:flex-start;flex-direction:column}.presence-toolbar>div{width:100%}.presence-toolbar .btn{flex:1;font-size:12px}.presence-sheet th:nth-child(2),.presence-sheet td:nth-child(2){position:sticky;left:0;background:#faf7f9;z-index:1}.presence-month .tablewrap{max-height:65vh}}
@media(max-width:600px){.presence-month .tablewrap{max-height:none;overflow:visible}.presence-sheet,.presence-sheet tbody{display:block;min-width:0;width:100%}.presence-sheet thead{display:none}.presence-sheet tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:16px;margin:12px;border:1px solid #ebe1e6;border-radius:15px;background:#fff}.presence-sheet td{display:block;min-width:0;padding:0;border:0}.presence-sheet th:nth-child(2),.presence-sheet td:nth-child(2){position:static;background:none}.presence-sheet td:nth-child(1){order:1;text-align:right}.presence-sheet td:nth-child(2){order:0}.presence-sheet td:nth-child(2) b,.presence-sheet td:nth-child(2) small{display:inline;margin-right:6px}.presence-sheet td:nth-child(3){order:2;grid-column:1/-1;color:#88727e}.presence-sheet td:nth-child(3):before{content:'Terv: '}.presence-sheet td:nth-child(4){order:3;grid-column:1/-1}.presence-sheet td:nth-child(5){order:4}.presence-sheet td:nth-child(6){order:5}.presence-sheet td:nth-child(7){order:6}.presence-sheet td:nth-child(8){order:7}.presence-sheet td:nth-child(9){order:8;grid-column:1/-1}.presence-sheet td:nth-child(10){order:9;grid-column:1/-1}.presence-sheet td:nth-child(5):before{content:'Kezdés'}.presence-sheet td:nth-child(6):before{content:'Befejezés'}.presence-sheet td:nth-child(7):before{content:'Nettó óra'}.presence-sheet td:nth-child(8):before{content:'Keretóra'}.presence-sheet td:nth-child(9):before{content:'Megjegyzés'}.presence-sheet td:nth-child(n+5):before{display:block;font-size:10px;color:#947f8b;margin-bottom:5px}.presence-sheet input[type=number],.presence-sheet input[data-field=note],.presence-sheet select{width:100%;min-width:0}.presence-sheet tr[aria-disabled=true] td:nth-child(n+4):nth-child(-n+9){display:none}.presence-month-heading .actions{gap:12px}.presence-month-heading select,.presence-month-heading input{min-width:0;width:100%}.presence-toolbar .check-label{font-size:12px}}
/* One accessible checkbox treatment for forms, tables, dialogs and settings. */
input[type="checkbox"],.presence-sheet input[type="checkbox"]{-webkit-appearance:none;appearance:none;display:inline-block;position:relative;flex:0 0 22px;box-sizing:border-box;width:22px;height:22px;min-width:22px;margin:0;padding:0;border:1.5px solid #c9b4bf;border-radius:7px;background-color:#fffcfe;background-image:none;background-repeat:no-repeat;background-position:center;background-size:18px;box-shadow:0 1px 2px #4524310a;vertical-align:middle;cursor:pointer;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .12s}
input[type="checkbox"]:checked,.presence-sheet input[type="checkbox"]:checked{background-color:var(--accent);border-color:var(--accent);background-image:url('assets/check.svg');box-shadow:0 3px 9px #752e4324}
input[type="checkbox"]:indeterminate,.presence-sheet input[type="checkbox"]:indeterminate{background-color:var(--accent);border-color:var(--accent);background-image:url('assets/check-minus.svg')}
@media(hover:hover){input[type="checkbox"]:not(:disabled):hover,.presence-sheet input[type="checkbox"]:not(:disabled):hover{border-color:var(--accent);box-shadow:0 0 0 4px #752e4310}input[type="checkbox"]:not(:disabled):not(:checked):hover{background-color:#fbf2f6}}
input[type="checkbox"]:focus-visible,.presence-sheet input[type="checkbox"]:focus-visible{outline:2px solid var(--accent);outline-offset:4px;box-shadow:0 0 0 5px #fff}
input[type="checkbox"]:not(:disabled):active{transform:scale(.92)}input[type="checkbox"]:disabled,.presence-sheet input[type="checkbox"]:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.check-label{gap:10px;cursor:pointer;min-height:32px}.presence-sheet tr:has([data-presence-selected]:checked){background:#f8edf2}.presence-sheet td:first-child{vertical-align:middle}.presence-toolbar .check-label{display:flex;align-items:center}
@media(pointer:coarse){input[type="checkbox"],.presence-sheet input[type="checkbox"]{width:24px;height:24px;min-width:24px;flex-basis:24px}.check-label{min-height:44px}}
@media(forced-colors:active){input[type="checkbox"],.presence-sheet input[type="checkbox"]{appearance:auto;background-image:none;forced-color-adjust:auto;box-shadow:none}}
input[type="checkbox"],.presence-sheet input[type="checkbox"]{min-height:22px;max-height:22px;max-width:22px;aspect-ratio:1;align-self:center}
@media(pointer:coarse){input[type="checkbox"],.presence-sheet input[type="checkbox"]{min-height:24px;max-height:24px;max-width:24px}}
@media(min-width:601px){.presence-sheet th:first-child,.presence-sheet td:first-child{width:46px;min-width:46px;max-width:46px;padding-left:8px;padding-right:8px;text-align:center;white-space:nowrap}.presence-sheet th:first-child{font-size:9px;letter-spacing:0}}
/* The original emblem and lettering form one horizontal signature. */
.topbar .brand{min-width:184px;gap:12px;flex-shrink:0;letter-spacing:normal;padding:0;text-decoration:none;align-items:center}.brand .brand-emblem{display:block;width:46px;height:50px;object-fit:contain;flex-shrink:0}.brand .brand-wordmark{display:block;width:126px;height:auto;object-fit:contain;flex-shrink:0}.topbar{gap:18px;min-height:100px}.profile-placeholder{width:110px;height:32px;border-radius:10px}.shared-banner[hidden]{display:none!important}.shared-banner:not([hidden]){margin:14px 0 0;padding:12px 16px;border:1px solid #dfb9c7;background:#fbf0f4;border-radius:12px;font-size:12px;color:#752e43}
@media(max-width:1200px){.topbar .brand{min-width:165px;gap:10px}.brand .brand-emblem{width:40px;height:46px}.brand .brand-wordmark{width:115px}}
@media(max-width:600px){.topbar{padding:18px 0 12px;row-gap:15px}.topbar .brand{min-width:0;gap:9px}.brand .brand-emblem{width:34px;height:41px}.brand .brand-wordmark{width:102px}.topbar .profile{gap:7px}.profile>.avatar{display:none}.profile>span:not(.avatar){max-width:95px}.topbar nav{padding-bottom:5px}.shared-banner:not([hidden]){font-size:11px;margin-top:12px}}
@media(min-width:601px) and (max-width:1320px){.topbar{flex-wrap:wrap;padding:18px 0 10px;row-gap:8px}.topbar .brand{margin-right:auto}.topbar nav{order:3;flex:1 1 100%;justify-content:center;padding-bottom:3px}.topbar .profile{margin-left:0}}
/* Balance the lettering against the taller original cupola. */
.topbar .brand{min-width:162px;gap:10px}.brand .brand-emblem{width:48px;height:54px}.brand .brand-wordmark{width:104px}
@media(max-width:1200px){.topbar .brand{min-width:150px;gap:9px}.brand .brand-emblem{width:44px;height:50px}.brand .brand-wordmark{width:97px}}
@media(max-width:600px){.topbar .brand{min-width:0;gap:8px}.brand .brand-emblem{width:38px;height:44px}.brand .brand-wordmark{width:86px}}
/* Personal employee workspace */
.employee-shell{max-width:1180px}.employee-shell #content{padding-bottom:34px}.employee-shell .page-heading h1{font-size:34px;letter-spacing:-1px}.employee-shell .profile>span{font-size:12px}.employee-preview-note{font-size:12px;color:#8b6474;background:#f3e7ec;border:1px solid #e8d4dd;padding:11px 16px;border-radius:12px;margin:20px 0}.employee-empty{padding:60px 24px;text-align:center}.employee-empty h2{font-size:24px;font-weight:500;margin:20px 0 12px}.employee-empty p{font-size:14px;color:#8d7a86;margin-bottom:24px}.employee-empty-mark{font-size:42px;color:#752e43}.personal-roster .panel-heading{padding:24px}.personal-roster .panel-heading p{margin:8px 0 0;color:#97818e;font-size:12px}.personal-total{font-size:13px;color:#8c7682;display:flex;gap:8px;align-items:center}.personal-total b{color:#752e43;font-size:22px}.personal-total span{padding:0 4px}.personal-day{display:grid;grid-template-columns:1fr 1.2fr 100px;align-items:center;gap:20px;padding:16px 26px;border-top:1px solid #eee6ea;border-left:3px solid transparent;min-height:64px;background:#fff9}.personal-date{display:flex;align-items:baseline;gap:18px}.personal-date b{font-size:19px;font-weight:500;min-width:28px}.personal-date span{font-size:13px;color:#8c7783}.personal-day>strong{font-size:17px;color:#752e43;font-weight:550}.personal-day>span{text-align:right;color:#947e8b;font-size:12px}.personal-day.weekend{background:#f8f2f5}.personal-day.is-work{border-left-color:#752e43}.personal-day.early{background:#f7ebf1}.personal-day.late{background:#edf3f9}.personal-day.middle{background:#f8f1e5}.personal-day.is-off>strong{font-size:14px;font-weight:400;color:#aa97a2}.personal-day.is-off{opacity:.8}.employee-request-panel .panel-heading{align-items:flex-start;padding:24px}.employee-request-panel .panel-heading p{max-width:540px;margin:10px 0 0;line-height:1.7;font-size:13px;color:#8b7380}.employee-request-panel .panel-heading .pill{white-space:nowrap;color:#752e43;background:#f3e4eb;padding:9px 12px;font-size:12px}.employee-range-form{padding:24px 24px 0;display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:14px;align-items:end}.employee-range-form label{font-size:12px;color:#8a7280;display:grid;gap:8px}.employee-range-form input,.employee-range-form select{width:100%;min-width:0}.employee-range-form .btn{min-height:40px}.employee-range-hint{padding:0 24px;color:#a28d99;font-size:12px}.employee-request-ranges{padding:8px 24px 0}.employee-request-range{border:1px solid #e8dce3;border-radius:15px;padding:18px;margin-top:14px;background:#fff9}.employee-request-range header{display:flex;align-items:center;justify-content:space-between;gap:12px}.employee-request-range h3{font-size:14px;margin:0;font-weight:550}.employee-request-range p{font-size:12px;color:#947c89}.request-date-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.request-date-chip{display:flex;align-items:center;gap:10px;border:1px solid #e6dbe1;border-radius:11px;padding:11px 13px;cursor:pointer;background:#faf7f9;flex:1 0 180px;max-width:280px}.request-date-chip.is-important{border-color:#b47a90;background:#f5e8ee}.request-date-chip b,.request-date-chip small{display:block}.request-date-chip b{font-size:12px;color:#624653;font-weight:500}.request-date-chip small{font-size:10px;color:#a08796;margin-top:4px}.request-date-chip.is-important small{color:#752e43}.employee-fixed-note{font-size:12px;margin:0 24px;color:#8e6577}.employee-no-requests{padding:32px 0;text-align:center;font-size:13px;color:#a58f9c}.employee-note-label{display:block;margin:26px 24px 10px;font-size:12px;color:#8c7280}.employee-request-panel>textarea{display:block;margin:0 24px;width:calc(100% - 48px);min-height:100px}.employee-request-actions{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.employee-request-actions>span{font-size:11px;color:#987c8d;max-width:320px}.employee-request-actions>div{display:flex;gap:10px}.employee-calendar{max-width:760px;margin:0 auto;padding:48px;text-align:center}.employee-calendar h2{font-size:26px;font-weight:500;margin:30px 0 16px;letter-spacing:-.7px}.employee-calendar>p{font-size:14px;line-height:1.8;color:#8e7784}.calendar-illustration{display:inline-grid;position:relative;place-items:center;width:100px;height:100px;border-radius:26px;background:#f0dfe7;color:#752e43;font-size:52px;transform:rotate(-5deg)}.calendar-illustration i{position:absolute;bottom:-6px;right:-6px;font-size:20px;font-style:normal;background:#752e43;color:#fff;width:36px;height:36px;display:grid;place-items:center;border:4px solid #faf7f9;border-radius:50%;transform:rotate(5deg)}.calendar-connect-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:28px 0}.employee-calendar label{display:block;text-align:left;font-size:12px;color:#987c8b;margin:30px 0 10px}.calendar-link-row{display:flex;gap:10px}.calendar-link-row input{flex:1;min-width:0;font-size:11px}.employee-calendar .calendar-private-note{font-size:11px;text-align:left;line-height:1.7}.employee-calendar>.btn{margin:20px 10px 10px}.employee-calendar>.text-button{display:block;margin:15px auto}.employee-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.employee-confirm{max-width:440px}.employee-confirm p{line-height:1.7;color:#967c8b;font-size:14px}.employee-confirm .actions{justify-content:flex-end;margin-top:24px}.person-action-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:18px}.person-action-row .btn{font-size:10px;padding:8px 11px}.person-action-row .text-button{font-size:10px;flex-basis:100%;text-align:left;margin-top:4px}.employee-request-review{margin-top:24px}.employee-submission{padding:24px;border-top:1px solid #ece2e8}.employee-submission header{display:flex;justify-content:space-between;gap:12px}.employee-submission h3{margin:0;font-size:16px}.employee-submission header span{font-size:11px;color:#a38a99}.employee-submission p{font-size:12px;line-height:1.8;color:#8a6b7c}.employee-submission-note{white-space:pre-wrap;background:#f5edf2;border-radius:10px;padding:12px}.submitted-leave{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #e8dce4;border-radius:12px;padding:14px;margin-top:14px}.submitted-leave b,.submitted-leave span{display:block;font-size:12px}.submitted-leave span{margin-top:7px;color:#9a7a8c;font-size:11px}.leave-paid-days{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0}.employee-leave-review-dialog{max-width:620px}.employee-leave-review-dialog p{font-size:13px;line-height:1.8;color:#96798b}
@media(min-width:901px){.employee-shell .topbar{flex-wrap:nowrap;padding-block:0}.employee-shell .topbar nav{order:initial;flex:1;justify-content:center}.employee-shell .topbar .brand{margin-right:0}.employee-shell .profile{margin-left:auto}}
@media(max-width:700px){.employee-shell .page-heading h1{font-size:30px}.employee-account-grid{grid-template-columns:1fr}.personal-roster .panel-heading{align-items:flex-start;gap:18px;flex-direction:column}.personal-day{padding:15px 16px;grid-template-columns:1fr auto;gap:10px}.personal-date{gap:10px}.personal-date span{font-size:11px}.personal-day>strong{font-size:15px}.personal-day>span{grid-column:2;font-size:10px;margin-top:-8px}.employee-request-panel .panel-heading{padding:20px;gap:15px;flex-direction:column}.employee-range-form{padding:20px 20px 0;grid-template-columns:1fr 1fr;gap:14px}.employee-range-form label:first-child,.employee-range-form .btn{grid-column:1/-1}.employee-range-hint{padding:0 20px;line-height:1.7}.employee-request-ranges{padding:4px 16px 0}.employee-request-range{padding:14px}.employee-request-range header{flex-wrap:wrap}.request-date-chip{flex:1 1 100%;max-width:none}.employee-request-actions{align-items:stretch;flex-direction:column;padding:20px 16px}.employee-request-actions>div{flex-direction:column-reverse}.employee-request-actions .btn{width:100%}.employee-request-panel>textarea{margin-inline:16px;width:calc(100% - 32px)}.employee-note-label{margin-inline:16px}.employee-calendar{padding:32px 22px}.employee-calendar h2{font-size:23px}.calendar-connect-actions{flex-direction:column}.calendar-link-row{flex-direction:column}.employee-submission{padding:20px 16px}.employee-submission header{flex-direction:column;gap:7px}.submitted-leave{align-items:flex-start;flex-direction:column}.leave-paid-days{grid-template-columns:1fr}.employee-shell .topbar .profile>span{max-width:120px}.employee-fixed-note{margin-inline:20px}}
/* The loading shell uses the same heading, summary and toolbar boxes as the page. */
.loading-layout{padding:0;animation:none}.loading-layout .page-heading,.loading-layout .panel{animation:none}.loading-layout .skeleton{flex-shrink:0;max-width:100%}.loading-layout .stat-card{gap:28px}.loading-layout .deadline-card{display:flex;flex-direction:column;gap:20px}.loading-layout .loading-table{border:0;border-radius:0;padding:0 10px}.loading-layout .loading-table-head{min-height:43px}.loading-layout .loading-row{min-height:57px}.loading-presence .loading-table-head,.loading-presence .loading-row{grid-template-columns:26px 48px 1fr 1.5fr 1fr 1fr}.loading-person{display:flex;flex-direction:column;gap:24px}.loading-nav-item{pointer-events:none}.loading-nav-item:after{content:none}.loading-layout .presence-toolbar>span{display:block}.loading-layout .presence-toolbar>div{display:flex;gap:8px}.loading-layout .page-heading h1{color:transparent;background:#eae4e7;border-radius:7px;min-width:230px}.loading-layout .eyebrow{color:transparent;background:#eae4e7;border-radius:4px;width:180px}.loading-layout .panel-heading h2,.loading-layout .panel-heading p{color:transparent;background:#eae4e7;border-radius:5px}.loading-layout .panel-heading p{max-width:450px}.loading-layout .panel-heading label{color:transparent}
@media(max-width:600px){.loading-layout .presence-month-heading .actions{grid-template-columns:1fr 1fr}.loading-presence .loading-table-head{display:none}.loading-presence .loading-row{grid-template-columns:1fr 1fr;min-height:220px;padding:20px;gap:14px;border:1px solid #eee7eb;border-radius:12px;margin:12px 0}.loading-presence .loading-row i:nth-child(n){display:block}.loading-presence .loading-table{padding:0 12px}.loading-layout .page-heading h1{min-width:180px}}
@media(min-width:601px){.topbar .profile{min-width:190px;justify-content:flex-end}}

.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0;overflow:visible}.icon-button .ui-icon{width:19px;height:19px}.btn .ui-icon,.text-button .ui-icon{width:15px;height:15px}.assistant-launch .ui-icon{width:20px;height:20px}.conversation-avatar .ui-icon,.message-avatar .ui-icon{width:26px;height:26px}.stat-icon .ui-icon{width:23px;height:23px}.calendar-illustration>span .ui-icon{width:52px;height:52px}.calendar-illustration>i .ui-icon{width:18px;height:18px}.editor-close .ui-icon,.conversation-close .ui-icon{width:20px;height:20px}
altcha-widget{display:block;margin:18px 0;--altcha-color-primary:#752e43;--altcha-color-border:#ded5dc;--altcha-border-radius:10px;font-size:13px}

.heading-title-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 18px}.monthly-working-hours{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:10px;white-space:nowrap}.monthly-working-hours b{color:var(--accent);font-weight:600}

.probation-balance{display:block;margin-top:8px;max-width:245px;line-height:1.6;color:var(--muted);font-size:11px}

.attendance-summary{display:flex;flex-wrap:wrap;gap:10px 24px;border-bottom:1px solid var(--line)}.attendance-summary span:last-child{flex-basis:100%}
/* Leave balances: quiet summaries, readable names and one shared annual view. */
.leave-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.leave-stat{min-height:135px;padding:24px;background:#faf8fa;border:1px solid #ffffffb0;border-radius:20px}.leave-stat>span{font-size:12px;color:var(--muted)}.leave-stat strong{display:block;font-size:36px;font-weight:500;letter-spacing:-1.2px;margin-top:16px}.leave-stat strong small{font-size:13px;letter-spacing:0;font-weight:400}.leave-stat p{font-size:11px;margin-top:8px}.leave-stat.accent{background:linear-gradient(130deg,#843c54,#592437);color:#fff}.leave-stat.accent>span{color:#ebd4df}.leave-month-filter{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.leave-month-filter input{max-width:165px}.leave-person{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,2fr) 120px auto auto;gap:22px;align-items:center;padding:22px 26px;border-top:1px solid #e8e2e7}.leave-identity b{display:block;font-size:15px;font-weight:550}.leave-identity span,.leave-identity small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.leave-identity small{font-size:10px}.leave-progress-track{display:flex;height:8px;border-radius:20px;background:#eae4e8;overflow:hidden}.leave-progress-track i{display:block;height:100%;background:var(--accent);flex-shrink:0}.leave-progress-track i.planned{background:#c18b9e}.leave-progress>div:nth-child(2){display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#806e7b;margin-top:10px}.leave-progress>small{display:block;color:#97838e;font-size:10px;margin-top:7px}.leave-available{text-align:right}.leave-available b{display:block;font-size:27px;font-weight:500;letter-spacing:-1px;color:var(--accent)}.leave-available span{font-size:10px;color:var(--muted)}.leave-year-grid{min-width:680px;width:100%;border-collapse:collapse}.leave-year-grid th,.leave-year-grid td{padding:16px 12px;text-align:center;font-size:12px;border-top:1px solid #e9e1e6}.leave-year-grid th:first-child{text-align:left;padding-left:26px;min-width:110px}.leave-year-grid thead th{color:#9c8994;font-weight:400;font-size:10px;text-transform:uppercase}.leave-year-grid td.selected{background:#f0e1e8;color:var(--accent);font-weight:600}.leave-editor{width:min(600px,calc(100vw - 32px));max-height:88vh;overflow:auto}.leave-suggestions,.payroll-preview{padding:24px}.leave-suggestions>span{display:inline-block;padding:9px 12px;margin:4px;border:1px solid #e2d5dd;border-radius:8px;font-size:12px}.leave-suggestions .actions,.payroll-preview .actions{margin-top:20px}.payroll-panel{margin-bottom:24px}.payroll-preview .check-label{margin-top:18px}.payroll-panel table{width:100%;border-collapse:collapse;min-width:680px}.payroll-panel th,.payroll-panel td{padding:14px 18px;text-align:left;font-size:12px;border-bottom:1px solid #e8e1e6}.payroll-panel th{font-size:10px;font-weight:500;color:var(--muted);text-transform:uppercase}.payroll-panel td select{min-width:160px}.payroll-panel>.panel-note{padding-top:0}.leave-balances{margin-bottom:24px}
@media(max-width:900px){.leave-person{grid-template-columns:140px 1fr 90px;gap:18px}.leave-person>.btn,.leave-person>.icon-button{grid-row:2}.leave-person>.btn{grid-column:2;justify-self:end}.leave-person>.icon-button{grid-column:3;justify-self:end}.leave-available{align-self:start}.leave-stats{gap:12px}.leave-stat{padding:20px}}
@media(max-width:600px){.leave-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.leave-stat{min-height:122px;padding:18px}.leave-stat strong{font-size:30px;margin-top:14px}.leave-month-filter{flex-direction:column;align-items:flex-start;gap:5px}.leave-person{grid-template-columns:1fr auto;gap:16px;padding:22px 20px}.leave-progress{grid-column:1/-1;grid-row:2}.leave-available{grid-column:2;grid-row:1}.leave-person>.btn{grid-row:3;grid-column:1;justify-self:start}.leave-person>.icon-button{grid-row:3;grid-column:2}.leave-balances .panel-heading p{max-width:260px}.payroll-panel .panel-heading{align-items:flex-start;flex-direction:column;gap:16px}.payroll-panel .panel-heading .file-label{width:100%}.payroll-preview{padding:20px 16px}}

.leave-month-details{margin-bottom:24px}.leave-date-row{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:20px 26px;border-top:1px solid var(--line);align-items:center}.leave-date-row b{font-size:14px}.leave-date-row>div>small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.leave-date-chips{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.leave-date-chip{background:#f1e6ec;color:var(--accent);border:1px dashed #c99db0;border-radius:9px;padding:9px 12px}.leave-date-chip.actual{border-style:solid;background:#f8f5f7}.leave-date-chip small{display:block;font-size:9px;margin-top:4px;opacity:.7}@media(max-width:600px){.leave-date-row{grid-template-columns:1fr;gap:14px;padding:20px}}

.roster-acceptance{margin-bottom:24px;border:1px solid #dac0cb}.roster-acceptance .fields{display:grid;gap:12px;max-width:808px;padding:0 24px 24px}.roster-acceptance .fields>label{font-size:12px;color:var(--muted)}.roster-acceptance textarea{width:100%;resize:vertical}.feedback-comment{white-space:pre-wrap;overflow-wrap:anywhere}.roster-acceptance .actions{flex-wrap:wrap}@media(max-width:600px){.roster-acceptance .actions{display:grid}.roster-acceptance .actions .btn{width:100%}}

.departure-panel{margin-bottom:24px}.departure-person{padding:0 24px 24px}.departure-person+ .departure-person{padding-top:24px;border-top:1px solid var(--line)}.departure-person header{display:flex;align-items:center;justify-content:space-between;gap:16px}.departure-person h3{margin:0}.departure-person p,.departure-person small{color:var(--muted)}.departure-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.departure-stats>div{padding:16px;background:#f4edf1;border-radius:14px}.departure-stats span{display:block;font-size:12px}.departure-stats b{display:block;font-size:24px;margin-top:8px;color:#782f49}@media(max-width:650px){.departure-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.departure-person header{align-items:flex-start;flex-direction:column}.departure-stats b{font-size:20px}}

.weekday-preferences{border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;gap:12px 20px;flex-wrap:wrap}.weekday-preferences legend{font-size:13px;padding:0 6px}.weekday-preferences .check-label{display:flex;align-items:center;gap:8px;font-size:12px}.weekday-preferences small{flex-basis:100%;color:var(--muted)}

.request-legend{font-size:11px;color:var(--muted);padding:0 24px;margin:8px 0 16px;line-height:1.7}.shift.request-hard,.mobile-person.request-hard{background:#ead7e0;color:#762e48;border:1px solid #cda9b9}.shift.request-soft,.mobile-person.request-soft{background:#f3eee6;color:#795d35;border:1px dashed #bfa988}.shift.request-leave,.mobile-person.request-leave{background:#e5eeea;color:#346351;border:1px solid #aecabd}.shift.request-conflict,.mobile-person.request-conflict{box-shadow:inset 0 0 0 2px #ba4f5c}.shift.request-conflict:after{content:'Kérés';display:block;font-size:9px;font-weight:600;line-height:1.2}

/* The office copy is a separate, compact monthly sheet, independent of screen layout. */
#rosterPrint{display:none}
@page{size:A4 landscape;margin:8mm}
@media print{
 body.printing-roster{margin:0!important;padding:0!important;background:#fff!important;color:#171717!important;min-width:0!important}
 body.printing-roster>*:not(#rosterPrint){display:none!important}
 body.printing-roster #rosterPrint{display:block!important;font-family:Arial,Helvetica,sans-serif;font-size:7pt;line-height:1.15;width:100%;color:#171717;background:white}
 #rosterPrint *{box-sizing:border-box;animation:none!important;transition:none!important;box-shadow:none!important}
 #rosterPrint header{display:flex;align-items:center;justify-content:space-between;margin:0 0 3mm;padding:0;border-bottom:0.4mm solid #752e43;height:15mm}
 #rosterPrint header b{font-size:8pt;letter-spacing:1pt;color:#752e43}
 #rosterPrint h1{font-size:15pt;margin:1mm 0 2mm;line-height:1.1}
 #rosterPrint header>span{font-size:9pt;font-weight:bold}
 #rosterPrint table{border-collapse:collapse;table-layout:fixed;width:100%;margin:0;min-width:0;font-size:7pt}
 #rosterPrint .print-date{width:16mm}#rosterPrint .print-count{width:8mm}
 #rosterPrint th,#rosterPrint td{padding:0.5mm 0.3mm;border:0.2mm solid #999;text-align:center;white-space:nowrap;height:4.5mm;line-height:1.1;color:#171717;background:transparent}
 #rosterPrint thead th{height:12mm;white-space:normal;overflow-wrap:anywhere;font-size:7.2pt;background:#eee;font-weight:bold}
 #rosterPrint th small{display:block;margin-top:1mm;font-size:6.5pt;font-weight:normal;color:#333}
 #rosterPrint tbody th{text-align:left;padding-left:1mm}#rosterPrint tbody th span{font-weight:normal}
 #rosterPrint .print-weekend>*{background:#efefef!important}
 #rosterPrint tr{break-inside:avoid}#rosterPrint thead{display:table-header-group}
 #rosterPrint footer{display:flex;justify-content:space-between;gap:3mm;margin:2mm 0 0;padding:0;border:0;font-size:6pt;color:#333;line-height:1.2}
 #rosterPrint{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

@media screen{
 #printPreview *{box-sizing:border-box;animation:none!important;transition:none!important;box-shadow:none!important}
 #printPreview header{display:flex;align-items:center;justify-content:space-between;margin:0 0 3mm;padding:0;border-bottom:0.4mm solid #752e43;height:15mm}
 #printPreview header b{font-size:8pt;letter-spacing:1pt;color:#752e43}
 #printPreview h1{font-size:15pt;margin:1mm 0 2mm;line-height:1.1}
 #printPreview header>span{font-size:9pt;font-weight:bold}
 #printPreview table{border-collapse:collapse;table-layout:fixed;width:100%;margin:0;min-width:0;font-size:7pt}
 #printPreview .print-date{width:16mm}#printPreview .print-count{width:8mm}
 #printPreview th,#printPreview td{padding:0.5mm 0.3mm;border:0.2mm solid #999;text-align:center;white-space:nowrap;height:4.5mm;line-height:1.1;color:#171717;background:transparent}
 #printPreview thead th{height:12mm;white-space:normal;overflow-wrap:anywhere;font-size:7.2pt;background:#eee;font-weight:bold}
 #printPreview th small{display:block;margin-top:1mm;font-size:6.5pt;font-weight:normal;color:#333}
 #printPreview tbody th{text-align:left;padding-left:1mm}#printPreview tbody th span{font-weight:normal}
 #printPreview .print-weekend>*{background:#efefef!important}
 #printPreview tr{break-inside:avoid}#printPreview thead{display:table-header-group}
 #printPreview footer{display:flex;justify-content:space-between;gap:3mm;margin:2mm 0 0;padding:0;border:0;font-size:6pt;color:#333;line-height:1.2}
 #printPreview{-webkit-print-color-adjust:exact;print-color-adjust:exact}
#printPreview{display:block;width:281mm;min-width:281mm;padding:8mm;background:#fff;color:#171717;font-family:Arial,Helvetica,sans-serif;font-size:7pt;line-height:1.15;box-sizing:content-box}
.roster-print-preview{width:min(1180px,96vw);max-width:96vw;max-height:94dvh;padding:0;overflow:auto;background:#eee;border-radius:18px}
.print-preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;background:white;position:sticky;top:0;z-index:2;border-bottom:1px solid #ddd}
.print-preview-toolbar>div{display:flex;gap:8px}.print-preview-scroll{overflow:auto;padding:16px}
@media(max-width:600px){.print-preview-toolbar{align-items:flex-start;flex-direction:column}.print-preview-toolbar .btn{font-size:12px;padding:10px}}
}

.month-navigation{display:inline-flex;align-items:center;gap:5px;align-self:center;margin:0 0 10px -6px}.month-step{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border,#ddd);border-radius:11px;background:rgba(255,255,255,.6);color:var(--accent);cursor:pointer;transition:background .16s ease,border-color .16s ease}.month-step:hover:not(:disabled){background:#fff;border-color:var(--accent)}.month-step:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.month-step:disabled{opacity:.3;cursor:default}@media(max-width:600px){.month-navigation{margin-left:0}.month-step{width:40px;height:40px}.heading-title-row{gap:4px 12px}}

.day-issue-button{display:inline-grid;place-items:center;width:24px;height:24px;margin:3px 0 0;padding:3px;border:0;border-radius:50%;background:transparent;cursor:help;color:var(--accent);vertical-align:middle}.day-issue-button.has-warnings{color:#8b671c}.day-issue-button:hover,.day-issue-button[aria-expanded="true"]{background:#eadbe1}.day-issue-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.day-issues-tooltip{position:fixed;z-index:10020;max-width:min(360px,calc(100vw - 24px));padding:14px 16px;border:1px solid #e3d4da;border-radius:14px;background:#fff;color:#342832;box-shadow:0 10px 35px #34283226;font-size:12px;line-height:1.6;text-align:left}.day-issues-tooltip[hidden]{display:none}.day-issues-tooltip>b{font-size:11px;color:var(--muted)}.day-issues-tooltip ul{list-style:none;margin:7px 0 0;padding:0}.day-issues-tooltip li{padding:7px 0;border-top:1px solid #f0e9ec}.day-issues-tooltip li>span{display:block;font-size:10px;font-weight:700;color:var(--accent)}.day-issues-tooltip li.warning>span{color:#8b671c}.mobile-day summary .day-issue-button{flex-shrink:0;margin:0 4px;width:32px;height:32px;cursor:pointer}@media print{.day-issues-tooltip{display:none!important}}
.roster .date{position:relative;padding-right:30px}.roster .date .day-issue-button{position:absolute;right:3px;top:50%;transform:translateY(-50%);margin:0}.day-issues-tooltip{max-height:calc(100dvh - 24px);overflow:auto}
.generation-dialog{width:min(620px,calc(100vw - 32px));max-height:90dvh;overflow:auto}.generation-dialog>p{line-height:1.6;color:#8a7280}.generation-goals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.generation-goal{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #e4d8df;border-radius:16px;cursor:pointer;background:#fff7;transition:border-color .18s,background .18s}.generation-goal:has(input:checked){border-color:#752e43;background:#f3e6ed}.generation-goal input{accent-color:#752e43;flex:0 0 auto;width:17px;height:17px;margin:2px 0}.generation-goal b{display:block;font-size:14px;font-weight:550}.generation-goal small{display:block;margin-top:8px;font-size:12px;line-height:1.6;color:#8a7280}.generation-instructions{display:block;font-size:13px;margin:8px 0 10px}.generation-instructions span{color:#9b8491}.generation-dialog textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:110px}.generation-dialog #generationReview:not(:empty){margin:16px 0;padding:14px;background:#f3e6ed;border-radius:12px;line-height:1.65;font-size:13px;white-space:pre-wrap}.generation-dialog .actions{margin-top:24px;justify-content:flex-end;flex-wrap:wrap}@media(max-width:520px){.generation-goals{grid-template-columns:1fr}.generation-dialog .actions .primary{width:100%}}
.generation-goal input[type=radio]{appearance:none;border:1.5px solid #baa1ae;border-radius:50%;background:#fff;display:grid;place-items:center}.generation-goal input[type=radio]:checked{border-color:#752e43;background:#752e43}.generation-goal input[type=radio]:checked:after{content:'';width:6px;height:6px;border-radius:50%;background:white}.generation-goal input[type=radio]:focus-visible{outline:3px solid #bd8da3;outline-offset:3px}
.generation-goal input[type=radio]{box-sizing:border-box;width:17px;height:17px;min-width:17px;min-height:17px;padding:0;align-self:flex-start}
.plan-alternatives{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;width:100%;margin-top:12px}.plan-option{flex:1;min-width:180px;text-align:left;padding:14px 18px;border:1px solid #d9c4cf;border-radius:14px;background:#fff8;color:#705564;cursor:pointer;transition:background .18s,border-color .18s}.plan-option.selected{background:#752e43;color:#fff;border-color:#752e43}.plan-option b,.plan-option span{display:block}.plan-option b{font-size:14px;font-weight:550}.plan-option span{font-size:12px;margin-top:7px;opacity:.8}.plan-option:focus-visible{outline:3px solid #bd8da3;outline-offset:3px}@media(max-width:600px){.plan-option{min-width:140px}}
.hour-balance{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:5px;padding:3px 5px;line-height:1;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;cursor:help;white-space:nowrap;min-height:20px;letter-spacing:0}.hour-balance.remaining{color:#286747;background:#dfeee5}.hour-balance.over{color:#a03d4e;background:#f7dfe4}.hour-balance.exact{color:#32825b;background:none;padding:0;min-width:17px}.hour-balance:focus-visible{outline:2px solid #752e43;outline-offset:3px}.hour-balance-tooltip{position:fixed;z-index:10020;max-width:calc(100vw - 32px);box-sizing:border-box;padding:12px 15px;border:1px solid #e5d5df;border-radius:12px;background:#fffcfe;color:#634653;box-shadow:0 8px 28px #45213624;font-size:12px;font-weight:400;line-height:1.8;white-space:pre-line;pointer-events:none}.mobile-hour-pills .hour-balance{font-size:11px;min-height:24px}
.mail-preview-frame{display:block;width:100%;height:640px;max-height:65dvh;border:1px solid #e8dce3;border-radius:14px;background:#f4f0f2;margin:16px 0}

/* Personal roster acknowledgement */
.roster-acceptance{padding:28px!important;border:1px solid #e6dbe0;background:linear-gradient(120deg,#fff 30%,#faf5f7);box-shadow:0 8px 30px #47253206;border-radius:24px}.acceptance-intro{display:flex;align-items:flex-start;gap:18px}.acceptance-mark{width:52px;height:52px;flex:0 0 52px;border-radius:16px;background:#f1e4eb;color:#752e43;display:grid;place-items:center}.acceptance-mark svg{width:28px;height:28px}.acceptance-eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;color:#896471;margin:2px 0 8px}.roster-acceptance h2{font-size:24px;line-height:1.2;letter-spacing:-.6px;margin:0 0 9px}.roster-acceptance .acceptance-intro p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.acceptance-primary{display:flex;align-items:center;gap:18px;margin:24px 0 0 70px}.acceptance-primary .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border-radius:13px}.acceptance-primary svg{width:19px;height:19px}.acceptance-primary>span{font-size:12px;color:var(--muted);max-width:190px;line-height:1.5}.acceptance-issue{margin:22px 0 0 70px;border-top:1px solid #e9dfe4;padding-top:16px}.acceptance-issue summary{cursor:pointer;color:#705561;font-size:13px;font-weight:500;width:fit-content;padding:4px 0}.acceptance-issue-body{display:grid;gap:10px;margin-top:16px;max-width:650px}.acceptance-issue-body label{font-size:13px}.acceptance-issue-body textarea{width:100%;background:#fff;border-radius:12px;resize:vertical;min-height:96px}.acceptance-issue-body .btn{justify-self:start}.roster-acceptance #acceptanceResult{font-size:13px;color:#962f47;margin:14px 0 0 70px}.roster-acceptance #acceptanceResult:empty{display:none}.roster-acceptance.is-accepted .acceptance-mark{background:#e8f1eb;color:#32724a}@media(max-width:600px){.roster-acceptance{padding:20px!important;border-radius:20px}.acceptance-intro{gap:13px}.acceptance-mark{width:42px;height:42px;flex-basis:42px;border-radius:13px}.acceptance-mark svg{width:24px;height:24px}.roster-acceptance h2{font-size:21px}.acceptance-eyebrow{font-size:10px}.acceptance-primary{margin:22px 0 0;display:grid;gap:10px}.acceptance-primary .btn{width:100%}.acceptance-primary>span{max-width:none;text-align:center}.acceptance-issue{margin:20px 0 0}.roster-acceptance #acceptanceResult{margin-left:0}}

.mail-log-panel{padding:24px}.mail-log-filters{display:flex;align-items:end;gap:16px;margin-bottom:22px;flex-wrap:wrap}.mail-log-filters label{display:grid;gap:8px;font-size:12px;color:var(--muted)}.mail-log-filters label:first-child{flex:1;min-width:200px}.mail-log-filters>span{padding-bottom:14px;font-size:12px;color:var(--muted)}.mail-log-table{width:100%;border-collapse:collapse;font-size:13px}.mail-log-table th{text-align:left;font-weight:500;color:var(--muted);padding:12px;border-bottom:1px solid #e8e1e5;white-space:nowrap}.mail-log-table td{padding:16px 12px;border-bottom:1px solid #eee8ec;vertical-align:top}.mail-log-table td:first-child,.mail-log-table td:last-child{white-space:nowrap;font-size:12px;color:var(--muted)}.mail-log-table td:nth-child(2){min-width:230px;overflow-wrap:anywhere}.mail-log-table strong,.mail-log-table td span:not(.mail-status),.mail-log-table small{display:block}.mail-log-table strong{font-size:13px;font-weight:500;margin-bottom:6px}.mail-log-table small{margin-top:6px}.mail-status{display:inline-block;padding:6px 10px;border-radius:8px;font-size:11px;white-space:nowrap;background:#eee9ec;color:#756570}.mail-status-sent{background:#e9f2eb;color:#356b4b}.mail-status-failed,.mail-status-missing_address{background:#fae9eb;color:#a33b50}.mail-status-queued,.mail-status-sending{background:#fff2df;color:#946226}.mail-log-error{color:#a33b50}.mail-log-empty{padding:30px 0;color:var(--muted)}@media(max-width:600px){.mail-log-panel{padding:16px}.mail-log-filters{gap:12px}.mail-log-filters label{width:100%}.mail-log-table td,.mail-log-table th{padding:12px 8px}}
