:root{--ui-ink:#172d3c;--ui-muted:#536b7b;--ui-brand:#1265a8;--ui-brand-soft:#e8f2fa;--ui-surface:#ffffff;--ui-line:#dbe5eb;--ui-radius:12px;--ui-shadow:0 8px 28px #193b5010;font-family:Aptos,Noto Sans,PingFang SC,sans-serif;color:var(--ui-ink)}*{box-sizing:border-box}body{margin:0;background:#f3f6f8}a{color:var(--ui-brand);text-underline-offset:3px}button,input,select{font:inherit}a,button,input,select{touch-action:manipulation}:focus-visible{outline:3px solid #1265a8;outline-offset:3px}h1,h2,h3,p{overflow-wrap:anywhere}.ui-app{min-height:100dvh;background:radial-gradient(ellipse at 95% 0,#e7f0f4,transparent 46%),#f3f6f8}.ui-topbar{min-height:76px;background:#fffffff0;border-bottom:1px solid var(--ui-line);padding:16px 32px;justify-content:space-between}.ui-topbar,.ui-topbar>div{display:flex;align-items:center;gap:12px}.ui-topbar>div{min-width:0;flex-wrap:wrap}.ui-brand{font-weight:800;font-size:19px;color:var(--ui-ink);text-decoration:none;letter-spacing:-.5px}.ui-sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:#fff;border-right:1px solid var(--ui-line);padding:28px 16px;overflow:auto;z-index:20}.ui-sidebar .ui-brand{display:block;margin:0 12px 30px}.ui-nav{display:grid;grid-gap:5px;gap:5px}.ui-nav a{display:block;padding:12px;min-height:44px;border-radius:8px;color:#455e70;text-decoration:none;overflow-wrap:anywhere}.ui-nav a[aria-current=page]{background:var(--ui-brand-soft);color:#074f87;font-weight:700;box-shadow:inset 3px 0 var(--ui-brand)}.ui-nav a:hover{background:#f0f5f8}.ui-admin-layout{padding-left:232px}.ui-mobile-menu{display:none}.ui-page{max-width:1580px;margin:auto;padding:32px;min-width:0}.ui-personal-page{max-width:920px;padding-bottom:112px}.ui-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.ui-page-header h1{margin:6px 0 10px;font-size:clamp(25px,2.7vw,36px);letter-spacing:-.7px}.ui-page-header p{margin:0;color:var(--ui-muted);max-width:820px;line-height:1.6}.ui-eyebrow{text-transform:uppercase;color:var(--ui-muted);font-size:11px;letter-spacing:1.5px;font-weight:700}.ui-panel{border:1px solid var(--ui-line);box-shadow:var(--ui-shadow);margin-bottom:20px;border-radius:var(--ui-radius);overflow:hidden}.ui-panel .ant-card-head-title{white-space:normal}.ui-panel p{line-height:1.65}.ui-two-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.ui-two-columns>*{min-width:0}.ui-muted{color:var(--ui-muted);font-size:13px;line-height:1.6}.ui-person-strip{display:flex;align-items:center;gap:14px;margin-bottom:24px}.ui-person-strip strong{font-size:18px}.ui-person-strip p{margin:5px 0 0;color:var(--ui-muted);font-size:13px}.ui-avatar{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border-radius:15px;background:#dbeaf4;color:#174b70;font-size:22px;font-weight:700}.ui-today-hero{background:linear-gradient(135deg,#fff 60%,#e8f3fa);border:1px solid #cbdfea;border-top:4px solid var(--ui-brand);border-radius:var(--ui-radius);padding:28px;margin-bottom:20px;box-shadow:var(--ui-shadow)}.ui-clock{display:block;font-size:clamp(46px,9vw,72px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-3px;line-height:1.3;color:#183f58}.ui-today-hero h2{font-size:26px;margin:12px 0}.ui-today-hero>p{color:var(--ui-muted);line-height:1.6}.ui-shift-summary{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:13px}.ui-timeline{list-style:none;padding:0;margin:24px 0}.ui-timeline li{position:relative;display:flex;gap:24px;padding:12px 0 22px 20px;border-left:2px solid #b6cfdf}.ui-timeline li:before{content:"";width:8px;height:8px;background:var(--ui-brand);border-radius:50%;position:absolute;left:-5px;top:16px}.ui-timeline time{font-weight:700;min-width:55px}.ui-unavailable{margin:16px 0 22px}.ui-unavailable .ant-alert-description{color:var(--ui-muted)}.ui-status{display:inline-flex;align-items:center;min-height:25px;padding:3px 9px;border-radius:6px;color:#435968;background:#edf1f4;font-size:12px;font-weight:650;white-space:normal;line-height:1.5}.ui-status.active,.ui-status.published,.ui-status.work{background:#e1f2ef;color:#176557}.ui-status.on_leave,.ui-status.rest{background:#e7eef9;color:#315b90}.ui-status.locked{background:#dfe8ee;color:#233e53}.ui-status.draft,.ui-status.probation{background:#fff2d7;color:#815308}.ui-status.stale,.ui-status.suspended{background:#ffeadf;color:#923e17}.ui-filter-bar{display:flex;flex-wrap:wrap;gap:16px;background:#fff;padding:18px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);margin-bottom:20px;align-items:flex-end}.ui-field{display:grid;grid-gap:7px;gap:7px;min-width:160px;flex:1 1 180px;font-size:13px;color:var(--ui-muted)}.ui-field .ant-select{width:100%}.ui-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.ui-metric{background:#fff;border:1px solid var(--ui-line);padding:24px;border-radius:var(--ui-radius)}.ui-metric strong{display:block;font-size:42px;letter-spacing:-1px;margin-top:10px}.ui-action-list{display:grid;grid-gap:12px;gap:12px}.ui-action-list a{display:grid;grid-gap:7px;gap:7px;padding:16px;border:1px solid var(--ui-line);border-radius:8px;text-decoration:none}.ui-action-list span{color:var(--ui-muted);line-height:1.6;font-size:13px}.ui-grid-scroll{max-width:100%;max-height:70vh;overflow:auto;background:white;border:1px solid var(--ui-line);border-radius:var(--ui-radius);margin-bottom:20px}.ui-scheduling-grid{border-collapse:separate;border-spacing:0;font-size:13px}.ui-scheduling-grid td,.ui-scheduling-grid th{padding:8px;min-width:124px;border-right:1px solid var(--ui-line);border-bottom:1px solid var(--ui-line)}.ui-scheduling-grid thead th{position:-webkit-sticky;position:sticky;top:0;background:#f1f6f8;z-index:3;height:50px}.ui-scheduling-grid th:first-child{position:-webkit-sticky;position:sticky;left:0;min-width:208px;max-width:208px;background:#fff;text-align:left;z-index:2}.ui-scheduling-grid thead th:first-child{z-index:4;background:#eaf2f7}.ui-scheduling-grid tbody th>*{display:block;margin:5px 0}.ui-mobile-schedule-row small,.ui-scheduling-grid small{color:var(--ui-muted);font-weight:400;display:block;margin:4px 0 8px}.ui-plan-cell{display:flex;flex-direction:column;gap:5px;align-items:flex-start;justify-content:flex-start;width:100%;min-height:84px;border:1px solid transparent;border-radius:7px;background:#f4f7fa;color:var(--ui-ink);padding:10px;text-align:left;cursor:pointer}.ui-plan-cell:not(:disabled):hover{border-color:#7dacc8;background:#ebf3f9}.ui-plan-cell:disabled{cursor:default;color:var(--ui-muted)}.ui-plan-cell.is-rest{background:#eaf0f9}.ui-plan-cell small{color:var(--ui-muted);overflow-wrap:anywhere}.ui-scheduling-mobile{display:none}.ui-personal-calendar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin:20px 0}.ui-calendar-day{padding:10px;background:white;border:1px solid var(--ui-line);border-radius:10px;min-width:0}.ui-calendar-day>time{display:block;font-size:12px;font-weight:700;margin:0 0 10px}.ui-calendar-day.is-today{border-color:#1265a8;box-shadow:0 0 0 1px #1265a8}.ui-bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,920px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fffffff5;border:1px solid var(--ui-line);border-radius:14px 14px 0 0;padding:8px 6px max(8px,env(safe-area-inset-bottom));z-index:30;box-shadow:0 -5px 20px #213f5410}.ui-bottom-nav a{min-height:52px;padding:5px 2px;color:#536b7b;display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;text-align:center;font-size:11px;line-height:1.3;border-radius:8px}.ui-bottom-nav a[aria-current=page]{color:#074f87;background:var(--ui-brand-soft);font-weight:700}.ui-bottom-nav svg{width:21px;height:21px}.ui-skip{position:fixed;top:-100px;left:12px;z-index:1000;background:white;padding:12px}.ui-skip:focus{top:12px}.ui-auth-shell{min-height:100dvh;background:radial-gradient(ellipse at 15% 10%,#d8eaf6,transparent 60%),#f3f6f8}.ui-auth-shell main{max-width:min(100%,480px)}.ui-detail-drawer .ant-drawer-content-wrapper{max-width:100vw}@media (prefers-reduced-motion:no-preference){.ui-page-header{animation:ui-enter .25s ease-out both}@keyframes ui-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}@media (max-width:1100px){.ui-sidebar{width:204px}.ui-admin-layout{padding-left:204px}.ui-page{padding:24px}.ui-personal-page{padding-bottom:112px}}@media (max-width:767px){.ui-sidebar{display:none}.ui-admin-layout{padding-left:0}.ui-mobile-menu{display:inline-flex}.ui-topbar{padding:12px 16px;gap:8px;min-height:64px;flex-wrap:wrap}.ui-topbar .ui-brand{font-size:16px}.ui-topbar>div{gap:8px}.ui-page{padding:20px 16px}.ui-personal-page{padding-bottom:108px}.ui-page-header{align-items:flex-start;flex-direction:column;gap:12px}.ui-page-header h1{font-size:27px}.ui-two-columns{grid-template-columns:1fr;gap:0}.ui-panel .ant-card-body{padding:18px}.ui-today-hero{padding:22px}.ui-today-hero .ant-btn-primary{width:100%;min-height:48px}.ui-field{min-width:0;flex-basis:100%}.ui-filter-bar{gap:14px;padding:16px}.ui-metrics{gap:12px}.ui-metric{padding:18px}.ui-metric strong{font-size:34px}.ui-scheduling-desktop{display:none}.ui-scheduling-mobile{display:grid;grid-gap:14px;gap:14px;margin-bottom:20px}.ui-mobile-schedule-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:14px;gap:14px;padding:16px;border:1px solid var(--ui-line);border-radius:12px;background:#fff}.ui-mobile-schedule-row>a{grid-column:1/-1;min-height:36px}.ui-personal-calendar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ui-clock{font-size:54px}.ui-timeline li{gap:14px}.ui-auth-shell main{margin:40px auto!important;padding:20px!important}}.p33-record{padding:18px;border:1px solid var(--ui-border,#dbe3ee);border-radius:12px;background:#fff;margin:14px 0;overflow-wrap:anywhere}.p33-record header{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.p33-records{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-gap:16px;gap:16px}.p33-records>div{min-width:0}.p33-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:12px;gap:12px}.p33-metrics button{border:1px solid #dbe3ee;background:linear-gradient(145deg,#fff,#f3f7fc);border-radius:12px;padding:16px;text-align:start;min-height:88px;cursor:pointer;color:#172b4d}.p33-metrics button[aria-pressed=true]{border-color:#1f6feb;box-shadow:0 0 0 1px #1f6feb}.p33-metrics strong{display:block;font-size:28px;margin-top:8px}