:root{--bg:#f8f9fb;--surface:#fff;--ink:#1d2027;--secondary:#626976;--quiet:#747c89;--line:#e7e9ee;--line-strong:#d7dce4;--accent:#2458cf;--accent-soft:#edf3ff;--success:#207450;--warning:#996b1e;--danger:#b23e3e;--radius:12px;--shadow:0 8px 32px #202b4010;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 var(--font);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-color:var(--accent)}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}a{color:var(--accent);text-decoration:none}[hidden]{display:none!important}h1,h2,h3,h4,p{margin:0}h1{font-size:28px;line-height:1.35;letter-spacing:-.6px;font-weight:650}h2{font-size:21px;letter-spacing:-.35px;font-weight:620}h3{font-size:16px;font-weight:620}.muted{color:var(--secondary);font-size:13px}.fine{font-size:12px;color:var(--secondary);line-height:1.7}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.7px;color:var(--quiet);margin-bottom:8px}.btn{border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--ink);padding:8px 14px;font-weight:550;font-size:13px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn:hover{background:#f5f7fa;border-color:#bbc4d0}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 3px #244fce16}.btn.primary:hover{background:#194bbb}.btn.danger{color:var(--danger);border-color:#e4c6c6}.btn.small{min-height:29px;padding:4px 9px;font-size:12px}.btn.ghost{background:transparent;border-color:transparent}.btn.full{width:100%}.text-button{border:0;background:none;padding:4px;color:var(--secondary);font-size:12px}.text-button:hover{color:var(--accent)}.icon-button{position:relative;border:0;background:transparent;color:#5a6270;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-size:17px}.icon-button:hover{background:#f0f2f6}.logo-tile{width:42px;height:42px;background:#222a39;color:#fff;display:grid;place-items:center;border-radius:13px;font:600 24px/1 Georgia,serif;box-shadow:0 3px 9px #202b4017}.logo-tile.small{width:30px;height:30px;font-size:19px;border-radius:9px}.avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#edf0f5;color:#525e74;font-size:11px;font-weight:600}.workspace{display:flex;min-height:100vh}.sidebar{width:218px;flex-shrink:0;background:#f5f6f8;border-right:1px solid var(--line);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:23px 12px 18px}.side-brand{display:flex;align-items:center;gap:10px;padding:0 12px 27px;color:var(--ink);font-weight:650;letter-spacing:1.5px;font-size:15px}.side-brand small{display:block;font-size:10px;letter-spacing:.5px;font-weight:400;color:var(--quiet);margin-top:1px}.nav-section{margin-bottom:23px}.nav-label{color:#7d8490;font-size:10px;letter-spacing:.5px;margin:0 13px 7px}.nav-item{display:flex;align-items:center;gap:10px;margin:2px 0;padding:9px 13px;border-radius:7px;color:#606775;font-size:13px;font-weight:480}.nav-item svg{width:16px;height:16px;opacity:.84;flex-shrink:0}.nav-item:hover{background:#eceff4;color:#242d3c}.nav-item.active{background:#e6eaf2;color:#1e345c;font-weight:600}.sidebar-bottom{margin-top:auto;padding:16px 12px 0;border-top:1px solid var(--line);color:#7a8290}.sidebar-bottom small{font-size:11px}.connection{display:flex;align-items:center;gap:6px;font-size:11px;color:#606a78;margin-bottom:4px}.connection i{height:5px;width:5px;border-radius:50%;background:#4b8e6e}.shell{min-width:0;flex:1}.topbar{height:61px;position:sticky;top:0;z-index:20;background:#ffffffee;backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.topbar-left{font-size:12px;color:#7b8390}.topbar-right{font-size:12px}.environment{background:#f4ead8;color:#866425;font-size:10px;border-radius:4px;padding:2px 6px}.topbar select{max-width:142px;height:28px;border:1px solid var(--line);background:#fff;border-radius:6px;font-size:11px;color:var(--secondary)}.count-dot{position:absolute;right:0;top:0;min-width:15px;height:15px;background:#b64a4a;border-radius:10px;font-size:9px;color:#fff;line-height:15px;text-align:center;padding:0 3px}.mobile-only{display:none}#main{padding:29px 34px 40px;max-width:1740px;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading .muted{margin-top:7px;max-width:760px}.main-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.page-tabs{display:flex;border-bottom:1px solid var(--line);gap:22px;margin-top:-8px;margin-bottom:22px}.tab{border:0;border-bottom:2px solid transparent;background:none;padding:10px 1px;color:var(--secondary);font-size:13px}.tab.active{border-color:var(--ink);color:var(--ink);font-weight:600}.page-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:14px}.search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:8px;height:37px;padding:0 12px;width:310px;max-width:100%}.search-box span{font-size:20px;line-height:1;color:#8b92a0}.search-box input{border:0;background:transparent;min-width:0;width:100%;height:33px;font-size:12px;outline:0}.filter-group{display:flex;gap:8px}.filter-group select{border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--secondary);padding:7px 9px;font-size:12px;max-width:240px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-body{padding:22px}.panel-head{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h3{font-size:14px}.panel-head p{font-size:11px;color:var(--secondary);margin-top:3px}.panel-head+.panel-body{padding-top:0}.table-scroll{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:11px;color:#6d7582;font-weight:550;background:#fafbfd;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:11px 17px;letter-spacing:.1px}td{padding:14px 17px;font-size:12px;border-bottom:1px solid #f0f2f5;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfe}.num{text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.1px}.row-title{font-weight:580;font-size:12px;color:#283141}.row-sub{font-size:11px;color:#828a96;margin-top:2px}.link-button{color:#2e5fc4;font-size:12px;background:none;border:0;padding:3px 0;text-align:left}.link-button:hover{text-decoration:underline}.status{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#697382;background:#f2f4f7;padding:3px 7px;border-radius:5px;white-space:nowrap}.status::before{content:"";width:4px;height:4px;background:currentColor;border-radius:50%}.status.good{color:#297255;background:#eef7f2}.status.wait{color:#94702b;background:#faf5e9}.status.bad{color:#a64646;background:#fcf0ef}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:23px}.metric{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:21px 22px;min-width:0}.metric p{font-size:12px;color:var(--secondary)}.metric .value{font-size:29px;font-weight:600;line-height:1.25;letter-spacing:-.9px;margin:12px 0 8px;white-space:nowrap}.metric small{font-size:11px;color:#808896}.metric .unit{font-size:14px;font-weight:400;color:var(--secondary);margin-left:5px}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:21px}.task-row{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;border-top:1px solid #f0f2f5;gap:16px}.task-left{display:flex;align-items:center;gap:12px;min-width:0}.task-icon{height:31px;width:31px;border-radius:8px;background:#f2f5fa;color:#6f7b90;display:grid;place-items:center;flex-shrink:0}.task-text{min-width:0}.task-text strong{font-size:12px;font-weight:540}.task-text small{font-size:10px;color:#8a929e;display:block;overflow:hidden;text-overflow:ellipsis;max-width:440px}.task-meta{font-size:11px;color:#818b98;white-space:nowrap}.summary-line{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #f1f3f6;font-size:12px}.summary-line:last-child{border-bottom:0}.summary-line .label{color:var(--secondary)}.summary-total{font-weight:600;border-top:1px solid var(--line);margin-top:5px;padding-top:15px}.summary-total span:last-child{font-size:18px}.callout{background:#f1f4f9;border:1px solid #e7ebf2;border-radius:9px;padding:13px 16px;font-size:12px;color:#526079;line-height:1.7;margin-bottom:18px}.callout.warning{background:#faf7ef;color:#8b713f;border-color:#eee7d6}.callout.danger{background:#fff3f2;color:#9e4c4c;border-color:#f2d8d5}.empty{padding:45px 25px;text-align:center;color:#858d99}.empty h3{font-size:15px;color:#535d6c;margin:10px 0 6px}.empty p{font-size:12px;max-width:460px;margin:auto}.empty .btn{margin-top:18px}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:11px;color:#7f8795}.pagination>div{display:flex;align-items:center;gap:8px}.skeleton{height:250px;background:linear-gradient(90deg,#f0f2f5,#f7f8fa,#f0f2f5);background-size:200%;animation:shimmer 1.8s infinite;border-radius:12px}.error{color:var(--danger);font-size:12px;line-height:1.7;white-space:pre-wrap}.error:empty{display:none}.loading-note{color:var(--secondary);font-size:12px}.overlay{position:fixed;inset:0;background:#1d263b45;backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.dialog{background:#fff;border:1px solid #ffffff80;box-shadow:0 25px 90px #0d183340;border-radius:16px;width:760px;max-width:100%;max-height:calc(100dvh - 48px);display:flex;flex-direction:column;overflow:hidden;animation:rise .16s ease}.dialog.wide{width:1080px}.dialog-header{padding:22px 25px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dialog-header h2{font-size:19px}.dialog-header p{font-size:12px;color:var(--secondary);margin-top:5px}.dialog-body{overflow:auto;padding:23px 25px}.dialog-footer{display:flex;justify-content:flex-end;align-items:center;gap:9px;padding:16px 25px;border-top:1px solid var(--line);background:#fafbfc}.dialog-footer .fine{margin-right:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:550;min-width:0}.field.full{grid-column:1/-1}.field input:not([type=checkbox]),.field select,.field textarea,.editable-input{border:1px solid #dfe3e9;border-radius:7px;background:#fff;padding:9px 11px;color:var(--ink);font-size:13px;width:100%;min-width:0;outline-offset:2px}.field textarea{min-height:76px;resize:vertical;line-height:1.6}.field input[readonly]{background:#f7f8fb;color:#737d8c}.field small{font-size:11px;color:#7c8491;font-weight:400}.field .optional{font-weight:400;color:#9098a4}.field .check-label{display:flex;align-items:flex-start;gap:8px;font-weight:400;padding:9px 0;font-size:12px;color:#596272}.section-label{grid-column:1/-1;font-size:12px;font-weight:650;color:#485366;letter-spacing:.15px;margin-top:7px;padding-bottom:8px;border-bottom:1px solid #eef0f4}.upload-field{border:1px dashed #ccd4e0;border-radius:9px;background:#fafcfe;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:54px}.upload-field .file-note{font-size:11px;color:#667386;overflow:hidden;text-overflow:ellipsis;max-width:100%}.upload-field input[type=file]{font-size:11px;background:transparent;border:none;padding:0;max-width:220px}.form-error{margin-top:15px}.drawer-overlay{align-items:stretch;justify-content:flex-end;padding:0}.drawer{width:920px;max-width:100%;height:100%;max-height:none;border-radius:0;border:none;animation:slide .16s ease}.drawer .dialog-header{padding:25px 28px 20px}.drawer .dialog-body{padding:22px 28px}.drawer-tabs{display:flex;gap:19px;padding:0 28px;border-bottom:1px solid var(--line);overflow-x:auto;flex-shrink:0}.drawer-actions{display:flex;flex-wrap:wrap;gap:8px;padding:16px 28px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 22px}.detail-field small{display:block;color:#818a96;font-size:11px;margin-bottom:4px}.detail-field div{font-size:13px;overflow-wrap:anywhere}.steps{display:flex;margin:4px 0 23px;gap:0}.step{flex:1;position:relative;text-align:center;padding-top:28px;font-size:11px;color:#818a96}.step::before{position:absolute;content:"";width:9px;height:9px;background:#d9dee7;border:3px solid #fff;box-shadow:0 0 0 1px #d9dee7;border-radius:50%;left:calc(50% - 7px);top:2px;z-index:2}.step::after{position:absolute;content:"";height:1px;background:#e2e6ed;width:100%;left:50%;top:9px}.step:last-child::after{display:none}.step.done{color:#395c85}.step.done::before{background:#52779e;box-shadow:0 0 0 1px #52779e}.step.current{color:#2156c4;font-weight:600}.step.current::before{background:#2458cf;box-shadow:0 0 0 3px #e0e9fb}.timeline{border-left:1px solid #dfe4ec;margin:10px 0 0 7px;padding-left:23px}.timeline-item{position:relative;margin-bottom:23px}.timeline-item::before{content:"";position:absolute;left:-27px;top:7px;width:7px;height:7px;border-radius:50%;background:#97a7bd;border:2px solid #fff;box-sizing:content-box}.timeline-item strong{font-size:12px;font-weight:550}.timeline-item p{font-size:11px;color:#7d8795;margin-top:3px}.hotel-search{width:100%;height:44px;margin-bottom:17px}.hotel-results{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:54vh;overflow:auto}.hotel-option{border:1px solid var(--line);border-radius:10px;padding:16px 17px;text-align:left;background:#fff;display:flex;gap:14px;align-items:center;min-height:85px}.hotel-option:hover,.hotel-option:focus{background:#f5f8fe;border-color:#b7c8e7}.hotel-monogram{display:grid;place-items:center;background:#f1f3f7;border-radius:8px;width:38px;height:38px;color:#65738b;font-size:18px;flex-shrink:0}.hotel-option strong{font-size:13px;font-weight:560;display:block}.hotel-option small{font-size:11px;color:#7c8796;display:block;margin-top:4px}.picker-trigger{display:flex;align-items:center;justify-content:space-between;border:1px solid #dfe3e9;border-radius:7px;background:#fff;padding:9px 11px;color:#546070;width:100%;font-size:13px;text-align:left}.picker-trigger .arrow{color:#8490a3;margin-left:10px}.file-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.file-row .file-name{font-size:12px}.file-row small{display:block;color:#8290a0;font-size:10px}.compact-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.compact-card{border:1px solid var(--line);border-radius:10px;padding:17px}.compact-card small{font-size:11px;color:var(--secondary)}.compact-card h3{font-size:14px;margin:4px 0 9px}.card-actions{display:flex;gap:7px;margin-top:14px;flex-wrap:wrap}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.space-top{margin-top:20px}.row-actions{display:flex;gap:10px;justify-content:flex-end}.pre-content{white-space:pre-wrap;word-break:break-word;background:#f7f9fc;border:1px solid var(--line);border-radius:8px;padding:15px;font:12px/1.7 ui-monospace,SFMono-Regular,monospace;max-height:400px;overflow:auto}.source-grid td{max-width:420px;white-space:normal;word-break:break-word;font-size:11px}.payroll-person{border:1px solid var(--line);border-radius:10px;padding:16px;margin:12px 0}.payroll-person .form-grid{grid-template-columns:repeat(4,1fr);gap:12px}.payroll-person h3{margin-bottom:13px}.payroll-total{padding:12px 15px;background:#f3f6fb;border-radius:8px;margin-top:15px;display:flex;justify-content:space-between;font-size:13px}#toast-root{position:fixed;bottom:25px;right:28px;z-index:500;display:flex;flex-direction:column;gap:10px;max-width:min(450px,calc(100vw - 32px))}.toast{background:#283247;color:#fff;padding:13px 18px;border-radius:10px;font-size:12px;box-shadow:0 10px 40px #25304a30;animation:rise .16s ease;white-space:pre-wrap}.toast.error-toast{background:#883f45}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:#fff}.login-brand{position:relative;background:#edf1f5;display:flex;flex-direction:column;padding:55px 64px;overflow:hidden}.login-brand::after{content:"";position:absolute;width:550px;height:550px;border-radius:50%;border:1px solid #d1d9e350;right:-140px;bottom:-170px;box-shadow:0 0 0 100px #e1e7ee35,0 0 0 200px #e5eaf020}.wordmark{font-size:22px;font-weight:700;letter-spacing:4px;color:#253146}.wordmark span{font-size:11px;letter-spacing:2px;margin-left:12px;font-weight:400}.login-intro{margin:auto 0;position:relative;z-index:1}.login-intro h1{font-size:60px;font-weight:550;line-height:1.35;letter-spacing:-3px;color:#27364c;margin:20px 0}.login-intro>p:last-child{font-size:14px;color:#788394}.brand-foot{font-size:11px;color:#7a8595}.login-side{display:flex;justify-content:center;align-items:center;padding:40px}.login-form{width:350px;max-width:100%}.login-form .logo-tile{margin-bottom:24px}.login-form h2{font-size:24px;margin-bottom:7px}.login-form>label{display:flex;flex-direction:column;margin-top:21px;gap:7px;font-size:12px;color:#586273}.login-form input{border:1px solid #dce1e8;border-radius:8px;padding:11px 13px;font-size:13px}.login-form>.btn{margin-top:23px}.login-form>.error{margin-top:14px}.login-form .fine{margin-top:16px}.or{border-top:1px solid var(--line);position:relative;margin:29px 0 2px}.or span{position:absolute;left:calc(50% - 15px);top:-10px;width:30px;background:#fff;text-align:center;font-size:11px;color:#929aa5}@keyframes shimmer{to{background-position:-200%}}@keyframes rise{from{transform:translateY(6px);opacity:.4}to{transform:none;opacity:1}}@keyframes slide{from{transform:translateX(22px);opacity:.5}to{transform:none;opacity:1}}@media(min-width:1650px){#main{padding-left:45px;padding-right:45px}.metrics{gap:20px}.metric{padding:24px}.metric .value{font-size:32px}}@media(max-width:1150px){.sidebar{width:190px}#main{padding:26px 23px}.topbar{padding:0 23px}.metric{padding:17px}.metric .value{font-size:24px}.dashboard-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start}.main-actions{max-width:40%;flex-wrap:wrap;justify-content:flex-end}.topbar-right{gap:8px}#user-label{display:none}.login-intro h1{font-size:48px}.login-brand{padding:40px}}@media(max-width:780px){.sidebar{position:fixed;left:0;z-index:60;transform:translateX(-100%);transition:transform .18s;width:218px;box-shadow:12px 0 45px #17223f25}.sidebar.open{transform:none}.mobile-only{display:grid}.topbar{padding:0 13px;height:55px;gap:5px}.topbar-left{gap:4px;font-size:10px}.topbar-right{gap:5px}#demo-role{max-width:95px;font-size:10px}.topbar .avatar{display:none}.environment{font-size:9px}#main{padding:22px 16px 30px}.page-heading{margin-bottom:21px;gap:9px}.page-heading h1{font-size:23px}.page-heading .muted{font-size:11px}.main-actions{max-width:45%;gap:5px}.main-actions .btn{font-size:11px;padding:7px 10px}.metrics{grid-template-columns:1fr 1fr;gap:11px}.metric{padding:17px 15px}.metric .value{font-size:24px}.metric p{font-size:11px}.metric small{font-size:10px}.page-toolbar{flex-wrap:wrap}.search-box{width:100%}.filter-group{width:100%;flex-wrap:wrap}.filter-group select{max-width:100%;flex:1}.dashboard-grid{gap:14px}.panel-head{padding:16px}.panel-body{padding:16px}.task-row{padding:13px 16px}.task-text small{max-width:220px}.task-meta{display:none}.overlay{padding:10px}.dialog{max-height:calc(100dvh - 20px);border-radius:13px}.dialog-header,.dialog-body{padding:18px}.dialog-footer{padding:13px 18px}.form-grid{grid-template-columns:1fr;gap:15px}.field.full,.section-label{grid-column:auto}.drawer-overlay{padding:0}.drawer{border-radius:0;max-height:100dvh}.drawer .dialog-header,.drawer .dialog-body{padding:19px}.drawer-tabs{padding:0 19px;gap:16px}.drawer-actions{padding:13px 19px 0}.detail-grid{gap:17px 15px}.hotel-results{grid-template-columns:1fr;max-height:55vh}.two-columns,.compact-cards{grid-template-columns:1fr}.payroll-person .form-grid{grid-template-columns:1fr 1fr}.login-layout{grid-template-columns:1fr}.login-brand{display:none}.login-side{padding:30px}.pagination{font-size:10px}.btn{min-height:37px}td{padding:13px 15px}.drawer h2{font-size:17px}.drawer-header h2{max-width:270px;overflow-wrap:anywhere}.steps .step{font-size:10px}#toast-root{right:16px;bottom:16px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.modal-open{overflow:hidden}.form-controls{display:flex;justify-content:flex-end;gap:9px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.form-error{margin-top:14px}.required{color:#a35c55;font-size:11px}.inline-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.inline-row>select{flex:1}.attendance-row{display:grid;grid-template-columns:170px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.attendance-row input:not([type=checkbox]){width:100%}.wrap{white-space:normal;display:inline-block;max-width:260px;overflow-wrap:anywhere}.detail-grid p{overflow-wrap:anywhere}.form-grid>.callout{grid-column:1/-1}.field select,.field input:not([type=checkbox]):not([type=file]),.field textarea{width:100%}.field.full>.field.full{padding:0}#period-filter{border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-size:12px;background:#fff}.panel .panel{border:0;border-radius:0}.panel .panel th{border-top:0}.dialog .pre-content{margin-top:15px}.dialog-footer .btn{margin-left:8px}.empty+.fine{padding:0 10px}@media(max-width:780px){.attendance-row{grid-template-columns:1fr}.main-actions{max-width:50%}.drawer-actions{flex-wrap:wrap}.form-controls{position:sticky;bottom:-18px;background:#fff;padding:14px 0}.login-side{min-height:100dvh}}
/* RC5: the same quiet visual hierarchy across filters, source tables and payroll. */
.region-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:14px 0;max-height:130px;overflow:auto;border-bottom:1px solid var(--border,#e6e7e9);margin-bottom:12px}
.region-chip{border:0;background:transparent;color:#69707b;padding:7px 11px;border-radius:7px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.region-chip:hover{background:#f0f1f3;color:#17191e}.region-chip.selected{background:#e9edf3;color:#172239;font-weight:600}
.local-pager,.static-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 0;flex-wrap:wrap;color:#69707b;font-size:12px}.static-pager{margin:0 2px}
.local-pager>span:first-child,.static-pager>span:first-child{margin-right:auto}.page-number{width:64px!important;min-width:0!important;padding:6px 8px!important;text-align:center}
#pagination{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#pagination[hidden]{display:none}#pagination>span:first-child{margin-right:auto}
#pagination input,.local-pager input,.static-pager input{width:60px;min-width:0;padding:6px 8px;border:1px solid #d9dde3;border-radius:6px;background:white;color:#2e3540;text-align:center}
#page-toolbar{gap:10px;flex-wrap:wrap}.filter-extra{display:flex;gap:8px;flex-wrap:wrap}.date-filters{display:flex;align-items:center;gap:6px;font-size:12px;color:#777}
.hotel-search{width:100%;max-width:none}.hotel-results{max-height:400px;overflow:auto}.hotel-option small{display:block;margin-top:5px;line-height:1.5;color:#818793}
.payroll-person{padding:20px;margin-top:18px;border:1px solid #e3e6ea;border-radius:12px;background:#fbfcfd}.payroll-total{display:flex;gap:16px;justify-content:space-between;padding:14px 0;font-size:12px}.payroll-total strong{font-variant-numeric:tabular-nums;white-space:nowrap;color:#172239}
.payroll-person .inline-row{gap:10px;margin-bottom:14px;flex-wrap:wrap}.payroll-person .inline-row h3{margin-right:auto}.text-button{background:none;border:0;color:#78818c;font:inherit;cursor:pointer}.fine{line-height:1.6}.wrap{white-space:normal;display:inline-block;max-width:460px;word-break:break-word}
tr[hidden]{display:none!important}.local-pager .btn,.static-pager .btn{padding:6px 9px;font-size:12px}
@media(max-width:760px){.region-bar{max-height:105px}.local-pager,.static-pager,#pagination{gap:5px;font-size:11px}.local-pager .btn,.static-pager .btn,#pagination .btn{padding:6px 8px}.payroll-total{flex-direction:column;gap:5px}.filter-extra input[type=date]{width:125px}.dialog.wide{width:calc(100vw - 20px)}.payroll-person{padding:12px}.wrap{max-width:260px}}
.pager-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.page-number{display:inline-flex!important;align-items:center;gap:6px;white-space:nowrap;width:auto!important;min-width:0!important;padding:0!important;color:var(--secondary);font-size:12px}
.date-filter{display:inline-flex;align-items:center;gap:6px;color:var(--secondary);font-size:12px;white-space:nowrap}.date-filter input{border:1px solid var(--line);border-radius:7px;padding:6px 8px;background:#fff;color:var(--secondary);height:36px;font:inherit;max-width:142px}
.filter-group{flex-wrap:wrap;align-items:center}.page-tabs{overflow-x:auto;flex-wrap:nowrap}.page-tabs>.tab{white-space:nowrap;flex-shrink:0}
#navigation{overflow-y:auto;min-height:0}.sidebar-bottom{flex-shrink:0}
@media(max-width:780px){.pager-controls{gap:5px}.pager-controls .btn{font-size:10px;padding:5px 6px!important;min-height:30px}.date-filter input{max-width:130px}.page-number{font-size:10px}.date-filter{font-size:11px}.main-actions{max-width:50%}}

.login-remember{display:flex;align-items:center;margin:6px 0 12px;font-size:13px;color:var(--secondary,#626976);user-select:none;}
.remember-label{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:12.5px;color:var(--quiet,#747c89);}
.remember-label input[type="checkbox"]{cursor:pointer;width:15px;height:15px;accent-color:#1d2027;margin:0;}
