@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.screen-watermark{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;pointer-events:none!important;user-select:none;-webkit-user-select:none;overflow:hidden;opacity:.07}.screen-watermark *{pointer-events:none!important}.screen-watermark-grid{position:absolute;top:-80px;right:0;bottom:-80px;left:0;display:grid;grid-auto-rows:230px;align-content:start}.screen-watermark-cell{display:flex;justify-content:center;align-items:center;min-width:0}.screen-watermark-mark{display:flex;flex-direction:column;align-items:center;gap:4px;transform:rotate(-28deg);width:max-content;max-width:94%}.screen-watermark-name{color:#253247;font:600 17px/1.15 sans-serif;font-size:var(--watermark-name-size, 17px);display:block;width:max-content;max-width:none;white-space:nowrap;overflow-wrap:normal;transform-origin:center center;transform:scaleX(var(--watermark-name-scale, 1));text-align:center;text-shadow:0 0 1px white,0 0 2px white}.screen-watermark-mark img{width:140px;height:auto;aspect-ratio:3 / 1;flex-shrink:0;object-fit:contain;max-width:100%;filter:brightness(0) drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff)}.admin-watermark-control{display:inline-flex;align-items:center;gap:4px;padding:2px 5px;background:#f8fafc;border:1px solid #dbe3ed;border-radius:8px;color:#475569;font-size:10px;min-height:24px;flex-shrink:0;cursor:pointer}.admin-topbar-role:has(.admin-watermark-control){display:flex;align-items:center;gap:5px}.admin-watermark-control span{color:#047857;font-weight:700}.admin-watermark-control[aria-checked=false] span{color:#64748b}.admin-watermark-control:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}.screen-watermark-error{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:2147483647;max-width:90vw;padding:10px 16px;border-radius:8px;background:#fff1f2;color:#9f1239;pointer-events:none}@media (max-width: 600px){.screen-watermark-grid{grid-auto-rows:190px}.screen-watermark-name{font-size:var(--watermark-name-size, 14px)}.screen-watermark-mark img{width:150px}.admin-watermark-control{padding:2px 4px;gap:3px}.admin-topbar{gap:8px;padding:0 8px}.admin-topbar-logo-img{max-width:100px}.admin-topbar-avatar{display:none}.admin-topbar-user{min-width:0;gap:8px}.admin-topbar-email{max-width:80px}}.screen-watermark[data-employee-watermark=true] .screen-watermark-name{font-size:var(--watermark-name-size, 17px)}.screen-watermark[data-employee-watermark=true] .screen-watermark-mark img{width:140px}@media print{.screen-watermark{position:fixed;print-color-adjust:exact;-webkit-print-color-adjust:exact}.admin-watermark-control,.screen-watermark-error{display:none}}:root{--primary: #5B6CF6;--primary-light: #EEF0FF;--primary-dark: #4556E0;--success: #22C55E;--success-light: #DCFCE7;--success-text: #15803D;--danger: #EF4444;--danger-light: #FEE2E2;--danger-text: #B91C1C;--warning: #F59E0B;--warning-light: #FEF3C7;--warning-text: #92400E;--info: #3B82F6;--info-light: #DBEAFE;--info-text: #1D4ED8;--header-bg: #FFFFFF;--header-text: #1E2A3B;--header-border: rgba(91,108,246,.15);--sidebar-bg: #F0F2FF;--sidebar-bg2: #FAFBFF;--sidebar-border: #E0E4FF;--menu-hover-bg: #F4F6FB;--menu-active-bg: #EEF0FF;--menu-active-text: #5B6CF6;--menu-active-border: #5B6CF6;--card-bg: #FFFFFF;--card-border: #E8ECF4;--table-header-bg: #F4F6FB;--table-header-text: #64748B;--table-row-hover: #FAFBFD;--table-cell-text: #1E2A3B;--table-border: #E8ECF4;--table-divider: #F4F6FB;--input-bg: #FFFFFF;--input-border: #E8ECF4;--input-text: #1E2A3B;--input-placeholder: #A0ADBF;--label-color: #64748B;--btn-bg: #5B6CF6;--btn-text: #FFFFFF;--btn-hover: #4556E0;--bg: #F4F6FB;--surface: #FFFFFF;--border: #E8ECF4;--text-primary: #1E2A3B;--text-secondary: #64748B;--text-muted: #A0ADBF;--stat-bg: #FFFFFF;--stat-border: #E8ECF4;--stat-label: #64748B;--stat-value: #1E2A3B;--stat-sub: #A0ADBF;--stat-income-bg: #F0FDF4;--stat-income-value: #15803D;--stat-income-label: #22C55E;--stat-expense-bg: #FFF5F5;--stat-expense-value: #991B1B;--stat-expense-label: #EF4444;--stat-warning-bg: #FFFBEB;--stat-warning-value: #92400E;--stat-warning-label: #F59E0B;--stat-primary-bg: #EEF0FF;--stat-primary-color: #5B6CF6;--pick-outline: #5B6CF6;--shadow-sm: 0 1px 3px rgba(30,42,59,.06), 0 1px 2px rgba(30,42,59,.04);--shadow-md: 0 4px 12px rgba(30,42,59,.08), 0 2px 4px rgba(30,42,59,.04);--shadow-lg: 0 10px 30px rgba(30,42,59,.1), 0 4px 8px rgba(30,42,59,.06);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--sidebar-width: 130px;--header-height: 60px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Segoe UI,sans-serif;color:var(--text-primary);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;background:#F4F6FA;min-height:100vh}.app-container{display:flex;height:100vh;overflow:hidden;background:#F4F6FA}.sidebar{width:220px;background:#FFFFFF;border-right:1px solid #E8ECF4;display:flex;flex-direction:column;height:100vh;flex-shrink:0;overflow:hidden;position:sticky;top:0;align-self:flex-start}.sidebar-brand{display:flex;flex-direction:column;align-items:center;padding:.1rem .75rem 0;border-bottom:1px solid #E8ECF4;flex-shrink:0}.sidebar-logo-img{width:100%;max-width:160px;height:auto;object-fit:contain}.sidebar-nav{flex:1;overflow-y:auto;padding:0 .75rem .75rem;margin-top:-.5rem;display:flex;flex-direction:column;gap:2px}.menu-item{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.7rem;padding:.6rem .875rem;background:none;border:none;color:#1e2a3b;cursor:pointer;text-align:left;font-size:.875rem;font-weight:500;border-radius:8px;transition:background .12s ease,color .12s ease;width:100%;font-family:inherit}.menu-item:hover{background:#F4F6FB;color:#1e2a3b}.menu-item.active{background:#EEF4FF;color:#2563eb;font-weight:600}.menu-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;font-size:1rem}.menu-label{line-height:1.3;font-size:.875rem}.menu-label-sub{font-size:.75rem;opacity:.7}.menu-badge{margin-left:auto;min-width:18px;height:18px;padding:0 4px;background:#EF4444;color:#fff;font-size:.65rem;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.sidebar-user{display:flex;align-items:center;gap:.6rem;padding:.875rem 1rem;border-top:1px solid #E8ECF4;flex-shrink:0}.sidebar-avatar{width:32px;height:32px;background:#EEF4FF;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#2563eb;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-weight:600;font-size:.8rem;color:#1e2a3b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.7rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.sidebar-logout-btn{background:none;border:none;color:#94a3b8;cursor:pointer;padding:.3rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s;flex-shrink:0}.sidebar-logout-btn:hover{background:#FEE2E2;color:#ef4444}.content{flex:1;padding:1.5rem 1.75rem;overflow-y:auto;height:100vh;background:#F4F6FA;min-width:0}.content-section h2{color:var(--text-primary);margin-bottom:1.25rem;font-size:1.4rem;font-weight:700;letter-spacing:-.4px;border-left:4px solid var(--primary);padding-left:.75rem}.card{background:var(--card-bg);border-radius:14px;padding:1.25rem;border:1.5px solid var(--card-border);box-shadow:0 2px 8px #1e2a3b0d}.card:has(form){background:var(--table-header-bg)}.content-section{padding:0}.stock-table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--card-bg);border-radius:14px;overflow:hidden;border:1.5px solid var(--table-border)}.stock-table th{background:var(--table-header-bg);color:var(--table-header-text);padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.4px;border-bottom:1.5px solid var(--table-border);white-space:nowrap}.stock-table td{padding:.8rem 1rem;border-bottom:1px solid var(--table-divider);color:var(--table-cell-text);vertical-align:middle}.stock-table tr:last-child td{border-bottom:none}.stock-table tr:hover td{background:var(--table-row-hover)}.attendance-table th{padding:.5rem .4rem;font-size:.72rem;white-space:nowrap}.attendance-table td{padding:.4rem;font-size:.72rem}.attendance-table button{padding:.2rem .4rem!important;font-size:.68rem!important}.status-badge{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:20px;font-size:.75rem;font-weight:600;line-height:1}.status-badge.available{background:var(--success-light);color:#15803d}.status-badge.low{background:var(--warning-light);color:#92400e}.production-form{max-width:100%}.form-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:.75rem}.form-row.single{grid-template-columns:1fr}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group label{color:var(--label-color);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.4px}.form-input,.form-select{width:100%;padding:.6rem .875rem;border:1.5px solid var(--input-border);border-radius:8px;font-size:.875rem;font-family:Inter,Segoe UI,sans-serif;color:var(--input-text);background:var(--input-bg);transition:border-color .15s,box-shadow .15s;outline:none}.form-input:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #5b6cf61a}.form-input::placeholder{color:var(--input-placeholder)}.file-input{font-size:.82rem;cursor:pointer;max-width:100%}.image-preview{display:inline-flex;align-items:center;margin-top:.35rem;gap:.4rem}.image-preview img{width:52px;height:52px;border-radius:6px;object-fit:cover;border:1px solid #E8ECF4}.submit-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.4rem;background:var(--btn-bg);color:var(--btn-text);border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;font-family:Inter,Segoe UI,sans-serif;line-height:1}.submit-btn:hover:not(:disabled){background:var(--btn-hover);box-shadow:0 4px 12px #5b6cf64d;transform:translateY(-1px)}.submit-btn:active:not(:disabled){transform:translateY(0)}.wage-display{background:var(--primary-light);padding:1.25rem;border-radius:var(--radius-lg);border:1.5px solid rgba(91,108,246,.2);margin-bottom:1.25rem}.wage-amount{font-size:1.75rem;font-weight:800;color:var(--primary);margin-top:.4rem;letter-spacing:-.5px}.wage-calculation{font-size:.82rem;color:var(--text-secondary);margin-top:.4rem}.chat-container{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);display:flex;flex-direction:column;height:580px;overflow:hidden}.chat-messages{flex:1;padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.message{display:flex;margin-bottom:.25rem;width:100%}.message-content{max-width:68%;padding:.65rem 1rem;border-radius:16px;position:relative;word-wrap:break-word;font-size:.875rem;line-height:1.5}.message-time{font-size:.7rem;opacity:.65;display:block;margin-top:.25rem}.chat-input{display:flex;padding:1rem;border-top:1px solid var(--border);gap:.5rem;background:var(--bg)}.chat-input input{flex:1;padding:.6rem 1rem;border:1.5px solid var(--border);border-radius:24px;font-size:.875rem;font-family:inherit;background:var(--surface);outline:none;transition:border-color .15s}.chat-input button{padding:.6rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:24px;cursor:pointer;font-size:.875rem;font-weight:600;font-family:inherit;transition:background .15s}.chat-input button:hover{background:var(--primary-dark)}@media (min-width: 1280px){.sidebar{width:260px}.sidebar-logo-img{max-width:190px}.menu-item{padding:.75rem 1.1rem;gap:.85rem;font-size:.9rem}.menu-label{font-size:.82rem}.menu-icon{font-size:1.1rem}.sidebar-nav{padding:1rem;gap:3px}.sidebar-brand{padding:.1rem 1rem 0}.sidebar-db-size{margin-bottom:1.5rem}}@media (max-width: 1100px){:root{--sidebar-width: 110px}.content{padding:1.25rem 1rem}.app-header{padding:0 1rem}}@media (max-width: 850px){:root{--sidebar-width: 90px}.app-header h1{font-size:.88rem}.menu-label{font-size:.66rem}.content{padding:1rem .875rem}.form-row{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width: 680px){:root{--sidebar-width: 70px;--header-height: 52px}.app-header{padding:0 .75rem}.app-header h1{font-size:.8rem}.sidebar{padding:.75rem .25rem}.menu-item{padding:.55rem .15rem;gap:.2rem}.menu-label{font-size:.6rem}.content{padding:.875rem .625rem}.form-row{grid-template-columns:1fr 1fr}.user-info{gap:.4rem}.logout-btn{padding:.4rem .7rem;font-size:.75rem}}@media (max-width: 480px){:root{--sidebar-width: 56px;--header-height: 50px}.menu-label{display:none}.menu-item{padding:.65rem .1rem;border-radius:8px}.menu-icon{width:24px;height:24px}.content{padding:.75rem .5rem}.app-header h1{display:none}.user-info>div:first-child>div:first-child>span:not(.badge-modern){max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{padding:.35rem .55rem;font-size:.72rem}.form-row{grid-template-columns:1fr}.message-content{max-width:85%}}@media (max-width: 850px){.stock-table-wrapper,.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px;border:1.5px solid var(--table-border);margin-bottom:1.25rem}.stock-table-wrapper .stock-table,.table-scroll .stock-table{border-radius:0;border:none}}@media (max-width: 600px){.modal-overlay{align-items:flex-end;padding:0}.modal-box,.modal-content{width:100%!important;max-width:100%!important;border-radius:20px 20px 0 0;max-height:90vh;overflow-y:auto}}.app-container{background-image:var(--bg-image, none);background-size:cover;background-position:center;background-attachment:fixed;min-height:100vh}.app-header{background:rgba(255,255,255,.11)!important;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.26);box-shadow:0 8px 32px #00000038,inset 0 1.5px #ffffff7a}.sidebar{background:rgba(255,255,255,.1)!important;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.22);box-shadow:4px 0 28px #0003,inset 1.5px 0 #ffffff61;padding:1rem .6rem}.view-only-mode .btn-primary,.view-only-mode .btn-danger,.view-only-mode .btn-success,.view-only-mode .account-tab-add{display:none!important}.view-only-mode form input,.view-only-mode form select,.view-only-mode form textarea{pointer-events:none}.view-only-mode form{pointer-events:none;opacity:.6}.admin-topbar{position:fixed;top:0;left:220px;right:0;height:84px;background:#F5F7FB;border-bottom:1px solid #E8ECF4;box-shadow:0 1px 4px #1e2a3b12;display:flex;align-items:center;padding:0 1.25rem;gap:1rem;z-index:99}.admin-topbar-logo-img{max-height:48px;max-width:200px;object-fit:contain}.admin-topbar-spacer{flex:1}.admin-topbar-storage{font-size:.68rem;color:#64748b;line-height:1.65;padding:0 1rem;border-left:1px solid #E8ECF4;border-right:1px solid #E8ECF4}.admin-topbar-storage-total{border-top:1px solid #f1f5f9;margin-top:2px;padding-top:2px;color:#475569}.admin-topbar-user{display:flex;align-items:center;gap:.6rem}.admin-topbar-avatar{width:32px;height:32px;background:#EEF4FF;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.82rem;color:#2563eb;flex-shrink:0}.admin-topbar-email{font-size:.78rem;font-weight:600;color:#1e293b;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-topbar-role{font-size:.67rem;color:#64748b}.admin-topbar-logout{width:34px;height:34px;background:#F97316;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}.admin-topbar-logout:hover{background:#EA580C}.admin-layout .content,.staff-layout .content{padding-top:calc(84px + 1.5rem)}.admin-layout .sidebar,.staff-layout .sidebar{z-index:100}@media (min-width: 1280px){.admin-topbar{left:260px}}@media (max-width: 1100px){.admin-topbar{left:220px}}@media (max-width: 850px){.admin-topbar{left:220px;padding:0 .75rem;gap:.75rem}.admin-topbar-storage{display:none}}@media (max-width: 680px){.admin-topbar{left:180px}}@media (max-width: 480px){.admin-topbar{left:56px}.admin-topbar-email{max-width:100px}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.section-header h2,.section-header h3{margin:0;font-weight:700;color:#1e2a3b;letter-spacing:-.3px}.section-title{font-size:1.1rem;font-weight:700;color:#1e2a3b;margin:0 0 1rem;letter-spacing:-.3px}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border:none;border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:600;font-family:Inter,Segoe UI,sans-serif;transition:background .15s,box-shadow .15s,transform .1s;white-space:nowrap;line-height:1}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--btn-bg, #5B6CF6);color:var(--btn-text, white)}.btn-primary:hover:not(:disabled){background:var(--btn-hover, #4556E0);box-shadow:0 3px 10px #5b6cf64d}.btn-success{background:var(--btn-success-bg, #22C55E);color:#fff}.btn-success:hover:not(:disabled){background:var(--btn-success-hover, #16A34A);box-shadow:0 3px 10px #22c55e4d}.btn-danger{background:var(--btn-danger-bg, #EF4444);color:#fff}.btn-danger:hover:not(:disabled){background:var(--btn-danger-hover, #DC2626);box-shadow:0 3px 10px #ef44444d}.btn-secondary{background:var(--btn-secondary-bg, #F4F6FB);color:var(--btn-secondary-text, #64748B);border:1.5px solid var(--border, #E8ECF4)}.btn-secondary:hover:not(:disabled){background:var(--border, #E8ECF4);color:var(--text-primary, #1E2A3B)}.btn-warning{background:var(--btn-warning-bg, #F59E0B);color:#fff}.btn-warning:hover:not(:disabled){background:var(--btn-warning-hover, #D97706)}.btn-outline{background:transparent;color:var(--btn-bg, #5B6CF6);border:1.5px solid var(--btn-bg, #5B6CF6)}.btn-outline:hover:not(:disabled){background:var(--primary-light, #EEF0FF)}.btn-sm{padding:.35rem .75rem;font-size:.75rem}.btn-lg{padding:.75rem 1.75rem;font-size:.95rem;border-radius:10px}.filter-box{background:#FAFBFF;border:1.5px solid #E8ECF4;border-radius:14px;padding:1rem 1.25rem;margin-bottom:1.25rem}.filter-box-title{font-size:.78rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.filter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.625rem}.filter-grid input,.filter-grid select{width:100%;padding:.55rem .75rem;border:1.5px solid #E8ECF4;border-radius:8px;font-size:.85rem;font-family:Inter,Segoe UI,sans-serif;color:#1e2a3b;background:#FAFBFD;outline:none;transition:border-color .15s,box-shadow .15s}.filter-grid input:focus,.filter-grid select:focus{border-color:#5b6cf6;box-shadow:0 0 0 3px #5b6cf61a;background:#FFFFFF}.filter-grid input::placeholder{color:#a0adbf}.date-lbl-wrap{display:inline-flex;flex-direction:column;gap:1px;width:100%}.date-lbl-wrap:before{content:attr(data-label);font-size:.62rem;color:#94a3b8;font-weight:500;line-height:1.2;padding-left:2px}.date-lbl-wrap input{width:100%}.filter-input,.filter-select{padding:.55rem .75rem;border:1.5px solid #E8ECF4;border-radius:8px;font-size:.85rem;font-family:Inter,Segoe UI,sans-serif;color:#1e2a3b;background:#FAFBFD;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.filter-input:focus,.filter-select:focus{border-color:#5b6cf6;box-shadow:0 0 0 3px #5b6cf61a;background:#FFFFFF}.filter-input::placeholder{color:#a0adbf}.filter-summary{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #E8ECF4;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.filter-tag{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:600;background:#F4F6FB;color:#64748b;border:1px solid #E8ECF4}.filter-tag.income{background:#DCFCE7;color:#15803d;border-color:#22c55e33}.filter-tag.expense{background:#FEE2E2;color:#991b1b;border-color:#ef444433}.stat-cards{display:flex;flex-direction:row;align-items:stretch;gap:.875rem;margin-bottom:1.25rem;flex-wrap:wrap}.stat-card{flex:1 1 0;min-width:140px;min-height:86px;background:var(--stat-bg, #FFFFFF);border:1.5px solid var(--stat-border, #E8ECF4);border-radius:14px;padding:1rem 1.25rem;display:flex;flex-direction:column;justify-content:center;gap:.25rem;box-sizing:border-box;box-shadow:0 2px 8px #5b6cf60f,0 1px 3px #1e2a3b0a}.stat-card-value,.stat-value{font-size:1.35rem;font-weight:800;color:var(--stat-value, #1E2A3B);letter-spacing:-.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card-label,.stat-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--stat-label, #64748B);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card-sub{font-size:.72rem;color:var(--stat-sub, #A0ADBF)}.stat-card-period{font-size:.58rem;font-weight:600;color:var(--stat-period, #94A3B8);letter-spacing:.2px;margin-top:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-picker-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.month-picker-row span{font-size:.75rem;font-weight:700;color:#64748b;white-space:nowrap}.month-picker-row input[type=month]{font-size:.8rem;padding:.28rem .55rem;border:1.5px solid #e2e8f0;border-radius:8px;color:#374151;background:#f8fafc;cursor:pointer;outline:none;transition:border-color .15s}.month-picker-row input[type=month]:hover,.month-picker-row input[type=month]:focus{border-color:#667eea}.month-picker-row input[type=month]:disabled{background:#f1f5f9;border-color:#e2e8f0;pointer-events:none}.month-picker-hint{font-size:.7rem;color:#9ca3af;font-style:italic;white-space:nowrap}.stat-card.income{border-color:color-mix(in srgb,var(--stat-income-label,#22C55E) 20%,transparent);background:var(--stat-income-bg, #F0FDF4)}.stat-card.income .stat-card-value,.stat-card.income .stat-value{color:var(--stat-income-value, #15803D)}.stat-card.income .stat-card-label,.stat-card.income .stat-label{color:var(--stat-income-label, #22C55E)}.stat-card.expense{border-color:color-mix(in srgb,var(--stat-expense-label,#EF4444) 20%,transparent);background:var(--stat-expense-bg, #FFF5F5)}.stat-card.expense .stat-card-value,.stat-card.expense .stat-value{color:var(--stat-expense-value, #991B1B)}.stat-card.expense .stat-card-label,.stat-card.expense .stat-label{color:var(--stat-expense-label, #EF4444)}.stat-card.profit-pos{border-color:color-mix(in srgb,var(--stat-income-label,#22C55E) 20%,transparent);background:var(--stat-income-bg, #F0FDF4)}.stat-card.profit-pos .stat-card-value,.stat-card.profit-pos .stat-value{color:var(--stat-income-value, #15803D)}.stat-card.profit-neg{border-color:color-mix(in srgb,var(--stat-expense-label,#EF4444) 20%,transparent);background:var(--stat-expense-bg, #FFF5F5)}.stat-card.profit-neg .stat-card-value,.stat-card.profit-neg .stat-value{color:var(--stat-expense-value, #991B1B)}.stat-card.primary{border-color:color-mix(in srgb,var(--stat-primary-color,#5B6CF6) 20%,transparent);background:var(--stat-primary-bg, #EEF0FF)}.stat-card.primary .stat-card-value,.stat-card.primary .stat-value,.stat-card.primary .stat-card-label,.stat-card.primary .stat-label{color:var(--stat-primary-color, #5B6CF6)}.stat-card.warning{border-color:color-mix(in srgb,var(--stat-warning-label,#F59E0B) 20%,transparent);background:var(--stat-warning-bg, #FFFBEB)}.stat-card.warning .stat-card-value,.stat-card.warning .stat-value{color:var(--stat-warning-value, #92400E)}.stat-card.warning .stat-card-label,.stat-card.warning .stat-label{color:var(--stat-warning-label, #F59E0B)}body.theme-picking .stat-card{cursor:crosshair!important;position:relative;transition:outline .1s,box-shadow .1s}body.theme-picking .stat-card:after{content:"🎨";position:absolute;top:5px;right:6px;font-size:13px;pointer-events:none;opacity:.7}body.theme-picking .stat-card:hover{outline:2.5px dashed var(--pick-outline, #5B6CF6);outline-offset:3px;box-shadow:0 0 0 5px #5b6cf61a;z-index:1}.form-section{background:#F4F6FB;border:1.5px solid #E8ECF4;border-radius:14px;padding:1.25rem;margin-bottom:1.25rem}.form-section-title{font-size:.9rem;font-weight:700;color:#1e2a3b;margin-bottom:1rem}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field label{font-size:.78rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.field-input{padding:.6rem .875rem;border:1.5px solid #E8ECF4;border-radius:8px;font-size:.875rem;font-family:Inter,Segoe UI,sans-serif;color:#1e2a3b;background:#FFFFFF;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.field-input:focus{border-color:#5b6cf6;box-shadow:0 0 0 3px #5b6cf61a}.field-input::placeholder{color:#a0adbf}.data-table-wrap{background:#FFFFFF;border-radius:14px;border:1.5px solid #E8ECF4;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;margin-bottom:1.25rem}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{background:#F4F6FB;color:#64748b;padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.4px;border-bottom:1.5px solid #E8ECF4;white-space:nowrap}.data-table td{padding:.8rem 1rem;border-bottom:1px solid #F4F6FB;color:#1e2a3b;vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#FAFBFD}.data-table.compact{font-size:.78rem}.data-table.compact th{padding:.5rem .55rem;font-size:.66rem;letter-spacing:.2px}.data-table.compact td{padding:.45rem .55rem}.badge-modern{display:inline-flex;align-items:center;padding:.22rem .65rem;border-radius:20px;font-size:.72rem;font-weight:700;line-height:1}.badge-modern.green{background:#DCFCE7;color:#15803d}.badge-modern.red{background:#FEE2E2;color:#991b1b}.badge-modern.yellow{background:#FEF3C7;color:#92400e}.badge-modern.blue{background:#DBEAFE;color:#1d4ed8}.badge-modern.purple{background:#EDE9FE;color:#6d28d9}.badge-modern.gray{background:#F4F6FB;color:#64748b}.chart-box{background:#FFFFFF;border:1.5px solid #E8ECF4;border-top:3px solid #5B6CF6;border-radius:14px;padding:1.25rem;margin-bottom:1.25rem}.chart-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.875rem;flex-wrap:wrap}.chart-title{font-weight:700;color:#1e2a3b;font-size:.9rem}.chart-nav-btn{background:#F4F6FB;border:1.5px solid #E8ECF4;border-radius:6px;padding:.2rem .6rem;cursor:pointer;color:#64748b;font-weight:700;font-size:.9rem;line-height:1;transition:all .15s}.chart-nav-btn:hover{background:#5B6CF6;color:#fff;border-color:#5b6cf6}.chart-period{font-weight:700;color:#1e2a3b;min-width:140px;text-align:center;font-size:.9rem}.chart-legend{margin-left:auto;display:flex;gap:1rem;align-items:center}.chart-legend-item{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:#64748b;font-weight:500}.chart-legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.account-tabs{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.account-tab{padding:.35rem .875rem;border-radius:20px;border:1.5px solid #E8ECF4;cursor:pointer;font-weight:600;font-size:.8rem;background:#FFFFFF;color:#64748b;transition:all .15s;font-family:Inter,Segoe UI,sans-serif}.account-tab:hover{border-color:#5b6cf6;color:#5b6cf6}.account-tab.active{background:#5B6CF6;color:#fff;border-color:#5b6cf6}.account-tab-add{padding:.35rem .75rem;border-radius:20px;border:1.5px dashed #E8ECF4;cursor:pointer;font-weight:700;font-size:.85rem;background:transparent;color:#a0adbf;font-family:Inter,Segoe UI,sans-serif;transition:all .15s}.account-tab-add:hover{border-color:#5b6cf6;color:#5b6cf6}.info-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#EEF0FF;border:1.5px solid rgba(91,108,246,.2);border-radius:10px;margin-bottom:1rem;font-size:.85rem;color:#5b6cf6;font-weight:500}.info-banner.success{background:#F0FDF4;border-color:#22c55e33;color:#15803d}.info-banner.warning{background:#FFFBEB;border-color:#f59e0b33;color:#92400e}.info-banner.danger{background:#FFF5F5;border-color:#ef444433;color:#991b1b}.img-upload-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:#F4F6FB;border:1.5px dashed #C4CADC;border-radius:10px;cursor:pointer;font-size:.875rem;font-weight:600;color:#64748b;transition:all .15s;font-family:Inter,Segoe UI,sans-serif}.img-upload-btn:hover{border-color:#5b6cf6;color:#5b6cf6;background:#EEF0FF}.img-upload-btn.has-image{border-style:solid;border-color:#22c55e;color:#15803d;background:#F0FDF4}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-box{background:#FFFFFF;border-radius:16px;box-shadow:0 20px 60px #1e2a3b40;max-width:500px;width:100%;border:1px solid #E8ECF4;overflow:hidden}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid #E8ECF4;font-weight:700;font-size:1rem;color:#1e2a3b;display:flex;justify-content:space-between;align-items:center}.modal-body{padding:1.25rem 1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #E8ECF4;display:flex;gap:.75rem;justify-content:flex-end}.modal-close{background:none;border:none;cursor:pointer;color:#a0adbf;font-size:1.2rem;padding:.1rem;line-height:1}.modal-close:hover{color:#1e2a3b}.load-more-wrap{text-align:center;padding:1rem 0 .25rem}.empty-state{text-align:center;padding:3rem 2rem;color:#a0adbf}.empty-state-icon{font-size:2.5rem;margin-bottom:.75rem}.empty-state-text{font-size:.9rem;font-weight:500}@media (max-width: 640px){.data-table-wrap{overflow-x:unset;overflow-y:visible;background:transparent;border:none;border-radius:0;padding:0}.data-table{display:block}.data-table thead{display:none}.data-table tbody{display:block}.data-table tr{display:block;background:#FFFFFF;border-radius:12px;border:1.5px solid #E8ECF4;margin-bottom:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000000f}.data-table td{display:flex;align-items:center;padding:.45rem .85rem;border-bottom:1px solid #F4F6FB;font-size:.82rem;gap:.5rem;min-height:36px;flex-wrap:wrap}.data-table td[data-label]:before{content:attr(data-label) " ";font-weight:600;color:#64748b;font-size:.68rem;min-width:80px;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px}.data-table td:last-child{border-bottom:none}.data-table tr[style*="background: rgb(238, 242, 255)"],.data-table tr[style*="background:#eef2ff"]{border-color:#a5b4fc}}.tab-scroll-bar{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;cursor:grab;-webkit-user-select:none;user-select:none;border-bottom:2px solid #E8ECF4;margin-bottom:1.25rem}.tab-scroll-bar::-webkit-scrollbar{display:none}.tab-scroll-bar:active{cursor:grabbing}.tab-scroll-bar>button{flex-shrink:0}.mobile-app{background:#F4F6FA!important;background-image:none!important;min-height:100vh!important}.mobile-header{background:#FFFFFF!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:1px solid #E8ECF4!important;box-shadow:0 1px 3px #1e2a3b0f!important;color:#1e2a3b!important}.mobile-header h1{color:#2563eb!important;text-shadow:none!important}.mobile-logout-btn{background:#EEF4FF!important;color:#2563eb!important;border:none!important}.mobile-logout-btn:active{background:#2563EB!important;color:#fff!important}.mobile-nav{background:#FFFFFF!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-top:1px solid #E8ECF4!important;box-shadow:0 -1px #e8ecf4,0 -4px 20px #1e2a3b0f!important}.nav-btn{color:#a0adbf!important}.nav-btn.active{color:#2563eb!important}.nav-label{color:inherit!important}.mobile-card{background:#FFFFFF!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid #E8ECF4!important;box-shadow:0 2px 8px #1e2a3b0f!important}.time-tracking-overlay,.time-tracking-modal,.mobile-modal{background:#FFFFFF!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid #E8ECF4!important;box-shadow:0 8px 40px #1e2a3b24!important}*{box-sizing:border-box;margin:0;padding:0}.login-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:#F4F6FA;position:relative}.login-box{background:#FFFFFF;padding:2.75rem 2.5rem;border-radius:20px;width:100%;max-width:400px;position:relative;z-index:1;border:1px solid #E8ECF4;box-shadow:0 4px 24px #1e2a3b14,0 1px 4px #1e2a3b0a}.login-box h1{text-align:center;color:#1e2a3b;margin-bottom:.4rem;font-size:1.5rem;font-weight:800;letter-spacing:-.5px}.login-box .login-subtitle{text-align:center;color:#64748b;font-size:.875rem;margin-bottom:2rem}.form-group{margin-bottom:1.1rem}.form-group label{display:block;margin-bottom:.4rem;color:#64748b;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}.form-group input{width:100%;padding:.7rem 1rem;border:1.5px solid #E8ECF4;border-radius:10px;font-size:.9rem;font-family:inherit;color:#1e2a3b;background:#FFFFFF;transition:border-color .15s,box-shadow .15s;outline:none}.form-group input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group input::placeholder{color:#a0adbf}.remember-me{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}.remember-me input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#2563EB}.remember-me label{margin:0;cursor:pointer;color:#64748b;font-size:.85rem;font-weight:500}.error-message{background:#FEF2F2;color:#b91c1c;padding:.7rem 1rem;border-radius:10px;margin-bottom:1rem;text-align:center;font-size:.85rem;font-weight:500;border:1px solid #FECACA}.login-btn{width:100%;padding:.85rem;background:#2563EB;color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s,box-shadow .15s,transform .1s;letter-spacing:.2px;box-shadow:0 2px 8px #2563eb40}.login-btn:hover:not(:disabled){background:#1D4ED8;box-shadow:0 4px 14px #2563eb59;transform:translateY(-1px)}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.55;cursor:not-allowed}.employee-access-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;box-sizing:border-box;background:#f4f6fb;color:#1e293b}.employee-access-card{width:min(460px,100%);padding:28px;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:18px;text-align:center;box-shadow:0 12px 32px #1e293b0a}.employee-access-card h1{margin:0 0 14px;font-size:1.35rem}.employee-access-card p{color:#64748b;line-height:1.7}.employee-access-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.employee-access-actions button,.employee-access-controls button{border:0;border-radius:9px;padding:10px 14px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;background:#4f46e5;color:#fff}.employee-access-actions button:disabled,.employee-access-controls button:disabled{opacity:.55;cursor:not-allowed}.employee-access-actions .employee-access-secondary{background:#f1f5f9;color:#475569}.employee-access-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:8px}.employee-access-controls{display:flex;align-items:center}.employee-access-controls button{white-space:nowrap;padding:7px 10px;font-size:.73rem}.employee-access-controls .employee-access-lock{background:#dc2626}.employee-access-controls .employee-access-unlock{background:#15803d}.employee-access-controls .employee-access-retry{background:#fef3c7;color:#92400e}.compact-mobile-menus{--compact-menu-ink: #1e2a3b;--compact-menu-muted: #8794a8;--compact-menu-accent: #2563eb;--compact-menu-border: #e8ecf4;--compact-menu-surface: #fff;position:fixed;z-index:110;right:0;bottom:0;left:0;display:flex;flex-direction:column;width:100%;max-width:100vw;padding:.4rem .25rem calc(.4rem + env(safe-area-inset-bottom));overflow:hidden;color:var(--compact-menu-ink);background:var(--compact-menu-surface);border-top:1px solid var(--compact-menu-border);box-shadow:0 -4px 20px #1e2a3b14;box-sizing:border-box}.compact-mobile-menus *,.compact-mobile-menus *:before,.compact-mobile-menus *:after{box-sizing:border-box}.compact-mobile-menus__items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:.15rem;min-width:0;width:100%}.compact-mobile-menus__items>*{min-width:0;max-width:100%}.compact-mobile-menus .nav-btn{flex:initial;width:100%;min-width:0;padding:.45rem .15rem;overflow:hidden}.compact-mobile-menus .menu-item{position:relative;min-height:60px;display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;justify-content:center;padding:.45rem .2rem;gap:.3rem;overflow:hidden;font-size:.72rem}.compact-mobile-menus .menu-badge{position:absolute;top:2px;right:4px;margin:0}.compact-mobile-menus .nav-label,.compact-mobile-menus .menu-label{display:inline;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.35;text-align:center}.compact-mobile-menus__overflow{max-height:min(38dvh,280px);margin-top:.3rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-top:1px solid var(--compact-menu-border)}.compact-mobile-menus__overflow[hidden]{display:none}.compact-mobile-menus__items--overflow{padding:.3rem 0 .1rem}.compact-mobile-menus__toggle{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;min-height:34px;margin:.15rem 0 0;padding:.35rem .75rem;color:var(--compact-menu-accent);background:transparent;border:0;border-radius:9px;font:inherit;font-size:.76rem;font-weight:650;cursor:pointer;touch-action:manipulation}.compact-mobile-menus__toggle:active{background:#eef4ff}.compact-mobile-menus__toggle:focus-visible{outline:2px solid var(--compact-menu-accent);outline-offset:-2px}.compact-mobile-menus__chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}.compact-mobile-menus__toggle[aria-expanded=true] .compact-mobile-menus__chevron{transform:translateY(2px) rotate(225deg)}.compact-mobile-menus--mobile-only{display:none}@media (max-width: 768px){.compact-mobile-menus--mobile-only{display:flex}.admin-layout>.sidebar{display:none}.admin-layout .content{margin-left:0;padding-bottom:calc(112px + env(safe-area-inset-bottom))}.admin-layout .admin-topbar{left:0}}@media (min-width: 769px){.compact-mobile-menus--mobile-only{display:none}}@media (max-width: 360px){.compact-mobile-menus{padding-right:.15rem;padding-left:.15rem}.compact-mobile-menus .nav-btn{padding-right:.05rem;padding-left:.05rem}}.leave-portal{--leave-ink: #24352f;--leave-muted: #66776f;--leave-line: #dce7df;--leave-paper: #f4f8f3;--leave-card: #fffefa;--leave-green: #356b53;--leave-green-dark: #285640;--leave-green-pale: #e8f2e9;--leave-amber: #9a651b;--leave-amber-pale: #fbf1d9;--leave-red: #a94945;--leave-red-pale: #f8e9e5;max-width:980px;margin:0 auto;padding:1.2rem;color:var(--leave-ink);font-family:Inter,Noto Sans Thai,Segoe UI,sans-serif}.leave-portal *{box-sizing:border-box}.leave-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.2rem;padding:1.35rem 1.5rem;border:1px solid #d7e5d8;border-radius:18px;background:radial-gradient(ellipse at 90% 10%,rgba(191,218,189,.42),transparent 42%),var(--leave-card);box-shadow:0 5px 18px #24352f0b}.leave-kicker{margin:0 0 .3rem;color:var(--leave-green);font-size:.73rem;font-weight:800;letter-spacing:.11em}.leave-hero h2{margin:0;color:var(--leave-ink);font-size:clamp(1.35rem,4vw,1.8rem);line-height:1.35;letter-spacing:-.035em}.leave-hero p:last-child{max-width:38rem;margin:.45rem 0 0;color:var(--leave-muted);font-size:.9rem;line-height:1.65}.leave-refresh{flex:0 0 auto;min-height:40px;padding:.55rem .85rem;color:var(--leave-green-dark);background:rgba(255,255,255,.75);border:1px solid #cdddcf;border-radius:10px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.leave-refresh:hover:not(:disabled){background:var(--leave-green-pale)}.leave-refresh:disabled{opacity:.6;cursor:wait}.leave-panel{margin-bottom:1rem;padding:1.25rem;border:1px solid var(--leave-line);border-radius:16px;background:var(--leave-card);box-shadow:0 3px 14px #24352f09}.leave-panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin-bottom:1rem}.leave-panel-heading h3{margin:0;font-size:1.03rem;font-weight:800}.leave-panel-heading span{color:var(--leave-muted);font-size:.78rem}.leave-form-grid{display:grid;grid-template-columns:minmax(150px,.8fr) 1fr 1fr;gap:.8rem}.leave-field{display:flex;flex-direction:column;gap:.38rem;min-width:0}.leave-field label,.leave-field-label{color:#43584c;font-size:.8rem;font-weight:700}.leave-field input,.leave-field select,.leave-field textarea,.leave-note-input{width:100%;min-height:43px;padding:.65rem .75rem;color:var(--leave-ink);background:#fff;border:1px solid #d4e0d6;border-radius:9px;font:inherit;font-size:.9rem}.leave-field textarea,.leave-note-input{min-height:88px;resize:vertical;line-height:1.55}.leave-field input:focus,.leave-field select:focus,.leave-field textarea:focus,.leave-note-input:focus{outline:3px solid rgba(91,139,101,.18);border-color:#709b77}.leave-reason{margin-top:.8rem}.leave-form-footer{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.85rem}.leave-hint{margin:0;color:var(--leave-muted);font-size:.77rem;line-height:1.5}.leave-primary,.leave-action,.leave-confirm-btn,.leave-cancel-btn{min-height:40px;padding:.6rem .95rem;border:0;border-radius:9px;font:inherit;font-size:.83rem;font-weight:750;cursor:pointer;transition:transform .14s ease,background-color .14s ease}.leave-primary,.leave-confirm-btn{color:#fff;background:var(--leave-green)}.leave-primary:hover:not(:disabled),.leave-confirm-btn:hover:not(:disabled){background:var(--leave-green-dark)}.leave-primary:active:not(:disabled),.leave-action:active:not(:disabled){transform:translateY(1px)}.leave-primary:disabled,.leave-action:disabled,.leave-confirm-btn:disabled,.leave-cancel-btn:disabled{opacity:.55;cursor:not-allowed}.leave-alert{margin:.8rem 0 0;padding:.72rem .85rem;border:1px solid #ebc5bd;border-radius:9px;color:#863d38;background:#fff3ef;font-size:.85rem;line-height:1.55}.leave-success{margin:.8rem 0 0;padding:.68rem .85rem;border-radius:9px;color:#315c40;background:#edf6eb;font-size:.84rem}.leave-list{display:grid;gap:.75rem}.leave-request{padding:1rem 1.05rem;border:1px solid var(--leave-line);border-radius:13px;background:var(--leave-card)}.leave-request-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.leave-request-title{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .65rem}.leave-request-title h4{margin:0;font-size:.98rem}.leave-dates{margin:.35rem 0 0;color:var(--leave-muted);font-size:.82rem}.leave-status{display:inline-flex;align-items:center;min-height:25px;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap}.leave-status.pending{color:#805517;background:var(--leave-amber-pale)}.leave-status.approved{color:#326044;background:var(--leave-green-pale)}.leave-status.rejected{color:#914440;background:var(--leave-red-pale)}.leave-employee-name{margin:0 0 .35rem;color:var(--leave-green-dark);font-size:.8rem;font-weight:750}.leave-request-reason{margin:.8rem 0 0;color:#405148;font-size:.88rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.leave-review-note{margin-top:.7rem;padding:.65rem .75rem;border-left:3px solid #a9c7a7;border-radius:0 8px 8px 0;color:#53655b;background:#f2f7f0;font-size:.82rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.leave-review-note strong{display:block;margin-bottom:.18rem;color:#3b5445}.leave-admin-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem;margin-top:.85rem}.leave-note-input{min-height:66px;font-size:.84rem}.leave-actions{display:flex;gap:.45rem}.leave-action.approve{color:#fff;background:#3f7956}.leave-action.approve:hover:not(:disabled){background:#2e6343}.leave-action.reject{color:#8f4540;background:#f7e7e3;border:1px solid #edd0ca}.leave-action.reject:hover:not(:disabled){background:#f1d8d2}.leave-confirm{width:min(100%,480px);box-sizing:border-box;max-height:calc(100dvh - 32px);overflow-y:auto;margin:0;padding:.8rem;border:1px solid #e4d1a8;border-radius:10px;background:#fff9e9}.leave-confirm p{margin:0 0 .65rem;color:#664c22;font-size:.84rem;line-height:1.55}.leave-confirm-actions{display:flex;justify-content:flex-end;gap:.5rem}.leave-confirm-backdrop{--leave-green: #356b53;--leave-green-dark: #285640;font-family:Inter,Noto Sans Thai,Segoe UI,sans-serif;position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.5)}.leave-confirm .leave-confirm-error{color:#b91c1c}.leave-cancel-btn{color:#5f635a;background:#eeeee6}.leave-cancel-btn:hover:not(:disabled){background:#e2e4da}.leave-empty,.leave-loading{padding:1.7rem 1rem;border:1px dashed #cbdacd;border-radius:13px;color:var(--leave-muted);background:rgba(255,254,250,.68);text-align:center;font-size:.87rem;line-height:1.6}.leave-loading-lines{display:grid;gap:.65rem;max-width:420px;margin:0 auto}.leave-skeleton{height:14px;border-radius:7px;background:linear-gradient(90deg,#e9eee8,#f5f7f2,#e9eee8);background-size:200% 100%;animation:leave-shimmer 1.5s ease-in-out infinite}.leave-skeleton:nth-child(2){width:72%;margin:0 auto}@keyframes leave-shimmer{to{background-position:-200% 0}}.leave-list-count{display:inline-flex;min-width:1.55rem;justify-content:center;margin-left:.4rem;padding:.12rem .4rem;color:#4a654e;background:#eaf2e8;border-radius:99px;font-size:.72rem;vertical-align:2px}@media (max-width: 640px){.leave-portal{padding:.8rem}.leave-hero{padding:1.05rem;border-radius:14px}.leave-refresh{padding:.5rem .65rem;font-size:.75rem}.leave-panel{padding:1rem;border-radius:13px}.leave-form-grid{grid-template-columns:1fr 1fr;gap:.7rem}.leave-field:first-child{grid-column:1 / -1}.leave-form-footer{align-items:stretch;flex-direction:column}.leave-primary{width:100%}.leave-request{padding:.9rem}.leave-admin-tools{grid-template-columns:1fr}.leave-actions{display:grid;grid-template-columns:1fr 1fr}}@media (max-width: 390px){.leave-hero{align-items:flex-start;flex-direction:column}.leave-refresh{align-self:flex-end}.leave-form-grid{grid-template-columns:1fr}.leave-field:first-child{grid-column:auto}.leave-request-top{flex-direction:column}}@media (prefers-reduced-motion: reduce){.leave-skeleton{animation:none}.leave-primary,.leave-action{transition:none}}.material-review-backdrop{--mr-ink: #26334b;--mr-muted: #77839a;--mr-line: #e5e9f1;--mr-indigo: #535fc1;--mr-paper: #f5f6fa;position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:grid;place-items:center;padding:2.5vh 2vw;background:rgba(24,31,49,.64);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:mr-backdrop-in .18s ease-out both;color:var(--mr-ink)}.material-review-dialog,.material-review-dialog *{box-sizing:border-box}.material-review-dialog{width:min(1240px,96vw);height:min(880px,94dvh);min-height:min(590px,94dvh);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(237,239,246,.8);border-radius:19px;background:#fbfbfd;box-shadow:0 28px 90px #141b2d52;animation:mr-dialog-in .22s cubic-bezier(.2,.8,.2,1) both;font:inherit}.material-review-header{z-index:1;display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:20px;min-height:94px;padding:17px 24px 16px 28px;border-bottom:1px solid var(--mr-line);background:#fbfbfd}.material-review-heading{min-width:0}.material-review-eyebrow,.material-review-section-kicker{display:block;color:var(--mr-indigo);font-size:10px;font-weight:750;letter-spacing:.105em;line-height:1.4}.material-review-heading h2{overflow:hidden;margin:3px 0 1px;color:var(--mr-ink);font-size:clamp(20px,2.1vw,26px);font-weight:760;letter-spacing:-.035em;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.material-review-subtitle{display:block;overflow:hidden;color:var(--mr-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.material-review-header-tools{display:flex;flex:0 0 auto;align-items:center;gap:16px}.material-review-position{border:1px solid #e3e6ef;border-radius:999px;padding:6px 11px;background:#f3f4f9;color:#64708a;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.material-review-close{display:grid;width:36px;height:36px;place-items:center;border:1px solid #e6e9f0;border-radius:50%;background:#f6f7fa;color:#67738a;font:inherit;font-size:24px;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}.material-review-close:hover:not(:disabled){transform:rotate(90deg);background:#e9ebf4;color:var(--mr-ink)}.material-review-body{display:grid;flex:1 1 auto;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);min-height:0}.material-review-artwork{position:relative;display:flex;min-width:0;min-height:0;flex-direction:column;align-items:stretch;justify-content:center;overflow:hidden;padding:48px 28px 54px;background:radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.78) 0,rgba(255,255,255,.13) 64%,transparent 79%),#edf0f6}.material-review-artwork:before{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(101,115,148,.11) .65px,transparent .65px);background-size:13px 13px;content:"";opacity:.42;pointer-events:none}.material-review-artwork-top,.material-review-artwork-caption{position:absolute;z-index:1;right:20px;left:20px;display:flex;align-items:center;justify-content:space-between;color:#7d879c;font-size:10px;font-weight:700;letter-spacing:.075em;text-transform:uppercase}.material-review-artwork-top{top:17px}.material-review-artwork-id{font-variant-numeric:tabular-nums}.material-review-artwork-caption{bottom:17px;color:#78839a;font-size:10px;font-weight:550;letter-spacing:0;text-transform:none}.material-review-image{position:relative;z-index:0;display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;border-radius:5px;filter:drop-shadow(0 10px 18px rgba(54,63,85,.16))}.material-review-no-image{position:relative;display:flex;min-height:210px;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#65718a;text-align:center}.material-review-image-mark{display:grid;width:52px;height:52px;margin-bottom:3px;place-items:center;border:1px solid #d8deea;border-radius:16px;background:rgba(255,255,255,.72);color:#8691a8;font-size:24px}.material-review-no-image strong{color:#46536d;font-size:14px}.material-review-no-image>span:last-child{font-size:11px}.material-review-details{display:flex;min-width:0;min-height:0;flex-direction:column;border-left:1px solid var(--mr-line);background:#fbfbfd}.material-review-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:22px 27px 20px;scrollbar-color:#cbd1df transparent;scrollbar-width:thin}.material-review-status-line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 0 18px;border-bottom:1px solid var(--mr-line)}.material-review-status{display:inline-flex;align-items:center;gap:7px;margin-top:7px;font-size:14px;font-weight:750}.material-review-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 13%,transparent)}.material-review-status-approved{color:#21855d}.material-review-status-rejected{color:#c24f59}.material-review-status-pending{color:#b17a1a}.material-review-file-type{display:flex;flex-direction:column;align-items:flex-end;gap:4px;color:var(--mr-muted);font-size:10px}.material-review-file-type strong{border:1px solid #e3e6ef;border-radius:5px;padding:3px 8px;background:#f4f5f9;color:#515e7a;font-size:11px;letter-spacing:.04em}.material-review-section{padding:18px 0;border-bottom:1px solid var(--mr-line)}.material-review-section-title{margin-bottom:11px}.material-review-section-title h3{margin:3px 0 0;color:var(--mr-ink);font-size:15px;font-weight:740;letter-spacing:-.015em}.material-review-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:12px}.material-review-fact{display:flex;min-width:0;flex-direction:column;gap:4px}.material-review-fact>span,.material-review-quantity>span,.material-review-meta-item>span{color:#8590a4;font-size:10px;line-height:1.35}.material-review-fact>strong{overflow-wrap:anywhere;color:#3b4861;font-size:12px;font-weight:650;line-height:1.45}.material-review-quantities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.material-review-quantity{display:flex;min-height:58px;flex-direction:column;justify-content:center;gap:3px;border:1px solid #e8ebf2;border-radius:9px;padding:8px 11px;background:#f7f8fb}.material-review-quantity>strong{color:#35415a;font-size:15px;font-weight:760;font-variant-numeric:tabular-nums}.material-review-quantity-total{position:relative;border-color:#dfe3f3;background:#f0f1fa}.material-review-quantity-total>strong{color:var(--mr-indigo)}.material-review-quantity-total small{color:#6873ab;font-size:10px;font-weight:650}.material-review-colors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.material-review-color{display:flex;align-items:center;justify-content:space-between;gap:4px;border:1px solid #e8ebf1;border-radius:7px;padding:7px 8px;background:#fff;font-size:11px}.material-review-color>span{font-weight:800}.material-review-color>strong{color:#65718a;font-size:10px;font-weight:650}.material-review-color-cyan>span{color:#188eb1}.material-review-color-magenta>span{color:#bf477f}.material-review-color-yellow>span{color:#b68c18}.material-review-color-black>span{color:#3e4858}.material-review-meta{display:flex;flex-wrap:wrap;gap:20px}.material-review-meta-item{display:flex;flex-direction:column;gap:4px}.material-review-meta-item strong{color:#5f6b81;font-size:10px;font-weight:600}.material-review-note{margin-top:15px;border:1px solid #e7eaf1;border-radius:9px;padding:11px 13px;background:#f7f8fb}.material-review-note p{margin:6px 0 0;color:#536078;font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.material-review-extra{margin-top:2px}.material-review-footer{flex:0 0 auto;border-top:1px solid var(--mr-line);padding:12px 20px 15px;background:#fbfbfd}.material-review-nav{display:flex;justify-content:space-between;gap:10px;margin-bottom:11px}.material-review-nav-button{display:inline-flex;min-height:32px;align-items:center;gap:7px;border:0;padding:4px 3px;background:transparent;color:#596782;font:inherit;font-size:11px;font-weight:650;cursor:pointer;transition:color .13s ease,transform .13s ease}.material-review-nav-button:hover:not(:disabled){transform:translate(2px);color:var(--mr-indigo)}.material-review-nav-button:first-child:hover:not(:disabled){transform:translate(-2px)}.material-review-nav-button:disabled{color:#b2b9c7;cursor:not-allowed}.material-review-actions{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1.2fr;gap:7px}.material-review-action{min-width:0;min-height:38px;border:1px solid transparent;border-radius:7px;padding:7px 8px;font:inherit;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease,transform .14s ease}.material-review-action:hover:not(:disabled){transform:translateY(-1px)}.material-review-action:disabled,.material-review-close:disabled{opacity:.46;cursor:not-allowed}.material-review-action-edit{border-color:#dce1ed;background:#f3f5f9;color:#4b5872}.material-review-action-edit:hover:not(:disabled){background:#e8ebf3}.material-review-action-pending{border-color:#f0dfb5;background:#fff8e9;color:#9d711e}.material-review-action-pending:hover:not(:disabled){background:#f9edcf}.material-review-action-reject,.material-review-action-delete{border-color:#efd6d8;background:#fff4f4;color:#ae4e56}.material-review-action-reject:hover:not(:disabled),.material-review-action-delete:hover:not(:disabled){background:#f9e4e5}.material-review-action-approve{background:#336d59;color:#fff}.material-review-action-approve:hover:not(:disabled){background:#285a48}.material-review-dialog button:focus-visible{outline:3px solid rgba(83,95,193,.35);outline-offset:2px}@keyframes mr-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes mr-dialog-in{0%{transform:translateY(8px) scale(.99);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media (max-width: 760px){.material-review-backdrop{display:block;overflow-y:auto;padding:2dvh 2.5vw}.material-review-dialog{width:100%;height:96dvh;min-height:0;margin:0 auto;border-radius:15px}.material-review-header{min-height:76px;padding:12px 14px 11px 17px}.material-review-header-tools{gap:9px}.material-review-position{padding:5px 8px;font-size:10px}.material-review-close{width:33px;height:33px}.material-review-heading h2{font-size:20px}.material-review-subtitle{font-size:10px}.material-review-body{display:flex;flex-direction:column;overflow:hidden}.material-review-artwork{flex:0 0 clamp(150px,26dvh,235px);min-height:0;padding:30px 20px 32px}.material-review-artwork-top,.material-review-artwork-caption{right:13px;left:13px;font-size:9px}.material-review-artwork-top{top:9px}.material-review-artwork-caption{bottom:9px}.material-review-image{width:100%;height:100%}.material-review-no-image{min-height:90px;gap:4px}.material-review-image-mark{width:37px;height:37px;margin-bottom:0;border-radius:12px;font-size:18px}.material-review-no-image strong{font-size:12px}.material-review-no-image>span:last-child{font-size:10px}.material-review-details{flex:1 1 auto;border-top:1px solid var(--mr-line);border-left:0}.material-review-scroll{padding:14px 17px}.material-review-status-line{padding-bottom:13px}.material-review-section{padding:14px 0}.material-review-section-title{margin-bottom:9px}.material-review-section-title h3{font-size:14px}.material-review-facts{column-gap:12px;row-gap:10px}.material-review-footer{padding:8px 13px max(10px,env(safe-area-inset-bottom));box-shadow:0 -8px 18px #2d364e0b}.material-review-nav{margin-bottom:5px}.material-review-nav-button{min-height:29px;font-size:10px}.material-review-actions{gap:5px}.material-review-action{min-height:36px;padding:6px 4px;font-size:10px}}@media (max-width: 390px){.material-review-header{padding-right:10px;padding-left:12px}.material-review-header-tools{gap:6px}.material-review-heading h2{font-size:18px}.material-review-scroll{padding-right:12px;padding-left:12px}.material-review-footer{padding-right:9px;padding-left:9px}.material-review-action{font-size:9px}}@media (prefers-reduced-motion: reduce){.material-review-backdrop,.material-review-dialog{animation:none}.material-review-backdrop *,.material-review-backdrop *:before,.material-review-backdrop *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.artwork-factory-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.artwork-factory-filter label{font-weight:600;color:#334155}.artwork-factory-filter select{max-width:100%;padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;background:white;font:inherit}.artwork-factory-filter span{font-size:13px;color:#64748b}.artwork-card__header{flex-wrap:wrap}.artwork-card__factory-toggle{border:1px solid #cbd5e1;border-radius:8px;padding:6px 10px;background:#f8fafc;color:#475569;font:inherit;font-size:12px;cursor:pointer}.artwork-card__factory-toggle--sent{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.artwork-card__factory-toggle:disabled{cursor:default}.artwork-card__note-color{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#64748b}.artwork-card__note-color input[type=color]{width:42px;height:30px;min-height:30px;padding:2px;cursor:pointer;border:1px solid #cbd5e1;border-radius:6px}.artwork-editor{width:100%;min-width:0;margin:0 0 1.5rem;color:#28384a;font-family:inherit;box-sizing:border-box}.artwork-confirm-root{width:100%;min-width:0;box-sizing:border-box}.artwork-editor *,.artwork-editor *:before,.artwork-editor *:after{box-sizing:border-box}.artwork-editor__select-all{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:46px;padding:0 .2rem .7rem;color:#617285;font-size:.82rem}.artwork-editor__select-all label,.artwork-card__select{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.artwork-editor input[type=checkbox]{width:18px;height:18px;margin:0;flex:0 0 auto;accent-color:#496e75;cursor:pointer}.artwork-editor__cards{display:grid;gap:1rem;min-width:0}.artwork-card{container-type:inline-size;min-width:0;overflow:hidden;border:1px solid #d9e2df;border-radius:13px;background:#fffefa;box-shadow:0 3px 12px #2942420f}.artwork-card--sent{background:#f4f6f4}.artwork-card__header{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0;padding:.8rem 1rem;border-bottom:1px solid #e6ece9;background:#f5f8f5}.artwork-card__identity{display:flex;align-items:center;gap:.65rem;min-width:0}.artwork-card__number{color:#3f6870;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;font-weight:700;letter-spacing:.06em}.artwork-card__heading{color:#263e48;font-size:.95rem;font-weight:700}.artwork-card__sent{margin-left:auto;padding:.28rem .55rem;border-radius:999px;background:#e3ece5;color:#476653;font-size:.73rem;font-weight:700;white-space:nowrap}.artwork-card__delete{margin-left:auto;padding:.4rem .55rem;border:1px solid #ead7d0;border-radius:7px;background:#fff9f5;color:#945347;font:inherit;font-size:.76rem;cursor:pointer}.artwork-card__sent+.artwork-card__delete{margin-left:0}.artwork-card__art{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:148px;max-height:350px;padding:1rem;overflow:hidden;border-bottom:1px solid #edf0ec;background-color:#f3f4ef;background-image:linear-gradient(45deg,#e8ebe6 25%,transparent 25%),linear-gradient(-45deg,#e8ebe6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e8ebe6 75%),linear-gradient(-45deg,transparent 75%,#e8ebe6 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}.artwork-card__image{display:block;width:auto;height:auto;max-width:100%;max-height:318px;object-fit:contain}.artwork-card__empty-image{display:grid;place-items:center;width:100%;min-height:116px;border:1px dashed #c3d0cc;border-radius:8px;color:#71817e;font-size:.88rem}.artwork-card__image-info{display:grid;gap:.2rem;min-width:0;padding:.75rem 1rem .9rem}.artwork-card__file-name,.artwork-card__original-name{min-width:0;overflow-wrap:anywhere;color:#354d56;font-size:.84rem;font-weight:600}.artwork-card__metadata{color:#75827f;font-size:.74rem;line-height:1.45;overflow-wrap:anywhere}.artwork-card__file-button{position:relative;justify-self:start;margin-top:.3rem;padding:.42rem .7rem;border:1px solid #c4d5d1;border-radius:7px;background:#f2f7f5;color:#3e666a;font-size:.78rem;font-weight:600;cursor:pointer}.artwork-card__file-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.artwork-card__fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:.8rem;min-width:0;padding:1rem;border-top:1px solid #edf0ec}.artwork-card__field{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:.36rem;min-width:0;color:#596b70;font-size:.78rem;font-weight:600}.artwork-card__field input{display:block;width:100%;min-width:0;min-height:42px;padding:.55rem .65rem;border:1px solid #d5dfdc;border-radius:7px;background:#fff;color:#293f47;font:inherit;font-size:.86rem}.artwork-card__date{max-width:100%}.artwork-card__primary-fields{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.85rem;min-width:0}.artwork-card__primary-fields>.artwork-card__confirmation{grid-column:auto;padding:0;border:0;background:transparent;gap:.5rem}.artwork-card__primary-fields .artwork-card__confirmation-top{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch;gap:.36rem}.artwork-card__primary-fields .artwork-card__confirm-check{height:20px;min-height:20px;line-height:20px}.artwork-card__primary-fields .artwork-card__date>span:first-child,.artwork-card__primary-fields .artwork-card__quantity>label{height:20px;line-height:20px}.artwork-card__primary-fields .artwork-card__field input,.artwork-card__primary-fields .artwork-card__read-value{width:100%;max-width:100%;min-width:0;height:48px;min-height:48px;padding:.65rem .75rem;border-radius:7px;font-size:.86rem}.artwork-card__primary-fields input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.artwork-card__primary-fields input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}.artwork-card__primary-fields .artwork-card__quantity-input{position:relative;display:block;min-width:0}.artwork-card__primary-fields .artwork-card__quantity-input input,.artwork-card__primary-fields .artwork-card__quantity-input>.artwork-card__read-value{padding-right:4.5rem}.artwork-card__primary-fields .artwork-card__quantity-input>span:last-child{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);pointer-events:none}.artwork-card__visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@container (max-width: 580px){.artwork-card__primary-fields{grid-template-columns:minmax(0,1fr)}.artwork-card__primary-fields>.artwork-card__confirmation{grid-column:1 / -1}}@container (max-width: 380px){.artwork-card__primary-fields{grid-template-columns:minmax(0,1fr)}}.artwork-card__date input{max-width:100%}.artwork-card__confirmation{display:grid;grid-column:1 / -1;align-content:space-between;gap:.65rem;min-width:0;padding:.7rem;border:1px solid #dfe7e3;border-radius:9px;background:#f7f9f6}.artwork-card__confirmation--done{border-color:#c6dccb;background:#eff7f0}.artwork-card__confirmation-top,.artwork-card__confirmation-bottom{display:flex;align-items:center;justify-content:space-between;gap:.55rem;min-width:0}.artwork-card__confirm-check{display:inline-flex;align-items:center;gap:.4rem;min-width:0;color:#45605d;font-size:.78rem;font-weight:700;white-space:nowrap}.artwork-card__confirm-date{flex:1;min-width:0}.artwork-card__confirm-date input{min-height:39px;padding:.42rem;font-size:.75rem}.artwork-card__confirm-meta{min-width:0;color:#71817c;font-size:.7rem;line-height:1.35;overflow-wrap:anywhere}.artwork-card__confirm-button{flex:0 0 auto;min-height:36px;padding:.45rem .7rem;border:0;border-radius:7px;background:#557d68;color:#fff;font:inherit;font-size:.75rem;font-weight:700;cursor:pointer}.artwork-card__confirm-button--undo{background:#a7793c}.artwork-card__confirmation-bottom{flex-wrap:wrap}.artwork-card__reset-date{flex:0 0 auto;min-height:36px;padding:.45rem .6rem;border:1px solid #d5dfdc;border-radius:7px;background:#fff;color:#52666c;font:inherit;font-size:.75rem;font-weight:600;cursor:pointer}.artwork-card__quantity-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem}.artwork-card__quantity-input>span{color:#6a7b79;font-size:.82rem;font-weight:700}.artwork-card__read-value{display:block;min-width:0;min-height:42px;padding:.65rem .7rem;border:1px solid #e0e7e3;border-radius:7px;background:#f7f8f5;color:#3b4d4d;font-size:.85rem;font-weight:500;overflow-wrap:anywhere;white-space:pre-wrap}.artwork-card__quantity .artwork-card__read-value{text-align:right;font-weight:700}.artwork-card__inherited{color:#798582;font-size:.73rem;font-weight:400;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.artwork-card__files{min-width:0;border-top:1px solid #e8eeeb;background:#fafbf8}.artwork-card__files summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;padding:.8rem 1rem;color:#4e696b;font-size:.8rem;font-weight:700;cursor:pointer;list-style-position:inside}.artwork-card__files summary::marker{color:#6d8983}.artwork-card__file-count{min-width:0;color:#84908c;font-size:.72rem;font-weight:500;text-align:right;overflow-wrap:anywhere}.artwork-card__files-content{min-width:0;padding:0 1rem 1rem}.artwork-card__original{display:grid;gap:.25rem;min-width:0;padding:.7rem;border:1px solid #e0e8e3;border-radius:8px;background:#fff}.artwork-card__original strong{color:#556a67;font-size:.75rem}.artwork-card__files .artwork-attachment-field,.artwork-card__files-content>div[style]{max-width:none!important}.artwork-card__files-content>div[style]{width:100%}.artwork-card__files-content>div[style]>div[style]{width:100%}.artwork-editor__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0;padding:.9rem .2rem}.artwork-editor__add{min-height:42px;padding:.55rem .95rem;border:1px solid #426a71;border-radius:8px;background:#496f75;color:#fff;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}.artwork-editor__total{display:grid;justify-items:end;gap:.15rem;color:#6a7975;font-size:.75rem}.artwork-editor__total strong{color:#466b58;font-size:1.05rem}.artwork-editor__total small{font-size:.74rem}.artwork-editor button:focus-visible,.artwork-editor summary:focus-visible,.artwork-editor input:focus-visible,.artwork-editor label:has(input[type=file]:focus-visible){outline:3px solid #d39b47;outline-offset:2px}.artwork-editor input:disabled{cursor:not-allowed;opacity:.75}@media (max-width: 560px){.artwork-card__header{gap:.45rem;padding:.7rem}.artwork-card__identity{gap:.4rem}.artwork-card__delete{padding:.35rem .45rem}.artwork-card__art{min-height:124px;padding:.65rem}.artwork-card__image{max-height:270px}.artwork-card__image-info{padding:.65rem .75rem .75rem}.artwork-card__fields{grid-template-columns:minmax(0,1fr);gap:.7rem;padding:.75rem}.artwork-card__date,.artwork-card__quantity{grid-column:auto}.artwork-card__files summary{align-items:flex-start;padding:.75rem}.artwork-card__files-content{padding:0 .75rem .75rem}}@media (max-width: 640px){.artwork-confirm-root{padding:.9rem!important}.artwork-confirm-root .artwork-global-notes{grid-template-columns:minmax(0,1fr)!important}}.artwork-history-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;height:100vh;height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;background:rgba(15,23,42,.48);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.artwork-history-screen{width:100%;max-width:1120px;height:84vh;height:min(84dvh,860px);max-height:100%;display:flex;flex-direction:column;min-width:0;background:#f6f8fc;color:#1e293b;font-family:inherit;box-sizing:border-box;border-radius:20px;overflow:hidden;box-shadow:0 24px 80px #0f172a4d}.artwork-history-screen *{box-sizing:border-box}.artwork-history-screen button{min-height:42px;padding:9px 16px;border:1px solid #dbe3ef;background:white;color:#334155;border-radius:10px;font:inherit;cursor:pointer}.artwork-history-screen button:disabled{opacity:.45;cursor:not-allowed}.artwork-history-screen button:focus-visible,.artwork-history-screen input:focus-visible{outline:3px solid #a5b4fc;outline-offset:2px}.artwork-history-header{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px clamp(16px,4vw,48px);background:white;border-bottom:1px solid #e3e9f2;padding-top:max(20px,env(safe-area-inset-top))}.artwork-history-header h2{margin:0;font-size:clamp(18px,2vw,24px);color:#1e293b}.artwork-history-header p{margin:5px 0 0;color:#64748b;font-size:14px}.artwork-history-header button{flex-shrink:0;background:#eef2ff;color:#4f46e5}.artwork-history-toolbar{flex:0 0 auto;display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:16px clamp(16px,4vw,48px);border-bottom:1px solid #e3e9f2}.artwork-history-toolbar label{display:grid;gap:6px;font-size:13px;font-weight:600;min-width:0}.artwork-history-toolbar input{min-width:0;width:210px;max-width:100%;height:44px;padding:8px 12px;border:1px solid #dbe3ef;border-radius:10px;background:white;color:#334155;font:inherit}.artwork-history-summary{margin-left:auto;display:grid;gap:4px;font-size:14px}.artwork-history-summary strong{color:#4f46e5}.artwork-history-summary span{color:#64748b;font-size:12px}.artwork-history-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px clamp(16px,4vw,48px)}.artwork-history-records{max-width:1400px;margin:0 auto;display:grid;gap:12px}.artwork-history-record{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;background:white;border:1px solid #e3e9f2;border-radius:14px;padding:20px}.artwork-history-meta{display:flex;align-items:start;flex-direction:column;gap:9px;min-width:0;font-size:13px;overflow-wrap:anywhere}.artwork-history-meta time{color:#64748b;font-size:12px}.artwork-history-action{padding:4px 10px;border-radius:7px;font-weight:700}.artwork-history-detail{min-width:0;font-size:14px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.artwork-history-source{color:#64748b;font-size:12px;margin-bottom:8px}.artwork-history-empty{text-align:center;padding:60px 16px;color:#64748b;line-height:1.8}.artwork-history-empty[role=alert]{color:#b91c1c}.artwork-history-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:white;border-top:1px solid #e3e9f2;padding:12px clamp(16px,4vw,48px);padding-bottom:max(12px,env(safe-area-inset-bottom));color:#64748b;font-size:12px}.artwork-history-footer nav{display:flex;align-items:center;gap:12px}@media (max-width: 640px){.artwork-history-backdrop{padding:12px}.artwork-history-screen{height:88vh;height:88dvh;border-radius:16px}.artwork-history-header{padding:16px;padding-top:max(16px,env(safe-area-inset-top))}.artwork-history-toolbar{gap:12px;padding:12px 16px}.artwork-history-toolbar label{flex:1}.artwork-history-toolbar input{width:100%}.artwork-history-summary{width:100%;margin-left:0;grid-template-columns:auto 1fr;align-items:center;gap:10px}.artwork-history-scroll{padding:12px 16px}.artwork-history-record{grid-template-columns:minmax(0,1fr);padding:16px;gap:12px}.artwork-history-meta{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 12px}.artwork-history-meta time{width:100%}}.fcs-summary{--fcs-ink: #203b43;--fcs-muted: #708389;--fcs-line: #d7e3e2;--fcs-surface: #fffefa;--fcs-soft: #f1f6f3;--fcs-accent: #4658ce;width:100%;min-width:0;color:var(--fcs-ink);font-family:inherit}.fcs-summary,.fcs-summary *{box-sizing:border-box}.fcs-money{white-space:nowrap;font-variant-numeric:tabular-nums}.fcs-warning{margin:0 0 14px;padding:10px 13px;border:1px solid #e8d7a9;border-radius:9px;background:#fff9e9;color:#745b27;font-size:12px;line-height:1.6}.fcs-split{display:grid;grid-template-columns:minmax(0,1fr);min-width:0}.fcs-panel{min-width:0;padding:clamp(18px,2.5vw,30px);border:1px solid var(--fcs-line);border-radius:18px;background:radial-gradient(ellipse at 7% 0%,rgba(220,238,232,.68),transparent 42%),linear-gradient(145deg,rgba(255,254,250,.99),rgba(250,251,246,.98));box-shadow:0 12px 32px #22424612,0 2px 6px #22424609}.fcs-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:19px;border-bottom:1px solid #e5ece8}.fcs-panel-heading>div:first-child{min-width:0}.fcs-panel-heading h3{margin:0;color:var(--fcs-ink);font-size:clamp(17px,1.55vw,21px);font-weight:700;letter-spacing:-.025em;line-height:1.45}.fcs-panel-heading p{margin:5px 0 0;color:var(--fcs-muted);font-size:12px;line-height:1.55}.fcs-heading-summary{display:flex;flex:0 0 auto;align-items:center;gap:17px;padding:10px 0 8px 16px;color:var(--fcs-muted)}.fcs-heading-count,.fcs-heading-amount{display:flex;flex-direction:column;gap:3px}.fcs-heading-count strong{color:#36545c;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.fcs-heading-count>span,.fcs-heading-amount>span{color:var(--fcs-muted);font-size:11px;line-height:1.3}.fcs-heading-divider{width:1px;height:32px;background:var(--fcs-line)}.fcs-heading-amount strong{color:var(--fcs-accent);font-size:clamp(16px,1.6vw,21px);font-weight:750;letter-spacing:-.025em;line-height:1.2;font-variant-numeric:tabular-nums}.fcs-pie-content{display:grid;grid-template-columns:minmax(270px,.95fr) minmax(0,1.15fr);align-items:center;gap:clamp(24px,4.5vw,62px);padding:28px clamp(0px,2vw,22px) 0;min-width:0}.fcs-chart-wrap{position:relative;width:100%;max-width:370px;min-width:0;aspect-ratio:1;justify-self:center;isolation:isolate}.fcs-chart-wrap:before{position:absolute;z-index:-1;top:5.5%;right:5.5%;bottom:5.5%;left:5.5%;border-radius:50%;background:radial-gradient(circle,transparent 0 53%,rgba(219,231,225,.3) 55%,rgba(219,231,225,.08) 88%,transparent 92%);content:""}.fcs-chart{width:100%;height:100%;min-height:220px;filter:drop-shadow(0 7px 9px rgba(30,57,61,.09))}.fcs-chart-state,.fcs-chart-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:14px;border-radius:50%;background:rgba(255,254,250,.94);color:var(--fcs-muted);text-align:center;font-size:12px}.fcs-chart-error{color:#8f4a42}.fcs-chart-error button{padding:7px 12px;border:1px solid #d9b6b0;border-radius:7px;background:#fffefa;color:#8f4a42;font:inherit;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.fcs-chart-error button:hover{transform:translateY(-1px);background:#fbf2f0;border-color:#c98f86}.fcs-chart-error button:focus-visible{outline:3px solid rgba(143,74,66,.24);outline-offset:2px}.fcs-breakdown-list{display:grid;grid-template-columns:minmax(0,1fr);padding:0;margin:0;border-top:1px solid #e5ece8;list-style:none}.fcs-breakdown-row{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:0;border-bottom:1px solid #e5ece8;border-radius:7px;transition:background-color .16s ease,transform .16s ease}.fcs-category-open{display:flex;align-items:flex-start;gap:12px;width:100%;min-width:0;padding:11px 7px;border:0;border-radius:7px;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.fcs-category-open:focus-visible{outline:3px solid #4658ce;outline-offset:1px}.fcs-category-count{display:block;margin-top:3px;color:#708389;font-size:11px;line-height:1.5}.fcs-breakdown-row:hover{transform:translate(2px);background:#eff5f1}.fcs-category-marker{flex:0 0 10px;width:10px;height:10px;margin-top:5px;border-radius:4px;box-shadow:inset 0 0 0 1px #203b431f,0 1px 3px #203b431f}.fcs-breakdown-copy{flex:1;min-width:0}.fcs-breakdown-name{display:block;color:#304b53;font-size:13px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.fcs-breakdown-values{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:4px;color:#506871;font-size:13px;line-height:1.45;font-variant-numeric:tabular-nums}.fcs-breakdown-values strong{flex:0 0 auto;color:var(--fcs-accent);font-size:12px;font-weight:700}.fcs-pie-footnote{margin:18px 0 0;color:var(--fcs-muted);font-size:11px;line-height:1.5}.fcs-empty{display:flex;min-height:270px;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin-top:22px;padding:24px 16px;border:1px dashed #ccdcd6;border-radius:12px;background:var(--fcs-soft);color:var(--fcs-muted);text-align:center;font-size:12px;line-height:1.6}.fcs-empty strong{color:#425b66;font-size:14px}.fcs-empty-mark{display:grid;width:38px;height:38px;place-items:center;margin-bottom:4px;border:1px solid #d0dfd8;border-radius:50%;background:#fffefa;color:#78938c;font-size:20px;line-height:1}@media (max-width: 760px){.fcs-panel-heading{gap:14px}.fcs-pie-content{grid-template-columns:minmax(230px,.85fr) minmax(0,1.15fr);gap:18px;padding-right:0;padding-left:0}.fcs-chart-wrap{max-width:310px}.fcs-category-open{gap:9px;padding:9px 3px}.fcs-breakdown-name,.fcs-breakdown-values{font-size:12px}}@media (max-width: 600px){.fcs-panel{padding:18px 15px;border-radius:12px}.fcs-panel-heading{flex-direction:column;gap:12px;padding-bottom:15px}.fcs-heading-summary{align-self:stretch;justify-content:flex-end;gap:16px;padding:10px 0 0;border-top:1px solid #edf1ef}.fcs-heading-count,.fcs-heading-amount{align-items:flex-end}.fcs-pie-content{grid-template-columns:minmax(0,1fr);gap:18px;padding-top:14px}.fcs-chart-wrap{width:min(100%,292px)}.fcs-chart{min-height:200px}.fcs-breakdown-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}.fcs-category-open{padding:10px 3px}.fcs-breakdown-values{align-items:flex-start;flex-direction:column;gap:2px}.fcs-pie-footnote{margin-top:13px}.fcs-empty{min-height:230px}}@media (max-width: 390px){.fcs-panel{padding:15px 12px}.fcs-panel-heading h3,.fcs-heading-amount strong{font-size:16px}.fcs-pie-content{gap:13px}.fcs-chart-wrap{width:min(100%,260px)}.fcs-breakdown-list{grid-template-columns:minmax(0,1fr)}.fcs-breakdown-values{flex-direction:row;align-items:baseline;gap:8px}}@media (prefers-reduced-motion: reduce){.fcs-chart-error button,.fcs-breakdown-row{transition:none}}.oms-summary{--oms-accent: #4658ce}.oms-money{white-space:nowrap;font-variant-numeric:tabular-nums}.oms-heading-summary{display:flex;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 18px;padding:8px 0 6px 14px;color:#708389}.oms-heading-stat{display:flex;flex-direction:column;gap:3px;min-width:max-content}.oms-heading-stat strong{color:#36545c;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.oms-heading-stat>span{color:#708389;font-size:11px;line-height:1.3}.oms-heading-total strong{color:var(--oms-accent);font-size:18px}.oms-breakdown-list{align-self:stretch}.oms-category-open{min-height:70px}.oms-category-open:focus-visible{outline:3px solid #4658ce;outline-offset:1px}.oms-breakdown-values{flex-wrap:wrap}.oms-pie-content{align-items:center}@media (max-width: 760px){.oms-heading-summary{gap:9px 13px}}@media (max-width: 600px){.oms-heading-summary{align-self:stretch;justify-content:space-between;gap:10px;padding:11px 0 0;border-top:1px solid #edf1ef}.oms-heading-stat{min-width:0}.oms-heading-stat strong,.oms-heading-total strong{font-size:15px}.oms-category-open{min-height:82px}.oms-breakdown-values{flex-direction:row;align-items:baseline;justify-content:space-between;gap:5px}}@media (max-width: 390px){.oms-heading-summary{gap:8px}.oms-heading-stat strong,.oms-heading-total strong{font-size:13px}.oms-heading-stat>span{font-size:10px}}.fcd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.5);font-family:Inter,Noto Sans Thai,sans-serif;color:#203b43}.fcd-overlay,.fcd-overlay *{box-sizing:border-box}.fcd-dialog{width:min(100%,760px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:#fffefa;border-radius:16px;box-shadow:0 18px 55px #0f172a33;overflow:hidden}.fcd-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px;border-bottom:1px solid #d7e3e2}.fcd-heading h3{margin:0 0 8px;font-size:18px;overflow-wrap:anywhere}.fcd-heading p{margin:0;color:#506871;font-size:13px;line-height:1.6}.fcd-heading button{flex-shrink:0;padding:8px 14px;border:1px solid #d7e3e2;border-radius:8px;background:#f1f6f3;color:#203b43;font:inherit;cursor:pointer}.fcd-heading button:focus-visible{outline:3px solid #4658ce;outline-offset:2px}.fcd-content{overflow-y:auto;min-height:0;padding:16px 20px 20px}.fcd-month+.fcd-month{margin-top:22px}.fcd-month h4{display:flex;justify-content:space-between;gap:10px;margin:0 0 10px;font-size:14px}.fcd-month h4 span{font-size:12px;color:#708389;font-weight:400;white-space:nowrap}.fcd-month ul{list-style:none;padding:0;margin:0}.fcd-record{padding:14px 0;border-bottom:1px solid #e5ece8}.fcd-record-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.fcd-record-heading>div{min-width:0;display:grid;gap:5px}.fcd-record time{font-size:12px;color:#708389}.fcd-record strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.fcd-amount{white-space:nowrap;font-size:14px;color:#4658ce;font-weight:700;font-variant-numeric:tabular-nums}.fcd-invalid{font-size:12px;color:#a33c35}.fcd-record p{margin:8px 0 0;color:#506871;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}@media (max-width: 480px){.fcd-heading{padding:16px}.fcd-content{padding:12px 16px 16px}.fcd-record-heading{flex-direction:column;gap:8px}}.delivery-photo-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;gap:12px;padding:max(64px,calc(env(safe-area-inset-top) + 52px)) 64px max(16px,env(safe-area-inset-bottom));box-sizing:border-box;background:rgba(15,23,42,.88);color:#fff}.delivery-photo-viewer-stage{position:relative;flex:1;min-height:0;width:100%}.delivery-photo-viewer-stage img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:12px}.delivery-photo-viewer-arrow,.delivery-photo-viewer-close{position:absolute;z-index:1;border:0;border-radius:50%;background:#fff;color:#0f172a;cursor:pointer}.delivery-photo-viewer-arrow{top:50%;transform:translateY(-50%);width:44px;height:44px;font-size:36px;line-height:1}.delivery-photo-viewer-prev{left:8px}.delivery-photo-viewer-next{right:8px}.delivery-photo-viewer-close{top:max(14px,env(safe-area-inset-top));right:14px;width:42px;height:42px;font-size:24px}.delivery-photo-viewer-count{position:absolute;top:max(18px,env(safe-area-inset-top));left:50%;transform:translate(-50%);padding:7px 15px;border-radius:20px;background:rgba(0,0,0,.35);font-size:.85rem;font-weight:700}.delivery-photo-viewer-details{position:relative;flex:none;align-self:center;width:min(560px,100%);max-height:min(30dvh,240px);overflow:auto;box-sizing:border-box;display:grid;gap:3px;padding:10px 14px;border-radius:14px;background:#fff;color:#0f172a;text-align:center;line-height:1.5;overflow-wrap:anywhere;box-shadow:0 10px 30px #00000047}@media (max-width: 620px){.delivery-photo-viewer{padding-left:12px;padding-right:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.delivery-photo-viewer-details{padding:12px 58px;max-height:32dvh}.delivery-photo-viewer-arrow{top:auto;bottom:max(20px,calc(env(safe-area-inset-bottom) + 8px));transform:none}.delivery-photo-viewer-prev{left:18px}.delivery-photo-viewer-next{right:18px}}.delivery-photo-grid{display:grid;gap:8px;align-items:start;width:100%;min-width:0}.delivery-photo-grid-large{grid-template-columns:repeat(4,minmax(0,1fr))}.delivery-photo-grid-medium{grid-template-columns:repeat(5,minmax(0,1fr))}.delivery-photo-grid-small{grid-template-columns:repeat(6,minmax(0,1fr))}.delivery-photo-tile{min-width:0;text-align:center}.delivery-photo-tile img{display:block;width:100%;max-width:100%;height:auto;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer}.delivery-photo-grid-square img{aspect-ratio:1;object-fit:cover}.delivery-photo-grid-ratio img{aspect-ratio:auto;object-fit:contain}@media (max-width: 620px){.delivery-photo-grid-large{grid-template-columns:repeat(1,minmax(0,1fr))}.delivery-photo-grid-medium{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-photo-grid-small{grid-template-columns:repeat(3,minmax(0,1fr))}}.dch-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;display:grid;place-items:center;padding:20px;background:rgba(18,31,48,.48);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#1d3444}.dch-dialog{width:min(1120px,100%);max-height:min(92dvh,980px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #d8e3e1;border-radius:18px;background:#f7faf8;box-shadow:0 24px 80px #142d363b;outline:none}.dch-dialog:focus-visible{box-shadow:0 0 0 3px #91b8ae,0 24px 80px #142d363b}.dch-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 28px 20px;border-bottom:1px solid #dfe8e5;background:#edf4f1}.dch-eyebrow{margin:0 0 7px;color:#527c72;font-size:.67rem;font-weight:800;letter-spacing:.14em}.dch-header h2{margin:0;color:#203c42;font-size:clamp(1.35rem,3vw,1.8rem);letter-spacing:-.035em}.dch-header p:last-child{margin:5px 0 0;color:#637a7b;font-size:.88rem}.dch-close,.dch-error button,.dch-more{border:1px solid #cbd9d5;border-radius:9px;background:#fff;color:#37544f;font:inherit;font-weight:700;cursor:pointer}.dch-close{display:flex;align-items:center;gap:10px;padding:8px 11px 8px 14px}.dch-close span{font-size:1.25rem;line-height:1}.dch-close:hover,.dch-error button:hover,.dch-more:hover{background:#eaf2ef}.dch-toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:16px;padding:13px 28px;border-bottom:1px solid #e0e9e6;background:#f7faf8}.dc-category-filter{display:grid;gap:5px;color:#506b68;font-size:.77rem;font-weight:700}.dc-category-filter select{min-width:min(270px,64vw);padding:9px 32px 9px 11px;border:1px solid #cbd9d5;border-radius:8px;background:#fff;color:#263f43;font:inherit}.dc-category-filter select:focus-visible,.dch-dialog button:focus-visible,.dch-dialog a:focus-visible{outline:3px solid #88ada4;outline-offset:2px}.dch-count{padding-bottom:9px;color:#718583;font-size:.78rem;font-variant-numeric:tabular-nums}.dch-history-list{padding:18px 28px 28px;overflow:auto;overscroll-behavior:contain}.dch-event{margin-bottom:13px;padding:16px 18px 18px;border:1px solid #dce6e2;border-radius:12px;background:#fff;box-shadow:0 2px 7px #25454309}.dch-event:last-child{margin-bottom:0}.dch-event-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.dch-event-topline time{color:#738482;font-size:.76rem;font-variant-numeric:tabular-nums}.dch-action-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:20px;background:#eaf2ef;color:#3c665e;font-size:.72rem;font-weight:800}.dch-action-delete{background:#f9e9e7;color:#9b4942}.dch-action-create{background:#e5f2eb;color:#3f7054}.dch-action-image_change{background:#f3efdf;color:#77652d}.dch-action-baseline{background:#edf0f0;color:#697979}.dch-event-summary{display:flex;justify-content:space-between;gap:16px;padding:11px 0 12px}.dch-event-summary h3{margin:0 0 6px;font-size:1rem;color:#263f43}.dch-event-summary p{margin:3px 0;color:#48605f;font-size:.82rem}.dch-event-summary p>span{color:#7a8b88}.dch-event-summary p strong{font-weight:750}.dch-event-summary p em{color:#8b6251;font-size:.75rem;font-style:normal}.dch-event-meta{display:grid;align-content:start;justify-items:end;gap:6px;color:#587a71;font-size:.76rem;text-align:right}.dch-event-meta>span{padding:4px 8px;border-radius:5px;background:#eff5f2}.dch-event-meta small{max-width:230px;color:#81908e;overflow-wrap:anywhere}.dch-baseline-note,.dch-legacy-note,.dch-delete-note{margin:0 0 11px;padding:9px 11px;border-left:3px solid #92aaa4;background:#f2f6f4;color:#536b67;font-size:.78rem;line-height:1.5}.dch-delete-note{border-color:#ba7169;background:#fbf1ef;color:#774c48}.dch-snapshots{display:grid;gap:10px}.dch-snapshots-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.dch-record{min-width:0;padding:11px;border:1px solid #e4ebe8;border-radius:9px;background:#fbfcfb}.dch-record>h4{margin:0 0 9px;color:#486760;font-size:.8rem}.dch-record-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;margin:0}.dch-record-data div{min-width:0}.dch-record-data dt{margin-bottom:2px;color:#83928f;font-size:.67rem}.dch-record-data dd{margin:0;color:#3d5654;font-size:.75rem;overflow-wrap:anywhere}.dch-image-section{margin-top:10px;padding-top:9px;border-top:1px solid #e8eeeb}.dch-image-section h5{display:flex;align-items:center;gap:6px;margin:0 0 8px;color:#657b76;font-size:.72rem}.dch-image-section h5 span{display:grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:#eaf1ee;font-size:.65rem}.dch-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:8px}.dch-image-reference{min-width:0;margin:0;overflow:hidden;border:1px solid #e0e7e4;border-radius:7px;background:#fff}.dch-history-preview,.dch-image-unavailable{display:grid;width:100%;aspect-ratio:1 / 1;place-items:center;background:#f1f4f2}.dch-history-preview{position:relative;overflow:hidden;cursor:default;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.dch-history-preview canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.dch-history-preview canvas[hidden]{display:none}.dch-history-preview .dch-image-unavailable{padding:8px;box-sizing:border-box;text-align:center}.dch-image-unavailable{color:#82908e;font-size:.7rem}.dch-image-reference figcaption{display:grid;gap:3px;padding:6px 7px 7px;color:#71827e;font-size:.64rem;line-height:1.4;overflow-wrap:anywhere}.dch-image-reference figcaption strong{color:#425b56;font-size:.68rem;font-weight:700}.dch-no-images,.dch-no-snapshot{margin:0;color:#899794;font-size:.73rem}.dch-record-missing{border-style:dashed;color:#82908e}.dch-record-missing p{margin:0;font-size:.75rem}.dch-loading{display:grid;gap:12px;padding:20px 28px 28px;overflow:auto}.dch-skeleton{min-height:165px;display:grid;align-content:start;gap:11px;padding:16px;border:1px solid #e1e9e6;border-radius:11px;background:#fff}.dch-skeleton i{display:block;height:11px;width:45%;border-radius:6px;background:#e8efec}.dch-skeleton i:nth-child(2){width:72%}.dch-skeleton i:nth-child(3){width:90%}.dch-error{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 28px 0;padding:13px 15px;border:1px solid #e9c8c2;border-radius:9px;background:#fcf2f0;color:#884b43}.dch-error div{display:grid;gap:3px;overflow-wrap:anywhere}.dch-error span{font-size:.78rem}.dch-error button{flex:0 0 auto;padding:8px 11px}.dch-empty{display:grid;justify-items:center;align-content:center;min-height:250px;padding:30px;color:#748783;text-align:center}.dch-empty-mark{display:grid;width:42px;height:42px;place-items:center;margin-bottom:9px;border:1px solid #cbd9d5;border-radius:50%;color:#75978d;font-size:1.4rem}.dch-empty h3{margin:0;color:#36534c;font-size:1rem}.dch-empty p{margin:6px 0 0;font-size:.82rem}.dch-more-wrap{display:flex;justify-content:center;padding:0 28px 24px}.dch-more{min-width:210px;padding:10px 15px}.dch-more:disabled,.dch-error button:disabled{cursor:wait;opacity:.65}@media (max-width: 680px){.dch-backdrop{padding:0}.dch-dialog{width:100%;max-height:100dvh;min-height:100dvh;border:0;border-radius:0}.dch-header{padding:18px 16px 15px}.dch-header p:last-child{max-width:250px;font-size:.79rem}.dch-toolbar{padding:11px 16px}.dch-history-list{padding:12px 12px 20px}.dch-event{padding:12px}.dch-snapshots-pair{grid-template-columns:1fr}.dch-record-data{grid-template-columns:repeat(2,minmax(0,1fr))}.dch-images{grid-template-columns:repeat(3,minmax(0,1fr))}.dch-loading{padding:12px}.dch-error{margin:12px;align-items:flex-start}.dch-more-wrap{padding:0 12px 18px}}@media (max-width: 400px){.dch-header{gap:8px}.dch-close{padding:8px}.dch-event-summary{flex-direction:column;gap:9px}.dch-event-meta{justify-items:start;text-align:left}.dch-images{grid-template-columns:repeat(2,minmax(0,1fr))}.dch-event-topline time{font-size:.68rem}}.dc-page{--dc-ink: #172033;--dc-muted: #718096;--dc-line: #e7ebf2;--dc-primary: #4f63d9;color:var(--dc-ink);width:100%;max-width:1240px;margin:0 auto;padding:24px;box-sizing:border-box}.dc-page *{box-sizing:border-box}.dc-heading,.dc-form-heading,.dc-filter-title,.dc-entry-heading,.dc-upload-row,.dc-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.dc-heading{margin-bottom:22px}.dc-heading h2{margin:2px 0 5px;font-size:clamp(1.45rem,3vw,1.9rem);letter-spacing:-.03em}.dc-eyebrow{margin:0;color:var(--dc-primary);font-size:.68rem;letter-spacing:.14em;font-weight:800}.dc-subtitle,.dc-form-heading p,.dc-upload-row p{margin:0;color:var(--dc-muted);font-size:.9rem}.dc-form-heading p{margin-top:4px}.dc-button{border:1px solid transparent;border-radius:9px;padding:9px 14px;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;transition:transform .15s,background .15s,border-color .15s;white-space:nowrap}.dc-button:hover:not(:disabled){transform:translateY(-1px)}.dc-button:disabled,.dc-disabled{opacity:.5;cursor:not-allowed}.dc-primary{color:#fff;background:var(--dc-primary);box-shadow:0 5px 14px #4f63d929}.dc-primary:hover:not(:disabled){background:#4053c5}.dc-secondary{color:#384bb7;background:#f0f2ff;border-color:#dfe3ff}.dc-quiet{background:white;color:#586174;border-color:var(--dc-line)}.dc-danger{color:#bd3543;background:#fff1f2;border-color:#ffe0e3}.dc-alert{border-radius:10px;padding:12px 15px;margin-bottom:14px;font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}.dc-alert-error{color:#9c2937;background:#fff1f2;border:1px solid #ffd9de}.dc-alert-success{color:#176849;background:#ecfbf4;border:1px solid #c9f0dd}.dc-form,.dc-filter-panel,.dc-entry{background:#fff;border:1px solid var(--dc-line);border-radius:15px;box-shadow:0 5px 18px #26334b08}.dc-form{padding:20px;margin-bottom:22px}.dc-form-heading{margin-bottom:18px}.dc-form-heading h3,.dc-filter-title h3{margin:0;font-size:1.08rem}.dc-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dc-field{display:flex;flex-direction:column;gap:7px;font-size:.83rem;font-weight:700}.dc-field i{color:#d84956;font-style:normal}.dc-field input,.dc-field select,.dc-filter-group input,.dc-customer-filter input{min-width:0;width:100%;border:1px solid #dfe4ed;border-radius:8px;background:#fff;color:var(--dc-ink);font:inherit;padding:10px 11px;outline:none}.dc-field input:focus,.dc-field select:focus,.dc-filter-group input:focus,.dc-customer-filter input:focus{border-color:#7788ea;box-shadow:0 0 0 3px #7788ea20}.dc-upload-row{margin:20px 0 12px}.dc-upload-row strong{font-size:.91rem}.dc-upload-row p{font-size:.78rem;margin-top:3px}.dc-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.dc-preview-card,.dc-entry-image{position:relative;min-width:0;margin:0;overflow:hidden;border:1px solid var(--dc-line);border-radius:11px;background:#fff}.dc-preview-card>img{display:block;width:100%;height:190px;object-fit:contain;background:#f4f6fa}.dc-remove-image{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;border-radius:50%;background:#20283bdc;color:#fff;font-size:22px;line-height:1;cursor:pointer}.dc-image-meta{display:grid;gap:3px;padding:10px 11px;color:#687386;font-size:.73rem;line-height:1.45;overflow-wrap:anywhere}.dc-image-meta b{color:#374258}.dc-form-actions{justify-content:flex-end;margin-top:18px}.dc-filter-panel{padding:17px 19px;margin-bottom:16px}.dc-filter-title{margin-bottom:14px;flex-wrap:wrap}.dc-filter-title>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dc-filter-title span{color:var(--dc-muted);font-size:.8rem}.dc-view-controls{gap:12px}.dc-view-control-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dc-view-option{padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#475569;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}.dc-view-option[aria-pressed=true]{border-color:#5b6cf6;background:#eef2ff;color:#4338ca}.dc-view-option:focus-visible{outline:3px solid #7788ea;outline-offset:2px}.dc-filters{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dc-filter-group{display:flex;align-items:center;gap:9px;min-width:0}.dc-filter-group>strong{min-width:94px;font-size:.78rem}.dc-filter-group label{display:flex;align-items:center;gap:6px;color:var(--dc-muted);font-size:.76rem}.dc-filter-group input{width:auto;padding:7px;font-size:.8rem}.dc-customer-filter{grid-column:1 / -1;display:flex;align-items:center;gap:12px;font-size:.78rem}.dc-customer-filter input{width:min(320px,100%);padding:8px 10px;font-size:.85rem}.dc-state{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--dc-muted);text-align:center}.dc-state strong{color:var(--dc-ink)}.dc-state-error{color:#a52836;overflow-wrap:anywhere}.dc-empty-icon{font-size:2rem;color:#aab4c7}.dc-spinner{width:23px;height:23px;border:2px solid #dfe4f0;border-top-color:var(--dc-primary);border-radius:50%;animation:dc-spin .7s linear infinite}@keyframes dc-spin{to{transform:rotate(360deg)}}.dc-entry-list{display:grid;gap:15px}.dc-entry{padding:17px}.dc-entry-heading{align-items:flex-start}.dc-entry-heading h3{margin:6px 0 4px;font-size:1rem}.dc-entry-heading p{margin:0;color:var(--dc-muted);font-size:.78rem;line-height:1.55}.dc-entry-heading p span{padding:0 3px}.dc-category{display:inline-block;padding:4px 9px;border-radius:20px;color:#4254bc;background:#f0f2ff;font-size:.72rem;font-weight:800}.dc-entry-actions{display:flex;gap:8px}.dc-entry-images,.dc-images{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:10px;margin-top:15px}.dc-size-large .dc-entry-images,.dc-size-large .dc-images,.dc-entry-list.dc-size-large .dc-entry-images,.dc-entry-list.dc-size-large .dc-images{grid-template-columns:repeat(4,minmax(0,1fr))}.dc-size-medium .dc-entry-images,.dc-size-medium .dc-images,.dc-entry-list.dc-size-medium .dc-entry-images,.dc-entry-list.dc-size-medium .dc-images{grid-template-columns:repeat(5,minmax(0,1fr))}.dc-size-small .dc-entry-images,.dc-size-small .dc-images,.dc-entry-list.dc-size-small .dc-entry-images,.dc-entry-list.dc-size-small .dc-images{grid-template-columns:repeat(6,minmax(0,1fr))}.dc-entry-images .dc-entry-image,.dc-images .dc-entry-image{width:auto;max-width:none;min-width:0}.dc-edit-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vh,40px) 18px;overflow:auto;background:rgba(24,32,56,.56)}.dc-edit-dialog{width:min(960px,100%);max-height:calc(100dvh - 48px);margin:auto;overflow:auto;border-radius:18px;background:#f7f8fc;box-shadow:0 24px 80px #18203847}.dc-edit-dialog.dc-page{padding:24px}.dc-edit-dialog .dc-form{max-height:none}.dc-edit-dialog .dc-form-heading{position:sticky;top:-20px;z-index:2;padding:4px 0 12px;background:#fff}.dc-edit-dialog .dc-form{overflow:visible}.dc-entry-list.dc-size-large{grid-template-columns:repeat(4,minmax(0,1fr))}.dc-entry-list.dc-size-medium{grid-template-columns:repeat(5,minmax(0,1fr))}.dc-entry-list.dc-size-small{grid-template-columns:repeat(6,minmax(0,1fr))}.dc-gallery-tile{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--dc-line);border-radius:13px;background:#fff;box-shadow:0 5px 18px #26334b08}.dc-gallery-tile .dc-image-open{flex:none}.dc-gallery-tile .dc-image-meta{grid-template-rows:repeat(6,30px);gap:0;padding:6px 10px 0}.dc-meta-field{display:flex;flex-direction:column;min-width:0;height:30px;padding:0;overflow:hidden;overflow-wrap:anywhere;line-height:1.2;scrollbar-width:thin}.dc-meta-field b{flex:none}.dc-meta-field span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dc-gallery-missing{display:grid;place-items:center;aspect-ratio:1 / 1;color:var(--dc-muted);background:#f4f6fa;font-size:.82rem}.dc-aspect-ratio .dc-gallery-missing{aspect-ratio:4 / 3}.dc-gallery-actions{display:flex;gap:5px;margin-top:auto;padding:6px 9px}.dc-gallery-actions .dc-button{flex:1;min-width:0;padding:8px 5px;font-size:.76rem;white-space:normal}.dc-gallery-actions .dc-danger{overflow-wrap:anywhere}.dc-gallery-tile .dc-image-open:focus-visible,.dc-gallery-actions .dc-button:focus-visible{outline:3px solid #7788ea;outline-offset:2px}.dc-edit-dialog .dc-form{margin-bottom:0}.dc-image-open{display:block;width:100%;aspect-ratio:1 / 1;padding:0;border:0;background:transparent;cursor:zoom-in}.dc-image-open img{display:block;width:100%;height:100%;aspect-ratio:1 / 1;margin:0 auto;object-fit:cover;object-position:center;background:#f4f6fa}.dc-entry-images--ratio .dc-image-open,.dc-aspect-ratio .dc-image-open{aspect-ratio:4 / 3}.dc-entry-images--ratio .dc-image-open img,.dc-aspect-ratio .dc-image-open img{width:100%;height:100%;aspect-ratio:4 / 3;object-fit:cover}.dc-image-open:focus-visible{outline:3px solid #7788ea;outline-offset:-3px}.dc-missing-image{height:100%;min-height:0;display:grid;place-items:center;color:var(--dc-muted);background:#f4f6fa;font-size:.8rem}.dc-entry-images .dc-missing-image,.dc-images .dc-missing-image{aspect-ratio:1 / 1}.dc-aspect-ratio .dc-entry-images .dc-missing-image,.dc-aspect-ratio .dc-images .dc-missing-image{aspect-ratio:4 / 3}.dc-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;flex-direction:column;gap:12px;padding:max(64px,calc(env(safe-area-inset-top) + 52px)) 64px max(16px,env(safe-area-inset-bottom));box-sizing:border-box;background:rgba(15,23,42,.9);color:#fff}.dc-viewer-stage{position:relative;flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}.dc-viewer-stage img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.dc-viewer-close,.dc-viewer-arrow{position:absolute;z-index:1;border:0;border-radius:50%;background:#fff;color:#172033;cursor:pointer}.dc-viewer-close{top:max(14px,env(safe-area-inset-top));right:14px;width:42px;height:42px;font-size:27px;line-height:1}.dc-viewer-arrow{top:50%;transform:translateY(-50%);width:44px;height:44px;font-size:36px;line-height:1}.dc-viewer-prev{left:8px}.dc-viewer-next{right:8px}.dc-viewer-count{position:absolute;top:max(18px,env(safe-area-inset-top));left:50%;transform:translate(-50%);padding:7px 15px;border-radius:20px;background:rgba(0,0,0,.35);font-size:.85rem;font-weight:700}.dc-viewer-details{position:relative;flex:none;align-self:center;width:min(560px,100%);max-height:min(30dvh,240px);overflow:auto;box-sizing:border-box;display:grid;gap:3px;padding:10px 14px;border-radius:10px;background:#fff;color:#172033;text-align:center;font-size:.82rem;overflow-wrap:anywhere}.dc-viewer-details span{color:#64748b}@media (max-width: 760px){.dc-page{padding:16px}.dc-fields{grid-template-columns:1fr 1fr}.dc-filters{grid-template-columns:1fr}.dc-filter-group{flex-wrap:wrap}}@media (max-width: 620px){.dc-viewer{padding-left:12px;padding-right:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.dc-viewer-details{padding:12px 58px;max-height:32dvh}.dc-viewer-arrow{top:auto;bottom:max(20px,calc(env(safe-area-inset-bottom) + 8px));transform:none}.dc-viewer-prev{left:18px}.dc-viewer-next{right:18px}.dc-entry-list.dc-size-large{grid-template-columns:repeat(1,minmax(0,1fr))}.dc-entry-list.dc-size-medium{grid-template-columns:repeat(2,minmax(0,1fr))}.dc-entry-list.dc-size-small{grid-template-columns:repeat(3,minmax(0,1fr))}.dc-size-large .dc-entry-images,.dc-size-large .dc-images,.dc-entry-list.dc-size-large .dc-entry-images,.dc-entry-list.dc-size-large .dc-images{grid-template-columns:repeat(1,minmax(0,1fr))}.dc-size-medium .dc-entry-images,.dc-size-medium .dc-images,.dc-entry-list.dc-size-medium .dc-entry-images,.dc-entry-list.dc-size-medium .dc-images{grid-template-columns:repeat(2,minmax(0,1fr))}.dc-size-small .dc-entry-images,.dc-size-small .dc-images,.dc-entry-list.dc-size-small .dc-entry-images,.dc-entry-list.dc-size-small .dc-images{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 520px){.dc-edit-backdrop{align-items:flex-start;padding:12px}.dc-edit-dialog{max-height:calc(100dvh - 24px);border-radius:14px}.dc-edit-dialog.dc-page{padding:14px}.dc-gallery-actions{flex-direction:column}.dc-page{padding:12px}.dc-heading,.dc-entry-heading{align-items:flex-start}.dc-heading{flex-wrap:wrap}.dc-heading>.dc-button{width:100%}.dc-form{padding:14px}.dc-fields{grid-template-columns:1fr}.dc-filter-panel{padding:14px}.dc-filter-group{display:grid;grid-template-columns:1fr 1fr}.dc-filter-group>strong{grid-column:1 / -1}.dc-filter-group label{display:block}.dc-filter-group input{width:100%;margin-top:4px}.dc-customer-filter{align-items:stretch;flex-direction:column;gap:6px}.dc-customer-filter input{width:100%}.dc-entry{padding:12px}.dc-entry-heading{flex-direction:column}.dc-entry-actions{width:100%}.dc-entry-actions .dc-button{flex:1}.dc-upload-row{align-items:flex-start;flex-direction:column}.dc-upload-row .dc-button{width:100%;text-align:center}}.design-image-downloads{text-align:left}.design-image-downloads>button{width:100%}.design-image-downloads p{margin:6px 0;color:#64748b;font-size:.72rem;line-height:1.45}.design-image-downloads h3{font-size:.85rem;margin:10px 0 6px}.design-image-downloads [role=alert]{color:#b91c1c;margin:8px 0}.design-download-totals{display:flex;flex-wrap:wrap;gap:5px;padding:0;list-style:none;margin:6px 0}.design-download-totals li{background:#eef2ff;color:#3730a3;padding:4px 7px;border-radius:6px;font-size:.75rem}.design-download-events{list-style:none;padding:0;margin:6px 0}.design-download-events li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 8px;padding:5px 0;border-bottom:1px solid #f1f5f9}.design-download-events time{color:#64748b;font-size:.75rem}.design-download-pages{display:flex;align-items:center;justify-content:space-between;gap:6px}.design-download-metadata{display:grid;gap:3px;text-align:center;margin:10px 0}.design-download-history-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.design-download-history-heading h3{margin:6px 0}.design-download-history-heading button{flex-shrink:0;border:1px solid #c7d2fe;border-radius:6px;background:#eef2ff;color:#3730a3;padding:5px 9px;font:inherit;font-size:.75rem;cursor:pointer}.finance-record-backdrop,.finance-record-backdrop *{box-sizing:border-box}.finance-record-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(27,39,51,.47);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:finance-record-fade-in .16s ease-out both}.finance-record-dialog{display:flex;flex-direction:column;width:min(100%,760px);max-height:min(760px,calc(100dvh - 48px));overflow:hidden;border:1px solid #e0e7ed;border-radius:18px;background:#fbfcfd;color:#283744;box-shadow:0 24px 80px #1728373d;outline:none;animation:finance-record-rise-in .19s ease-out both}.finance-record-header{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:20px;padding:23px 28px 18px;border-bottom:1px solid #e9eef1;background:#f5f8fa}.finance-record-eyebrow{display:block;margin-bottom:4px;color:#69808e;font-size:11px;font-weight:700;letter-spacing:.095em}.finance-record-header h2{margin:0;color:#213441;font-size:21px;font-weight:750;line-height:1.35}.finance-record-close{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;margin:0;border:1px solid #dce5e9;border-radius:10px;background:#fff;color:#637683;font:inherit;font-size:22px;line-height:1;cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}.finance-record-close:hover:not(:disabled){transform:translateY(-1px);background:#eaf2f3;color:#274f5a}.finance-record-form{display:flex;min-height:0;flex:1 1 auto;flex-direction:column}.finance-record-grid{display:grid;flex:1 1 auto;min-height:0;min-width:0;margin:0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px;overflow-y:auto;padding:22px 28px 24px}.finance-record-field{display:flex;min-width:0;flex-direction:column;gap:7px}.finance-record-field-wide{grid-column:1 / -1}.finance-record-field label{color:#405663;font-size:13px;font-weight:650}.finance-record-required{color:#bc6657}.finance-record-error{margin:0;color:#b42318;font-size:12px;line-height:1.4}.finance-record-field [aria-invalid=true]{border-color:#b42318}.finance-record-field input,.finance-record-field select,.finance-record-input{box-sizing:border-box;width:100%;min-width:0;height:43px;padding:0 12px;border:1px solid #d8e1e6;border-radius:9px;outline:none;background:#fff;color:#273b47;font-family:inherit;font-size:14px;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.finance-record-field input::placeholder,.finance-record-input::placeholder{color:#9aa9b1}.finance-record-field input:focus,.finance-record-field select:focus,.finance-record-input:focus{border-color:#6f9eaa;box-shadow:0 0 0 3px #5c94a024}.finance-record-field select{cursor:pointer}.finance-record-actions{position:sticky;z-index:1;bottom:0;display:flex;flex:0 0 auto;justify-content:flex-end;gap:10px;padding:14px 28px;border-top:1px solid #e7edef;background:rgba(251,252,253,.97)}.finance-record-actions button{min-width:108px;min-height:42px;padding:0 17px;border-radius:9px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:transform .14s ease,background .14s ease,opacity .14s ease}.finance-record-cancel{border:1px solid #d9e2e7;background:#fff;color:#536875}.finance-record-cancel:hover:not(:disabled){transform:translateY(-1px);background:#f0f5f6}.finance-record-save{border:1px solid #287c83;background:#287c83;color:#fff;box-shadow:0 3px 9px #287c832e}.finance-record-save:hover:not(:disabled){transform:translateY(-1px);background:#216c73}.finance-record-actions button:disabled,.finance-record-close:disabled{opacity:.56;cursor:not-allowed}@keyframes finance-record-fade-in{0%{opacity:0}to{opacity:1}}@keyframes finance-record-rise-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 600px){.finance-record-backdrop{align-items:stretch;padding:0}.finance-record-dialog{width:100%;max-height:100dvh;border:0;border-radius:0}.finance-record-header{padding:17px 19px 14px}.finance-record-header h2{font-size:19px}.finance-record-grid{grid-template-columns:minmax(0,1fr);gap:14px;padding:18px 19px 22px}.finance-record-field-wide{grid-column:auto}.finance-record-actions{padding:12px 19px calc(12px + env(safe-area-inset-bottom))}.finance-record-actions button{flex:1 1 0}}@media (prefers-reduced-motion: reduce){.finance-record-backdrop,.finance-record-dialog{animation:none}}:root{--primary: #5B6CF6;--primary-light: #EEF0FF;--primary-dark: #4556E0;--bg: #F4F6FB;--surface: #FFFFFF;--border: #E8ECF4;--text-primary: #1E2A3B;--text-secondary: #64748B;--text-muted: #A0ADBF;--chart-income: #43a047;--chart-expense: #e53935}*{box-sizing:border-box}body{font-family:Inter,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}.mobile-app{display:flex;flex-direction:column;min-height:100vh;background:transparent}.mobile-header{background:var(--surface);color:var(--text-primary);padding:0 1rem;height:56px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #1e2a3b0f;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.mobile-header h1{margin:0;font-size:1rem;font-weight:700;color:var(--primary);letter-spacing:-.3px}.mobile-logout-btn{background:var(--primary-light);border:none;color:var(--primary);padding:.4rem .875rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.8rem;font-family:inherit;transition:background .15s}.mobile-logout-btn:active{background:var(--primary);color:#fff}.mobile-content{flex:1;padding:1rem;overflow-y:auto;padding-bottom:96px}.mobile-section{margin-bottom:1rem}.mobile-section h2{margin:0 0 .875rem;color:var(--text-primary);font-size:1.15rem;font-weight:700;letter-spacing:-.3px}.mobile-card{background:var(--surface);border-radius:14px;padding:1rem;box-shadow:0 2px 8px #1e2a3b0f;margin-bottom:.75rem;border:1px solid var(--border)}.mobile-card p{margin:.4rem 0;font-size:.875rem;color:var(--text-primary)}.mobile-card p strong{color:var(--primary);display:inline-block;min-width:100px;font-weight:600}.mobile-image-preview{margin-top:.5rem;text-align:center}.mobile-image-preview img{max-width:100%;max-height:200px;border-radius:10px;cursor:pointer;box-shadow:0 2px 8px #0000001a}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:var(--surface);display:flex;justify-content:space-around;gap:.15rem;padding:.5rem .25rem;box-shadow:0 -1px 0 var(--border),0 -4px 20px #1e2a3b14;z-index:100;overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}.nav-btn{background:transparent;border:none;border-radius:12px;padding:.5rem .35rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.25rem;color:var(--text-muted);transition:all .15s ease;min-width:48px;flex:0 0 auto;position:relative}.mobile-attendance-shortcut{display:flex;align-items:center;gap:12px;width:100%;margin-bottom:12px;padding:14px;border:1px solid #c7d2fe;border-radius:12px;background:#eef2ff;color:#27379e;font:inherit;text-align:left;cursor:pointer}.mobile-attendance-shortcut>span:nth-child(2){display:grid;gap:3px;flex:1}.mobile-attendance-shortcut small{color:#64748b;font-size:.78rem}.mobile-attendance-icon{font-size:1.4rem}.nav-btn:active{transform:scale(.93)}.nav-btn.active{color:var(--primary)}.nav-btn.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:32px;height:3px;background:var(--primary);border-radius:0 0 4px 4px}.nav-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;transition:transform .15s;line-height:1;flex-shrink:0}.nav-btn.active .nav-icon{transform:scale(1.1)}.nav-label{font-size:.62rem;font-weight:600;text-align:center;line-height:1.2;font-family:Inter,sans-serif}.mobile-table{width:100%;border-collapse:collapse;font-size:.82rem}.mobile-table th{background:var(--bg);padding:.65rem .5rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);font-size:.75rem;text-transform:uppercase;letter-spacing:.3px}.mobile-table td{padding:.65rem .5rem;border-bottom:1px solid var(--border);color:var(--text-primary)}.mobile-table tr:last-child td{border-bottom:none}.mobile-status-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:20px;font-size:.72rem;font-weight:600;line-height:1}.mobile-status-badge.waiting,.mobile-status-badge.รอดำเนินการ{background:#FEF3C7;color:#92400e}.mobile-status-badge.paid,.mobile-status-badge.จ่ายแล้ว,.mobile-status-badge.สำเร็จ{background:#DCFCE7;color:#15803d}.mobile-status-badge.กำลังดำเนินการ{background:#DBEAFE;color:#1d4ed8}.mobile-status-badge.failed,.mobile-status-badge.ไม่สำเร็จ{background:#FEE2E2;color:#b91c1c}.mobile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem}.spinner{border:3px solid rgba(91,108,246,.15);border-top:3px solid var(--primary);border-radius:50%;width:36px;height:36px;animation:spin .8s linear infinite;margin-bottom:.75rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-image-preview img{width:80px;height:80px;object-fit:cover;border-radius:10px;cursor:pointer;border:1.5px solid var(--border)}.mobile-image-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-image-modal img{max-width:90%;max-height:90vh;border-radius:12px;box-shadow:0 20px 60px #00000080}.mobile-close-btn{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.15);color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s}.mobile-close-btn:hover{background:rgba(255,255,255,.25)}.chat-container{display:flex;flex-direction:column;height:500px;background:var(--surface);border-radius:14px;overflow:hidden;border:1px solid var(--border)}.chat-messages{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:3px}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.message{display:flex;margin-bottom:.25rem}.message.sender{justify-content:flex-end}.message.receiver{justify-content:flex-start}.message-content{max-width:72%;padding:.65rem .9rem;border-radius:14px;word-wrap:break-word;font-size:.875rem;line-height:1.45}.message.sender .message-content{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.message.receiver .message-content{background:var(--bg);color:var(--text-primary);border-bottom-left-radius:4px}.message-content p{margin:0 0 .25rem;font-size:.875rem}.message-time{font-size:.68rem;opacity:.65;display:block;margin-top:.25rem}.chat-input{display:flex;gap:.5rem;padding:.75rem;background:var(--bg);border-top:1px solid var(--border)}.chat-input input{flex:1;padding:.65rem 1rem;border:1.5px solid var(--border);border-radius:22px;font-size:.875rem;font-family:inherit;background:var(--surface);outline:none;transition:border-color .15s}.chat-input input:focus{border-color:var(--primary)}.chat-input button{padding:.65rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:22px;font-weight:600;cursor:pointer;font-size:.875rem;font-family:inherit;transition:background .15s}.chat-input button:active{background:var(--primary-dark)}@keyframes slideInDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOutUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}.mobile-notification-popup{position:fixed;top:1rem;left:1rem;right:1rem;z-index:99999;background:var(--surface);border-radius:14px;box-shadow:0 8px 32px #1e2a3b2e;padding:.875rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;animation:slideInDown .25s ease-out;border:1px solid var(--border)}.mobile-notification-popup.closing{animation:slideOutUp .25s ease-out}.mobile-notification-popup.success{border-left:4px solid #22C55E;background:#F0FDF4}.mobile-notification-popup.error{border-left:4px solid #EF4444;background:#FFF5F5}.mobile-notification-popup.info{border-left:4px solid #3B82F6;background:#EFF6FF}.mobile-notification-popup.warning{border-left:4px solid #F59E0B;background:#FFFBEB}.mobile-notification-content{display:flex;align-items:center;gap:.75rem;flex:1}.mobile-notification-icon{font-size:1.3rem;flex-shrink:0}.mobile-notification-message{font-size:.875rem;font-weight:500;color:var(--text-primary);line-height:1.4}.mobile-notification-close{background:rgba(0,0,0,.06);border:none;border-radius:50%;width:26px;height:26px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0;color:var(--text-secondary)}.mobile-notification-close:hover{background:rgba(0,0,0,.12)}:root{--tc-primary: #5B6CF6;--tc-primary-light: #EEF0FF;--tc-success: #22C55E;--tc-success-light: #DCFCE7;--tc-danger: #EF4444;--tc-danger-light: #FEE2E2;--tc-warning: #F59E0B;--tc-warning-light: #FEF3C7;--tc-info: #3B82F6;--tc-info-light: #DBEAFE;--tc-bg: #F4F6FB;--tc-surface: #FFFFFF;--tc-border: #E8ECF4;--tc-text: #1E2A3B;--tc-text-2: #64748B;--tc-text-3: #A0ADBF}.time-tracking-container{max-width:820px;margin:0 auto;padding:1.25rem;font-family:Inter,Segoe UI,sans-serif}.time-tracking-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.back-btn{padding:.5rem 1rem;background:var(--tc-bg);color:var(--tc-text-2);border:1.5px solid var(--tc-border);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;font-family:inherit;transition:all .15s}.back-btn:hover{background:var(--tc-border);color:var(--tc-text)}.current-time{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding:1.25rem 1.5rem;background:var(--tc-surface);border-radius:16px;border:1.5px solid var(--tc-border);box-shadow:0 2px 8px #1e2a3b0f;gap:1rem}.user-info-inline{display:flex;align-items:flex-start;justify-content:flex-start;flex:1}.user-details-inline{text-align:left}.user-name{font-size:1rem;font-weight:700;color:var(--tc-text);margin-bottom:.15rem}.user-full-name-inline{font-size:.8rem;color:var(--tc-text-2);margin-bottom:.35rem}.user-position-badge-inline{display:inline-block;padding:.2rem .65rem;background:var(--tc-primary-light);color:var(--tc-primary);border-radius:20px;font-size:.72rem;font-weight:600}.time-date-section{text-align:right;flex:1}.time-display{font-size:2rem;font-weight:800;color:var(--tc-primary);margin-bottom:.2rem;letter-spacing:-1px;font-feature-settings:"tnum"}.date-display{font-size:.82rem;color:var(--tc-text-2)}.error-message{background:var(--tc-danger-light);color:#991b1b;padding:.875rem 1rem;border-radius:10px;margin-bottom:1rem;text-align:center;font-size:.875rem;font-weight:500;border:1px solid rgba(239,68,68,.2)}.location-info{background:var(--tc-surface);padding:1.25rem;border-radius:14px;margin-bottom:1rem;border:1.5px solid var(--tc-border);box-shadow:0 1px 4px #1e2a3b0d}.location-info h3{margin-top:0;color:var(--tc-text);font-size:1rem;font-weight:700;margin-bottom:1rem}.location-status{margin:.875rem 0}.status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:25px;font-weight:700;font-size:.875rem;margin-bottom:.875rem}.status-inside{background:var(--tc-success-light);color:#15803d;border:1.5px solid rgba(34,197,94,.3)}.status-outside{background:var(--tc-danger-light);color:#991b1b;border:1.5px solid rgba(239,68,68,.3)}.distance-text{font-size:.875rem;color:var(--tc-text);margin:.5rem 0;font-weight:500}.area-text{font-size:.82rem;color:var(--tc-text-2);margin:.3rem 0}.coordinates{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--tc-border)}.coordinates small{color:var(--tc-text-3);font-size:.78rem}.inside-area{color:#15803d;font-weight:700}.outside-area{color:#991b1b;font-weight:700}.map-container{background:var(--tc-surface);padding:1.25rem;border-radius:14px;margin-bottom:1rem;border:1.5px solid var(--tc-border);box-shadow:0 1px 4px #1e2a3b0d;overflow:hidden}.map-container h3{margin-top:0;color:var(--tc-text);font-size:1rem;font-weight:700;margin-bottom:1rem}.map-container iframe{width:100%;border-radius:10px}.clock-btn{width:100%;padding:1.25rem;font-size:1.2rem;font-weight:700;border:none;border-radius:14px;cursor:pointer;transition:transform .1s,box-shadow .15s;margin-bottom:.875rem;font-family:Inter,sans-serif;letter-spacing:.3px}.clock-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.clock-btn:active:not(:disabled){transform:translateY(0)}.clock-btn:disabled{opacity:.55;cursor:not-allowed}.clock-in-btn{background:#22C55E;color:#fff;box-shadow:0 4px 12px #22c55e40}.clock-in-btn:hover:not(:disabled){background:#16A34A}.clock-out-btn{background:#EF4444;color:#fff;box-shadow:0 4px 12px #ef444440}.clock-out-btn:hover:not(:disabled){background:#DC2626}.active-session-info{background:var(--tc-success-light);border:1.5px solid rgba(34,197,94,.3);padding:1rem 1.25rem;border-radius:12px;margin-bottom:1rem;text-align:center}.work-hours-live{font-weight:700;color:#15803d;margin-top:.4rem;font-size:1rem}.note-modal{position:fixed;top:var(--clock-viewport-offset, 0px);left:0;right:0;height:var(--clock-viewport-height, 100vh);background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;box-sizing:border-box;overflow:hidden;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.note-modal-content{background:var(--tc-surface);padding:1.75rem;border-radius:16px;max-width:500px;width:100%;box-sizing:border-box;min-height:0;max-height:calc(var(--clock-viewport-height, 100vh) - 2rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-shadow:0 20px 60px #1e2a3b33;border:1px solid var(--tc-border)}.note-modal-content h3{margin:0 0 1rem;color:var(--tc-primary);font-size:1.1rem;font-weight:700}.clock-save-error,.clock-save-progress{padding:12px;border-radius:10px;font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}.clock-save-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.clock-save-progress{color:#3730a3;background:#eef2ff}.warning{color:#dc2626;font-weight:600;margin:.5rem 0;font-size:.875rem}.ot-input-group{margin-bottom:1rem}.ot-label{display:block;font-weight:600;margin-bottom:.4rem;color:var(--tc-text-2);font-size:.8rem;text-transform:uppercase;letter-spacing:.4px}.ot-input{width:100%;padding:.65rem .875rem;border:1.5px solid var(--tc-border);border-radius:10px;font-size:.9rem;font-family:inherit;background:var(--tc-surface);color:var(--tc-text);outline:none;transition:border-color .15s,box-shadow .15s}.ot-input:focus{border-color:var(--tc-primary);box-shadow:0 0 0 3px #5b6cf61a}.note-textarea{width:100%;padding:.65rem .875rem;border:1.5px solid var(--tc-border);border-radius:10px;font-size:.9rem;font-family:inherit;resize:vertical;margin-bottom:1rem;background:var(--tc-surface);color:var(--tc-text);outline:none;transition:border-color .15s,box-shadow .15s}.note-textarea:focus{border-color:var(--tc-primary);box-shadow:0 0 0 3px #5b6cf61a}.note-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.cancel-btn{padding:.6rem 1.25rem;background:var(--tc-bg);color:var(--tc-text-2);border:1.5px solid var(--tc-border);border-radius:8px;cursor:pointer;font-size:.875rem;font-family:inherit;font-weight:500;transition:all .15s}.cancel-btn:hover{background:var(--tc-border)}.submit-btn{padding:.6rem 1.5rem;background:var(--tc-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-family:inherit;font-weight:600;transition:background .15s}.submit-btn:hover:not(:disabled){background:#4556E0}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.success-card-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .25s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.success-card-new{background:var(--tc-surface);border-radius:20px;box-shadow:0 20px 60px #1e2a3b40;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;border:2px solid var(--tc-success)}.success-card-new.clock-out-card{border-color:var(--tc-danger)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.success-icon{background:var(--tc-success-light);padding:2rem 1rem 1rem;border-radius:18px 18px 0 0;display:flex;justify-content:center}.success-icon.clock-out-success{background:var(--tc-danger-light)}.checkmark-circle{width:60px;height:60px}.checkmark{width:60px;height:60px;border-radius:50%;display:block;stroke-width:3;stroke:var(--tc-success);stroke-miterlimit:10;animation:fillCheckmark .4s ease-in-out .4s forwards,scaleCheckmark .3s ease-in-out .9s both}.checkmark.clock-out-checkmark{stroke:var(--tc-danger);animation:fillCheckmarkRed .4s ease-in-out .4s forwards,scaleCheckmark .3s ease-in-out .9s both}.checkmark-circle-path{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:3;stroke-miterlimit:10;stroke:var(--tc-success);fill:#fff;animation:strokeCheckmark .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark-circle-path.clock-out-path{stroke:var(--tc-danger)}.checkmark-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes strokeCheckmark{to{stroke-dashoffset:0}}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheckmark{to{box-shadow:inset 0 0 0 30px var(--tc-success)}}@keyframes fillCheckmarkRed{to{box-shadow:inset 0 0 0 30px var(--tc-danger)}}@keyframes scaleCheckmark{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}.success-title{margin:.875rem 1rem .25rem;font-size:1rem;font-weight:700;color:#15803d;text-align:center}.success-title.clock-out-title{color:#dc2626}.success-subtitle{margin:0 1rem .5rem;font-size:.78rem;color:var(--tc-text-2);text-align:center}.screenshot-warning{margin:.4rem 1rem .75rem;padding:.5rem .75rem;background:var(--tc-danger-light);border:1.5px solid rgba(239,68,68,.3);border-radius:8px;color:#dc2626;font-size:.75rem;font-weight:600;text-align:center}.success-details{padding:0 .875rem .875rem;background:var(--tc-bg)}.success-detail-item{display:flex;align-items:flex-start;gap:.4rem;padding:.35rem 0;border-bottom:1px solid var(--tc-border)}.success-detail-item:last-of-type{border-bottom:none}.detail-icon{font-size:.85rem;color:var(--tc-success);flex-shrink:0}.detail-text{font-size:.72rem;color:var(--tc-text);line-height:1.3}.success-warning-item{display:flex;align-items:flex-start;gap:.4rem;padding:.4rem .5rem;background:var(--tc-warning-light);border-left:3px solid var(--tc-warning);border-radius:6px;margin-bottom:.4rem}.success-warning-item .warning-text{flex:1;font-size:.72rem;line-height:1.3}.success-warning-item .warning-text>div{margin-bottom:.2rem}.success-warning-item .warning-text>div:last-child{margin-bottom:0}.success-warning-item .warning-icon{font-size:.85rem;flex-shrink:0}.success-map-container{margin-top:.5rem;padding:.5rem;background:var(--tc-surface);border-radius:8px;border:1px solid var(--tc-border)}.close-success-new{display:block;width:calc(100% - 2rem);margin:1rem;padding:.7rem 1.5rem;background:var(--tc-primary);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:Inter,sans-serif;transition:background .15s,box-shadow .15s}.close-success-new:hover{background:#4556E0;box-shadow:0 4px 12px #5b6cf64d}.close-success-new.clock-out-close{background:var(--tc-danger)}.close-success-new.clock-out-close:hover{background:#DC2626;box-shadow:0 4px 12px #ef44444d}.success-message{margin:0;white-space:pre-wrap;font-family:inherit;font-size:.95rem;line-height:1.6;color:var(--tc-text)}.records-section{margin-top:1.5rem;background:var(--tc-surface);border-radius:16px;padding:1.25rem;border:1.5px solid var(--tc-border);box-shadow:0 2px 8px #1e2a3b0f}.records-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.875rem;border-bottom:1.5px solid var(--tc-border)}.records-header h3{margin:0;color:var(--tc-text);font-size:1.05rem;font-weight:700}.records-count{background:var(--tc-info-light);color:#1d4ed8;padding:.3rem .875rem;border-radius:20px;font-size:.8rem;font-weight:700}.no-records{text-align:center;color:var(--tc-text-3);padding:3rem;font-size:.9rem}.records-table-container{overflow-x:auto;margin:0 -1.25rem;padding:0 1.25rem}.records-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;table-layout:auto;min-width:1100px}.records-table thead{background:var(--tc-bg)}.records-table th{padding:.75rem .875rem;text-align:left;font-weight:600;white-space:nowrap;font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.4px;border-bottom:1.5px solid var(--tc-border)}.records-table th:first-child{padding-left:1.25rem}.records-table th:last-child{padding-right:1.25rem}.records-table tbody tr{background:var(--tc-surface);transition:background .1s;border-bottom:1px solid var(--tc-border)}.records-table tbody tr:hover{background:var(--tc-bg)}.records-table tbody tr.in-progress{background:linear-gradient(90deg,#F0FDF4 0%,var(--tc-surface) 100%)}.records-table tbody tr:last-child{border-bottom:none}.records-table td{padding:.875rem;vertical-align:middle;white-space:nowrap;color:var(--tc-text)}.records-table td:first-child{padding-left:1.25rem}.records-table td:last-child{padding-right:1.25rem}.date-cell{min-width:150px}.date-cell .date-text{font-weight:600;color:var(--tc-text);font-size:.875rem}.time-cell{font-weight:500;color:var(--tc-text-2);min-width:80px}.time-with-badge{display:flex;align-items:center;gap:.5rem}.hours-cell{font-weight:700;color:#1d4ed8;min-width:100px}.hours-text{background:var(--tc-info-light);padding:.25rem .75rem;border-radius:12px;display:inline-block;white-space:nowrap;color:#1d4ed8;font-size:.85rem}.ot-cell{text-align:center;min-width:80px}.ot-badge{background:var(--tc-warning-light);color:#92400e;padding:.25rem .75rem;border-radius:12px;display:inline-block;font-weight:600;font-size:.82rem}.note-cell{min-width:150px;max-width:280px}.note-text{display:block;font-size:.82rem;color:var(--tc-text-2);white-space:normal;word-wrap:break-word;line-height:1.4}.note-text.warning{color:#92400e;font-weight:500;background:var(--tc-warning-light);padding:.25rem .5rem;border-radius:6px;display:inline-block}.text-muted{color:var(--tc-text-3);font-style:italic}.status-cell{text-align:center;min-width:120px}.status-indicator{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .875rem;border-radius:20px;background:var(--tc-bg);white-space:nowrap;font-size:.8rem;font-weight:600}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;position:relative}.status-dot.completed{background:var(--tc-success)}.status-dot.working{background:var(--tc-warning);animation:pulse 2s infinite}.status-dot.approved{background:var(--tc-info)}.status-dot.rejected{background:var(--tc-danger)}@keyframes pulse{0%,to{box-shadow:0 0 #f59e0b80}50%{box-shadow:0 0 0 6px #f59e0b00}}.status-text{font-size:.82rem;font-weight:600;color:var(--tc-success)}.badge{padding:.22rem .65rem;border-radius:12px;font-size:.78rem;font-weight:600}.late-badge{background:var(--tc-warning-light);color:#92400e}.outside-badge{background:var(--tc-danger-light);color:#991b1b}@media (max-width: 768px){.time-display{font-size:1.6rem}.date-display{font-size:.8rem}.clock-btn{font-size:1.1rem;padding:1.1rem}.current-time{flex-direction:column;text-align:center}.time-date-section{text-align:center}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(255,255,255,.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.attendance-map-frame{position:relative;border-radius:12px;overflow:hidden;isolation:isolate}.attendance-map-canvas{height:320px;width:100%;background:#e8edf2}.attendance-map-compact .attendance-map-canvas{height:200px}.attendance-map-message{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;text-align:center;background:#f1f5f9;color:#475569}.attendance-map-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:13px;color:#475569}.attendance-map-legend span{display:inline-flex;align-items:center;gap:7px}.attendance-map-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.attendance-map-dot-user{background:#2563eb}.attendance-map-dot-office{background:#166534}.attendance-map-captured{display:block;margin-top:8px;color:#64748b}.attendance-map-warning{background:#fff7ed;color:#9a3412;padding:10px;margin-top:8px;border-radius:8px;font-size:13px}.attendance-map-warning button{margin-left:8px;cursor:pointer}.attendance-map .leaflet-container{font-family:inherit}@media (max-width: 480px){.attendance-map-canvas{height:290px}}
