@font-face{font-family:'Leelawadee Local';src:local('Leelawadee UI');font-display:swap}
:root{--bg:#f5f8fd;--surface:#fff;--ink:#203456;--muted:#60728b;--line:#e3e8ee;--green:#354a99;--green-dark:#263675;--mint:#e9f3fc;--red:#ad3b42;--rose:#fff0f0;--amber:#976014;--peach:#fff0df;--blue:#eaf0fc;--lavender:#efeafa;--radius:16px;--shadow:0 4px 18px #222d3c04;font-family:'Leelawadee Local','Noto Sans Thai','Tahoma',sans-serif;color:var(--ink);font-size:14px;font-weight:400}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.55}button,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #1977b4}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #1977b4;outline-offset:1px}p{line-height:1.7}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}h2{font-size:17px}h3{font-size:15px}.icon{flex-shrink:0;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;padding:12px 20px;background:var(--green);color:white;z-index:100}.skip-link:focus{top:10px}
.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:34px 18px 20px;z-index:10}.brand{display:flex;gap:11px;align-items:center;padding:0 13px;margin-bottom:49px;font-size:25px;font-weight:700;letter-spacing:-.7px}.brand-mark{width:42px;height:46px;display:grid;place-items:center;background:var(--green);color:#fff;border-radius:13px;box-shadow:0 4px 8px #354a9916}.brand-mark .icon{width:26px;height:26px}.brand small{display:block;font-family:Arial,sans-serif;font-size:8px;font-weight:600;letter-spacing:2px;color:#5a6676;margin-top:3px}.nav-label{font-size:11px;color:#5a6676;padding:0 18px;margin-bottom:13px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{position:relative;display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:13px 17px;border-radius:9px;color:#596473;font-size:13px;min-height:47px;transition:background .16s,color .16s}.nav-item:hover{background:#f2f4f7;color:var(--green)}.nav-item.active{background:#e9edf3;color:var(--green);font-weight:600}.nav-item.active:before{content:'';position:absolute;left:-18px;top:13px;bottom:13px;width:3px;background:var(--green);border-radius:0 3px 3px 0}.nav-item .icon{width:19px;height:19px}.nav-count{margin-left:auto;color:#ae4e40;background:#fae9e3;border-radius:6px;font-size:11px;padding:2px 7px}.sidebar-bottom{margin-top:auto;padding-top:50px}.demo-box{background:#f7f8fa;border:1px solid #e6eaf0;border-radius:12px;padding:16px 14px;margin:0 4px 16px;font-size:11px}.demo-box strong{font-weight:600}.demo-box p{font-size:10px;color:#5b6676;margin:8px 0 0;line-height:1.9}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#50698b;margin-right:6px;vertical-align:middle}.sidebar-signature{font-size:9px;color:#5a6575;padding:17px 18px 0;border-top:1px solid #eef0f4;margin-top:15px;letter-spacing:.1px}.workspace{margin-left:232px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:80px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 36px;gap:17px}.breadcrumb{font-size:11px;color:#5b6777;white-space:nowrap}.breadcrumb span{padding:0 12px;color:#5c6777}.breadcrumb strong{color:#47505c;font-weight:500}.search-box{display:flex;align-items:center;gap:10px;margin-left:auto;max-width:350px;width:34%;border:1px solid #e6eaf0;background:#f9fafc;padding:9px 12px;border-radius:8px;color:#5a6676}.search-box .icon{width:17px;height:17px}.search-box input{background:transparent;border:0;min-width:0;width:100%;font-size:11px;color:var(--ink);outline:none}.search-box input::placeholder{color:#5b6676}.search-box kbd{font-family:inherit;border:1px solid #e1e6ec;border-radius:4px;font-size:10px;padding:0 5px;color:#5c6777}.topbar-divider{width:1px;height:30px;background:var(--line);margin:0 3px}.avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-size:16px;font-weight:500;border:1px solid #ffffff80}.avatar.small{width:30px;height:30px;font-size:12px}.mint{background:var(--mint);color:#2c4a75}.peach{background:var(--peach);color:#8f5f3e}.blue{background:var(--blue);color:#516b94}.lavender{background:var(--lavender);color:#786391}.rose{background:var(--rose);color:#a35159}.empty-avatar{background:#fff9ef;color:#856736;border:1px dashed #dcc597}.user-avatar{width:33px;height:33px;font-size:13px}.role-picker{min-width:128px}.role-picker label{display:block;font-size:9px;color:#5a6676;margin-bottom:2px}.role-picker select{font-size:11px;background:transparent;border:0;color:#353f4e;max-width:145px;width:100%}.prototype-strip{padding:10px 36px;border-bottom:1px solid #e7ebf0;background:#f1f3f6;font-size:9px;color:#596473;display:flex;align-items:center;justify-content:space-between;letter-spacing:.3px}.strip-separator{padding:0 9px;color:#5a6574}.prototype-strip .live-dot{width:5px;height:5px}.page-footer{display:flex;justify-content:space-between;margin-top:auto;padding:30px 36px 24px;color:#5c6777;font-size:9px}.mobile-nav{display:none}main{padding:35px 36px 0;max-width:1680px;width:100%;margin:0 auto;outline:none!important;min-width:0}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:30px}.eyebrow{font-family:Arial,sans-serif;font-size:9px;letter-spacing:1.6px;color:#5a6574;font-weight:600;margin-bottom:11px}h1{font-size:29px;letter-spacing:-.8px;line-height:1.5;color:#202b3b}.heading-dot{color:#8f6036;padding-left:3px}.page-heading p{font-size:11px;color:#5c6777;margin-top:6px}.subtitle-dot{padding:0 8px;color:#5b6777}.heading-actions{display:flex;gap:10px;flex-shrink:0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:42px;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:500;transition:background .16s,transform .16s;white-space:nowrap}.btn .icon{width:17px;height:17px}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn.primary{background:var(--green);color:white;box-shadow:0 3px 7px #354a990c}.btn.primary:hover:not(:disabled){background:var(--green-dark)}.btn.secondary{background:white;border:1px solid #dce2ea;color:#515b6a}.btn.secondary:hover{background:#f4f6f9}.btn.danger{background:var(--rose);color:var(--red)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;transition:background .16s;flex-shrink:0;color:#5b6777}.icon-btn:hover{background:#edf0f4;color:var(--green)}.text-btn{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-size:11px;min-height:36px;font-weight:500;padding:4px 0}.text-btn .icon{width:15px;height:15px}.text-btn:hover{color:#0d213d;text-decoration:underline}.role-notice{display:flex;gap:10px;align-items:center;background:#eceff4;border:1px solid #dae0e9;padding:13px 18px;font-size:12px;border-radius:10px;line-height:1.8;margin:0 0 23px}.role-notice .text-btn{margin-left:auto;white-space:nowrap}.read-only-label{font-size:11px;color:#596473;background:#eceff3;border-radius:7px;padding:12px 15px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:23px}.stat-card{background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);padding:20px 21px 16px;display:flex;flex-direction:column;text-align:left;transition:transform .16s,border .16s}.stat-card:hover{transform:translateY(-3px);border-color:#b2bed0}.stat-label{font-size:12px;color:#5b6777;display:flex;align-items:center;justify-content:space-between;width:100%}.stat-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px}.stat-icon .icon{width:18px;height:18px}.stat-number{font-family:Arial,'Leelawadee Local',sans-serif;font-size:35px;font-weight:500;line-height:1.4;margin-top:0;color:#2c3644;letter-spacing:-1px}.stat-number small{font-family:'Leelawadee Local',Tahoma,sans-serif;font-size:11px;font-weight:400;color:#5a6676;letter-spacing:0;margin-left:9px}.stat-hint{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#5a6676;margin-top:6px;width:100%;padding-top:11px;border-top:1px solid #eef0f4}.stat-hint .icon{width:14px;height:14px;color:#5c6777}.alert-banner{display:flex;align-items:center;gap:13px;background:#fff7ed;border:1px solid #f0e1cd;border-radius:11px;padding:14px 18px;margin-bottom:29px}.alert-symbol{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#ffebd7;color:#936229;flex-shrink:0}.alert-symbol .icon{width:17px;height:17px}.alert-banner strong{font-size:12px;color:#896130;font-weight:600}.alert-banner p{font-size:10px;color:#806644;margin-top:3px}.alert-banner .text-btn{margin-left:auto;color:#8d612a;white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px;align-items:start}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:35px;margin-bottom:16px}.section-heading h2{display:flex;align-items:center;gap:9px;font-size:17px;letter-spacing:-.3px}.count-pill{padding:1px 7px;background:#e9ecf1;border-radius:5px;font-family:Arial,sans-serif;font-size:10px;font-weight:500;color:#5b6777}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.tabs{background:#e7ebf1;display:inline-flex;gap:3px;padding:4px;border-radius:8px;max-width:100%}.tabs button{padding:7px 14px;font-size:11px;border-radius:6px;min-height:32px;white-space:nowrap;color:#5b6777}.tabs button.active{background:white;box-shadow:0 1px 4px #1c263412;color:var(--green);font-weight:600}.schedule-date{font-size:10px;color:#5c6878}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 18px}.filter-label{display:flex;gap:6px;font-size:10px;color:#5c6777;margin-right:3px}.filter-label .icon{width:15px;height:15px}.filter-bar select{border:1px solid #dde2ea;color:#5b6777;border-radius:6px;font-size:10px;background:white;padding:8px 7px;min-height:34px;max-width:180px;cursor:pointer}.filter-clear{margin-left:auto;font-size:10px;color:#5b6676}.date-filter{display:flex;align-items:center;gap:5px;font-size:10px;color:#5c6878}.date-filter input{padding:7px 5px;font-size:10px;border:1px solid #dee3ea;border-radius:6px;color:#576272;min-height:34px;background:white;min-width:0}.job-list{display:flex;flex-direction:column;gap:14px}.job-card{position:relative;display:flex;min-width:0;background:white;border:1px solid #e1e6ec;border-radius:12px;box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .18s,border .18s}.job-card:hover{box-shadow:0 5px 17px #23314407;border-color:#c3cdda}.job-card:before{content:'';position:absolute;left:0;top:22px;bottom:22px;width:3px;background:#899ab1;border-radius:0 4px 4px 0}.job-card.red:before{background:#d88a8b}.job-card.amber:before{background:#dbb270}.job-card.neutral:before{background:#b3c0d1}.job-time{padding:24px 16px 20px 20px;display:flex;flex-direction:column;min-width:96px;flex-shrink:0;border-right:1px solid #eef0f4;background:#fdfdfe;align-items:center}.job-time strong{font-family:Arial,sans-serif;font-size:20px;font-weight:500;color:#343f4f;letter-spacing:-.5px}.job-time span{font-size:10px;color:#5b6676;margin-top:5px}.job-time small{font-size:9px;color:#5b6676;margin-top:19px}.job-body{flex:1;padding:17px 20px 14px;min-width:0}.job-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}.category{font-size:9px;letter-spacing:.1px;color:#5a6574;display:inline-flex;align-items:center;gap:5px}.category:before{content:'';width:4px;height:4px;border-radius:50%;background:#a7afbb}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:5px;font-size:9px;line-height:1.8;white-space:nowrap;font-weight:500}.badge .icon{width:11px;height:11px}.badge.green{background:#eef1f6;color:#465a76}.badge.amber{background:#fff5e7;color:#89642c}.badge.red{background:#ffeded;color:#a45356}.badge.neutral{background:#eef0f4;color:#5b6676}.job-title{font-size:15px;line-height:1.7;font-weight:600;display:block;text-align:left;padding:0;letter-spacing:-.2px;overflow-wrap:anywhere}.job-title:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}.location{display:flex;align-items:center;gap:5px;color:#5a6574;font-size:10px;margin-top:7px;overflow-wrap:anywhere}.location .icon{width:13px;height:13px}.job-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:8px}.assignments{display:flex;gap:26px;flex-wrap:wrap}.assignment{display:flex;gap:8px;align-items:center}.assignment>span:last-child{display:flex;flex-direction:column;gap:2px}.assignment small{font-size:8px;color:#5a6574}.assignment strong{font-size:11px;font-weight:500;color:#576272}.assignment.unfilled strong{color:#876634}.card-open{width:28px;height:28px;border:1px solid #e9ecf1;color:#5a6575;border-radius:50%}.card-open .icon{width:14px;height:14px}.job-note{border-top:1px solid #eef1f5;margin-top:13px;padding-top:9px;display:flex;align-items:flex-start;gap:6px;color:#5c6777;font-size:9px;line-height:1.6;overflow-wrap:anywhere}.job-note .icon{width:12px;height:12px;margin-top:2px}.right-rail{display:flex;flex-direction:column;gap:20px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:white;padding:20px;box-shadow:var(--shadow)}.panel .section-heading{margin-bottom:4px}.panel .section-heading h2{font-size:14px}.panel-description{font-size:10px;color:#5c6878;margin:1px 0 14px}.availability-dot{width:7px;height:7px;border-radius:50%;background:#6d819e;box-shadow:0 0 0 4px #f0f2f6}.availability-inputs{display:flex;gap:8px}.availability-inputs label{min-width:0;flex:1}.availability-inputs label:first-child{flex:1.5}.availability-inputs input{width:100%;min-width:0;font-size:10px;padding:7px 4px;border:1px solid #e2e7ee;border-radius:6px;color:#5b6676;background:#f9fafc}.available-group{margin-top:19px}.available-group>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:10px;gap:4px;margin-bottom:10px}.available-group strong{font-weight:500;color:#596473}.available-group>div>span{color:#5c6777;font-size:9px}.available-group b{font-weight:600;color:var(--green)}.available-people{display:flex;flex-wrap:wrap;gap:7px}.person-chip{border:1px solid #e4e9ef;border-radius:7px;display:flex;align-items:center;gap:4px;padding:4px 6px 4px 4px;font-size:9px;color:#566170;background:#f9fbfd}.person-chip .avatar.small{width:20px;height:20px;font-size:9px}.person-chip.busy{background:#fbfbfb;border-style:dashed;color:#5b6777}.person-chip.busy .avatar{filter:grayscale(.7);opacity:.7}.person-state{font-size:7px;margin-left:1px;color:#5a6575}.micro-copy{font-size:9px;line-height:1.8;color:#596474;margin-top:16px}.tomorrow-panel .section-heading>.icon{width:16px;height:16px;color:#5b6676}.mini-job{display:flex;align-items:flex-start;gap:10px;border-top:1px solid #ebeef3;padding:13px 0;width:100%;text-align:left}.mini-time{font-family:Arial,sans-serif;font-size:11px;color:#596474;min-width:32px;padding-top:2px}.mini-job>span:nth-child(2){min-width:0}.mini-job strong{display:block;font-size:11px;font-weight:500;color:#55606f;line-height:1.6}.mini-job small{display:block;color:#5c6777;font-size:9px;margin-top:4px}.mini-job>.icon{width:12px;height:12px;margin-left:auto;color:#5c6777;flex-shrink:0;margin-top:4px}.full-width{width:100%;justify-content:center;border-top:1px solid #e9ecf1;margin-top:1px;padding-top:12px;font-size:10px}.calm-card{position:relative;overflow:hidden;background:#e8ecf1;border:1px solid #dee3ea;border-radius:var(--radius);padding:24px;color:#4d5c70;min-height:220px}.calm-card>.icon{width:25px;height:25px;margin-bottom:14px;color:#586373}.calm-card h3{font-size:18px;line-height:1.8;font-weight:500;letter-spacing:-.4px;position:relative;z-index:1}.calm-card p{font-size:10px;color:#586373;margin-top:10px;line-height:1.9}.calm-card .text-btn{font-size:10px;margin-top:10px;color:#505f73;position:relative;z-index:1}.decor-ring{position:absolute;width:150px;height:150px;right:-70px;bottom:10px;border:24px solid #d8dee7;border-radius:50%}.empty-state{text-align:center;background:white;border:1px dashed #d2d9e3;border-radius:12px;padding:44px 15px;color:#5a6575;grid-column:1/-1}.empty-state>.icon{width:34px;height:34px;margin-bottom:12px;color:#596473}.empty-state h3{font-size:15px;font-weight:500}.empty-state p{font-size:11px;margin:8px 0 17px;color:#5b6676}.list-result{margin-top:24px}.list-result>span{font-size:10px;color:#5b6676}.all-job-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.all-job-grid .assignments{gap:22px}.day-job-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.calendar-panel{padding:0;overflow:hidden}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 22px;border-bottom:1px solid var(--line);flex-wrap:wrap}.calendar-navigation{display:flex;align-items:center;gap:8px}.calendar-navigation h2{font-size:16px;font-weight:500}.previous .icon{transform:rotate(180deg)}.small-btn{font-size:10px;padding:6px 12px;min-height:32px;margin-left:8px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.week-column{min-height:460px;min-width:0;border-right:1px solid var(--line);padding:0 8px 12px;display:flex;flex-direction:column}.week-column:last-child{border-right:0}.week-header{display:flex;flex-direction:column;align-items:center;gap:5px;padding:18px 3px 15px;width:100%;color:#5c6777;border-bottom:1px solid #eaedf2;margin-bottom:10px}.week-header>span{font-size:11px}.week-header>strong{font-family:Arial,sans-serif;font-weight:500;font-size:23px;color:#586373;width:36px;height:36px;display:grid;place-items:center}.week-header small{font-size:9px;color:#5b6676}.is-today .week-header strong{background:var(--green);color:white;border-radius:50%}.is-today.week-column{background:#f8fafc}.week-jobs{display:flex;flex-direction:column;gap:8px;min-width:0}.calendar-event{display:flex;flex-direction:column;text-align:left;gap:6px;padding:10px 8px;border-radius:7px;background:#edf1f6;border-left:2px solid #a4b3c7;width:100%;min-width:0;overflow-wrap:anywhere}.calendar-event.green{background:#edf1f6;color:#505e72}.calendar-event.red{background:#fff0f0;color:#9d595c;border-color:#dba1a5}.calendar-event.amber{background:#fff6e8;color:#7f673b;border-color:#dbba82}.calendar-event.neutral{background:#edf0f4;color:#5b6777;border-color:#b5c1d1}.calendar-event:hover{filter:brightness(.97)}.calendar-event>span{font-size:10px;font-family:Arial,sans-serif}.calendar-event strong{font-size:10px;font-weight:500;line-height:1.8}.calendar-event small{font-size:9px;line-height:1.5}.calendar-event em{font-style:normal;font-size:8px;opacity:.8}.no-events{display:block;text-align:center;font-size:9px;color:#5b6777;padding:25px 0}.week-add{display:flex;align-items:center;justify-content:center;border:1px dashed #d9dfe7;border-radius:6px;margin-top:auto;min-height:32px;color:#596473}.week-add:hover{background:#e8edf5;color:var(--green)}.week-add .icon{width:14px;height:14px}.calendar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;border-top:1px solid var(--line);padding:17px;font-size:10px;color:#5a6575}.calendar-legend>span{display:flex;align-items:center;gap:6px}.legend-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.legend-dot.green{background:#8094b0}.legend-dot.amber{background:#d4b17b}.legend-dot.red{background:#d88d97}.legend-dot.neutral{background:#aeb5c0}.calendar-day-heading{padding:25px 22px 5px;display:flex;justify-content:space-between}.calendar-day-heading h2{font-size:17px}.calendar-day-heading span{font-size:11px;color:#586373}.day-job-grid{padding:20px}.month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;padding:13px 0;font-size:11px;color:#5a6575;border-bottom:1px solid var(--line)}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-cell{min-height:144px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;min-width:0}.month-cell:nth-child(7n){border-right:0}.month-cell.outside{background:#f9fafb}.month-cell.outside .month-date{color:#5a6676}.month-date{display:flex;align-items:center;justify-content:space-between;gap:3px;width:100%;text-align:left;font-family:Arial,sans-serif;font-size:12px;color:#586372;padding:2px 0}.month-date span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%}.month-date small{display:none;font-family:'Leelawadee Local',Tahoma,sans-serif}.is-today .month-date span{background:var(--green);color:white}.month-events{display:flex;flex-direction:column;gap:4px;margin-top:5px}.calendar-event.mini{display:block;padding:5px 6px;font-size:9px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.mini span{font-size:8px;margin-right:5px}.calendar-event.mini strong{font-size:9px}.month-more{font-size:9px;color:#576170;text-align:left;padding:3px}.staff-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:25px;align-items:start}.staff-picker{padding:20px 12px}.staff-picker h2{font-size:14px;padding:0 10px 14px;border-bottom:1px solid #e9edf2;margin-bottom:7px}.staff-person{display:flex;align-items:center;gap:11px;padding:13px 11px;border-radius:9px;width:100%;text-align:left}.staff-person.selected{background:#e9eef4}.staff-person>span:nth-child(2){flex:1}.staff-person strong{display:block;font-size:12px;font-weight:500;color:#525e70}.staff-person small{display:block;font-size:9px;color:#586372;margin-top:4px}.staff-person>.icon{width:13px;height:13px;color:#586373}.staff-picker .micro-copy{padding:0 10px}.staff-profile{display:flex;gap:17px;align-items:center;padding:24px}.staff-profile>.avatar{width:55px;height:55px;font-size:24px}.staff-profile h2{font-size:21px;font-weight:500}.staff-profile p{font-size:11px;color:#576272;margin-top:5px}.staff-profile p span{color:#586372}.staff-workload{margin-left:auto;display:flex;flex-direction:column;text-align:center;gap:3px}.staff-workload strong{font-family:Arial,sans-serif;font-size:27px;font-weight:500;color:#495b74}.staff-workload span{font-size:9px;color:#596474}.staff-month{margin:28px 0 16px}.staff-month h2{font-size:15px}.staff-month input{border:1px solid #dae0e9;padding:8px 9px;border-radius:7px;color:#566170;font-size:11px;background:white}.staff-schedule{min-width:0}dialog{padding:0;border:1px solid #dae0e9;border-radius:18px;box-shadow:0 24px 100px #131b262b;max-width:min(650px,calc(100vw - 32px));width:650px;max-height:90dvh;background:white;color:var(--ink)}dialog::backdrop{background:#1a233070;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;border-bottom:1px solid var(--line);gap:12px}.dialog-heading .eyebrow{margin-bottom:0;font-size:9px}.dialog-heading h2{font-size:23px;margin-top:9px;font-weight:500}.detail-content{padding:25px 26px}.detail-content>h2{font-size:24px;line-height:1.7;font-weight:500;margin:16px 0 21px;overflow-wrap:anywhere}.detail-date{display:flex;gap:10px;align-items:center;font-size:12px;color:#56606f;margin-top:14px;line-height:1.6}.detail-date span{font-size:10px;color:#586373}.detail-date>.icon{width:17px;height:17px;color:#5a6574}.detail-assignees{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:#f5f7fa;border-radius:10px;padding:20px;margin-top:24px}.detail-assignees .assignment strong{font-size:14px}.detail-assignees .assignment small{font-size:10px}.detail-assignees .avatar{width:38px;height:38px;font-size:16px}.acceptance{display:block;margin:10px 0 0 46px;font-size:10px;color:#576272}.detail-note{margin-top:25px}.detail-note h3{font-size:12px;color:#4a5b72;font-weight:500}.detail-note p{font-size:12px;color:#576271;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:9px}.detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);gap:15px;margin:25px 0 0;padding-top:20px}.detail-meta dt{color:#576272;font-size:10px;margin-bottom:7px}.detail-meta dd{margin:0;font-size:11px;color:#56606f}.dialog-footer{display:flex;align-items:center;justify-content:space-between;padding:17px 26px;border-top:1px solid var(--line);gap:15px;background:#fbfcfd;border-radius:0 0 18px 18px}.dialog-footer .micro-copy{margin:0}.form-content{padding:22px 26px}.form-intro{color:#556070;font-size:12px;margin-bottom:23px}.form-intro span{display:block;color:#5a6574;font-size:10px;margin-top:4px}.field{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#546072;font-weight:500;margin-bottom:20px;min-width:0}.field input,.field select,.field textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid #d9dfe7;border-radius:8px;background:white;color:#4a5b73;font-size:13px;min-height:44px;font-weight:400}.field input::placeholder,.field textarea::placeholder{color:#596474;font-size:12px}.field textarea{resize:vertical;line-height:1.8}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-row.dates-row{grid-template-columns:1.5fr 1fr 1fr;gap:12px}.form-section-label{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:21px;margin:4px 0 21px;font-size:12px;color:#4e5d73}.form-section-label>.icon{width:17px;height:17px}.form-section-label>span{margin-left:auto;color:#586373;font-size:10px}.form-error{font-size:12px;color:var(--red);line-height:1.7;margin:10px 0}.form-error:empty{display:none}.conflict-box{display:flex;gap:10px;background:#fff0ee;border:1px solid #efcfca;border-radius:9px;padding:15px;margin:0 0 22px;color:#9b574f;font-size:12px}.detail-content .conflict-box{margin:24px 0 0}.conflict-box>.icon{width:19px;height:19px;margin-top:2px}.conflict-box strong{font-weight:500;font-size:12px}.conflict-box p{margin-top:10px;font-size:11px;color:#915c55}.conflict-box small{display:block;font-size:10px;margin-top:13px;line-height:1.8;color:#876259}.form-ok{display:flex;align-items:center;gap:8px;padding:12px;border-radius:8px;background:#e9eef5;color:#4a5a71;font-size:11px;margin-bottom:23px;line-height:1.7}.form-ok .icon{width:16px;height:16px}.info-content{padding:30px 27px}.info-icon{display:grid;place-items:center;width:48px;height:48px;background:#e9eef4;border-radius:12px;color:var(--green);margin-bottom:18px}.info-content h2{font-size:25px;font-weight:500}.info-content>p{font-size:12px;color:#586372;margin:15px 0 23px}.info-content ol{font-size:12px;color:#556070;line-height:1.9;padding-left:23px;margin:20px 0 25px}.info-content li{margin:10px 0}.info-content .role-notice{font-size:11px;display:block;color:#4f5d70;line-height:1.9}.help-steps{display:flex;flex-direction:column;gap:22px;margin:28px 0}.help-steps>div{display:flex;gap:15px;align-items:flex-start}.help-steps b{color:#566171;font-family:Arial,sans-serif;font-weight:400;font-size:21px}.help-steps strong{font-size:13px;font-weight:500;color:#4a5b73}.help-steps p{font-size:11px;color:#556070;margin-top:5px}#reset-confirm{font-size:12px;color:var(--red);margin-top:17px}#reset-confirm p{margin-bottom:12px}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:#28364a;color:#fff;border:1px solid #485970;box-shadow:0 6px 30px #131f312e;border-radius:11px;padding:14px 24px;font-size:12px;line-height:1.7;z-index:50;opacity:0;pointer-events:none;transition:transform .2s,opacity .2s;max-width:min(90vw,560px);text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}
/* Contrast is deliberately stronger for small labels, even on muted surfaces. */
.micro-copy,.job-note,.page-footer,.sidebar-signature,.category,.panel-description,.schedule-date,.assignment small,.job-time small,.available-group>div>span,.stat-hint,.person-state,.role-picker label,.form-intro span,.field input::placeholder,.field textarea::placeholder,.detail-meta dt,.acceptance{color:#5a6575}.location,.page-heading p,.filter-label,.stat-label,.job-time span,.prototype-strip{color:#5b6676}.badge.green{color:#475b76}.badge.amber{color:#8d621c}.badge.red{color:#ac4c53}.badge.neutral{color:#5a6575}.form-ok{color:#395275}.job-note{color:#5a6574}.calm-card p{color:#556070}.person-chip.busy{color:#596473}.no-events{color:#586372}.month-cell.outside .month-date{color:#576271}.search-box input::placeholder{color:#5c6777}.available-group>div>span{color:#5a6575}.info-content>p,.info-content ol,.help-steps p{color:#525e70}.sidebar-signature{color:#5a6575}.nav-label{color:#5b6777}.calendar-event.green{color:#48576d}.calendar-event.amber{color:#86662a}.calendar-event.red{color:#a54d55}.calendar-event.neutral{color:#566170}.calendar-event em{opacity:1}.month-date small{color:#566170}
@media(min-width:1600px){main{padding-top:42px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 330px;gap:30px}.job-body{padding:21px 24px 17px}.job-title{font-size:16px}.job-time{min-width:110px;padding-top:27px}.job-time strong{font-size:23px}.job-top{margin-bottom:10px}.job-bottom{margin-top:19px}.assignment strong{font-size:12px}.assignment small{font-size:9px}.location{font-size:11px}.job-note{font-size:10px}.panel{padding:23px}.stat-card{padding:22px 25px 18px}.stat-number{font-size:39px}.stat-label{font-size:13px}.stat-hint{font-size:11px}.page-heading{margin-bottom:34px}h1{font-size:33px}.page-heading p{font-size:12px}.topbar{height:86px}.dashboard-grid .section-heading h2{font-size:18px}}
@media(max-width:1200px){.sidebar{width:200px;padding-left:14px;padding-right:14px}.brand{font-size:22px;gap:9px;padding:0 9px}.brand-mark{width:38px;height:42px}.nav-item{padding-left:13px;padding-right:13px;font-size:12px;gap:10px}.nav-item.active:before{left:-14px}.workspace{margin-left:200px}.topbar{padding:0 25px;gap:12px}.breadcrumb{font-size:10px}.search-box{width:30%;padding:9px}.search-box kbd{display:none}main{padding:28px 25px 0}.prototype-strip{padding-left:25px;padding-right:25px}.page-heading{gap:16px;align-items:flex-start}h1{font-size:26px}.page-heading p{font-size:10px;max-width:390px}.btn{padding:10px 13px;font-size:11px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.stats-grid{gap:12px}.stat-card{padding:16px 16px 14px}.stat-label{font-size:11px}.stat-icon{width:30px;height:30px}.stat-number{font-size:31px}.stat-hint{font-size:9px}.job-time{min-width:80px;padding-left:13px;padding-right:12px}.job-time strong{font-size:18px}.job-body{padding:14px}.job-title{font-size:14px}.assignments{gap:17px}.right-rail .panel{padding:17px}.filter-bar{gap:6px}.filter-label{display:none}.filter-bar select{font-size:9px;max-width:145px;padding:7px 4px}.job-top .badge{font-size:8px}.schedule-date{display:none}.schedule-toolbar{margin-bottom:13px}.week-column{padding-left:5px;padding-right:5px}.calendar-event{padding:9px 6px}.calendar-event strong{font-size:9px}.calendar-event small{font-size:8px}.calendar-event>span{font-size:9px}.all-job-grid{grid-template-columns:1fr}.staff-layout{grid-template-columns:230px minmax(0,1fr);gap:20px}.staff-profile{padding:20px}.staff-profile p span{display:none}.day-job-grid{grid-template-columns:1fr}.calendar-navigation h2{font-size:14px}.calendar-toolbar{padding:17px}.heading-actions{gap:7px}}
@media(max-width:1000px){.sidebar{width:78px;padding:26px 12px}.brand{padding:0;justify-content:center;margin-bottom:40px}.brand>span:last-child,.nav-label,.nav-item>span,.sidebar-bottom{display:none}.nav-item{padding:13px;justify-content:center}.nav-item .icon{width:21px;height:21px}.nav-item.active:before{left:-12px}.nav-item .nav-count{display:block;position:absolute;top:4px;right:3px;padding:0 4px;font-size:8px}.workspace{margin-left:78px}.topbar{height:74px}.search-box{width:35%}.page-heading h1{font-size:26px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 250px}.page-heading p{max-width:390px}.heading-actions .secondary{display:none}.stat-card{padding:15px 14px 13px}.staff-layout{grid-template-columns:210px minmax(0,1fr)}.staff-profile{flex-wrap:wrap}.staff-profile>.avatar{width:43px;height:43px;font-size:20px}.staff-workload{gap:2px}.staff-workload span{font-size:8px}.calendar-navigation{gap:2px}.week-column{min-height:420px}.calendar-legend{gap:13px;font-size:9px}}
@media(max-width:820px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.right-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.calm-card{display:none}.availability-panel{grid-row:span 2}.schedule-date{display:block}.job-body{padding:17px 20px 14px}.job-time{min-width:95px;padding:24px 18px}.job-title{font-size:15px}.badge{font-size:9px!important}.job-time strong{font-size:20px}.assignments{gap:28px}.topbar{padding:0 21px;gap:9px}.breadcrumb{display:none}.search-box{margin-left:0;width:auto;flex:1;max-width:none}.role-picker{min-width:120px}.page-heading p{max-width:none}.stats-grid{gap:10px}.stat-card{padding:15px 12px 13px}.stat-label{font-size:10px}.stat-icon{width:28px;height:28px;border-radius:8px}.stat-icon .icon{width:15px;height:15px}.stat-hint{font-size:8px}.stat-number{font-size:30px}.stat-number small{font-size:9px}.staff-layout{grid-template-columns:190px minmax(0,1fr);gap:15px}.staff-profile{gap:10px}.staff-profile h2{font-size:19px}.staff-profile p{font-size:10px}.staff-workload{flex-direction:row;width:100%;align-items:center;justify-content:flex-end;gap:8px}.staff-workload strong{font-size:20px}.staff-profile .avatar{width:38px;height:38px}.calendar-toolbar{align-items:flex-start;gap:12px}.calendar-navigation{width:100%;justify-content:center}.calendar-toolbar>.tabs{margin:0 auto}.week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.week-column{min-height:275px;border-bottom:1px solid var(--line)}.week-column:last-child{border-right:1px solid var(--line)}.week-header{flex-direction:row;justify-content:center;padding:12px 3px;gap:8px}.week-header>strong{font-size:19px;width:30px;height:30px}.week-header small{margin-left:auto;font-size:8px}.calendar-event strong{font-size:11px}.calendar-event small{font-size:9px}.calendar-event>span{font-size:10px}.week-jobs{margin-bottom:12px}.month-cell{min-height:115px;padding:5px}.month-date{font-size:11px}.calendar-event.mini strong{font-size:8px}.month-more{font-size:8px}.month-date span{width:22px;height:22px}}
@media(max-width:600px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:72px;padding:0 16px;gap:8px}.search-box{padding:10px 9px}.search-box input{font-size:11px}.search-box input::placeholder{font-size:10px}.topbar-divider,.user-avatar{display:none}.install-btn{display:none}.role-picker{min-width:118px;max-width:123px}.role-picker select{font-size:11px}.prototype-strip{padding:9px 16px;font-size:8px;letter-spacing:0}.prototype-strip>span:last-child{display:none}.prototype-strip .strip-separator{padding:0 5px}main{padding:25px 16px 0}.page-heading{gap:12px;align-items:center;margin-bottom:23px}.eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:9px}.page-heading h1{font-size:24px;letter-spacing:-.6px}.page-heading p{font-size:10px;max-width:280px;line-height:1.9}.subtitle-dot{display:none}.page-heading p .subtitle-dot+*{display:none}.heading-actions .primary{font-size:0;gap:0;padding:0;width:43px;height:43px;border-radius:12px;min-width:43px}.heading-actions .primary .icon{width:21px;height:21px}.read-only-label{font-size:8px;padding:9px;max-width:70px;white-space:normal;text-align:center;line-height:1.8}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:18px}.stat-card{border-radius:12px;padding:15px 16px 12px}.stat-label{font-size:11px}.stat-icon{width:30px;height:30px}.stat-number{font-size:32px;margin-top:0}.stat-number small{font-size:10px}.stat-hint{font-size:9px;margin-top:4px;padding-top:8px}.alert-banner{padding:12px;gap:10px;margin-bottom:22px;border-radius:10px;align-items:flex-start}.alert-symbol{width:29px;height:29px;margin-top:1px}.alert-banner strong{font-size:11px}.alert-banner p{font-size:9px;line-height:1.8}.alert-banner .text-btn{font-size:9px;align-self:center;gap:3px;min-width:70px}.alert-banner .text-btn .icon{width:12px;height:12px}.dashboard-grid{gap:22px}.section-heading{margin-bottom:13px}.section-heading h2{font-size:16px}.section-heading>.text-btn{font-size:10px}.tabs{padding:3px}.tabs button{padding:6px 12px;font-size:10px;min-height:32px}.schedule-date{font-size:9px}.filter-bar{gap:6px;margin-bottom:15px}.filter-bar select{font-size:10px;padding:7px 5px;max-width:150px;min-height:36px}.filter-clear{font-size:9px}.job-list{gap:12px}.job-card{border-radius:12px}.job-time{min-width:72px;padding:20px 11px 15px;align-items:center}.job-time strong{font-size:18px}.job-time span{font-size:9px;margin-top:4px}.job-time small{font-size:8px;margin-top:20px}.job-body{padding:14px 13px 12px}.job-top{gap:6px;margin-bottom:8px}.category{font-size:8px}.badge{font-size:8px!important;padding:2px 6px}.badge .icon{width:10px;height:10px}.job-title{font-size:14px;line-height:1.8;letter-spacing:-.2px}.location{font-size:9px;margin-top:6px;line-height:1.8;align-items:flex-start}.location .icon{width:12px;height:12px;margin-top:2px}.job-bottom{margin-top:14px;gap:3px}.assignments{gap:15px}.assignment{gap:5px}.assignment strong{font-size:10px}.assignment small{font-size:8px}.avatar.small{width:25px;height:25px;font-size:10px}.card-open{width:25px;height:25px}.job-note{font-size:8px;margin-top:12px;padding-top:8px;line-height:1.8}.job-note .icon{width:10px;height:10px}.right-rail{grid-template-columns:minmax(0,1fr);gap:15px}.availability-panel{grid-row:auto}.right-rail .panel{padding:19px}.available-group>div:first-child{font-size:11px}.person-chip{font-size:10px;padding:5px 7px 5px 4px;gap:6px}.person-chip .avatar.small{width:24px;height:24px;font-size:10px}.person-state{font-size:8px}.available-group>div>span{font-size:10px}.micro-copy{font-size:10px}.panel-description{font-size:11px}.availability-inputs input{font-size:12px;padding:9px 6px}.tomorrow-panel{display:none}.page-footer{padding:28px 16px 98px;font-size:8px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#ffffffed;backdrop-filter:blur(16px);border-top:1px solid #dde2ea;padding:9px 10px calc(10px + env(safe-area-inset-bottom));z-index:10;box-shadow:0 -5px 15px #23314403}.mobile-nav button{display:flex;align-items:center;flex-direction:column;gap:6px;width:25%;font-size:9px;color:#586372;min-height:45px;padding:5px}.mobile-nav button .icon{width:20px;height:20px}.mobile-nav button.active{color:var(--green);font-weight:600}.mobile-nav button.active .icon{background:#e5eaf1;border-radius:7px;box-shadow:0 0 0 5px #e5eaf1}.role-notice{font-size:10px;padding:12px;gap:8px;flex-wrap:wrap;margin-bottom:20px}.role-notice>.icon{width:16px;height:16px}.role-notice .text-btn{font-size:10px}.all-job-grid{grid-template-columns:1fr;gap:12px}.date-filter{font-size:9px}.date-filter input{font-size:10px;max-width:135px}.list-result h2{font-size:14px}.list-result>span{font-size:9px}.calendar-panel{border-radius:12px}.calendar-toolbar{padding:15px 10px;gap:13px}.calendar-navigation{gap:0}.calendar-navigation h2{font-size:13px;flex:1;text-align:center;line-height:1.9}.calendar-navigation .icon-btn{width:28px;height:32px}.small-btn{font-size:9px;padding:5px 10px;min-height:31px;margin-left:4px}.calendar-toolbar>.tabs{margin:0;width:100%;justify-content:center}.calendar-toolbar>.tabs button{flex:1}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.week-column{min-height:245px;padding-left:8px;padding-right:8px}.week-header{gap:10px}.week-header>span{font-size:11px}.week-header>strong{font-size:21px}.week-header small{font-size:8px}.calendar-event{padding:9px}.calendar-event strong{font-size:11px}.calendar-event small{font-size:9px}.calendar-legend{gap:10px 15px;font-size:8px;padding:16px 10px}.day-job-grid{padding:13px;gap:12px}.day-job-grid .job-time{min-width:65px;padding-left:9px;padding-right:9px}.day-job-grid .job-body{padding:13px 11px}.day-job-grid .assignments{gap:10px}.day-job-grid .assignment strong{font-size:9px}.calendar-day-heading{padding:20px 15px 3px}.calendar-day-heading h2{font-size:15px}.month-weekdays{font-size:10px;padding:12px 0}.month-cell{min-height:70px;padding:5px 2px}.month-date{flex-direction:column;align-items:center;gap:3px;padding:0;font-size:12px;min-height:48px;justify-content:flex-start}.month-date small{display:block;font-size:8px;line-height:1.5}.month-date span{width:25px;height:25px}.month-events{display:none}.staff-layout{grid-template-columns:1fr;gap:18px}.staff-picker{padding:16px 10px;display:flex;gap:7px;overflow-x:auto}.staff-picker>h2,.staff-picker>.micro-copy{display:none}.staff-person{flex-direction:column;gap:7px;padding:9px 10px;min-width:75px;width:auto;flex-shrink:0;text-align:center}.staff-person .avatar{width:34px;height:34px;font-size:13px}.staff-person strong{font-size:11px}.staff-person small{font-size:8px;margin-top:2px}.staff-person>.icon{display:none}.staff-profile{padding:19px;gap:12px}.staff-profile h2{font-size:20px}.staff-profile>.avatar{width:44px;height:44px;font-size:21px}.staff-profile p{font-size:10px}.staff-workload{width:auto;flex-direction:column;gap:4px;align-items:center;justify-content:center}.staff-workload strong{font-size:24px}.staff-workload span{font-size:8px}.staff-month{margin:22px 0 15px}.staff-month h2{font-size:14px}.staff-month input{font-size:11px;padding:8px}.staff-picker{scrollbar-width:thin}.staff-layout .staff-picker{max-width:100%}dialog{max-width:calc(100vw - 20px);max-height:94dvh;border-radius:16px;width:600px}.dialog-heading{padding:18px 20px}.dialog-heading h2{font-size:21px}.detail-content{padding:23px 20px}.detail-content>h2{font-size:21px;margin:15px 0 20px}.detail-date{font-size:11px;gap:8px;flex-wrap:wrap}.detail-date span{font-size:9px}.detail-assignees{padding:15px 12px;gap:13px}.detail-assignees .assignment strong{font-size:12px}.detail-assignees .assignment small{font-size:8px}.detail-assignees .avatar{width:31px;height:31px;font-size:12px}.acceptance{font-size:9px;margin-left:36px}.detail-note p{font-size:11px}.detail-meta{gap:8px}.detail-meta dt{font-size:9px}.detail-meta dd{font-size:10px;line-height:1.9}.dialog-footer{padding:15px 20px;gap:10px}.dialog-footer .micro-copy{font-size:8px;max-width:100px}.dialog-footer .btn{font-size:11px;padding:11px 14px}.form-content{padding:20px}.form-intro{font-size:11px;margin-bottom:21px}.field{font-size:11px;gap:8px;margin-bottom:18px}.field input,.field select,.field textarea{font-size:16px;padding:11px 10px;min-height:46px}.field input::placeholder,.field textarea::placeholder{font-size:12px}.form-row{gap:12px}.form-row.dates-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.dates-row>.field:first-child{grid-column:1/-1}.form-section-label{font-size:11px;gap:7px;margin-bottom:19px}.form-section-label>span{font-size:9px}.form-ok{font-size:10px;padding:10px}.conflict-box{padding:13px;gap:8px}.conflict-box strong{font-size:11px}.conflict-box p{font-size:10px}.conflict-box small{font-size:9px}.info-content{padding:24px 20px}.info-content h2{font-size:23px}.info-content>p,.info-content ol{font-size:11px}.help-steps strong{font-size:12px}.help-steps p{font-size:10px}#toast{bottom:92px;font-size:11px;padding:12px 17px;min-width:240px}.empty-state{padding:34px 15px}.empty-state h3{font-size:14px}.empty-state p{font-size:10px}}
@media(max-width:360px){main{padding-left:12px;padding-right:12px}.topbar{padding-left:12px;padding-right:12px}.page-heading h1{font-size:22px}.job-time{min-width:65px;padding-left:8px;padding-right:8px}.job-body{padding-left:11px;padding-right:11px}.assignments{gap:10px}.job-title{font-size:13px}.badge{font-size:7px!important}.job-top{gap:4px}.category{font-size:7px}.card-open{display:none}.filter-bar select{font-size:9px;max-width:140px}.filter-clear{font-size:8px}.calendar-navigation h2{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep supporting information readable at both desktop and mobile sizes. */
.eyebrow,.prototype-strip,.category,.job-note,.assignment small,.micro-copy,.panel-description,.stat-hint,.role-picker label,.filter-label,.filter-clear,.sidebar-signature,.job-time small,.job-time span,.person-state,.calendar-legend,.calendar-event em,.calendar-event small,.month-date small,.acceptance{font-size:10px}.badge{font-size:10px!important}.location{font-size:11px}.assignment strong{font-size:12px}.calendar-event strong{font-size:11px}.page-heading p{font-size:12px}.search-box input{font-size:12px}.read-only-label{line-height:1.7}
@media(max-width:600px){.prototype-strip{font-size:9px}.page-heading p{font-size:11px}.assignment strong{font-size:11px}.job-top{row-gap:7px}.job-time{min-width:74px}.stat-hint{font-size:9px}.job-top .category{font-size:9px}.badge{font-size:9px!important}.calendar-legend{font-size:9px}.page-footer{font-size:9px}.person-chip,.filter-bar select{font-size:11px}.calendar-event strong{font-size:11px}}

.rotation-panel{margin-bottom:26px;padding:24px}.rotation-panel>p{font-size:13px;color:#515b6a;margin:10px 0 20px}.rotation-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.rotation-columns ol{list-style:none;padding:0}.rotation-columns li{display:flex;align-items:center;gap:10px;padding:12px 8px;border-bottom:1px solid #e3e8ee}.rotation-columns li:first-child{background:#e9f3fc;border-radius:8px}.rotation-columns li b{font-size:12px;min-width:45px}.rotation-columns li strong{margin-right:auto}.rotation-columns button{min-height:40px;padding:6px;font-size:12px;color:#354a99}.rotation-panel~.stats-grid{display:none}@media(max-width:700px){.rotation-columns{grid-template-columns:1fr}.rotation-panel{padding:16px}.rotation-columns li{gap:7px}}

/* Quality pass 2: operational readability and recoverable persistence. */
.status-stack{display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:100%}.job-top{align-items:flex-start}.badge{white-space:normal;font-size:12px!important}.category,.location,.job-note,.assignment small,.assignment strong,.job-time small,.job-time span,.micro-copy,.filter-bar select,.filter-clear,.calendar-event strong,.calendar-event small,.calendar-event em,.calendar-legend,.panel-description,.person-chip,.person-state,.available-group>div>span,.acceptance,.detail-meta dt,.detail-meta dd,.form-ok,.conflict-box p,.conflict-box small,.tabs button,.schedule-date,.stat-hint,.page-heading p{font-size:12px!important;line-height:1.7}.filter-bar select,.icon-btn,.text-btn,.tabs button,.rotation-columns button,.month-more,.week-add{min-height:44px}.icon-btn{min-width:44px}.change-history{background:#fff6e8;padding:16px;border-radius:10px;margin-top:20px;font-size:13px;line-height:1.8}.change-history p{margin-top:10px}.replacement-actions{margin-bottom:20px}.replacement-actions .btn{margin:5px}.availability-inputs{flex-wrap:wrap}.availability-inputs label{flex:1 1 80px!important}.availability-inputs label:first-child{flex-basis:100%!important}.availability-inputs input{font-size:14px;min-height:44px}.availability-inputs label>span:not(.sr-only){font-size:12px}.rotation-panel~.stats-grid{display:grid}.eyebrow{font-size:12px;letter-spacing:0}.job-top .category{font-size:12px}.job-title{font-size:16px}.calendar-event{gap:7px}.day-warnings{display:block!important;font-size:12px!important;white-space:normal;color:#8a3f22!important}.week-header{flex-wrap:wrap}.month-date small{display:block;font-size:12px!important}.month-cell{min-height:160px}.month-date{flex-wrap:wrap}.month-date small{width:100%}#unsaved-state,#rotation-unsaved{position:fixed;bottom:12px;right:12px;background:#fff0df;border:2px solid #976014;padding:18px;max-width:min(520px,calc(100vw - 24px));z-index:10000;box-shadow:0 8px 30px #0003;border-radius:12px;font-size:14px}#unsaved-state p{margin:8px 0}dialog{overflow:auto}dialog .dialog-heading{position:sticky;top:0;background:white;z-index:2}dialog .dialog-footer{position:sticky;bottom:0;z-index:2}.sidebar .nav-item:focus-visible:after{content:attr(title);position:absolute;left:100%;background:#354a99;color:white;padding:8px;border-radius:6px;white-space:nowrap;z-index:20}
@media(max-width:820px){.page-heading{flex-wrap:wrap}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.heading-actions{margin-left:auto}.rotation-columns{grid-template-columns:1fr}.rotation-columns li{flex-wrap:wrap}.rotation-columns li strong{min-width:50px}.month-cell{min-height:130px}.month-date{flex-direction:column}.month-date small{font-size:12px!important}.calendar-navigation{flex-wrap:wrap}.calendar-navigation h2{min-width:150px}.job-time{min-width:78px}.job-body{padding:14px}.job-top{flex-direction:column}.assignments{gap:12px}.assignment{flex-wrap:wrap}.detail-meta{grid-template-columns:1fr}.detail-assignees{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.form-row.dates-row{grid-template-columns:1fr 1fr}.dialog-footer{flex-wrap:wrap}.calendar-event.mini{white-space:normal}.month-more{font-size:12px}.month-events{display:none}.month-cell{padding:3px}.month-date{min-height:120px}.job-bottom{flex-wrap:wrap}.card-open{margin-left:auto}#unsaved-state,#rotation-unsaved{bottom:85px;max-height:55vh;overflow:auto}}
@media(max-width:360px){.job-card{flex-direction:column}.job-time{flex-direction:row;gap:12px;justify-content:flex-start;padding:12px 16px;border-right:0;border-bottom:1px solid #e3e8ee}.job-time small{margin-top:0}.job-time span{margin-top:0}.rotation-columns li{gap:6px}.rotation-columns button[data-rotation=next]{width:100%;text-align:left}.filter-bar select{max-width:100%;width:100%}.filter-clear{margin-left:0}.calendar-navigation .small-btn{margin:5px}.page-heading h1{font-size:23px}.month-date small{font-size:12px!important}.month-cell{min-height:150px}.month-date{min-height:140px}}

dialog #unsaved-state{position:static;max-width:100%;max-height:none;margin:18px 0;box-shadow:none}dialog #rotation-unsaved{position:static}

.stat-label,.stat-number small,.calendar-event>span,.week-header small,.form-section-label,.field,.detail-date,.filter-label,.mobile-nav button{font-size:12px!important}

.person-chip,.staff-person,.calendar-event,.month-date,.month-more,.week-add,.week-header,.icon-btn,.card-open,.filter-bar select,.mobile-nav button{min-width:44px;min-height:44px}.month-cell .month-date{min-width:0;width:100%}.replacement-actions .btn{min-height:44px}dialog #unsaved-state{position:sticky;top:0;z-index:3}#unsaved-state:focus-within{outline:3px solid #354a99}

[hidden]{display:none!important}

/* Pilot stabilization: short windows and recovery stay scrollable. */
.sidebar{overflow-y:auto}.sidebar>*{flex-shrink:0}.mobile-help{display:none}dialog #unsaved-state{position:static;max-height:none}.date-filter input{min-height:44px}.job-title{min-height:44px}
@media(max-width:600px){.mobile-help{display:inline-flex}.topbar{gap:6px}.search-box{min-width:0}.role-picker{min-width:108px;max-width:112px}}
@media(max-height:500px){.dialog-heading{padding:10px 16px}.dialog-heading .eyebrow{display:none}.dialog-heading h2{margin:0;font-size:18px}.dialog-footer{padding:10px 16px}.form-content,.detail-content{padding:16px}.sidebar{padding-top:16px}.brand{margin-bottom:22px}}

@media(max-height:500px){dialog .dialog-heading,dialog .dialog-footer{position:static}}
.executive-line{display:flex;align-items:center;gap:10px;text-align:left;width:100%;min-height:48px;border:0;background:#eef1f5;border-radius:10px;padding:9px 12px;margin:12px 0;color:#21334d}.executive-line small{display:block;font-size:12px}.executive-line strong{font-size:13px;overflow-wrap:anywhere}.executive-line.unknown{background:#fff3da;color:#795015}.executive-line.none{background:#f0f3f6;color:#4e5866}.executive-details{background:#f1f4f7;padding:16px;border-radius:12px;margin:18px 0}.executive-details p{margin:10px 0}.executive-picker{border:1px solid #c8d1dd;border-radius:12px;padding:16px;margin:20px 0;min-width:0}.executive-picker legend{font-weight:700;padding:0 8px}.executive-options{max-height:200px;overflow-y:auto;border:1px solid #d8dee7;border-radius:8px}.executive-option{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px;cursor:pointer;border-bottom:1px solid #e3e8ee}.executive-option input{width:20px;height:20px;accent-color:#354a99;flex-shrink:0}.executive-option small{display:block;color:#4e5866;font-size:12px}.executive-option strong{font-size:14px}#executive-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}#executive-chips button{white-space:normal;min-height:44px}.executive-directory,.analytics-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.executive-person{display:flex;align-items:flex-start;gap:14px;padding:22px}.executive-person>div{min-width:0;flex:1}.executive-person h2{font-size:17px;overflow-wrap:anywhere}.executive-person p{font-size:14px}.executive-person .micro-copy{display:block;margin-top:8px}.analytics-filters{align-items:end}.analytics-filters .field{flex:1 1 150px;min-width:0}.analytics-filters input,.analytics-filters select{min-height:44px;width:100%}.analytics-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.analytics-panel{padding:24px;margin:20px 0}.analytics-panel h2{font-size:18px;margin-bottom:18px}.analytics-panel h3{margin-top:24px}.analytics-bar{display:grid;grid-template-columns:1fr auto;gap:6px;margin:14px 0;font-size:14px}.analytics-bar meter{width:100%;grid-column:1/-1;height:14px;accent-color:#354a99}.analytics-person{border:1px solid #d7dde6;border-radius:12px;padding:16px;text-align:left;display:flex;flex-direction:column;gap:6px;min-height:88px;color:#21334d;background:#f6f8fa;overflow-wrap:anywhere}.analytics-person small{font-size:12px;color:#4e5866}.analytics-person span{font-size:19px;font-weight:700}.analytics-person button{min-height:44px}.calendar-executive{white-space:normal;overflow-wrap:anywhere}.analytics-stats .stat-card{cursor:default}.analytics-filters .btn{white-space:normal}.analytics-stats .stat-label{min-height:40px}@media(max-width:900px){.analytics-columns,.executive-directory{grid-template-columns:1fr}.executive-person{flex-wrap:wrap}.analytics-filters select{max-width:100%}}@media(max-width:600px){.analytics-person-grid{grid-template-columns:1fr}.analytics-panel{padding:16px}.executive-person{padding:16px}.executive-picker{padding:12px}.mobile-nav button{min-width:0;flex:1;padding:6px 2px}.mobile-nav button span{font-size:10px}.analytics-filters .field{flex-basis:100%}.calendar-executive{font-size:12px}.analytics-stats .stat-number{font-size:30px}.analytics-stats .stat-hint{font-size:12px}.analytics-stats{gap:10px}.analytics-stats .stat-card{padding:14px}}
.roster-source{padding:18px 20px;border:1px solid #cad3df;background:#edf1f6;border-radius:12px;margin-bottom:20px;font-size:14px;line-height:1.8}.roster-source p{color:#4d5766;margin:6px 0 0;font-size:13px}.roster-levels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:20px 0}.roster-level{display:flex;flex-direction:column;gap:6px;padding:15px 12px;text-align:left;background:white;border:1px solid #d0d7e2;border-radius:12px;min-height:76px;color:#2c3a4d}.roster-level strong{font-size:14px}.roster-level span{font-size:13px;color:#505a69}.roster-level.selected{border:2px solid #354a99;background:#e4eaf2;padding:14px 11px}.executive-level-section{margin:28px 0 36px}.executive-level-section>.section-heading{flex-wrap:wrap;gap:10px}.executive-level-section h2{font-size:19px}.executive-person h3{font-size:17px;line-height:1.8;overflow-wrap:anywhere;margin:0 0 8px}.executive-person p{line-height:1.8;margin:10px 0}.executive-rank{display:flex;flex-wrap:wrap;gap:6px}.level-11{background:#ebe7f7;color:#493380}.level-10{background:#e3edf9;color:#294b77}.level-9{background:#e5ebf3;color:#283e5d}.level-8{background:#fcf0da;color:#795315}.level-other{background:#ebeef2;color:#4e5866}.directory-toolbar{flex-wrap:wrap;gap:12px;align-items:center}.directory-toolbar .field{min-width:130px;margin:0}.directory-toolbar select{min-height:44px}.executive-picker .field select{min-height:44px}.executive-option span{min-width:0}.executive-option small{line-height:1.8;overflow-wrap:anywhere}.executive-option{align-items:flex-start}.executive-option input{margin-top:3px}.executive-person .avatar{flex-shrink:0}@media(max-width:1100px){.roster-levels{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.roster-levels{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.roster-level{padding:12px;min-height:72px}.roster-level.selected{padding:11px}.executive-person{gap:10px}.executive-person>.btn{margin-left:auto}.roster-source{padding:14px}.directory-toolbar .micro-copy{width:100%}.executive-level-section .section-heading{align-items:flex-start}.executive-person h3{font-size:16px}}

/* Organization palette from the supplied reference: navy, sky blue, white. */
:root{--brand:#354a99;--brand-dark:#263675;--sky:#3cb3df;--green:var(--brand);--green-dark:var(--brand-dark);--mint:#e9f3fc;--bg:#f5f8fd;--ink:#203456;--muted:#60728b;--line:#dfe7f2}
.brand-mark{background:var(--brand);box-shadow:0 5px 15px #354a991a}.brand-mark .icon{color:white}.heading-dot{color:var(--sky)}.nav-item.active{background:#eaf1fc;color:var(--brand)}.nav-item.active:before{background:var(--sky)}.btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-dark)}.prototype-strip{background:#edf6fc;border-bottom:1px solid #dfedf7}.roster-source{background:#edf6fc;border-color:#cbdff0}.roster-level.selected{background:#e9f2fd;border-color:var(--brand)}.executive-line.assigned,.executive-details,.analytics-person{background:#f0f6fd;color:#243f70}.analytics-bar meter{accent-color:var(--brand)}.analytics-bar meter::-webkit-meter-optimum-value{background:var(--brand)}.mobile-nav button.active{color:var(--brand);background:#eaf1fc}.calm-card{background:linear-gradient(145deg,#e8f2fc,#f5fbff)}.decor-ring{border-color:#a3d8f0}.level-11{background:#e9edfc;color:#354a99}.level-10{background:#e4f2fb;color:#225c87}.level-9{background:#eef4fc;color:#395776}.level-8{background:#f0f6fa;color:#456478}
/* Operational state colors remain independent of the organization palette. */
.badge.green{background:#e8f4eb;color:#28613d}.calendar-event.green{background:#edf7ef;color:#28613d}.legend-dot.green,.availability-dot,.person-chip .person-state:before{background:#2d8050}.executive-line.unknown{background:#fff3da;color:#795015}.executive-line.none{background:#f0f3f7;color:#52657b}
.executive-summary-panel .section-heading{flex-wrap:wrap;gap:12px}.executive-summary-panel h2{margin-bottom:4px}.executive-summary-list{margin:14px 0}.executive-summary-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);min-height:74px}.executive-summary-row:last-child{border-bottom:0}.executive-summary-name{min-width:0;flex:1}.executive-summary-name>strong{font-size:14px;overflow-wrap:anywhere}.executive-summary-name>small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.executive-summary-count{text-align:right;flex-shrink:0}.executive-summary-count>strong{font-size:16px;color:var(--brand)}.executive-summary-count>small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.executive-summary-row .icon-btn{flex-shrink:0;color:var(--brand)}.executive-summary-empty{background:#f1f6fc;border-radius:10px;padding:18px;font-size:14px;color:#52657b;line-height:1.8}.executive-summary-name details{font-size:13px;margin-top:8px;color:#52657b}.executive-summary-name summary{cursor:pointer;min-height:44px;padding-top:10px;color:var(--brand)}.executive-summary-name details p{margin-top:8px;overflow-wrap:anywhere}.executive-report-content .field{margin-bottom:14px}.executive-zero-toggle{display:flex;align-items:center;gap:10px;min-height:44px;margin:6px 0 16px;font-size:14px}.executive-zero-toggle input{width:20px;height:20px;accent-color:var(--brand)}.executive-report-pages{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:15px;font-size:13px}.executive-report-content .executive-summary-row{align-items:flex-start}.executive-report-content{padding-top:20px}@media(max-width:600px){.executive-summary-row{gap:8px}.executive-summary-count>strong{font-size:14px}.executive-summary-count>small{font-size:11px}.executive-summary-name>strong{font-size:13px}.executive-summary-panel .section-heading>.btn{width:100%}.executive-summary-row .icon-btn{min-width:44px;padding:8px}.executive-report-content{padding:16px}.executive-report-pages{flex-wrap:wrap}.executive-summary-name summary{font-size:12px}.executive-summary-name details p{font-size:12px}}
.overtime-panel{border-top:3px solid var(--brand)}.overtime-stats{margin:20px 0}.overtime-stats .stat-label{min-height:46px}.overtime-stats .stat-number{font-size:28px}.overtime-policy{padding:14px 16px;background:#f0f6fd;border-radius:10px;font-size:13px;margin:18px 0}.overtime-policy summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--brand);font-weight:600}.overtime-policy p{margin:8px 0}.overtime-teams{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.overtime-teams h3{margin-bottom:12px}.overtime-person{border:1px solid var(--line);border-radius:10px;margin:10px 0;background:white}.overtime-person>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:14px;min-height:64px;font-size:14px}.overtime-person>summary>span:last-child{text-align:right}.overtime-person small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.overtime-person-detail{border-top:1px solid var(--line);padding:14px;font-size:13px;line-height:1.8}.overtime-day{margin-top:12px;background:#f5f8fd;padding:12px;border-radius:8px}.job-overtime{margin:20px 0;padding:16px;background:#f0f6fd;border-radius:10px;font-size:13px;line-height:1.8}.job-overtime h3{color:var(--brand);margin-bottom:8px}@media(max-width:820px){.overtime-teams{grid-template-columns:1fr}.overtime-stats .stat-number{font-size:25px}}@media(max-width:360px){.overtime-stats{grid-template-columns:1fr}.overtime-person>summary{flex-wrap:wrap}.overtime-person>summary>span:last-child{text-align:left}}
.overtime-total{display:flex;flex-direction:column;gap:6px;background:#eaf2fd;border:1px solid #cadbf1;border-radius:12px;padding:18px;margin-top:18px;color:var(--brand)}.overtime-total strong{font-size:18px;line-height:1.8}.overtime-total span{font-size:13px;color:#52657b;line-height:1.8}
.hours-filters{align-items:end;gap:16px}.hours-filters .field{margin-bottom:0;flex:1 1 170px}.hours-filters input,.hours-filters select{min-height:44px;width:100%;max-width:100%}.hours-caption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:20px 0;color:var(--muted);font-size:13px;line-height:1.8}.hours-caption>strong{color:var(--brand);font-size:18px;white-space:nowrap}.simple-hours-teams{display:grid;grid-template-columns:1fr 1fr;gap:24px}.hours-team{padding:24px}.hours-team h2{margin-bottom:18px}.hours-column-head,.hours-group-total{display:flex;justify-content:space-between;gap:10px;padding:12px 0;font-size:13px;color:var(--muted)}.hours-column-head{border-bottom:1px solid var(--line)}.hours-person{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);text-align:left;min-height:64px}.hours-person:hover{background:#f0f6fd}.hours-person>strong{font-size:16px;overflow-wrap:anywhere}.hours-person>span{display:flex;align-items:center;gap:8px;color:var(--brand);font-size:21px;white-space:nowrap}.hours-person small{font-size:12px;color:var(--muted)}.hours-person .icon{width:16px}.hours-group-total{color:var(--brand);font-size:14px;padding-top:18px}.hours-warning{background:#fff3da;color:#795015;padding:14px;border-radius:10px;font-size:13px;margin-bottom:20px}.hours-person-total{font-size:24px!important;color:var(--brand)!important;margin:12px 0!important}.hours-person-detail h3{margin-top:22px}.hours-person-detail section p{font-size:14px;line-height:1.9;margin-top:8px}.hours-person-detail .overtime-day p{font-size:13px;line-height:1.9}@media(max-width:820px){.simple-hours-teams{grid-template-columns:1fr}.hours-filters{flex-wrap:wrap}.hours-team{padding:18px}}@media(max-width:600px){.hours-filters .field{flex-basis:100%}.hours-person>strong{font-size:15px}.hours-person>span{font-size:20px}.hours-caption>strong{font-size:17px}}
/* Final operational usability pass: information first, progressive detail. */
.command-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 26px}.command-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:18px;background:white;border:1px solid var(--line);border-radius:14px;min-height:120px;min-width:0}.command-kpi>span{font-size:14px;color:#52657b}.command-kpi>strong{font-size:28px;line-height:1.3;color:var(--brand)}.command-kpi strong small{font-size:14px;font-weight:400}.command-kpi>small{font-size:12px;line-height:1.6;max-width:100%;overflow-wrap:anywhere;color:#52657b}.command-kpi.attention{border-color:#e4c78d;background:#fffaf0}.command-kpi:hover{border-color:var(--brand)}.command-kpi:disabled{opacity:1;background:#f7f9fc}.command-kpi:focus-visible{outline:3px solid #1977b4}.inbox-count{margin-left:auto;background:#edf2fc;color:var(--brand);border-radius:12px;padding:2px 8px;font-size:12px}.dashboard-grid{align-items:start}.today-timeline{gap:14px}.today-timeline .job-top{margin-bottom:4px}.today-timeline .job-title{font-size:16px;line-height:1.8}.timeline-item .time-phase{display:block;font-size:12px!important;line-height:1.6;background:#edf2fc;padding:4px 6px;border-radius:6px;white-space:normal}.timeline-item.phase-current{border-left:4px solid var(--brand)}.timeline-item.phase-current .time-phase{background:#dceafb;color:#244a82;font-weight:700}.timeline-item.phase-past{border-style:dashed}.timeline-item.phase-completed .time-phase{background:#edf3ee;color:#28613d}.today-timeline .executive-line{margin:10px 0;padding:7px 10px;min-height:44px}.today-timeline .executive-line small{display:none}.today-timeline .job-bottom{gap:12px;align-items:center;flex-wrap:wrap}.today-timeline .assignments{gap:18px;flex:1}.today-timeline .job-time{min-width:104px;width:104px}.operational-filters,.secondary-summary,.rotation-disclosure,.tomorrow-disclosure{border:1px solid var(--line);border-radius:10px;background:white;margin:14px 0}.operational-filters>summary,.secondary-summary>summary,.rotation-disclosure>summary,.tomorrow-disclosure>summary{cursor:pointer;padding:12px 16px;min-height:48px;font-size:14px;color:var(--brand);font-weight:600}.operational-filters .filter-bar{padding:0 14px 12px;margin-bottom:0}.secondary-summary>.stats-grid{padding:14px;margin:0;grid-template-columns:repeat(2,minmax(0,1fr))}.secondary-summary .stat-number{font-size:26px}.secondary-summary .stat-card{min-height:100px}.rotation-host .rotation-panel{padding:16px;margin:0;border:0;box-shadow:none}.rotation-host .rotation-columns{grid-template-columns:1fr;gap:12px}.rotation-host .rotation-columns li{flex-wrap:wrap;font-size:13px}.rotation-host .rotation-columns li strong{min-width:70px}.rotation-host .rotation-columns button{min-height:44px}.rotation-host .rotation-panel>p{font-size:12px}.rotation-host .rotation-panel h2{display:none}.rotation-host #rotation-add{width:100%;margin:12px 0}.tomorrow-disclosure .tomorrow-panel{border:0;margin:0;box-shadow:none}.calm-card{display:none}.inbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0}.inbox-group{margin:24px 0}.inbox-group>h2{margin-bottom:16px;font-size:19px}.inbox-card{align-items:flex-start}.inbox-card .job-body{width:100%;padding:18px}.inbox-card ul{margin:10px 0 14px;padding-left:20px;font-size:14px;line-height:1.9;color:#52657b}.inbox-card .job-title{font-size:16px}.inbox-card .btn{min-height:44px}.job-advanced{border:1px solid var(--line);border-radius:10px;padding:0 14px;margin:18px 0}.job-advanced>summary{cursor:pointer;padding:14px 0;min-height:48px;font-weight:600;color:var(--brand);font-size:15px}.job-advanced[open]>summary{border-bottom:1px solid var(--line);margin-bottom:18px}.job-advanced .executive-picker{margin-top:12px}.field{font-size:14px!important}.field-error{font-size:12px;line-height:1.8;color:#a52d36;display:block}.field [aria-invalid=true]{border:2px solid #ae3d45}.form-content [aria-invalid=true]:focus{outline:3px solid #ae3d45}.cancel-confirmation{background:#fff0ee;color:#8c2731;padding:14px;border-radius:10px;margin-bottom:18px;font-size:14px;line-height:1.8}.cancel-confirmation label{display:flex;align-items:flex-start;gap:10px;min-height:44px}.cancel-confirmation input{width:20px;height:20px;flex-shrink:0;margin-top:3px}#universal-results{position:fixed;top:80px;right:24px;width:min(560px,calc(100vw - 48px));max-height:70vh;overflow-y:auto;overflow-x:hidden;background:white;border:1px solid #b8cde8;border-radius:12px;box-shadow:0 12px 40px #20345624;padding:16px;z-index:30;overscroll-behavior:contain}.search-results-heading{display:flex;align-items:center;justify-content:space-between;color:var(--brand)}.search-result-group{border-top:1px solid var(--line);padding-top:12px;margin:10px 0}.search-result-group h2{font-size:13px;color:#52657b;margin-bottom:7px}.search-result-group>button{display:flex;flex-direction:column;text-align:left;gap:4px;min-height:54px;padding:10px;width:100%;border-radius:8px}.search-result-group>button:hover{background:#edf4fc}.search-result-group strong{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.search-result-group small{font-size:12px;color:#52657b;line-height:1.8;overflow-wrap:anywhere}.more-menu{display:flex;flex-direction:column;gap:8px}.more-menu>button{display:flex;align-items:center;gap:12px;min-height:56px;text-align:left;border-bottom:1px solid var(--line);padding:12px 6px;font-size:15px}.more-menu>button .icon:last-child{margin-left:auto}.operational-mobile-nav .quick-add-mobile{background:var(--brand);color:white;border-radius:14px;margin:4px 3px;min-height:52px}.operational-mobile-nav [aria-current=page]{background:#eaf1fc;color:var(--brand);font-weight:700}#undo-notice{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:white;border:1px solid var(--brand);box-shadow:0 6px 25px #20345624;border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:12px;z-index:35;max-width:calc(100vw - 24px);font-size:14px}#undo-notice p{margin:0}.page-heading h1{font-size:30px}.page-heading{margin-bottom:20px}.right-rail{display:flex;flex-direction:column;gap:6px}.availability-panel{margin:0}.availability-panel .panel-description{font-size:13px!important}.badge{font-size:12px!important}.job-body .job-note{font-size:13px!important}.mobile-nav span{overflow-wrap:anywhere}.timeline-item .status-stack .sr-only{font-size:12px}
@media(max-width:1100px){.command-kpis{gap:10px}.command-kpi{padding:14px}.command-kpi>strong{font-size:26px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.timeline-item .assignments{flex-basis:100%}.timeline-item .job-time{min-width:90px;width:90px}.timeline-item .job-body{padding:14px}.today-timeline .job-bottom>.btn{margin-left:auto}}
@media(max-width:820px){.command-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.right-rail{gap:10px}.timeline-item .job-time{width:96px;min-width:96px}.inbox-card ul{font-size:14px}.job-advanced{padding:0 12px}.page-heading h1{font-size:27px}.command-kpi{min-height:112px}.command-kpi>small{font-size:12px}.secondary-summary>.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){main{padding-left:14px;padding-right:14px}.command-kpis{margin:16px 0 20px;gap:9px}.command-kpi{padding:13px;min-height:112px}.command-kpi>strong{font-size:26px}.command-kpi>span{font-size:13px}.timeline-item{flex-direction:column}.timeline-item .job-time{width:100%;display:flex;flex-direction:row;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);border-right:0;flex-wrap:wrap}.timeline-item .job-time strong{font-size:18px}.timeline-item .job-time span,.timeline-item .job-time small{margin:0}.timeline-item .job-time .time-phase{margin-left:auto;max-width:130px}.today-timeline .job-bottom>.btn{margin:0;width:100%}.today-timeline .assignments{gap:18px}.timeline-item .job-body{width:100%}.schedule-toolbar{flex-wrap:wrap;gap:8px}.operational-mobile-nav button{font-size:12px!important;flex:1;min-height:56px;min-width:0;padding:5px 2px}.operational-mobile-nav button span{font-size:11px;line-height:1.5}.operational-mobile-nav{gap:0}.topbar .search-box{flex:1}.topbar .role-picker{min-width:100px;max-width:104px}#universal-results{top:72px;right:12px;width:calc(100vw - 24px);max-height:68vh;padding:12px}.inbox-toolbar .tabs{width:100%;display:flex}.inbox-toolbar .tabs button{flex:1;padding:10px 7px;font-size:13px!important}.inbox-card .job-body{padding:16px}.inbox-card .btn{width:100%}.secondary-summary .stat-card{padding:14px}.secondary-summary .stat-label{font-size:12px!important}.field input,.field select,.field textarea{font-size:16px}#undo-notice{bottom:82px;flex-wrap:wrap;justify-content:center;width:calc(100vw - 24px)}.job-advanced .form-row{grid-template-columns:1fr}}
@media(max-width:380px){.command-kpi>strong{font-size:24px}.command-kpi>small{font-size:12px}.timeline-item .job-time .time-phase{margin-left:0}.timeline-item .assignments{gap:12px}.topbar{padding-left:10px;padding-right:10px}.topbar .mobile-help{display:none}.operational-mobile-nav button span{font-size:10px}.command-kpi>span{font-size:12px}}
@media(max-height:500px){.job-advanced>summary{min-height:44px}#universal-results{max-height:65vh}#undo-notice{max-height:45vh;overflow:auto}}
.rotation-host .rotation-columns button{min-width:44px}.executive-rank-index{font-variant-numeric:tabular-nums;color:var(--brand);margin-right:4px}

/* Keep the complete staff picker visible on small screens. */
@media(max-width:600px){.staff-layout .staff-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;gap:6px;padding:12px 8px}.staff-picker .staff-person{min-width:0;width:100%;padding:10px 3px}.staff-picker .staff-person small{font-size:10px}.staff-picker .staff-person strong{font-size:12px}}

/* Date-only availability: status belongs visibly to each person. */
.availability-panel .availability-inputs{display:block}
.availability-panel .available-people{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.availability-panel .person-chip{width:100%;display:flex;gap:10px;padding:10px 12px;background:#f3f8ff;border:1px solid #d7e4f5;text-align:left;min-height:52px}
.availability-panel .person-chip .person-name{font-size:14px;flex:1;color:#24385f}
.availability-panel .person-chip .person-state{font-size:13px!important;font-weight:600;white-space:nowrap;color:#24533c;background:#e7f4eb;border-radius:6px;padding:3px 8px;margin:0}
.availability-panel .person-chip.busy{background:#fff;border:1px solid #dce2eb;color:#34435c}
.availability-panel .person-chip.busy .person-state{color:#684a16;background:#fff2d9}
.availability-panel .person-state:before{display:none}
.availability-panel .person-chip.busy .avatar{filter:none;opacity:1}

.auth-shell{max-width:440px;margin:10vh auto;padding:28px}
