:root{--color-paper: #f5f7fb;--color-surface: #ffffff;--color-ink: #202d42;--color-muted: #65738a;--color-line: #e2e7ef;--color-accent: #245bd9;--color-accent-hover: #1846b1;--color-tint: #edf3ff;--color-success: #23724f;--color-success-bg: #edf7f1;--color-warning: #966017;--color-warning-bg: #fff5e7;--color-danger: #b2343a;--color-danger-bg: #fff0f0;--color-dark: #17273f;--color-dark-muted: #b4c1d4;--color-dark-active: #2a3e5a;--color-scrim: #12223e80;--color-shadow: #1a294612;--color-transparent: transparent;--font-body: "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--font-display: var(--font-body);--font-code: "Cascadia Code", "SFMono-Regular", monospace;--radius: 10px;--text-small: .8125rem;--text-base: .9375rem;--text-heading: 1.125rem;font-family:var(--font-body);color:var(--color-ink);font-synthesis:none;font-variant-numeric:tabular-nums;background:var(--color-paper);line-height:1.6;font-size:16px}*{box-sizing:border-box}html,body{touch-action:pan-x pan-y;margin:0;min-width:0;overflow-x:clip}body{font-size:var(--text-base)}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:var(--color-transparent)}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a{transition:background-color .15s ease,border-color .15s ease,color .15s ease}a{color:var(--color-accent);text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-style:normal;overflow-wrap:anywhere;min-width:0}h1{font-size:clamp(1.6rem,2.2vw,2rem);line-height:1.4;font-weight:700}h2{font-size:var(--text-heading);line-height:1.5;font-weight:700}h3{font-size:var(--text-base)}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink);border-radius:6px;padding:10px 12px;min-height:44px}input::placeholder,textarea::placeholder{color:var(--color-muted);opacity:1}input:disabled{background:var(--color-paper)}textarea{resize:vertical}label{display:block;font-size:.875rem;font-weight:500}label>input,label>textarea,label>select{margin-top:7px;font-weight:400}fieldset{padding:0;margin:0;border:0;min-width:0}legend{font-size:.875rem;margin-bottom:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 16px;border:1px solid var(--color-transparent);border-radius:6px;font-size:.875rem;font-weight:500;line-height:1.5;white-space:nowrap}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--color-accent);color:var(--color-surface)}.button.primary:hover:not(:disabled){background:var(--color-accent-hover)}.button.secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-line)}.button.secondary:hover:not(:disabled){background:var(--color-paper);border-color:var(--color-muted)}.button.quiet{background:var(--color-transparent);color:var(--color-muted)}.button.quiet:hover:not(:disabled){background:var(--color-tint);color:var(--color-accent)}.button.text{background:var(--color-transparent);color:var(--color-accent);padding:8px 4px}.button.text:hover{text-decoration:underline}.button.icon{width:42px;padding:9px;flex:0 0 42px}.full{width:100%}.muted{color:var(--color-muted)}.small,small{font-size:var(--text-small)}.block{display:block}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-symbol{flex-shrink:0;background:var(--color-accent);color:var(--color-surface);display:grid;place-items:center;width:42px;height:42px;border-radius:10px}.brand strong{display:block;font-size:1.05rem;font-weight:700;overflow-wrap:anywhere}.brand>div{min-width:0}.brand span:not(.brand-symbol){display:block;font-size:.75rem;color:var(--color-muted)}.eyebrow{display:block;color:var(--color-muted);font-size:.75rem;font-weight:600;margin-bottom:8px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading p{margin-top:9px;color:var(--color-muted);font-size:.875rem}.heading-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.panel{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);min-width:0}.section-heading{padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--color-line)}.section-heading p{font-size:var(--text-small);color:var(--color-muted);margin-top:5px}.notice{padding:11px 14px;border-radius:6px;margin:12px 0;overflow-wrap:anywhere;font-size:.875rem}.notice.error{background:var(--color-danger-bg);color:var(--color-danger)}.notice.success{background:var(--color-success-bg);color:var(--color-success)}.loading{min-height:160px;display:flex;justify-content:center;align-items:center;gap:10px;color:var(--color-muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{padding:48px 24px;text-align:center;color:var(--color-muted)}.empty svg{color:var(--color-muted);margin-bottom:12px}.empty h3{color:var(--color-ink);margin-bottom:7px;font-weight:500}.empty p{font-size:var(--text-small)}.status{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:3px 9px;border-radius:5px;font-size:.75rem;white-space:nowrap}.status>span{width:5px;height:5px;border-radius:50%;background:currentColor}.status.submitted{color:var(--color-success);background:var(--color-success-bg)}.status.missing{color:var(--color-muted);background:var(--color-paper)}.status.reason{color:var(--color-warning);background:var(--color-warning-bg)}.avatar{width:36px;height:36px;border-radius:50%;color:var(--color-accent);background:var(--color-tint);display:grid;place-items:center;font-size:.75rem;flex-shrink:0}.account{display:flex;align-items:center;gap:12px}.account strong{font-size:.875rem;font-weight:600}.account>div>span{color:var(--color-muted);display:block;font-size:.75rem}.demo-banner{background:var(--color-warning-bg);color:var(--color-warning);padding:7px 24px;text-align:center;font-size:.75rem}.app-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.75rem;color:var(--color-muted);padding:28px 40px;max-width:1440px;margin:auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.employee-header{min-height:88px;padding:18px max(32px,calc((100% - 1260px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--color-line);background:var(--color-surface)}.employee-main{max-width:1260px;margin:38px auto 0;padding:0 28px}.deadline{display:flex;gap:12px;align-items:center;padding:12px 20px;border-inline-start:1px solid var(--color-line);flex-shrink:0}.deadline>svg{color:var(--color-muted)}.deadline span{display:block;font-size:.75rem;color:var(--color-muted)}.deadline strong{font-size:1.45rem;line-height:1.5}.deadline small{font-size:.7rem;color:var(--color-muted);font-weight:400;margin-inline-start:8px}.tabs{display:flex;gap:30px;border-bottom:1px solid var(--color-line);margin-bottom:26px}.tabs button{display:flex;align-items:center;gap:8px;border:0;background:var(--color-transparent);color:var(--color-muted);padding:15px 2px;font-size:.875rem;border-bottom:2px solid var(--color-transparent);white-space:nowrap}.tabs button.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.employee-layout{display:grid;grid-template-columns:265px minmax(0,1fr);gap:26px;align-items:start}.date-sidebar{position:sticky;top:24px}.date-panel{padding:22px 20px}.date-panel h2{display:flex;gap:9px;align-items:center;font-size:1rem;margin-bottom:22px}.date-panel h2 svg{color:var(--color-muted)}.date-panel label{font-size:.75rem;color:var(--color-muted)}.date-navigation{display:flex;gap:7px;margin-top:10px}.date-navigation .button:not(.icon){flex:1;padding-inline:6px}.selected-date{margin-top:22px;padding-top:18px;border-top:1px solid var(--color-line)}.selected-date span{display:block;font-size:.75rem;color:var(--color-accent);margin-bottom:4px}.selected-date strong{font-size:.875rem;font-weight:500}.upload-guide{margin:27px 12px;color:var(--color-muted);font-size:var(--text-small)}.upload-guide h2{font-size:.875rem;color:var(--color-ink)}.upload-guide ol{padding-inline-start:19px;margin:14px 0}.upload-guide li{margin-bottom:12px}.upload-guide p{border-top:1px solid var(--color-line);padding-top:14px}.day-workspace{display:grid;gap:22px;min-width:0}.day-workspace>.notice{margin:0}.step-tag{font-size:.75rem;color:var(--color-accent);background:var(--color-tint);padding:4px 10px;border-radius:5px}.upload-panel form{padding:22px 26px}.type-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.type-option{position:relative;display:flex;gap:9px;align-items:center;justify-content:center;padding:11px 6px;min-height:46px;border:1px solid var(--color-line);border-radius:6px;cursor:pointer;white-space:nowrap;font-size:.8125rem}.type-option input{width:14px;height:14px;min-height:0;margin:0;accent-color:var(--color-accent)}.type-option svg{color:var(--color-muted)}.type-option.selected{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-tint)}.type-option.selected svg{color:var(--color-accent)}.dropzone{width:100%;margin:20px 0;border:1px dashed var(--color-line);border-radius:8px;background:var(--color-paper);color:var(--color-ink);padding:26px 12px;display:flex;flex-direction:column;align-items:center;gap:8px}.dropzone:hover:not(:disabled),.dropzone.dragging{border-color:var(--color-accent);background:var(--color-tint)}.upload-icon{color:var(--color-accent);margin-bottom:1px}.dropzone strong{font-size:.9375rem;font-weight:500}.dropzone>span:not(.upload-icon):not(.choose-label){font-size:.75rem;color:var(--color-muted)}.choose-label{display:flex;align-items:center;gap:5px;font-size:.8125rem;color:var(--color-accent);margin-top:9px}.optional-note>span{color:var(--color-muted);font-weight:400}.upload-footer{margin-top:22px;padding-top:18px;border-top:1px solid var(--color-line);display:flex;justify-content:space-between;align-items:center;gap:10px}.upload-footer>span{display:flex;gap:6px;align-items:center;font-size:.75rem;color:var(--color-muted)}.pending-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.pending-image{position:relative;min-width:0}.pending-image img{width:100%;height:100px;object-fit:cover;border-radius:6px;border:1px solid var(--color-line);background:var(--color-paper)}.pending-image>button{position:absolute;inset-block-start:4px;inset-inline-end:4px;width:28px;height:28px;border:none;border-radius:50%;color:var(--color-surface);background:var(--color-dark);display:grid;place-items:center}.pending-image>span{font-size:.7rem;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--color-muted)}.upload-progress{display:flex;align-items:center;gap:10px;margin-top:14px;color:var(--color-muted);font-size:.75rem}progress{accent-color:var(--color-accent);width:45%}.record-list{padding:0 26px}.record{padding:24px 0}.record+.record{border-top:1px solid var(--color-line)}.record-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.record-check{color:var(--color-success);background:var(--color-success-bg);padding:8px;border-radius:7px;display:flex}.record-head strong{font-size:.875rem;font-weight:600}.record-head p{color:var(--color-muted);font-size:.75rem;margin-top:2px}.record-count{font-size:.8125rem;color:var(--color-muted);margin-inline-start:auto}.record-note{font-size:.875rem;margin:15px 0;white-space:pre-wrap;overflow-wrap:anywhere}.count-label{color:var(--color-muted);font-size:.8125rem;font-weight:400;white-space:nowrap}.image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.image-tile{padding:0;border:1px solid var(--color-line);background:var(--color-paper);border-radius:6px;overflow:hidden}.image-tile:hover{border-color:var(--color-accent)}.image-tile img{width:100%;height:130px;object-fit:cover;display:block;object-position:top}.image-tile span{display:block;padding:6px;font-size:.75rem;color:var(--color-muted);background:var(--color-surface)}.reason-record{margin:0 26px 24px;background:var(--color-warning-bg);color:var(--color-warning);padding:14px;border-radius:6px;font-size:.8125rem}.reason-record p{margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}.reason-form{border-top:1px solid var(--color-line);padding:18px 26px;font-size:.8125rem}.reason-form summary{cursor:pointer;color:var(--color-muted);padding-block:5px}.reason-form form{margin-top:16px}.reason-form .button{margin-top:12px}.history-panel{max-width:960px;margin:auto}.history-list{padding:0 26px}.history-list button{background:var(--color-surface);border:0;border-bottom:1px solid var(--color-line);width:100%;padding:21px 0;display:flex;align-items:center;gap:16px;text-align:start;color:var(--color-ink)}.history-list button:hover{color:var(--color-accent)}.history-list button:last-child{border-bottom:none}.history-calendar{display:grid;place-items:center;color:var(--color-accent);background:var(--color-tint);padding:13px;border-radius:8px}.history-list strong{font-size:.875rem;font-weight:500}.history-list small{display:block;color:var(--color-muted);margin-top:4px}.history-count{margin-inline-start:auto;color:var(--color-muted);font-size:.875rem;white-space:nowrap}.admin-shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100dvh}.admin-sidebar{position:sticky;top:0;height:100dvh;background:var(--color-dark);color:var(--color-surface);padding:30px 20px 24px;display:flex;flex-direction:column}.admin-sidebar .brand{gap:10px}.admin-sidebar .brand strong{font-size:.9375rem}.admin-sidebar .brand span:not(.brand-symbol){color:var(--color-dark-muted)}.admin-sidebar .brand-symbol{width:36px;height:36px;border-radius:8px}.nav-section-label{margin:42px 12px 14px;font-size:.7rem;color:var(--color-dark-muted)}.admin-sidebar nav{display:grid;gap:8px}.admin-sidebar nav button{display:flex;align-items:center;gap:12px;background:var(--color-transparent);border:0;border-radius:7px;padding:13px 15px;color:var(--color-dark-muted);font-size:.875rem;text-align:start;white-space:nowrap}.admin-sidebar nav button:hover{color:var(--color-surface);background:var(--color-dark-active)}.admin-sidebar nav button.active{color:var(--color-surface);background:var(--color-dark-active)}.admin-sidebar nav button.active:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--color-surface);margin-inline-start:auto}.sidebar-tip{margin:auto 10px 25px;padding-top:24px;color:var(--color-dark-muted)}.sidebar-tip strong{display:block;font-size:.8125rem;margin:9px 0;color:var(--color-surface);font-weight:500}.sidebar-tip p{font-size:.75rem;line-height:1.9}.admin-identity{display:flex;align-items:center;gap:11px;padding-top:21px;border-top:1px solid var(--color-dark-active)}.admin-identity .avatar{background:var(--color-dark-active);color:var(--color-dark-muted)}.admin-identity strong{font-size:.8125rem;font-weight:500}.admin-identity div>span{display:block;font-size:.7rem;color:var(--color-dark-muted)}.admin-content{min-width:0}.admin-topbar{display:flex;align-items:center;justify-content:space-between;background:var(--color-surface);border-bottom:1px solid var(--color-line);min-height:72px;padding:12px 36px;color:var(--color-muted);font-size:.8125rem}.admin-topbar strong{font-weight:500;color:var(--color-ink)}.admin-main{padding:34px 36px 4px;max-width:1600px;margin-inline:auto}.admin-main .page-heading{margin-bottom:24px}.admin-main h1{font-size:1.75rem}.overview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px}.date-picker-inline{display:flex;gap:6px;align-items:center}.inline-date{display:flex;align-items:center;padding-inline:10px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:6px;gap:6px;color:var(--color-muted)}.inline-date input{border:none;margin:0;padding:8px 4px;width:145px;font-size:.875rem}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:25px}.stat{border:1px solid var(--color-line);background:var(--color-surface);border-radius:9px;padding:19px 20px 17px}.stat>div{display:flex;justify-content:space-between;align-items:center;gap:6px;color:var(--color-muted);font-size:.8125rem}.stat>div svg{flex-shrink:0;opacity:.85}.stat>strong{display:block;font-size:2rem;font-weight:600;margin:9px 0 3px;line-height:1.35}.stat>strong small{font-size:.75rem;font-weight:400;color:var(--color-muted);margin-inline-start:7px}.stat>p{font-size:.7rem;color:var(--color-muted)}.stat.blue>strong{color:var(--color-accent)}.stat.rose>strong,.stat.rose>div svg,.action-flags .done.heart-flag{color:#c73151}.stat.amber>strong{color:var(--color-warning)}.table-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:18px 24px}.table-filters select{margin:0;min-width:145px}.filter-tabs{display:flex;padding:4px;background:var(--color-paper);border-radius:6px;gap:3px}.filter-tabs button{border:0;background:var(--color-transparent);color:var(--color-muted);border-radius:4px;padding:7px 10px;min-height:34px;font-size:.8125rem;white-space:nowrap}.filter-tabs button.active{background:var(--color-surface);color:var(--color-accent);box-shadow:0 1px 3px var(--color-shadow)}.search-input{position:relative;display:flex;gap:8px;align-items:center;border:1px solid var(--color-line);border-radius:6px;padding-inline:12px;min-width:0;background:var(--color-surface);color:var(--color-muted)}.search-input svg{flex-shrink:0}.search-input input{border:0;margin:0;padding:10px 0;min-width:0;background:var(--color-transparent);font-size:.8125rem}.search-input:focus-within{outline:2px solid var(--color-accent)}.search-input input:focus{outline:0}.table-filters .search-input{margin-inline-start:auto;width:215px}.data-table{width:100%;border-collapse:collapse;font-size:.8125rem}.data-table thead{background:var(--color-paper);color:var(--color-muted)}.data-table th{font-weight:500;text-align:start;padding:13px 12px;border-block:1px solid var(--color-line);white-space:nowrap}.data-table td{padding:16px 12px;border-bottom:1px solid var(--color-line);vertical-align:middle;overflow-wrap:anywhere}.data-table th:first-child,.data-table td:first-child{padding-inline-start:24px}.data-table th:last-child,.data-table td:last-child{padding-inline-end:24px}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:var(--color-paper)}.data-table strong{font-weight:500}.data-table .numeric{text-align:end}.table-person{display:flex;align-items:center;gap:10px}.small-avatar{height:32px;width:32px;font-size:.625rem;background:var(--color-paper);color:var(--color-muted)}.table-person small{display:block;font-size:.7rem;color:var(--color-muted);margin-top:3px}.action-flags{display:grid;gap:4px;font-size:.7rem}.action-flags>span{display:flex;gap:5px;align-items:center;color:var(--color-muted)}.action-flags .done{color:var(--color-success)}.reason-snippet{display:block;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;color:var(--color-muted);margin-top:4px}.late-label{display:block;color:var(--color-warning);font-size:.7rem;margin-top:4px}.table-footer{border-top:1px solid var(--color-line);display:flex;justify-content:space-between;padding:15px 24px;color:var(--color-muted);font-size:.75rem;gap:10px}.summary-strip{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;padding:26px 4px}.summary-strip>div{display:flex;align-items:center;gap:14px}.summary-total{font-size:1.75rem;font-weight:600}.summary-strip strong{font-size:.8125rem;font-weight:500}.summary-strip p{color:var(--color-muted);font-size:.75rem;display:flex;gap:7px;align-items:center}.import-hint{background:var(--color-tint);border-radius:8px;padding:20px 22px;display:flex;align-items:center;gap:14px;margin-bottom:24px}.import-hint>svg{color:var(--color-accent);flex-shrink:0}.import-hint strong{font-size:.875rem;font-weight:500}.import-hint p{font-size:.75rem;color:var(--color-muted);margin-top:4px}.import-hint .button{margin-inline-start:auto}.employee-code{font-family:var(--font-code);font-size:.8125rem}.dialog{border:1px solid var(--color-line);border-radius:12px;padding:0;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;background:var(--color-surface);color:var(--color-ink);box-shadow:0 24px 100px var(--color-scrim)}.dialog.wide{width:min(860px,calc(100% - 32px))}.dialog::backdrop{background:var(--color-scrim)}.dialog-head{position:sticky;top:0;z-index:1;background:var(--color-surface);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid var(--color-line)}.dialog-head h2{font-size:1rem}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid var(--color-line)}.employee-form{padding:24px}.employee-form>label,.employee-form>div.form-row{margin-bottom:18px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.employee-form .dialog-actions{margin:22px -24px -24px}.full-image{max-width:100%;max-height:70dvh;object-fit:contain;display:block;margin:20px auto}.login-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--color-surface)}.login-page header{padding:30px 5%}.login-main{flex:1;width:min(1080px,90%);margin:50px auto 80px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:100px;align-items:center}.login-story .eyebrow{color:var(--color-accent);margin-bottom:22px;font-size:.8125rem}.login-story h1{font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.55}.login-story>p{margin-top:21px;line-height:1.9;color:var(--color-muted)}.login-steps{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:17px;font-size:.875rem}.login-steps span{margin-inline-end:16px;color:var(--color-accent);font-family:var(--font-code);font-size:.75rem}.deadline-note{display:flex;align-items:center;gap:12px;margin-top:45px;border-top:1px solid var(--color-line);padding-top:20px;color:var(--color-muted);font-size:.75rem;flex-wrap:wrap}.deadline-note strong{color:var(--color-ink);font-size:1.125rem}.login-panel{padding:34px;border:1px solid var(--color-line);border-radius:14px;box-shadow:0 14px 60px var(--color-shadow)}.login-icon{display:inline-flex;background:var(--color-tint);color:var(--color-accent);padding:13px;border-radius:11px;margin-bottom:23px}.login-panel h2{font-size:1.45rem}.login-panel>p{font-size:.8125rem;margin-top:7px}.login-panel form{margin-top:29px;display:grid;gap:20px}.login-panel .button{min-height:46px}.login-panel .login-help{padding-top:22px;margin-top:23px;border-top:1px solid var(--color-line);font-size:.75rem;color:var(--color-muted);line-height:1.9}.login-page footer{padding:24px 5%;color:var(--color-muted);display:flex;justify-content:space-between;gap:15px;font-size:.75rem}@media(max-width:1250px){.admin-shell{grid-template-columns:205px minmax(0,1fr)}.admin-main{padding:28px 24px 4px}.admin-sidebar{padding-inline:15px}.admin-sidebar .brand strong{font-size:.85rem}.stat{padding:16px 12px}.stats-grid{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.table-filters .search-input{width:190px}.data-table td,.data-table th{padding-inline:8px}.table-person .avatar{display:none}}@media(max-width:1000px){.page-heading{align-items:flex-start}.admin-main .page-heading{flex-direction:column}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-toolbar{flex-wrap:wrap}.table-filters .search-input{margin-inline-start:0;flex:1;min-width:180px}.employee-layout{grid-template-columns:230px minmax(0,1fr);gap:20px}.employee-main{padding:0 24px}.type-options,.type-option{gap:6px}.type-option svg{display:none}.image-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.login-main{gap:40px}.responsive-table{display:block;padding:0 18px}.responsive-table thead{display:none}.responsive-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-bottom:18px}.responsive-table tr{display:block;border:1px solid var(--color-line);border-radius:8px;padding:14px}.responsive-table td,.responsive-table td:first-child,.responsive-table td:last-child{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;border:0;text-align:end;flex-wrap:wrap}.responsive-table td:before{content:attr(data-label);color:var(--color-muted);font-size:.75rem;text-align:start}.responsive-table .reason-snippet{width:100%;max-width:100%}.responsive-table .action-flags{display:flex;gap:10px}.responsive-table .block{display:inline}.responsive-table .table-person{text-align:end}.responsive-table .late-label{width:100%}}@media(max-width:760px){.step-tag{display:none}.employee-header{padding:16px 20px;min-height:76px;flex-wrap:wrap}.employee-header .brand span:not(.brand-symbol){display:none}.account .avatar{display:none}.account{gap:8px}.employee-main{margin-top:25px;padding:0 18px}.page-heading{flex-direction:column;gap:18px}.deadline{padding:0;border:0}.deadline>div{display:flex;align-items:center;gap:12px}.deadline strong{font-size:1.125rem}.tabs{gap:24px;margin-bottom:20px}.employee-layout{grid-template-columns:minmax(0,1fr);gap:18px}.date-sidebar{position:static}.date-panel{padding:16px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:end}.date-panel h2{grid-column:1 / -1;margin:0}.date-panel label{font-size:0}.date-panel label input{font-size:.875rem}.date-navigation{margin:0}.date-navigation .button:not(.icon){display:none}.selected-date,.upload-guide{display:none}.section-heading{padding:18px 20px;flex-wrap:wrap}.upload-panel form{padding:20px}.type-option svg{display:block}.upload-footer{flex-wrap:wrap}.record-list{padding-inline:20px}.pending-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-shell{display:block}.admin-sidebar{position:static;height:auto;padding:18px 20px 0}.admin-sidebar .brand strong{font-size:1rem}.nav-section-label,.sidebar-tip,.admin-identity{display:none}.admin-sidebar nav{display:flex;gap:10px;margin-top:18px}.admin-sidebar nav button{border-radius:6px 6px 0 0;padding:12px 16px}.admin-sidebar nav button.active:after{display:none}.admin-topbar{min-height:58px;padding:6px 20px}.admin-main{padding:25px 18px 0}.table-filters{padding:16px 18px;gap:12px}.table-filters>label:first-child{flex:1}.filter-tabs{order:3;width:100%;justify-content:space-between}.table-filters .search-input{min-width:135px}.table-filters select{min-width:100px}.table-footer{flex-wrap:wrap;padding:13px 18px}.import-hint{flex-wrap:wrap;padding:18px}.import-hint>div{flex:1}.import-hint .button{margin:0}.app-footer{padding:24px 20px}.login-main{display:flex;flex-direction:column;width:min(460px,90%);gap:28px;margin:30px auto 40px}.login-story,.login-panel{width:100%}.login-story h1{font-size:1.8rem}.login-story>p,.login-steps,.deadline-note{display:none}.login-story .eyebrow{margin-bottom:12px}.login-panel{padding:28px}.login-page header{padding:24px 5%}}@media(max-width:480px){.employee-header .brand strong{font-size:.9375rem}.employee-header{gap:14px}.employee-header .account{width:100%;justify-content:space-between}.account>div>span{display:inline;margin-inline-start:8px}.employee-header .account .button{min-height:34px;padding:4px}.page-heading{margin-bottom:18px}.tabs{gap:18px}.tabs button{font-size:.8125rem}.tabs button svg{width:16px}.type-option{font-size:.75rem;gap:6px}.type-option svg{display:none}.dropzone strong{font-size:.8125rem}.image-grid,.pending-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-footer .button{padding-inline:12px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:15px}.responsive-table tbody{grid-template-columns:minmax(0,1fr)}.heading-actions{gap:8px}.heading-actions .button{padding-inline:12px}.overview-toolbar{gap:10px}.date-picker-inline{gap:5px}.inline-date{padding-inline:5px}.inline-date svg{display:none}.inline-date input{width:139px}.date-picker-inline .button.quiet{padding-inline:6px}.form-row{grid-template-columns:minmax(0,1fr)}.dialog-head{padding:14px 18px}.history-list{padding-inline:18px}.history-list button{gap:10px;flex-wrap:wrap}.history-calendar{padding:9px}.history-list .history-count{font-size:.75rem}.history-list button>svg{display:none}.login-page footer span{display:none}}@media(max-width:760px),(pointer:coarse){:root body input:not([type=radio]):not([type=checkbox]),:root body select,:root body textarea{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
