:root{color:#172033;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-height:100vh}a{color:inherit;text-decoration:none}button{font:inherit}.app-shell{min-height:100vh}.topbar{z-index:50;background:#fff;border-bottom:1px solid #dfe4ec;grid-template-columns:180px 1fr 120px;align-items:center;gap:24px;min-height:64px;padding:0 24px;display:grid;position:sticky;top:0}.brand{letter-spacing:.04em;font-weight:800}.main-nav{gap:8px;display:flex}.nav-link{border-radius:8px;padding:9px 13px;font-weight:650}.nav-link:hover{background:#f0f3f8}.account-placeholder{color:#596277;justify-self:end;font-size:14px}.page-content{padding:28px}.view-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#6b7280;margin:0 0 4px;font-size:12px}h1{margin:0;font-size:30px;line-height:1.1}.view-description{color:#5d667a;max-width:760px}.view-actions{flex-wrap:wrap;gap:10px;display:flex}.button{color:#fff;cursor:pointer;background:#24324a;border:1px solid #24324a;border-radius:8px;padding:9px 12px}.button.secondary{color:#24324a;background:#fff}.context-strip{background:#fff;border:1px solid #dfe4ec;border-radius:10px;align-items:center;gap:14px;min-height:44px;margin-bottom:12px;padding:10px 14px;font-size:14px;display:flex}.context-strip span{color:#6b7280}.grid-placeholder{background:#fff;border:1px solid #d7dde7;border-radius:10px;grid-template-columns:180px minmax(700px,1fr);min-height:360px;display:grid;overflow:auto}.frozen-column{z-index:2;background:#f7f9fc;border-right:1px solid #d7dde7;padding:14px;font-weight:700;position:sticky;left:0}.timeline-placeholder{grid-template-rows:48px 1fr;grid-template-columns:repeat(5,minmax(140px,1fr));display:grid}.timeline-header{text-align:center;border-bottom:1px solid #d7dde7;border-right:1px solid #e5e9f0;padding:14px;font-weight:700}.timeline-cell{border-right:1px solid #eef1f5}@media (max-width:760px){.topbar{grid-template-columns:1fr auto;gap:10px;padding:10px 14px}.main-nav{grid-column:1/-1;overflow-x:auto}.account-placeholder{grid-area:1/2}.page-content{padding:16px}.view-header{flex-direction:column}.grid-placeholder{grid-template-columns:88px minmax(700px,1fr)}}.absence-layout{background:#fff;border:1px solid #d7dde7;border-radius:10px;grid-template-columns:210px 1fr;min-height:520px;display:grid;overflow:hidden}.absence-team-column{background:#f7f9fc;border-right:1px solid #d7dde7}.absence-column-header{border-bottom:1px solid #d7dde7;height:44px;padding:12px 14px;font-weight:750}.team-block-title{text-transform:uppercase;letter-spacing:.06em;color:#687386;background:#eef2f7;border-bottom:1px solid #dfe4ec;padding:7px 12px;font-size:11px;font-weight:800}.team-person{background:#fff;border-bottom:1px solid #e8ecf2;align-items:center;gap:8px;min-height:34px;padding:6px 10px 6px 12px;display:flex;position:relative}.team-person.interrupted{color:#858c98;background:#eceff3}.person-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.person-code{color:#70798a;font-size:11px;font-weight:750}.person-state{text-transform:uppercase;font-size:8px;position:absolute;bottom:1px;right:8px}.team-empty{color:#9aa1ad;padding:8px 12px;font-size:12px}.absence-calendar-preview{background:repeating-linear-gradient(90deg,#fff 0 139px,#eef1f5 140px);justify-content:center;align-items:center;min-width:700px;display:flex}.calendar-preview-message{text-align:center;background:#fffffff0;border:1px dashed #c5ccd7;border-radius:10px;padding:18px 24px;font-weight:700}.calendar-preview-message span{color:#7a8394;margin-top:4px;font-size:12px;font-weight:500;display:block}@media (max-width:760px){.absence-layout{grid-template-columns:100px 1fr;overflow-x:auto}.person-name{display:none}.person-code{font-size:12px}}.abs-toolbar{justify-content:flex-end;gap:10px;margin-bottom:14px;display:flex}.date-picker{min-height:42px;font:inherit;background:#fff;border:1px solid #bcc5d2;border-radius:8px;padding:0 12px}.absence-grid-scroll{background:#fff;border:1px solid #d8dee8;border-radius:10px;width:100%;overflow-x:auto}.absence-grid{min-width:1510px;display:grid}.sticky-left{z-index:3;position:sticky;left:0}.grid-person-header,.grid-day-header{background:#fff;border-bottom:1px solid #d5dbe5;border-right:1px solid #dfe4eb;height:58px}.grid-person-header{z-index:5;align-items:center;padding:0 14px;font-weight:750;display:flex}.grid-day-header{flex-direction:column;justify-content:center;align-items:center;display:flex}.grid-day-header span{text-transform:capitalize;color:#687386;font-size:12px}.grid-day-header strong{font-size:17px}.grid-day-header.selected-day{box-shadow:inset 0 -3px #253a5e}.weekend{background:#f1f3f6}.grid-block-title{color:#58667b;letter-spacing:.06em;text-transform:uppercase;background:#e9eef5;border-bottom:1px solid #d8dee8;border-right:1px solid #d8dee8;align-items:center;min-height:27px;padding:0 12px;font-size:11px;font-weight:800;display:flex}.grid-block-fill{background:#e9eef5;border-bottom:1px solid #d8dee8;border-right:1px solid #e3e7ed;min-height:27px}.grid-block-fill.weekend{background:#e2e6ec}.grid-person{background:#fff;border-bottom:1px solid #e4e8ee;border-right:1px solid #d8dee8;align-items:center;gap:8px;min-height:34px;padding:4px 10px 4px 12px;display:flex;position:sticky}.grid-person.interrupted{color:#8a919c;background:#e7e9ed}.grid-person-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:650;overflow:hidden}.grid-person-code{color:#687386;font-size:11px;font-weight:750}.grid-person small{font-size:8px;position:absolute;bottom:0;right:8px}.absence-cell{background:#fff;border-bottom:1px solid #e4e8ee;border-right:1px solid #edf0f4;min-height:34px}.absence-cell.weekend{background:#f3f4f6}.absence-cell.interrupted{background:#e7e9ed}.grid-empty{color:#9aa1ac;background:#fff;border-bottom:1px solid #e4e8ee;border-right:1px solid #d8dee8;min-height:34px;padding:8px 12px;font-size:12px}a.brand{color:inherit;text-decoration:none}.app-loading{color:#516174;background:#f5f8fb;place-items:center;min-height:100vh;font-weight:700;display:grid}.login-content{min-height:100vh}.account-placeholder{align-items:center;gap:7px;display:inline-flex}.account-placeholder b{letter-spacing:.04em;background:#fff3;border-radius:999px;padding:3px 6px;font-size:10px}@media (max-width:640px){.topbar{z-index:80;grid-template-rows:42px 44px;grid-template-columns:minmax(0,1fr) auto;gap:0 10px;min-height:86px;padding:0 10px;position:sticky;top:0}.brand{text-overflow:ellipsis;white-space:nowrap;align-self:center;font-size:14px;overflow:hidden}.account-placeholder{white-space:nowrap;align-self:center;align-items:center;gap:6px;max-width:150px;font-size:11px;display:flex;overflow:hidden}.account-placeholder span{text-overflow:ellipsis;overflow:hidden}.account-placeholder b{flex:none;font-size:9px}.main-nav{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;grid-area:2/1/auto/-1;gap:4px;margin:0 -10px;padding:3px 10px 7px;overflow-x:auto}.main-nav::-webkit-scrollbar{display:none}.nav-link{white-space:nowrap;flex:none;min-height:34px;padding:8px 10px;font-size:12px}.page-content{padding:10px}.view-header{gap:10px;margin-bottom:12px}h1{font-size:24px}.view-description{margin:4px 0 0;font-size:13px}.view-actions{gap:8px;width:100%}.button,.button.secondary{touch-action:manipulation;min-height:44px}input,select,textarea,button{font-size:16px}.abs-toolbar{grid-template-columns:auto minmax(0,1fr);gap:6px;width:100%;margin-bottom:8px;display:grid}.abs-toolbar>:first-child{grid-area:3/1/auto/-1}.abs-toolbar>:nth-child(2){grid-area:1/1}.abs-toolbar>:nth-child(3){grid-area:2/1/auto/-1}.abs-toolbar>:nth-child(4){grid-area:1/2;width:100%;min-width:0}.abs-toolbar>.button,.abs-toolbar>.date-picker{min-height:40px}.grid-person{gap:4px;padding:4px 6px}.grid-person-name{font-size:11px;line-height:1.15;display:block}.grid-person-code{flex:none;font-size:9px}.main-nav{min-width:0}.nav-link[aria-current=page]{color:#24324a;background:#eef2f7;box-shadow:inset 0 -2px #24324a}}
