@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{color:#17243a;font-synthesis:none;--navy:#11233d;--blue:#2563eb;--line:#e2e8f0;background:#f3f6fa;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button,a{cursor:pointer}.shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{color:#dce6f5;background:#102139;flex-direction:column;width:250px;padding:28px 18px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 10px 30px;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#2b74ff,#1b4fc0);border-radius:10px;place-items:center;width:36px;height:36px;font:700 20px Manrope;display:grid}.brand strong{color:#fff;font:700 16px Manrope;display:block}.brand small{text-transform:uppercase;letter-spacing:1.3px;color:#8fa3bf;font-size:10px}.sidebar nav{gap:5px;display:grid}.sidebar nav a{color:#aebbd0;border-radius:9px;align-items:center;gap:12px;padding:11px 13px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.sidebar nav a span{font-size:18px}.sidebar nav a.active,.sidebar nav a:hover:not(.disabled){color:#fff;background:#1c3556}.sidebar nav .disabled{opacity:.52;cursor:default}.sidebar nav em{text-transform:uppercase;margin-left:auto;font-size:8px;font-style:normal}.sidebar-user{border-top:1px solid #273a54;align-items:center;gap:10px;margin-top:auto;padding:18px 6px 2px;display:flex}.avatar{background:#2b65c8;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.sidebar-user b,.sidebar-user small{font-size:11px;display:block}.sidebar-user small{color:#8498b5;margin-top:2px}.sidebar-user button{color:#8fa3bf;background:0 0;border:0;margin-left:auto;font-size:18px}.shell main{grid-column:2;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:66px;padding:0 34px;display:flex}.eyebrow{letter-spacing:1.5px;color:#6b7c93;font-size:10px;font-weight:700}.live{color:#567;align-items:center;gap:7px;font-size:11px;display:flex}.live i{background:#22c55e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #dcfce7}.page{padding:32px 36px}.page-header{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.page-header h1{color:#15243a;margin:0;font:800 28px Manrope}.page-header p{color:#718096;margin:5px 0 0;font-size:13px}.primary{color:#fff;background:#205fcf;border:0;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:700;text-decoration:none;box-shadow:0 4px 10px #2563eb22}.stats{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stats article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px;position:relative;box-shadow:0 2px 10px #17243a08}.stats small,.stats em{color:#748399;font-size:11px;font-style:normal;display:block}.stats strong{margin:9px 0 3px;font:800 30px Manrope;display:block}.stat-icon{border-radius:9px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:17px;right:18px}.blue{color:#2563eb;background:#eaf1ff}.amber{color:#d97706;background:#fff4dc}.green{color:#0c9a63;background:#dcf7eb}.red{color:#dc3545;background:#ffe8ea}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;margin-top:20px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #17243a08}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:19px 21px;display:flex}.panel-head h3{margin:0;font:700 14px Manrope}.panel-head p{color:#8190a4;margin:4px 0 0;font-size:11px}.panel-head a{color:#2563eb;font-size:11px;text-decoration:none}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:#8491a3;text-transform:uppercase;letter-spacing:.8px;background:#f8fafc;padding:11px 20px;font-size:9px}td{color:#526175;border-top:1px solid #edf1f6;padding:14px 20px;font-size:12px}td b,td small{display:block}td b{color:#25344b}td small{color:#91a0b2;margin-top:3px;font-size:10px}.status{letter-spacing:.4px;color:#65768c;background:#edf2f7;border-radius:20px;width:max-content;padding:5px 8px;font-weight:800;font-size:8px!important;display:inline-block!important}.status.assigned{color:#a75f00;background:#fff2d9}.status.in_progress{color:#205fcf;background:#e8f0ff}.status.completed{color:#087d51;background:#dff8ed}.status.waiting{color:#b4232e;background:#ffe8e8}.status.cancelled{color:#596778;background:#edf0f4}.focus{padding-bottom:22px}.flow-row{justify-content:space-between;padding:17px 20px 7px;font-size:11px;display:flex}.bar{background:#edf2f7;border-radius:5px;height:5px;margin:0 20px;overflow:hidden}.bar i{background:#2e6cdf;border-radius:5px;height:100%;display:block}.filters{gap:10px;margin-bottom:16px;display:flex}.search{flex:1;max-width:420px;position:relative}.search span{color:#7b899a;position:absolute;top:9px;left:13px}.search input,.filters select{background:#fff;border:1px solid #dbe2ea;border-radius:8px;outline:none;width:100%;height:38px;padding:0 13px;font-size:12px}.search input{padding-left:36px}.filters select{width:190px}.plate{letter-spacing:1px}.cards,.client-grid{grid-template-columns:repeat(3,1fr);gap:16px;padding:20px;display:grid}.vehicle-card,.client-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:18px}.vehicle-top{justify-content:space-between;display:flex}.plate.big{font:800 19px Manrope}.vehicle-card h3{margin:18px 0 8px;font:700 14px Manrope}.vehicle-card p{color:#8897a9;font-size:10px}.vehicle-card>div:last-child{gap:6px;display:flex}.vehicle-card>div:last-child span{background:#f2f5f8;border-radius:5px;padding:5px 8px;font-size:9px}.client-grid{padding:0}.client-card{align-items:center;gap:16px;display:flex}.client-logo{color:#205fcf;background:#e8f0ff;border-radius:12px;place-items:center;width:52px;height:52px;font:800 18px Manrope;display:grid}.client-card h3{margin:8px 0 3px;font:700 15px Manrope}.client-card p,.client-card small{color:#7e8c9d;margin:0;font-size:10px}.empty{text-align:center;color:#8b98aa;padding:32px!important}.alert{color:#a92531;background:#fff0f1;border:1px solid #ffcdd2;border-radius:8px;margin:12px 0;padding:11px 14px;font-size:12px}.login{background:#fff;grid-template-columns:1.08fr .92fr;min-height:100vh;display:grid}.login-art{color:#fff;background:radial-gradient(circle at 75% 25%,#1c4779,#10223c 55%);padding:36px 50px;position:relative;overflow:hidden}.brand.light{padding:0}.art-copy{z-index:1;position:absolute;top:37%;left:11%}.art-copy span{letter-spacing:2px;color:#89a9d3;font-size:10px}.art-copy h1{margin:18px 0;font:800 52px/1.1 Manrope}.art-copy p{color:#afbed1;max-width:410px;font-size:14px;line-height:1.6}.art-grid{border:1px solid #ffffff13;border-radius:50%;width:500px;height:500px;position:absolute;bottom:-160px;right:-180px;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff05}.login-form{place-items:center;padding:40px;display:grid}.login-form form{width:min(360px,100%)}.login-form h2{margin:15px 0 7px;font:800 32px Manrope}.login-form form>p{color:#7d8b9c;margin-bottom:30px;font-size:13px}.login-form label{color:#405169;margin:16px 0;font-size:11px;font-weight:700;display:block}.login-form input{border:1px solid #d5dde7;border-radius:8px;outline:none;width:100%;height:44px;margin-top:7px;padding:0 12px;display:block}.login-form input:focus{border-color:#3b72cf;box-shadow:0 0 0 3px #3b82f622}.full{width:100%;height:44px;margin-top:12px}.privacy{text-align:center;color:#9aa5b3;margin-top:20px;font-size:9px;display:block}@media (width<=950px){.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.cards,.client-grid{grid-template-columns:repeat(2,1fr)}.login{grid-template-columns:1fr}.login-art{display:none}}@media (width<=700px){.shell{display:block}.sidebar{width:auto;height:auto;padding:16px;position:static}.sidebar nav{grid-template-columns:repeat(4,1fr)}.sidebar nav a{justify-content:center;font-size:0}.sidebar nav a span{font-size:20px}.sidebar-user,.sidebar nav .disabled{display:none}.brand{padding-bottom:12px}.shell main{display:block}.topbar{padding:0 18px}.page{padding:22px 16px}.stats,.cards,.client-grid{grid-template-columns:1fr}.page-header{align-items:flex-start}.filters{flex-direction:column}.filters select{width:100%}}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20;background:#0b1729aa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:min(650px,100%);max-height:90vh;overflow:auto;box-shadow:0 30px 80px #06101f66}.modal header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.modal h2{margin:5px 0 0;font:800 21px Manrope}.modal-body{padding:24px}.icon-button{color:#65758a;background:#f1f4f8;border:0;border-radius:50%;width:32px;height:32px;font-size:21px}.form-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}.form-grid label{color:#4b5d73;font-size:10px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{background:#fff;border:1px solid #d6dee8;border-radius:8px;outline:none;width:100%;margin-top:7px;padding:10px;display:block}.form-grid textarea{resize:vertical}.span-2{grid-column:span 2}.form-actions{justify-content:flex-end;gap:9px;padding-top:6px;display:flex}.secondary{color:#42546b;background:#fff;border:1px solid #d5dde7;border-radius:8px;padding:9px 14px;font-size:11px;font-weight:700;text-decoration:none}.danger{color:#b4232e;border-color:#f0b9be}.clickable{cursor:pointer}.clickable:hover td{background:#f7faff}.case-hero{color:#fff;background:linear-gradient(110deg,#142945,#1d3f6b);border-radius:13px;align-items:center;gap:25px;margin-bottom:18px;padding:22px 25px;display:flex}.case-hero h2{letter-spacing:2px;margin:4px 0;font:800 28px Manrope}.case-hero p{color:#aebdd0;margin:0;font-size:12px}.case-hero>.status{margin-left:auto}.state-actions{gap:7px;display:flex}.detail-grid{grid-template-columns:1.5fr 1fr;gap:18px;display:grid}.detail-panel,.timeline{padding:23px}.detail-panel h3,.timeline h3{margin:0 0 18px;font:700 14px Manrope}.detail-panel dl{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:28px;display:grid}.detail-panel dl div{border-bottom:1px solid #edf1f5;padding-bottom:10px}.detail-panel dt{color:#8896a8;text-transform:uppercase;letter-spacing:.6px;font-size:9px}.detail-panel dd{margin:5px 0 0;font-size:12px;font-weight:600}.notes{color:#68778b;font-size:12px}.timeline article{gap:12px;padding:0 0 22px;display:flex;position:relative}.timeline article:not(:last-child):before{content:"";border-left:1px solid #dce3ec;position:absolute;top:10px;bottom:0;left:4px}.timeline article i{z-index:1;background:#2e6cdf;border-radius:50%;width:9px;height:9px;margin-top:3px}.timeline b{font-size:11px}.timeline p,.timeline small{color:#8391a2;margin:4px 0 0;font-size:9px}@media (width<=800px){.form-grid,.detail-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.case-hero{flex-wrap:wrap;align-items:flex-start}.case-hero>.status{margin-left:0}.state-actions{flex-wrap:wrap;width:100%}}.header-actions{gap:8px;display:flex}.wizard-page{padding:28px 34px}.wizard-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.wizard-head h1{letter-spacing:2px;margin:5px 0;font:800 30px Manrope}.wizard-head p{color:#718096;margin:0;font-size:12px}.sync-state{color:#087d51;background:#e2f8ed;border-radius:20px;padding:7px 11px;font-size:10px;font-weight:700}.wizard-progress{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:17px;padding:13px 17px}.wizard-progress>div:first-child{color:#5c6d82;justify-content:space-between;font-size:10px;display:flex}.wizard-progress>div:last-child{background:#e9eef5;border-radius:5px;height:5px;margin-top:9px;overflow:hidden}.wizard-progress i{background:#2563eb;height:100%;display:block}.wizard-layout{grid-template-columns:210px 1fr;gap:17px;display:grid}.wizard-layout aside{flex-direction:column;gap:4px;display:flex}.wizard-layout aside button{text-align:left;color:#68788d;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:8px;font-size:10px;font-weight:600;display:flex}.wizard-layout aside button span{border:1px solid #d8e0ea;border-radius:50%;place-items:center;width:23px;height:23px;font-size:9px;display:grid}.wizard-layout aside button.active{color:#205fcf;background:#eaf1ff}.wizard-layout aside button.active span{color:#fff;background:#2563eb;border-color:#2563eb}.wizard-layout aside button.done span{color:#087d51;background:#dcf7eb;border-color:#b7ead4}.wizard-card{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:480px;padding:27px}.wizard-card h2{margin:7px 0;font:800 22px Manrope}.wizard-card>p{color:#7b899a;margin:0 0 25px;font-size:11px}.wizard-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.wizard-fields label{color:#506076;font-size:10px;font-weight:700}.wizard-fields input,.wizard-fields select,.wizard-fields textarea{background:#fff;border:1px solid #d6dee8;border-radius:8px;width:100%;margin-top:7px;padding:10px;display:block}.wizard-fields .wide,.summary-box{grid-column:1/-1}.summary-box{background:#f6f8fb;border:1px solid #e4eaf1;border-radius:10px;gap:6px;padding:20px;display:grid}.summary-box b{font:700 18px Manrope}.summary-box span,.summary-box small{color:#728197}.wizard-fields fieldset{border:1px solid #dde4ed;border-radius:9px;gap:7px;padding:12px;display:grid}.wizard-fields legend{color:#64758a;font-size:9px;font-weight:800}.wizard-card footer{border-top:1px solid #edf1f5;justify-content:space-between;margin-top:28px;padding-top:18px;display:flex}@media (width<=850px){.wizard-layout{grid-template-columns:1fr}.wizard-layout aside{flex-direction:row;overflow:auto}.wizard-layout aside button{min-width:max-content}.wizard-fields{grid-template-columns:1fr}.wizard-fields .wide,.summary-box{grid-column:auto}.wizard-page{padding:20px 15px}}.evidence-list article,.photo-rule{border:1px solid #e0e7ef;border-radius:9px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px;display:flex}.evidence-list article div,.photo-rule div{gap:3px;display:grid}.evidence-list span,.evidence-list small,.photo-rule small,.photo-rule span{color:#77879a;font-size:9px}.upload-button{display:inline-block;position:relative;overflow:hidden}.upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.signature-block{border:1px solid #dce4ed;border-radius:10px;margin-bottom:12px;padding:15px}.signature-block>div:last-child{align-items:center;gap:7px;margin-top:9px;display:flex}.signature-pad>div{justify-content:space-between;font-size:11px;display:flex}.signature-pad button{color:#2563eb;background:0 0;border:0;font-size:10px}.signature-pad canvas{touch-action:none;background:#fff;border:1px dashed #aebaca;border-radius:8px;width:100%;height:180px;margin-top:9px}.zone-selector{background:#f7f9fb;border:1px solid #dce5ef;border-radius:10px;grid-column:1/-1;gap:10px;padding:14px;display:grid}.zone-label{color:#5a6b80;text-transform:uppercase;letter-spacing:.7px;margin:0;font-size:9px;font-weight:800}.zone-group{flex-direction:column;gap:5px;display:flex}.zone-group-label{color:#8496ae;text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:700}.zone-chips{flex-wrap:wrap;gap:4px;display:flex}.zone-chip{color:#44596e;cursor:pointer;background:#fff;border:1px solid #cdd6e4;border-radius:5px;padding:3px 6px;font-size:10px;font-weight:700;transition:all .12s}.zone-chip:hover{color:#1d4fc0;background:#eaf2ff;border-color:#2563eb}.zone-chip.selected{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 2px 8px #2563eb33}.zone-chip.used{color:#c05a2a;background:#fff8f4;border-style:dashed;border-color:#e8a87c}.zone-chip.used.selected{color:#fff;background:#2563eb}.selected-area-label{color:#2563eb;background:#eaf1ff;border-radius:7px;margin:0;padding:8px 10px;font-size:11px;font-weight:600}.damage-table{border-collapse:collapse;width:100%;font-size:11px}.damage-table th{text-transform:uppercase;letter-spacing:.7px;color:#8096ab;text-align:left;background:#f0f4f8;padding:7px 10px;font-size:8px}.damage-table td{vertical-align:middle;border-top:1px solid #edf1f6;padding:7px 10px}.damage-table td b{color:#25344b;font-size:12px;display:block}.damage-table td small{color:#91a0b2;font-size:9px}.dmg-badge{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:inline-flex}.sev-minor{color:#1b7e3c;background:#e8f5e9}.sev-medium{color:#a25800;background:#fff3e0}.sev-major{color:#b71c1c;background:#ffebee}.sev-replace{color:#283593;background:#e8eaf6}.profile-btn{font-size:16px;text-decoration:none;color:#8fa3bf!important}.no-damages{color:#8a98aa;margin:0;font-size:.82rem}.damage-cards{gap:8px;display:grid}.damage-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;align-items:center;gap:12px;padding:10px 12px;display:flex}.damage-card-area{align-items:center;gap:8px;min-width:160px;display:flex}.damage-card-area b{color:#25344b;font-size:11px;display:block}.damage-card-area small{color:#8fa0b4;font-size:9px}.damage-card-info{color:#4b5d73;flex:1;font-size:11px}.damage-card-info em{color:#8a98aa;font-size:10px;font-style:normal;display:block}.dmg-remove{margin-left:auto;padding:4px 8px!important;font-size:11px!important}.part-selector{gap:6px;display:grid}.part-group-header{text-align:left;color:#374151;cursor:pointer;background:#f9fafb;border:1px solid #d6dee8;border-radius:9px;align-items:center;gap:8px;width:100%;padding:12px 14px;font-size:13px;font-weight:600;transition:background .12s;display:flex}.part-group-header:hover,.part-group-header.open{color:#1d4fc0;background:#eaf1ff;border-color:#93b4f7}.part-group-header span:first-child{flex:1}.part-count{color:#e07d30;font-size:10px}.part-chevron{color:#8fa3bf;font-size:9px}.part-items{gap:4px;padding:4px 0 2px;display:grid}.part-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #e4eaf2;border-radius:8px;align-items:center;gap:8px;width:100%;padding:11px 14px;transition:all .1s;display:flex}.part-item:hover{background:#f0f5ff;border-color:#a8c0f0}.part-item.selected{color:#fff;background:#2563eb;border-color:#2563eb}.part-item.selected .part-code{color:#c7d9ff;background:#1d4fc0}.part-item.used{border-style:dashed;border-color:#e07d30}.part-name{flex:1;font-size:12px;font-weight:500}.part-code{color:#556070;background:#f0f4f9;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:10px;font-weight:700}.part-has-dmg{color:#e07d30;margin-left:auto;font-size:11px}.sig-status-card{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px 18px;display:flex}.sig-status-info{flex-direction:column;gap:5px;display:flex}.sig-status-info b{color:#1e3a6e;font-size:13px}.sig-status-info small{color:#64748b;font-size:11px}.field-info{color:#4b5d73;flex-direction:column;font-size:10px;font-weight:700;display:flex}.field-info span:last-child{color:#25344b;background:#f8fafc;border:1px solid #d6dee8;border-radius:8px;margin-top:7px;padding:10px;font-size:12px;font-weight:400}.client-card[data-v-72a27df0]{align-items:flex-start}.client-main[data-v-72a27df0]{flex:1;min-width:0}.client-health[data-v-72a27df0]{flex-wrap:wrap;gap:5px;margin:12px 0;display:flex}.client-health span[data-v-72a27df0]{color:#087d51;background:#e5f8ef;border-radius:12px;padding:4px 7px;font-size:9px;font-weight:700}.client-health span.missing[data-v-72a27df0]{color:#a75f00;background:#fff2d9}.config-link[data-v-72a27df0]{margin-top:2px;display:inline-block}.choice-field[data-v-94b89b84]{border:0;min-width:0;margin:0;padding:0}.choice-field legend[data-v-94b89b84]{color:#506076;width:100%;margin:0 0 7px;padding:0;font-size:10px;font-weight:700}.choice-options[data-v-94b89b84]{flex-wrap:wrap;gap:7px;display:flex}.choice-option[data-v-94b89b84]{color:#506076;cursor:pointer;background:#fff;border:1px solid #d6dee8;border-radius:8px;flex-direction:row;align-items:center;gap:7px;min-height:38px;padding:8px 11px;font-size:11px;font-weight:600;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.choice-option[data-v-94b89b84]:hover{background:#f7faff;border-color:#93b5ee}.choice-option.selected[data-v-94b89b84]{color:#174fae;background:#eaf1ff;border-color:#2563eb}.choice-option input[data-v-94b89b84]{accent-color:#2563eb;flex:none;height:17px;width:17px!important;margin:0!important;padding:0!important}.signature-pad[data-v-51b713f5]{flex-direction:column;gap:8px;display:flex}.sig-header[data-v-51b713f5]{justify-content:space-between;align-items:center;display:flex}.sig-header b[data-v-51b713f5]{color:#1e3a6e;font-size:13px}.sig-clear[data-v-51b713f5]{color:#b91c1c;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.sig-hint[data-v-51b713f5]{color:#94a3b8;text-align:center;font-size:11px}.sig-canvas[data-v-51b713f5]{touch-action:none;cursor:crosshair;background:0 0;border:2px dashed #cbd5e0;border-radius:10px;width:100%;height:200px;display:block}.sig-confirm[data-v-51b713f5]{color:#fff;cursor:pointer;background:#1e3a6e;border:none;border-radius:8px;width:100%;padding:12px;font-size:14px;font-weight:600}.sig-confirm[data-v-51b713f5]:disabled{color:#94a3b8;cursor:not-allowed;background:#d1dce8}.vmap[data-v-c6c61bf2]{gap:8px;display:grid}.vmap-tabs[data-v-c6c61bf2]{flex-wrap:wrap;gap:5px;display:flex}.vtab[data-v-c6c61bf2]{color:#4b5d73;cursor:pointer;background:#f8fafc;border:1px solid #d1dce8;border-radius:8px;flex:1;min-width:80px;padding:8px 6px;font-size:11px;font-weight:600}.vtab.active[data-v-c6c61bf2]{color:#fff;background:#1e3a6e;border-color:#1e3a6e}.vmap-svg[data-v-c6c61bf2]{touch-action:manipulation;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;height:auto;display:block}.zone[data-v-c6c61bf2]{fill:#0000;stroke:#0000;stroke-width:1.5px;transition:fill .12s,stroke .12s}.zone.idle[data-v-c6c61bf2]:hover{fill:#2563eb40;stroke:#2563eb}.zone.sel[data-v-c6c61bf2]{fill:#2563eb80;stroke:#1d4fc0;stroke-width:2px}.zone.used[data-v-c6c61bf2]{fill:#f59e0b4d;stroke:#d97706;stroke-width:2px;stroke-dasharray:4 2}.zone.used[data-v-c6c61bf2]:hover{fill:#2563eb4d;stroke:#2563eb}.vmap-result[data-v-c6c61bf2]{background:#eaf1ff;border:1px solid #93b4f7;border-radius:9px;align-items:center;gap:10px;padding:10px 14px;display:flex}.vmap-result span[data-v-c6c61bf2]{color:#2563eb;font-size:16px}.vmap-result b[data-v-c6c61bf2]{color:#1e3a6e;font-size:12px;display:block}.vmap-result small[data-v-c6c61bf2]{color:#4a6fa5;font-family:monospace;font-size:10px}.vmap-result button[data-v-c6c61bf2]{color:#b91c1c;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:11px;font-weight:700}.vmap-hint[data-v-c6c61bf2]{text-align:center;color:#94a3b8;margin:0;font-size:11px}.area-search[data-v-c6c61bf2]{position:relative}.area-search-input[data-v-c6c61bf2]{box-sizing:border-box;border:1px solid #d6dee8;border-radius:8px;width:100%;padding:10px 12px;font-size:13px}.area-search-input[data-v-c6c61bf2]:focus{border-color:#2563eb;outline:none}.area-list[data-v-c6c61bf2]{z-index:50;background:#fff;border:1px solid #d6dee8;border-radius:8px;max-height:220px;margin-top:4px;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.area-item[data-v-c6c61bf2]{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f0f4f8;align-items:center;gap:8px;width:100%;padding:9px 12px;font-size:13px;display:flex}.area-item[data-v-c6c61bf2]:hover{background:#f0f9ff}.area-item.selected[data-v-c6c61bf2]{background:#dbeafe}.area-item.used[data-v-c6c61bf2]{background:#fefce8}.area-code[data-v-c6c61bf2]{color:#2563eb;min-width:32px;font-family:monospace;font-size:11px;font-weight:700}.area-name[data-v-c6c61bf2]{color:#1e3a6e;flex:1}.area-used-badge[data-v-c6c61bf2]{color:#d97706;font-size:10px;font-weight:700}.area-empty[data-v-c6c61bf2]{text-align:center;color:#94a3b8;margin:0;padding:12px;font-size:12px}.calib-page[data-v-a97607e2]{max-width:1100px;padding:20px}.calib-header[data-v-a97607e2]{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}h2[data-v-a97607e2]{color:#1e3a6e;margin:0 0 4px}.hint[data-v-a97607e2]{color:#64748b;margin:0;font-size:13px}.save-area[data-v-a97607e2]{align-items:center;gap:10px;display:flex}.save-btn[data-v-a97607e2]{color:#fff;cursor:pointer;background:#1e3a6e;border:0;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600}.save-btn[data-v-a97607e2]:disabled{opacity:.6;cursor:default}.save-msg[data-v-a97607e2]{font-size:13px;font-weight:600}.save-msg.ok[data-v-a97607e2]{color:#16a34a}.save-msg.err[data-v-a97607e2]{color:#dc2626}.tabs[data-v-a97607e2]{gap:6px;margin-bottom:12px;display:flex}.tab[data-v-a97607e2]{color:#4b5d73;cursor:pointer;background:#f8fafc;border:1px solid #d1dce8;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}.tab.active[data-v-a97607e2]{color:#fff;background:#1e3a6e;border-color:#1e3a6e}.calib-body[data-v-a97607e2]{align-items:flex-start;gap:16px;display:flex}.map-wrap[data-v-a97607e2]{flex:1;min-width:0}.calib-svg[data-v-a97607e2]{cursor:crosshair;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;height:auto;display:block}.coords[data-v-a97607e2]{color:#94a3b8;margin-top:4px;font-family:monospace;font-size:11px}.zone-list[data-v-a97607e2]{flex-direction:column;flex-shrink:0;gap:3px;width:190px;max-height:520px;display:flex;overflow-y:auto}.zone-item[data-v-a97607e2]{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:flex}.zone-item.active[data-v-a97607e2]{background:#fef2f2;border-color:#dc2626}.zone-code[data-v-a97607e2]{color:#1e3a6e;min-width:32px;font-weight:700}.zone-pos[data-v-a97607e2]{color:#64748b;flex:1;font-family:monospace;font-size:10px}.r-input[data-v-a97607e2]{text-align:center;border:1px solid #d1dce8;border-radius:4px;width:38px;padding:2px 4px;font-size:10px}.selected-info[data-v-a97607e2]{color:#7f1d1d;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin-top:10px;padding:10px 14px;font-size:13px}.mapper-toolbar[data-v-397db877]{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.version-select[data-v-397db877]{border:1px solid #d6dee8;border-radius:8px;min-width:260px;padding:8px 10px;font-size:13px}.page-nav[data-v-397db877]{color:#1e3a6e;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.legend[data-v-397db877]{flex-wrap:wrap;gap:10px;display:flex}.legend-item[data-v-397db877]{color:#4b5d73;align-items:center;gap:4px;font-size:11px;display:flex}.legend-item i[data-v-397db877]{border-radius:2px;width:14px;height:14px;display:inline-block}.active-template[data-v-397db877]{color:#087d51;background:#e5f8ef;border-radius:14px;padding:6px 9px;font-size:10px;font-weight:700}.config-link[data-v-397db877]{font-size:11px;text-decoration:none}.upload-note[data-v-397db877]{color:#205fcf;background:#eaf1ff;border-radius:7px;margin:0;padding:9px 11px;font-size:11px}.mapper-body[data-v-397db877]{align-items:flex-start;gap:16px;display:flex}.canvas-wrap[data-v-397db877]{-webkit-user-select:none;user-select:none;flex:1;min-width:0;position:relative}.pdf-img[data-v-397db877]{pointer-events:none;border:1px solid #d6dee8;border-radius:6px;width:100%;display:block}.overlay-svg[data-v-397db877]{pointer-events:none;position:absolute;top:0;left:0}.map-box[data-v-397db877]{pointer-events:all;cursor:grab}.no-preview[data-v-397db877]{text-align:center;color:#94a3b8;border:1px dashed #d6dee8;border-radius:8px;padding:60px}.side-panel[data-v-397db877]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;flex-shrink:0;width:300px;max-height:calc(100vh - 180px);padding:0;display:flex;overflow-y:auto}.panel-section[data-v-397db877]{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.panel-section-title[data-v-397db877]{color:#1e3a6e;justify-content:space-between;align-items:center;margin-bottom:2px;font-size:12px;font-weight:700;display:flex}.count-badge[data-v-397db877]{color:#4b5d73;background:#e2e8f0;border-radius:10px;padding:1px 7px;font-size:10px;font-weight:700}.panel-divider[data-v-397db877]{background:#e2e8f0;height:1px}.hint-empty[data-v-397db877]{color:#94a3b8;margin:0;font-size:12px;line-height:1.5}.mapping-list[data-v-397db877]{flex-direction:column;gap:2px;max-height:260px;display:flex;overflow-y:auto}.map-list-item[data-v-397db877]{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:7px;padding:6px 8px;font-size:12px;transition:background .1s;display:flex}.map-list-item[data-v-397db877]:hover{background:#f0f9ff;border-color:#93c5fd}.map-list-item.active[data-v-397db877]{background:#dbeafe;border-color:#2563eb}.type-dot[data-v-397db877]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;font-weight:800;display:flex}.item-label[data-v-397db877]{color:#1e3a6e;flex:1;line-height:1.3}.panel-actions[data-v-397db877]{align-items:center;gap:6px;margin-top:4px;display:flex}.save-ok[data-v-397db877]{color:#16a34a;font-size:12px;font-weight:600}.coord-grid[data-v-397db877]{grid-template-columns:1fr 1fr;gap:6px;display:grid}.transform-section[data-v-397db877]{color:#4b5d73;flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.transform-section textarea[data-v-397db877]{resize:vertical;border:1px solid #d6dee8;border-radius:6px;padding:6px;font-family:monospace;font-size:10px}.checkbox-rule[data-v-397db877]{color:#166534;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:7px;flex-direction:column;gap:6px;padding:9px;font-size:11px;display:flex}.checkbox-rule p[data-v-397db877]{margin:0;font-size:10px;line-height:1.45}.path-label-hint[data-v-397db877]{color:#2563eb;margin-top:2px;font-size:10px;font-weight:600}.catalog-summary[data-v-397db877]{color:#718096;font-size:9px;font-weight:500}.hint-box[data-v-397db877]{color:#78350f;background:#fefce8;border:1px solid #fde68a;border-radius:6px;margin:8px 14px 12px;padding:8px 10px;font-size:11px}label[data-v-397db877]{color:#4b5d73;flex-direction:column;gap:3px;font-size:11px;font-weight:600;display:flex}label input[data-v-397db877],label select[data-v-397db877]{background:#fff;border:1px solid #d6dee8;border-radius:6px;padding:5px 8px;font-size:12px}.path-search-wrap[data-v-397db877]{position:relative}.path-search-wrap input[data-v-397db877]{box-sizing:border-box;width:100%}.path-dropdown[data-v-397db877]{z-index:100;background:#fff;border:1px solid #d6dee8;border-radius:8px;max-height:240px;margin-top:3px;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 4px 18px #00000021}.path-dropdown-head[data-v-397db877]{z-index:1;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:6px 10px;font-size:10px;font-weight:700;position:sticky;top:0}.path-option[data-v-397db877]{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f0f4f8;flex-direction:column;gap:1px;width:100%;padding:7px 10px;display:flex}.path-option[data-v-397db877]:hover{background:#f0f9ff}.path-option.active[data-v-397db877]{background:#dbeafe}.po-label[data-v-397db877]{color:#1e3a6e;font-size:12px;font-weight:600}.po-code[data-v-397db877]{color:#94a3b8;font-family:monospace;font-size:10px}.po-empty[data-v-397db877]{text-align:center;color:#94a3b8;margin:0;padding:10px;font-size:12px}.loading[data-v-7f1e4b1b]{color:#718096;padding:30px}.notice[data-v-7f1e4b1b],.info-banner[data-v-7f1e4b1b]{color:#087d51;background:#e8f7ef;border:1px solid #b8e5cf;border-radius:8px;margin:12px 0;padding:11px 14px;font-size:12px}.info-banner[data-v-7f1e4b1b]{color:#205fcf;background:#eaf1ff;border-color:#cbdcff}.empty-config[data-v-7f1e4b1b]{text-align:center;padding:42px}.empty-config h2[data-v-7f1e4b1b]{margin:10px 0;font:800 21px Manrope}.empty-config p[data-v-7f1e4b1b]{color:#718096;max-width:650px;margin:0 auto 22px;font-size:13px;line-height:1.6}.empty-icon[data-v-7f1e4b1b]{color:#205fcf;background:#eaf1ff;border-radius:15px;place-items:center;width:54px;height:54px;margin:auto;font-size:24px;display:grid}.clone-row[data-v-7f1e4b1b]{justify-content:center;gap:9px;display:flex}.clone-row select[data-v-7f1e4b1b]{background:#fff;border:1px solid #d6dee8;border-radius:8px;min-width:280px;padding:9px 12px}.config-bar[data-v-7f1e4b1b]{color:#fff;background:#152b49;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:17px 20px;display:flex}.config-bar>div[data-v-7f1e4b1b]{align-items:center;gap:10px;display:flex}.config-bar small[data-v-7f1e4b1b]{color:#adbed3;font-size:10px}.config-actions[data-v-7f1e4b1b]{gap:8px;display:flex}.config-panel[data-v-7f1e4b1b]{margin-top:16px}.section-list[data-v-7f1e4b1b],.item-list[data-v-7f1e4b1b]{padding:8px 20px 16px}.section-row[data-v-7f1e4b1b],.item-row[data-v-7f1e4b1b]{border-bottom:1px solid #edf1f6;align-items:center;gap:15px;min-height:52px;font-size:11px;display:flex}.section-row.off[data-v-7f1e4b1b]{opacity:.55}.section-row>div[data-v-7f1e4b1b],.item-row>div[data-v-7f1e4b1b]{flex:1}.section-row b[data-v-7f1e4b1b],.section-row small[data-v-7f1e4b1b],.item-row b[data-v-7f1e4b1b],.item-row small[data-v-7f1e4b1b]{display:block}.section-row small[data-v-7f1e4b1b],.item-row small[data-v-7f1e4b1b]{color:#8a98aa;margin-top:3px;font-size:9px}.order[data-v-7f1e4b1b]{color:#64748b;background:#edf2f7;border-radius:7px;place-items:center;width:24px;height:24px;font-weight:700;display:grid}.check[data-v-7f1e4b1b]{white-space:nowrap;align-items:center;gap:6px;font-size:10px!important;display:flex!important}.check input[data-v-7f1e4b1b]{width:auto!important;margin:0!important}.values[data-v-7f1e4b1b]{color:#738196;text-align:right;max-width:35%;font-size:9px}.minimum[data-v-7f1e4b1b]{align-items:center;gap:5px;font-size:10px;display:flex}.minimum input[data-v-7f1e4b1b]{border:1px solid #d6dee8;border-radius:6px;width:55px;padding:5px}.remove[data-v-7f1e4b1b]{color:#b4232e;background:#fff0f1;border:0;border-radius:7px;width:27px;height:27px;font-size:18px}@media (width<=760px){.clone-row[data-v-7f1e4b1b],.config-bar[data-v-7f1e4b1b],.section-row[data-v-7f1e4b1b],.item-row[data-v-7f1e4b1b]{flex-direction:column;align-items:stretch}.values[data-v-7f1e4b1b]{text-align:left;max-width:none}.config-bar>div[data-v-7f1e4b1b]{flex-wrap:wrap}}
