:root{--brand-blue:#2f436e;--brand-blue-dark:#22344f;--brand-blue-mid:#50697a;--brand-blue-light:#7a92a0;--brand-slate:#4c5e7a;--brand-slate-dark:#3d4f68;--brand-slate-light:#6b7d96;--brand-yellow:#c8b06a;--brand-yellow-dark:#a8924a;--brand-yellow-bg:hsla(45,46%,60%,.1);--brand-yellow-ring:hsla(45,46%,60%,.28);--color-minkuan:#b5a9a0;--color-yizhong:#93aab7;--color-gongyi:#95afad;--color-taiping:#a89db5;--color-qiuhong:#bca99a;--color-m1:#5a7a9a;--color-m2:#7a6a8a;--color-m3:#c8b06a;--color-m4:#4e6f5a;--color-fulltime:#2f436e;--color-hybrid:#7b341e;--color-parttime:#6f7f6e;--color-daily:#7a6a8a;--color-text:#1a1f36;--color-text-light:#6b7280;--color-text-muted:#9ca3af;--color-border:#e5e7eb;--color-border-light:#f0f1f4;--color-bg:#eef1f5;--color-bg-card:#fff;--color-accent:var(--brand-blue);--color-danger:#9b4a4a;--color-success:#4e6f5a;--color-warning:#c8b06a;--color-blue-grey-tint:#eef1f5;--color-green-tint:#ebf0eb;--color-gold-tint:#f5f0e8;--color-brand-border:#c8d4dc;--color-green-border:#a8c4ae;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang TC","Microsoft JhengHei",sans-serif;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:14px;--font-size-md:15px;--font-size-lg:18px;--font-size-xl:24px;--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 8px 28px rgba(0,0,0,.1),0 2px 8px rgba(0,0,0,.05)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{cursor:pointer;border:none;background:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#fff;border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-lg);justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-xs)}.app-header,.header-title{display:flex;align-items:center}.header-title{gap:var(--spacing-sm)}.header-icon{font-size:20px}.header-title h1{font-size:var(--font-size-md);font-weight:700;color:var(--color-text)}.header-stores{font-size:var(--font-size-sm);color:var(--color-text-light);margin-left:var(--spacing-xs)}.header-controls{display:flex;align-items:center;gap:var(--spacing-md)}.month-picker-wrapper{display:flex;align-items:center;gap:6px}.month-picker-label{font-size:12px;color:var(--color-text-light);white-space:nowrap}.month-picker-field{position:relative;display:flex;align-items:center}.month-picker-input{width:96px;padding:5px 28px 5px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text);background:#fff;transition:border-color .15s,box-shadow .15s}.month-picker-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(47,67,110,.08)}.month-picker-input:disabled{background:#f3f4f6;color:var(--color-text-muted);cursor:not-allowed}.month-picker-cal-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:2px;background:none;border:none;border-radius:4px;cursor:pointer;color:#94a3b8;transition:color .12s,background-color .12s;z-index:1}.month-picker-cal-btn:hover:not(:disabled){color:var(--brand-slate);background-color:rgba(76,94,122,.08)}.month-picker-cal-btn--active{color:var(--brand-blue);background-color:rgba(47,67,110,.08)}.month-picker-cal-btn:disabled{opacity:.4;cursor:not-allowed}.month-picker-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:500;background:#fff;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.06);padding:14px 12px 12px;width:196px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mp-year-row{justify-content:space-between;margin-bottom:10px;padding:0 2px}.mp-year-nav,.mp-year-row{display:flex;align-items:center}.mp-year-nav{justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:5px;cursor:pointer;color:var(--color-text-light);transition:color .12s,background-color .12s}.mp-year-nav:hover{color:var(--brand-slate);background-color:rgba(76,94,122,.08)}.mp-year-label{font-size:14px;font-weight:600;color:var(--color-text);letter-spacing:.02em}.mp-month-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:4px;gap:4px}.mp-month-btn{padding:7px 2px;background:none;border:none;border-radius:5px;font-size:13px;font-weight:500;color:var(--color-text);cursor:pointer;text-align:center;transition:color .12s,background-color .12s}.mp-month-btn:hover{background-color:rgba(76,94,122,.08);color:var(--brand-slate)}.mp-month-btn--selected{background-color:var(--brand-blue);color:#fff;font-weight:700}.mp-month-btn--selected:hover{background-color:var(--brand-blue-dark);color:#fff}.lock-btn{font-size:18px;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#fff;transition:background .15s}.lock-btn:hover{background:var(--color-bg)}.lock-btn.locked{color:var(--color-danger)}.milestone-bar{background:#fff;border-bottom:1px solid var(--color-border);padding:14px 24px;display:flex;align-items:center;gap:16px;position:relative}.milestone-nodes{display:flex;align-items:flex-start;flex:1 1}.milestone-node-wrapper{flex:1 1;display:flex;flex-direction:column;align-items:center;position:relative}.milestone-connector{position:absolute;top:18px;right:50%;left:-50%;height:2px;background:var(--color-border);z-index:0}.milestone-connector.filled{background:var(--brand-blue)}.milestone-node{width:36px;height:36px;border-radius:50%;border:2px solid #d1d5db;background:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#d1d5db;position:relative;z-index:1;cursor:pointer}.milestone-node--active{box-shadow:0 0 0 3px rgba(47,67,110,.2)}.milestone-node--active,.milestone-node--completed{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff;font-size:14px;font-weight:700}.milestone-node--pending{border-color:#d1d5db;color:#d1d5db}.milestone-node--final-ring{box-shadow:0 0 0 3px rgba(47,67,110,.18)}.milestone-label{margin-top:6px;font-size:11px;font-weight:500;color:#9ca3af;white-space:nowrap;text-align:center;line-height:1.3}.milestone-node-wrapper:has(.milestone-node--active) .milestone-label{color:var(--brand-blue);font-weight:700}.milestone-node-wrapper:has(.milestone-node--completed) .milestone-label{color:var(--brand-blue-mid);font-weight:600}.milestone-label-code{font-weight:800;letter-spacing:.02em}.milestone-advance-btn{padding:7px 16px;border-radius:var(--radius-sm);background:var(--brand-slate-light);color:#fff;font-size:var(--font-size-sm);font-weight:600;transition:all .15s;white-space:nowrap;box-shadow:var(--shadow-xs)}.milestone-advance-btn:hover{background:var(--brand-slate);box-shadow:var(--shadow-sm)}.milestone-panel{position:absolute;top:calc(100% + 4px);left:var(--spacing-lg);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-lg);min-width:280px;z-index:200}.milestone-panel-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;margin-bottom:var(--spacing-sm)}.milestone-panel-close{color:var(--color-text-light);font-size:14px;padding:2px 6px;border-radius:var(--radius-sm);transition:background .12s}.milestone-panel-close:hover{background:var(--color-bg)}.milestone-panel-desc{font-size:var(--font-size-sm);color:var(--color-text-light);margin-bottom:var(--spacing-sm)}.milestone-checklist{list-style:none}.milestone-checklist-item{margin:4px 0;font-size:var(--font-size-sm)}.milestone-checklist-item input{margin-right:6px;accent-color:var(--brand-blue)}.milestone-panel-note{width:100%;margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;font-size:var(--font-size-sm)}.milestone-panel-note:focus{outline:none;border-color:var(--brand-blue)}.advance-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:500}.advance-modal{background:#fff;border-radius:var(--radius-xl);padding:var(--spacing-lg);max-width:420px;width:90%;box-shadow:var(--shadow-lg)}.advance-modal h3{font-size:var(--font-size-md);font-weight:700;color:var(--brand-blue);margin-bottom:var(--spacing-sm)}.advance-modal p{font-size:var(--font-size-sm);color:var(--color-text-light);margin-bottom:var(--spacing-sm)}.advance-modal ul{list-style:none;margin-bottom:var(--spacing-md)}.advance-modal li{margin:6px 0;font-size:var(--font-size-sm)}.advance-modal li input{margin-right:6px;accent-color:var(--brand-blue)}.advance-modal textarea{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-md);resize:vertical;font-size:var(--font-size-sm)}.advance-modal textarea:focus{outline:none;border-color:var(--brand-blue)}.advance-modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.advance-modal-actions button{padding:8px 18px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;border:1px solid var(--color-border);color:var(--color-text-light);background:var(--color-bg);transition:all .15s}.advance-modal-actions button:hover{background:var(--color-border)}.advance-modal-confirm{background:var(--brand-slate)!important;color:#fff!important;border-color:var(--brand-slate)!important}.advance-modal-confirm:hover{background:var(--brand-slate-dark)!important;border-color:var(--brand-slate-dark)!important}.module-tabs{background:#fff;border-bottom:1px solid var(--color-border);padding:0 var(--spacing-lg);display:flex;gap:0;overflow-x:auto}.module-tab{padding:10px 16px;font-size:var(--font-size-sm);color:var(--color-text-light);border-bottom:2px solid transparent;white-space:nowrap;transition:all .15s}.module-tab:hover{color:var(--color-text);background:var(--color-bg)}.module-tab--active{color:var(--brand-blue);border-bottom-color:var(--brand-blue);font-weight:600}.app-main{flex:1 1;padding:var(--spacing-lg);max-width:960px;width:100%;margin:0 auto}.store-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-md);overflow-x:auto}.store-tab{display:flex;align-items:center;gap:6px;padding:10px 18px;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-light);border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:all .15s}.store-tab:hover{color:var(--color-text);background:var(--color-bg)}.store-tab--active{font-weight:700}.store-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.store-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.store-count{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--color-text-light)}.store-count-dot{display:none}.store-count-name{font-size:14px;font-weight:600;color:var(--color-text)}.store-count-sep{color:var(--color-border)}.add-emp-form{display:flex;align-items:center;gap:var(--spacing-sm);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm)}.add-emp-name{flex:1 1;padding:7px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);outline:none;transition:border-color .15s}.add-emp-name:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(47,67,110,.08)}.add-emp-type-select{padding:7px 10px;border:1px solid var(--color-border);color:var(--color-text)}.add-emp-btn,.add-emp-type-select{border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:#fff}.add-emp-btn{padding:7px 14px;color:#9ca3af;border:1px solid #d1d5db;font-weight:600;transition:background .12s,border-color .12s,color .12s}.add-emp-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;color:#6b7280}.add-emp-btn:disabled{opacity:.45;cursor:not-allowed}.add-emp-confirm{padding:7px 16px;border-radius:var(--radius-sm);color:#fff;font-size:var(--font-size-sm);font-weight:600;transition:opacity .15s,box-shadow .15s}.add-emp-confirm:hover:not(:disabled){opacity:.88;box-shadow:var(--shadow-sm)}.add-emp-confirm:disabled{opacity:.45;cursor:not-allowed}.add-emp-cancel{padding:7px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-light);border:1px solid var(--color-border);background:#fff;transition:background .12s}.add-emp-cancel:hover{background:var(--color-bg)}.employee-list{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.employee-card,.employee-list{background:#fff;overflow:hidden}.employee-card{border-bottom:1px solid var(--color-border-light);border-radius:0;box-shadow:none;transition:background .1s}.employee-card:last-child{border-bottom:none}.employee-card:hover{box-shadow:none;border-color:var(--color-border-light)}.employee-card-header{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:46px;transition:background .1s}.employee-card-header:hover{background:#f9fafb}.employee-card-info{display:flex;align-items:center;gap:10px}.emp-type-slot{width:50px;display:flex}.emp-tag,.emp-type-slot{flex-shrink:0;align-items:center}.emp-tag{display:inline-flex;justify-content:center;height:20px;padding:0 7px;border-radius:4px;font-size:10.5px;font-weight:500;letter-spacing:.01em;white-space:nowrap}.emp-tag--fulltime{background:#eef1f5;color:#2f436e}.emp-tag--hybrid{background:#f0eef4;color:#7a6a8a}.emp-tag--parttime{background:#ebf0eb;color:#4e6f5a}.emp-tag--daily{background:#f0eef5;color:#7a6a8a}.emp-name-stack{display:flex;flex-direction:column;gap:2px}.emp-meta-text{font-size:11px;font-weight:400;color:#9ca3af;letter-spacing:.01em;line-height:1.2}.export-emp-type,.table-emp-type{font-size:12px;color:#9ca3af;font-weight:400}.export-cross-store{font-size:11px;color:#9ca3af;margin-left:2px}.employee-name{font-size:14px;font-weight:600;color:#111827;letter-spacing:-.01em}.cross-store-tag{font-size:10px;background:#eef1f5;color:#50697a;padding:2px 6px;border-radius:10px;font-weight:600}.employee-card-net{display:flex;align-items:center;gap:10px}.net-pay-badge{display:inline-flex;align-items:baseline;gap:1px;font-size:14px;font-weight:700;color:#1a1f36;letter-spacing:-.01em;white-space:nowrap;font-feature-settings:"tnum"}.net-pay-sym{font-size:11px;font-weight:500;color:#9ca3af;letter-spacing:0;margin-right:1px}.net-pay-badge--pending{font-size:12px;font-weight:400;color:#9ca3af;white-space:nowrap}.employee-card-toggle{font-size:10px;color:var(--color-text-muted);margin-left:2px}.employee-card-body{border-top:1px solid var(--color-border);padding:var(--spacing-md);background:#fafbfd}.employee-calc-summary{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.calc-row{display:flex;justify-content:space-between;padding:4px 0;font-size:var(--font-size-sm)}.calc-row--deduct{color:var(--color-danger)}.calc-row--net{font-size:var(--font-size-md);font-weight:700;border-top:1px solid var(--color-border);margin-top:4px;padding-top:6px;color:var(--brand-blue)}.employee-delete-btn{display:block;margin-top:var(--spacing-md);padding:6px 14px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-danger);border:1px solid;transition:all .15s}.employee-delete-btn:hover{background:var(--color-danger);color:#fff}.placeholder-text{color:var(--color-text-light);font-size:var(--font-size-sm);font-style:italic;border:1px dashed var(--color-border);border-radius:var(--radius-sm);text-align:center}.placeholder-fields,.placeholder-text{padding:var(--spacing-md)}.text-muted{color:var(--color-text-light)}.loading-text{text-align:center}.empty-state,.loading-text{color:var(--color-text-light);padding:var(--spacing-xl)}.empty-state,.error-banner{font-size:var(--font-size-sm)}.error-banner{background:rgba(155,74,74,.06);color:var(--color-danger);border:1px solid rgba(155,74,74,.22);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md)}@media print{@page{size:A4 landscape;margin:10mm}.add-emp-form,.app-header,.employee-delete-btn,.milestone-bar,.module-tabs,.no-print,.store-tabs,.store-toolbar{display:none!important}.employee-card{page-break-inside:avoid;break-inside:avoid}}.salary-rule-panel{padding:12px 0 0;border-top:1px solid var(--color-border);margin-top:12px}.rule-section-header{display:flex;align-items:center;gap:6px;margin-bottom:10px}.rule-section-title{font-size:12px;font-weight:700;color:var(--brand-blue);text-transform:uppercase;letter-spacing:.06em}.rule-badge-new{font-size:11px;color:var(--brand-yellow-dark);font-weight:600}.rule-group{margin-bottom:12px}.rule-group-label{font-size:12.5px;color:var(--color-text-muted);margin-bottom:6px;font-weight:500}.rule-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:8px;gap:8px}.rule-field{display:flex;flex-direction:column;gap:2px}.rule-field--deduct{flex-direction:row;align-items:center;gap:6px}.rule-field--subsidy{flex-direction:column;gap:4px}.rule-subsidy-label-group{display:flex;align-items:baseline;gap:6px}.rule-subsidy-input-group{display:flex;align-items:center;gap:8px}.rule-subsidy-days{display:flex;align-items:center;gap:4px;flex:0 0 100px}.rule-subsidy-days .rule-input{width:72px;flex-shrink:0}.rule-subsidy-unit{font-size:12.5px;color:var(--color-text-light);white-space:nowrap}.rule-subsidy-amount{font-size:13px;font-weight:600;color:var(--color-success,#16a34a);min-width:80px;text-align:right}.rule-subsidy-total{justify-content:space-between;padding:5px 0 2px;border-top:1px solid var(--color-border);margin-top:2px;font-weight:600;color:var(--color-text)}.rule-subsidy-total,.transfer-slot-row{display:flex;align-items:center;font-size:12.5px}.transfer-slot-row{gap:6px;padding:4px 0;border-bottom:1px solid var(--color-border)}.transfer-slot-row:last-of-type{border-bottom:none}.transfer-slot-name{flex:1 1;font-weight:500;color:var(--color-text);min-width:50px}.transfer-slot-amount{min-width:70px;text-align:right;font-weight:600;color:var(--color-text)}.transfer-slot-note{flex:1 1;color:var(--color-text-light);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px}.transfer-slot-delete{flex-shrink:0;background:none;border:none;cursor:pointer;color:#dc2626;font-size:12px;padding:0 2px;line-height:1;opacity:.7}.transfer-slot-delete:hover{opacity:1}.transfer-add-row{display:flex;gap:5px;align-items:center;padding:6px 0 2px}.transfer-add-select{flex:1.2 1}.transfer-add-amount,.transfer-add-select{min-width:0;font-size:12px;padding:3px 4px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);height:26px}.transfer-add-amount{flex:0.8 1;width:60px}.transfer-add-note{flex:1 1;min-width:0;font-size:12px;padding:3px 4px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);height:26px}.transfer-add-btn{flex-shrink:0;padding:3px 8px;font-size:12px;background:var(--color-accent);color:#fff;border:none;border-radius:4px;cursor:pointer;height:26px;white-space:nowrap}.transfer-add-btn:disabled{opacity:.45;cursor:not-allowed}.transfer-slot-total{display:flex;justify-content:space-between;align-items:center;padding:5px 0 2px;border-top:1px solid var(--color-border);margin-top:4px;font-size:12.5px;font-weight:600;color:var(--color-text)}.rule-label{font-size:12.5px;color:var(--color-text-light)}.rule-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 8px;font-size:14px;width:100%;background:#fff;color:var(--color-text);transition:border-color .15s,box-shadow .15s}.rule-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(47,67,110,.08)}.rule-input:disabled{background:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed}.rule-label-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 8px;font-size:12.5px;width:90px;flex-shrink:0;background:#fff;transition:border-color .15s}.rule-label-input:focus{outline:none;border-color:var(--brand-blue)}.rule-label-input:disabled{background:var(--color-bg);color:var(--color-text-muted)}.rule-error{color:var(--color-danger);font-size:12px;margin-bottom:8px}.rule-save-btn{background:var(--brand-blue);color:#fff;border:none;border-radius:var(--radius-sm);padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s}.rule-save-btn:hover:not(:disabled){background:var(--brand-blue-dark);box-shadow:var(--shadow-sm)}.rule-save-btn:disabled{background:#d1d5db;cursor:not-allowed}.rule-loading{color:var(--color-text-muted);font-size:13px;padding:8px 0}.attendance-panel{padding:12px 0 0;border-top:1px solid var(--color-border)}.att-section-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.att-section-title{font-size:12px;font-weight:700;color:var(--brand-blue);text-transform:uppercase;letter-spacing:.06em}.att-autosave{font-size:11px;font-weight:500;line-height:1}.att-autosave--saving{color:#888}.att-autosave--saved{color:#4e6f5a}.att-autosave--error{color:#9b4a4a;cursor:help}.att-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:8px;gap:8px;margin-bottom:10px}.att-fields--bonus{grid-template-columns:130px 1fr}.att-field{display:flex;flex-direction:column;gap:3px}.att-label{font-size:12.5px;color:var(--color-text-light);display:flex;align-items:center;gap:4px}.att-hint{color:var(--color-text-muted);font-size:11px}.att-store-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.att-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 8px;font-size:14px;width:100%;background:#fff;box-sizing:border-box;color:var(--color-text);transition:border-color .15s,box-shadow .15s}.att-input--text{width:100%}.att-input--readonly{background:var(--bg-secondary,#f5f5f5);color:var(--text-secondary,#666);cursor:default}.att-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(47,67,110,.08);background:#fff}.att-input:disabled{background:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed}.att-error{color:var(--color-danger);font-size:12px;margin-bottom:6px}.att-save-btn{background:var(--brand-slate);color:#fff;border:none;border-radius:var(--radius-sm);padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s;margin-top:4px}.att-save-btn:hover:not(:disabled){background:var(--brand-slate-dark);box-shadow:var(--shadow-sm)}.att-save-btn:disabled{background:#d1d5db;cursor:not-allowed}.att-save-btn--ok{background:var(--brand-slate)!important}.att-flags{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding:8px 10px;background:#f8f9fb;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.att-flag-row{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:13px;color:var(--color-text);-webkit-user-select:none;-moz-user-select:none;user-select:none}.att-flag-row--disabled{cursor:not-allowed;opacity:.6}.att-flag-checkbox{width:15px;height:15px;cursor:inherit;accent-color:var(--brand-blue)}.att-flag-label-text{font-weight:500}.att-flag-label--late{color:var(--color-danger)}.att-flag-badge{font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:10px}.att-flag-badge--late{background:rgba(155,74,74,.08);color:var(--color-danger);border:1px solid rgba(155,74,74,.22)}.att-flag-hint{font-size:11px;color:var(--color-text-muted);font-style:italic}.att-deductions{margin-bottom:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.att-deductions-hd{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#f8f9fb;border-bottom:1px solid var(--color-border)}.att-deductions-title{font-size:12px;font-weight:700;color:var(--color-text);flex:1 1}.att-deductions-total{font-size:11.5px;font-weight:600;color:var(--color-danger)}.att-deduction-add-btn{background:none;border:1px solid var(--brand-blue);border-radius:4px;color:var(--brand-blue);font-size:11.5px;font-weight:600;padding:2px 8px;cursor:pointer;transition:background .12s,color .12s}.att-deduction-add-btn:hover:not(:disabled){background:var(--brand-blue);color:#fff}.att-deduction-add-btn:disabled{opacity:.4;cursor:not-allowed}.att-deductions-msg{display:block;font-size:12px;color:var(--color-text-muted);padding:7px 10px}.att-deduction-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--color-border-light);font-size:13px}.att-deduction-row:last-child{border-bottom:none}.att-deduction-row--editing,.att-deduction-row--new{background:#f8f6f2;padding:6px 8px}.att-deduction-name-text{flex:1 1;color:var(--color-text)}.att-deduction-amount-text{font-weight:600;color:var(--color-danger);white-space:nowrap;min-width:70px;text-align:right}.att-deduction-actions{display:flex;gap:4px}.att-deduction-name-input{flex:1 1;min-width:0}.att-deduction-amount-input,.att-deduction-name-input{border:1px solid var(--color-border);border-radius:4px;padding:4px 7px;font-size:13px}.att-deduction-amount-input{width:80px;text-align:right}.att-deduction-amount-input:focus,.att-deduction-name-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 2px rgba(47,67,110,.08)}.att-deduction-cancel-btn,.att-deduction-confirm-btn,.att-deduction-delete-btn,.att-deduction-edit-btn{border:none;border-radius:4px;padding:3px 8px;font-size:12px;cursor:pointer;transition:background .12s,opacity .12s}.att-deduction-edit-btn{background:#eef1f5;color:var(--brand-blue)}.att-deduction-edit-btn:hover{background:#d4dde3}.att-deduction-delete-btn{background:rgba(155,74,74,.1);color:#9b4a4a}.att-deduction-delete-btn:hover{background:rgba(155,74,74,.2)}.att-deduction-confirm-btn{background:var(--brand-blue);color:#fff;font-weight:600}.att-deduction-confirm-btn:hover:not(:disabled){background:var(--brand-blue-dark)}.att-deduction-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.att-deduction-cancel-btn{background:#f3f4f6;color:var(--color-text-light)}.att-deduction-cancel-btn:hover{background:#e5e7eb}.clear-monthly-btn{display:block;width:100%;margin-top:8px;padding:7px 16px;background:#fff;border:1px solid #d1d5db;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500;color:var(--color-text-light);cursor:pointer;text-align:center;transition:background .12s,border-color .12s,color .12s}.clear-monthly-btn:hover:not(:disabled){background:rgba(155,74,74,.06);border-color:#c4847a;color:#9b4a4a}.clear-monthly-btn:disabled{opacity:.5;cursor:not-allowed}.calc-detail-row--warn{color:#8a6a30;font-weight:500}.calc-detail-row--sub-header{color:var(--color-text-light);font-weight:600;font-size:11px;letter-spacing:.02em;text-transform:uppercase;padding-top:4px;opacity:.7}.calc-detail-row--sub{padding-left:8px;font-size:12px}.calc-detail-store-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px;vertical-align:middle;flex-shrink:0}.att-cross-store-label{font-size:11px;font-weight:600;color:var(--color-text-light);letter-spacing:.04em;text-transform:uppercase;opacity:.7;padding:6px 0 2px;grid-column:1/-1}.att-cross-store-divider{grid-column:1/-1;height:0;border-top:1px dashed var(--color-border);margin:4px 0 6px}.calc-section{padding:12px 0 0;border-top:1px solid var(--color-border);margin-top:12px}.calc-detail{margin-top:6px;border-top:1px dashed var(--color-border);padding-top:6px}.calc-detail-row{display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-light);padding:2px 0}.calc-error{color:var(--color-danger);font-size:12px;margin-bottom:6px}.calc-preview-btn{background:var(--brand-blue);color:#fff;border:none;border-radius:var(--radius-sm);padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s;margin-top:8px}.calc-preview-btn:hover:not(:disabled){background:var(--brand-blue-dark);box-shadow:var(--shadow-sm)}.calc-preview-btn:disabled{background:#d1d5db;cursor:not-allowed}.store-toolbar-actions{display:flex;gap:0;align-items:flex-end}.toolbar-group{display:flex;flex-direction:column;gap:5px;padding:0 10px}.toolbar-group:first-child{padding-left:0}.toolbar-group-label{font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#b8b0a8;padding-left:2px;line-height:1}.toolbar-group-row{display:flex;align-items:center;gap:6px}.toolbar-group-divider{width:1px;height:28px;background:var(--color-border);flex-shrink:0;align-self:flex-end;margin-bottom:1px}.calc-all-btn{background:var(--brand-slate);color:#fff;border:none;border-radius:var(--radius-sm);padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s}.calc-all-btn:hover:not(:disabled){background:var(--brand-slate-dark);box-shadow:var(--shadow-sm)}.calc-all-btn:disabled{background:#d1d5db;cursor:not-allowed}.export-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 12px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.export-btn--xlsx{background:#fff;color:var(--color-text-light);border-color:var(--color-border)}.export-btn--xlsx:hover:not(:disabled){background:var(--color-bg);color:var(--color-text);border-color:#c0c4ca}.export-btn--json{background:#fff;color:var(--color-text-light);border-color:var(--color-border)}.export-btn--json:hover:not(:disabled){background:var(--color-bg);color:var(--color-text);border-color:#c0c4ca}.export-btn:disabled{background:var(--color-bg);color:var(--color-text-muted);border-color:var(--color-border);cursor:not-allowed}.summary-section{margin-top:24px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xs)}.summary-section-title{padding:12px 16px;font-size:14px;font-weight:700;color:var(--brand-blue)}.summary-table{width:100%;border-collapse:collapse;font-size:13px}.summary-table th{padding:10px 14px;background:var(--color-bg);color:var(--color-text-light);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);text-align:left}.summary-table td{padding:10px 14px;border-bottom:1px solid var(--color-border-light);color:var(--color-text)}.summary-table tbody tr:hover{background:#fafafa}.summary-table tfoot td{padding:12px 14px;background:var(--color-bg);font-weight:700;border-top:2px solid var(--color-border);color:var(--color-text)}.summary-table .text-right{text-align:right}.summary-table .text-center{text-align:center}.summary-table .text-deduct{color:var(--color-danger)}.summary-table .text-net{color:var(--brand-blue)}.confirm-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11.5px;font-weight:600;white-space:nowrap}.confirm-badge--none{background:#f3f4f6;color:#9ca3af}.confirm-badge--pending{background:#eef1f5;color:#4c5e7a}.confirm-badge--confirmed{background:#ecefeb;color:#3a5c44}.confirm-badge--questioned{background:#f9eded;color:#9b4a4a}.summary-section-header{border-bottom:1px solid var(--color-border-light)}.email-panel{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xs);margin-bottom:24px}.email-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--color-border-light);background:var(--color-bg)}.email-panel-title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--brand-blue)}.email-panel-tabs{display:flex;gap:4px}.email-tab{padding:5px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;color:var(--color-text-light);background:none;border:1px solid transparent;transition:all .12s;display:flex;align-items:center;gap:5px}.email-tab:hover{background:var(--color-border-light);color:var(--color-text)}.email-tab--active{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.email-missing-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;background:#9b4a4a;color:#fff;border-radius:9px;font-size:10px;font-weight:700;padding:0 4px}.email-send-tab{padding:20px}.email-send-meta{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;background:var(--color-bg);border-radius:var(--radius-md)}.email-send-meta-item{display:flex;align-items:baseline;gap:4px}.email-meta-num{font-size:20px;font-weight:800;color:var(--brand-blue)}.email-meta-num.email-meta-warn{color:var(--color-warning)}.email-meta-label{font-size:12px;color:var(--color-text-muted)}.email-send-meta-sep{color:var(--color-border);font-size:16px}.email-send-actions{display:flex;align-items:center;gap:14px;margin-bottom:16px}.email-send-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;background:var(--brand-blue);color:#fff;border-radius:var(--radius-md);font-size:14px;font-weight:700;transition:all .15s;box-shadow:var(--shadow-sm)}.email-send-btn:hover:not(:disabled){background:var(--brand-blue-dark);box-shadow:var(--shadow-md)}.email-send-btn:disabled{opacity:.5;cursor:not-allowed}.email-send-hint{font-size:12px;color:var(--color-warning);font-weight:500}.email-error-msg{padding:10px 14px;background:rgba(155,74,74,.08);border:1px solid rgba(155,74,74,.2);border-radius:var(--radius-sm);color:var(--color-danger);font-size:13px;margin-bottom:14px}.email-results{margin-top:12px}.email-results-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 0 14px;font-size:13px;color:var(--color-text);border-bottom:1px solid var(--color-border-light);margin-bottom:8px}.email-results-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.email-results-divider{display:inline-block;width:1px;height:13px;background:var(--color-border);margin:0 2px;vertical-align:middle}.email-results-stat{color:var(--color-text);font-size:13px}.email-results-stat strong{color:var(--brand-blue);font-weight:600}.email-results-stat--muted{color:var(--color-text-light)}.email-results-stat--muted strong{color:var(--color-text-light);font-weight:600}.email-results-reason{font-size:11px;color:var(--color-text-muted);margin-left:2px}.email-results-stat--danger{color:var(--color-danger)}.email-results-stat--danger strong{color:var(--color-danger);font-weight:600}.email-results-cc{margin-left:auto;font-size:11px;color:var(--color-text-muted);font-style:italic}.email-results-table{width:100%;border-collapse:collapse;font-size:13px}.email-results-table th{padding:8px 14px;text-align:left;font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.email-results-table td{padding:10px 14px;border-bottom:1px solid var(--color-border-light);color:var(--color-text);vertical-align:middle}.email-cell{color:var(--color-text-light);font-size:12px}.text-muted{color:var(--color-text-muted)}.status-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;letter-spacing:.01em}.status-sent{background:rgba(47,67,110,.08);color:var(--brand-blue)}.status-skipped{background:#f3f4f6;color:var(--color-text-light)}.status-error{background:rgba(155,74,74,.08);color:var(--color-danger)}.email-retry-btn{padding:4px 11px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;border:1px solid var(--color-border);background:transparent;color:var(--color-text-light);cursor:pointer;transition:border-color .12s,color .12s,background .12s}.email-retry-btn:hover{border-color:var(--brand-blue);color:var(--brand-blue);background:rgba(47,67,110,.04)}.er-summary{padding:12px 0 16px;border-bottom:1px solid var(--color-border-light)}.er-summary-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:6px}.er-summary-stats{font-size:13px;color:var(--color-text);line-height:1.8}.er-summary-stats strong{font-weight:600}.er-dot{color:var(--color-border);margin:0 10px}.er-muted{color:var(--color-text-light)}.er-reason{font-size:11px;color:var(--color-text-muted);margin-left:4px}.er-danger{color:var(--color-danger)}.er-store-section{padding-bottom:20px;border-bottom:1px solid var(--color-border-light)}.er-store-row{display:flex;align-items:baseline;gap:8px;padding:12px 0 10px}.er-store-name{font-size:13px;font-weight:700;color:var(--color-text)}.er-store-count{font-size:12px;color:var(--color-text-muted)}.er-store-stats{margin-left:auto;font-size:12px;color:var(--color-text-light);white-space:nowrap}.er-store-sent{font-weight:600;color:var(--brand-blue)}.er-store-zero{color:var(--color-text-muted)}.er-table{width:100%;border-collapse:collapse;font-size:13px}.er-table th{padding:6px 0;text-align:left;font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.er-table td{padding:9px 0;border-bottom:1px solid var(--color-border-light);color:var(--color-text);vertical-align:middle}.er-email-cell{color:var(--color-text-light);font-size:12px}.er-empty{color:var(--color-text-muted)}.er-status{font-size:13px}.er-status--sent{color:#4c5e7a;font-weight:500}.er-status--error,.er-status--skipped{color:var(--color-danger)}.email-manage-tab{padding:20px;display:flex;flex-direction:column;gap:20px}.email-csv-section{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:18px 20px;background:#fff}.email-csv-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.email-csv-title{font-size:14px;font-weight:700;color:var(--color-text);margin-bottom:4px}.email-csv-desc{font-size:12px;color:var(--color-text-muted);line-height:1.6}.email-csv-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.email-csv-download-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;border:1px solid var(--color-border);background:#fff;color:var(--brand-blue);cursor:pointer;transition:all .12s;white-space:nowrap}.email-csv-download-btn:hover{background:#eef1f5;border-color:var(--brand-blue)}.email-csv-upload-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;border:none;background:var(--brand-blue);color:#fff;cursor:pointer;transition:all .12s;white-space:nowrap}.email-csv-upload-btn:hover{background:var(--brand-blue-dark)}.email-csv-preview{margin-top:16px;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.email-csv-preview-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--color-bg);border-bottom:1px solid var(--color-border);font-size:12px;color:var(--color-text-muted);gap:12px;flex-wrap:wrap}.email-csv-cancel-btn{padding:5px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;border:1px solid var(--color-border);background:#fff;color:var(--color-text-light);cursor:pointer;transition:all .12s}.email-csv-cancel-btn:hover{border-color:#d1d5db;background:#f9fafb}.email-csv-confirm-btn{padding:5px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;border:none;background:var(--brand-blue);color:#fff;cursor:pointer;transition:all .12s}.email-csv-confirm-btn:hover:not(:disabled){background:var(--brand-blue-dark)}.email-csv-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.email-csv-preview-table{width:100%;border-collapse:collapse;font-size:13px}.email-csv-preview-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.email-csv-preview-table td{padding:8px 12px;border-bottom:1px solid var(--color-border-light);color:var(--color-text)}.csv-row-unmatched td{background:rgba(155,74,74,.05);color:#9b4a4a}.email-csv-result{margin-top:12px;padding:10px 14px;background:hsla(116,7%,46%,.1);border:1px solid hsla(116,7%,46%,.25);border-radius:var(--radius-sm);font-size:13px;color:#4e6f5a}.email-manual-section{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:18px 20px;background:#fff}.email-manual-title{font-size:14px;font-weight:700;color:var(--color-text);margin-bottom:14px}.email-empty-state{padding:24px;text-align:center;font-size:13px;color:var(--color-text-muted);line-height:1.7;background:var(--color-bg);border-radius:var(--radius-md)}.email-store-group{margin-bottom:16px}.email-store-group:last-child{margin-bottom:0}.email-store-group-header{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--color-bg);border-radius:var(--radius-sm);margin-bottom:4px}.email-store-group-name{font-size:13px;font-weight:700;color:var(--color-text);flex:1 1}.email-store-group-count{font-size:12px;color:var(--color-text-muted)}.email-manage-table{width:100%;border-collapse:collapse;font-size:13px}.email-manage-table th{padding:8px 12px;text-align:left;font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.email-manage-table td{padding:8px 12px;border-bottom:1px solid var(--color-border-light);vertical-align:middle}.email-store-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.email-input{width:100%;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text);transition:all .15s;background:#fff;min-width:200px}.email-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(47,67,110,.08)}.email-input--empty{border-color:hsla(45,46%,60%,.4);background:hsla(45,46%,60%,.06)}.email-save-btn{padding:5px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;border:1px solid var(--color-border);background:#fff;color:var(--brand-blue);transition:all .12s;white-space:nowrap}.email-save-btn:hover:not(:disabled){background:#eef1f5;border-color:var(--brand-blue)}.email-save-btn:disabled{opacity:.5;cursor:not-allowed}.email-saved-badge{font-size:12px;font-weight:600;color:#4e6f5a}.emp-type-tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:4px;font-size:10.5px;font-weight:500;background:rgba(47,67,110,.07);color:var(--brand-blue)}.login-page{min-height:100vh;background:radial-gradient(ellipse 80% 50% at 50% -5%,rgba(47,67,110,.06) 0,transparent 60%),radial-gradient(ellipse 40% 30% at 100% 100%,rgba(76,94,122,.025) 0,transparent 50%),#eef1f5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;font-family:var(--font-family)}.login-brand-block{text-align:center;margin-bottom:14px}.login-brand-name{font-size:30px;font-weight:700;color:var(--brand-blue);letter-spacing:0;line-height:1.15;margin-bottom:8px}.login-brand-system{font-size:11px;color:var(--brand-slate);font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px}.login-brand-platform{font-size:10px;color:var(--color-text-muted);letter-spacing:.05em;font-weight:400}.login-card{background:#fff;border:1px solid rgba(0,0,0,.11);border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 3px 8px rgba(47,67,110,.05);padding:44px 48px;width:100%;max-width:448px}.login-heading{font-size:22px;font-weight:800;color:var(--color-text);margin-bottom:11px;letter-spacing:-.03em}.login-heading-sub{font-size:13px;color:var(--color-text-muted);margin-bottom:28px;line-height:1.5;font-weight:400}.login-heading-divider{display:none}.login-error{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);padding:10px 13px;margin-bottom:20px;font-size:13px;color:#991b1b;line-height:1.6}.login-form{gap:18px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px}.login-label{font-size:11.5px;font-weight:600;color:var(--color-text-light);letter-spacing:.01em}.login-input{border:1px solid #e0e4eb;border-radius:var(--radius-md);padding:11px 16px;font-size:14px;font-family:inherit;width:100%;background:#f9fafb;color:var(--color-text);transition:border-color .15s,box-shadow .15s,background .15s;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.login-input:focus{outline:none;background:#fff;border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(47,67,110,.1)}.login-input::placeholder{color:#c0c7d4;font-weight:400}.login-input:disabled{background:var(--color-bg);color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.login-btn{width:100%;margin-top:6px;padding:12px 0;background:var(--brand-blue-dark);color:#fff;font-size:14px;font-weight:700;font-family:inherit;border:none;border-radius:var(--radius-md);cursor:pointer;letter-spacing:.04em;transition:background .15s,box-shadow .15s,transform .1s;box-shadow:0 2px 8px rgba(34,52,79,.2)}.login-btn:hover:not(:disabled){background:var(--brand-blue);box-shadow:0 4px 16px rgba(34,52,79,.25)}.login-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 4px rgba(34,52,79,.15)}.login-btn--loading,.login-btn:disabled{background:var(--color-text-muted);cursor:not-allowed;box-shadow:none}.login-footer-note{margin-top:20px;font-size:11px;color:var(--color-text-muted);text-align:center;letter-spacing:.02em}.admin-layout{flex-direction:column;background:var(--color-bg)}.admin-body,.admin-layout{min-height:100vh;display:flex}.admin-body{flex:1 1;overflow:hidden}.admin-sidebar{width:216px;background:#fff;border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden;flex-shrink:0;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.06) transparent}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:18px 16px 16px;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.sidebar-logo-img{height:34px;width:auto;object-fit:contain;border-radius:6px;flex-shrink:0}.sidebar-logo-text{display:flex;flex-direction:column;gap:1px;min-width:0}.sidebar-logo-title{font-size:13px;font-weight:800;color:var(--brand-blue);letter-spacing:-.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logo-sub{font-size:10px;color:var(--color-text-muted);font-weight:500;letter-spacing:.02em}.sidebar-section{padding:16px 0 4px}.sidebar-section+.sidebar-section{border-top:1px solid var(--color-border-light)}.sidebar-section-label{padding:0 16px 6px;font-size:10px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.12em;font-weight:700}.sidebar-item-icon{flex-shrink:0;display:flex;align-items:center;color:inherit;opacity:.8}.sidebar-nav-item{display:flex;align-items:center;gap:9px;padding:9px 16px;font-size:13px;font-weight:500;color:var(--color-text-light);cursor:pointer;transition:all .12s;background:none;width:100%;text-align:left;border:none;border-left:3px solid transparent}.sidebar-nav-item:hover{background:#f4f5f9;color:var(--color-text)}.sidebar-nav-item--active{background:#eef1f5;color:var(--brand-blue);font-weight:700;border-left-color:var(--brand-blue)}.sidebar-nav-item--active .sidebar-item-icon{opacity:1}.sidebar-store-item{display:flex;align-items:center;gap:9px;padding:8px 16px;font-size:13px;font-weight:500;color:var(--color-text-light);cursor:pointer;transition:all .12s;background:none;width:100%;text-align:left;border:none;border-left:3px solid transparent}.sidebar-store-item:hover{background:#f4f5f9;color:var(--color-text)}.sidebar-store-item--active{background:#eef1f5;color:var(--brand-blue);font-weight:700;border-left-color:var(--brand-blue)}.sidebar-store-dot{display:none}.sidebar-logout-btn{display:flex;align-items:center;gap:8px;width:calc(100% - 24px);margin:auto 12px 8px;padding:8px 10px;background:transparent;border:none;border-radius:6px;font-size:13px;color:#6b7d96;cursor:pointer;text-align:left;transition:background .12s,color .12s}.sidebar-logout-btn:hover{background:hsla(0,0%,100%,.06);color:#c9d3df}.sidebar-logout-btn .sidebar-item-icon{opacity:.7}.sidebar-footer{padding:10px 16px 14px;font-size:11px;color:var(--color-text-muted);border-top:1px solid var(--color-border-light)}.admin-main{flex:1 1;display:flex;flex-direction:column;overflow-y:auto;min-width:0;background:var(--color-bg)}.admin-topbar{background:#fff;border-bottom:1px solid var(--color-border);padding:0 24px;height:54px;display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-xs);flex-shrink:0}.admin-topbar-left{display:flex;align-items:center;gap:10px}.admin-topbar-right{display:flex;align-items:center;gap:12px}.header-milestone-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:.03em}.header-milestone-badge--m1{background:rgba(90,122,154,.12);color:#5a7a9a}.header-milestone-badge--m2{background:rgba(122,106,138,.12);color:#7a6a8a}.header-milestone-badge--m3{background:rgba(76,94,122,.12);color:#4c5e7a}.header-milestone-badge--m4{background:rgba(78,111,90,.12);color:#4e6f5a}.admin-month-label{display:flex;align-items:center;gap:6px;cursor:pointer}.admin-month-label-text{font-size:12px;color:var(--color-text-light)}.admin-month-input{padding:5px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text);background:#fff;cursor:pointer;transition:all .15s}.admin-month-input:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(47,67,110,.08)}.admin-store-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.admin-store-name{font-size:15px;font-weight:700;color:var(--color-text)}.admin-store-month{font-size:12px;color:var(--color-text-muted);padding:2px 8px;background:rgba(47,67,110,.06);border-radius:var(--radius-sm);font-weight:500}.admin-content{flex:1 1;padding:20px 24px 40px;max-width:1080px;width:100%}.stats-cards{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:20px}@media (max-width:900px){.stats-cards{grid-template-columns:repeat(2,1fr)}}.stat-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px 18px 14px;box-shadow:var(--shadow-xs);transition:box-shadow .15s,transform .15s;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-border)}.stat-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.stat-label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-bottom:8px}.stat-value{font-size:28px;font-weight:800;color:var(--color-text);line-height:1;margin-bottom:4px}.stat-value--lg{font-size:20px}.stat-sub{font-size:11px;color:var(--color-text-muted)}.stat-card--blue:before{background:var(--brand-blue)}.stat-card--blue .stat-value{color:var(--brand-blue)}.stat-card--green:before{background:#4c5e7a;height:4px}.stat-card--green{background:#fff}.stat-card--green .stat-value{color:#1a1f36;font-size:22px}.stat-card--green .stat-label{color:#9ca3af;font-weight:700}.stat-card--purple:before{background:#4c5e7a}.stat-card--purple .stat-value{color:var(--brand-blue)}.stat-card--orange:before{background:#4c5e7a}.stat-card--orange .stat-value{color:#1a1f36}.toolbar-btn{border:none;border-radius:var(--radius-sm);padding:7px 14px;font-size:13px;cursor:pointer;font-weight:500;transition:all .15s}.toolbar-btn--import{background:#fff;color:var(--color-text-light);border:1px solid var(--color-border)}.toolbar-btn--import:hover:not(:disabled){background:var(--color-bg);color:var(--color-text);border-color:#c9cdd4}.toolbar-btn--import:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.toolbar-btn--lock{background:#fff;color:var(--color-text-light);border:1px solid var(--color-border)}.toolbar-btn--lock:hover:not(:disabled){background:var(--color-bg);border-color:#c9cdd4;color:var(--color-text)}.toolbar-btn--lock--active{background:#fff;color:var(--brand-blue);border:1px solid var(--brand-blue);font-weight:600}.toolbar-btn--lock--active:hover:not(:disabled){background:#f0f3f8}.empty-state{text-align:center;padding:52px 24px;background:#fff;border:2px dashed var(--color-border);border-radius:var(--radius-xl);margin-top:8px}.empty-state-icon{font-size:40px;margin-bottom:12px}.empty-state-title{font-size:16px;font-weight:700;color:var(--color-text);margin-bottom:6px}.empty-state-desc{font-size:13px;color:var(--color-text-muted);margin-bottom:20px;max-width:380px;margin-left:auto;margin-right:auto;line-height:1.6}.empty-state-cta{display:inline-block;padding:9px 22px;border-radius:var(--radius-md);color:#fff;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:opacity .15s,box-shadow .15s;box-shadow:var(--shadow-sm)}.empty-state-cta:hover{opacity:.88;box-shadow:var(--shadow-md)}.empty-state-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.empty-state-cta-secondary{display:inline-block;padding:9px 22px;border-radius:var(--radius-md);color:var(--brand-blue);font-size:14px;font-weight:600;cursor:pointer;border:1.5px solid rgba(47,67,110,.25);background:#fff;transition:all .15s}.empty-state-cta-secondary:hover:not(:disabled){background:rgba(47,67,110,.04);border-color:var(--brand-blue)}.empty-state-cta-secondary:disabled{opacity:.45;cursor:not-allowed}.loading-state{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px;color:var(--color-text-muted);font-size:14px}.loading-spinner{width:18px;height:18px;border:2px solid var(--color-border);border-top-color:var(--brand-blue);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.summary-section-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.summary-section-count{font-size:12px;color:var(--color-text-muted);font-weight:500}.import-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.import-modal{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:720px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.import-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--color-border);background:#fff;flex-shrink:0}.import-modal-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--brand-blue)}.import-modal-close{font-size:16px;color:var(--color-text-muted);padding:4px 8px;border-radius:var(--radius-sm);transition:all .12s}.import-modal-close:hover{background:var(--color-bg);color:var(--color-text)}.import-modal-body{flex:1 1;overflow-y:auto;padding:20px 22px}.import-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--color-border);background:var(--color-bg);flex-shrink:0}.import-format-tip{background:rgba(47,67,110,.04);border:1px solid rgba(47,67,110,.12);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:14px;font-size:12px;color:var(--color-text)}.import-format-example{display:block;background:rgba(47,67,110,.06);border-radius:var(--radius-sm);padding:4px 8px;margin:6px 0 4px;font-family:SF Mono,Fira Code,monospace;font-size:11px;color:var(--brand-blue)}.import-format-values{display:flex;gap:16px;flex-wrap:wrap;margin-top:4px}.import-format-values code{background:rgba(47,67,110,.08);border-radius:3px;padding:1px 5px;font-size:11px;color:var(--brand-blue)}.import-input-row{display:flex;gap:12px;margin-bottom:14px}.import-textarea{flex:1 1;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;font-size:12px;font-family:SF Mono,Fira Code,monospace;resize:vertical;background:var(--color-bg);color:var(--color-text);min-height:140px;transition:border-color .15s}.import-textarea:focus{outline:none;border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(47,67,110,.08);background:#fff}.import-file-area{display:flex;flex-direction:column;gap:8px;flex-shrink:0;width:130px}.import-file-btn{padding:9px 12px;border:1.5px dashed var(--color-border);border-radius:var(--radius-md);font-size:12px;color:var(--color-text-light);background:var(--color-bg);cursor:pointer;transition:all .12s;text-align:center}.import-file-btn:hover{background:rgba(47,67,110,.04);border-color:var(--brand-blue);color:var(--brand-blue)}.import-file-input{display:none}.import-parse-btn{padding:9px 12px;border-radius:var(--radius-md);background:var(--brand-blue);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .12s;text-align:center}.import-parse-btn:hover:not(:disabled){background:var(--brand-blue-dark);box-shadow:var(--shadow-sm)}.import-parse-btn:disabled{background:#d1d5db;cursor:not-allowed}.import-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin-top:4px}.import-preview-header{padding:8px 12px;background:var(--color-bg);border-bottom:1px solid var(--color-border);font-size:12px;font-weight:600;color:var(--color-text-light)}.import-preview-table-wrap{max-height:240px;overflow-y:auto}.import-preview-table{width:100%;border-collapse:collapse;font-size:12px}.import-preview-table th{padding:7px 12px;background:var(--color-bg);color:var(--color-text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0}.import-preview-table td{padding:7px 12px;border-bottom:1px solid var(--color-border-light)}.import-preview-table tbody tr:hover{background:#fafafa}.import-emp-name{font-weight:600;color:var(--color-text)}.import-type-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;color:#fff}.import-type-badge[data-type=fulltime]{background:#2f436e}.import-type-badge[data-type=hybrid]{background:#7b341e}.import-type-badge[data-type=parttime]{background:#6f7f6e}.import-type-badge[data-type=daily]{background:#7a6a8a}.import-store-cell{display:flex;align-items:center;gap:6px}.import-store-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.import-errors{background:rgba(155,74,74,.06);border:1px solid rgba(155,74,74,.22);border-radius:var(--radius-md);padding:10px 14px;margin-bottom:12px;font-size:12px;color:var(--color-danger)}.import-errors ul{margin:6px 0 0 16px;list-style:disc}.import-empty-parse{text-align:center;color:var(--color-text-muted);font-size:13px;padding:16px 0}.import-result{text-align:center;padding:20px 0}.import-result-icon{font-size:40px;margin-bottom:12px}.import-result-stats{display:flex;justify-content:center;gap:32px;margin-bottom:16px}.import-result-stat{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:var(--color-text-muted)}.import-result-num{font-size:32px;font-weight:800;line-height:1}.import-result-stat--created .import-result-num{color:var(--color-success)}.import-result-stat--skipped .import-result-num{color:var(--color-text-muted)}.import-done-btn{padding:10px 28px;background:var(--brand-blue);color:#fff;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all .12s;box-shadow:var(--shadow-sm)}.import-done-btn:hover{background:var(--brand-blue-dark);box-shadow:var(--shadow-md)}.import-cancel-btn{padding:9px 20px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;color:var(--color-text-light);background:#fff;cursor:pointer;transition:all .12s}.import-cancel-btn:hover{background:var(--color-bg)}.import-confirm-btn{padding:9px 22px;background:var(--brand-blue);color:#fff;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all .12s;box-shadow:var(--shadow-xs)}.import-confirm-btn:hover:not(:disabled){background:var(--brand-blue-dark);box-shadow:var(--shadow-sm)}.import-confirm-btn:disabled{background:#d1d5db;cursor:not-allowed}.add-emp-modal{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);overflow:hidden}.add-emp-modal-body{padding:18px 22px;display:flex;flex-direction:column;gap:14px}.add-emp-modal-field{display:flex;flex-direction:column;gap:5px}.add-emp-modal-label{font-size:12px;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:6px}.add-emp-modal-optional{font-size:10.5px;font-weight:400;color:var(--color-text-muted);background:var(--color-bg);border-radius:4px;padding:1px 5px}.add-emp-modal-input,.add-emp-modal-select{padding:8px 11px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:#fff;color:var(--color-text);font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.add-emp-modal-input:focus,.add-emp-modal-select:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(47,67,110,.08)}.add-emp-modal-select:disabled{opacity:.6;cursor:not-allowed}.add-emp-modal-hint{font-size:11px;color:var(--color-text-muted);margin-top:1px}.add-emp-modal-store-tag{font-size:11.5px;font-weight:400;color:#8a94a6;margin-left:2px}.history-header{margin-bottom:24px}.history-title{font-size:20px;font-weight:800;color:var(--brand-blue)}.history-subtitle{font-size:13px;color:var(--color-text-muted);margin-top:4px}.history-list{display:flex;flex-direction:column;gap:10px}.history-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .15s,border-color .15s}.history-card:hover{box-shadow:var(--shadow-sm);border-color:#d1d5db}.history-card--open{border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(47,67,110,.08)}.history-card-row{display:flex;align-items:center;gap:12px;padding:14px 18px;flex-wrap:wrap}.history-card-month{font-size:15px;font-weight:700;color:var(--color-text);min-width:80px}.history-card-badges{display:flex;align-items:center;gap:8px;flex:1 1;flex-wrap:wrap}.milestone-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;color:#fff;background:var(--brand-blue)}.history-lock-badge{color:#a8924a;background:#f5eed8}.history-done-badge,.history-lock-badge{font-size:12px;padding:3px 8px;border-radius:10px;font-weight:600}.history-done-badge{color:#4e6f5a;background:#d4e8d8}.history-view-btn{padding:6px 16px;background:rgba(47,67,110,.06);border:1px solid rgba(47,67,110,.12);border-radius:var(--radius-sm);font-size:12px;font-weight:600;color:var(--brand-blue);cursor:pointer;white-space:nowrap;transition:all .12s;margin-left:auto}.history-view-btn:hover{background:rgba(47,67,110,.1);border-color:var(--brand-blue)}.history-detail{border-top:1px solid var(--color-border);padding:16px 18px;background:var(--color-bg)}.history-store-summaries{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.history-store-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid var(--color-border);border-radius:20px;font-size:12px;box-shadow:var(--shadow-xs)}.history-store-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.history-store-name{color:var(--color-text);font-weight:500}.history-store-count{color:var(--color-text-muted)}.history-store-net{font-weight:700;color:var(--brand-blue)}.history-detail-header{font-size:11px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.export-page{padding:var(--spacing-lg);padding-bottom:0;display:flex;flex-direction:column;min-height:100%}.export-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.export-page-header-text{min-width:0}.export-page-title{font-size:20px;font-weight:700;color:var(--color-text);letter-spacing:-.02em;margin:0 0 4px}.export-page-subtitle{font-size:13px;color:var(--color-text-light);margin:0}.export-global-actions{display:flex;gap:6px;flex-shrink:0;padding-top:4px}.export-global-btn{height:30px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-card);font-size:12px;font-weight:500;color:var(--color-text-light);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.export-global-btn:hover:not(:disabled){border-color:var(--brand-blue);color:var(--brand-blue)}.export-global-btn--active{border-color:var(--brand-blue);background:var(--brand-blue);color:#fff}.export-global-btn--active:hover:not(:disabled){color:#fff}.export-global-btn:disabled{opacity:.38;cursor:not-allowed}.export-error{margin-bottom:var(--spacing-md);padding:10px 14px;background:rgba(155,74,74,.06);border:1px solid rgba(155,74,74,.22);border-radius:var(--radius-md);color:var(--color-danger);font-size:13px}.export-empty,.export-loading{padding:48px 24px;text-align:center;color:var(--color-text-muted);font-size:14px}.export-store-list{display:flex;flex-direction:column;gap:var(--spacing-lg);flex:1 1}.export-store-group{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.export-store-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:10px 16px;background:#f9fafb;border-bottom:1px solid var(--color-border-light)}.export-store-header-left{display:flex;align-items:center;gap:8px}.export-store-dot,.export-store-dot-sm{display:none}.export-store-name{font-size:13px;font-weight:700;color:var(--color-text)}.export-store-count{font-size:12px;color:var(--color-text-light)}.export-store-partial{font-size:11px;font-weight:500;color:var(--brand-blue);background:#eef1f5;padding:2px 8px;border-radius:10px}.export-store-actions{display:flex;gap:6px}.export-store-btn{height:24px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#fff;font-size:11.5px;font-weight:500;color:var(--color-text-light);cursor:pointer;transition:border-color .12s,color .12s,background .12s}.export-store-btn:hover:not(:disabled){border-color:var(--brand-blue);color:var(--brand-blue)}.export-store-btn--active{border-color:var(--brand-blue);background:var(--brand-blue);color:#fff}.export-store-btn--active:hover:not(:disabled){color:#fff}.export-store-btn:disabled{opacity:.32;cursor:not-allowed}.export-list-cols,.export-list-row{display:grid;grid-template-columns:36px 72px minmax(0,1fr) 110px minmax(0,1.5fr) 128px;align-items:center;padding:0 16px}.export-list-cols{padding-top:5px;padding-bottom:5px;background:#fafbfd;border-bottom:1px solid var(--color-border-light)}.export-list-cols>span{font-size:10.5px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.export-list-row{padding-top:10px;padding-bottom:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;border-bottom:1px solid var(--color-border-light);background:#fff;transition:background .1s}.export-list-row:last-child{border-bottom:none}.export-list-row:hover{background:#f9fafb}.export-list-row--alt{background:#fafbfd}.export-list-row--alt:hover{background:#f4f5f9}.export-list-row--selected{background:#eef1f5!important}.export-list-row--selected:hover{background:#d4dde3!important}.export-list-row:focus-visible{outline:2px solid var(--brand-blue);outline-offset:-2px}.export-emp-name{font-size:14px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}.export-emp-store{font-size:13px;color:var(--color-text-light)}.export-email-field,.export-emp-store{display:flex;align-items:center;gap:4px}.export-email-field,.export-list-cols>span:nth-child(5){padding-left:16px}.export-email-input{flex:1 1;min-width:0;font-size:13px;color:var(--color-text-light);background:transparent;border:1px solid transparent;border-radius:3px;padding:2px 5px;outline:none;transition:border-color .12s,background .12s,color .12s}.export-email-input::placeholder{color:var(--color-border)}.export-email-input:hover{border-color:var(--color-border);background:#fff}.export-email-input:focus{border-color:var(--brand-blue);background:#fff;color:var(--color-text)}.export-email-input--saving{opacity:.55}.export-email-input--error{border-color:var(--color-danger)!important}.export-email-status{font-size:11px;flex-shrink:0;line-height:1}.export-email-status--ok{color:var(--color-success)}.export-email-status--err{color:var(--color-danger);cursor:help}.export-emp-net{display:flex}.export-checkbox{width:18px;height:18px;border-radius:4px;border:1.5px solid var(--color-border);background:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;flex-shrink:0;transition:background .12s,border-color .12s}.export-checkbox--checked{background:var(--brand-blue);border-color:var(--brand-blue)}.export-toolbar{position:-webkit-sticky;position:sticky;bottom:0;z-index:50;margin:var(--spacing-lg) calc(-1 * var(--spacing-lg)) 0;padding:14px var(--spacing-lg);background:var(--color-bg-card);border-top:1px solid var(--color-border);box-shadow:0 -2px 8px rgba(0,0,0,.05);justify-content:space-between;gap:var(--spacing-md)}.export-toolbar,.export-toolbar-stats{display:flex;align-items:center;flex-wrap:wrap}.export-toolbar-stats{gap:8px}.export-stat{font-size:13px;color:var(--color-text-light)}.export-stat strong{color:var(--color-text)}.export-stat--done strong{color:var(--color-success)}.export-stat--warn,.export-stat--warn strong{color:var(--color-warning)}.export-stat-sep{font-size:13px;color:var(--color-border)}.export-pdf-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 18px;border-radius:var(--radius-md);border:none;background:var(--brand-blue);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.export-pdf-btn:hover:not(:disabled){background:var(--brand-blue-dark)}.export-pdf-btn:disabled{opacity:.4;cursor:not-allowed}.export-pdf-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 5px;border-radius:9px;background:hsla(0,0%,100%,.25);font-size:11px;font-weight:700}.export-toolbar-actions{display:flex;align-items:center;gap:8px}.export-send-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 18px;border-radius:var(--radius-md);border:1.5px solid var(--brand-blue);background:#fff;color:var(--brand-blue);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.export-send-btn:hover:not(:disabled){background:var(--brand-blue);color:#fff}.export-send-btn:disabled{opacity:.4;cursor:not-allowed}.export-sending-note{font-size:12px;color:#4c5e7a;white-space:nowrap;padding:0 4px}.finalize-btn{padding:7px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--brand-slate);background:#fff;color:var(--brand-slate);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,opacity .15s}.finalize-btn:hover:not(:disabled){background:#ebeef4;border-color:var(--brand-slate-dark);color:var(--brand-slate-dark)}.finalize-btn:disabled{opacity:.45;cursor:not-allowed}.history-finalized-badge{gap:4px;background:#d4e8d8;color:#4e6f5a}.history-count-badge,.history-finalized-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600}.history-count-badge{background:#eef1f5;color:#2f436e}.history-net-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;background:#ebf0eb;color:#4e6f5a;font-size:11px;font-weight:700}.hc-list{display:flex;flex-direction:column}.hc-month-section{margin-bottom:10px}.hc-month-header{display:flex;align-items:baseline;gap:0;padding:10px 16px;background:#4c5e7a;border-radius:8px 8px 0 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hc-month-header--collapsed{border-radius:8px}.hc-month-header:hover{background:#3d4f68}.hc-month-name{font-size:13px;font-weight:700;color:#fff;min-width:100px;flex-shrink:0}.hc-month-stats{flex:1 1;display:flex;align-items:baseline;gap:14px;font-size:11.5px;color:hsla(0,0%,100%,.6);font-weight:400}.hc-month-net{font-size:16px;font-weight:700;color:#fff;font-feature-settings:"tnum";letter-spacing:-.01em;margin-left:auto;padding-left:16px}.hc-month-net-sym{font-size:10px;color:hsla(0,0%,100%,.55);font-weight:400;margin-right:1px}.hc-chevron{font-size:9px;color:hsla(0,0%,100%,.45);margin-left:12px;flex-shrink:0}.hc-detail{background:#fff;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 8px 8px;overflow:hidden}.hc-store-bar{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid #f3f4f6}.hc-store-cell{padding:9px 12px;border-right:1px solid #f3f4f6;cursor:pointer;transition:background .1s}.hc-store-cell:last-child{border-right:none}.hc-store-cell:hover{background:#f4f5f9}.hc-store-cell--active{background:#f8f9fb;border-bottom:2px solid #4c5e7a}.hc-store-cell-name{font-size:11px;font-weight:600;color:#374151;margin-bottom:3px;line-height:1.2}.hc-store-cell--active .hc-store-cell-name{color:#2f436e}.hc-store-cell-vals{font-size:10px;color:#9ca3af;display:flex;gap:5px;align-items:baseline}.hc-store-cell-net{font-size:12px;font-weight:700;color:#1a1f36;font-feature-settings:"tnum"}.hc-table{width:100%;border-collapse:collapse;font-size:12px}.hc-table th{padding:5px 12px;background:#fafbfc;font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #f3f4f6;text-align:left}.hc-table th.r{text-align:right}.hc-table td{padding:6px 12px;border-bottom:1px solid #f9fafb;color:#374151}.hc-table tbody tr:last-child td{border-bottom:none}.hc-table td.type{color:#9ca3af;font-size:11px}.hc-table td.r{text-align:right;font-feature-settings:"tnum"}.hc-table td.muted{text-align:right;color:#9ca3af;font-size:11px;font-feature-settings:"tnum"}.hc-table td.hero{text-align:right;font-size:13px;font-weight:700;color:#1a1f36;font-feature-settings:"tnum"}.hc-table tfoot td{border-top:1px solid #e5e7eb;background:#f9fafb;font-weight:600;padding:6px 12px}.hc-table tfoot td.muted{font-weight:400}.hc-table tfoot td.hero{font-size:13.5px;font-weight:700;text-align:right}.sc-hero-wrap{display:flex;gap:12px;margin-bottom:20px}.sc-hero-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 20px;position:relative;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05)}.sc-hero-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:#4c5e7a}.sc-hero-card--wide{flex:2 1}.sc-hero-card--narrow{flex:1 1}.sc-hero-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#9ca3af;margin-bottom:10px}.sc-hero-big{display:flex;align-items:baseline;gap:2px;line-height:1;font-feature-settings:"tnum"}.sc-hero-big-sym{font-size:16px;font-weight:500;color:#9ca3af;margin-right:2px}.sc-hero-big-value{font-size:32px;font-weight:800;color:#1a1f36}.sc-hero-sub{font-size:11px;color:#9ca3af;margin-top:8px;font-feature-settings:"tnum"}.sc-hero-counts{display:flex;flex-direction:column;gap:4px}.sc-hero-count-row{display:flex;align-items:baseline;gap:6px}.sc-hero-count-num{font-size:28px;font-weight:800;color:#1a1f36;line-height:1;font-feature-settings:"tnum"}.sc-hero-count-label{font-size:12px;color:#6b7280}.sc-hero-count-sub{font-size:11px;color:#9ca3af}.sc-store-tabs{display:flex;background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:16px}.sc-store-tab{flex:1 1;padding:10px 12px;border-right:1px solid #e5e7eb;cursor:pointer;position:relative;transition:background .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sc-store-tab:last-child{border-right:none}.sc-store-tab:hover{background:#f4f5f9}.sc-store-tab--active{background:#f8f9fb}.sc-store-tab--active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#4c5e7a}.sc-tab-name{font-size:11px;font-weight:600;color:#6b7280;margin-bottom:3px;line-height:1.2}.sc-store-tab--active .sc-tab-name{color:#1a1f36}.sc-tab-net{font-size:12px;font-weight:700;color:#6b7280;font-feature-settings:"tnum";line-height:1.2}.sc-store-tab--active .sc-tab-net{color:#1a1f36}.sc-tab-count{font-size:10px;color:#9ca3af;margin-top:2px}.sc-store-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:10px}.sc-store-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#4c5e7a}.sc-store-header-left{display:flex;flex-direction:column;gap:2px}.sc-store-header-name{font-size:13px;font-weight:700;color:#fff}.sc-store-header-sub{font-size:10px;color:hsla(0,0%,100%,.65)}.sc-store-header-right{display:flex;align-items:center;gap:20px;flex-shrink:0}.sc-header-stat{text-align:right}.sc-header-stat-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:hsla(0,0%,100%,.55);margin-bottom:2px}.sc-header-stat-value{font-size:12px;font-weight:600;color:hsla(0,0%,100%,.85);font-feature-settings:"tnum"}.sc-header-stat-value--hero{color:#fff;font-weight:800;font-size:13px}.sc-table{width:100%;border-collapse:collapse}.sc-table th{padding:5px 12px;background:#fafbfc;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;border-bottom:1px solid #e5e7eb;text-align:left}.sc-table th.r{text-align:right}.sc-table td{padding:6px 12px;border-bottom:1px solid #f3f4f6;color:#374151;font-size:12px}.sc-table tbody tr:last-child td{border-bottom:none}.sc-table tbody tr:hover td{background:#fafbfc}.sc-table td.col-name{font-size:12px;font-weight:600;color:#1a1f36}.sc-table td.col-type{font-size:10px;color:#9ca3af}.sc-table td.col-gross{color:#9ca3af}.sc-table td.col-deduct,.sc-table td.col-gross{text-align:right;font-size:11px;font-feature-settings:"tnum"}.sc-table td.col-deduct{color:#9b4a4a}.sc-table td.col-net{text-align:right}.sc-table td.col-net,.sc-table tfoot td{font-size:13px;font-weight:700;color:#1a1f36;font-feature-settings:"tnum"}.sc-table tfoot td{padding:7px 12px;border-top:1px solid #e5e7eb;border-bottom:none;background:#f9fafb}.sc-table tfoot td.col-gross{font-size:11px;color:#9ca3af;font-weight:400}.sc-table tfoot td.col-deduct{font-size:11px;color:#9b4a4a;font-weight:400}.sc-table tfoot td.col-net{font-size:13.5px;font-weight:700}.sc-empty{padding:16px 12px;color:#9ca3af;font-size:12px;text-align:center}@media print{.add-emp-form,.admin-sidebar,.admin-topbar,.employee-delete-btn,.milestone-bar,.no-print,.stats-cards,.store-toolbar{display:none!important}.admin-body{display:block}.admin-content{padding:0;max-width:100%}.employee-card{page-break-inside:avoid;break-inside:avoid}}