:root{font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#243631;background:#f5f7f8;font-synthesis:none;font-size:14px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button{transition:background .15s,border-color .15s,box-shadow .15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #93ccba;outline-offset:2px}input,select{color:#43534f;border:1px solid #dfe5e3;border-radius:7px;background:#fff;min-height:38px;padding:8px 11px;min-width:0}select{padding-right:25px;cursor:pointer}input[type=checkbox]{min-height:auto;accent-color:#1c7b67;cursor:pointer;width:15px;height:15px}input[type=date]{font-size:12px}h1,h2,h3,p{margin:0}button svg{flex-shrink:0}button{white-space:nowrap}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:#fff;border-right:1px solid #e4eae7;position:fixed;inset:0 auto 0 0;padding:32px 19px 20px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;padding:0 12px;font-size:25px;font-weight:700;letter-spacing:3px}.brand-icon{background:#197661;color:#fff;width:42px;height:44px;border-radius:13px;display:grid;place-items:center;box-shadow:0 4px 12px #19766120}.brand div>span{display:block;font-size:9px;font-weight:400;letter-spacing:2px;color:#82928c;margin-top:4px}.workspace{display:flex;align-items:center;gap:9px;border:1px solid #e7ece9;border-radius:9px;margin-top:36px;padding:13px 10px;background:#fbfcfb}.workspace-icon{height:31px;width:31px;border-radius:7px;background:#eaf2ee;color:#4b7364;display:grid;place-items:center;font-size:13px}.workspace strong{font-size:11px;font-weight:600;display:block}.workspace span{display:block;font-size:10px;color:#8b9692;margin-top:4px}.workspace>svg{margin-left:auto;color:#83958d}.nav-label{font-size:10px;color:#a0aaa6;letter-spacing:1px;margin:30px 15px 12px}nav{display:flex;flex-direction:column;gap:7px}nav button{display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:14px 15px;border-radius:8px;text-align:left;font-size:13px;color:#74807b}nav button.active{color:#17715d;background:#eaf4ef;font-weight:600}nav button:hover{background:#f0f6f2}.nav-dot{width:5px;height:5px;border-radius:50%;background:#207b67;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:40px}.storage-card{border:1px solid #e2ece6;border-radius:10px;padding:16px 14px;background:linear-gradient(120deg,#f3f8f5,#f9fbf9);color:#457961;position:relative}.storage-card>svg{vertical-align:middle;margin-right:7px}.storage-card strong{font-size:11px;font-weight:500}.storage-card p{font-size:10px;line-height:1.9;color:#83958a;margin-top:9px}.storage-card button{margin-top:11px;padding:0;background:none;border:none;color:#38775f;font-size:11px;display:flex;align-items:center;gap:55px}.profile{display:flex;align-items:center;gap:10px;padding:20px 5px 0;margin-top:20px;border-top:1px solid #edf0ee}.avatar{width:33px;height:33px;border-radius:50%;background:#efe8dc;color:#8e7c62;display:grid;place-items:center;font-size:12px}.profile strong{font-size:11px;font-weight:500}.profile span{font-size:9px;display:block;color:#9aa49e;margin-top:4px}main{margin-left:232px;width:calc(100% - 232px);min-width:0}.topbar{height:65px;padding:0 38px;display:flex;justify-content:space-between;align-items:center;background:#ffffffa8;border-bottom:1px solid #e8ece9;color:#929e98;font-size:11px}.topbar>div>span{margin:0 13px}.topbar strong{color:#5a6e64;font-weight:400}.topbar-right{display:flex;align-items:center;gap:7px;font-size:10px}.topbar-right .live-dot{width:6px;height:6px;border-radius:50%;background:#4e9b78;margin:0}.topbar-right .divider{width:1px;height:13px;background:#e2e9e5;margin:0 9px}.content{max-width:1600px;margin:auto;padding:34px 38px 20px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;color:#8da29a;margin-bottom:9px}h1{font-size:26px;font-weight:600;letter-spacing:1px;line-height:1.5}.page-header p{font-size:12px;color:#8b9692;margin-top:7px}.header-actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dfe5e1;background:#fff;color:#65736d;border-radius:7px;padding:10px 15px;font-size:12px;min-height:38px;line-height:1.3}.btn:hover:not(:disabled){background:#f3f8f5;border-color:#a9c4b8}.btn.primary{background:#187963;color:#fff;border-color:#187963;box-shadow:0 3px 6px #16715b0c}.btn.primary:hover{background:#106651}.btn.small{padding:8px 12px;font-size:11px;min-height:32px}.demo-banner{border:1px solid #dde9e0;background:#eef6f0;border-radius:7px;padding:10px 13px;display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:22px;color:#6c8575;font-size:10px}.demo-label{display:inline-block;background:#dfede3;color:#3d7858;border-radius:4px;padding:3px 6px;margin-right:8px;font-size:9px}.demo-banner button{border:0;background:none;color:#4a8162;display:flex;align-items:center;gap:5px;font-size:10px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.stat-card{background:#fff;border:1px solid #e6ebe8;border-radius:10px;padding:18px 20px 17px;box-shadow:0 2px 3px #273d2f02}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#85948b;font-size:11px}.stat-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:9px}.green{color:#2c856c;background:#e9f5ef}.blue{color:#5a87b2;background:#edf3fa}.orange{color:#b58e4c;background:#fbf4e8}.purple{color:#8a74b3;background:#f3eef9}.gray{color:#8b9690;background:#f0f3f1}.stat-value{font-size:30px;letter-spacing:-.5px;font-weight:600;line-height:1.4;margin-top:6px;font-variant-numeric:tabular-nums}.stat-value small{font-size:11px;color:#9aa79f;font-weight:400;margin-left:8px}.stat-card p{font-size:10px;color:#a1aaa5;margin-top:8px}.panel{background:#fff;border:1px solid #e4eae6;border-radius:10px;overflow:hidden;box-shadow:0 2px 3px #273d2f02}.panel-heading{padding:22px 23px 19px;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h2{font-size:14px;font-weight:600;display:flex;align-items:center;gap:9px}.panel-heading p{font-size:10px;color:#99a59d;margin-top:6px}.count{color:#6e8c7c;background:#edf4ef;padding:3px 7px;border-radius:5px;font-size:10px;font-weight:400}.filters{display:flex;align-items:center;gap:10px;padding:0 23px 20px;flex-wrap:wrap}.search-field{position:relative;display:flex;align-items:center;flex:1;min-width:150px;max-width:250px}.search-field svg{position:absolute;left:11px;color:#9aa8a0}.search-field input{padding-left:35px;width:100%;font-size:11px}.filters select{font-size:11px;min-width:105px}.filters input::placeholder{color:#a4aea8}.date-range{display:flex;align-items:center;gap:4px;border:1px solid #dfe5e3;border-radius:7px;padding:0 9px;height:38px;color:#a0aba4}.date-range svg{margin-right:3px}.date-range input{border:0;padding:3px 2px;font-size:10px;min-height:30px;width:112px;background:none}.date-range span{font-size:10px}.text-btn{background:none;border:0;color:#53846d;font-size:11px;padding:5px 2px}.text-btn:hover{text-decoration:underline}.reset{margin-left:auto;color:#8a9a91}.table-scroll{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{background:#f7f9f8;color:#94a098;font-weight:400;font-size:10px;letter-spacing:.3px;padding:13px 23px;border-top:1px solid #edf0ee;border-bottom:1px solid #edf0ee}td{padding:14px 23px;border-bottom:1px solid #f0f3f1;color:#6f8076;font-size:11px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfb}td strong{font-weight:500;color:#3f5448}.person{display:flex;align-items:center;gap:10px}.person-avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:500;background:#eaf1ec;color:#75917c}.hue-1{background:#eef1f9;color:#8292b4}.hue-2{background:#f7f1e8;color:#b09877}.hue-3{background:#f1edf6;color:#a391b4}.person strong{display:block;font-size:11px;font-weight:500}.person small{display:block;color:#a0aaa5;font-size:9px;margin-top:5px}.numeric,.time-value{font-variant-numeric:tabular-nums;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.time-value{font-size:12px;font-weight:500!important;color:#4d6556!important}.sort-arrow{color:#759787;margin-left:6px}.method{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:4px;background:#edf7f0;color:#609675;font-size:10px}.source{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#9ca79f}.pagination{display:flex;align-items:center;justify-content:space-between;padding:16px 23px;border-top:1px solid #edf0ee;color:#9ba69e;font-size:10px}.pagination>div{display:flex;align-items:center;gap:9px}.pagination>div>span:first-child{margin-right:12px}.icon-btn{border:1px solid #e4eae6;background:#fff;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;width:28px;height:28px;color:#8a9b90;flex-shrink:0}.icon-btn:hover:not(:disabled){background:#edf5ef}.current-page{width:27px;height:27px;background:#edf5ef;border:1px solid #b9d3c1;color:#477a5c;display:grid;place-items:center;border-radius:5px}.bottom-note{font-size:9px;color:#a1ada4;display:flex;align-items:center;gap:6px;margin-top:15px}.bottom-note>span{margin-left:auto}.app-footer{display:flex;justify-content:space-between;margin-top:34px;color:#aab4ad;font-size:9px;letter-spacing:.2px}.app-footer>span>span{margin:0 10px;color:#c5cfc7}.empty{padding:60px 20px;text-align:center;color:#a5b8aa}.empty svg{margin-bottom:12px}.empty h3{font-size:13px;font-weight:500;color:#6a8674}.empty p{font-size:11px;margin-top:8px;color:#a0aca4}.week-controls{display:flex;gap:10px;align-items:center;font-size:11px}.week-controls strong{font-weight:500;color:#577462}.shift-toolbar{display:flex;gap:8px;align-items:center;padding:18px 23px;flex-wrap:wrap;border-top:1px solid #edf0ee}.shift-toolbar>span{font-size:11px;color:#8c9b91;margin-right:10px}.shift-chip{display:flex;gap:6px;align-items:center;border:1px solid transparent;border-radius:6px;padding:9px 11px;font-size:11px}.shift-chip strong{font-weight:500}.shift-chip small{font-size:9px;opacity:.8}.shift-chip.selected{border-color:currentColor;box-shadow:0 0 0 1px currentColor}.schedule-actions{display:flex;align-items:center;gap:18px;padding:11px 23px;background:#fafcfb;border-top:1px solid #edf0ee;font-size:10px;color:#9ba69d;flex-wrap:wrap}.copy-week{margin-left:auto}.schedule-table th,.schedule-table td{padding:14px 10px}.schedule-table th:first-child,.schedule-table td:first-child{padding-left:22px;width:40px}.schedule-table td:nth-child(2){min-width:100px}.schedule-table small{display:block;font-size:9px;color:#9ba99f;margin-top:5px}.schedule-table th:not(:nth-child(2)){text-align:center}.schedule-table th.today{color:#2e8968;background:#f0f7f2}.schedule-cell{width:100%;min-width:83px;min-height:55px;border:1px solid transparent;border-radius:6px;padding:9px 4px;text-align:center}.schedule-cell strong{color:inherit;font-size:11px}.schedule-cell small{color:inherit;opacity:.8;font-size:9px}.schedule-cell.unassigned{display:grid;place-items:center;background:#fcfdfc;color:#c6d3ca;border:1px dashed #e5ece7}.schedule-cell:hover{border-color:currentColor}.today-cell{background:#fafffb}.report-options{display:flex;align-items:end;gap:18px;padding:0 23px 20px;flex-wrap:wrap}.report-options label,.form-fields label,.mapping-grid label{display:flex;flex-direction:column;font-size:11px;color:#829488;gap:8px}.report-options label:first-child{flex:1}.report-options input,.report-options select{font-size:12px}.report-options .checkbox-label{flex-direction:row;align-items:center;padding-bottom:9px}.report-explanation{padding:13px 23px;font-size:10px;color:#91a094;background:#f8faf8;border-top:1px solid #eaf0eb;line-height:1.8}.report-sheet{background:#fff;border:1px solid #e5eae7;padding:35px;margin-top:25px;border-radius:8px;box-shadow:0 8px 24px #233e2d04}.report-kicker{font-size:9px;letter-spacing:2px;color:#9db0a2}.report-heading{text-align:center}.report-heading h2{margin:12px 0;font-size:23px;letter-spacing:2px;font-weight:500}.report-heading p{font-size:12px;color:#7c9183;margin-bottom:15px}.report-heading>div:last-child{display:flex;justify-content:space-between;font-size:10px;color:#8da294;margin:22px 0 16px}.report-table th,.report-table td{padding:12px 10px;font-size:10px;border:1px solid #e0e7e2}.report-table th{color:#587764;background:#f1f6f3}.report-sheet.compact td{padding:6px 8px}.status-warning{color:#bc8550}.report-footer{display:flex;justify-content:space-between;gap:10px;margin-top:30px;color:#7f9486;font-size:10px}.print-disclaimer{font-size:9px;color:#9eaca2;margin-top:25px;line-height:1.8}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-body{padding:0 23px 23px}.shift-setting{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf1ed;font-size:12px;color:#8b9f90}.badge{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;font-size:11px;border-radius:5px}.badge span{width:5px;height:5px;background:currentColor;border-radius:50%}.tolerance{margin-top:25px;color:#758d7c;font-size:11px}.tolerance input{width:70px;margin-left:14px;font-size:12px}.tolerance p{font-size:10px;margin-top:12px;color:#a2afa5}.data-management{display:flex;gap:15px;align-items:start;flex-direction:column}.data-management>div{display:flex;align-items:center;gap:10px;color:#91a295;margin:15px 0}.data-management strong{font-size:26px;color:#48634f}.data-management>div span{font-size:10px;margin-right:22px}.data-management p{font-size:11px;line-height:1.9;color:#9aa89e}.danger{color:#b36e68}.employee-panel{grid-column:1/-1}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#15362b66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:25px;z-index:50}.modal{background:#fff;border-radius:14px;width:480px;max-width:100%;max-height:90vh;overflow:auto;padding:28px;box-shadow:0 20px 100px #13332440}.modal.wide{width:840px}.modal>header{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:25px}.modal h2{font-size:20px;font-weight:600}.modal header p{font-size:11px;color:#95a399;margin-top:9px;line-height:1.7}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid #eaf0eb}.modal-actions>span{margin-right:auto;font-size:10px;color:#9bab9f}.file-info{display:flex;gap:15px;align-items:center;padding:14px;border:1px solid #e1ece4;border-radius:8px;background:#f7faf7;font-size:11px;color:#74917c}.file-info>span:first-child{display:flex;gap:10px;align-items:center;flex:1;overflow:hidden}.file-info strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-info select{font-size:11px;max-width:180px}.mapping-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.mapping-grid select{font-size:12px;width:100%}.import-hint{font-size:10px;color:#99a79d;line-height:1.9;margin:16px 0}.preview-table{max-height:200px;border:1px solid #e5ece6;border-radius:7px}.preview-table th,.preview-table td{font-size:10px;padding:11px 14px}.import-warning{margin-top:18px;font-size:11px;color:#aa8b5a;padding:12px;background:#fbf7ed;border-radius:7px}.inline-error{font-size:11px;color:#b66f66;padding:12px 23px;background:#fff8f6;line-height:1.8}.import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.import-summary>div{text-align:center;background:#f4f8f5;border-radius:8px;padding:18px 8px;color:#90a397;font-size:11px}.import-summary strong{display:block;color:#357652;font-size:25px;margin-bottom:8px}.error-list{max-height:200px;overflow:auto;margin:20px 0;font-size:11px;color:#b38961}.error-list p{padding:7px 0}.form-fields{display:flex;flex-direction:column;gap:18px}.form-fields input{width:100%}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:12px;background:#244c3b;color:#f5faf7;padding:14px 18px;border:1px solid #517564;border-radius:9px;box-shadow:0 8px 25px #193e3330;font-size:12px;max-width:90vw;line-height:1.7}.toast>svg{flex-shrink:0}.toast button{background:none;color:#b8ccbe;border:0;display:flex}.toast span{min-width:150px}@media(min-width:1500px){.content{padding:40px 48px}.stat-card{padding:22px 25px}td{padding-top:16px;padding-bottom:16px}.stat-value{font-size:33px}.page-header{margin-bottom:30px}.stats-grid{gap:22px}}@media(max-width:1200px){.sidebar{width:205px;padding-left:13px;padding-right:13px}main{margin-left:205px;width:calc(100% - 205px)}.content{padding:26px 24px}.topbar{padding:0 24px}.filters{gap:8px}.date-range{order:2}.reset{order:3}.stats-grid{gap:12px}.stat-card{padding:16px}.page-header{gap:12px}.header-actions{gap:7px}.header-actions .btn{padding:9px 11px}.stat-value{font-size:27px}.panel-heading{padding:20px}.week-controls{gap:6px}}@media(max-width:900px){.sidebar{width:75px;padding:25px 10px}.brand{padding:0;justify-content:center}.brand>div,.workspace,.nav-label,.nav-dot,.sidebar-bottom{display:none}nav{margin-top:40px}nav button{font-size:0;justify-content:center;padding:15px}nav button svg{width:22px;height:22px;flex-shrink:0}main{margin-left:75px;width:calc(100% - 75px)}.page-header{align-items:start}.page-header p{max-width:280px;line-height:1.8}.topbar-right{font-size:9px}.stats-grid{grid-template-columns:repeat(2,1fr)}.settings-layout{grid-template-columns:1fr}.schedule-actions{gap:10px}.week-controls strong{font-size:10px}.panel-heading{flex-wrap:wrap}.report-sheet{padding:23px}.header-actions{flex-wrap:wrap;justify-content:end}}@media(max-width:600px){.sidebar{width:58px;padding:22px 7px}.brand-icon{width:35px;height:36px;border-radius:9px}.brand-icon svg{width:20px}nav button{padding:13px 8px}main{margin-left:58px;width:calc(100% - 58px)}.content{padding:22px 14px}.topbar{padding:0 14px;height:53px}.topbar-right{display:none}.page-header{display:block}.page-header h1{font-size:24px}.header-actions{margin-top:18px;justify-content:start}.demo-banner{font-size:9px;line-height:1.9}.demo-banner button{display:none}.stat-card{padding:14px}.stat-value{font-size:25px}.stat-top{font-size:10px}.stat-icon{width:27px;height:27px}.stat-icon svg{width:16px}.stat-card p{font-size:9px}.stats-grid{gap:10px}.panel-heading{padding:17px 14px}.filters{padding:0 14px 16px;gap:8px}.search-field{max-width:none;min-width:120px}.filters select{min-width:90px;max-width:120px}.date-range{width:100%;justify-content:space-between}.date-range input{flex:1;width:100px}.reset{margin-left:0}th,td{padding:13px 15px}.pagination{padding:13px;font-size:9px;gap:8px}.pagination>div{gap:5px}.pagination>div>span:first-child{display:none}.bottom-note{line-height:1.8;align-items:start}.bottom-note>span{display:none}.app-footer{font-size:8px}.app-footer>span:last-child{display:none}.shift-toolbar{padding:17px 14px}.shift-toolbar>span{width:100%}.schedule-actions{padding:12px 14px}.copy-week{margin-left:0}.week-controls{flex-wrap:wrap}.report-options{padding:0 14px 15px}.report-options label,.report-options input{width:100%}.report-options input[type=checkbox]{width:15px}.report-sheet{padding:18px}.report-heading>div:last-child{display:block;line-height:1.9}.report-heading>div:last-child span{display:block}.report-footer{flex-direction:column;gap:20px}.report-explanation{padding:14px}.modal{padding:20px}.overlay{padding:13px}.mapping-grid{grid-template-columns:1fr 1fr;gap:12px}.file-info,.modal-actions{flex-wrap:wrap}.modal-actions>span{width:100%}.toast{bottom:15px;width:90vw}.form-fields{gap:12px}}@media print{body{background:#fff;color:#000;font-size:10px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sidebar,.topbar,.page-header,.demo-banner,.print-settings,.app-footer,.toast,.overlay{display:none!important}main{margin:0;width:100%}.content{padding:0;margin:0;max-width:none}.report-sheet{border:0;border-radius:0;box-shadow:none;padding:0;margin:0}.report-heading h2{font-size:20px;color:#000}.report-heading{break-after:avoid}.report-table{white-space:normal;table-layout:auto}.report-table td,.report-table th{padding:7px 5px;color:#222;border-color:#bbb;font-size:9px;overflow-wrap:anywhere}.report-sheet.compact td{padding:4px 5px}.report-sheet .table-scroll{overflow:visible}.report-table thead{display:table-header-group}.report-table tr{break-inside:avoid}.report-footer{break-inside:avoid;flex-direction:row;color:#333}.print-disclaimer{color:#555}.status-warning{color:#8e4a17!important}}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 15% 10%,#e1eee7,transparent 60%),#f5f7f8}.login-card{width:410px;max-width:100%;background:#fff;border:1px solid #e1eae4;border-radius:16px;padding:36px;box-shadow:0 18px 60px #25473409}.login-card .brand-icon{margin-bottom:24px}.login-card h1{font-size:24px}.login-card>p{font-size:11px;color:#8a9d90;line-height:1.8;margin:12px 0 24px}.login-card>.btn{width:100%;margin-top:24px}.login-card .inline-error{margin-top:16px;padding:12px}.login-card .bottom-note{justify-content:center;margin-top:22px}.manual-detail{display:flex;flex-direction:column;gap:5px;font-size:9px;color:#9d8b69;margin-top:6px;max-width:240px}.manual-detail span{white-space:normal;overflow-wrap:anywhere}.form-fields textarea{resize:vertical;font:inherit;border:1px solid #dfe5e3;border-radius:7px;padding:10px;color:#43534f;background:#fff}.topbar-right .text-btn{font-size:10px}.header-actions{flex-wrap:wrap}.hr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hr-form-grid label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#829488}.hr-form-grid textarea{font:inherit;color:#43534f;border:1px solid #dfe5e3;border-radius:7px;padding:10px;resize:vertical}.hr-form-grid .full-width{grid-column:1/-1}.hr-form-grid input[readonly]{background:#f3f6f4;color:#99a69c}.cell-sub{display:block;font-size:9px;color:#99a69d;line-height:1.6;margin-top:5px}.reason-cell{white-space:normal;min-width:160px;max-width:260px;overflow-wrap:anywhere;line-height:1.7}.monthly-stats{margin-top:22px}.monthly-sheet{padding:26px 22px}.monthly-table th,.monthly-table td{padding:11px 8px;font-size:10px}.monthly-table td:nth-child(n+4){text-align:center}.sidebar nav{gap:3px}.sidebar nav button{padding-top:12px;padding-bottom:12px}.sidebar .sidebar-bottom{padding-top:20px}.sidebar .workspace{margin-top:25px}.time-off-table td{vertical-align:top}@media(max-width:600px){.hr-form-grid{grid-template-columns:1fr}.monthly-sheet{padding:18px 12px}.sidebar nav{margin-top:25px}.sidebar nav button{padding:12px 8px}}@media print{.no-print{display:none!important}.monthly-table th,.monthly-table td{font-size:8px;padding:5px 3px}.monthly-sheet{padding:0}.monthly-page .report-footer{margin-top:22px}}.sidebar{overflow-y:auto}@media(max-height:850px)and (min-width:901px){.sidebar .storage-card{display:none}.sidebar .profile{margin-top:0;padding-top:16px}.sidebar .sidebar-bottom{padding-top:16px}}.shift-setting{gap:12px}.shift-setting>span:nth-child(2){margin-left:auto}.system-shift{font-size:9px;color:#9aa99e;min-width:40px;text-align:right}.deleted-shifts{margin-top:18px;color:#93a398;font-size:10px;line-height:2}.deleted-shifts summary{cursor:pointer}.shift-preview{background:#eff7f1;padding:15px;border-radius:8px;margin-top:20px;color:#49715b}.shift-preview p{font-size:10px;line-height:1.8;margin-top:7px;color:#829888}.deletion-message{font-size:12px;line-height:1.9;color:#789081}.schedule-cell small{white-space:normal;line-height:1.5}.payroll-month{padding:18px 24px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.payroll-month label{font-weight:600}.payroll-month input{margin-left:14px}.payroll-month>span{color:var(--muted,#718078);font-size:12px}.payroll-stat{font-size:26px;font-weight:650;margin-top:16px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.payroll-fieldset{border:0;margin:0;padding:0;min-width:0}.payroll-total{display:flex;justify-content:space-between;gap:16px;padding:18px;background:#f1f7f3;border-radius:8px;margin:16px 0;font-variant-numeric:tabular-nums}.payroll-total strong{color:#246c4d}.payroll-actions{display:flex;gap:14px;white-space:nowrap}.payroll-preview-actions{display:flex;justify-content:space-between;align-items:center;margin:26px 0 16px;gap:12px}.payslip-sheet{max-width:920px;margin:0 auto}.payslip-sheet h3{font-size:15px;margin:24px 0 12px}.payroll-attendance{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e0e7e2;border-left:1px solid #e0e7e2}.payroll-attendance>div{display:flex;justify-content:space-between;gap:12px;padding:10px;border-right:1px solid #e0e7e2;border-bottom:1px solid #e0e7e2;font-size:12px}.payroll-note{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-size:13px}.payslip-sheet .report-footer{flex-wrap:wrap;gap:12px}@media(max-width:700px){.payroll-month,.payroll-preview-actions,.payroll-total{flex-wrap:wrap}.payroll-attendance{grid-template-columns:repeat(2,1fr)}}@media print{.payslip-sheet{padding:0;border:0;box-shadow:none;max-width:none}.payslip-sheet .report-table td,.payslip-sheet .report-table th{padding:7px 10px}.payroll-total,.payroll-attendance{break-inside:avoid}.payslip-sheet .report-footer{margin-top:20px}}.employee-actions{display:flex;align-items:center;gap:16px;white-space:nowrap}.insurance-detail{margin:16px 0;padding:14px;border:1px solid #dce9e2;border-radius:8px;background:#f7fbf8;font-size:12px;line-height:1.8;break-inside:avoid}.insurance-detail .report-table{margin:8px 0}.insurance-sources{margin-top:12px;font-size:12px;line-height:1.8}.insurance-sources summary{cursor:pointer}.insurance-sources a{color:#187963;text-decoration:underline}.payroll-fieldset input[readonly]{background:#edf4ef;color:#476d5c}.schedule-heading{flex-wrap:wrap}.schedule-view-switch{display:flex;gap:6px;margin-left:auto}.schedule-heading .week-controls{flex-wrap:wrap}.schedule-month-hint{padding:10px 23px;font-size:11px;color:#728679;line-height:1.8;background:#f7faf8}.schedule-table th.schedule-weekend{background:#f2f5f9;color:#647e94}.schedule-table th.today{background:#e7f4eb;color:#187963}.schedule-panel .table-scroll:focus-visible{outline:2px solid #93ccba;outline-offset:-2px}.calendar-employee-picker{display:flex;flex-wrap:wrap;gap:10px;padding:0 23px 16px}.calendar-employee-picker label{display:flex;align-items:center;gap:8px;border:1px solid #e2eae5;border-radius:7px;padding:8px 10px;font-size:11px;cursor:pointer;max-width:100%;overflow-wrap:anywhere}.calendar-employee-picker input{flex-shrink:0}.calendar-employee-picker strong{font-weight:500}.calendar-employee-picker small{display:block;margin-top:4px;color:#829488;font-size:10px}.schedule-calendar{width:100%;padding:0 16px 16px}.schedule-calendar-table{table-layout:fixed;width:100%;white-space:normal}.schedule-calendar-table caption{text-align:left;padding:18px 4px;font-size:15px;font-weight:600;color:#3f6250}.schedule-calendar-table th{padding:12px 4px;text-align:center}.schedule-calendar-table td{width:14.2857%;height:130px;padding:8px 5px;vertical-align:top;border:1px solid #e4eae6;overflow-wrap:anywhere}.schedule-calendar-table tbody tr:last-child td{border-bottom:1px solid #e4eae6}.schedule-calendar-table tbody tr:hover{background:transparent}.schedule-calendar-table .calendar-padding{background:#f7f9f8}.schedule-calendar-table .calendar-weekend{background:#fafbfe}.schedule-calendar-table .calendar-today{background:#f4faf6;box-shadow:inset 0 0 0 2px #79b79e}.calendar-date{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:2px 3px 8px;color:#577462;font-variant-numeric:tabular-nums}.calendar-date time{font-size:14px;font-weight:600}.calendar-date span{font-size:9px;color:#187963}.calendar-assignments{display:flex;flex-direction:column;gap:6px}.calendar-assignment{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-width:0;padding:8px 6px;border:1px solid transparent;border-radius:6px;white-space:normal;text-align:left;overflow-wrap:anywhere;line-height:1.5;font-size:11px}.calendar-assignment strong{color:inherit;font-weight:600}.calendar-assignment small{font-size:9px;max-width:100%}.calendar-assignment.unassigned{background:#f8faf9;color:#92a299;border:1px dashed #dce5df}.calendar-assignment:hover:not(:disabled){border-color:currentColor;filter:brightness(.97)}@media(max-width:600px){.schedule-calendar{padding:0 5px 10px}.schedule-calendar-table td{padding:5px 2px}.calendar-assignment{padding:5px 3px;font-size:10px}.calendar-assignment small{font-size:8px}.calendar-date{padding:2px 1px 6px}.calendar-employee-picker{padding:0 14px 14px}.schedule-month-hint{padding:10px 14px}}.calendar-selection-hint{padding:12px 23px;font-size:12px;color:#38775f;line-height:1.8;background:#eef7f1}.calendar-date{width:100%;min-height:32px;border:1px solid transparent;border-radius:5px;background:transparent;text-align:left;white-space:normal}.calendar-date:hover:not(:disabled){background:#dfefe5;border-color:#9bc6b1}.calendar-date:disabled{opacity:1;color:#89978e;cursor:default}.calendar-date:focus-visible{outline-offset:-2px}.calendar-employee-picker label:has(input:checked){background:#eef7f1;border-color:#9bc6b1}.cycle-dialog{width:850px;max-width:100%;max-height:90vh;overflow-y:auto}.cycle-help{font-size:12px;line-height:1.8;color:#718578;margin:14px 0}.cycle-employee{padding:16px;border:1px solid #dfe8e2;border-radius:8px;margin:14px 0}.cycle-employee h3{font-size:14px}.cycle-employee h3 small{font-size:11px;font-weight:400;color:#829488;margin-left:8px}.cycle-range{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0}.cycle-range label{display:flex;align-items:center;gap:8px;font-size:12px;color:#718578}.cycle-employee p,.cycle-employee summary{font-size:12px;line-height:1.8}.cycle-sequence{color:#38775f;overflow-wrap:anywhere}.cycle-employee details{margin-top:12px}.cycle-employee summary{cursor:pointer}.cycle-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:8px;margin-top:10px}.cycle-day{display:flex;flex-direction:column;gap:5px;border-radius:6px;padding:10px;font-size:12px;overflow-wrap:anywhere}.cycle-day small{font-size:10px}.cycle-dialog .modal-actions{position:sticky;bottom:-1px;background:#fff;padding:16px 0 0;flex-wrap:wrap}.cycle-dialog .modal-actions>span{font-size:12px;color:#718578}
