:root{--font-family:"Pretendard", "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:"JetBrains Mono", "Pretendard", monospace;--font-data:"Inter", "Pretendard", sans-serif;--color-primary:#3182f6;--color-primary-hover:#1b64da;--color-primary-light:#e8f3ff;--color-success:#00c48c;--color-success-light:#e8faf5;--color-warning:#ff9f43;--color-warning-light:#fff8f0;--color-error:#f04452;--color-error-light:#fff0f1;--color-text-primary:#191f28;--color-text-secondary:#4e5968;--color-text-tertiary:#8b95a1;--color-text-disabled:#b0b8c1;--color-text-inverse:#fff;--color-bg:#fff;--color-bg-secondary:#f2f4f6;--color-bg-tertiary:#f9fafb;--color-bg-page:#f9fafb;--color-border:#e5e8eb;--color-border-hover:#d1d6db;--color-border-focus:#3182f6;--color-border-error:#f04452;--color-divider:#f2f4f6;--status-new:#3182f6;--status-new-bg:#e8f3ff;--status-consulting:#ff9f43;--status-consulting-bg:#fff8f0;--status-quoted:#8b5cf6;--status-quoted-bg:#f3eeff;--status-deposit-paid:#00c48c;--status-deposit-paid-bg:#e8faf5;--status-confirmed:#3b82f6;--status-confirmed-bg:#eff6ff;--status-engineer-assigned:#06b6d4;--status-engineer-assigned-bg:#e0f7fa;--status-scheduled:#3b82f6;--status-scheduled-bg:#eff6ff;--status-completed:#10b981;--status-completed-bg:#d1fae5;--status-settled:#6b7280;--status-settled-bg:#f3f4f6;--status-closed:#9ca3af;--status-closed-bg:#f9fafb;--status-urgent:#f04452;--status-urgent-bg:#fff0f1;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:100px;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--transition-fast:.15s ease;--transition-normal:.25s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-bg);letter-spacing:-.01em;line-height:1.6}#root{border:none;width:100%;max-width:100%;min-height:100dvh;margin:0}h1{letter-spacing:-.02em;color:var(--color-text-primary);font-size:24px;font-weight:700;line-height:1.3}h2{letter-spacing:-.02em;color:var(--color-text-primary);font-size:20px;font-weight:600;line-height:1.3}h3{letter-spacing:-.01em;color:var(--color-text-primary);font-size:16px;font-weight:600;line-height:1.4}p{margin:0}a{color:var(--color-primary);text-decoration:none}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none}input,select,textarea{font-family:var(--font-family);outline:none}.data-number{font-family:var(--font-data);font-variant-numeric:tabular-nums}.data-code{font-family:var(--font-mono);font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}.calculator-page{--blue50:#e8f3ff;--blue100:#c9e2ff;--blue200:#90c2ff;--blue500:#3182f6;--blue600:#2272eb;--blue700:#1b64da;--grey50:#f9fafb;--grey100:#f2f4f6;--grey200:#e5e8eb;--grey300:#d1d6db;--grey400:#b0b8c1;--grey500:#8b95a1;--grey600:#6b7684;--grey700:#4e5968;--grey800:#333d4b;--grey900:#191f28;--greyOpacity100:#0220470d;--red500:#f04452;--green500:#03b26c;--shadow-subtle:0 1px 4px #0000000d;--shadow-bottom:0 -4px 16px #0000000a;max-width:720px;padding-bottom:var(--cost-summary-height,300px);word-break:keep-all;background:#fff;margin:0 auto;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif}.calculator-page .header-wrapper{z-index:40;border-bottom:1px solid var(--greyOpacity100);background:#fff;position:sticky;top:0}.calculator-page .header{align-items:center;gap:8px;height:56px;padding:0 24px;display:flex}.calculator-page .header-logo{width:auto;height:24px}.calculator-page .mode-tabs{padding:0 24px 12px;display:flex}.calculator-page .mode-tab{height:40px;color:var(--grey500);background:var(--grey100);cursor:pointer;border:none;border-radius:10px;flex:1;font-family:inherit;font-size:14px;font-weight:600;transition:background-color .15s,color .15s}.calculator-page .mode-tab:first-child{border-radius:10px 0 0 10px}.calculator-page .mode-tab:last-child{border-radius:0 10px 10px 0}.calculator-page .mode-tab.active{background:var(--blue500);color:#fff}.calculator-page .mode-tab:not(.active):hover{background:var(--grey200)}.calculator-page .reset-btn{color:var(--blue500);background:var(--blue50);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:4px;margin-left:auto;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.calculator-page .reset-btn:hover{background:var(--blue100)}.calculator-page .main-content{padding:0 24px}.calculator-page .hero{padding:24px 0 20px}.calculator-page .hero-badge{background:var(--grey100);color:var(--grey600);border-radius:6px;margin-bottom:12px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.calculator-page .hero h2{color:var(--grey900);letter-spacing:-.5px;margin-bottom:6px;font-size:22px;font-weight:700;line-height:1.3}.calculator-page .hero p{color:var(--grey500);font-size:14px;font-weight:400;line-height:1.5}.calculator-page .customer-section{margin-top:8px}.calculator-page .customer-section h3,.calculator-page .region-section h3,.calculator-page .deposit-section h3{color:var(--grey800);margin-bottom:12px;font-size:17px;font-weight:600}.calculator-page .customer-fields{flex-direction:column;gap:12px;display:flex}.calculator-page .field{flex-direction:column;gap:6px;display:flex}.calculator-page .field label{color:var(--grey600);font-size:13px;font-weight:600}.calculator-page .field input{border:1px solid var(--grey200);background:var(--grey50);width:100%;height:48px;color:var(--grey900);border-radius:12px;outline:none;padding:0 16px;font-family:inherit;font-size:15px;transition:border-color .1s,background-color .1s}.calculator-page .field input::placeholder{color:var(--grey400)}.calculator-page .field input:focus{border-color:var(--blue500);background:#fff}.calculator-page .region-section{margin-top:8px}.calculator-page .region-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.calculator-page .region-option{cursor:pointer;display:block}.calculator-page .region-option input{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.calculator-page .region-card{background:var(--grey100);border:2px solid #0000;border-radius:16px;flex-direction:column;gap:16px;padding:20px;transition:background-color .1s,border-color .1s;display:flex}.calculator-page .region-option input:checked+.region-card{background:var(--blue50);border-color:var(--blue500)}.calculator-page .region-name{color:var(--grey800);font-size:16px;font-weight:700}.calculator-page .region-option input:checked+.region-card .region-name{color:var(--blue600)}.calculator-page .region-price{color:var(--grey500);font-size:15px;font-weight:600}.calculator-page .region-option input:checked+.region-card .region-price{color:var(--blue500)}.calculator-page .divider{background:var(--grey200);height:1px;margin:32px 0}.calculator-page .category-groups{flex-direction:column;gap:4px;display:flex}.calculator-page .group-header{justify-content:space-between;align-items:center;min-height:56px;padding:12px 0;display:flex}.calculator-page .group-info h4{color:var(--grey800);font-size:17px;font-weight:600}.calculator-page .group-info p{color:var(--grey500);margin-top:2px;font-size:13px}.calculator-page .toggle{cursor:pointer;flex-shrink:0;align-items:center;display:inline-flex;position:relative}.calculator-page .toggle input{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.calculator-page .toggle-track{background:var(--grey300);border-radius:15px;width:50px;height:30px;transition:background-color .2s;position:relative}.calculator-page .toggle input:checked+.toggle-track{background:var(--blue500)}.calculator-page .toggle-track:after{content:"";width:24px;height:24px;box-shadow:var(--shadow-subtle);background:#fff;border-radius:100%;transition:transform .2s;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.calculator-page .toggle input:checked+.toggle-track:after{transform:translateY(-50%)translate(20px)}.calculator-page .group-expansion{border-left:3px solid var(--blue500);background:var(--grey50);border-radius:0 16px 16px 0;margin:8px 0;padding-left:16px;overflow:hidden}.calculator-page .group-expansion-inner{flex-direction:column;gap:14px;padding:16px 16px 16px 12px;display:flex}.calculator-page .sub-check-row{cursor:pointer;justify-content:space-between;align-items:center;min-height:40px;display:flex}.calculator-page .sub-name{color:var(--grey800);font-size:15px;font-weight:500}.calculator-page .sub-check-right{align-items:center;gap:10px;display:flex}.calculator-page .sub-price{color:var(--grey600);font-size:14px;font-weight:500}.calculator-page .sub-check-right input[type=checkbox]{width:22px;height:22px;accent-color:var(--blue500);cursor:pointer}.calculator-page .sub-expansion{flex-direction:column;gap:12px;padding:10px 0 4px;display:flex}.calculator-page .sub-divider{background:var(--grey200);height:1px}.calculator-page .qty-row{justify-content:space-between;align-items:center;display:flex}.calculator-page .qty-label{color:var(--grey600);font-size:14px;font-weight:500}.calculator-page .qty-stepper{align-items:center;gap:12px;display:flex}.calculator-page .qty-btn{background:var(--grey100);width:34px;height:34px;color:var(--grey700);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;transition:background-color .1s;display:flex}.calculator-page .qty-btn:hover:not(:disabled){background:var(--grey200)}.calculator-page .qty-btn:disabled{color:var(--grey400);cursor:not-allowed}.calculator-page .qty-value{text-align:center;width:24px;color:var(--grey900);font-size:16px;font-weight:700}.calculator-page .qty-value.zero{color:var(--grey400)}.calculator-page .part-row,.calculator-page .option-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.calculator-page .part-info,.calculator-page .option-info{flex:1;min-width:0}.calculator-page .part-name,.calculator-page .option-name{color:var(--grey800);font-size:15px;font-weight:500}.calculator-page .part-price,.calculator-page .option-price{color:var(--grey500);margin-top:1px;font-size:13px}.calculator-page .expansion-label{color:var(--grey500);letter-spacing:.02em;padding-top:2px;font-size:12px;font-weight:600}.calculator-page .auto-calc-note{color:var(--grey600);background:var(--grey100);border-radius:10px;padding:10px 14px;font-size:13px}.calculator-page .category-note{color:var(--grey500);font-size:13px}.calculator-page .disabled-item{opacity:.45;justify-content:space-between;align-items:center;min-height:56px;padding:12px 0;display:flex}.calculator-page .disabled-info h4{align-items:center;gap:8px;display:flex}.calculator-page .disabled-badge{background:var(--grey200);color:var(--grey600);border-radius:8px;padding:3px 6px;font-size:11px;font-weight:700}.calculator-page .disabled-info p{color:var(--grey500);margin-top:2px;font-size:13px}.calculator-page .disabled-tag{color:var(--blue500);background:var(--blue50);white-space:nowrap;border-radius:8px;padding:3px 7px;font-size:13px;font-weight:600}.calculator-page .notes-section{background:var(--grey50);border-radius:16px;margin-top:40px;margin-bottom:32px;padding:20px}.calculator-page .notes-title{color:var(--grey700);align-items:center;gap:6px;margin-bottom:14px;font-size:14px;font-weight:700;display:flex}.calculator-page .notes-list{flex-direction:column;gap:8px;list-style:none;display:flex}.calculator-page .notes-list li{color:var(--grey500);gap:8px;font-size:13px;display:flex}.calculator-page .notes-list li .num{flex-shrink:0;font-weight:700}.calculator-page .cost-summary{border-top:1px solid var(--grey200);width:100%;box-shadow:var(--shadow-bottom);z-index:50;background:#fff;position:fixed;bottom:0;left:0}.calculator-page .cost-summary-inner{max-width:720px;margin:0 auto;padding:20px 24px}.calculator-page .cost-breakdown{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.calculator-page .cost-breakdown-item{border-right:1px solid var(--grey200);flex-direction:column;flex:1;align-items:center;display:flex}.calculator-page .cost-breakdown-item:last-child{border-right:none}.calculator-page .cb-label{color:var(--grey600);margin-bottom:2px;font-size:13px}.calculator-page .cb-value{color:var(--grey900);font-size:15px;font-weight:700}.calculator-page .cost-total-row{justify-content:space-between;align-items:flex-end;margin-bottom:12px;display:flex}.calculator-page .cost-total-label{color:var(--grey600);margin-bottom:4px;font-size:13px}.calculator-page .cost-total-value{color:var(--blue500);letter-spacing:-.5px;font-size:26px;font-weight:700}.calculator-page .copy-btn{background:var(--blue500);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;width:100%;height:52px;font-family:inherit;font-size:16px;font-weight:600;transition:background-color .1s;display:flex}.calculator-page .copy-btn:hover{background:var(--blue600)}.calculator-page .copy-btn.copied{background:var(--green500)}.calculator-page .save-btn{width:100%;height:52px;color:var(--blue500);border:1.5px solid var(--blue500);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;margin-top:8px;font-family:inherit;font-size:16px;font-weight:600;transition:background-color .1s,border-color .1s,color .1s;display:flex}.calculator-page .save-btn:hover{background:var(--blue50)}.calculator-page .save-btn:disabled{opacity:.6;cursor:not-allowed}.calculator-page .save-btn.save-success{background:var(--green500);border-color:var(--green500);color:#fff}.calculator-page .save-btn.save-error{border-color:var(--red500);color:var(--red500)}.calculator-page .deposit-section{margin-top:32px}.calculator-page .deposit-input-wrapper{position:relative}.calculator-page .deposit-input-wrapper input{border:1.5px solid var(--grey200);background:var(--grey50);width:100%;height:52px;color:var(--grey900);border-radius:12px;outline:none;padding:0 44px 0 16px;font-family:inherit;font-size:18px;font-weight:600;transition:border-color .1s,background-color .1s}.calculator-page .deposit-input-wrapper input:focus{border-color:var(--blue500);background:#fff}.calculator-page .deposit-input-wrapper input::placeholder{color:var(--grey400);font-weight:400}.calculator-page .deposit-unit{color:var(--grey500);font-size:15px;font-weight:600;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.calculator-page .settlement-calc{background:var(--grey50);border-radius:12px;flex-direction:column;gap:10px;margin-top:16px;padding:16px;display:flex}.calculator-page .settlement-calc-row{justify-content:space-between;align-items:center;font-size:14px;display:flex}.calculator-page .sc-label{color:var(--grey600);font-weight:500}.calculator-page .sc-value{color:var(--grey800);font-weight:600}.calculator-page .settlement-calc-divider{background:var(--grey200);height:1px}.calculator-page .settlement-result{justify-content:space-between;align-items:center;font-size:15px;font-weight:700;display:flex}.calculator-page .sr-label{color:var(--grey800)}.calculator-page .sr-value{color:var(--blue500)}.calculator-page .sr-value.refund{color:var(--red500)}:root{--sidebar-width:240px;--sidebar-collapsed-width:64px}.admin-layout{background:var(--color-bg-page);min-height:100dvh;display:flex}.admin-sidebar{width:var(--sidebar-width);background:var(--color-bg);border-right:1px solid var(--color-border);z-index:20;height:100dvh;transition:width var(--transition-normal);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.admin-sidebar[data-collapsed=true]{width:var(--sidebar-collapsed-width)}.admin-sidebar[data-collapsed=true] .sidebar-brand-text,.admin-sidebar[data-collapsed=true] .sidebar-section-title,.admin-sidebar[data-collapsed=true] .sidebar-item-label,.admin-sidebar[data-collapsed=true] .sidebar-user-info,.admin-sidebar[data-collapsed=true] .sidebar-item-indicator{opacity:0;white-space:nowrap;width:0;overflow:hidden}.admin-sidebar[data-collapsed=true] .sidebar-brand{padding:var(--spacing-md) 0;justify-content:center}.admin-sidebar[data-collapsed=true] .sidebar-item{justify-content:center;padding:10px}.admin-sidebar[data-collapsed=true] .sidebar-footer{padding:var(--spacing-sm);align-items:center}.admin-sidebar[data-collapsed=true] .sidebar-user{justify-content:center}.admin-sidebar[data-collapsed=true] .sidebar-logout{justify-content:center;padding:8px}.sidebar-brand{padding:20px var(--spacing-lg) var(--spacing-md);align-items:center;gap:var(--spacing-sm);display:flex}.sidebar-brand-logo{flex-shrink:0;width:28px;height:auto}.sidebar-brand-logo-full{width:auto;height:28px}.admin-sidebar[data-collapsed=true] .sidebar-brand-logo-full,.admin-sidebar[data-collapsed=false] .sidebar-brand-logo,.admin-sidebar:not([data-collapsed]) .sidebar-brand-logo{display:none}.sidebar-close-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;display:flex}.sidebar-nav{gap:var(--spacing-xs);flex-direction:column;flex:1;padding:0;display:flex;overflow-y:auto}.sidebar-section{padding:0 var(--spacing-sm)}.sidebar-section-title{font-family:var(--font-mono);color:var(--color-text-disabled);text-transform:uppercase;letter-spacing:.05em;padding:var(--spacing-md) var(--spacing-md) var(--spacing-xs);font-size:11px;font-weight:500}.sidebar-item{align-items:center;gap:var(--spacing-sm);padding:8px var(--spacing-md);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:0 0;border:none;width:100%;font-size:14px;font-weight:500;display:flex;position:relative}.sidebar-item:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.sidebar-item.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.sidebar-item-indicator{background:var(--color-primary);opacity:0;width:3px;transition:opacity var(--transition-fast);border-radius:0 2px 2px 0;position:absolute;top:4px;bottom:4px;left:0}.sidebar-item.active .sidebar-item-indicator{opacity:1}.sidebar-item svg{flex-shrink:0;width:18px;height:18px}.sidebar-item-label{transition:opacity var(--transition-fast)}.sidebar-rail{background:var(--color-bg);border:1px solid var(--color-border);width:24px;height:24px;color:var(--color-text-tertiary);cursor:pointer;z-index:25;opacity:0;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:-12px;transform:translateY(-50%)}.admin-sidebar:hover .sidebar-rail{opacity:1}.sidebar-rail:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.sidebar-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border)}.sidebar-user{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);display:flex}.sidebar-user-avatar{background:var(--color-bg-secondary);width:28px;height:28px;color:var(--color-text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-user-info{flex-direction:column;min-width:0;display:flex}.sidebar-user-email{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.sidebar-user-role{color:var(--color-text-tertiary);font-size:11px}.sidebar-logout{align-items:center;gap:var(--spacing-sm);padding:6px var(--spacing-sm);border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;width:100%;transition:all var(--transition-fast);background:0 0;border:none;font-size:13px;display:flex}.sidebar-logout:hover{color:var(--color-error);background:var(--color-error-light)}.mobile-overlay{z-index:30;animation:fadeIn var(--transition-fast);background:#0006;display:none;position:fixed;inset:0}.mobile-sidebar{background:var(--color-bg);z-index:40;width:280px;height:100dvh;transition:left var(--transition-normal);box-shadow:var(--shadow-lg);flex-direction:column;display:none;position:fixed;top:0;left:-280px}.mobile-sidebar.open{left:0}.admin-header{align-items:center;gap:var(--spacing-sm);height:48px;padding:0 var(--spacing-lg);-webkit-backdrop-filter:blur(8px);z-index:15;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fffc;border-bottom:1px solid #0000;display:flex;position:sticky;top:0}.admin-header.scrolled{border-bottom-color:var(--color-border);box-shadow:0 1px 3px #0000000a}.header-menu-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:none}.header-menu-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.header-breadcrumb{align-items:center;gap:6px;font-size:14px;display:flex}.header-breadcrumb-root{color:var(--color-text-tertiary);font-weight:400}.header-breadcrumb-sep{color:var(--color-text-disabled)}.header-breadcrumb-current{color:var(--color-text-primary);font-weight:500}.header-right{align-items:center;gap:var(--spacing-md);margin-left:auto;display:flex}.header-date{color:var(--color-text-tertiary);font-size:13px}.header-user-btn{background:var(--color-bg-secondary);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.header-user-btn:hover{background:var(--color-error-light);color:var(--color-error)}.admin-main{margin-left:var(--sidebar-width);min-height:100dvh;transition:margin-left var(--transition-normal);flex:1}.sidebar-collapsed .admin-main{margin-left:var(--sidebar-collapsed-width)}.page-content{padding:var(--spacing-lg);max-width:1280px}.page-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:flex-start;display:flex}.page-header-left{gap:var(--spacing-xs);flex-direction:column;display:flex}.page-title{color:var(--color-text-primary);letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.3}.page-desc{color:var(--color-text-tertiary);font-size:13px;font-weight:400}.page-date{color:var(--color-text-tertiary);white-space:nowrap;padding-top:6px;font-size:13px;font-weight:400}.action-chips{margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:8px;display:flex}.action-chip{cursor:pointer;border:none;border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.action-chip strong{font-weight:700;font-family:var(--font-data)}.action-chip.new{background:var(--color-primary-light);color:var(--color-primary)}.action-chip.new:hover{background:#c9e2ff}.action-chip.warning{color:#e8850c;background:#fff8f0}.action-chip.warning:hover{background:#ffe4b8}.action-chip.done{color:#00c48c;background:#e8faf5}.action-chip.done:hover{background:#c6f0e0}.action-chip.danger{color:#f04452;background:#fff0f1}.action-chip.danger:hover{background:#ffdde0}.kpi-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(5,1fr);display:grid}.kpi-card{background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);align-items:flex-start;gap:var(--spacing-md);transition:all var(--transition-fast);text-align:left;padding:20px;font-family:inherit;display:flex}.kpi-card.clickable{cursor:pointer}.kpi-card.clickable:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #00000014}.kpi-icon-wrapper{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.kpi-icon-total{background:var(--color-primary-light);color:var(--color-primary)}.kpi-icon-new{background:var(--color-warning-light);color:var(--color-warning)}.kpi-icon-progress{color:#06b6d4;background:#e0f7fa}.kpi-icon-done{background:var(--color-success-light);color:var(--color-success)}.kpi-content{flex-direction:column;gap:2px;min-width:0;display:flex}.kpi-label{color:var(--color-text-tertiary);letter-spacing:0;font-size:12px;font-weight:500}.kpi-value{font-family:var(--font-data);color:var(--color-text-primary);letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.2}.cancel-banner{border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);background:#fff8f0;border:1px solid #ff9f43}.cancel-banner-header{color:#e8850c;margin-bottom:var(--spacing-sm);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.cancel-banner-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.cancel-banner-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;padding:12px 16px}.cancel-banner-info{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:6px;display:flex}.cancel-banner-receipt{font-family:var(--font-mono);color:var(--color-text-primary);font-size:13px;font-weight:600}.cancel-banner-customer{color:var(--color-text-primary);font-size:13px}.cancel-banner-engineer{color:var(--color-text-secondary);background:var(--color-bg);border-radius:4px;padding:2px 8px;font-size:12px}.cancel-banner-time{color:var(--color-text-tertiary);margin-left:auto;font-size:12px}.cancel-banner-reason{color:var(--color-text-secondary);background:var(--color-bg);border-radius:4px;margin-bottom:10px;padding:8px;font-size:13px;line-height:1.5}.cancel-banner-actions{justify-content:flex-end;gap:8px;display:flex}.cancel-approve-btn,.cancel-reject-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:4px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.cancel-approve-btn{background:var(--color-primary);color:#fff}.cancel-approve-btn:hover{background:var(--color-primary-hover)}.cancel-reject-btn{color:var(--color-text-secondary);border:1px solid var(--color-border);background:#fff}.cancel-reject-btn:hover{color:#f04452;border-color:#f04452}.sidebar-cancel-badge{color:#fff;background:#f04452;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.filter-bar{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;align-items:center;display:flex}.filter-select{height:36px;padding:0 var(--spacing-md);color:var(--color-text-primary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);appearance:none;cursor:pointer;transition:border-color var(--transition-fast);font-size:13px;font-weight:500;font-family:var(--font-family);background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%238B95A1' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.filter-select:hover{border-color:var(--color-border-hover)}.filter-select:focus{border-color:var(--color-primary);outline:none}.filter-search{height:36px;padding:0 var(--spacing-md);color:var(--color-text-primary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:280px;transition:border-color var(--transition-fast);font-size:13px;font-family:var(--font-family);padding-left:36px}.filter-search::placeholder{color:var(--color-text-disabled)}.filter-search:focus{border-color:var(--color-primary);outline:none}.filter-search-wrapper{flex:1;min-width:200px;position:relative}.filter-search-wrapper svg{color:var(--color-text-tertiary);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.filter-count{font-family:var(--font-data);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px}.filter-presets{margin-bottom:var(--spacing-sm);flex-wrap:wrap;gap:6px;display:flex}.preset-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .15s}.preset-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.preset-btn:hover:not(.active){border-color:var(--color-primary);color:var(--color-primary)}.batch-bar{background:var(--color-primary-light);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);border:1px solid #3182f633;align-items:center;gap:10px;padding:10px 16px;display:flex}.batch-count{color:var(--color-primary);font-size:13px;font-weight:600}.batch-apply-btn{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;border:none;padding:6px 14px;font-size:13px;font-weight:600}.batch-apply-btn:disabled{opacity:.4;cursor:not-allowed}.batch-cancel-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;background:#fff;padding:6px 14px;font-size:13px}.cell-check{text-align:center;width:40px}.cell-check input[type=checkbox]{cursor:pointer;width:16px;height:16px}.data-table tr.row-selected{background:#f0f7ff}.analytics-tabs{margin-bottom:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:0;display:flex;overflow:hidden}.analytics-tab{background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;border:none;flex:1;padding:10px 16px;font-size:14px;font-weight:500}.analytics-tab.active{background:var(--color-primary);color:#fff}.data-table tr.row-focused{outline:2px solid var(--color-primary);outline-offset:-2px}.data-table tr.row-urgent{background:#fff8f8}.data-table tr.row-urgent:hover{background:#fff0f1}.data-table tr.row-overdue{border-left:3px solid #f04452}.table-urgent-dot{vertical-align:middle;background:#f04452;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.cell-days{white-space:nowrap}.days-chip{color:var(--color-text-tertiary);font-size:11px;font-weight:600;font-family:var(--font-data);background:#f2f4f6;border-radius:4px;padding:2px 6px}.days-chip.old{color:#e8850c;background:#fff8f0}.days-sub{opacity:.6;margin-left:2px;font-size:10px}.cell-payment{white-space:nowrap}.pay-badge{border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;margin-right:2px;font-size:10px;font-weight:700;display:inline-flex}.pay-badge.paid{color:#00c48c;background:#e8faf5}.data-table-wrapper{background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table thead{background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.data-table th{padding:10px var(--spacing-md);text-align:left;color:var(--color-text-secondary);white-space:nowrap;font-size:12px;font-weight:600}.data-table td{padding:12px var(--spacing-md);color:var(--color-text-primary);border-bottom:1px solid var(--color-divider);white-space:nowrap;font-size:13px;line-height:1.4}.data-table tbody tr{transition:background var(--transition-fast);cursor:pointer}.data-table tbody tr:hover{background:var(--color-bg-tertiary)}.data-table tbody tr:last-child td{border-bottom:none}.cell-receipt{font-family:var(--font-mono);color:var(--color-text-primary);font-size:13px;font-weight:600}.cell-date{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.cell-name{font-weight:500}.cell-phone{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.cell-muted{color:var(--color-text-disabled);font-weight:400}.table-status-select{height:30px;color:var(--color-text-secondary);background:var(--color-bg-tertiary);appearance:none;cursor:pointer;transition:all var(--transition-fast);font-size:12px;font-weight:500;font-family:var(--font-family);background-image:url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L4 4L7 1' stroke='%238B95A1' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid #0000;border-radius:6px;padding:0 24px 0 8px}.table-status-select:hover{border-color:var(--color-border);background:var(--color-bg)}.table-status-select:focus{border-color:var(--color-primary);background:var(--color-bg);outline:none}.status-badge{border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-badge:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-new{background:var(--status-new-bg);color:var(--status-new)}.status-new:before{background:var(--status-new)}.status-consulting{background:var(--status-consulting-bg);color:#92400e}.status-consulting:before{background:var(--status-consulting)}.status-quoted{background:var(--status-quoted-bg);color:var(--status-quoted)}.status-quoted:before{background:var(--status-quoted)}.status-deposit_paid{background:var(--status-deposit-paid-bg);color:#065f46}.status-deposit_paid:before{background:var(--status-deposit-paid)}.status-engineer_assigned{background:var(--status-engineer-assigned-bg);color:#155e75}.status-engineer_assigned:before{background:var(--status-engineer-assigned)}.status-scheduled{background:var(--status-scheduled-bg);color:#1d4ed8}.status-scheduled:before{background:var(--status-scheduled)}.status-completed{background:var(--status-completed-bg);color:#065f46}.status-completed:before{background:var(--status-completed)}.status-settlement_requested{background:var(--status-settled-bg);color:var(--status-settled)}.status-settlement_requested:before{background:var(--status-settled)}.status-settled{background:var(--status-settled-bg);color:var(--status-settled)}.status-settled:before{background:var(--status-settled)}.status-closed{background:var(--status-closed-bg);color:var(--status-closed)}.status-closed:before{background:var(--color-text-disabled)}.status-cancelled{color:#f04452;background:#fff0f1}.status-cancelled:before{background:#f04452}.team-badge{border-radius:var(--radius-xs);padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.team-direct{color:#1d4ed8;background:#eff6ff}.team-partner{background:var(--status-consulting-bg);color:#92400e}.table-empty{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.table-empty svg{color:var(--color-text-disabled);opacity:.4}.table-empty-title{color:var(--color-text-primary);font-size:15px;font-weight:600}.table-empty-desc{color:var(--color-text-tertiary);font-size:13px}.empty-action-link{color:var(--color-primary);transition:color var(--transition-fast);font-weight:500;text-decoration:none}.empty-action-link:hover{color:var(--color-primary-hover)}.pagination{padding:12px var(--spacing-md);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.pagination-info{color:var(--color-text-tertiary);font-size:13px;font-family:var(--font-data);font-variant-numeric:tabular-nums}.pagination-buttons{gap:var(--spacing-xs);display:flex}.pagination-btn{border:1px solid var(--color-border);background:var(--color-bg);min-width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:13px;font-weight:500;font-family:var(--font-family);border-radius:6px;justify-content:center;align-items:center;gap:4px;padding:0 10px;display:flex}.pagination-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.pagination-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.loading-overlay{padding:var(--spacing-2xl);justify-content:center;align-items:center;display:flex}.modal-wide{max-width:720px}.modal-header-left{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;min-width:0;display:flex}.modal-receipt-no{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:12px}.urgent-toggle{cursor:pointer;color:#8b95a1;background:#f9fafb;border:1px solid #e5e8eb;border-radius:6px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.urgent-toggle:hover{color:#f04452;background:#fff0f1;border-color:#f04452}.urgent-toggle.active{color:#fff;background:#f04452;border-color:#f04452}.urgent-toggle.active:hover{background:#d91f2e}.status-stepper{padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--color-border);-webkit-overflow-scrolling:touch;align-items:center;gap:2px;display:flex;overflow-x:auto}.status-stepper::-webkit-scrollbar{display:none}.stepper-step{border-radius:var(--radius-full);transition:all var(--transition-fast);flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:500;display:flex}.stepper-step.done{color:var(--color-success);background:var(--color-success-light)}.stepper-step.current{color:var(--color-primary);background:var(--color-primary-light);font-weight:600}.stepper-step.pending{color:var(--color-text-disabled)}.stepper-dot{flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:flex}.stepper-dot-pulse{background:var(--color-primary);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.stepper-label{white-space:nowrap}.tab-count{background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-full);margin-left:4px;padding:1px 6px;font-size:10px;font-weight:700}.flow-action-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px}.flow-action-title{color:var(--color-text-primary);letter-spacing:-.01em;margin-bottom:4px;font-size:15px;font-weight:600}.flow-action-desc{color:var(--color-text-tertiary);margin-bottom:var(--spacing-md);font-size:13px}.flow-action-hint{color:var(--color-text-disabled);margin-bottom:var(--spacing-sm);font-size:12px}.flow-action-btn{border-radius:var(--radius-sm);background:var(--color-primary);height:40px;color:var(--color-text-inverse);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-family);transition:background var(--transition-fast);margin-top:var(--spacing-sm);border:none;align-items:center;gap:6px;padding:0 20px;display:inline-flex}.flow-action-btn:hover:not(:disabled){background:var(--color-primary-hover)}.flow-action-btn:disabled{opacity:.4;cursor:not-allowed}.flow-action-btn.secondary{background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border)}.flow-action-btn.secondary:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-border-hover)}.manual-deposit-row{align-items:center;gap:8px;display:flex}.manual-deposit-row .flow-date-input{border:1px solid var(--color-border);font-size:13px;font-family:var(--font-data);color:var(--color-text-primary);border-radius:8px;padding:6px 10px}.flow-action-btn.outline{color:var(--color-primary);border:1px solid var(--color-primary);background:0 0}.flow-action-btn.outline:hover{background:var(--color-primary-light)}.flow-action-btn.small{height:32px;margin-top:var(--spacing-xs);padding:0 12px;font-size:13px}.flow-input-row{gap:var(--spacing-md);margin-bottom:var(--spacing-sm);display:flex}.flow-info-row{gap:var(--spacing-md);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);flex-wrap:wrap;align-items:center;font-size:13px;display:flex}.flow-info-row strong{color:var(--color-text-primary);font-weight:600}.flow-divider-or{align-items:center;gap:var(--spacing-md);margin:var(--spacing-md) 0 var(--spacing-sm);color:var(--color-text-disabled);font-size:12px;display:flex}.flow-divider-or:before,.flow-divider-or:after{content:"";background:var(--color-divider);flex:1;height:1px}.payment-link-result{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin:var(--spacing-sm) 0;padding:12px 16px}.payment-link-info{align-items:center;gap:var(--spacing-sm);font-size:13px;display:flex}.payment-link-url{align-items:center;gap:var(--spacing-sm);margin-top:8px;display:flex}.payment-link-url a{color:var(--color-primary);align-items:center;gap:4px;font-size:13px;text-decoration:none;display:inline-flex}.payment-link-url a:hover{text-decoration:underline}.payment-link-copy{border:1px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-bg);height:28px;color:var(--color-text-secondary);cursor:pointer;font-size:12px;font-family:var(--font-family);transition:all var(--transition-fast);align-items:center;gap:4px;padding:0 10px;display:inline-flex}.payment-link-copy:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-hover)}.payment-amount{color:var(--color-text-primary);font-weight:600;font-family:var(--font-mono)}.payment-date{color:var(--color-text-tertiary);font-size:12px}.payment-status-badge{border-radius:10px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.payment-status-badge.pending{color:#ff9f43;background:#fff8f0}.payment-status-badge.paid{color:#00c48c;background:#e8faf5}.payment-status-badge.waiting{color:#3b82f6;background:#eff6ff}.payment-status-badge.cancelled,.payment-status-badge.failed{color:#9ca3af;background:#f3f4f6}.flow-action-error{color:var(--color-danger);margin:var(--spacing-xs) 0;font-size:13px}.payment-kpi-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(5,1fr);display:grid}.payment-kpi-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:16px 20px;display:flex}.payment-kpi-card.paid{border-left:3px solid #00c48c}.payment-kpi-card.pending{border-left:3px solid #ff9f43}.payment-kpi-label{color:var(--color-text-tertiary);font-size:12px;font-weight:500}.payment-kpi-value{color:var(--color-text-primary);font-size:20px;font-weight:700;font-family:var(--font-mono)}.payment-kpi-sub{color:var(--color-text-secondary);font-size:13px;font-family:var(--font-mono)}.payment-type-badge{border-radius:10px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.payment-type-badge.deposit{color:#3182f6;background:#e8f3ff}.payment-type-badge.balance{color:#8b5cf6;background:#f3eeff}.payment-type-badge.refund{color:#f04452;background:#fff0f1}.cell-amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.cell-mono{font-family:var(--font-mono);color:var(--color-text-tertiary);font-size:12px}.payment-link-actions{align-items:center;gap:6px;display:flex}.payment-link-actions a{color:var(--color-primary);align-items:center;display:flex}.payment-link-actions a:hover{color:var(--color-primary-hover)}.payment-link-copy-sm{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex;position:relative}.payment-link-copy-sm:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.payment-link-delete-sm{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex}.payment-link-delete-sm:hover{color:#f04452;background:#fff0f1}.copy-toast{background:var(--color-text-primary);color:var(--color-text-inverse);white-space:nowrap;pointer-events:none;border-radius:4px;padding:2px 8px;font-size:11px;position:absolute;top:-24px;left:50%;transform:translate(-50%)}@media (width<=1023px){.payment-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=767px){.payment-kpi-grid{grid-template-columns:repeat(2,1fr)}.payment-kpi-card:last-child{grid-column:span 2}}.settings-section{max-width:640px}.settings-loading{padding:var(--spacing-2xl);justify-content:center;display:flex}.settings-group{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:24px}.settings-group-title{color:var(--color-text-primary);align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-divider);font-size:16px;font-weight:700;display:flex}.settings-item{justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);display:flex}.settings-item-info{flex:1}.settings-item-label{color:var(--color-text-primary);align-items:center;gap:6px;margin-bottom:4px;font-size:14px;font-weight:600;display:flex}.settings-item-desc{color:var(--color-text-tertiary);font-size:13px;line-height:1.5}.settings-toggle{cursor:pointer;width:48px;height:28px;transition:background var(--transition-fast);border:none;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.settings-toggle.on{background:var(--color-primary)}.settings-toggle.off{background:var(--color-border-hover)}.settings-toggle:disabled{opacity:.6;cursor:not-allowed}.settings-toggle-knob{width:22px;height:22px;transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;box-shadow:0 1px 3px #00000026}.settings-toggle.on .settings-toggle-knob{transform:translate(10px)}.settings-toggle.off .settings-toggle-knob{transform:translate(-10px)}.settings-status-banner{margin-top:var(--spacing-md);border-radius:var(--radius-sm);padding:12px 16px;font-size:13px;line-height:1.5}.settings-status-banner.active{color:#047857;background:#e8faf5}.settings-status-banner.inactive{color:#dc2626;background:#fff0f1}.quote-history-section{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.quote-history-title{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.quote-history-count{background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-full);padding:1px 6px;font-size:10px;font-weight:700}.quote-history-empty{color:var(--color-text-tertiary);text-align:center;padding:var(--spacing-sm) 0;font-size:13px}.quote-history-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.quote-history-item{padding:var(--spacing-sm) var(--spacing-sm);background:var(--color-bg);border-radius:var(--radius-sm);border:1px solid var(--color-divider);justify-content:space-between;align-items:center;display:flex}.quote-history-item-left{align-items:center;gap:var(--spacing-sm);display:flex}.quote-history-date{font-family:var(--font-data);color:var(--color-text-tertiary);align-items:center;gap:4px;font-size:12px;display:flex}.quote-history-type{border-radius:var(--radius-xs);padding:2px 6px;font-size:10px;font-weight:600}.quote-history-latest{border-radius:var(--radius-xs);background:var(--color-primary);color:var(--color-text-inverse);padding:2px 6px;font-size:10px;font-weight:700}.quote-history-type.estimate{background:var(--color-primary-light);color:var(--color-primary)}.quote-history-type.settlement{background:var(--color-success-light);color:var(--color-success)}.quote-history-item.past{opacity:.5}.quote-history-item.past .quote-history-amount{color:var(--color-text-tertiary);text-decoration:line-through}.quote-history-item-right{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.quote-history-amount{font-family:var(--font-data);color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.quote-history-deposit{color:var(--color-text-tertiary);font-size:11px}.quote-history-item-header{cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 12px;transition:background .15s;display:flex}.quote-history-item-header:hover{background:#f9fafb}.quote-expand-icon{color:#8b95a1;transition:transform .2s}.quote-expand-icon.open{transform:rotate(180deg)}.quote-history-detail{border-top:1px solid #f2f4f6;padding:0 12px 12px;animation:.2s slideDown}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.quote-detail-text{color:#4e5968;white-space:pre-wrap;background:#f9fafb;border-radius:8px;margin:12px 0 0;padding:12px;font-family:Pretendard,sans-serif;font-size:13px;line-height:1.6}.quote-detail-items{padding:12px 0 0}.quote-detail-item{margin-bottom:8px}.quote-detail-item-name{color:#191f28;font-size:13px;font-weight:600}.quote-detail-sub{color:#4e5968;padding-left:12px;font-size:12px;line-height:1.6}.quote-detail-deposit{color:#3182f6;border-top:1px dashed #e5e8eb;margin-top:8px;padding-top:8px;font-size:13px;font-weight:600}.quote-detail-empty{color:#8b95a1;margin:12px 0 0;font-size:13px}.quote-history-item.expanded{background:#fafbfc;border-radius:8px}.manual-status-section{margin-top:var(--spacing-md)}.manual-status-summary{color:var(--color-text-tertiary);cursor:pointer;padding:var(--spacing-xs) 0;font-size:12px}.manual-status-summary:hover{color:var(--color-text-secondary)}.cancel-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-divider)}.flow-action-btn.danger-outline{color:#f04452;cursor:pointer;background:0 0;border:1px solid #f04452;border-radius:8px;padding:8px 16px;font-size:13px}.flow-action-btn.danger-outline:hover{background:#fff0f1}.flow-action-btn.danger{color:#fff;background:#f04452}.flow-action-btn.danger:hover:not(:disabled){background:#d91f2e}.cancel-form{background:#fff9f9;border:1px solid #ffe0e0;border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.cancel-form-title{color:#f04452;margin:0;font-size:14px;font-weight:600}.cancel-refund-row{align-items:center;gap:8px;display:flex}.cancel-refund-row .modal-input{width:140px}.cancel-refund-hint{color:var(--color-text-tertiary);font-size:12px}.cancel-form-actions{justify-content:flex-end;gap:8px;display:flex}.cancel-info-box{margin-top:var(--spacing-md);background:#fff0f1;border:1px solid #ffe0e0;border-radius:12px;padding:16px}.cancel-info-title{color:#f04452;margin:0 0 4px;font-size:14px;font-weight:600}.cancel-info-date{color:var(--color-text-secondary);margin:0;font-size:13px}.cancel-info-type,.cancel-info-reason{color:var(--color-text-secondary);margin:4px 0 0;font-size:13px}.call-log-input,.call-log-list{margin-bottom:var(--spacing-lg)}.call-log-list-title{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);font-size:13px;font-weight:600}.call-log-item{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);margin-bottom:var(--spacing-xs)}.call-log-meta{color:var(--color-text-tertiary);align-items:center;gap:4px;margin-bottom:4px;font-size:11px;display:flex}.call-log-type{border-radius:var(--radius-xs);background:var(--color-bg-secondary);padding:1px 6px;font-size:10px;font-weight:500}.call-log-content{color:var(--color-text-primary);white-space:pre-wrap;font-size:13px;line-height:1.5}.modal-overlay{z-index:100;padding:var(--spacing-md);animation:fadeIn var(--transition-fast);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container{background:var(--color-bg);border-radius:var(--radius-lg);width:100%;max-width:640px;max-height:90vh;box-shadow:var(--shadow-lg);animation:scaleIn var(--transition-fast);flex-direction:column;display:flex}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.modal-title{color:var(--color-text-primary);letter-spacing:-.02em;font-size:18px;font-weight:700;display:inline}.modal-close{border-radius:var(--radius-sm);border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-tabs{border-bottom:1px solid var(--color-border);padding:0 var(--spacing-lg);display:flex}.modal-tab{padding:12px var(--spacing-md);color:var(--color-text-tertiary);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-family);transition:color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;display:flex}.modal-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.modal-body{padding:var(--spacing-lg);flex:1;overflow-y:auto}.modal-footer{justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border);display:flex}.modal-btn-cancel{height:40px;padding:0 var(--spacing-lg);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:500;font-family:var(--font-family);transition:all var(--transition-fast);align-items:center;gap:6px;display:flex}.modal-btn-cancel:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-hover)}.modal-btn-save{height:40px;padding:0 var(--spacing-lg);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-text-inverse);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-family);transition:background var(--transition-fast);border:none;align-items:center;gap:6px;display:flex}.modal-btn-save:hover{background:var(--color-primary-hover)}.modal-btn-save:disabled{opacity:.4;cursor:not-allowed}.detail-section{gap:var(--spacing-md);flex-direction:column;display:flex}.detail-grid{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.detail-item{gap:var(--spacing-xs);flex-direction:column;display:flex}.detail-item.full{grid-column:1/-1}.detail-label{color:var(--color-text-tertiary);align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.detail-value{color:var(--color-text-primary);align-items:center;gap:4px;font-size:14px;display:flex}.detail-value.computed{color:var(--color-primary);font-weight:600}.detail-value.paid{color:var(--color-success);font-weight:600}.detail-value.unpaid{color:var(--color-error);font-weight:600}.detail-text{color:var(--color-text-secondary);white-space:pre-wrap;font-size:14px;line-height:1.6}.detail-link{color:var(--color-primary);align-items:center;gap:4px;text-decoration:none;display:flex}.modal-select{height:40px;padding:0 var(--spacing-md);color:var(--color-text-primary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);appearance:none;cursor:pointer;font-size:14px;font-family:var(--font-family);width:100%;transition:border-color var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%238B95A1' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.modal-select:focus{border-color:var(--color-primary);outline:none}.modal-input{height:40px;padding:0 var(--spacing-md);color:var(--color-text-primary);background:var(--color-bg-secondary);border-radius:var(--radius-sm);width:100%;font-size:14px;font-family:var(--font-family);transition:all var(--transition-fast);border:1px solid #0000}.modal-input:focus{background:var(--color-bg);border-color:var(--color-primary);outline:none}.modal-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);background:var(--color-bg-secondary);border-radius:var(--radius-sm);resize:vertical;font-size:14px;font-family:var(--font-family);transition:all var(--transition-fast);border:1px solid #0000;line-height:1.6}.modal-textarea:focus{background:var(--color-bg);border-color:var(--color-primary);outline:none}.input-with-unit{position:relative}.input-with-unit .modal-input{padding-right:36px}.input-unit{color:var(--color-text-tertiary);font-size:13px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.action-btn-primary{height:40px;padding:0 var(--spacing-lg);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-text-inverse);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-family);transition:background var(--transition-fast);border:none;align-items:center;gap:6px;display:flex}.engineer-form-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.form-title{margin-bottom:var(--spacing-md);letter-spacing:-.01em;font-size:16px;font-weight:600}.form-grid{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.form-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-field label{color:var(--color-text-tertiary);font-size:12px;font-weight:600}.form-error{color:var(--color-error);margin-top:var(--spacing-sm);font-size:13px}.form-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);display:flex}.engineer-group{margin-bottom:var(--spacing-lg)}.engineer-group-title{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.engineer-count{color:var(--color-text-tertiary);font-size:13px;font-weight:400}.engineer-empty{color:var(--color-text-tertiary);padding:var(--spacing-md) 0;font-size:14px}.engineer-cards{gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.engineer-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);gap:var(--spacing-sm);transition:box-shadow var(--transition-fast);flex-direction:column;display:flex}.engineer-card:hover{box-shadow:var(--shadow-sm)}.engineer-card.inactive{opacity:.5}.engineer-card-header{justify-content:space-between;align-items:center;display:flex}.engineer-name{color:var(--color-text-primary);font-size:15px;font-weight:600}.inactive-badge{color:var(--color-error);background:var(--color-error-light);border-radius:var(--radius-xs);padding:2px 8px;font-size:11px}.engineer-card-info{color:var(--color-text-secondary);flex-direction:column;gap:4px;font-size:13px;display:flex}.engineer-card-info span{align-items:center;gap:4px;display:flex}.engineer-card-actions{gap:var(--spacing-xs);margin-top:var(--spacing-sm);display:flex}.engineer-stats-bar{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.engineer-stat-chip{background:var(--color-bg);border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.engineer-performance{background:var(--color-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border);gap:4px;margin-top:8px;padding:10px;display:flex}.engineer-perf-item{text-align:center;flex:1}.engineer-perf-label{color:var(--color-text-tertiary);margin-bottom:2px;font-size:11px;display:block}.engineer-perf-value{color:var(--color-text-primary);font-size:14px;font-weight:700;font-family:var(--font-data);display:block}.engineer-toggle-btn{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-top:8px;padding:0;font-size:12px;font-weight:500;display:flex}.engineer-toggle-btn:hover{text-decoration:underline}.engineer-request-list{border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-top:8px;overflow:hidden}.engineer-request-item{border-bottom:1px solid var(--color-border);align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.engineer-request-item:last-child{border-bottom:none}.engineer-request-item:hover{background:var(--color-bg)}.engineer-req-status{border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:11px;font-weight:600}.engineer-req-status.status-engineer_assigned{color:#0891b2;background:#e0f7fa}.engineer-req-status.status-scheduled{color:#3b82f6;background:#eff6ff}.engineer-req-status.status-completed{color:#059669;background:#d1fae5}.engineer-req-receipt{font-family:var(--font-mono);color:var(--color-text-primary);flex-shrink:0;font-weight:500}.engineer-req-customer{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.engineer-req-date{color:var(--color-text-tertiary);flex-shrink:0}.engineer-req-region{color:var(--color-text-tertiary);background:var(--color-bg);border-radius:3px;flex-shrink:0;padding:1px 6px;font-size:11px}.icon-btn{border:1px solid var(--color-border);background:var(--color-bg);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);border-radius:6px;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.page-content-wide{max-width:1400px}.admin-calculator{gap:var(--spacing-lg);flex-direction:column;display:flex}.repair-report-filter{margin-bottom:var(--spacing-lg);gap:8px;display:flex}.repair-filter-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;display:flex}.repair-filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.repair-filter-count{background:#ffffff4d;border-radius:8px;padding:1px 6px;font-size:11px;font-weight:700}.repair-filter-btn:not(.active) .repair-filter-count{background:var(--color-primary-light);color:var(--color-primary)}.empty-state-box{text-align:center;color:var(--color-text-tertiary);padding:60px 20px}.empty-state-box p{margin-top:12px;font-size:14px}.repair-report-list{flex-direction:column;gap:8px;display:flex}.repair-report-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;overflow:hidden}.repair-report-summary{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:16px 20px;font-family:inherit;display:flex}.repair-report-summary:hover{background:var(--color-bg)}.repair-summary-left{align-items:center;gap:12px;min-width:0;display:flex}.repair-summary-receipt{font-family:var(--font-mono);color:var(--color-text-primary);flex-shrink:0;font-size:13px;font-weight:600}.repair-summary-customer{color:var(--color-text-primary);font-size:14px;font-weight:500}.repair-summary-engineer{color:var(--color-text-tertiary);background:var(--color-bg);border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:12px}.repair-summary-right{flex-shrink:0;align-items:center;gap:16px;display:flex}.repair-summary-amounts{text-align:right}.repair-summary-final{color:var(--color-text-primary);font-size:14px;font-weight:700;font-family:var(--font-data);display:block}.repair-summary-balance{color:#f04452;font-size:11px;font-weight:600;display:block}.repair-summary-date{color:var(--color-text-tertiary);font-size:12px}.repair-report-detail{border-top:1px solid var(--color-border);padding:0 20px 20px}.repair-detail-section{border-bottom:1px solid var(--color-divider,#f2f4f6);padding:14px 0}.repair-detail-section:last-child{border-bottom:none}.repair-detail-title{color:var(--color-text-secondary);align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.repair-detail-row{color:var(--color-text-secondary);align-items:center;gap:6px;margin-bottom:4px;font-size:13px;display:flex}.repair-detail-row a{color:var(--color-primary);text-decoration:none}.repair-time-grid{color:var(--color-text-secondary);gap:16px;font-size:13px;display:flex}.repair-time-duration{color:var(--color-primary);font-weight:600}.repair-detail-quote{color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;background:var(--color-bg);border-radius:var(--radius-sm);margin:0;padding:10px 12px;font-family:inherit;font-size:12px;line-height:1.6}.repair-amount-grid{flex-direction:column;gap:4px;display:flex}.repair-amount-row{color:var(--color-text-secondary);justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.repair-amount-row.total{border-top:1px solid var(--color-border);margin-top:4px;padding-top:8px;font-size:14px}.repair-amount-row.total.danger{color:#f04452}.repair-amount-row.total.success{color:#00c48c}.repair-amount-edit{flex-direction:column;gap:8px;display:flex}.repair-amount-edit-row{justify-content:space-between;align-items:center;font-size:14px;font-weight:600;display:flex}.repair-amount-input-wrap{align-items:center;gap:4px;display:flex}.repair-amount-input{border:1px solid var(--color-primary);border-radius:var(--radius-sm);width:160px;height:40px;font-size:16px;font-weight:700;font-family:var(--font-data);text-align:right;color:var(--color-text-primary);padding:0 12px}.repair-amount-input:focus{outline:none;box-shadow:0 0 0 2px #3182f626}.repair-amount-edit-actions{gap:8px;margin-top:4px;display:flex}.repair-amount-btn-row{gap:8px;margin-top:8px;display:flex}.repair-amount-edit-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.repair-amount-edit-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.repair-amount-edit-btn.calculator{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.repair-crew-list{flex-wrap:wrap;gap:6px;display:flex}.repair-crew-chip{background:var(--color-bg);color:var(--color-text-secondary);border-radius:4px;padding:4px 10px;font-size:12px}.repair-crew-chip.primary{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.repair-detail-memo{color:var(--color-text-secondary);background:var(--color-bg);border-radius:var(--radius-sm);margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.repair-photo-grid{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.repair-photo-thumb{aspect-ratio:1;background:var(--color-bg);border-radius:6px;display:block;overflow:hidden}.repair-photo-thumb img{object-fit:cover;width:100%;height:100%}.repair-photo-name{word-break:break-all;padding:4px;font-size:10px}.repair-detail-actions{gap:8px;padding-top:16px;display:flex}.repair-action-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.repair-action-btn.primary{background:var(--color-primary);color:#fff;flex:1}.repair-action-btn.primary:hover{background:var(--color-primary-hover)}.repair-action-btn.primary:disabled{opacity:.5;cursor:not-allowed}.repair-action-btn.secondary{background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border)}.repair-action-btn.secondary:hover{background:var(--color-bg);border-color:var(--color-text-tertiary)}.modal-photo-group{margin-bottom:20px}.photo-drop-zone{border:2px dashed #0000;border-radius:12px;outline:none;padding:12px;transition:border-color .15s,background .15s}.photo-drop-zone:focus-within,.photo-drop-zone:focus{border-color:#e5e8eb}.photo-drop-zone.drag-over{background:#f0f7ff;border-color:#3182f6}.photo-drop-zone.uploading{opacity:.6;pointer-events:none}.photo-drop-placeholder{text-align:center;color:#8b95a1;border:1px dashed #d1d6db;border-radius:8px;padding:24px 16px}.modal-photo-group:last-child{margin-bottom:0}.modal-photo-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.modal-photo-header h4{color:var(--color-text-primary);font-size:14px;font-weight:600}.modal-photo-empty{color:var(--color-text-tertiary);text-align:center;background:var(--color-bg);border-radius:var(--radius-sm);padding:16px;font-size:13px}.modal-photo-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.modal-photo-thumb{aspect-ratio:1;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;display:block;overflow:hidden}.modal-photo-thumb img{object-fit:cover;width:100%;height:100%}.modal-photo-thumb:hover{border-color:var(--color-primary)}.timeline-list{flex-direction:column;gap:0;padding-left:12px;display:flex}.timeline-item{border-left:2px solid var(--color-border);align-items:flex-start;gap:12px;padding:10px 0 10px 16px;display:flex;position:relative}.timeline-item:last-child{border-left-color:#0000}.timeline-dot{background:var(--color-border);border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:14px;left:-6px}.timeline-dot.new{background:var(--color-primary)}.timeline-dot.deposit{background:#00c48c}.timeline-dot.assigned{background:#06b6d4}.timeline-dot.scheduled{background:#3b82f6}.timeline-dot.completed{background:#10b981}.timeline-dot.call{background:#ff9f43}.timeline-content{flex-direction:column;gap:2px;min-width:0;display:flex}.timeline-date{color:var(--color-text-tertiary);font-size:11px;font-weight:600;font-family:var(--font-data)}.timeline-text{color:var(--color-text-primary);font-size:13px;line-height:1.4}.timeline-tag{background:var(--color-bg);color:var(--color-text-tertiary);border-radius:3px;margin-top:2px;padding:1px 6px;font-size:10px;display:inline-block}.timeline-item.call .timeline-text{color:var(--color-text-secondary);font-size:12px}.alimtalk-unsent{align-items:center;gap:8px;display:flex}.manual-alimtalk-section{border-top:1px solid var(--color-border);margin-top:16px;padding-top:16px}.manual-alimtalk-grid{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.manual-alimtalk-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;padding:8px 14px;font-size:12px;font-weight:500;transition:all .15s}.manual-alimtalk-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.manual-alimtalk-btn:disabled{opacity:.3;cursor:not-allowed}.manual-alimtalk-hint{color:var(--color-text-tertiary);margin-top:8px;font-size:11px}.modal-calc-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:12px 0;padding:16px}.repair-calc-groups{flex-direction:column;gap:6px;display:flex}.repair-calc-groups .completion-group{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.repair-calc-groups .completion-group-header{background:var(--color-bg);width:100%;color:var(--color-text-primary);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;font-weight:500;display:flex}.repair-calc-groups .completion-group-header.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.repair-calc-groups .completion-group-toggle{text-align:center;width:24px;font-size:18px;font-weight:700}.repair-calc-groups .completion-group-body{border-top:1px solid var(--color-border);padding:8px 14px 12px}.repair-calc-groups .completion-sub-item{padding:6px 0}.repair-calc-groups .completion-sub-item+.completion-sub-item{border-top:1px solid var(--color-border)}.repair-calc-groups .completion-sub-label{cursor:pointer;align-items:center;gap:8px;min-height:36px;font-size:13px;display:flex}.repair-calc-groups .completion-sub-label input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.repair-calc-groups .completion-sub-price{color:var(--color-text-tertiary);margin-left:auto;font-size:12px}.repair-calc-groups .completion-qty-section{padding:8px 0 4px 26px}.repair-calc-groups .completion-qty-row{justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.repair-calc-groups .completion-part-name{color:var(--color-text-secondary);font-size:12px;line-height:1.3}.repair-calc-groups .completion-part-name small{color:var(--color-text-tertiary)}.repair-calc-groups .completion-stepper{border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;display:flex;overflow:hidden}.repair-calc-groups .completion-stepper button{background:var(--color-bg);cursor:pointer;width:36px;height:36px;color:var(--color-text-primary);border:none;justify-content:center;align-items:center;font-size:18px;font-weight:600;display:flex}.repair-calc-groups .completion-stepper button:disabled{opacity:.3;cursor:not-allowed}.repair-calc-groups .completion-stepper button:active:not(:disabled){background:var(--color-border)}.repair-calc-groups .completion-stepper span{text-align:center;width:36px;font-size:14px;font-weight:600;font-family:var(--font-data)}.repair-calc-groups .completion-summary{border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border);margin-top:12px;padding:14px}.repair-calc-groups .completion-summary-row{color:var(--color-text-secondary);justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.repair-calc-groups .completion-summary-total{color:var(--color-text-primary);border-top:1px solid var(--color-border);justify-content:space-between;margin-top:6px;padding:8px 0 4px;font-size:15px;font-weight:700;display:flex}.repair-calc-groups .completion-summary-balance{justify-content:space-between;padding:4px 0 0;font-size:13px;display:flex}.calc-request-selector{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px}.calc-request-header h3{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.calc-search-wrapper{position:relative}.calc-search-input-wrap{align-items:center;display:flex;position:relative}.calc-search-icon{color:var(--color-text-tertiary);pointer-events:none;position:absolute;left:12px}.calc-search-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;height:44px;color:var(--color-text-primary);background:#fff;padding:0 36px 0 38px;font-family:inherit;font-size:14px;transition:border-color .15s}.calc-search-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #3182f61f}.calc-search-input::placeholder{color:var(--color-text-tertiary)}.calc-search-clear{background:var(--color-bg);width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;right:8px}.calc-search-hint{color:var(--color-text-tertiary);margin-top:8px;font-size:12px}.calc-search-results{border:1px solid var(--color-border);border-radius:var(--radius-sm);z-index:50;background:#fff;max-height:280px;position:absolute;top:48px;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001a}.calc-search-empty{text-align:center;color:var(--color-text-tertiary);padding:16px;font-size:13px}.calc-search-item{text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--color-border);background:0 0;align-items:center;gap:10px;width:100%;padding:10px 14px;font-family:inherit;transition:background .1s;display:flex}.calc-search-item:last-child{border-bottom:none}.calc-search-item:hover{background:var(--color-bg)}.calc-search-receipt{font-family:var(--font-mono);color:var(--color-text-primary);flex-shrink:0;font-size:13px;font-weight:600}.calc-search-name{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.calc-search-region{color:var(--color-text-tertiary);background:var(--color-bg);border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:11px}.calc-selected-request{background:var(--color-primary-light);border-radius:var(--radius-sm);border:1px solid #3182f633;gap:12px;padding:14px 16px;display:flex}.calc-selected-info{flex-direction:column;flex:1;gap:4px;display:flex}.calc-selected-top{align-items:center;gap:8px;display:flex}.calc-selected-receipt{font-family:var(--font-mono);color:var(--color-primary);font-size:13px;font-weight:600}.calc-selected-name{color:var(--color-text-primary);font-size:14px;font-weight:600}.calc-selected-address,.calc-selected-phone{color:var(--color-text-secondary);font-size:12px}.calc-selected-clear{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-tertiary);cursor:pointer;background:#fff;flex-shrink:0;justify-content:center;align-items:center;display:flex}.calc-selected-clear:hover{border-color:var(--color-danger);color:var(--color-danger)}.calc-request-detail{color:var(--color-text-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:12px;display:-webkit-box;overflow:hidden}.calc-embedded{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding-bottom:0;overflow:hidden}.calc-embedded .header-wrapper{border-radius:var(--radius-md) var(--radius-md) 0 0}.calc-embedded .cost-summary{box-shadow:none;border-top:1px solid var(--grey200,#e5e8eb);position:static}.calc-embedded .cost-summary-inner{max-width:100%}.calc-history{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.calc-history-toggle{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md) 20px;color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font-family);transition:background var(--transition-fast);background:0 0;border:none;display:flex}.calc-history-toggle:hover{background:var(--color-bg-tertiary)}.calc-history-toggle svg.rotated{transform:rotate(180deg)}.calc-history-toggle svg{transition:transform var(--transition-fast);margin-left:auto}.calc-history-toggle svg:first-child{margin-left:0}.calc-history-list{border-top:1px solid var(--color-divider);max-height:400px;overflow-y:auto}.calc-history-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-tertiary);font-size:13px}.calc-history-item{padding:var(--spacing-sm) 20px;border-bottom:1px solid var(--color-divider);cursor:pointer;transition:background var(--transition-fast)}.calc-history-item:hover{background:var(--color-bg-tertiary)}.calc-history-item.selected{background:var(--color-primary-light)}.calc-history-item:last-child{border-bottom:none}.calc-history-item-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.calc-history-date{font-family:var(--font-data);color:var(--color-text-tertiary);align-items:center;gap:4px;font-size:11px;display:flex}.calc-history-type{border-radius:var(--radius-xs);padding:2px 8px;font-size:11px;font-weight:600}.calc-history-badges{align-items:center;gap:4px;display:flex}.calc-history-latest{border-radius:var(--radius-xs);background:var(--color-primary);color:var(--color-text-inverse);padding:2px 6px;font-size:10px;font-weight:700}.calc-history-type.estimate{background:var(--color-primary-light);color:var(--color-primary)}.calc-history-type.settlement{background:var(--color-success-light);color:var(--color-success)}.calc-history-item.past{opacity:.5}.calc-history-item.past .calc-history-amount{color:var(--color-text-tertiary);text-decoration:line-through}.calc-history-item-main{justify-content:space-between;align-items:center;display:flex}.calc-history-customer{color:var(--color-text-primary);font-size:13px;font-weight:500}.calc-history-amount{font-family:var(--font-data);color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.calc-history-detail{margin-top:var(--spacing-xs);color:var(--color-text-tertiary);font-size:12px}.toast{z-index:200;border-radius:var(--radius-sm);animation:slideInRight var(--transition-normal);box-shadow:var(--shadow-lg);align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;display:flex;position:fixed;top:20px;right:20px}.toast-success{background:var(--color-success);color:var(--color-text-inverse)}.toast-error{background:var(--color-error);color:var(--color-text-inverse)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.crawler-status-card{background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);transition:border-color var(--transition-fast)}.crawler-status-card.enabled{border-color:var(--color-success);border-left:3px solid var(--color-success)}.crawler-status-card.disabled{border-color:var(--color-border);border-left:3px solid var(--color-text-disabled)}.crawler-status-loading{padding:var(--spacing-md);justify-content:center;align-items:center;display:flex}.crawler-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.crawler-title-row{align-items:center;gap:var(--spacing-sm);display:flex}.crawler-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.crawler-icon.on{background:var(--color-success-light);color:#065f46}.crawler-icon.off{background:var(--color-bg-secondary);color:var(--color-text-disabled)}.crawler-title{color:var(--color-text-primary);margin:0;font-size:15px;font-weight:600;line-height:1.2}.crawler-badge{border-radius:var(--radius-xs);padding:2px 8px;font-size:11px;font-weight:600}.crawler-badge.on{background:var(--color-success-light);color:#065f46}.crawler-badge.off{background:var(--color-bg-secondary);color:var(--color-text-tertiary)}.crawler-toggle{height:36px;padding:0 var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:13px;font-weight:600;font-family:var(--font-family);border:none;align-items:center;gap:6px;display:flex}.crawler-toggle.on{background:var(--color-success);color:var(--color-text-inverse)}.crawler-toggle.on:hover{background:#009b73}.crawler-toggle.off{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.crawler-toggle.off:hover{border-color:var(--color-primary);color:var(--color-primary)}.crawler-toggle:disabled{opacity:.4;cursor:not-allowed}.crawler-info-grid{gap:var(--spacing-md);padding:var(--spacing-md) 0;border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);grid-template-columns:repeat(3,1fr);display:grid}.crawler-info-item{flex-direction:column;gap:4px;display:flex}.crawler-info-label{color:var(--color-text-tertiary);align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.crawler-info-label svg{flex-shrink:0;width:14px;height:14px}.crawler-info-value{font-family:var(--font-data);color:var(--color-text-primary);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;font-size:15px;font-weight:600;display:flex}.crawler-info-sub{color:var(--color-text-tertiary);font-size:11px;font-weight:400;font-family:var(--font-family)}.crawler-info-empty{color:var(--color-text-disabled);font-size:13px;font-weight:400}.result-success{color:var(--color-success)}.result-fail{color:var(--color-error)}.crawler-footer{margin-top:var(--spacing-sm);color:var(--color-text-tertiary);justify-content:space-between;align-items:center;font-size:11px;display:flex}.crawler-force-hint{color:var(--color-primary);font-weight:500}.alimtalk-toggle-desc{color:var(--color-text-tertiary);margin-top:var(--spacing-sm);font-size:13px;line-height:1.5}.alimtalk-individual{border-top:1px solid var(--color-border);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.alimtalk-item{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.alimtalk-item-label{color:var(--color-text-secondary);font-size:13px}.alimtalk-item-toggle{border:1px solid var(--color-border);cursor:pointer;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:600;transition:all .15s}.alimtalk-item-toggle.on{color:#00c48c;background:#e8faf5;border-color:#00c48c}.alimtalk-item-toggle.off{background:var(--color-bg);color:var(--color-text-tertiary)}.alimtalk-group-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.02em;border-top:1px solid var(--color-border);margin-top:4px;padding:8px 0 2px;font-size:12px;font-weight:600}.alimtalk-group-label:first-child{border-top:none;margin-top:0;padding-top:0}.alimtalk-loading{color:var(--color-text-tertiary);justify-content:center;align-items:center;gap:8px;padding:40px;font-size:14px;display:flex}.alimtalk-balance{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);align-items:center;gap:0;padding:14px 20px;display:flex}.alimtalk-balance-item{flex:1;align-items:center;gap:8px;display:flex}.alimtalk-balance-label{color:var(--color-text-tertiary);font-size:13px}.alimtalk-balance-value{color:var(--color-text-primary);font-size:16px;font-weight:700;font-family:var(--font-data)}.alimtalk-balance-divider{background:var(--color-border);width:1px;height:24px;margin:0 16px}.alimtalk-summary-cards{margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:8px;display:flex}.alimtalk-summary-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);cursor:pointer;text-align:center;flex:1;min-width:100px;padding:16px 12px;font-family:inherit;transition:all .15s}.alimtalk-summary-card:hover{border-color:var(--color-primary)}.alimtalk-summary-card.active{border-color:var(--color-primary);background:var(--color-primary-light)}.alimtalk-summary-card.has-unsent .alimtalk-card-count{color:#f04452}.alimtalk-card-count{font-size:22px;font-weight:700;font-family:var(--font-data);color:var(--color-text-primary);line-height:1.2;display:block}.alimtalk-card-label{color:var(--color-text-tertiary);margin-top:4px;font-size:11px;font-weight:500;display:block}.alimtalk-toolbar{margin-bottom:var(--spacing-sm);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.alimtalk-search-wrap{flex:1;align-items:center;min-width:200px;display:flex;position:relative}.alimtalk-search-wrap svg:first-child{color:var(--color-text-tertiary);pointer-events:none;position:absolute;left:10px}.alimtalk-search{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;height:36px;padding:0 32px;font-family:inherit;font-size:13px}.alimtalk-search:focus{border-color:var(--color-primary);outline:none}.alimtalk-search-clear{background:var(--color-bg);cursor:pointer;width:24px;height:24px;color:var(--color-text-tertiary);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;right:6px}.alimtalk-result-count{color:var(--color-text-tertiary);flex-shrink:0;font-size:12px}.alimtalk-batch-bar{align-items:center;gap:8px;display:flex}.alimtalk-batch-count{color:var(--color-primary);font-size:13px;font-weight:600}.alimtalk-batch-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);height:32px;padding:0 8px;font-family:inherit;font-size:12px}.alimtalk-batch-btn{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;border:none;align-items:center;gap:4px;padding:6px 14px;font-size:12px;font-weight:600;display:flex}.alimtalk-batch-btn:disabled{opacity:.4;cursor:not-allowed}.alimtalk-batch-cancel{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);background:0 0;padding:6px 10px;font-size:12px}.alimtalk-table-wrap{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.alimtalk-table{border-collapse:collapse;width:100%;font-size:13px}.alimtalk-table thead{background:var(--color-bg-secondary,#f9fafb)}.alimtalk-table th{text-align:left;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:600}.alimtalk-table td{border-bottom:1px solid var(--color-divider,#f2f4f6);color:var(--color-text-primary);padding:10px 12px}.alimtalk-table tr:hover td{background:var(--color-bg-secondary,#f9fafb)}.alimtalk-table tr.selected td{background:#f0f7ff}.alimtalk-table .cell-check{text-align:center;width:36px}.alimtalk-table .cell-check input{cursor:pointer;width:15px;height:15px}.alimtalk-table .cell-receipt{font-family:var(--font-mono);font-size:12px;font-weight:600}.alimtalk-table .cell-name{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.alimtalk-table .cell-phone{color:var(--color-text-tertiary);font-size:12px}.alimtalk-table .cell-alimtalk{text-align:center;width:70px}.alimtalk-sent{color:#00c48c;font-size:14px;font-weight:700}.alimtalk-na{color:var(--color-text-tertiary);font-size:14px}.alimtalk-send-btn{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:600}.alimtalk-send-btn:hover{background:var(--color-primary-light)}.alimtalk-send-btn:disabled{opacity:.4;cursor:not-allowed}.alimtalk-table-empty{text-align:center;color:var(--color-text-tertiary);padding:40px}.alimtalk-table-empty span{margin-top:8px;font-size:14px;display:block}.alimtalk-table-more{text-align:center;color:var(--color-text-tertiary);border-top:1px solid var(--color-border);padding:12px;font-size:12px}.voc-type-tabs{margin-bottom:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:0;width:fit-content;display:flex;overflow:hidden}.voc-type-tab{background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;border:none;padding:10px 24px;font-family:inherit;font-size:14px;font-weight:500;transition:all .15s}.voc-type-tab.active{background:var(--color-primary);color:#fff}.voc-type-tab:not(.active):hover{background:var(--color-bg-secondary,#f2f4f6)}@media (width<=1024px){.admin-sidebar{width:var(--sidebar-collapsed-width)}.sidebar-brand-text,.sidebar-item-label,.sidebar-section-title,.sidebar-user-info,.sidebar-item-indicator{display:none}.sidebar-brand{padding:var(--spacing-md) 0;justify-content:center}.sidebar-item{justify-content:center;padding:10px}.sidebar-rail{display:none}.sidebar-footer{padding:var(--spacing-sm)}.sidebar-user{justify-content:center}.sidebar-logout{justify-content:center;padding:8px}.admin-main,.sidebar-collapsed .admin-main{margin-left:var(--sidebar-collapsed-width)}.page-content{padding:var(--spacing-md)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.crawler-info-grid{grid-template-columns:1fr}}@media (width<=768px){.admin-sidebar,.sidebar-rail{display:none}.mobile-overlay{display:block}.mobile-sidebar,.header-menu-btn{display:flex}.header-breadcrumb-root,.header-breadcrumb-sep,.header-date{display:none}.admin-main,.sidebar-collapsed .admin-main{margin-left:0}.page-content{padding:var(--spacing-md)}.page-title{font-size:20px}.kpi-grid{gap:var(--spacing-sm);grid-template-columns:1fr 1fr}.kpi-card{padding:var(--spacing-md)}.kpi-icon-wrapper{width:36px;height:36px}.kpi-value{font-size:20px}.data-table-wrapper{overflow-x:auto}.filter-bar{flex-direction:column;align-items:stretch}.filter-search,.filter-search-wrapper{min-width:100%}.filter-count{margin-left:0}.detail-grid,.form-grid{grid-template-columns:1fr}.pagination{gap:var(--spacing-sm);flex-direction:column;align-items:center}}@media (width<=480px){.kpi-grid{grid-template-columns:1fr}}.stats-dashboard{width:100%}.stats-loading{justify-content:center;align-items:center;gap:var(--spacing-sm);color:var(--color-text-tertiary);padding:60px 0;font-size:14px;display:flex}.stats-period-filter{margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:8px;display:flex}.stats-period-btn{color:#4e5968;cursor:pointer;background:#fff;border:1px solid #e5e8eb;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s}.stats-period-btn:hover{background:#f9fafb;border-color:#d1d6db}.stats-period-btn.active{color:#3182f6;background:#e8f3ff;border-color:#3182f6;font-weight:600}.stats-charts-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}.stats-chart-card{background:#fff;border:1px solid #e5e8eb;border-radius:12px;padding:20px}.stats-chart-title{color:#191f28;letter-spacing:-.01em;margin:0 0 16px;font-size:16px;font-weight:600;line-height:1.4}.stats-chart-wrapper{flex-direction:column;align-items:center;gap:16px;display:flex}.stats-pie-legend{flex-wrap:wrap;justify-content:center;gap:8px 16px;display:flex}.stats-legend-item{color:#4e5968;align-items:center;gap:6px;font-size:12px;display:flex}.stats-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.stats-legend-label{font-weight:400}.stats-legend-value{color:#191f28;font-variant-numeric:tabular-nums;font-weight:600}.stats-empty{color:#8b95a1;justify-content:center;align-items:center;height:200px;font-size:14px;display:flex}.stats-team-section{flex-direction:column;gap:16px;display:flex}.stats-team-summary{justify-content:center;gap:24px;display:flex}.stats-team-item{align-items:center;gap:8px;font-size:14px;display:flex}.stats-team-label{color:#4e5968;font-weight:500}.stats-team-value{color:#191f28;font-variant-numeric:tabular-nums;font-weight:700}@media (width<=1023px){.stats-charts-grid{grid-template-columns:1fr}}@media (width<=480px){.stats-chart-card{padding:16px}.stats-period-btn{padding:6px 12px;font-size:12px}}.revenue-top-bar{margin-bottom:var(--spacing-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.revenue-tabs{gap:8px;display:flex}.kpi-sub{color:var(--color-text-tertiary,#8b95a1);font-variant-numeric:tabular-nums;font-size:12px}@media (width<=767px){.revenue-top-bar{flex-direction:column;align-items:flex-start}}.stats-section-title{color:var(--color-text-primary,#191f28);letter-spacing:-.02em;align-items:center;gap:8px;margin:32px 0 16px;font-size:20px;font-weight:600;display:flex}.timeline-section-divider{color:var(--color-text-tertiary,#8b95a1);text-transform:uppercase;letter-spacing:.03em;border-top:1px solid var(--color-border,#e5e8eb);margin:16px 0 8px 28px;padding-top:12px;font-size:12px;font-weight:600}.timeline-item.status-change{opacity:.85}.timeline-dot.status-change{background:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626}.status-badge-sm{vertical-align:middle;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:500;display:inline-block}.status-badge-sm.status-new{color:#3182f6;background:#e8f3ff}.status-badge-sm.status-consulting{color:#ff9f43;background:#fff8f0}.status-badge-sm.status-quoted{color:#8b5cf6;background:#f3eeff}.status-badge-sm.status-deposit_paid{color:#00c48c;background:#e8faf5}.status-badge-sm.status-engineer_assigned{color:#06b6d4;background:#e0f7fa}.status-badge-sm.status-scheduled{color:#3b82f6;background:#eff6ff}.status-badge-sm.status-completed{color:#10b981;background:#d1fae5}.status-badge-sm.status-settlement_requested,.status-badge-sm.status-settled{color:#6b7280;background:#f3f4f6}.status-badge-sm.status-closed{color:#9ca3af;background:#f9fafb}.status-badge-sm.status-cancelled{color:#f04452;background:#fff0f1}.engineer-toggle-group{gap:8px;margin-top:8px;display:flex}.engineer-toggle-btn.active{background:var(--color-primary-light,#e8f3ff);color:var(--color-primary,#3182f6);border-color:var(--color-primary,#3182f6)}.engineer-week-schedule{border:1px solid var(--color-border,#e5e8eb);border-radius:8px;margin-top:12px;overflow:hidden}.week-schedule-header{background:var(--color-bg-tertiary,#f9fafb);border-bottom:1px solid var(--color-border,#e5e8eb);grid-template-columns:repeat(7,1fr);display:grid}.week-schedule-day-header{flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.week-schedule-day-header.today{background:var(--color-primary-light,#e8f3ff)}.week-day-name{color:var(--color-text-tertiary,#8b95a1);font-size:11px;font-weight:500}.week-day-num{color:var(--color-text-primary,#191f28);font-size:13px;font-weight:600}.week-schedule-day-header.today .week-day-num{color:var(--color-primary,#3182f6)}.week-schedule-body{grid-template-columns:repeat(7,1fr);min-height:64px;display:grid}.week-schedule-cell{border-right:1px solid var(--color-border,#e5e8eb);flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;min-height:56px;padding:4px;display:flex}.week-schedule-cell:last-child{border-right:none}.week-schedule-cell.today{background:#3182f608}.week-schedule-cell.has-items{background:#10b9810a}.week-schedule-item{background:var(--color-bg-tertiary,#f9fafb);border-left:2px solid #3182f6;border-radius:4px;width:100%;padding:3px 5px;font-size:11px;line-height:1.3;overflow:hidden}.week-schedule-item.status-scheduled{background:#eff6ff;border-left-color:#3b82f6}.week-schedule-item.status-engineer_assigned{background:#e0f7fa;border-left-color:#06b6d4}.week-schedule-item.status-completed{background:#d1fae5;border-left-color:#10b981}.week-item-name{color:var(--color-text-primary,#191f28);white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.week-item-region{color:var(--color-text-tertiary,#8b95a1);white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.week-schedule-empty{color:var(--color-text-disabled,#b0b8c1);margin-top:16px;font-size:12px}.alimtalk-log-list{border-top:1px solid var(--color-border);margin-top:12px;padding-top:10px}.alimtalk-log-title{color:var(--color-text-tertiary);margin-bottom:6px;font-size:12px;font-weight:600}.alimtalk-log-item{align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.alimtalk-log-status{text-align:center;width:18px;font-weight:600}.alimtalk-log-status.sent,.alimtalk-log-status.success{color:#00c48c}.alimtalk-log-status.failed{color:#f04452}.alimtalk-log-status.skipped{color:#8b95a1}.alimtalk-log-template{color:var(--color-text-secondary);flex:1}.alimtalk-log-date{color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:12px}.voc-sync-section{margin-top:16px}.voc-sync-list{flex-direction:column;gap:8px;margin-top:8px;display:flex}.voc-sync-item{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;padding:10px 12px}.voc-sync-item-main{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.voc-sync-badge{background:0 0;border:1px solid;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.voc-sync-action-label{color:var(--color-text-primary);flex:1;min-width:180px;font-size:13px}.voc-sync-time{color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:12px}.voc-sync-item-meta{color:var(--color-text-secondary);align-items:center;gap:12px;margin-top:6px;font-size:12px;display:flex}.voc-sync-error-toggle{color:var(--color-danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.voc-sync-error-detail{background:var(--color-danger-light);color:var(--color-danger);white-space:pre-wrap;word-break:break-all;border-radius:6px;max-height:160px;margin-top:6px;padding:8px;font-size:12px;overflow:auto}.voc-sync-actions{gap:6px;margin-top:8px;display:flex}.voc-sync-btn{border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;transition:background .15s;display:inline-flex}.voc-sync-btn:hover:not(:disabled){background:var(--color-page-bg)}.voc-sync-btn:disabled{opacity:.4;cursor:not-allowed}.voc-sync-btn-ghost{color:var(--color-text-secondary)}@keyframes voc-sync-spin{to{transform:rotate(360deg)}}.voc-sync-spin{animation:1s linear infinite voc-sync-spin}.repair-report-inline{margin-top:16px}.report-info-block{background:var(--color-bg-page);border-radius:var(--radius-sm);margin-top:12px;padding:12px}.report-info-title{color:var(--color-text-tertiary);align-items:center;gap:4px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.report-info-grid{color:var(--color-text-secondary);gap:16px;font-size:13px;display:flex}.report-time-duration{color:var(--color-primary);font-weight:600}.report-memo-text{color:var(--color-text-secondary);white-space:pre-wrap;font-size:13px;line-height:1.5}.report-quote-text{color:var(--color-text-secondary);white-space:pre-wrap;font-size:12px;line-height:1.5;font-family:var(--font-mono);background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:8px;overflow-x:auto}.report-amount-grid{flex-direction:column;gap:4px;display:flex}.report-amount-row{color:var(--color-text-secondary);justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;display:flex}.report-amount-row.total{border-top:1px solid var(--color-border);margin-top:4px;padding-top:8px;font-size:14px}.report-amount-row.total.danger{color:#f04452}.report-amount-row.total.success{color:#00c48c}.report-crew-list{flex-wrap:wrap;gap:6px;display:flex}.report-crew-chip{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:4px;padding:4px 10px;font-size:12px}.report-crew-chip.primary{color:#3182f6;background:#e8f3ff;border-color:#3182f6}.report-photo-grid{flex-wrap:wrap;gap:8px;display:flex}.report-photo-thumb{border:1px solid var(--color-border);border-radius:6px;width:64px;height:64px;overflow:hidden}.report-photo-thumb img{object-fit:cover;width:100%;height:100%}.report-photo-more{border:1px solid var(--color-border);width:64px;height:64px;color:var(--color-text-tertiary);background:var(--color-bg-page);border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.flow-action-btn.approve:hover{background:#00a87a!important}.region-select-all-btn{color:#3182f6;cursor:pointer;background:0 0;border:1px solid #3182f6;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:500}.region-select-all-btn:hover{background:#e8f3ff}.region-chips-grid{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.region-chip-btn{color:#4e5968;cursor:pointer;background:#f9fafb;border:1px solid #e5e8eb;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.region-chip-btn:hover{color:#3182f6;border-color:#3182f6}.region-chip-btn.selected{color:#3182f6;background:#e8f3ff;border-color:#3182f6;font-weight:600}.region-warning{color:#ff9f43;align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.eng-team-tabs{border-bottom:1px solid var(--color-border,#e5e8eb);gap:4px;margin-bottom:16px;display:flex}.eng-team-tab{color:#8b95a1;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-size:14px;font-weight:600;transition:all .15s}.eng-team-tab:hover{color:#4e5968}.eng-team-tab.active{color:#3182f6;border-bottom-color:#3182f6}.eng-team-count{opacity:.7;margin-left:4px;font-size:13px;font-weight:400}.eng-table tbody tr{cursor:pointer}.eng-table tbody tr.row-inactive{opacity:.5}.eng-table tbody tr.row-expanded,.eng-table tbody tr.row-expanded:hover{background:#f0f7ff}.cell-expand{text-align:center;color:#8b95a1;width:40px}.eng-name-text{font-size:14px;font-weight:600}.eng-phone-link{color:#4e5968;align-items:center;gap:4px;font-size:13px;text-decoration:none;display:inline-flex}.eng-phone-link:hover{color:#3182f6}.eng-region-chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.eng-region-chip{color:#4e5968;white-space:nowrap;background:#f2f4f6;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.eng-region-more{color:#3182f6;background:#e8f3ff;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600;display:inline-block}.eng-active-badge{font-size:12px;font-weight:600}.eng-active-badge.active{color:#10b981}.eng-active-badge.inactive{color:#b0b8c1}.cell-stat{text-align:center;font-size:14px;font-weight:700;font-family:var(--font-data,"Inter", sans-serif);font-variant-numeric:tabular-nums}.cell-actions{gap:4px;display:flex}.eng-detail-row td{border-bottom:1px solid #e5e8eb;padding:0!important}.eng-detail-panel{background:#fafbfc;padding:16px 24px 20px}.eng-detail-tabs{gap:4px;margin-bottom:16px;display:flex}.eng-detail-tab{color:#4e5968;cursor:pointer;background:#fff;border:1px solid #e5e8eb;border-radius:6px;align-items:center;gap:5px;padding:7px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.eng-detail-tab:hover{color:#3182f6;border-color:#3182f6}.eng-detail-tab.active{color:#fff;background:#3182f6;border-color:#3182f6}.eng-detail-empty{color:#8b95a1;text-align:center;padding:24px 0;font-size:13px}.eng-perf-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.eng-perf-card{text-align:center;background:#fff;border:1px solid #e5e8eb;border-radius:8px;padding:16px}.eng-perf-card-label{color:#8b95a1;margin-bottom:6px;font-size:12px;display:block}.eng-perf-card-value{color:#191f28;font-size:20px;font-weight:700;font-family:var(--font-data,"Inter", sans-serif);display:block}.eng-req-filters{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.eng-req-filter-chip{color:#4e5968;cursor:pointer;background:#fff;border:1px solid #e5e8eb;border-radius:16px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s}.eng-req-filter-chip:hover{color:#3182f6;border-color:#3182f6}.eng-req-filter-chip.active{color:#fff;background:#3182f6;border-color:#3182f6}.eng-req-pagination{border-top:1px solid #e5e8eb;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;display:flex}.eng-req-page-info{color:#8b95a1;font-size:12px;font-family:var(--font-data,"Inter", sans-serif)}.eng-req-page-btns{align-items:center;gap:4px;display:flex}.eng-req-page-dots{color:#b0b8c1;margin:0 2px;font-size:12px}.settle-period-bar{background:#fff;border:1px solid #e5e8eb;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 16px;display:flex}.settle-mode-tabs{background:#f2f4f6;border-radius:8px;gap:4px;padding:3px;display:flex}.settle-mode-tab{color:#8b95a1;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:600;transition:all .15s}.settle-mode-tab.active{color:#191f28;background:#fff;box-shadow:0 1px 3px #00000014}.settle-period-nav{align-items:center;gap:8px;display:flex}.settle-nav-btn{color:#4e5968;cursor:pointer;background:#fff;border:1px solid #e5e8eb;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.settle-nav-btn:hover:not(:disabled){color:#3182f6;border-color:#3182f6}.settle-nav-btn:disabled{opacity:.3;cursor:not-allowed}.settle-period-label{color:#191f28;text-align:center;min-width:200px;font-size:15px;font-weight:600}.settle-today-btn{color:#3182f6;cursor:pointer;background:#e8f3ff;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600}.settle-today-btn:hover{background:#d0e8ff}.settle-date-input{color:#191f28;cursor:pointer;background:#fff;border:1px solid #e5e8eb;border-radius:6px;height:32px;padding:0 10px;font-size:13px;font-weight:500;transition:all .15s}.settle-date-input:hover{border-color:#d1d6db}.settle-date-input:focus{border-color:#3182f6;outline:none;box-shadow:0 0 0 2px #3182f626}.settle-date-sep{color:#8b95a1;font-size:13px;font-weight:500}.settle-total-row td{background:#f9fafb;border-top:2px solid #e5e8eb;padding:14px 16px!important}.settle-detail-table{border:none!important}.settle-detail-table thead{background:#fff!important}.settle-detail-table th{color:#8b95a1!important;padding:8px 12px!important;font-size:11px!important}.settle-detail-table td{font-size:13px;padding:10px 12px!important}.settle-filter-bar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.settle-filter-chips{gap:6px;display:flex}.settle-bulk-btn{color:#fff;cursor:pointer;background:#3182f6;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.settle-bulk-btn:hover:not(:disabled){background:#1b64da}.settle-bulk-btn:disabled{opacity:.5;cursor:not-allowed}.settle-unsettled-badge{color:#f04452;background:#fff0f1;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600}.settle-done-badge{color:#10b981;background:#d1fae5;border-radius:4px;align-items:center;gap:3px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.settle-pending-badge{color:#f59e0b;background:#fff8f0;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.row-eng-settled td{color:#8b95a1!important}.settle-detail-actions{margin-bottom:10px}.settle-check-all-btn{color:#3182f6;cursor:pointer;background:#e8f3ff;border:1px solid #3182f6;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600}.settle-check-all-btn:hover{background:#d0e8ff}.settle-crew-badge{color:#8b5cf6;background:#f3eeff;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex;position:relative}.settle-crew-names{color:#191f28;white-space:nowrap;z-index:10;background:#fff;border:1px solid #e5e8eb;border-radius:6px;margin-top:4px;padding:6px 10px;font-size:11px;font-weight:500;display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000001a}.settle-crew-badge:hover .settle-crew-names{display:block}.settle-detail-list{flex-direction:column;display:flex}.settle-detail-item{align-items:center;gap:12px;padding:12px 8px;display:flex}.settle-detail-item.bordered{border-top:1px solid #f2f4f6}.settle-detail-item.settled{opacity:.5}.settle-detail-check{flex-shrink:0;justify-content:center;align-items:center;width:24px;display:flex}.settle-done-icon{color:#10b981}.settle-detail-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.settle-detail-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settle-detail-receipt{font-family:var(--font-mono,monospace);color:#191f28;font-size:13px;font-weight:600}.settle-detail-customer{color:#4e5968;font-size:13px}.settle-detail-region{color:#8b95a1;background:#f2f4f6;border-radius:3px;padding:1px 6px;font-size:11px}.settle-detail-date{color:#8b95a1;font-size:12px;font-family:var(--font-data,"Inter", sans-serif)}.settle-detail-bottom{align-items:center;gap:6px;font-size:13px;display:flex}.settle-detail-label{color:#8b95a1;font-size:12px}.settle-detail-amount{color:#4e5968;font-family:var(--font-data,"Inter", sans-serif);font-variant-numeric:tabular-nums}.settle-detail-arrow{color:#b0b8c1;font-size:12px}.settle-detail-final{color:#3182f6;font-weight:700;font-family:var(--font-data,"Inter", sans-serif);font-variant-numeric:tabular-nums;font-size:14px}.settle-detail-status{flex-shrink:0}.payment-modal{flex-direction:column;width:min(640px,92vw);max-height:90vh;display:flex}.payment-modal-body{flex-direction:column;gap:14px;padding:20px 24px;display:flex;overflow-y:auto}.payment-modal-groups{flex-direction:column;gap:10px;display:flex}.payment-eng-group{border:1px solid var(--color-border);background:#f9fafb;border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.payment-eng-head{align-items:center;gap:8px;display:flex}.payment-eng-account{color:#4e5968;align-items:center;gap:10px;font-size:13px;display:flex}.payment-account-text{font-family:var(--font-data,monospace);color:#191f28}.payment-copy-btn{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.payment-copy-btn:hover{background:#f2f4f6}.payment-eng-warning{color:#d97706;background:#fff8f0;border:1px solid #ffe0b2;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.payment-eng-entries{border-top:1px dashed #e5e8eb;flex-direction:column;gap:4px;padding-top:6px;display:flex}.payment-eng-entry{color:#4e5968;justify-content:space-between;font-size:13px;display:flex}.payment-eng-subtotal{color:#4e5968;justify-content:flex-end;gap:6px;font-size:13px;display:flex}.payment-eng-subtotal strong{color:#3182f6;font-family:var(--font-data,monospace)}.payment-grand-total{border:1px solid var(--color-primary);color:#1b64da;background:#e8f3ff;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;display:flex}.payment-grand-total strong{font-size:18px;font-weight:700;font-family:var(--font-data,monospace)}.payment-history-section{border-top:1px solid #e5e8eb;margin-top:24px;padding-top:16px}.payment-history-toggle{border:1px solid var(--color-border);cursor:pointer;color:#191f28;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.payment-history-toggle:hover{background:#f9fafb}.payment-history-empty{text-align:center;color:#8b95a1;margin-top:12px;padding:24px;font-size:13px}.payment-history-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.payment-batch-card{background:#fff;border:1px solid #e5e8eb;border-radius:10px;overflow:hidden}.payment-batch-head{justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.payment-batch-meta{color:#4e5968;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.payment-batch-date{color:#191f28;font-weight:600}.payment-batch-engineers{color:#4e5968}.payment-batch-memo{color:#8b95a1;font-style:italic}.payment-batch-right{flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.payment-batch-total{color:#3182f6;font-size:15px;font-weight:700;font-family:var(--font-data,monospace)}.payment-batch-count{color:#8b95a1;font-size:12px}.payment-batch-expand{border:1px solid var(--color-border);cursor:pointer;color:#4e5968;background:0 0;border-radius:6px;padding:4px 6px}.payment-batch-cancel{color:#f04452;cursor:pointer;background:#fff;border:1px solid #ffe0e0;border-radius:6px;padding:4px 10px;font-size:12px}.payment-batch-cancel:hover{background:#fff0f1}.payment-batch-detail{border-top:1px solid #e5e8eb;margin:0}.eng-detail-account{color:#4e5968;border-bottom:1px dashed #e5e8eb;margin-bottom:12px;padding:6px 0 12px;font-size:13px}.eng-detail-account strong{color:#191f28}.eng-account-missing{color:#8b95a1;font-size:12px}.engineer-page{background:var(--color-bg-page);min-height:100dvh;padding-bottom:80px}.engineer-header{background:var(--color-bg);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);z-index:10;position:sticky;top:0}.engineer-header-top{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.engineer-brand{align-items:center;gap:var(--spacing-sm);display:flex}.engineer-brand-logo{width:auto;height:28px}.engineer-user-info{align-items:center;gap:var(--spacing-sm);display:flex}.engineer-user-name{color:var(--color-text-secondary);font-size:13px;font-weight:600}.engineer-team-badge{border-radius:var(--radius-full);padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.engineer-team-badge.direct{background:var(--status-confirmed-bg);color:#1d4ed8}.engineer-team-badge.partner{background:var(--status-consulting-bg);color:#92400e}.engineer-logout-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.engineer-logout-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.engineer-tabs{gap:var(--spacing-xs);display:flex}.engineer-tab{height:44px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);font-size:14px;font-weight:500;font-family:var(--font-family);background:0 0;border:none;border-bottom:2px solid #0000;flex:1}.engineer-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.week-calendar{background:var(--color-bg);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.week-nav{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.week-nav-title{color:var(--color-text-primary);letter-spacing:-.01em;font-size:15px;font-weight:600}.week-nav-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.week-nav-btn:active{background:var(--color-bg-secondary)}.week-days{gap:var(--spacing-xs);grid-template-columns:repeat(7,1fr);display:grid}.week-day{padding:var(--spacing-sm) 0;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;min-height:60px;display:flex}.week-day:active{background:var(--color-bg-secondary)}.week-day.selected{background:var(--color-primary)}.week-day.today{background:var(--color-primary-light)}.week-day.selected .week-day-label,.week-day.selected .week-day-num{color:var(--color-text-inverse)}.week-day-label{color:var(--color-text-tertiary);font-size:11px;font-weight:500}.week-day-num{font-family:var(--font-data);color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:18px;font-weight:700;line-height:1}.week-day.today .week-day-num{color:var(--color-primary)}.week-day-count{color:var(--color-primary);background:var(--color-primary-light);min-width:16px;height:16px;font-size:10px;font-weight:700;font-family:var(--font-data);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;display:flex}.week-day.selected .week-day-count{color:var(--color-text-inverse);background:#ffffff4d}.calendar-top{margin-bottom:var(--spacing-sm);justify-content:flex-end;display:flex}.calendar-view-toggle{background:var(--color-bg-secondary,#f2f4f6);border-radius:var(--radius-sm);padding:2px;display:flex}.calendar-view-btn{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.calendar-view-btn.active{color:var(--color-text-primary);background:#fff;box-shadow:0 1px 2px #00000014}.month-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.month-day-header{text-align:center;color:var(--color-text-tertiary);padding:8px 0 4px;font-size:11px;font-weight:600}.month-day{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;min-height:44px;padding:8px 0;transition:all .15s;display:flex}.month-day:active{background:var(--color-bg-secondary)}.month-day.selected{background:var(--color-primary)}.month-day.today{background:var(--color-primary-light)}.month-day.other-month{opacity:.3}.month-day-num{font-family:var(--font-data);color:var(--color-text-primary);font-size:14px;font-weight:600;line-height:1}.month-day.selected .month-day-num{color:var(--color-text-inverse)}.month-day.today .month-day-num{color:var(--color-primary)}.month-day.selected.today .month-day-num{color:var(--color-text-inverse)}.month-day-count{color:var(--color-primary);background:var(--color-primary-light);border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:flex}.month-day.selected .month-day-count{color:var(--color-text-inverse);background:#ffffff4d}.week-day-note{color:var(--color-warning,#b76e00);background:var(--color-warning-light,#fff8f0);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;max-width:100%;margin-top:2px;padding:2px 4px;font-size:10px;line-height:1.2;overflow:hidden}.week-day.selected .week-day-note{color:var(--color-text-inverse);background:#ffffff4d}.month-day-note-dot{background:var(--color-warning,#ff9f43);border-radius:50%;width:5px;height:5px;margin-top:2px}.month-day.selected .month-day-note-dot{background:#ffffffd9}.cal-notes{border:1px solid var(--color-border,#e5e8eb);background:#fff;border-radius:12px;margin-top:16px;padding:16px}.cal-notes-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cal-notes-title{color:var(--color-text-primary,#191f28);font-size:14px;font-weight:600}.cal-notes-add-btn{border:1px solid var(--color-border,#e5e8eb);color:var(--color-primary,#3182f6);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:4px;min-height:36px;padding:8px 12px;font-size:13px;font-weight:500;display:inline-flex}.cal-notes-add-btn:hover{background:var(--color-primary-light,#e8f3ff)}.cal-note-input-row{align-items:center;gap:6px;margin-bottom:8px;display:flex}.cal-note-input{border:1px solid var(--color-border,#e5e8eb);border-radius:8px;flex:1;min-width:0;min-height:36px;padding:8px 10px;font-size:14px}.cal-note-input:focus{border-color:var(--color-primary,#3182f6);outline:none;box-shadow:0 0 0 2px #3182f626}.cal-note-counter{color:var(--color-text-tertiary,#8b95a1);font-size:11px;font-family:var(--font-data);white-space:nowrap}.cal-note-save-btn,.cal-note-cancel-btn,.cal-note-icon-btn{border:1px solid var(--color-border,#e5e8eb);cursor:pointer;width:36px;height:36px;color:var(--color-text-secondary,#4e5968);background:#fff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.cal-note-save-btn{border-color:var(--color-primary,#3182f6);color:var(--color-primary,#3182f6)}.cal-note-save-btn:disabled{opacity:.4;cursor:not-allowed}.cal-note-cancel-btn:hover{background:var(--color-surface-hover,#f9fafb)}.cal-note-icon-btn{width:32px;height:32px}.cal-note-icon-btn.danger{color:var(--color-danger,#f04452)}.cal-note-icon-btn:hover{background:var(--color-surface-hover,#f9fafb)}.cal-notes-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cal-note-item{background:var(--color-surface-hover,#f9fafb);border-radius:8px;align-items:center;gap:6px;min-height:40px;padding:8px 10px;display:flex}.cal-note-content{min-width:0;color:var(--color-text-primary,#191f28);word-break:break-word;flex:1;font-size:14px}.cal-notes-empty{color:var(--color-text-tertiary,#8b95a1);text-align:center;padding:12px 0;font-size:13px}.cal-notes-loading{color:var(--color-text-secondary,#4e5968);justify-content:center;align-items:center;gap:6px;padding:12px 0;font-size:13px;display:flex}.photo-toggle-row{margin-top:8px}.photo-toggle-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.photo-toggle-btn.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.photo-section{background:var(--color-bg-secondary,#f9fafb);border-radius:var(--radius-sm);margin-top:8px;padding:12px}.photo-loading{color:var(--color-text-tertiary);justify-content:center;align-items:center;gap:6px;padding:16px;font-size:13px;display:flex}.photo-group{margin-bottom:12px}.photo-group:last-child{margin-bottom:0}.photo-group-header{color:var(--color-text-secondary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.photo-upload-btn{border:1px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;background:0 0;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:500;display:inline-flex}.photo-upload-btn:active{background:var(--color-primary-light)}.photo-upload-btn:disabled{opacity:.4;cursor:not-allowed}.photo-empty{color:var(--color-text-tertiary);text-align:center;padding:12px;font-size:12px}.photo-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.photo-thumb{aspect-ratio:1;background:var(--color-border);border-radius:6px;display:block;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%}.photo-thumb-placeholder{width:100%;height:100%;color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex}.completed-info-section{border-top:1px solid var(--color-border);margin-top:10px;padding-top:10px}.completed-info-row{color:var(--color-text-secondary);flex-wrap:wrap;justify-content:space-between;gap:4px;margin-bottom:4px;font-size:13px;display:flex}.completed-memo{color:var(--color-text-tertiary);background:var(--color-bg-secondary,#f9fafb);border-radius:var(--radius-sm);margin-top:4px;padding:6px 8px;font-size:12px}.my-region-badge{text-align:center;color:var(--color-primary);background:var(--color-primary-light);border-radius:var(--radius-sm);margin-top:8px;padding:6px;font-size:12px;font-weight:600;display:block}.engineer-search{padding:8px var(--spacing-lg);align-items:center;display:flex;position:relative}.engineer-search-icon{left:calc(var(--spacing-lg) + 12px);color:var(--color-text-tertiary);pointer-events:none;position:absolute}.engineer-search-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;height:40px;color:var(--color-text-primary);background:var(--color-bg);padding:0 36px 0 38px;font-family:inherit;font-size:14px}.engineer-search-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #3182f61f}.engineer-search-input::placeholder{color:var(--color-text-tertiary)}.engineer-search-clear{right:calc(var(--spacing-lg) + 8px);background:var(--color-border);width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.region-filter{padding:var(--spacing-sm) var(--spacing-lg);-webkit-overflow-scrolling:touch;gap:var(--spacing-sm);background:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;overflow-x:auto}.region-filter::-webkit-scrollbar{display:none}.region-chip{height:36px;padding:0 var(--spacing-md);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:13px;font-weight:500;font-family:var(--font-family);white-space:nowrap;flex-shrink:0}.region-chip:active{transform:scale(.96)}.region-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.request-list{padding:var(--spacing-md) var(--spacing-lg);gap:var(--spacing-sm);flex-direction:column;display:flex}.request-card{background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--spacing-md);transition:box-shadow var(--transition-fast)}.request-card.urgent{border-width:2px;border-color:#f04452;box-shadow:0 0 0 1px #f044521a}.request-card:active{box-shadow:var(--shadow-sm)}.request-card-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;gap:8px;display:flex}.request-card-header-left{align-items:center;gap:6px;min-width:0;display:flex}.request-card-header-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.urgent-badge{color:#f04452;background:#fff0f1;border-radius:4px;flex-shrink:0;align-items:center;gap:3px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.wansung-badge{color:#0891b2;background:#e0f7fa;border-radius:4px;flex-shrink:0;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.days-badge{color:var(--color-text-tertiary);background:var(--color-bg-secondary,#f2f4f6);font-size:11px;font-weight:600;font-family:var(--font-data);border-radius:4px;padding:2px 6px}.days-badge.old{color:#e8850c;background:#fff8f0}.request-card-receipt{font-family:var(--font-mono);color:var(--color-text-secondary);font-size:13px;font-weight:600}.request-card-tags{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.tag-badge{background:var(--color-bg-secondary,#f2f4f6);color:var(--color-text-tertiary);border-radius:4px;align-items:center;gap:3px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.tag-badge.danger{color:#f04452;background:#fff0f1}.tag-badge.warning{color:#e8850c;background:#fff8f0}.tag-badge.success{color:#00c48c;background:#e8faf5}.request-card-admin-memo{border-radius:var(--radius-sm);color:#a66300;background:#fff8f0;border:1px solid #ffe4b8;align-items:flex-start;gap:6px;margin-top:6px;padding:8px 10px;font-size:12px;line-height:1.4;display:flex}.request-card-admin-memo svg{flex-shrink:0;margin-top:1px}.request-card-status{border-radius:var(--radius-full);align-items:center;gap:4px;padding:3px 12px;font-size:12px;font-weight:600;display:inline-flex}.request-card-status:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px}.card-customer-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.card-customer-info{flex-direction:column;gap:2px;min-width:0;display:flex}.card-customer-name{color:var(--color-text-primary);font-size:17px;font-weight:700}.card-customer-phone{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.card-quick-actions{flex-shrink:0;gap:6px;display:flex}.card-action-btn{border-radius:var(--radius-sm);align-items:center;gap:3px;min-height:32px;padding:5px 10px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.card-action-btn.call{background:var(--color-success);color:#fff}.card-action-btn.map{border:1px solid var(--color-primary);color:var(--color-primary);background:0 0}.card-address{color:var(--color-text-tertiary);align-items:flex-start;gap:4px;margin-bottom:6px;font-size:12px;line-height:1.4;display:flex}.card-address span{word-break:keep-all;overflow-wrap:break-word}.card-detail{color:var(--color-text-secondary);cursor:pointer;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-bottom:6px;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.card-detail.expanded{-webkit-line-clamp:unset;display:block}.card-info-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.card-cost{color:var(--color-text-primary);font-size:13px;font-weight:700}.card-crew-inline{color:var(--color-primary);font-weight:500}.card-meta-chip{color:var(--color-text-tertiary);background:var(--color-bg-secondary,#f2f4f6);border-radius:3px;align-items:center;gap:2px;padding:2px 6px;display:inline-flex}.card-actions-row{border-top:1px solid var(--color-divider,#f2f4f6);gap:6px;margin-top:8px;padding-top:8px;display:flex}.card-action-sm{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;align-items:center;gap:3px;padding:5px 10px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex}.card-action-sm.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.card-action-sm:active{background:var(--color-bg-secondary,#f2f4f6)}.request-card-customer{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);letter-spacing:-.01em;font-size:17px;font-weight:700}.request-card-address{color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm);align-items:center;gap:4px;font-size:13px;display:flex}.request-card-address .address-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.map-link{color:var(--color-primary);border:1px solid var(--color-primary);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none}.map-link:active{background:var(--color-primary-light)}.request-card-detail{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);-webkit-line-clamp:3;cursor:pointer;-webkit-box-orient:vertical;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.request-card-detail.expanded{-webkit-line-clamp:unset;white-space:pre-wrap;display:block;overflow:visible}.detail-toggle{color:var(--color-primary);cursor:pointer;font-size:12px;font-family:var(--font-family);background:0 0;border:none;padding:4px 0;font-weight:500}.quote-detail-section{background:var(--color-bg-page);border:1px solid var(--color-divider);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);padding:12px}.quote-detail-text{color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.6;font-family:var(--font-family);margin:0}.quote-detail-empty{color:var(--color-text-tertiary);text-align:center;margin:0;font-size:13px}.request-card-footer{padding-top:var(--spacing-sm);border-top:1px solid var(--color-divider);justify-content:space-between;align-items:center;display:flex}.request-card-meta{gap:var(--spacing-md);color:var(--color-text-tertiary);font-size:12px;display:flex}.request-card-meta-item{align-items:center;gap:4px;display:flex}.request-card-meta-item svg{width:14px;height:14px}.action-btn{height:44px;padding:0 var(--spacing-lg);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-fast);font-size:14px;font-weight:600;font-family:var(--font-family);border:none;display:flex}.action-btn:active{transform:scale(.97)}.action-btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.action-btn-primary:hover{background:var(--color-primary-hover)}.action-btn-call{background:var(--color-success);color:var(--color-text-inverse)}.request-card-phones{flex-shrink:0;gap:6px;display:flex}.phone-link{border-radius:var(--radius-sm);background:var(--color-success);color:#fff;align-items:center;gap:4px;min-height:36px;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.phone-link:active{opacity:.8}.phone-link-secondary{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.work-time-section{border-top:1px solid var(--color-border);margin-top:10px;padding-top:10px}.work-time-row{gap:8px;display:flex}.work-time-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);height:44px;color:var(--color-text-secondary);cursor:pointer;background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.work-time-btn:active:not(:disabled){background:var(--color-bg)}.work-time-btn.recorded{color:#00c48c;cursor:default;background:#e8faf5;border-color:#00c48c;font-weight:600}.work-time-btn:disabled:not(.recorded){opacity:.3;cursor:not-allowed}.work-time-duration{text-align:center;color:var(--color-primary);margin-top:6px;font-size:12px;font-weight:600;display:block}.action-btn-outline{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.empty-state{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state svg{width:56px;height:56px;color:var(--color-text-disabled);margin-bottom:var(--spacing-md)}.empty-state-title{color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-size:16px;font-weight:600}.empty-state-desc{color:var(--color-text-tertiary);font-size:14px}.loading-overlay{justify-content:center;align-items:center;padding:60px 0;display:flex}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.completion-group-name{flex:1}.crew-select-name{flex:1;font-size:13px}.bottom-nav{background:var(--color-bg);border-top:1px solid var(--color-border);z-index:10;height:64px;padding-bottom:env(safe-area-inset-bottom,0);display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast);font-size:11px;font-weight:500;font-family:var(--font-family);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:44px;display:flex}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-item svg{width:24px;height:24px}.summary-bar{gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.summary-bar::-webkit-scrollbar{display:none}.summary-chip{border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-secondary);flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.summary-chip-count{font-family:var(--font-data);color:var(--color-primary);font-variant-numeric:tabular-nums;font-weight:700}.assign-btn{width:100%;margin-top:var(--spacing-md);border-radius:var(--radius-sm);height:48px;font-size:15px}.schedule-input-section{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-divider)}.schedule-btn{width:100%;height:44px;font-size:14px}.schedule-input-form{gap:var(--spacing-sm);flex-direction:column;display:flex}.schedule-input-row{gap:var(--spacing-sm);display:flex}.schedule-date-input,.schedule-time-input{height:44px;padding:0 var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-bg);flex:1}.schedule-date-input:focus,.schedule-time-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.schedule-input-actions{gap:var(--spacing-sm);display:flex}.tab-badge{background:var(--color-danger);min-width:18px;height:18px;color:var(--color-text-inverse);font-size:11px;font-weight:700;font-family:var(--font-data);border-radius:9px;justify-content:center;align-items:center;margin-left:4px;padding:0 5px;display:inline-flex}.bottom-nav-badge{background:var(--color-danger);min-width:16px;height:16px;color:var(--color-text-inverse);font-size:10px;font-weight:700;font-family:var(--font-data);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;display:flex;position:absolute;top:4px;right:calc(50% - 20px)}.bottom-nav-item{position:relative}.request-card-cost{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);font-size:13px}.request-card-cost strong{color:var(--color-primary);font-family:var(--font-data)}.request-card-schedule-hint{color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm);font-size:12px}.summary-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.summary-chip.active .summary-chip-count{color:#fff;font-weight:800}.summary-chip.highlight:not(.active){background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.summary-chip.highlight:not(.active) .summary-chip-count{color:var(--color-primary);font-weight:800}.voc-category-tabs{padding:var(--spacing-sm) var(--spacing-md);gap:8px;display:flex}.voc-category-tab{border-radius:var(--radius-sm);background:var(--color-bg);border:1.5px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;flex:1;justify-content:center;align-items:center;padding:10px 16px;font-size:15px;font-weight:600;transition:all .15s;display:flex}.voc-category-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.completion-calc-groups{flex-direction:column;gap:6px;display:flex}.completion-group{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.completion-group-header{background:var(--color-bg);width:100%;color:var(--color-text-primary);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;padding:12px 14px;font-size:14px;font-weight:500;display:flex}.completion-group-header.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.completion-group-toggle{text-align:center;width:24px;font-size:18px;font-weight:700}.completion-group-body{border-top:1px solid var(--color-border);padding:8px 14px 12px}.completion-sub-item{padding:6px 0}.completion-sub-item+.completion-sub-item{border-top:1px solid var(--color-border)}.completion-sub-label{cursor:pointer;align-items:center;gap:8px;min-height:36px;font-size:13px;display:flex}.completion-sub-label input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.completion-sub-price{color:var(--color-text-tertiary);margin-left:auto;font-size:12px}.completion-qty-section{padding:8px 0 4px 26px}.completion-qty-row{justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.completion-part-name{color:var(--color-text-secondary);font-size:12px;line-height:1.3}.completion-part-name small{color:var(--color-text-tertiary)}.completion-stepper{border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;gap:0;display:flex;overflow:hidden}.completion-stepper button{background:var(--color-bg);cursor:pointer;width:36px;height:36px;color:var(--color-text-primary);border:none;justify-content:center;align-items:center;font-size:18px;font-weight:600;display:flex}.completion-stepper button:disabled{opacity:.3;cursor:not-allowed}.completion-stepper button:active:not(:disabled){background:var(--color-border)}.completion-stepper span{text-align:center;width:36px;font-size:14px;font-weight:600;font-family:var(--font-data)}.completion-summary{border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border);margin-top:12px;padding:14px}.completion-summary-row{color:var(--color-text-secondary);justify-content:space-between;padding:4px 0;font-size:13px;display:flex}.completion-summary-total{color:var(--color-text-primary);border-top:1px solid var(--color-border);justify-content:space-between;margin-top:6px;padding:8px 0 4px;font-size:15px;font-weight:700;display:flex}.completion-summary-balance{justify-content:space-between;padding:4px 0 0;font-size:13px;display:flex}.request-card-crew{color:var(--color-text-secondary);border-radius:var(--radius-sm);text-align:center;background:#f0f7ff;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:8px 10px;font-size:12px;display:flex}.request-card-crew svg{flex-shrink:0}.crew-schedule-section{border-top:1px solid var(--color-border);margin-top:10px;padding-top:10px}.crew-schedule-label{color:var(--color-text-secondary);align-items:center;gap:4px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.cancel-request-section{border-top:1px solid var(--color-border);margin-top:12px;padding-top:12px}.cancel-request-badge{border-radius:var(--radius-sm);color:#e8850c;background:#fff8f0;border:1px solid #ff9f43;align-items:center;gap:6px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.cancel-request-pending{flex-direction:column;gap:8px;display:flex}.cancel-withdraw-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text-secondary);cursor:pointer;background:0 0;padding:8px;font-size:13px;font-weight:500;transition:all .15s}.cancel-withdraw-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.cancel-withdraw-btn:disabled{opacity:.4;cursor:not-allowed}.cancel-request-btn{border:1px solid var(--color-border);width:100%;color:var(--color-text-secondary);background:0 0;justify-content:center;font-size:13px}.cancel-request-btn:hover{color:#f04452;background:#fff0f1;border-color:#f04452}.cancel-request-form{flex-direction:column;gap:10px;display:flex}.cancel-reason-textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;width:100%;min-height:80px;padding:12px;font-family:inherit;font-size:14px;line-height:1.5}.cancel-reason-textarea:focus{border-color:#f04452;outline:none;box-shadow:0 0 0 2px #f0445226}.action-btn-danger{color:#fff;background:#f04452;border:none}.action-btn-danger:hover{background:#d91f2e}.action-btn-danger:disabled{opacity:.4;cursor:not-allowed}.mypage-section{padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;display:flex}.mypage-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;flex-direction:column;align-items:center;padding:24px;display:flex}.mypage-profile{text-align:left;flex-direction:column;align-items:stretch;gap:8px;padding:16px}.mypage-profile-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.mypage-profile-ident{align-items:center;gap:8px;min-width:0;display:flex}.mypage-profile-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.mypage-profile-phone{color:var(--color-text-secondary);flex-shrink:0;align-items:center;gap:4px;font-size:13px;display:inline-flex}.mypage-regions{scrollbar-width:none;align-items:center;gap:6px;display:flex;overflow-x:auto}.mypage-regions::-webkit-scrollbar{display:none}.mypage-regions-icon{color:var(--color-text-tertiary);flex-shrink:0}.mypage-region-chip{border:1px solid var(--color-border);color:var(--color-text-secondary);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:2px 10px;font-size:12px}.mypage-stats{gap:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-divider);justify-content:center;width:100%;display:flex}.mypage-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.mypage-stat-value{color:var(--color-primary);font-size:24px;font-weight:700;font-family:var(--font-data)}.mypage-stat-label{color:var(--color-text-tertiary);font-size:12px}.action-btn-logout{border:1px solid var(--color-border);width:100%;height:48px;color:var(--color-text-tertiary);background:0 0;font-size:14px}.action-btn-logout:hover{background:var(--color-bg-secondary);color:var(--color-danger);border-color:var(--color-danger)}.mypage-contacts-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px}.mypage-contacts-title{color:var(--color-text-primary);margin-bottom:var(--spacing-md);align-items:center;gap:6px;font-size:15px;font-weight:700;display:flex}.contact-add-row{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);display:flex}.contact-phone-input{height:44px;padding:0 var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-bg);flex:1}.contact-phone-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.contact-error{color:var(--color-danger);margin-bottom:var(--spacing-sm);font-size:13px}.contact-empty{color:var(--color-text-tertiary);text-align:center;padding:var(--spacing-md) 0;font-size:13px}.contact-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.contact-item{background:var(--color-bg-page);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.contact-item-info{align-items:center;gap:var(--spacing-sm);display:flex}.contact-item-name{color:var(--color-text-primary);font-size:14px;font-weight:600}.contact-item-team{color:var(--color-text-tertiary);font-size:11px}.contact-remove-btn{width:32px;height:32px;color:var(--color-text-disabled);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.contact-remove-btn:hover{background:var(--color-danger-light);color:var(--color-danger)}.crew-select-list{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.crew-select-item{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg);height:40px;color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:500;font-family:var(--font-family);transition:all var(--transition-fast);align-items:center;gap:6px;padding:0 14px;display:flex}.crew-select-item:active{transform:scale(.96)}.crew-select-item.selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.crew-select-check{text-align:center;flex-shrink:0;width:14px;font-size:12px;font-weight:700}.crew-select-check:empty{display:none}.crew-empty-hint{color:var(--color-text-tertiary);font-size:13px}.crew-count-hint{color:var(--color-primary);margin-top:4px;font-size:12px;font-weight:600}.complete-btn{background:var(--color-success);width:100%;height:48px;font-size:15px}.complete-btn:hover{background:#00a87a}.complete-report-form{gap:var(--spacing-md);flex-direction:column;display:flex}.complete-report-title{color:var(--color-text-primary);font-size:15px;font-weight:700}.complete-report-field{flex-direction:column;gap:4px;display:flex}.complete-report-label{color:var(--color-text-secondary);font-size:12px;font-weight:600}.complete-report-input-wrap{align-items:center;gap:var(--spacing-sm);display:flex}.complete-report-unit{color:var(--color-text-tertiary);flex-shrink:0;font-size:14px}.complete-report-calc{background:var(--color-bg-page);border-radius:var(--radius-sm);color:var(--color-text-secondary);justify-content:space-between;padding:10px 12px;font-size:13px;display:flex}.complete-report-calc .text-danger{color:var(--color-danger);font-weight:600}.complete-report-calc .text-success{color:var(--color-success);font-weight:600}.complete-report-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-bg);resize:vertical;line-height:1.5}.complete-report-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.complete-report-hint{color:var(--color-text-tertiary);background:var(--color-primary-light);border-radius:var(--radius-sm);padding:8px 12px;font-size:12px}.spin{animation:1s linear infinite spin}@media (width>=768px){.engineer-page{border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);max-width:480px;margin:0 auto}.bottom-nav{max-width:480px;left:50%;transform:translate(-50%)}}.schedule-time-toggle{flex:1;gap:8px;display:flex}.schedule-time-btn{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;flex:1;padding:8px 12px;font-size:13px;font-weight:500;transition:all .15s}.schedule-time-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.mypage-settle-wrapper{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:20px;display:flex}.mypage-section-title{color:#4e5968;align-items:center;gap:6px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.mypage-period-bar{flex-direction:column;gap:8px;font-size:14px;display:flex}.mypage-period-tabs{gap:6px;display:flex}.mypage-period-tab{border:1px solid var(--color-border);background:var(--color-bg);min-height:36px;color:var(--color-text-secondary);cursor:pointer;border-radius:8px;flex:1;padding:0 10px;font-size:13px;font-weight:500}.mypage-period-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.mypage-period-nav{color:var(--color-text-secondary);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.mypage-period-nav-btn{border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.mypage-period-nav-btn:disabled{opacity:.4;cursor:not-allowed}.mypage-date-input{height:40px;color:var(--color-text-primary);background:var(--color-bg);border:1px solid #e5e8eb;border-radius:8px;padding:0 10px;font-size:13px}.mypage-settle-hero{background:linear-gradient(135deg,#e8f3ff 0%,#dcebff 100%);border:1px solid #bfd8ff;border-radius:12px;flex-direction:column;gap:4px;margin-bottom:8px;padding:18px 20px;display:flex}.mypage-settle-hero-label{color:#4e5968;letter-spacing:-.01em;font-size:12px;font-weight:600}.mypage-settle-hero-value{color:#1b64da;font-size:26px;font-weight:700;font-family:var(--font-data,"Inter", "Pretendard");font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.2}.mypage-settle-hero-sub{color:#4e5968;letter-spacing:-.01em;font-size:12px}.mypage-settle-kpi-row{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.mypage-settle-kpi-row-sub{grid-template-columns:repeat(2,1fr)}.mypage-settle-kpi-card{background:#fff;border:1px solid #e5e8eb;border-radius:12px;flex-direction:column;gap:4px;padding:14px;display:flex}.mypage-settle-kpi-label{color:#8b95a1;font-size:12px}.mypage-settle-kpi-value{font-variant-numeric:tabular-nums;color:var(--color-text-primary);font-size:16px;font-weight:700}.mypage-settle-kpi-card.pending .mypage-settle-kpi-value{color:#3182f6}.mypage-settle-kpi-card.done .mypage-settle-kpi-value{color:#00c48c}.mypage-settle-filter-chips{gap:8px;margin:4px 0 0;display:flex}.mypage-settle-filter-chips.is-collapsed{margin-bottom:0}.mypage-settle-chip{border:1px solid var(--color-border);background:var(--color-bg);min-height:36px;color:var(--color-text-secondary);cursor:pointer;border-radius:999px;padding:0 12px;font-size:13px;font-weight:500}.mypage-settle-chip.is-active:not(.is-open){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-bg)}.mypage-settle-chip.is-active.is-open{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.mypage-settle-list{flex-direction:column;gap:6px;display:flex}.mypage-settle-card{background:#fff;border:1px solid #e5e8eb;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.mypage-settle-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.mypage-settle-top-right{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.mypage-settle-receipt{font-family:var(--font-data,monospace);color:#4e5968;font-size:13px;font-weight:600}.settle-card-meta{flex-direction:column;gap:0;display:flex}.settle-card-customer{color:var(--color-text-secondary);font-size:11px}.settle-card-crew{color:var(--color-text-tertiary);align-items:center;gap:3px;margin-top:2px;font-size:11px;display:inline-flex}.settle-card-paid{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px}.settle-card-paid.is-missing{color:var(--color-text-tertiary);font-style:italic}.settle-card-memo{color:#4e5968;background:#f2f4f6;border-radius:6px;align-self:flex-start;align-items:center;gap:3px;margin-top:2px;padding:2px 6px;font-size:11px;display:inline-flex}.mypage-settle-amount{color:#3182f6;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.mypage-settle-badge-settled{color:#00c48c;background:#e8faf5;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.mypage-settle-badge-pending{color:#3182f6;background:#e8f3ff;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.mypage-contacts-card.collapsed{padding-bottom:14px}.mypage-contacts-header{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.mypage-contacts-card.collapsed .mypage-contacts-header,.mypage-contacts-card.collapsed .mypage-contacts-title{margin-bottom:0}.login-page{background:var(--color-bg);min-height:100dvh;padding:var(--spacing-md);justify-content:center;align-items:center;display:flex}.login-container{width:100%;max-width:400px}.login-logo{text-align:center;margin-bottom:var(--spacing-2xl)}.login-logo-img{width:180px;height:auto;margin-bottom:var(--spacing-md)}.login-title{color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:var(--spacing-xs);font-size:24px;font-weight:700}.login-subtitle{color:var(--color-text-tertiary);font-size:14px;font-weight:400}.login-form{gap:var(--spacing-md);flex-direction:column;display:flex}.input-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.input-label{color:var(--color-text-secondary);padding-left:2px;font-size:12px;font-weight:600}.input-field{width:100%;height:48px;padding:0 var(--spacing-md);color:var(--color-text-primary);background:var(--color-bg-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-size:14px;font-family:var(--font-family);border:1.5px solid #0000}.input-field::placeholder{color:var(--color-text-disabled)}.input-field:hover{background:var(--color-bg-tertiary);border-color:var(--color-border)}.input-field:focus{background:var(--color-bg);border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.input-field.error{border-color:var(--color-border-error);background:var(--color-error-light)}.input-field.error:focus{box-shadow:0 0 0 3px #f044521a}.password-wrapper{position:relative}.password-toggle{right:var(--spacing-sm);color:var(--color-text-tertiary);padding:var(--spacing-sm);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.password-toggle:hover{color:var(--color-text-secondary)}.error-message{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-error-light);border-radius:var(--radius-sm);color:var(--color-error);font-size:14px;font-weight:500;animation:.4s shake;display:flex}.error-message svg{flex-shrink:0;width:18px;height:18px}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(2px)}}.login-button{width:100%;height:48px;margin-top:var(--spacing-sm);color:var(--color-text-inverse);background:var(--color-primary);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-size:14px;font-weight:600;font-family:var(--font-family);border:none;position:relative;overflow:hidden}.login-button:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.login-button:active:not(:disabled){box-shadow:none}.login-button:disabled{opacity:.4;cursor:not-allowed}.login-button .spinner{border:2.5px solid #ffffff4d;border-top-color:var(--color-text-inverse);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}.login-footer{margin-top:var(--spacing-2xl);text-align:center}.login-footer-text{color:var(--color-text-tertiary);font-size:13px;line-height:1.6}.login-footer-text strong{color:var(--color-text-secondary);font-weight:500}@media (width<=480px){.login-page{padding:var(--spacing-lg);align-items:flex-start;padding-top:80px}.login-title{font-size:22px}.login-logo{margin-bottom:var(--spacing-xl)}}
