:root{--navy:#122c40;--navy-light:#214257;--ink:#193244;--muted:#6f7e8b;--teal:#087f78;--line:#e5ebee;--paper:#f5f7f8;--white:#fff;--red:#a52e35}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a,button,input,select,textarea,summary{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #2ba79e}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:1.18;letter-spacing:-1.1px;margin:7px 0 12px}h2{font-size:19px;letter-spacing:-.3px}h3{font-size:16px}p+p{margin-top:12px}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:var(--teal)}.card{background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 12px #12304403}.sidebar{position:fixed;width:236px;top:0;bottom:0;background:var(--navy);color:#fff;padding:34px 22px 20px;display:flex;flex-direction:column;z-index:3}.brand{font-size:35px;letter-spacing:-2px;line-height:1;color:inherit;display:block;font-weight:850}.brand:hover{text-decoration:none}.brand span{font-size:13px;letter-spacing:2px;font-weight:550;color:#8faeba;vertical-align:middle;margin-left:7px}.nav-label{font-size:9px;letter-spacing:1.7px;margin:55px 14px 13px;color:#8fa4b5}nav{display:grid;gap:7px}nav a{padding:12px 13px;color:#b9c8d2;border-radius:8px;font-size:13px;display:flex;gap:11px;align-items:center}nav a span{font-size:21px;width:23px;line-height:1}nav a:hover,nav a.selected{background:var(--navy-light);color:#fff;text-decoration:none}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;padding-top:20px;border-top:1px solid #ffffff18;font-size:12px}.sidebar-bottom .small{color:#98afbd;font-size:10px}.sidebar-bottom strong{display:block;max-width:125px;overflow-wrap:anywhere}.sidebar-bottom form{margin-left:auto}.avatar{border-radius:10px;background:#e4f2ef;color:var(--teal);width:39px;height:39px;display:grid;place-items:center;flex-shrink:0;font-weight:700;font-size:17px}.sidebar .avatar{background:#2f5263;color:#d9f4ee}.logout{color:#b9c8d2;border:0;background:none;font-size:23px;padding:3px}.workspace{margin-left:236px}.topbar{height:74px;border-bottom:1px solid var(--line);background:#ffffffb3;display:flex;justify-content:space-between;align-items:center;padding:0 42px;font-size:10px;letter-spacing:1.4px;color:var(--muted)}.topbar b{padding:0 13px;color:#c4cfd7}.content{max-width:1550px;margin:auto;padding:36px 42px}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:43px;padding:11px 18px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:650;line-height:1.4}.primary{background:var(--teal);color:white}.primary:hover{background:#066e68;text-decoration:none}.secondary{border-color:var(--line);background:white;color:var(--ink)}.secondary:hover{background:var(--paper)}.wide{width:100%;justify-content:space-between}.wide:only-child{justify-content:center}.filters{padding:19px 21px;margin-bottom:22px}.filters form{display:flex;gap:13px;align-items:flex-end}.filters label{flex:1;margin:0}.filters .secondary{flex-shrink:0;height:43px}.period-caption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:15px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:26px}.stat{padding:22px 24px;position:relative;overflow:hidden}.stat:before{content:"";height:3px;position:absolute;left:0;right:0;top:0;background:#bcded8}.stat:first-child:before{background:var(--teal)}.stat>span{font-size:12px;color:var(--muted)}.stat>strong{display:block;font-size:35px;line-height:1.3;letter-spacing:-.8px;margin:9px 0}.stat small{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0}.stat p{font-size:11px;color:var(--muted)}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:24px;align-items:start}.records{display:grid;gap:22px;min-width:0}.section-head{padding:22px 24px 17px;display:flex;justify-content:space-between;align-items:center;gap:12px}.count{font-size:11px;border-radius:6px;background:#edf2f5;padding:3px 9px;color:var(--muted)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{background:#f8fafb;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:550;white-space:nowrap}td,th{padding:13px 18px;border-top:1px solid var(--line)}td:first-child,th:first-child{padding-left:24px}td.time{font-weight:700;color:var(--teal)}.entry{padding:19px 24px;display:flex;align-items:flex-start;gap:15px;border-top:1px solid var(--line)}.date-tile{width:53px;flex-shrink:0;border:1px solid var(--line);border-radius:9px;text-align:center;padding:7px 3px;background:#fafbfc}.date-tile strong{font-size:21px;display:block;line-height:1.2}.date-tile span{font-size:9px;color:var(--muted)}.entry-body{flex:1;min-width:0}.entry-body>strong{font-size:13px}.entry-meta{font-size:10px;color:var(--muted);display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:5px}.badge{font-size:10px;padding:3px 7px;border-radius:5px;white-space:nowrap;display:inline-block}.badge.work{background:#e8f5f0;color:#20785f}.badge.holiday{background:#edf2ff;color:#526fb0}.badge.off{background:#f0f2f4;color:#667581}.badge.sick{background:#fff0e9;color:#a56842}.comment{margin-top:9px;font-size:12px;color:var(--muted);overflow-wrap:anywhere;white-space:normal}.entry-end{text-align:right;flex-shrink:0;min-width:40px}.entry-end strong{font-size:16px;display:block;font-variant-numeric:tabular-nums}.entry-end a{font-size:11px}.registration{padding:23px}.registration h2{font-size:22px;margin:7px 0}.registration form{margin-top:22px}label{display:block;font-size:12px;font-weight:600;margin:0 0 16px}input,select,textarea{width:100%;display:block;border:1px solid #dce4e8;border-radius:7px;background:#fff;padding:10px 11px;color:var(--ink);min-width:0;margin-top:6px;min-height:43px}input[type=date],input[type=time]{appearance:none}textarea{resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{border-color:var(--teal)}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox{display:flex;gap:9px;align-items:center;font-size:12px;font-weight:400}.checkbox input{width:16px;height:16px;min-height:0;accent-color:var(--teal);margin:0}.calculation{display:flex;justify-content:space-between;border:1px solid #d9eee7;background:#f2faf7;border-radius:8px;padding:11px 13px;font-size:12px;margin-bottom:19px}.calculation strong{color:var(--teal)}[data-absence-note]{margin-bottom:17px}.cancel{display:block;text-align:center;font-size:12px;margin-top:15px}.delete-form{padding-top:16px;border-top:1px solid var(--line)}.danger-link{border:0;background:none;color:var(--red);padding:0;font-size:12px;display:block;margin:auto}.notice{background:#e6f4ee;border:1px solid #c7e4d9;padding:13px 17px;margin-bottom:23px;border-radius:8px;font-size:13px;color:#245b47}.notice.error{background:#fff0f0;border-color:#f2d3d3;color:#943138}.empty{text-align:center;padding:42px 25px 48px}.empty>div{font-size:36px;color:#87ada8;margin-bottom:12px}.empty h3{margin-bottom:7px}.empty p{font-size:12px}.footer{color:#99a5ae;font-size:10px;margin-top:34px}.footer span{padding:0 8px}.employee{padding:20px 24px;border-top:1px solid var(--line);display:flex;align-items:center;gap:13px;overflow-wrap:anywhere}.employee>div:nth-child(2){flex:1;min-width:0}.employee p{margin:2px 0 5px}.employee>a{font-size:12px}.narrow{max-width:620px;padding:27px}.narrow>h2{margin-bottom:13px}.narrow>p{font-size:13px;margin-bottom:20px}.narrow form{margin-top:22px}.narrow hr{margin:30px 0;border:0;border-top:1px solid var(--line)}.audit{padding:19px 24px;border-bottom:1px solid var(--line)}.audit summary{display:flex;cursor:pointer;justify-content:space-between;gap:20px;align-items:center}.audit summary strong,.audit summary .small{display:block}.audit summary strong{font-size:13px}.audit time{font-size:11px;color:var(--muted);white-space:nowrap}.audit-diff{display:grid;grid-template-columns:1fr 1fr;gap:25px;background:#f8fafb;padding:18px;border-radius:8px;margin-top:17px}.audit-diff h3{font-size:12px}.audit-diff dl{font-size:11px;display:grid;grid-template-columns:auto 1fr;gap:6px 14px}.audit-diff dt{color:var(--muted)}.audit-diff dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.pagination{padding:20px;display:flex;justify-content:space-between;font-size:12px}.login{max-width:460px;margin:8vh auto;padding:20px}.login .card{padding:35px}.login .brand{margin-bottom:34px;color:var(--navy)}.login h1{font-size:29px;margin-top:12px}.login .muted{font-size:13px}.login form{margin-top:25px}.login .notice{margin-top:20px}.login form+.small{margin-top:22px}.login-footer{text-align:center;color:var(--muted);font-size:11px;margin-top:22px}input[type=password]{letter-spacing:.5px}[hidden]{display:none!important}
@media(min-width:1650px){.main-grid{grid-template-columns:minmax(0,1fr) 360px}.content{padding-top:45px}.registration{padding:28px}}
@media(max-width:1190px){.sidebar{width:200px;padding:28px 15px 18px}.workspace{margin-left:200px}.content{padding:28px 25px}.topbar{padding:0 25px}.main-grid{grid-template-columns:minmax(0,1fr) 285px;gap:18px}.stat{padding:18px}.entry{padding:17px}.registration{padding:20px}.section-head{padding:20px}.stats{gap:12px}.page-title h1{font-size:31px}.sidebar-bottom strong{max-width:92px}}
@media(max-width:980px){.sidebar{position:relative;top:auto;bottom:auto;width:100%;padding:17px 22px;display:block}.sidebar>.brand{font-size:27px}.sidebar>.brand span{font-size:11px}.nav-label{display:none}.sidebar nav{display:flex;overflow:auto;margin-top:17px;gap:6px}.sidebar nav a{font-size:12px;white-space:nowrap;padding:9px 12px}.sidebar nav a span{display:none}.sidebar-bottom{position:absolute;top:13px;right:21px;border:0;padding:0;gap:9px;margin:0}.sidebar-bottom .avatar{display:none}.sidebar-bottom strong{max-width:130px}.workspace{margin-left:0}.topbar{height:49px}.content{padding:27px 22px}.main-grid{grid-template-columns:minmax(0,1fr) 310px}.registration{scroll-margin-top:20px}.page-title{margin-bottom:22px}}
@media(max-width:730px){h1,.page-title h1{font-size:29px}.main-grid{display:flex;flex-direction:column}.main-grid>.registration{order:-1;width:100%}.main-grid>.records,.main-grid>section{width:100%}.stats{gap:9px}.stat{padding:15px 12px}.stat>strong{font-size:27px}.stat p{font-size:10px}.stat small{display:none}.filters form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filters .secondary{align-self:end}.filters label{font-size:11px}.page-title{align-items:flex-start;flex-wrap:wrap;gap:15px}.page-title>.primary{padding:9px 13px;min-height:38px}.page-title p.muted{font-size:13px}.content{padding:25px 15px}.topbar{padding:0 16px;font-size:9px}.entry{gap:11px;padding:17px 15px}.entry-meta{display:block}.entry-meta .badge{margin-right:6px;margin-bottom:4px}.registration{padding:22px}.sidebar{padding-left:16px;padding-right:16px}.sidebar nav{margin-left:-3px}.sidebar-bottom strong{max-width:110px;font-size:11px}.filters{padding:15px}.period-caption{font-size:11px}.employee{padding:17px}.audit{padding:17px}.audit summary{align-items:start;gap:10px}.audit time{font-size:9px}.audit-diff{grid-template-columns:1fr;gap:14px}.login{margin-top:4vh}.login .card{padding:27px}.narrow{padding:23px}.footer{line-height:1.8}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
