@import "https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600;700;800;900&family=Sarabun:wght@300;400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;margin:0;font-family:Kanit,Sarabun,sans-serif}.maid-root .topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.maid-root .page-eyebrow{color:#1d8f6f;margin:0 0 6px;font-size:13px;font-weight:700}.maid-root .page-title{color:#101828;margin:0;font-size:30px;line-height:1.18}.maid-root .page-description{color:#697386;max-width:720px;margin:8px 0 0}.maid-root .button,.maid-root .secondary-button{min-height:44px;font:inherit;white-space:nowrap;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.maid-root .button{color:#fff;background:#1d8f6f}.maid-root .button:hover{background:#15785d}.maid-root .button:disabled{cursor:not-allowed;opacity:.7}.maid-root .secondary-button{color:#263449;background:#edf1f6}.maid-root .icon-button{color:#263449;cursor:pointer;background:#edf1f6;border:0;border-radius:8px;place-items:center;width:44px;height:44px;padding:0;display:inline-grid}.maid-root .dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.maid-root .stat-card,.maid-root .work-panel,.maid-root .placeholder-panel,.maid-root .login-card{background:#fff;border:1px solid #dde3ee;border-radius:8px;box-shadow:0 12px 30px #1e293b0f}.maid-root .stat-card{gap:10px;padding:18px;display:grid}.maid-root .stat-icon{color:#0f5e49;background:#dff2ec;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.maid-root .stat-label{color:#697386;margin:0;font-size:14px}.maid-root .stat-value{margin:0;font-size:28px;font-weight:800}.maid-root .content-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:16px;margin-top:16px;display:grid}.maid-root .work-panel,.maid-root .placeholder-panel{padding:22px}.maid-root .panel-title{margin:0 0 14px;font-size:18px}.maid-root .action-list{gap:12px;display:grid}.maid-root .action-row{background:#fbfcfe;border:1px solid #e5e9f0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.maid-root .action-row strong,.maid-root .placeholder-list strong{color:#172033}.maid-root .action-row p,.maid-root .placeholder-list p{color:#697386;margin:4px 0 0;font-size:14px}.maid-root .placeholder-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.maid-root .placeholder-list li{border-left:3px solid #d7a63b;padding-left:14px}.maid-root .auth-page{background:linear-gradient(135deg,#1d8f6f1a,#d7a63b1f),#f6f8fb;place-items:center;min-height:100vh;padding:24px;display:grid}.maid-root .login-card{width:min(100%,430px);padding:28px}.maid-root .login-header{gap:10px;margin-bottom:22px;display:grid}.maid-root .login-logo{color:#fff;background:#1d8f6f;border-radius:14px;place-items:center;width:52px;height:52px;display:grid}.maid-root .login-title{margin:0;font-size:28px}.maid-root .login-form,.maid-root .field{gap:8px;display:grid}.maid-root .login-form{gap:16px}.maid-root .field label{font-weight:700}.maid-root .field input,.maid-root .field select,.maid-root .field textarea,.maid-root .employees-toolbar select,.maid-root .positions-toolbar select,.maid-root .search-field input{box-sizing:border-box;color:#101828;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #ccd5e1;border-radius:8px;padding:0 12px}.maid-root .field textarea{resize:vertical;min-height:86px;padding-block:10px}.maid-root .field input:focus,.maid-root .field select:focus,.maid-root .field textarea:focus,.maid-root .employees-toolbar select:focus,.maid-root .positions-toolbar select:focus,.maid-root .search-field input:focus{border-color:#1d8f6f;outline:3px solid #1d8f6f24}.maid-root .form-error{color:#8a1f2d;background:#fdecef;border-radius:8px;margin:0;padding:10px 12px}.maid-root .field.has-error input,.maid-root .field.has-error select,.maid-root .field.has-error textarea{border-color:#d32f2f;outline:3px solid #d32f2f1f}.maid-root .field-error-msg{color:#d32f2f;margin:0;font-size:12px;font-weight:500}.maid-root .field label .required-mark{color:#d32f2f;margin-left:2px}.maid-root .loading-screen,.maid-root .not-found{text-align:center;place-items:center;min-height:100vh;padding:24px;display:grid}.maid-root .loader{border:4px solid #dce4ee;border-top-color:#1d8f6f;border-radius:999px;width:42px;height:42px;animation:.8s linear infinite spin}.maid-root .employee-summary-grid{grid-template-columns:repeat(2,minmax(0,220px));gap:16px;margin-bottom:16px;display:grid}.maid-root .employees-toolbar{grid-template-columns:minmax(260px,1fr) 180px 180px;gap:12px;margin-bottom:16px;display:grid}.maid-root .search-field{background:#fff;border:1px solid #ccd5e1;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:flex}.maid-root .search-field input{border:0;min-height:40px;padding:0}.maid-root .search-field input:focus{outline:0}.maid-root .employees-layout{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.maid-root .employees-layout.form-open{grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:start}.maid-root .employee-list-panel,.maid-root .employee-form-panel{background:#fff;border:1px solid #dde3ee;border-radius:8px;box-shadow:0 12px 30px #1e293b0f}.maid-root .employee-list-panel{min-height:420px;padding:14px}.maid-root .employee-table{gap:10px;display:grid}.maid-root .employee-row{background:#fbfcfe;border:1px solid #e5e9f0;border-radius:8px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.maid-root .employee-photo{color:#0f5e49;background:#dff2ec;border-radius:8px;place-items:center;width:64px;height:64px;font-weight:800;display:grid;overflow:hidden}.maid-root .employee-photo img{object-fit:cover;width:100%;height:100%}.maid-root .employee-main{min-width:0}.maid-root .employee-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.maid-root .employee-title-row h2{color:#172033;margin:0;font-size:18px}.maid-root .employee-main p{color:#697386;margin:5px 0 0;font-size:14px}.maid-root .employee-meta{align-items:center;gap:6px;display:inline-flex}.maid-root .employee-alias{color:#4c5f76}.maid-root .status{white-space:nowrap;border-radius:999px;align-items:center;min-height:26px;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.maid-root .status.active{color:#0f5e49;background:#dff2ec}.maid-root .status.inactive{color:#8a1f2d;background:#fdecef}.maid-root .employee-actions{gap:8px;display:flex}.maid-root .icon-button.danger{color:#8a1f2d;background:#fdecef}.maid-root .delete-employee-btn{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fca5a5;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:9px 16px;font-size:14px;display:flex}.maid-root .delete-employee-btn:hover{background:#fef2f2}.maid-root .delete-employee-btn:disabled{opacity:.5;cursor:not-allowed}.maid-root .employee-form-panel{max-height:calc(100vh - 40px);padding:20px;position:sticky;top:20px;overflow-y:auto}.maid-root .form-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.maid-root .form-panel-header h2{margin:0;font-size:20px}.maid-root .employee-form,.maid-root .form-grid{gap:14px;display:grid}.maid-root .form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.maid-root .photo-upload{color:#263449;cursor:pointer;background:#fbfcfe;border:1px dashed #9fb0c4;border-radius:8px;align-items:center;gap:12px;min-height:74px;padding:14px;display:flex}.maid-root .photo-upload input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.maid-root .photo-upload small{color:#697386;margin-top:4px;display:block}.maid-root .checkbox-row{color:#263449;align-items:center;gap:10px;font-weight:700;display:flex}.maid-root .checkbox-row input{width:18px;height:18px}.maid-root .empty-state{text-align:center;align-content:center;place-items:center;gap:10px;min-height:280px;display:grid}.maid-root .empty-state h2{margin:0;font-size:20px}.maid-root .positions-summary-grid{grid-template-columns:repeat(2,minmax(0,220px));gap:16px;margin-bottom:16px;display:grid}.maid-root .positions-toolbar{grid-template-columns:minmax(260px,1fr) 180px 180px;gap:12px;margin-bottom:16px;display:grid}.maid-root .positions-layout{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.maid-root .positions-layout.form-open{grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:start}.maid-root .position-list-panel,.maid-root .position-form-panel{background:#fff;border:1px solid #dde3ee;border-radius:8px;box-shadow:0 12px 30px #1e293b0f}.maid-root .position-list-panel{min-height:420px;padding:14px}.maid-root .position-form-panel{padding:20px;position:sticky;top:20px}.maid-root .position-table{gap:10px;display:grid}.maid-root .position-row{background:#fbfcfe;border:1px solid #e5e9f0;border-radius:8px;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px;display:grid}.maid-root .order-badge{color:#0f5e49;background:#dff2ec;border-radius:8px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:16px;font-weight:800;display:grid}.maid-root .position-main{min-width:0}.maid-root .position-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.maid-root .position-title-row h2{color:#172033;margin:0;font-size:17px}.maid-root .position-name-zh{color:#697386;margin:4px 0 0;font-size:14px}.maid-root .group-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;min-height:22px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.maid-root .group-badge.group-thai{color:#1d4f8f;background:#deeeff}.maid-root .group-badge.group-burmese{color:#7a4d1a;background:#fdf3e0}.maid-root .group-badge.group-all{color:#4a3080;background:#f0eaff}.maid-root .group-badge.group-security{color:#7c2d12;background:#fef3c7}.maid-root .shift-counts{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.maid-root .shift-count{border-radius:6px;align-items:center;gap:5px;min-width:80px;padding:3px 8px;font-size:13px;font-weight:700;display:inline-flex}.maid-root .shift-count.day{color:#7a5a1b;background:#fef5e0}.maid-root .shift-count.night{color:#2a4080;background:#e8eefc}.maid-root .position-status-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.maid-root .security-page{color:#172033;gap:18px;display:grid}.maid-root .security-page .topbar{align-items:center;gap:16px;margin-bottom:0}.maid-root .security-page .page-title{font-size:28px}.maid-root .security-page .page-description{max-width:820px;font-size:15px}.maid-root .security-page .dashboard-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.maid-root .security-page .stat-card{min-height:132px;padding:16px;box-shadow:0 8px 22px #1e293b0d}.maid-root .security-page .stat-icon{color:#163b6d;background:#e6f0fb;width:36px;height:36px}.maid-root .security-page .stat-value{font-size:26px}.maid-root .security-page .hub-section{margin-bottom:0}.maid-root .security-page .hub-card-row{grid-template-columns:repeat(4,minmax(160px,1fr))}.maid-root .security-page .hub-card,.maid-root .security-page .hub-card-security{background:#fff;border:1px solid #dde3ee;border-radius:8px;min-height:92px;padding:18px;box-shadow:0 8px 22px #1e293b0d}.maid-root .security-page .hub-card-title{font-size:15px;line-height:1.35}.maid-root .security-page .hub-card-security{color:#0f5e49;background:#f2fbf8;border-color:#b8ddd6!important;max-width:none!important}.maid-root .hub-card-security{color:#312e81;background:#f0f4ff;border:2px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;padding:22px 20px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 4px 16px #1e293b14}.maid-root .hub-card-security:hover{background:#e0e7ff;transform:translateY(-2px);box-shadow:0 8px 24px #1e293b24}.maid-root .security-page .hub-card-security:hover{background:#e6f7f1}.maid-root .sec-round-card{background:#fff;border:1px solid #dde3ee;border-radius:10px;margin-bottom:16px;padding:16px 18px;box-shadow:0 4px 12px #1e293b0d}.maid-root .sec-round-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.maid-root .sec-round-title{color:#101828;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.maid-root .sec-round-actions{flex-wrap:wrap;gap:8px;display:flex}.maid-root .sec-image-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px;display:grid}.maid-root .sec-image-thumb{aspect-ratio:1;background:#f0f2f5;border-radius:6px;position:relative;overflow:hidden}.maid-root .sec-image-thumb img{object-fit:cover;width:100%;height:100%}.maid-root .sec-image-delete{color:#fff;cursor:pointer;opacity:0;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:opacity .15s;display:flex;position:absolute;top:3px;right:3px}.maid-root .sec-image-thumb:hover .sec-image-delete{opacity:1}.maid-root .sec-add-round{margin-top:8px;margin-bottom:24px}.maid-root .sec-add-round-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.maid-root .hub-section{margin-bottom:28px}.maid-root .hub-section-label{color:#6b7a90;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:7px;margin-bottom:12px;font-size:13px;font-weight:700;display:flex}.maid-root .hub-card-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.maid-root .hub-card-row-3{grid-template-columns:1fr 1fr 1fr}.maid-root .hub-card{cursor:pointer;border:2px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;padding:22px 20px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex;box-shadow:0 4px 16px #1e293b14}.maid-root .hub-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1e293b24}.maid-root .hub-card-body{align-items:center;gap:14px;display:flex}.maid-root .hub-card-title{font-size:18px;font-weight:800}.maid-root .hub-card-arrow{opacity:.6}.maid-root .hub-card-thai{color:#0a4233;background:#dff2ec;border-color:#1d8f6f}.maid-root .hub-card-thai:hover{background:#c8eee3}.maid-root .hub-card-burmese{color:#1e3a8a;background:#e0eaff;border-color:#4f78e0}.maid-root .hub-card-burmese:hover{background:#c7d8ff}.maid-root .hub-other-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.maid-root .hub-date-input,.maid-root .hub-group-select{color:#101828;min-height:44px;font:inherit;background:#fff;border:1px solid #ccd5e1;border-radius:8px;padding:0 14px;font-size:15px}.maid-root .hub-date-input:focus,.maid-root .hub-group-select:focus{border-color:#1d8f6f;outline:3px solid #1d8f6f24}.maid-root .builder-config-card{background:#fff;border:1px solid #dde3ee;border-radius:8px;gap:14px;margin-bottom:14px;padding:18px;display:grid;box-shadow:0 12px 30px #1e293b0f}.maid-root .builder-date-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.maid-root .builder-date-field{color:#38465a;align-items:center;gap:10px;font-weight:700;display:flex}.maid-root .builder-date-field input[type=date]{color:#101828;min-height:44px;font:inherit;background:#fff;border:1px solid #ccd5e1;border-radius:8px;padding:0 12px}.maid-root .builder-date-field input[type=date]:focus{border-color:#1d8f6f;outline:3px solid #1d8f6f24}.maid-root .builder-saved-badge{color:#0f5e49;background:#dff2ec;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}.maid-root .builder-existing-banner{color:#78350f;background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:10px 16px;font-size:14px;display:flex}.maid-root .builder-banner-reset{color:#78350f;font:inherit;cursor:pointer;white-space:nowrap;background:#fef3c7;border:1px solid #f59e0b;border-radius:6px;margin-left:auto;padding:4px 12px;font-size:13px;font-weight:600}.maid-root .builder-banner-reset:hover{background:#fde68a}.maid-root .builder-supervisor-field{color:#38465a;align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.maid-root .builder-supervisor-field input[type=text]{color:#101828;min-height:44px;font:inherit;background:#fff;border:1px solid #ccd5e1;border-radius:8px;min-width:200px;padding:0 12px}.maid-root .builder-supervisor-field input[type=text]:focus{border-color:#1d8f6f;outline:3px solid #1d8f6f24}.maid-root .builder-group-tabs{gap:8px;display:flex}.maid-root .group-tab{color:#38465a;min-height:44px;font:inherit;cursor:pointer;background:#f6f8fb;border:2px solid #dde3ee;border-radius:8px;padding:0 22px;font-size:15px;font-weight:700}.maid-root .group-tab:hover{color:#0f5e49;border-color:#1d8f6f}.maid-root .group-tab.active{color:#0f5e49;background:#dff2ec;border-color:#1d8f6f}.maid-root .builder-actions{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.maid-root .secondary-button.danger{color:#8a1f2d;background:#fdecef}.maid-root .builder-summary{background:#fff;border:1px solid #dde3ee;border-radius:8px;flex-wrap:wrap;gap:24px;margin-bottom:20px;padding:14px 18px;display:flex;box-shadow:0 12px 30px #1e293b0f}.maid-root .summary-stat{align-items:center;gap:8px;font-size:15px;display:flex}.maid-root .stat-ok{color:#0f5e49}.maid-root .stat-warn{color:#9d2f3d}.maid-root .position-cards{gap:16px;display:grid}.maid-root .position-card{background:#fff;border:1px solid #dde3ee;border-radius:10px;overflow:hidden;box-shadow:0 12px 30px #1e293b0f}.maid-root .position-card-hd{background:#f6f8fb;border-bottom:1px solid #eef1f6;align-items:center;gap:14px;padding:14px 16px;display:flex}.maid-root .position-card-hd-text h3{color:#172033;margin:0;font-size:16px}.maid-root .shift-block{border-bottom:1px solid #f0f3f9;padding:12px 16px}.maid-root .shift-block:last-child{border-bottom:0}.maid-root .shift-block-day{background:#fffdf8}.maid-root .shift-block-night{background:#f8f9ff}.maid-root .shift-block-hd{align-items:center;gap:12px;margin-bottom:10px;display:flex}.maid-root .shift-label{border-radius:6px;align-items:center;gap:5px;padding:3px 10px;font-size:13px;font-weight:800;display:inline-flex}.maid-root .shift-label.day{color:#7a5a1b;background:#fef5e0}.maid-root .shift-label.night{color:#2a4080;background:#e8eefc}.maid-root .shift-count-badge{font-size:13px;font-weight:700}.maid-root .shift-search{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:6px;outline:none;width:100%;min-height:44px;margin-bottom:8px;padding:0 10px;font-size:13px}.maid-root .shift-search:focus{border-color:#1d8f6f}.maid-root .emp-chip-list{flex-wrap:wrap;gap:6px;display:flex}.maid-root .emp-chip{color:#38465a;font:inherit;cursor:pointer;background:#edf1f6;border:2px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:inline-flex}.maid-root .emp-chip:hover{border-color:#9fb0c4}.maid-root .emp-chip.selected{color:#0a4537;background:#dff2ec;border-color:#1d8f6f;font-weight:700}.maid-root .emp-chip-avatar{color:#0f5e49;background:#b8ddd6;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:9px;font-weight:800;display:grid;overflow:hidden}.maid-root .emp-chip-avatar img{object-fit:cover;width:100%;height:100%}.maid-root .emp-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:80px;overflow:hidden}.maid-root .shift-selected-list{border-bottom:1px dashed #b8ddd6;flex-wrap:wrap;gap:6px;margin-bottom:8px;padding:8px 0 10px;display:flex}.maid-root .emp-selected-pill{color:#fff;font:inherit;cursor:pointer;background:#1d8f6f;border:none;border-radius:999px;align-items:center;gap:5px;padding:4px 8px 4px 4px;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.maid-root .emp-selected-pill:hover{background:#156e54}.maid-root .emp-selected-pill .emp-chip-avatar{color:#fff;background:#ffffff40;width:24px;height:24px}@media (width<=980px){.app-layout{grid-template-columns:1fr}.sidebar{height:auto;position:static}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.main-panel{min-width:0;padding:24px;overflow-x:hidden}.maid-root section{min-width:0;overflow-x:hidden}.dashboard-grid,.maid-root .security-page .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.employees-layout.form-open,.employees-toolbar,.positions-layout.form-open,.positions-toolbar{grid-template-columns:1fr}.employee-form-panel,.position-form-panel{position:static}}@media (width<=480px){.maid-root .topbar{flex-direction:column;align-items:stretch}.maid-root .topbar .button{justify-content:center;width:100%}.maid-root .employees-toolbar,.maid-root .positions-toolbar{flex-direction:column;gap:8px}.maid-root .employees-toolbar select,.maid-root .positions-toolbar select{width:100%}.maid-root .employee-summary-grid,.maid-root .positions-summary-grid{grid-template-columns:1fr 1fr}.maid-root .form-grid.two-columns{grid-template-columns:1fr}.maid-root .button,.maid-root .secondary-button{font-size:14px}}@media (width<=620px){.main-panel,.sidebar{min-width:0;padding:16px;overflow-x:hidden}.maid-root section{min-width:0;overflow-x:hidden}.maid-root .page-title,.maid-root .page-description{overflow-wrap:break-word;word-break:break-word}.maid-root .topbar{gap:12px}.maid-root .topbar-actions{flex-wrap:wrap;gap:8px}.maid-root .stat-card{gap:6px;padding:12px}.maid-root .stat-icon{width:32px;height:32px}.maid-root .stat-label{overflow-wrap:break-word;font-size:11px;line-height:1.3}.maid-root .stat-value{font-size:22px}.maid-root .stat-sub{font-size:11px}.topbar,.action-row{flex-direction:column;align-items:stretch}.builder-group-tabs,.builder-actions,.builder-summary{flex-direction:column}.nav-list{grid-template-columns:1fr}.page-title{font-size:24px}.employee-summary-grid,.positions-summary-grid,.form-grid.two-columns{grid-template-columns:1fr}.employee-row{grid-template-columns:52px minmax(0,1fr)}.employee-photo{width:52px;height:52px}.employee-actions{grid-column:1/-1}.employee-title-row{flex-direction:column;align-items:flex-start}.position-row{grid-template-columns:44px minmax(0,1fr)}.shift-counts,.position-status-actions{flex-flow:wrap;grid-column:1/-1;justify-content:space-between;align-items:center}}.maid-root .builder-existing-banner{color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:8px;align-items:center;gap:10px;margin-bottom:12px;padding:10px 16px;font-size:14px;display:flex}.maid-root .builder-existing-banner .banner-reset-btn{color:#9a3412;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #fdba74;border-radius:6px;margin-left:auto;padding:4px 14px;font-size:13px;font-weight:600}.maid-root .builder-existing-banner .banner-reset-btn:hover{background:#fff7ed}.maid-root .builder-saved-bar{z-index:20;color:#166534;background:#f0fdf4;border:1px solid #6ee7b7;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 16px;font-size:14px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0000000f}.maid-root .builder-saved-bar .saved-bar-label{align-items:center;gap:6px;margin-right:auto;font-weight:600;display:flex}.maid-root .builder-next-actions{background:#f0fdf8;border:1px solid #b2dfdb;border-radius:10px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 16px;display:flex}.maid-root .topbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.maid-root .related-upload-card{background:#f9fbfc;border:2px dashed #c8d6e2;border-radius:12px;margin-bottom:24px;position:relative}.maid-root .related-upload-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.maid-root .related-upload-label{cursor:pointer;color:#5a7080;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:36px 24px;font-size:15px;transition:background .15s;display:flex}.maid-root .related-upload-label:hover{color:#1d8f6f;background:#f0f7fc}.maid-root .sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.maid-root .spin{animation:1s linear infinite spin}.maid-root .related-image-grid-manage{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.maid-root .related-image-item{aspect-ratio:1;background:#eee;border-radius:8px;position:relative;overflow:hidden}.maid-root .related-image-item img{object-fit:cover;width:100%;height:100%}.maid-root .related-image-delete{color:#fff;cursor:pointer;background:#dc2626e0;border:none;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:6px;right:6px}.maid-root .related-image-delete:hover{background:#dc2626}.maid-root .related-image-num{color:#fff;background:#00000080;border-radius:4px;padding:1px 5px;font-size:11px;font-weight:700;position:absolute;bottom:6px;left:6px}.maid-root .preview-scroll-wrapper{background:#e8ecf0;border-radius:12px;padding:24px;overflow-x:auto}.maid-root .report-print-area{color:#111;background:#fff;width:960px;min-width:960px;padding:24px 28px;font-family:TH Sarabun New,Sarabun,sans-serif;font-size:14px}.maid-root .report-header{text-align:center;margin-bottom:12px}.maid-root .report-title{font-size:18px;font-weight:700;line-height:1.4}.maid-root .report-title-zh{font-size:17px;font-weight:700;line-height:1.4}.maid-root .report-supervisor{margin-bottom:10px;font-size:14px}.maid-root .report-count-table{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:13px}.maid-root .report-count-table td{border:1px solid #bbb;padding:5px 10px}.maid-root .count-label{white-space:nowrap;background:#f5f5f5;width:160px;font-weight:700}.maid-root .count-cell{display:table-cell}.maid-root .count-th{display:block}.maid-root .count-zh{color:#555;font-size:12px;display:block}.maid-root .report-main-table{border-collapse:separate;border-spacing:0;width:100%;margin-bottom:16px;font-size:13px}.maid-root .cell-cont-top{border-top-color:#fff!important}.maid-root .cell-cont-bot{border-bottom-color:#fff!important}.maid-root .report-main-table th,.maid-root .report-main-table td{vertical-align:middle;text-align:center;border:1px solid #999;padding:5px 7px}.maid-root .report-main-table thead th{background:#d0e8ff;font-size:13px;font-weight:700}.maid-root .zh-hd{font-size:12px;font-weight:400;display:block}.maid-root .col-seq{width:48px}.maid-root .col-pos{text-align:left;width:180px}.maid-root .col-shift{width:90px}.maid-root .col-count{width:68px}.maid-root .col-name{text-align:left;width:180px}.maid-root .col-phone{width:120px}.maid-root .col-photo{width:70px}.maid-root .pos-th{font-size:13px;display:block}.maid-root .pos-zh{color:#555;font-size:11px;display:block}.maid-root .shift-day{background:#fffde7}.maid-root .shift-night{background:#e8eaf6}.maid-root .row-night{background:#f8f8ff}.maid-root .report-emp-photo{object-fit:cover;border-radius:4px;width:52px;height:52px}.maid-root .report-related-section{margin-top:10px;margin-bottom:10px}.maid-root .report-related-header{color:#555;letter-spacing:.02em;border-bottom:1px solid #999;margin-bottom:5px;padding-bottom:3px;font-size:11px;font-weight:600}.maid-root .report-related-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.maid-root .report-security-grid{grid-template-columns:repeat(10,1fr);gap:5px;display:grid}.maid-root .report-related-img{aspect-ratio:1;object-fit:cover;border:1px solid #ccc;border-radius:4px;width:100%}.maid-root .report-signature{text-align:right;margin-top:20px;font-size:13px;line-height:1.6}.maid-root .sig-name{font-size:14px;font-weight:700}.maid-root .history-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.maid-root .history-toolbar select{cursor:pointer;background:#fff;border:1px solid #d0d8e4;border-radius:8px;height:44px;padding:0 12px;font-size:14px}.maid-root .history-list{flex-direction:column;gap:10px;display:flex}.maid-root .history-row{background:#fff;border:1px solid #e5eaf2;border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;display:flex}.maid-root .history-date{align-items:center;gap:6px;min-width:140px;font-size:15px;display:flex}.maid-root .history-stats{color:#5a7080;flex:1;gap:12px;font-size:13px;display:flex}.maid-root .history-actions{align-items:center;gap:8px;display:flex}.maid-root .status-badge{border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.maid-root .status-draft{color:#3750bb;background:#f0f4ff}.maid-root .status-ready{color:#16a34a;background:#f0fdf4}.maid-root .status-generated{color:#c05000;background:#fff8f0}.maid-root .settings-card{background:#fff;border:1px solid #e5eaf2;border-radius:12px;max-width:600px;padding:28px}.maid-root .settings-section-title{color:#2d3a4a;margin:0 0 16px;font-size:15px;font-weight:700}.maid-root .settings-field{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.maid-root .settings-field label{color:#334155;flex-direction:column;gap:2px;font-size:14px;font-weight:600;display:flex}.maid-root .settings-field input{background:#f9fafb;border:1px solid #d0d8e4;border-radius:8px;height:44px;padding:0 14px;font-size:14px;transition:border-color .15s}.maid-root .settings-field input:focus{background:#fff;border-color:#1d8f6f;outline:none}.maid-root .settings-signature-preview{background:#f5f7fa;border:1px dashed #c8d6e2;border-radius:8px;margin-top:8px;padding:14px 18px;font-size:13px;line-height:1.8}.maid-root .summary-picker-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;display:flex}.maid-root .summary-month-label{cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:10px;align-items:stretch;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.maid-root .summary-month-label:focus-within{border-color:#1d8f6f;box-shadow:0 0 0 3px #1d8f6f1f}.maid-root .summary-month-label .picker-addon{color:#1d8f6f;white-space:nowrap;background:#f8fafc;border-right:1.5px solid #e5eaf2;align-items:center;gap:6px;min-height:44px;padding:0 12px;font-size:13px;font-weight:700;display:flex}.maid-root .summary-month-label input[type=month],.maid-root .summary-month-label select{height:44px;font:inherit;color:#101828;cursor:pointer;background:0 0;border:none;outline:none;min-width:140px;padding:0 10px;font-size:14px;font-weight:600}.maid-root .summary-month-label select{appearance:auto;padding-right:28px}.maid-root .summary-month-heading{color:#1a2535;margin-bottom:20px;font-size:18px;font-weight:700}.maid-root .summary-group-block{background:#fff;border:1px solid #e5eaf2;border-radius:12px;margin-bottom:24px;padding:24px}.maid-root .summary-group-title{color:#1d8f6f;margin-bottom:16px;font-size:16px;font-weight:700}.maid-root .summary-kpi-row{flex-wrap:wrap;gap:16px;margin-bottom:20px;display:flex}.maid-root .summary-kpi{text-align:center;background:#f5f7fa;border-radius:10px;min-width:90px;padding:12px 18px}.maid-root .summary-kpi.kpi-ok{background:#dff2ec}.maid-root .summary-kpi.kpi-warn{background:#fff3cd}.maid-root .summary-kpi-value{color:#101828;font-size:22px;font-weight:800;display:block}.maid-root .summary-kpi-label{color:#64748b;margin-top:2px;font-size:12px;display:block}.maid-root .summary-table{border-collapse:collapse;width:100%;font-size:13px}.maid-root .summary-table th,.maid-root .summary-table td{text-align:center;border:1px solid #e5eaf2;padding:8px 10px}.maid-root .summary-table th{background:#f5f7fa;font-weight:700}.maid-root .summary-table .pos-cell{text-align:left}.maid-root .summary-table .row-warn{background:#fffbf0}.maid-root .understaffed-badge{color:#92400e;background:#fef3c7;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.maid-root .ok-badge{color:#065f46;background:#d1fae5;border-radius:999px;padding:2px 8px;font-size:12px}.maid-root .data-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.maid-root .data-card{background:#fff;border:1px solid #e5eaf2;border-radius:12px;flex-direction:column;gap:12px;padding:20px;display:flex}.maid-root .data-card-header{align-items:flex-start;gap:12px;display:flex}.maid-root .data-card-icon{font-size:24px;line-height:1}.maid-root .data-card-title{color:#101828;font-family:Courier New,monospace;font-size:15px;font-weight:700}.maid-root .data-card-desc{color:#64748b;margin-top:2px;font-size:12px}.maid-root .data-rows{flex-direction:column;gap:4px;display:flex}.maid-root .data-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.maid-root .data-row-label{color:#475569;font-size:13px}.maid-root .data-row-value{color:#1d8f6f;font-size:18px;font-weight:800}.maid-root .data-breakdown{background:#f8fafc;border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.maid-root .data-breakdown-item{color:#475569;justify-content:space-between;font-size:12px;display:flex}.maid-root .data-breakdown-item span:last-child{color:#1a2535;font-weight:600}.maid-root .data-email{word-break:break-all;font-size:11px!important}.maid-root .data-path-label{color:#94a3b8;margin-top:4px;font-size:11px}.maid-root .data-path-label code{background:#f1f5f9;border-radius:4px;padding:1px 4px;font-family:Courier New,monospace}.maid-root .monthly-card-section{border-top:2px dashed #e2e8f0;margin-top:36px;padding-top:24px}.maid-root .monthly-card-section-title{color:#1a2535;align-items:center;gap:8px;margin-bottom:16px;font-size:16px;font-weight:700;display:flex}.maid-root .monthly-card-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.maid-root .monthly-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;max-width:680px;font-family:Sarabun,sans-serif;overflow:hidden}.maid-root .monthly-card-header{color:#fff;text-align:center;background:#1a2535;padding:18px 24px 14px}.maid-root .monthly-card-title{letter-spacing:.3px;font-size:17px;font-weight:800}.maid-root .monthly-card-subtitle{opacity:.78;margin-top:4px;font-size:13px}.maid-root .monthly-group-section{border-top:1px solid #e2e8f0}.maid-root .monthly-group-bar{color:#fff;letter-spacing:.3px;padding:8px 20px;font-size:14px;font-weight:700}.maid-root .monthly-group-kpi{color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:24px;padding:12px 20px;font-size:13px;display:flex}.maid-root .monthly-group-kpi strong{color:#1a2535}.maid-root .kpi-ok-text strong{color:#065f46}.maid-root .kpi-warn-text strong{color:#dc2626}.maid-root .monthly-pos-table{border-collapse:collapse;width:100%;font-size:13px}.maid-root .monthly-pos-table th{text-align:left;color:#64748b;background:#f1f5f9;border-bottom:1px solid #e2e8f0;padding:7px 14px;font-size:12px;font-weight:600}.maid-root .monthly-pos-table td{color:#1a2535;border-bottom:1px solid #f1f5f9;padding:7px 14px}.maid-root .monthly-pos-table .monthly-row-warn{background:#fff8f8}.maid-root .monthly-group-footer{background:#f8fafc;border-top:1px solid #e2e8f0;gap:20px;padding:12px 20px;font-size:13px;font-weight:600;display:flex}.maid-root .monthly-footer-ok{color:#065f46}.maid-root .monthly-footer-warn{color:#dc2626}.maid-root .summary-group-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.maid-root .summary-group-header .summary-group-title{margin-bottom:0}.maid-root .summary-view-toggle{border:1.5px solid #d1d5db;border-radius:8px;display:flex;overflow:hidden}.maid-root .toggle-btn{color:#64748b;cursor:pointer;background:#fff;border:none;align-items:center;gap:5px;padding:5px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.maid-root .toggle-btn+.toggle-btn{border-left:1.5px solid #d1d5db}.maid-root .toggle-btn.active{color:#fff;background:#1d8f6f}.maid-root .summary-date-all-ok{color:#065f46;padding:4px 0;font-size:13px}.maid-root .summary-short-list{flex-direction:column;gap:6px;display:flex}.maid-root .summary-short-item{align-items:center;gap:10px;font-size:13px;display:flex}.maid-root .shift-tag{border-radius:20px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.maid-root .summary-short-name{color:#1a2535;flex:1}.maid-root .summary-short-count{color:#dc2626;white-space:nowrap;font-size:12px;font-weight:600}.maid-root .absent-tag{color:#7f1d1d;font-weight:700}.maid-root .summary-pos-row:hover{background:#f8fafc}.maid-root .summary-pos-row.row-expanded{background:#f0faf7}.maid-root .summary-detail-row td{background:#f8fafc;padding:10px 14px 14px;border-top:none!important}.maid-root .summary-day-chips-wrap{flex-wrap:wrap;gap:6px;display:flex}.maid-root .summary-day-chip{cursor:default;border-radius:8px;flex-direction:column;align-items:center;min-width:38px;padding:4px 8px;font-size:11px;line-height:1.3;display:inline-flex}.maid-root .chip-date{font-weight:700}.maid-root .chip-count{opacity:.85;font-size:10px}.maid-root .chip-ok{color:#065f46;background:#d1fae5}.maid-root .chip-under{color:#991b1b;background:#fee2e2}.maid-root .chip-absent{color:#7f1d1d;background:#fca5a5}.maid-root .chip-over{color:#1e40af;background:#dbeafe}.maid-root .summary-chip-legend{color:#64748b;align-items:center;gap:6px;margin-top:8px;font-size:11px;display:flex}.maid-root .legend-dot{border-radius:50%;width:10px;height:10px;margin-left:8px;display:inline-block}.maid-root .legend-dot:first-child{margin-left:0}.maid-root .dot-ok{background:#6ee7b7}.maid-root .dot-under{background:#fca5a5}.maid-root .dot-absent{background:#ef4444}.maid-root .dot-over{background:#93c5fd}@media (width<=620px){.builder-next-actions,.maid-root .topbar-actions{flex-direction:column;align-items:stretch}.history-row{flex-direction:column;align-items:flex-start}.history-stats{flex-wrap:wrap}.data-grid{grid-template-columns:1fr}}.maid-root .history-day-card{background:#fff;border:1px solid #dde3ee;border-radius:8px;margin-bottom:16px;overflow:hidden;box-shadow:0 4px 12px #1e293b0a}.maid-root .day-card-header{background:#fbfcfe;border-bottom:1px solid #e5e9f0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.maid-root .day-card-date{color:#172033;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.maid-root .day-badge-complete{color:#166534;background:#dcfce7;border-radius:4px;padding:4px 8px;font-size:13px;font-weight:700}.maid-root .day-badge-partial{color:#92400e;background:#fef3c7;border-radius:4px;padding:4px 8px;font-size:13px;font-weight:700}.maid-root .day-badge-empty{color:#6b7280;background:#f3f4f6;border-radius:4px;padding:4px 8px;font-size:13px;font-weight:700}.maid-root .day-card-body{background:#f8fafc;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:16px;display:grid}.maid-root .day-sub-card{background:#fff;border:1px solid #e5e9f0;border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex;box-shadow:0 1px 3px #1e293b0d}.maid-root .day-sub-card-header{justify-content:space-between;align-items:center;display:flex}.maid-root .day-sub-card .history-stats{color:#697386;flex-wrap:wrap;gap:12px;margin:4px 0 12px;font-size:14px;display:flex}.maid-root .day-sub-card .history-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;display:grid}.maid-root .day-sub-card.missing{text-align:center;background:#fbfcfe;border:1px dashed #cbd5e1;justify-content:center;align-items:center}.maid-root .day-sub-card.missing .history-actions{grid-template-columns:1fr;width:100%}.maid-root .missing-text{color:#94a3b8;margin:4px 0 12px;font-size:14px}.maid-root .summary-bar{color:#11664f;background:#eef6f3;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-weight:700;display:flex}.maid-root .security-history-page .summary-bar{background:#f2fbf8;border:1px solid #b8ddd6;margin-bottom:0}.maid-root .month-section{margin-bottom:16px}.maid-root .security-history-page .history-list{gap:12px}.maid-root .security-history-page .month-section{background:#fff;border:1px solid #dde3ee;border-radius:8px;margin-bottom:0;overflow:hidden;box-shadow:0 8px 22px #1e293b0a}.maid-root .month-header{cursor:pointer;text-align:left;background:#fff;border:1px solid #dde3ee;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:16px;display:flex}.maid-root .security-history-page .month-header{background:#fbfcfe;border:0;border-radius:0}.maid-root .security-history-page .month-body-content{gap:10px;padding:12px;display:grid}.maid-root .security-history-page .history-day-card{box-shadow:none;margin-bottom:0}.maid-root .security-history-page .day-card-body{display:block}.maid-root .security-history-page .day-sub-card{box-shadow:none}.maid-root .month-header:hover{background:#fbfcfe}.maid-root .month-header-title{align-items:center;gap:12px;display:flex}.maid-root .month-header-title h2{color:#101828;margin:0;font-size:18px}.maid-root .month-chevron{color:#697386;font-size:14px;transition:transform .2s;display:inline-block}.maid-root .month-chevron.open{transform:rotate(90deg)}.maid-root .month-header-stats{color:#697386;font-size:14px}.maid-root .month-body{max-height:0;transition:max-height .3s;overflow:hidden}.maid-root .month-body.open{max-height:9999px}.maid-root .month-body-content{padding-top:16px}.maid-root .load-more-section{justify-content:center;padding:24px 0;display:flex}.maid-root .history-filter-bar{z-index:10;background:#fff;border-bottom:1px solid #e5e7eb;flex-direction:column;gap:12px;margin-bottom:24px;padding:16px 0;display:flex;position:sticky;top:0}.maid-root .filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.maid-root .filter-label{color:#697386;font-size:14px;font-weight:500}.maid-root .filter-chips{flex-wrap:wrap;gap:8px;display:flex}.maid-root .chip{color:#475467;cursor:pointer;background:#fff;border:1px solid #dde3ee;border-radius:20px;padding:6px 12px;font-size:14px;font-weight:500;transition:all .2s}.maid-root .chip:hover{background:#f8fafc}.maid-root .chip.active{color:#fff;background:#11664f;border-color:#11664f}.maid-root .chip.warning{color:#b45309;background:#fffbeb;border-color:#fde68a}.maid-root .chip.warning.active{color:#fff;background:#b45309;border-color:#b45309}.maid-root .month-picker{color:#101828;cursor:pointer;background:#fff;border:1px solid #dde3ee;border-radius:8px;outline:none;padding:6px 12px;font-size:14px}.maid-root .month-picker:focus{border-color:#11664f;box-shadow:0 0 0 2px #11664f1a}.maid-root .jump-today-btn{z-index:50;color:#fff;cursor:pointer;background:#11664f;border:none;border-radius:24px;padding:10px 16px;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #11664f4d}.maid-root .jump-today-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #11664f66}.maid-root .calendar-grid{background:#fff;border:1px solid #e5e7eb;border-radius:12px;grid-template-columns:repeat(7,1fr);gap:8px;padding:16px;display:grid}.maid-root .cal-header{text-align:center;color:#697386;padding-bottom:8px;font-size:13px;font-weight:600}.maid-root .cal-cell{aspect-ratio:1;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:14px;font-weight:500;transition:all .2s;display:flex}.maid-root .cal-cell:hover:not(.empty){z-index:2;transform:scale(1.05);box-shadow:0 4px 6px #0000001a}.maid-root .cal-cell.empty{cursor:default}.maid-root .cal-cell.status-complete{color:#166534;background:#dcfce7;border-color:#bbf7d0}.maid-root .cal-cell.status-partial{color:#92400e;background:#fef3c7;border-color:#fde68a}.maid-root .cal-cell.status-empty{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}.maid-root .summary-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.maid-root .summary-month-nav{align-items:center;gap:10px;display:flex}.maid-root .summary-month-label{text-align:center;min-width:130px;font-size:15px;font-weight:600}.maid-root .summary-group-tabs{border:1.5px solid #d1d5db;border-radius:10px;width:fit-content;margin-bottom:20px;display:flex;overflow:hidden}.maid-root .summary-group-tab,.maid-root .group-tab{color:#64748b;cursor:pointer;background:#fff;border:none;align-items:center;gap:6px;padding:8px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,color .15s;display:inline-flex;position:relative}.maid-root .summary-group-tab+.summary-group-tab,.maid-root .group-tab+.group-tab{border-left:1.5px solid #d1d5db}.maid-root .summary-group-tab.active,.maid-root .group-tab.active{color:#fff;background:#1d8f6f}.maid-root .summary-tab-dot{border-radius:50%;width:7px;height:7px;margin-left:2px;display:inline-block}.maid-root .dot-has-data{background:#22c55e}.maid-root .dot-no-data{background:#d1d5db}.maid-root .summary-group-tab.active .dot-has-data,.maid-root .group-tab.active .dot-has-data{background:#86efac}.maid-root .summary-group-tab.active .dot-no-data,.maid-root .group-tab.active .dot-no-data{background:#fff6}.maid-root .summary-header-card{color:#fff;background:linear-gradient(135deg,#1565c0,#42a5f5);border-radius:12px;margin-bottom:16px;padding:18px 22px}.maid-root .summary-header-title{margin-bottom:10px;font-size:16px;font-weight:700}.maid-root .summary-header-stats{opacity:.95;flex-wrap:wrap;gap:18px;font-size:14px;display:flex}.maid-root .summary-header-stats strong{font-size:20px;font-weight:700}.maid-root .summary-position-list{flex-direction:column;gap:8px;display:flex}.maid-root .summary-position-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.maid-root .summary-position-hd{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;font-family:inherit;transition:background .15s;display:flex}.maid-root .summary-position-hd:hover{background:#f9fafb}.maid-root .summary-position-title{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.maid-root .summary-position-meta{color:#6b7280;align-items:center;gap:10px;font-size:13px;display:flex}.maid-root .summary-position-days{border-top:1px solid #f3f4f6;flex-wrap:wrap;gap:6px;padding:8px 16px;display:flex}.maid-root .summary-day-row{border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:flex}.maid-root .summary-day-row.ok{color:#166534;background:#dcfce7}.maid-root .summary-day-row.short{color:#92400e;background:#fef3c7}.maid-root .summary-day-date{min-width:34px;font-weight:600}.maid-root .summary-date-list{flex-direction:column;gap:8px;display:flex}.maid-root .summary-date-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.maid-root .summary-date-card.ok{border-left:4px solid #22c55e}.maid-root .summary-date-card.short{border-left:4px solid #f59e0b}.maid-root .summary-date-hd{justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.maid-root .summary-date-label{color:#374151}.maid-root .summary-date-shorts{flex-wrap:wrap;gap:6px;padding:0 16px 12px;display:flex}.maid-root .summary-short-badge{color:#92400e;background:#fef3c7;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:500}.maid-root .stock-page{color:#172033;gap:16px;font-size:15px;display:grid}.maid-root .stock-page .topbar{align-items:center;gap:16px;margin-bottom:0}.maid-root .stock-page .page-title{font-size:28px;line-height:1.2}.maid-root .stock-page .page-description{max-width:none;font-size:15px}.maid-root .stock-page .topbar-actions{justify-content:flex-end}.maid-root .stock-page .button,.maid-root .stock-page .secondary-button{gap:8px;min-height:38px;padding:0 14px;font-size:14px;font-weight:700}.maid-root .stock-summary-grid{grid-template-columns:repeat(2,minmax(180px,260px));gap:12px;display:grid}.maid-root .stock-summary-grid .stat-card{gap:8px;min-height:118px;padding:16px;box-shadow:0 8px 22px #1e293b0d}.maid-root .stock-summary-grid .stat-icon{width:36px;height:36px}.maid-root .stock-summary-grid .stat-label{font-size:13px}.maid-root .stock-summary-grid .stat-value{font-size:26px;line-height:1}.maid-root .stock-critical-icon{color:#8a1f2d;background:#fdecef}.maid-root .stock-count-badge{color:#8a1f2d;vertical-align:middle;background:#fdecef;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:8px;padding:0 6px;font-size:12px;font-weight:800;display:inline-flex}.maid-root .stock-alert-bar{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.maid-root .stock-table-panel{background:#fff;border:1px solid #dde3ee;border-radius:8px;overflow:hidden;box-shadow:0 10px 28px #1e293b0f}.maid-root .stock-table-scroll{width:100%;overflow-x:auto}.maid-root .stock-table{border-collapse:separate;border-spacing:0;width:100%;min-width:980px;font-size:14px}.maid-root .stock-table th,.maid-root .stock-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf1f6;padding:12px 14px}.maid-root .stock-table thead th{z-index:1;color:#38465a;white-space:nowrap;background:#f8fafc;font-size:13px;font-weight:800;position:sticky;top:0}.maid-root .stock-table tbody tr:last-child td{border-bottom:0}.maid-root .stock-table tbody tr:hover{background:#fbfcfe}.maid-root .stock-dashboard-table th:first-child,.maid-root .stock-dashboard-table td:first-child{width:210px}.maid-root .stock-dashboard-table th:nth-child(8),.maid-root .stock-dashboard-table td:nth-child(8){width:300px}.maid-root .stock-history-table th:first-child,.maid-root .stock-history-table td:first-child{white-space:nowrap;width:170px}.maid-root .stock-history-table th:nth-child(3),.maid-root .stock-history-table td:nth-child(3){white-space:nowrap;width:110px}.maid-root .stock-item-code{color:#697386;word-break:break-word;margin-top:2px;font-size:12px;font-weight:600}.maid-root .stock-status,.maid-root .stock-type-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.maid-root .stock-status-normal{color:#0f5e49;background:#dff2ec}.maid-root .stock-status-low{color:#92400e;background:#fef3c7}.maid-root .stock-status-critical{color:#8a1f2d;background:#fdecef}.maid-root .stock-type-in{color:#0f5e49;background:#dff2ec}.maid-root .stock-type-out{color:#92400e;background:#fef3c7}.maid-root .stock-row-actions{grid-template-columns:minmax(94px,1fr) minmax(94px,1fr) 42px;align-items:center;gap:6px;display:grid}.maid-root .stock-row-actions .secondary-button{width:100%}.maid-root .stock-action-delete{color:#8a1f2d;background:#fdecef;width:38px;min-width:38px;padding:0}.maid-root .stock-action-in{color:#0f5e49;background:#e7f6f1}.maid-root .stock-action-out{color:#7a4b0c;background:#fff3d8}.maid-root .stock-page-error{align-self:start}.maid-root .stock-filter-panel{background:#fff;border:1px solid #dde3ee;border-radius:8px;grid-template-columns:minmax(220px,1.2fr) minmax(150px,.7fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;align-items:end;gap:12px;padding:16px;display:grid;box-shadow:0 10px 28px #1e293b0a}.maid-root .stock-filter-panel .field{gap:6px}.maid-root .stock-filter-panel .field label{color:#38465a;font-size:13px;font-weight:800}.maid-root .stock-filter-panel .field input,.maid-root .stock-filter-panel .field select{min-height:40px;font-size:14px}.maid-root .stock-filter-actions{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.maid-root .stock-modal-backdrop{z-index:1600;background:#0f172a75;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.maid-root .stock-modal{background:#fff;border:1px solid #dde3ee;border-radius:8px;width:min(100%,520px);max-height:min(760px,100dvh - 40px);overflow:auto;box-shadow:0 22px 70px #0f172a3d}.maid-root .stock-item-modal{width:min(100%,680px)}.maid-root .stock-modal-header{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 14px;display:flex}.maid-root .stock-modal-header h2{color:#101828;margin:0;font-size:20px;line-height:1.25}.maid-root .stock-modal-form{gap:14px;padding:18px 22px 22px;display:grid}.maid-root .stock-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.maid-root .stock-field-span{grid-column:1/-1}.maid-root .stock-modal-current{color:#0f5e49;background:#e7f6f1;border-radius:8px;padding:10px 12px;font-size:14px}.maid-root .stock-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:2px;display:flex}.maid-root .stock-item-list{flex-direction:column;gap:6px;display:flex}.maid-root .stock-item-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.maid-root .stock-item-row.stock-low{background:#fffbeb;border-color:#fde68a}.maid-root .stock-item-info{flex-direction:column;gap:2px;display:flex}.maid-root .stock-item-name{font-size:14px;font-weight:600}.maid-root .stock-item-cat{font-size:12px}.maid-root .stock-item-qty{align-items:center;font-size:15px;font-weight:700;display:flex}.maid-root .stock-txn-list{flex-direction:column;gap:6px;display:flex}.maid-root .stock-txn-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.maid-root .txn-type-badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600}.maid-root .txn-in{color:#166534;background:#dcfce7}.maid-root .txn-out{color:#92400e;background:#fef3c7}.maid-root .stock-txn-name,.maid-root .stock-txn-qty{font-weight:600}.maid-root .stock-txn-note{font-style:italic}.maid-root .stock-txn-time{margin-left:auto}.maid-root .stock-manage-list{flex-direction:column;gap:6px;display:flex}.maid-root .stock-manage-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.maid-root .stock-manage-row.inactive{opacity:.5}.maid-root .stock-manage-info{flex-direction:column;flex:1;gap:2px;display:flex}.maid-root .stock-manage-qty{text-align:right;min-width:80px;font-size:15px;font-weight:700}.maid-root .stock-manage-actions{gap:6px;display:flex}.maid-root .stock-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:16px;max-width:560px;padding:20px;display:flex}.maid-root .stock-item-picker{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.maid-root .stock-pick-btn{cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;flex-direction:column;align-items:flex-start;padding:8px 14px;font-family:inherit;transition:all .15s;display:flex}.maid-root .stock-pick-btn:hover{background:#f5f3ff;border-color:#6366f1}.maid-root .stock-pick-btn.selected{background:#eef2ff;border-color:#4f46e5}.maid-root .stock-pick-btn.out-of-stock{opacity:.4;cursor:not-allowed}.maid-root .pick-name{font-size:13px;font-weight:600}.maid-root .pick-qty{font-size:11px}.maid-root .stock-result-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:10px;min-width:240px;margin-top:12px;padding:16px 20px;display:flex}.maid-root .stock-result-row{justify-content:space-between;gap:16px;font-size:14px;display:flex}.maid-root .stock-txn-list-full{flex-direction:column;gap:6px;display:flex}.maid-root .stock-txn-full-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.maid-root .stock-txn-full-row.txn-row-in{border-left:3px solid #22c55e}.maid-root .stock-txn-full-row.txn-row-out{border-left:3px solid #f59e0b}.maid-root .txn-left{align-items:center;gap:10px;display:flex}.maid-root .txn-right{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.maid-root .txn-qty{font-size:15px;font-weight:700}@media (width<=1180px){.maid-root .stock-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.maid-root .stock-filter-actions{grid-column:1/-1}}@media (width<=760px){.maid-root .stock-page .topbar,.maid-root .stock-page .topbar-actions,.maid-root .stock-filter-actions,.maid-root .stock-modal-actions{flex-direction:column;align-items:stretch}.maid-root .stock-page .topbar-actions>*,.maid-root .stock-filter-actions>*,.maid-root .stock-modal-actions>*{width:100%}.maid-root .stock-summary-grid,.maid-root .stock-filter-panel,.maid-root .stock-form-grid{grid-template-columns:1fr}.maid-root .stock-field-span{grid-column:auto}}.maid-root .leave-form-card{background:#fff;border:1px solid #e5eaf2;border-radius:12px;margin-bottom:8px;padding:20px 24px}.maid-root .leave-form-title{color:#1a2535;align-items:center;gap:8px;margin-bottom:16px;font-size:15px;font-weight:700;display:flex}.maid-root .leave-form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:16px;display:grid}.maid-root .leave-form-field{flex-direction:column;gap:6px;display:flex}.maid-root .leave-select,.maid-root .leave-date-input,.maid-root .leave-notes-input{height:44px;font:inherit;color:#101828;background:#fff;border:1px solid #ccd5e1;border-radius:8px;outline:none;padding:0 12px;font-size:14px;transition:border-color .15s}.maid-root .leave-select:focus,.maid-root .leave-date-input:focus,.maid-root .leave-notes-input:focus{border-color:#1d8f6f}.maid-root .leave-type-toggle{border:1px solid #ccd5e1;border-radius:8px;height:44px;display:flex;overflow:hidden}.maid-root .leave-type-btn{font:inherit;cursor:pointer;color:#64748b;background:#f5f7fa;border:none;flex:1;font-size:13px;font-weight:600;transition:background .15s,color .15s}.maid-root .leave-type-btn+.leave-type-btn{border-left:1px solid #ccd5e1}.maid-root .leave-type-btn.active-leave{color:#991b1b;background:#fee2e2}.maid-root .leave-type-btn.active-ot{color:#065f46;background:#d1fae5}.maid-root .leave-form-actions{justify-content:flex-end;display:flex}.maid-root .leave-month-header{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;display:flex}.maid-root .leave-month-stats{gap:8px;display:flex}.maid-root .leave-stat-chip{border-radius:999px;padding:3px 12px;font-size:13px;font-weight:600}.maid-root .chip-leave{color:#991b1b;background:#fee2e2}.maid-root .chip-ot{color:#065f46;background:#d1fae5}.maid-root .leave-table-wrap{border:1px solid #e5eaf2;border-radius:10px;overflow:hidden}.maid-root .leave-table{margin:0}.maid-root .leave-emp-name{color:#1a2535;font-weight:700}.maid-root .leave-emp-full{color:#64748b;font-size:12px}.maid-root .leave-group-tag{color:#475569;background:#f1f5f9;border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.maid-root .leave-type-badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.maid-root .badge-leave{color:#991b1b;background:#fee2e2}.maid-root .badge-ot{color:#065f46;background:#d1fae5}.maid-root .leave-delete-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:inline-flex}.maid-root .leave-delete-btn:hover{color:#dc2626;background:#fee2e2}.maid-root .form-label{color:#374151;font-size:13px;font-weight:600}.maid-root .sched-month-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.maid-root .sched-month-label{color:#101828;margin:0;font-size:22px;font-weight:700}.maid-root .sched-dirty-badge{color:#92400e;background:#fef3c7;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.maid-root .sched-holiday-count-badge{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.maid-root .sched-day-summary{background:#fff;border:1px solid #e5eaf2;border-radius:14px;margin-bottom:24px;padding:20px 24px}.maid-root .sched-day-summary-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.maid-root .sched-day-summary-head h2{color:#101828;margin:4px 0 0;font-size:20px;font-weight:700}.maid-root .sched-day-picker{color:#475569;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.maid-root .sched-day-picker select{height:36px;font:inherit;color:#101828;cursor:pointer;background:#fff;border:1px solid #ccd5e1;border-radius:8px;outline:none;padding:0 10px;font-size:13px}.maid-root .sched-day-picker select:focus{border-color:#1d8f6f}.maid-root .sched-summary-cards{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.maid-root .sched-summary-card{background:#f8fafc;border:1px solid #e5eaf2;border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.maid-root .sched-summary-card span{color:#64748b;font-size:12px;font-weight:600}.maid-root .sched-summary-card strong{color:#101828;font-size:28px;font-weight:800;line-height:1}.maid-root .sched-card-day{background:#f0fdf9;border-color:#6ee7b7}.maid-root .sched-card-day strong{color:#065f46}.maid-root .sched-card-night{background:#eff6ff;border-color:#93c5fd}.maid-root .sched-card-night strong{color:#1e3a8a}.maid-root .sched-card-off{background:#f8fafc;border-color:#e2e8f0}.maid-root .sched-card-off strong{color:#475569}.maid-root .sched-company-holiday-banner{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:12px 16px;display:flex}.maid-root .sched-company-holiday-banner strong{margin-bottom:6px;font-size:13px;font-weight:700;display:block}.maid-root .sched-holiday-pills{flex-wrap:wrap;gap:6px;display:flex}.maid-root .sched-holiday-pill{color:#9a3412;background:#fed7aa;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.maid-root .sched-off-list{margin-top:12px}.maid-root .sched-off-list strong{color:#374151;margin-bottom:6px;font-size:13px;font-weight:700;display:block}.maid-root .sched-off-pills{flex-wrap:wrap;gap:6px;display:flex}.maid-root .sched-off-pill{color:#475569;background:#f1f5f9;border-radius:999px;padding:3px 12px;font-size:13px;font-weight:600}.maid-root .sched-builder-hint{color:#94a3b8;margin:10px 0 0;font-size:12px}.maid-root .sched-grid-wrap{background:#fff;border:1px solid #e5eaf2;border-radius:14px;margin-bottom:24px;padding:20px 24px;overflow:hidden}.maid-root .sched-scroll{border:1px solid #e5eaf2;border-radius:8px;overflow-x:auto}.maid-root .sched-table{border-collapse:collapse;min-width:100%;font-size:13px}.maid-root .sched-table thead{z-index:2;background:#f8fafc;position:sticky;top:0}.maid-root .sched-th-fixed{z-index:3;white-space:nowrap;color:#374151;text-align:left;background:#f8fafc;border-bottom:2px solid #e5eaf2;border-right:1px solid #e5eaf2;padding:8px 10px;font-size:12px;font-weight:700;position:sticky;left:0}.maid-root .sched-th-num{text-align:center;width:32px}.maid-root .sched-th-emp{min-width:130px}.maid-root .sched-th-code{min-width:100px}.maid-root .sched-th-day{text-align:center;color:#374151;background:#f8fafc;border-bottom:2px solid #e5eaf2;border-right:1px solid #f1f5f9;min-width:30px;padding:5px 3px;font-size:11px;font-weight:700}.maid-root .sched-weekend-header{color:#065f46;background:#f0fdf9!important}.maid-root .sched-holiday-header{color:#c2410c;background:#fff7ed!important}.maid-root .sched-dow{color:#94a3b8;margin-top:1px;font-size:10px;font-weight:600}.maid-root .sched-holiday-header .sched-dow{color:#f97316}.maid-root .sched-weekend-header .sched-dow{color:#10b981}.maid-root .sched-holiday-dot{background:#f97316;border-radius:50%;width:5px;height:5px;margin-top:2px;display:inline-block}.maid-root .sched-td-fixed{z-index:1;white-space:nowrap;background:#fff;border-bottom:1px solid #f1f5f9;border-right:1px solid #e5eaf2;padding:7px 10px;position:sticky;left:0}.maid-root .sched-td-center{text-align:center}.maid-root .sched-emp-name{color:#101828;font-size:13px;font-weight:700}.maid-root .sched-emp-sub{color:#94a3b8;margin-top:1px;font-size:11px}.maid-root .sched-emp-code{color:#64748b;font-size:12px;font-weight:600}.maid-root .sched-cell{text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;width:30px;height:32px;padding:0;font-size:11px;font-weight:700}.maid-root .sched-clickable{cursor:pointer;transition:filter .1s}.maid-root .sched-clickable:hover{filter:brightness(.92)}.maid-root .sched-D{color:#065f46;background:#d1fae5}.maid-root .sched-N{color:#1e40af;background:#dbeafe}.maid-root .sched-off{color:#991b1b;background:#fee2e2}.maid-root .sched-summary-row td{background:#f8fafc;border-top:2px solid #e5eaf2}.maid-root .sched-summary-cell{text-align:center;vertical-align:top;padding:2px 1px;line-height:1.1}.maid-root .sched-sum-d{color:#065f46;font-size:10px;font-weight:700}.maid-root .sched-sum-n{color:#1e40af;font-size:10px;font-weight:700}.maid-root .sched-sum-o{color:#991b1b;font-size:10px;font-weight:700}.maid-root .sched-legend{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.maid-root .sched-leg{border-radius:6px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.maid-root .sched-leg.sched-D{color:#065f46;background:#d1fae5}.maid-root .sched-leg.sched-N{color:#1e40af;background:#dbeafe}.maid-root .sched-leg.sched-off{color:#991b1b;background:#fee2e2}.maid-root .sched-leg.sched-company-holiday-legend{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.maid-root .sched-legend-note{color:#94a3b8;margin-left:auto;font-size:12px}.maid-root .sched-export-section{background:#fff;border:1px solid #e5eaf2;border-radius:14px;margin-bottom:24px;padding:20px 24px}.maid-root .sched-export-card{background:#fff;border:1px solid #e5eaf2;border-radius:10px;margin-top:16px;padding:20px;font-family:Kanit,sans-serif}.maid-root .sched-export-header{margin-bottom:12px}.maid-root .sched-export-title{color:#101828;font-size:18px;font-weight:800}.maid-root .sched-export-sub{color:#64748b;margin-top:2px;font-size:13px}.maid-root .sched-export-divider{border:none;border-top:2px dashed #e5eaf2;margin:24px 0}.maid-root .sched-export-scroll{border:1px solid #e5eaf2;border-radius:6px;overflow-x:auto}.maid-root .sched-export-table{border-collapse:collapse;min-width:100%;font-size:11px}.maid-root .sched-export-table .sched-th-fixed{color:#374151;white-space:nowrap;background:#f8fafc;border-bottom:2px solid #e5eaf2;border-right:1px solid #e5eaf2;padding:6px 8px;font-size:11px;font-weight:700}.maid-root .sched-export-table .sched-th-day{text-align:center;background:#f8fafc;border-bottom:2px solid #e5eaf2;min-width:22px;padding:4px 2px;font-size:10px;font-weight:700}.maid-root .sched-export-table .sched-td-fixed{white-space:nowrap;border-bottom:1px solid #f1f5f9;border-right:1px solid #e5eaf2;padding:5px 8px}.maid-root .sched-export-table .sched-cell{width:22px;height:24px;font-size:11px;font-weight:700}.maid-root .sched-export-legend{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}@media (width<=760px){.maid-root .sched-summary-cards{grid-template-columns:repeat(2,1fr)}.maid-root .sched-legend-note{margin-left:0}.maid-root .sched-day-summary,.maid-root .sched-grid-wrap{padding:16px}}.maid-root .dashboard-stat-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px;display:grid}.maid-root .dashboard-stat-card{background:#fff;border:1px solid #e5eaf2;border-radius:12px;align-items:center;gap:14px;padding:16px 20px;transition:box-shadow .15s;display:flex}.maid-root .dashboard-stat-card.stat-card-warn{background:#fffbeb;border-color:#fbbf24}.maid-root .dashboard-stat-card .stat-icon{color:#64748b;flex-shrink:0}.maid-root .dashboard-stat-card.stat-card-warn .stat-icon{color:#f59e0b}.maid-root .dashboard-stat-card .stat-value{color:#1a2535;font-size:22px;font-weight:700;line-height:1.1}.maid-root .dashboard-stat-card .stat-label{color:#64748b;margin-top:2px;font-size:12px}@media (width<=760px){.maid-root .dashboard-stat-grid{grid-template-columns:1fr 1fr}}.maid-root .stock-action-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.maid-root .stock-action-btn{color:#1a2535;cursor:pointer;background:#fff;border:1px solid #e5eaf2;border-radius:12px;align-items:center;gap:10px;padding:14px 18px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.maid-root .stock-action-btn:hover{background:#f1f5f9;box-shadow:0 2px 8px #00000012}.maid-root .stock-action-btn--out{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.maid-root .stock-action-btn--out:hover{background:#dbeafe}.maid-root .stock-action-btn--in{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.maid-root .stock-action-btn--in:hover{background:#dcfce7}.maid-root .stock-grouped-list{flex-direction:column;gap:16px;display:flex}.maid-root .stock-cat-group{background:#fff;border:1px solid #e5eaf2;border-radius:12px;overflow:hidden}.maid-root .stock-cat-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e5eaf2;padding:8px 14px;font-size:11px;font-weight:700}.maid-root .stock-row-compact{border-bottom:1px solid #f1f5f9;grid-template-columns:1fr 120px 72px;align-items:center;gap:10px;padding:9px 14px;display:grid}.maid-root .stock-row-compact:last-child{border-bottom:none}.maid-root .stock-row-compact.stock-row-warn{background:#fffbeb}.maid-root .stock-row-name{color:#1a2535;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;font-size:13.5px;font-weight:500;display:flex;overflow:hidden}.maid-root .stock-warn-icon{color:#f59e0b;flex-shrink:0}.maid-root .stock-row-bar-wrap{align-items:center;display:flex}.maid-root .stock-bar{background:#e5eaf2;border-radius:99px;width:100%;height:6px;overflow:hidden}.maid-root .stock-bar-fill{border-radius:99px;height:100%;transition:width .3s}.maid-root .stock-bar-ok{background:#22c55e}.maid-root .stock-bar-low{background:#f59e0b}.maid-root .stock-bar-out{background:#ef4444}.maid-root .stock-row-qty{text-align:right;white-space:nowrap;font-size:13.5px;font-weight:700}.maid-root .stock-row-unit{color:#64748b;font-size:12px;font-weight:400}.maid-root .stock-qty-ok{color:#15803d}.maid-root .stock-qty-low{color:#b45309}.maid-root .stock-qty-out{color:#dc2626}.maid-root .stock-txn-compact-list{background:#fff;border:1px solid #e5eaf2;border-radius:12px;flex-direction:column;gap:0;display:flex;overflow:hidden}.maid-root .stock-txn-compact-row{border-bottom:1px solid #f1f5f9;align-items:center;gap:8px;padding:9px 14px;font-size:13px;display:flex}.maid-root .stock-txn-compact-row:last-of-type{border-bottom:none}.maid-root .txn-compact-qty{white-space:nowrap;font-weight:700}.maid-root .stock-txn-compact-list>.secondary-button{color:#475569;background:#f8fafc;border:none;border-top:1px solid #e5eaf2;border-radius:0;font-size:13px}.maid-root .stock-txn-compact-list>.secondary-button:hover{background:#f1f5f9}@media (width<=760px){.maid-root .stock-action-grid{grid-template-columns:1fr 1fr}.maid-root .stock-row-compact{grid-template-columns:1fr 80px 60px;gap:6px}.maid-root .stock-row-bar-wrap{display:none}.maid-root .stock-row-compact{grid-template-columns:1fr 60px}}.maid-root .hist-summary-bar{background:#fff;border:1px solid #e5eaf2;border-radius:12px;align-items:center;gap:0;margin-bottom:12px;padding:10px 16px;display:flex}.maid-root .hist-summary-item{flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.maid-root .hist-summary-in{color:#15803d}.maid-root .hist-summary-out{color:#b45309}.maid-root .hist-summary-num{font-size:18px;font-weight:700}.maid-root .hist-summary-label{color:#64748b;font-size:12px}.maid-root .hist-summary-sep{background:#e5eaf2;flex-shrink:0;width:1px;height:28px}.maid-root .hist-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.maid-root .hist-search-wrap{flex:1;min-width:160px;position:relative}.maid-root .hist-search-icon{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.maid-root .hist-search-input{box-sizing:border-box;color:#1a2535;background:#fff;border:1px solid #e5eaf2;border-radius:8px;outline:none;width:100%;min-height:44px;padding:0 12px 0 30px;font-size:13px;transition:border-color .15s}.maid-root .hist-search-input:focus{border-color:#94a3b8}.maid-root .hist-group-list{flex-direction:column;gap:12px;display:flex}.maid-root .hist-group{background:#fff;border:1px solid #e5eaf2;border-radius:12px;overflow:hidden}.maid-root .hist-date-header{color:#475569;z-index:1;background:#f8fafc;border-bottom:1px solid #e5eaf2;justify-content:space-between;align-items:center;padding:7px 14px;font-size:12px;font-weight:700;display:flex;position:sticky;top:0}.maid-root .hist-date-count{color:#94a3b8;font-size:11px;font-weight:400}.maid-root .hist-rows{flex-direction:column;display:flex}.maid-root .hist-row{border-bottom:1px solid #f1f5f9;grid-template-columns:14px 1fr auto auto auto;align-items:center;gap:10px;padding:9px 14px;font-size:13.5px;display:grid}.maid-root .hist-row:last-child{border-bottom:none}.maid-root .hist-row-in,.maid-root .hist-row-out{background:#fff}.maid-root .hist-row-in:hover,.maid-root .hist-row-out:hover{background:#f8fafc}.maid-root .hist-type-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin:auto}.maid-root .dot-in{background:#22c55e}.maid-root .dot-out{background:#f59e0b}.maid-root .hist-item-name{color:#1a2535;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.maid-root .hist-note{white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:12px;overflow:hidden}.maid-root .hist-qty{white-space:nowrap;text-align:right;font-size:13px;font-weight:700}.maid-root .hist-time{white-space:nowrap;text-align:right;min-width:40px;font-size:12px}@media (width<=600px){.maid-root .hist-toolbar{flex-direction:column;align-items:stretch}.maid-root .hist-note{display:none}.maid-root .hist-row{grid-template-columns:14px 1fr auto auto}}.maid-root .stock-two-col{grid-template-columns:320px 1fr;align-items:start;gap:20px;display:grid}.maid-root .stock-left-panel{flex-direction:column;gap:0;display:flex;position:sticky;top:20px}.maid-root .stock-mini-stats{gap:10px;margin-bottom:12px;display:flex}.maid-root .stock-mini-stat{background:#fff;border:1px solid #e5eaf2;border-radius:10px;flex:1;align-items:center;gap:7px;padding:10px 14px;display:flex}.maid-root .stock-mini-warn{background:#fffbeb;border-color:#fbbf24}.maid-root .stock-mini-icon{color:#94a3b8;flex-shrink:0}.maid-root .stock-mini-warn .stock-mini-icon{color:#f59e0b}.maid-root .stock-mini-num{color:#1a2535;font-size:20px;font-weight:700;line-height:1}.maid-root .stock-mini-label{color:#64748b;font-size:11px}.maid-root .stock-left-panel .stock-action-grid{grid-template-columns:1fr 1fr;margin-bottom:20px}.maid-root .stock-left-panel .stock-action-btn{padding:12px 14px;font-size:13px}.maid-root .stock-recent-list{background:#fff;border:1px solid #e5eaf2;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.maid-root .stock-recent-row{border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;padding:9px 12px;display:flex}.maid-root .stock-recent-row:last-of-type{border-bottom:none}.maid-root .stock-recent-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.maid-root .stock-recent-info{flex-direction:column;flex:1;min-width:0;display:flex}.maid-root .stock-recent-name{color:#1a2535;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.maid-root .stock-recent-note{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.maid-root .stock-recent-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:1px;display:flex}.maid-root .stock-recent-list>.secondary-button{color:#475569;background:#f8fafc;border:none;border-top:1px solid #e5eaf2;border-radius:0;padding:9px;font-size:12px}.maid-root .stock-recent-list>.secondary-button:hover{background:#f1f5f9}.maid-root .stock-right-panel{min-width:0}@media (width<=860px){.maid-root .stock-two-col{grid-template-columns:1fr}.maid-root .stock-left-panel{position:static}.maid-root .stock-left-panel .stock-action-grid{margin-bottom:0}}.maid-root .stock-charts-section{border-top:1px solid #e5eaf2;margin-top:24px;padding-top:20px}.maid-root .stock-charts-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.maid-root .stock-chart-card{background:#fff;border:1px solid #e5eaf2;border-radius:14px;padding:16px 18px 12px}.maid-root .stock-chart-title{color:#1a2535;margin-bottom:4px;font-size:13px;font-weight:700}.maid-root .stock-chart-legend{color:#64748b;align-items:center;gap:12px;margin-bottom:10px;font-size:11px;display:flex}.maid-root .stock-legend-dot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}@media (width<=860px){.maid-root .stock-charts-grid{grid-template-columns:1fr}}
