:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;--blue:#2f6fed;--navy:#101828;--muted:#7d8798;--line:#e6eaf0;--pass:#16a36a;--improve:#e2a40d;--fail:#e34850;--un:#9ba4b3;background:#f5f7fb;font-family:Inter,Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f5f7fb;margin:0}button,input,select,textarea{font:inherit}.app-shell{background:#f7f8fb;max-width:1180px;min-height:100vh;margin:0 auto;box-shadow:0 0 60px #0a16300d}.app-header{border-bottom:1px solid var(--line);z-index:20;background:#fff;align-items:center;gap:14px;height:82px;padding:16px 22px;display:flex;position:sticky;top:0}.app-header h1{flex:1;margin:0;font-size:25px}.icon-button{cursor:pointer;border:0;border-radius:15px;place-items:center;width:50px;height:50px;display:grid}.icon-button.primary{background:var(--blue);color:#fff}.icon-button.ghost{color:#556173;background:#f1f4f8}.profile-chip{border:1px solid var(--line);color:#667085;background:#fff;border-radius:28px;align-items:center;gap:9px;padding:8px 14px;display:flex}.profile-chip span{text-align:left;flex-direction:column;display:flex}.profile-chip small{font-size:10px}.profile-chip strong{color:var(--blue);font-size:14px}.app-main{padding-bottom:95px}.page{padding:18px 22px 34px}.bottom-nav{border-top:1px solid var(--line);z-index:30;width:min(1180px,100%);height:76px;padding-bottom:env(safe-area-inset-bottom);background:#fff;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#9aa4b2;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.bottom-nav button.active{color:var(--blue)}.bottom-nav svg{width:25px;height:25px}.search-box{border:1px solid var(--line);background:#fff;border-radius:20px;align-items:center;gap:10px;padding:10px 12px;display:flex;box-shadow:0 3px 16px #151f320a}.search-box input{background:0 0;border:0;outline:0;flex:1;font-size:16px}.status-dashboard{grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0;display:grid}.status-stat{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:18px;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;display:flex}.status-stat strong{font-size:25px}.status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-weight:800;display:inline-flex}.status-badge.compact{padding:5px 8px;font-size:12px}.status-uninspected{background:#eef1f5;color:#717b8b!important}.status-pass{background:#e5f7ef;color:#0b8152!important}.status-improve{background:#fff3c9;color:#9a6a00!important}.status-fail{background:#ffeaec;color:#c82934!important}.section-title{justify-content:space-between;align-items:center;margin:18px 0 12px;display:flex}.section-title>div{align-items:center;gap:8px;display:flex}.section-title h2{margin:0;font-size:21px}.section-title span{color:var(--muted);font-size:13px}.card-list{flex-direction:column;gap:12px;display:flex}.facility-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:22px;align-items:center;gap:10px;padding:18px;display:flex;box-shadow:0 3px 14px #1622370a}.facility-main{flex:1;min-width:0}.adaptive-title{overflow-wrap:anywhere;word-break:keep-all;white-space:normal;max-width:100%;font-weight:900;line-height:1.22}.adaptive-title-md{font-size:21px}.adaptive-title-sm{font-size:18px}.adaptive-title-xs{font-size:15px}.row-between{justify-content:space-between;align-items:center;display:flex}.gap{gap:10px}.muted-line{color:#6f7a8b;align-items:flex-start;gap:6px;margin:8px 0;font-size:13px;display:flex}.muted-line svg{width:16px;min-width:16px}.facility-meta{color:#667085;flex-wrap:wrap;gap:8px 14px;font-size:13px;display:flex}.facility-meta span{align-items:center;gap:4px;display:flex}.facility-meta svg{width:16px;height:16px}.chevron{color:#a5adba}.detail-page{padding-top:10px}.detail-head{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.hero-card,.content-card{border:1px solid var(--line);background:#fff;border-radius:22px;margin-top:14px;padding:18px;box-shadow:0 3px 15px #0e1a300a}.hero-card>div:first-child{color:#697386;gap:8px;display:flex}.mini-grid{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.mini-grid span{background:#f3f6fa;border-radius:12px;align-items:center;gap:5px;padding:9px 11px;font-weight:700;display:flex}.button-row{flex-wrap:wrap;gap:8px;display:flex}.button{cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:11px 14px;font-weight:800;display:inline-flex}.button.primary{background:var(--blue);color:#fff}.button.secondary{color:#335b9c;background:#edf2fb}.button.warning{color:#936600;background:#fff3c9}.button.danger{color:#bd2833;background:#ffeaec}.button.dark{color:#fff;background:#172033}.button.full{width:100%;margin-top:16px}.segmented{background:#e9edf3;border-radius:14px;margin-top:14px;padding:4px;display:flex;overflow:auto}.segmented button{white-space:nowrap;color:#7a8493;background:0 0;border:0;border-radius:11px;padding:10px 14px;font-weight:800}.segmented button.active{color:#172033;background:#fff;box-shadow:0 2px 8px #0000000f}.info-list{margin:0}.info-list>div{border-bottom:1px solid #f0f2f5;justify-content:space-between;padding:10px 0;display:flex}.info-list dt{color:#7b8594}.info-list dd{margin:0;font-weight:800}.building-row{border:1px solid var(--line);background:#fff;border-radius:18px;justify-content:space-between;align-items:center;padding:15px;display:flex}.building-row>div{grid-template-columns:auto auto;align-items:center;gap:3px 8px;display:grid}.building-row small{color:#7d8796;grid-column:2}.modal-backdrop{z-index:100;background:#0c121d85;place-items:end center;padding:14px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:26px 26px 18px 18px;width:min(620px,100%);max-height:92vh;padding:20px;overflow:auto}.modal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-head h2{margin:0}.issue-banner{border-radius:16px;flex-direction:column;gap:4px;margin:12px 0;padding:14px;display:flex}.issue-banner.improve{color:#8d6303;background:#fff3c9}.issue-banner.fail{color:#b8212b;background:#ffeaec}.issue-banner span{font-size:12px}.field{flex-direction:column;gap:7px;margin:13px 0;font-weight:800;display:flex}.field span{font-size:13px}.field input,.field select,.field textarea,.inline-form input,.route-origin select{background:#fff;border:1px solid #dfe4ea;border-radius:13px;outline:none;padding:12px 13px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2f6fed14}.file-button{color:#46556c;cursor:pointer;background:#f8fafc;border:1px dashed #c8d0dc;border-radius:15px;justify-content:center;align-items:center;gap:8px;padding:14px;display:flex}.file-button input{display:none}.photo-preview-row{gap:8px;display:flex;overflow:auto}.photo-preview-row img{object-fit:cover;border-radius:14px;width:92px;height:92px}.photo-context{color:#6f7b8c;background:#f4f6f9;border-radius:12px;align-items:center;gap:7px;margin:12px 0;padding:10px;font-size:12px;display:flex}.modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.empty-state{text-align:center;color:#9aa3b0;padding:40px 10px}.map-page{padding:0 0 100px}.map-filters{border-bottom:1px solid var(--line);background:#fff;padding:12px 16px}.filter-row{align-items:center;gap:7px;padding:4px 0;display:flex;overflow:auto}.filter-row>span:first-child{color:#8c95a3;min-width:38px;font-size:12px;font-weight:800}.filter-row button{white-space:nowrap;background:#fff;border:1px solid #e0e5eb;border-radius:999px;padding:7px 12px}.filter-row button.active{color:#fff;background:#101828;border-color:#101828}.mock-map{background-color:#0000;background-image:linear-gradient(90deg,#ffffffb3 1px,#0000 1px),linear-gradient(#ffffffb3 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:70px 70px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;height:calc(100vh - 250px);min-height:520px;position:relative;overflow:hidden}.mock-map:before,.mock-map:after{content:"";opacity:.7;background:#b8d6ee;border-radius:50%;position:absolute}.mock-map:before{width:180px;height:700px;top:-100px;left:-80px}.mock-map:after{width:350px;height:90px;bottom:90px;right:-60px;transform:rotate(-18deg)}.map-toolbar{z-index:3;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.map-toolbar span{color:#6c7685;background:#fffffff2;border-radius:12px;padding:9px 11px;font-size:11px}.map-tool{padding:9px 11px}.map-label{z-index:2;color:#687386;white-space:nowrap;background:#ffffffe0;border-radius:12px;gap:5px;padding:8px 10px;font-size:11px;display:flex;position:absolute;top:68px;left:50%;transform:translate(-50%)}.map-marker{z-index:2;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}.map-marker svg{fill:currentColor;stroke:#fff;stroke-width:1.5px;filter:drop-shadow(0 3px 4px #00000029);width:38px;height:38px}.map-marker small{overflow-wrap:anywhere;background:#fff;border-radius:8px;max-width:120px;padding:3px 5px;font-size:10px;font-weight:800}.map-sheet{border:1px solid var(--line);z-index:25;background:#fff;border-radius:24px 24px 12px 12px;width:min(720px,100% - 18px);padding:18px;position:fixed;bottom:78px;left:50%;transform:translate(-50%);box-shadow:0 -12px 40px #10182824}.quick-status{grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0;display:grid}.quick-status button{border:0;border-radius:12px;padding:11px;font-weight:800}.quick-status .pass{color:#0b8152;background:#e5f7ef}.quick-status .improve{color:#8b6204;background:#fff3c9}.quick-status .fail{color:#b82731;background:#ffeaec}.route-page{max-width:780px;margin:auto}.route-origin{margin-top:0}.hint{color:#7d8796;font-size:13px}.origin-box{background:#f4f7fb;border-radius:15px;align-items:center;gap:10px;margin:12px 0;padding:13px;display:flex}.origin-box div{flex-direction:column;display:flex}.origin-box small{color:#8a93a1}.route-summary{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0;display:grid}.route-summary>div{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px}.route-summary span{color:#7b8594;align-items:center;gap:4px;font-size:11px;display:flex}.route-summary strong{margin-top:6px;font-size:18px;display:block}.route-timeline{flex-direction:column;display:flex}.route-stop{grid-template-columns:38px 1fr;gap:10px;padding-bottom:12px;display:grid;position:relative}.route-stop:not(:last-child):before{content:"";background:#dce3ee;width:2px;position:absolute;top:38px;bottom:0;left:18px}.route-index{background:var(--blue);color:#fff;z-index:1;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.route-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px}.route-card p{color:#7a8494;margin:5px 0}.schedule-row{border-top:1px solid #edf0f3;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:13px 0;display:grid}.schedule-row small{color:#7d8796;align-items:center;gap:4px;margin-top:4px;display:flex}.content-card h3{align-items:center;gap:7px;margin-top:0;display:flex}.oi-hero{color:#fff;background:linear-gradient(135deg,#1f65ed,#6a87ff);border-radius:26px;padding:22px;box-shadow:0 12px 28px #2f6fed38}.oi-hero h2{margin:8px 0 18px;font-size:25px}.oi-big-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.oi-big-grid>div{background:#ffffff24;border:1px solid #fff3;border-radius:18px;flex-direction:column;gap:6px;padding:15px;display:flex}.oi-big-grid strong{font-size:20px}.oi-big-grid span{opacity:.85;font-size:12px}.metric-list>div{border-top:1px solid #eef1f4;justify-content:space-between;align-items:center;padding:13px 0;display:flex}.metric-list span{color:#697386;align-items:center;gap:7px;display:flex}.settings-grid{grid-template-columns:repeat(2,1fr);gap:0 12px;display:grid}.settings-overlay{z-index:80;background:#0b111c66;justify-content:flex-end;display:flex;position:fixed;inset:0}.settings-panel{background:#f6f8fb;width:min(560px,100%);height:100%;padding:18px;overflow:auto}.chip-list{flex-wrap:wrap;gap:7px;display:flex}.editable-chip{background:#eef2f7;border-radius:999px;align-items:center;gap:4px;padding:7px 8px 7px 12px;font-weight:800;display:flex}.editable-chip button{color:#7e8795;background:0 0;border:0}.inline-form{gap:8px;margin-top:12px;display:flex}.inline-form input{flex:1}.inline-field{grid-template-columns:1fr 160px auto;align-items:center;display:grid}.inline-field em{color:#7d8796;font-size:12px;font-style:normal}.security-note{color:#315b9e;background:#edf4ff;border-radius:13px;gap:7px;padding:11px;font-size:12px;display:flex}.check-row{align-items:center;gap:9px;padding:10px 0;display:flex}.danger-zone{border-color:#ffd2d6}.danger-zone p{color:#737d8d;font-size:13px}@media (width<=720px){.app-header{height:72px;padding:12px 14px}.app-header h1{font-size:21px}.profile-chip span{display:none}.profile-chip{justify-content:center;width:50px;height:50px;padding:0}.page{padding:14px 14px 28px}.status-dashboard{grid-template-columns:repeat(2,1fr)}.status-stat{padding:12px}.facility-card{padding:15px}.adaptive-title-md{font-size:19px}.adaptive-title-sm{font-size:17px}.adaptive-title-xs{font-size:14px}.route-summary,.oi-big-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.inline-field{grid-template-columns:1fr 130px auto}.map-sheet .button-row .button{flex:1;padding:10px 7px;font-size:12px}.hero-card .button-row .button{flex:1;font-size:12px}.modal-actions .button{flex:1}.map-marker small{max-width:78px}.section-title h2{font-size:19px}}@media (width>=900px){.app-main{padding-bottom:36px}.bottom-nav{border-top:0;border-bottom:1px solid var(--line);order:-1;width:100%;max-width:none;height:64px;position:sticky;top:82px;bottom:auto;left:auto;transform:none}.bottom-nav button{flex-direction:row}.app-shell{flex-direction:column;display:flex}.app-main{order:2}.bottom-nav{order:1}.app-header{order:0}.page{padding:24px 34px}.facility-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px #16223714}}.page-with-fab{position:relative}.floating-action{color:#fff;z-index:28;cursor:pointer;background:#101828;border:0;border-radius:50%;place-items:center;width:62px;height:62px;display:grid;position:fixed;bottom:94px;right:max(24px,50vw - 560px);box-shadow:0 12px 28px #10182847}.floating-action svg{width:30px;height:30px}.building-actions{align-items:center;gap:8px;display:flex}.icon-button.tiny{border-radius:11px;width:36px;height:36px}.icon-button.tiny svg{width:17px;height:17px}.modal-card.wide{width:min(820px,100%)}.storage-mini-note{color:#7a8494;background:#f6f8fb;border:1px solid #e7ebf1;border-radius:12px;margin-top:10px;padding:9px 11px;font-size:11px}.storage-overview>div{background:#f5f7fb;border:1px solid #e7ebf1;border-radius:15px;flex-direction:column;gap:5px;padding:12px;display:flex}.storage-overview strong{font-size:18px}.field small{font-weight:500}.content-card h4{margin:18px 0 8px}@media (width<=720px){.floating-action{bottom:92px;right:18px}.storage-overview{grid-template-columns:1fr}.building-actions{gap:4px}.modal-card.wide{width:100%}}.sync-status{z-index:31;border:0;border-bottom:1px solid var(--line);cursor:pointer;justify-content:center;align-items:center;gap:7px;width:100%;padding:8px 14px;font-size:12px;font-weight:850;display:flex;position:sticky;top:0}.sync-status svg{width:16px;height:16px}.sync-status small{opacity:.8;font-weight:700}.sync-status.ok{color:#087a4c;background:#ebfaf3}.sync-status.pending{color:#7e5b00;background:#fff7d6}.sync-status.offline{color:#667085;background:#f0f2f5}.spin{animation:1s linear infinite gRouteSpin}@keyframes gRouteSpin{to{transform:rotate(360deg)}}.sync-queue-card{background:#f6f8fb;border:1px solid #e2e7ef;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;padding:13px;display:flex}.sync-queue-card strong{font-size:22px}.sync-queue-card span{color:#7b8492;font-size:11px}.issue-history-card{overflow:hidden}.issue-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.issue-title-row h3{margin:12px 0 8px}.action-chip{white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}.action-chip.open{color:#687386;background:#eef1f5}.action-chip.in_progress{color:#2a63bd;background:#edf4ff}.action-chip.resolved{color:#087c4c;background:#e7f8ef}.action-chip.verified{color:#06633e;background:#dcf8ec}.issue-photo-compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.photo-column{min-width:0}.photo-column>strong{color:#667085;margin-bottom:7px;font-size:12px;display:block}.issue-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.issue-photo-grid a{aspect-ratio:1;background:#eef1f5;border-radius:13px;display:block;position:relative;overflow:hidden}.issue-photo-grid img{object-fit:cover;width:100%;height:100%;display:block}.issue-photo-grid small{color:#fff;background:#101828bf;border-radius:999px;padding:3px 6px;font-size:9px;position:absolute;bottom:5px;left:5px}.photo-slot-empty,.photo-gallery-empty,.photo-gallery-loading{color:#98a1af;background:#fafbfc;border:1px dashed #d6dce5;border-radius:13px;justify-content:center;align-items:center;gap:6px;min-height:88px;font-size:11px;display:flex}.photo-gallery-empty svg,.photo-gallery-loading svg{width:17px}.resolution-note{color:#355c49;background:#f2f8f5;border-radius:13px;gap:8px;margin:10px 0;padding:11px;display:flex}.resolution-note svg{width:18px;min-width:18px}.resolution-note span{flex-direction:column;gap:3px;font-size:12px;display:flex}.issue-actions{margin-top:10px}.issue-banner.pass{color:#087a4c;background:#e8f8ef}@media (width<=720px){.sync-status{padding:7px 10px}.sync-status small{display:none}.sync-queue-card{flex-direction:column;align-items:stretch}.sync-queue-card .button-row .button{flex:1}.issue-photo-compare{grid-template-columns:1fr}.issue-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.header-home-button{border:1px solid var(--line);color:#315b9e;cursor:pointer;white-space:nowrap;background:#f5f8fd;border-radius:14px;align-items:center;gap:7px;padding:10px 13px;font-weight:900;display:inline-flex}.header-home-button svg{width:19px;height:19px}.file-selection-note{color:#315b9e;background:#edf4ff;border-radius:11px;margin-top:8px;padding:9px 11px;font-size:12px}.save-error-box{color:#a5222c;background:#fff0f1;border:1px solid #ffd0d5;border-radius:13px;align-items:flex-start;gap:9px;margin:12px 0;padding:11px;display:flex}.save-error-box svg{flex:none}.save-error-box span{flex-direction:column;gap:3px;display:flex}.save-error-box small{color:#8f5960;font-size:11px}.app-toast{z-index:200;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:min(560px,100% - 28px);padding:13px 15px;font-weight:800;display:grid;position:fixed;bottom:92px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #1018282e}.app-toast.success{color:#08754a;background:#e8f8f0;border:1px solid #bfe9d5}.app-toast.error{color:#a5222c;background:#fff0f1;border:1px solid #ffd0d5}.app-toast.info{color:#315b9e;background:#edf4ff;border:1px solid #cedeff}.app-toast svg{width:21px;height:21px}.app-toast button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.app-toast button svg{width:18px;height:18px}@media (width<=640px){.header-home-button span{display:none}.header-home-button{justify-content:center;width:44px;height:44px;padding:10px}.app-header h1{font-size:21px}.profile-chip{padding:7px 9px}.profile-chip small{display:none}}@media (width>=900px){.app-toast{bottom:28px}.bottom-nav button:first-child{background:#fbfcfe}.bottom-nav button:first-child.active{background:#edf4ff}}.map-marker{isolation:isolate;transition:left .2s,top .2s,transform .16s}.map-marker:hover,.map-marker.selected{z-index:12;transform:translate(-50%,-50%)scale(1.08)}.map-marker.selected small{box-shadow:0 0 0 2px #2f6fed38,0 5px 14px #10182824}.marker-stack-index{color:#fff;background:#172033;border:2px solid #fff;border-radius:999px;place-items:center;min-width:28px;height:22px;padding:0 5px;font-size:9px;font-weight:900;display:grid;position:absolute;top:-7px;right:-8px;box-shadow:0 2px 7px #0000002e}.overlap-picker{border:1px solid var(--line);background:#f7f9fc;border-radius:14px;margin:10px 0;padding:10px}.overlap-picker>span{color:#7b8492;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.overlap-picker>div{gap:6px;padding-bottom:2px;display:flex;overflow:auto}.overlap-picker button{white-space:nowrap;color:#596579;cursor:pointer;background:#fff;border:1px solid #dce2ea;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.overlap-picker button.active{color:#fff;background:#172033;border-color:#172033}.map-status-actions{flex-wrap:wrap;gap:6px;margin:11px 0;display:flex}.map-status-actions button{cursor:pointer;opacity:.82;border:1px solid #0000;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850}.map-status-actions button.active{opacity:1;box-shadow:0 0 0 2px #10182814}.map-status-actions .uninspected{color:#6f7887;background:#eef1f5}.map-status-actions .pass{color:#0b8152;background:#e5f7ef}.map-status-actions .improve{color:#8b6204;background:#fff3c9}.map-status-actions .fail{color:#b82731;background:#ffeaec}.map-sheet-actions .button{border-radius:11px;padding:9px 11px;font-size:12px}.facility-primary-actions{align-items:center}.facility-primary-actions .compact-action{padding:9px 11px;font-size:12px}.inspection-banner{color:#315b9e;background:#eef4ff;border-radius:16px;align-items:flex-start;gap:10px;margin:12px 0;padding:14px;display:flex}.inspection-banner>svg{flex:none;margin-top:2px}.inspection-banner div{flex-direction:column;gap:3px;display:flex}.inspection-banner span{color:#61769a;font-size:12px}.inspection-form-grid .field span{align-items:center;gap:5px;display:flex}.inspection-result-selector{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.inspection-result-selector button{cursor:pointer;opacity:.7;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:11px 8px;font-weight:900;display:flex}.inspection-result-selector button.selected{opacity:1;transform:translateY(-1px);box-shadow:0 0 0 3px #1018280f}.inspection-result-selector .pass{color:#0b8152;background:#e5f7ef}.inspection-result-selector .improve{color:#8b6204;background:#fff3c9}.inspection-result-selector .fail{color:#b82731;background:#ffeaec}.inspection-history-card{margin-top:0}.inspection-name{font-size:17px}.inspection-subline{color:#7d8796;margin-top:4px;font-size:12px}.inspection-history-meta{color:#7b8492;flex-wrap:wrap;gap:8px 14px;margin:11px 0;font-size:12px;display:flex}.inspection-history-meta span{background:#f4f6f9;border-radius:999px;padding:5px 8px}.inspection-photo-grid{gap:8px;margin-top:10px;display:flex;overflow:auto}.inspection-photo-grid a{flex:none}.inspection-photo-grid img{object-fit:cover;border:1px solid var(--line);border-radius:12px;width:104px;height:88px}.photo-gallery-empty.compact{padding:10px 0;font-size:12px}.empty-state>svg{margin:0 auto 10px;display:block}.empty-state .button{margin-top:14px}.settings-overlay.settings-overlay-full{background:#0b111c75;justify-content:center;padding:18px}.settings-workspace{background:#f6f8fb;border-radius:26px;width:min(1180px,100%);height:min(900px,100vh - 36px);padding:0;overflow:hidden;box-shadow:0 24px 70px #0a13243d}.settings-topbar{border-bottom:1px solid var(--line);background:#fff;height:82px;padding:16px 20px}.settings-topbar>div{flex-direction:column;gap:1px;display:flex}.settings-topbar small{color:var(--blue);font-size:11px;font-weight:900}.settings-topbar h2{font-size:21px}.settings-workspace-body{grid-template-columns:270px minmax(0,1fr);height:calc(100% - 82px);display:grid;overflow:hidden}.settings-menu-grid{border-right:1px solid var(--line);background:#f2f5f9;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;padding:18px;display:grid;overflow:auto}.settings-menu-grid button{text-align:left;color:#536074;cursor:pointer;background:#fff;border:1px solid #dde3eb;border-radius:18px;flex-direction:column;gap:5px;min-height:112px;padding:14px;transition:all .15s;display:flex}.settings-menu-grid button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #14233a0f}.settings-menu-grid button.active{color:#fff;background:#172033;border-color:#172033;box-shadow:0 9px 20px #17203329}.settings-menu-grid button svg{width:25px;height:25px;margin-bottom:7px}.settings-menu-grid button strong{font-size:15px}.settings-menu-grid button span{opacity:.7;font-size:10px;line-height:1.35}.settings-detail-pane{padding:20px 24px 36px;overflow:auto}.settings-detail-pane>.content-card:first-of-type{margin-top:10px}.settings-detail-title{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.settings-detail-title small{color:var(--blue);font-size:11px;font-weight:900}.settings-detail-title h2{align-items:center;gap:8px;margin:4px 0 0;font-size:24px;display:flex}.settings-detail-title h2 svg{width:25px;height:25px}.settings-detail-pane .content-card{max-width:820px}.settings-detail-pane .content-card+.content-card{margin-top:14px}.storage-overview{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0;display:grid}.storage-overview>div{background:#f4f7fb;border-radius:14px;flex-direction:column;gap:4px;padding:12px;display:flex}.storage-overview span{color:#7b8594;font-size:11px}.sync-queue-card{background:#f4f7fb;border-radius:15px;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:12px;display:flex}.sync-queue-card>div:first-child{flex-direction:column;display:flex}.cloud-status-line{color:#6c7788;margin:9px 0;font-size:12px}@media (width<=900px){.settings-workspace{height:calc(100vh - 18px)}.settings-workspace-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.settings-menu-grid{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(115px,1fr));gap:8px;padding:12px;display:grid;overflow:auto hidden}.settings-menu-grid button{min-height:82px;padding:10px}.settings-menu-grid button svg{width:20px;height:20px;margin-bottom:2px}.settings-menu-grid button strong{font-size:13px}.settings-menu-grid button span{font-size:9px}.settings-detail-pane{padding:16px}}@media (width<=720px){.settings-overlay.settings-overlay-full{padding:0}.settings-workspace{border-radius:0;height:100vh}.settings-topbar{height:72px}.settings-workspace-body{height:calc(100% - 72px)}.settings-menu-grid{grid-template-columns:repeat(4,105px)}.settings-menu-grid button{min-height:78px}.settings-detail-title h2{font-size:21px}.storage-overview,.inspection-result-selector{grid-template-columns:1fr}.inspection-result-selector button{padding:10px}.map-status-actions{gap:5px}.map-status-actions button{padding:7px 9px;font-size:11px}.map-sheet-actions .button{flex:calc(50% - 5px)}}.issue-photo-thumb{min-width:0;position:relative}.issue-photo-thumb>a{aspect-ratio:1;background:#eef1f5;border-radius:13px;display:block;position:relative;overflow:hidden}.issue-photo-thumb>a img{object-fit:cover;width:100%;height:100%;display:block}.photo-delete-button{color:#fff;cursor:pointer;z-index:3;background:#111827d1;border:0;border-radius:999px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:6px;right:6px;box-shadow:0 3px 10px #0000002e}.photo-delete-button:hover{background:#c82934}.photo-delete-button:disabled{opacity:.65;cursor:wait}.photo-delete-button svg{width:16px;height:16px}.issue-auxiliary-label{color:#315b9e;background:#eef4ff;border-radius:999px;align-items:center;margin:2px 0 8px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.inspection-rule-note{color:#345b99;background:#f0f6ff;border:1px solid #dbe8ff;border-radius:14px;align-items:flex-start;gap:9px;margin:12px 0;padding:12px;font-size:12px;line-height:1.5;display:flex}.inspection-rule-note svg{width:19px;min-width:19px;height:19px;margin-top:1px}.inspection-rule-note strong{color:#214a8a;margin-bottom:2px;display:block}.staff-settings-list{flex-direction:column;gap:12px;display:flex}.staff-settings-card{border:1px solid var(--line);background:#f9fbfd;border-radius:17px;padding:14px}.staff-settings-card>.row-between{margin-bottom:4px}.compact-check{padding:6px 0}.vehicle-setting-row{border-top:1px solid #edf0f3;grid-template-columns:1.4fr 1fr 1fr;gap:12px;padding-top:8px;display:grid}.auto-save-label{color:#778294;align-items:center;gap:6px;padding:10px;font-size:12px;display:inline-flex}.settings-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-menu-grid button{min-height:104px}.settings-detail-pane{scrollbar-gutter:stable}.settings-detail-pane .content-card:first-of-type{margin-top:6px}@media (width<=900px){.vehicle-setting-row{grid-template-columns:1fr}.settings-menu-grid{grid-template-columns:repeat(3,minmax(115px,1fr))}}@media (width<=720px){.settings-menu-grid{grid-template-columns:repeat(3,105px)}.staff-settings-card .settings-grid{grid-template-columns:1fr}.inspection-rule-note{font-size:11px}.photo-delete-button{width:32px;height:32px}}.auxiliary-summary-card{justify-content:space-between;align-items:center;gap:14px;display:flex}.auxiliary-summary-card>div{align-items:center;gap:10px;display:flex}.auxiliary-summary-card>div>span{flex-direction:column;gap:3px;display:flex}.auxiliary-summary-card small{color:#7a8595;font-size:12px}.auxiliary-asset-card{margin-top:0}.auxiliary-asset-title{align-items:flex-start;gap:10px;display:flex}.auxiliary-asset-title>svg{color:#2f6fed;width:21px;height:21px;margin-top:1px}.auxiliary-asset-title>div{flex-direction:column;gap:3px;display:flex}.auxiliary-asset-title strong{font-size:17px}.auxiliary-asset-title span{color:#7a8595;font-size:12px}.auxiliary-asset-meta{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.auxiliary-asset-meta span{color:#657184;background:#f3f6fa;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:750}.segmented{scrollbar-width:none;overflow-x:auto}.segmented::-webkit-scrollbar{display:none}.segmented button{min-width:max-content}@media (width<=720px){.auxiliary-summary-card{flex-direction:column;align-items:stretch}.auxiliary-summary-card .button{width:100%}.auxiliary-asset-card .button-row .button{flex:calc(50% - 5px)}}.full-span{grid-column:1/-1}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sub-setting-block{background:#f8fafc;border:1px solid #e5eaf1;border-radius:16px;margin:16px 0 2px;padding:14px}.sub-setting-block h4{margin:0 0 8px}.building-register-guide,.building-register-preview{margin-top:12px}.building-register-list{flex-direction:column;gap:8px;margin:12px 0;display:flex}.building-register-row{background:#fbfcfe;border:1px solid #e7ebf1;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.building-register-row>div{flex-direction:column;gap:3px;display:flex}.building-register-row span,.building-register-row small{color:#7a8594;font-size:12px}.status-chip.neutral{color:#667085;background:#eef1f5;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.schedule-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.summary-card{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;padding:14px;display:grid}.summary-card svg{grid-row:1/3;width:24px;height:24px}.summary-card strong{font-size:24px}.summary-card span{color:#6f7a8b;font-size:12px}.summary-card.warning{background:#fff8df}.summary-card.warning svg{color:#c48900}.summary-card.danger{background:#fff0f1}.summary-card.danger svg{color:#d63b45}.summary-card.success{background:#eaf8f1}.summary-card.success svg{color:#13895c}.schedule-rule-card{margin-top:12px}.schedule-filter-row{align-items:center;gap:7px;margin-top:12px;display:flex;overflow:auto}.schedule-filter-row>span{color:#7d8796;margin-right:2px;font-size:12px;font-weight:800}.schedule-filter-row button{white-space:nowrap;color:#667085;background:#fff;border:1px solid #dfe5ec;border-radius:999px;padding:7px 11px;font-weight:800}.schedule-filter-row button.active{color:#fff;background:#172033;border-color:#172033}.danger-note{color:#a72d34;background:#fff2f2;border-color:#ffd4d7}.danger-note strong{color:#a72d34}.schedule-month-card{margin-top:0;padding:0;overflow:hidden}.schedule-month-header{text-align:left;cursor:pointer;background:#fff;border:0;grid-template-columns:1fr auto auto;align-items:center;gap:12px;width:100%;padding:16px 18px;display:grid}.schedule-month-header>div{align-items:center;gap:9px;display:flex}.schedule-month-header span{color:#6f7a8b;font-size:12px;font-weight:800}.schedule-month-header svg:last-child{transition:all .18s}.schedule-month-header svg.rotate{transform:rotate(180deg)}.schedule-target-list{border-top:1px solid #eef1f5}.schedule-target-row{border-bottom:1px solid #f0f2f5;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 18px;display:grid}.schedule-target-row:last-child{border-bottom:0}.schedule-target-row.issue{background:#fffdf5}.schedule-target-row.missing{background:#fff7f7}.schedule-target-main small{color:#7b8594;align-items:center;gap:5px;margin-top:5px;display:flex}.schedule-target-main p{color:#7b8594;margin:7px 0 0;font-size:12px}.target-state-chip{border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.target-state-chip.pending{color:#667085;background:#eef1f5}.target-state-chip.completed{color:#0b8152;background:#e5f7ef}.target-state-chip.issue{color:#946600;background:#fff3c9}.target-state-chip.missing{color:#bd2833;background:#ffeaec}@media (width<=720px){.compact-grid{grid-template-columns:1fr}.schedule-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-month-header{grid-template-columns:1fr auto auto;padding:14px}.schedule-target-row{padding:13px 14px}.building-register-row{flex-direction:column;align-items:flex-start}.full-span{grid-column:auto}}.register-autofill-strip,.address-auto-match-card{background:#f6f9ff;border:1px solid #dfe7f3;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:12px 14px;display:flex}.register-autofill-strip>div,.address-auto-match-card>div{align-items:flex-start;gap:9px;display:flex}.register-autofill-strip>div>span,.address-auto-match-card>div{min-width:0}.register-autofill-strip span{flex-direction:column;gap:2px;display:flex}.register-autofill-strip small,.address-auto-match-card span{color:#748096;font-size:11px;line-height:1.4}.register-autofill-strip svg{color:#2f6fed;min-width:20px}.address-auto-match-card>div{flex-direction:column}.address-auto-match-card strong{font-size:13px}.address-auto-match-card span{overflow-wrap:anywhere}@media (width<=720px){.register-autofill-strip,.address-auto-match-card{flex-direction:column;align-items:stretch}.register-autofill-strip .button,.address-auto-match-card .button{width:100%}}.completion-filter-row,.route-filter-row{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.completion-filter-row button,.route-filter-row button,.status-filter-button{border:1px solid var(--line,#e3e8ef);color:#64748b;cursor:pointer;background:#fff;border-radius:999px;min-height:38px;padding:7px 14px;font-weight:700}.completion-filter-row button.active,.route-filter-row button.active,.status-filter-button.active{color:#111827;background:#eef4ff;border-color:#9bbcff;box-shadow:inset 0 0 0 1px #2f6df614}.status-filter-button{padding:4px 8px}.status-filter-button:not(.active){opacity:.42}.apartment-quick-add{background:linear-gradient(#f8fbff 0%,#fff 100%);border:1px solid #d9e7ff;margin-bottom:16px}.apartment-quick-add h3,.region-code-finder strong{align-items:center;gap:8px;display:flex}.apartment-search-results,.address-code-results{gap:8px;max-height:310px;margin-top:12px;display:grid;overflow:auto}.apartment-search-result,.address-code-results button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5eaf1;border-radius:14px;align-items:flex-start;gap:10px;width:100%;padding:12px 14px;display:flex}.apartment-search-result:hover,.address-code-results button:hover{background:#f7faff;border-color:#7da7ff}.apartment-search-result>span,.address-code-results button>span{flex:1;gap:4px;min-width:0;display:grid}.apartment-search-result strong,.address-code-results strong{font-size:15px;line-height:1.35}.apartment-search-result small,.address-code-results small,.address-code-results em{color:#718096;font-size:12px;font-style:normal;line-height:1.4}.apartment-search-result small{align-items:center;gap:4px;display:flex}.manual-divider{color:#94a3b8;align-items:center;gap:12px;margin:18px 0 2px;font-size:12px;display:flex}.manual-divider:before,.manual-divider:after{content:"";background:#e7ebf0;flex:1;height:1px}.region-code-finder{background:#f7f9fc;border:1px solid #e5eaf1;border-radius:16px;margin:14px 0;padding:14px}.region-code-finder small{color:#7b8798;margin-top:4px;display:block}.dynamic-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.dynamic-field-grid.compact{border-top:1px solid #edf0f4;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;padding-top:14px}.dynamic-field.calculated input{color:#1e40af;background:#eef5ff;font-weight:800}.dynamic-rule-builder{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;margin:12px 0;padding:14px}.dynamic-definition-list{gap:10px;display:grid}.dynamic-definition-row{background:#fff;border:1px solid #e6eaf0;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.dynamic-definition-row>div{gap:4px;display:grid}.dynamic-definition-row span,.dynamic-definition-row small{color:#758195;font-size:12px}.building-ledger-card .building-row.embedded{box-shadow:none;background:0 0;border:0;padding:0}.map-empty-filter{color:#64748b;background:#fffffff0;border-radius:14px;padding:14px 18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0f172a14}@media (width<=720px){.dynamic-field-grid,.dynamic-field-grid.compact{grid-template-columns:1fr}.apartment-search-result,.address-code-results button{padding:11px 12px}.completion-filter-row button,.route-filter-row button{min-height:36px;padding:6px 11px;font-size:13px}}.vehicle-settings-list{gap:14px;margin-top:14px;display:grid}.vehicle-setting-card{background:#fbfcfe;border:1px solid #e4e9f0;border-radius:18px;min-width:0;padding:14px}.vehicle-setting-row{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:12px;display:grid}.vehicle-setting-row .field{min-width:0}.vehicle-setting-row input,.vehicle-setting-row select{width:100%;min-width:0}.vehicle-add-form{margin-top:16px}.vehicle-add-form .vehicle-setting-row{border-top:0;padding-top:0}.vehicle-choice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.vehicle-choice{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:13px;align-items:center;gap:10px;padding:10px;display:flex}.vehicle-choice>span{gap:2px;min-width:0;display:grid}.vehicle-choice small{color:#768196;font-size:11px}.route-vehicle-box{background:#f8fafc;border:1px solid #e3e8ef;border-radius:16px;margin:12px 0;padding:13px}.route-vehicle-box .row-between strong{align-items:center;gap:6px;display:flex}.route-vehicle-box .row-between>span{color:#315b9e;background:#eaf1ff;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800}.route-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.threshold-rule-list{gap:10px;margin-top:12px;display:grid}.threshold-rule-row{background:#fff;border:1px solid #e3e8ef;border-radius:14px;grid-template-columns:auto minmax(95px,1fr) minmax(120px,1fr) minmax(95px,1fr) minmax(120px,1fr) minmax(130px,1.2fr) auto;align-items:end;gap:8px;padding:10px;display:grid}.threshold-rule-row .field{min-width:0;margin:0}.threshold-rule-row input,.threshold-rule-row select{width:100%;min-width:0;padding:10px}.threshold-rule-index{color:#fff;background:#172033;border-radius:999px;align-self:center;place-items:center;width:28px;height:28px;font-size:12px;font-weight:900;display:grid}.threshold-preview{color:#315b9e;background:#eef5ff;border-radius:9px;grid-column:2/-1;padding:6px 8px}.definition-actions{flex:none;gap:6px;display:flex}.editor-actions{margin-top:14px}.modal-bottom-close{padding:12px 20px calc(12px + env(safe-area-inset-bottom));z-index:6;background:linear-gradient(#ffffffc7,#fff 35%);border-top:1px solid #edf0f4;justify-content:flex-end;margin:18px -20px -20px;display:flex;position:sticky;bottom:-20px}.modal-bottom-close .button{min-width:120px}.modal-card{scrollbar-gutter:stable}.building-register-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.candidate-summary{flex-wrap:wrap;gap:7px;margin:10px 0;display:flex}.candidate-chip{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:900;display:inline-flex}.candidate-chip.inspect{color:#0b8152;background:#e5f7ef}.candidate-chip.review{color:#916300;background:#fff3c9}.candidate-chip.exclude{color:#667085;background:#eef1f5}.building-register-row.detailed{padding:0;display:block;overflow:hidden}.building-register-row.detailed summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px;list-style:none;display:flex}.building-register-row.detailed summary::-webkit-details-marker{display:none}.building-register-row.detailed summary>div{flex-direction:column;gap:3px;display:flex}.candidate-reason{color:#758195;margin:0;padding:0 12px 10px;font-size:12px}.floor-detail-list{background:#f8fafc;border-top:1px solid #edf0f4;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px 12px 12px;display:grid}.floor-detail-list>div{background:#fff;border-radius:10px;justify-content:space-between;gap:8px;padding:8px 10px;display:flex}.floor-detail-list span{color:#758195;font-size:11px}.building-candidate-control{background:#f8fafc;border-radius:14px;grid-template-columns:minmax(180px,260px) auto 1fr;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;display:grid}.building-candidate-control .field,.building-candidate-control p{margin:0}.building-floor-details{border:1px solid #e5eaf1;border-radius:12px;margin-top:10px;overflow:hidden}.building-floor-details>summary{cursor:pointer;color:#315b9e;background:#f7faff;padding:10px 12px;font-weight:800}.api-action-row{align-items:center;gap:12px;margin-top:14px}.api-action-row .auto-save-label{flex:1;min-width:0}.settings-detail-pane .button-row,.settings-detail-pane .button{max-width:100%}@media (width<=1050px){.vehicle-setting-row{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-setting-row .field:last-child{grid-column:1/-1}.threshold-rule-row{grid-template-columns:auto repeat(2,minmax(0,1fr))}.threshold-rule-row .result-field{grid-column:2/4}.threshold-rule-row .icon-button{grid-column:1}.threshold-preview{grid-column:2/4}.building-register-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.route-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.vehicle-setting-row,.vehicle-choice-list{grid-template-columns:1fr}.vehicle-setting-row .field:last-child{grid-column:auto}.threshold-rule-row{grid-template-columns:auto 1fr}.threshold-rule-row .field,.threshold-rule-row .result-field,.threshold-preview{grid-column:2}.threshold-rule-row .icon-button{grid-area:2/1}.floor-detail-list{grid-template-columns:1fr}.building-candidate-control{grid-template-columns:1fr;align-items:start}.building-register-summary,.route-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-bottom-close{justify-content:stretch}.modal-bottom-close .button{width:100%}}.settings-bottom-close{z-index:8;background:linear-gradient(#f5f7fb00,#f5f7fb 34%);justify-content:flex-end;padding:14px 0 4px;display:flex;position:sticky;bottom:0}.settings-bottom-close .button{min-width:112px}@media (width<=760px){.settings-bottom-close{justify-content:stretch;padding-bottom:10px}.settings-bottom-close .button{width:100%}}.calculated-field input{color:#1e40af;background:#eef5ff;font-weight:850}.quick-add-type-row{max-width:460px;margin-bottom:10px}.facility-type-filter-row{scrollbar-width:none;gap:8px;margin:10px 0 12px;padding-bottom:2px;display:flex;overflow-x:auto}.facility-type-filter-row::-webkit-scrollbar{display:none}.facility-type-filter-row button{color:#667085;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dfe5ec;border-radius:999px;padding:7px 12px;font-weight:800}.facility-type-filter-row button.active{color:#fff;background:#172033;border-color:#172033}.facility-type-label{color:#315b9e;background:#eef4ff;border-radius:999px;width:max-content;max-width:100%;margin-top:8px;padding:5px 9px;font-size:11px;font-weight:850;display:inline-flex}.facility-type-list{gap:12px;margin-top:12px;display:grid}.facility-type-card{background:#fbfcfe;border:1px solid #e4e9f0;border-radius:16px;padding:14px}.facility-type-card .button-row{margin-top:8px}.tightness-rule-settings{margin-top:14px}.tightness-rule-settings .threshold-rule-list{margin-bottom:10px}.info-list dd{overflow-wrap:anywhere}@media (width<=720px){.quick-add-type-row{max-width:none}.facility-type-card .button-row{align-items:stretch}.facility-type-card .button-row .button{width:100%}.facility-type-filter-row button{padding:7px 10px;font-size:12px}}.map-action-strip{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.map-action-strip .button{border-radius:11px;padding:9px 12px;font-size:12px}.map-action-strip .button.active{color:#2457ad;background:#dfeaff;box-shadow:0 0 0 2px #2f6fed29}.map-position-summary{color:#687386;overflow-wrap:anywhere;background:#f4f6f9;border-radius:10px;min-width:0;max-width:100%;margin-left:auto;padding:8px 10px;font-size:11px}.kakao-map-wrap{background:#edf1f6;height:calc(100vh - 326px);min-height:520px;position:relative;overflow:hidden}.kakao-map-canvas{width:100%;height:100%;position:absolute;inset:0}.kakao-map-wrap.point-pick-mode{cursor:crosshair}.kakao-map-state{z-index:12;color:#536075;text-align:center;background:#fffffff5;border-radius:14px;gap:4px;max-width:calc(100% - 32px);padding:14px 18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 28px #0f172a21}.kakao-map-state.error{color:#b4232e;background:#fff4f5}.kakao-map-state span{overflow-wrap:anywhere;font-size:12px}.map-click-guide{z-index:14;color:#fff;text-align:center;background:#172033;border-radius:999px;max-width:calc(100% - 32px);padding:10px 14px;font-size:12px;font-weight:850;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #0f172a38}.kakao-facility-marker{appearance:none;cursor:pointer;color:#768196;filter:drop-shadow(0 3px 4px #0f172a2e);transform-origin:50% 100%;background:0 0;border:0;flex-direction:column;align-items:center;min-width:54px;max-width:160px;padding:0;transition:transform .15s;display:flex}.kakao-facility-marker:hover,.kakao-facility-marker.selected{z-index:20;transform:scale(1.08)}.kakao-marker-pin{color:#fff;text-align:center;text-indent:0;background:currentColor;border:4px solid #fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:11px;font-weight:900;line-height:27px;display:grid;box-shadow:0 4px 10px #0f172a38}.kakao-marker-label{color:#172033;overflow-wrap:anywhere;word-break:keep-all;background:#fffffff5;border-radius:8px;max-width:156px;margin-top:2px;padding:4px 7px;font-size:10px;font-weight:900;line-height:1.25;display:block;box-shadow:0 2px 7px #0f172a1a}.kakao-marker-state{background:#fff;border-radius:999px;margin-top:2px;padding:2px 6px;font-size:9px;font-weight:900;display:block}.kakao-facility-marker.status-uninspected{color:#7b8492}.kakao-facility-marker.status-uninspected .kakao-marker-state{color:#697386;background:#eef1f5}.kakao-facility-marker.status-pass{color:#0b9861}.kakao-facility-marker.status-pass .kakao-marker-state{color:#0b8152;background:#e5f7ef}.kakao-facility-marker.status-improve{color:#e7a800}.kakao-facility-marker.status-improve .kakao-marker-state{color:#946500;background:#fff3c9}.kakao-facility-marker.status-fail{color:#e23440}.kakao-facility-marker.status-fail .kakao-marker-state{color:#c82934;background:#ffeaec}.kakao-facility-marker.selected .kakao-marker-label{outline-offset:1px;outline:2px solid #2f6fed}.kakao-point-marker{white-space:nowrap;color:#fff;background:#172033;border:3px solid #fff;border-radius:999px;align-items:center;gap:5px;padding:6px 8px 6px 6px;font-size:10px;display:flex;box-shadow:0 5px 14px #0f172a3d}.kakao-point-marker span{background:#fff;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 3px #ffffff40}.kakao-point-marker.current{background:#2f6fed}.kakao-point-marker.origin{background:#7c3aed}.map-connection-line{color:#738094;overflow-wrap:anywhere;background:#f8fafc;border-top:1px solid #e9edf2;border-bottom:1px solid #e9edf2;align-items:center;gap:6px;padding:7px 16px;font-size:11px;display:flex}.route-condition-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;display:grid}.route-condition-grid .field{min-width:0;margin:0}.route-condition-grid select{width:100%;min-width:0}.route-return-check{background:#f8fafc;border:1px solid #e0e5eb;border-radius:13px;min-height:47px;margin:0;padding:10px 12px;font-size:12px;font-weight:800}.route-calc-actions{align-items:stretch;margin-top:12px}.route-calc-actions .button{min-height:44px}.route-api-note{color:#315b9e;background:#eef5ff;border-radius:13px;align-items:flex-start;gap:7px;margin-top:10px;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.route-api-note.error{color:#b4232e;background:#fff0f1}.route-api-note svg{flex:none;width:17px;height:17px}.route-oi-preview .section-title{margin-top:0}.route-oi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.route-oi-grid>div{background:#f8fafc;border:1px solid #e5eaf1;border-radius:14px;gap:5px;padding:13px;display:grid}.route-oi-grid small{color:#768196}.route-oi-grid strong{overflow-wrap:anywhere;font-size:18px}@media (width<=900px){.route-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-return-check{grid-column:1/-1}.route-oi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.map-action-strip{gap:6px;padding:9px 12px}.map-action-strip .button{flex:calc(50% - 6px);padding:9px 8px}.map-position-summary{text-align:center;flex:100%;margin-left:0}.kakao-map-wrap{height:calc(100vh - 390px);min-height:430px}.kakao-marker-label{max-width:96px;font-size:9px}.kakao-marker-state{font-size:8px}.route-condition-grid{grid-template-columns:1fr}.route-return-check{grid-column:auto}.route-calc-actions .button{flex:100%}.route-oi-grid{grid-template-columns:1fr 1fr}.route-oi-grid strong{font-size:16px}}@media (width<=440px){.route-oi-grid{grid-template-columns:1fr}.kakao-map-wrap{min-height:400px}}.route-map-card .section-title{margin-top:0}.route-map-wrap{background:#eef2f6;border:1px solid #e4e9f0;border-radius:18px;height:390px;position:relative;overflow:hidden}.route-map-canvas{position:absolute;inset:0}.route-map-legend{z-index:8;color:#fff;background:#172033e6;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:850;position:absolute;top:12px;left:12px;box-shadow:0 5px 14px #0f172a29}.route-map-legend.actual{background:#2f6fedf0}.route-map-marker{color:#fff;background:#172033;border:3px solid #fff;border-radius:999px;align-items:center;gap:5px;max-width:145px;padding:5px 8px 5px 5px;display:flex;box-shadow:0 5px 14px #0f172a38}.route-map-marker.origin{background:#7c3aed}.route-map-marker span{color:#172033;background:#fff;border-radius:999px;place-items:center;min-width:24px;height:24px;font-size:9px;font-weight:900;display:grid}.route-map-marker strong{overflow-wrap:anywhere;word-break:keep-all;min-width:0;max-width:104px;font-size:9px;line-height:1.2}@media (width<=720px){.route-map-wrap{height:320px}.route-map-marker{max-width:105px}.route-map-marker strong{max-width:70px;font-size:8px}}.api-test-row{margin-top:12px}.api-test-row .button{min-width:190px}@media (width<=720px){.api-test-row .button{width:100%;min-width:0}}.kakao-facility-marker{--marker-color:#7b8492;filter:none;gap:1px;min-width:34px;max-width:138px}.kakao-facility-marker.status-uninspected{--marker-color:#7b8492;color:#7b8492}.kakao-facility-marker.status-pass{--marker-color:#10a466;color:#10a466}.kakao-facility-marker.status-improve{--marker-color:#e2a300;color:#e2a300}.kakao-facility-marker.status-fail{--marker-color:#dc2f3c;color:#dc2f3c}.kakao-marker-pin{border:3px solid #fff;border-radius:50%;place-items:center;width:27px;height:27px;font-size:11px;font-weight:950;line-height:1;display:grid;position:relative;box-shadow:0 3px 9px #0f172a40;background:var(--marker-color)!important;color:#fff!important}.kakao-marker-pin:after{content:"";background:var(--marker-color);z-index:-1;border-bottom:2px solid #fff;border-right:2px solid #fff;border-radius:0 0 2px;width:9px;height:9px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.kakao-marker-pin b{z-index:2;color:#fff;font-size:11px;line-height:1;position:relative}.kakao-facility-marker.cluster .kakao-marker-pin{border-width:3px;width:31px;height:31px}.kakao-facility-marker.cluster .kakao-marker-pin b{font-size:12px}.kakao-facility-marker.selected{transform:scale(1.12)}.kakao-facility-marker.selected .kakao-marker-pin{box-shadow:0 0 0 3px #2f6fed3d,0 6px 15px #0f172a4d}.kakao-marker-label{border:1px solid #0f172a14;max-width:130px;margin-top:7px;padding:3px 6px;font-size:9px;line-height:1.2;box-shadow:0 2px 7px #0f172a1f}.kakao-marker-state{padding:2px 6px;font-size:8px;box-shadow:0 2px 5px #0f172a14}.kakao-map-density-guide{z-index:8;pointer-events:none;background:#ffffffe6;border:1px solid #ffffffb3;border-radius:12px;flex-direction:column;gap:2px;max-width:220px;padding:8px 10px;display:flex;position:absolute;bottom:12px;left:12px;box-shadow:0 5px 16px #0f172a24}.kakao-map-density-guide strong{color:#172033;font-size:11px}.kakao-map-density-guide span{color:#6f7a8b;font-size:9px}.api-scope-card{background:#f8faff;border:1px solid #dfe6f0;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin:14px 0;padding:14px;display:flex}.api-scope-card>div:first-child{flex-direction:column;gap:3px;display:flex}.api-scope-card small{color:#758094;font-size:12px}.api-scope-options{background:#e9edf5;border-radius:13px;gap:6px;padding:4px;display:flex}.api-scope-options button{color:#69758a;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:9px 13px;font-weight:850}.api-scope-options button.active{color:#1f62d7;background:#fff;box-shadow:0 2px 8px #0f172a17}.api-current-user{max-width:520px}.section-subtitle{border-top:1px solid #edf0f5;justify-content:space-between;align-items:baseline;gap:10px;margin:20px 0 6px;padding-top:12px;display:flex}.section-subtitle span{color:#7b8594;font-size:12px}.api-profile-summary{flex-wrap:wrap;gap:6px;margin:8px 0 13px;display:flex}.api-profile-summary span{color:#6b7688;background:#eef2f7;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.api-profile-summary span.active{color:#2c64bf;background:#e9f1ff;box-shadow:inset 0 0 0 1px #c8dbff}.api-effective-box{background:#f2f7ff;border:1px solid #d9e7ff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0;padding:12px 14px;display:flex}.api-effective-box span{color:#2d62b6;background:#fff;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:850}.api-effective-box small{color:#68778e;width:100%}.worker-help-box{background:#fff;border:1px solid #dfe6f0;border-radius:16px;margin:15px 0;overflow:hidden}.worker-help-box summary{cursor:pointer;color:#274f91;background:#f6f9ff;padding:13px 15px;font-weight:900}.worker-help-box>div{color:#536176;padding:4px 16px 15px;font-size:13px;line-height:1.6}.worker-help-box ol{padding-left:22px}.worker-help-box code{color:#172033;background:#eef2f7;border-radius:5px;padding:2px 5px;font-size:12px}@media (width<=720px){.kakao-marker-pin{width:24px;height:24px}.kakao-facility-marker.cluster .kakao-marker-pin{width:28px;height:28px}.kakao-marker-label{max-width:88px;font-size:8px}.kakao-map-density-guide{max-width:190px;padding:7px 8px;bottom:8px;left:8px}.api-scope-card{flex-direction:column;align-items:stretch}.api-scope-options button{flex:1}.api-settings-grid{grid-template-columns:1fr}.section-subtitle{flex-direction:column;align-items:flex-start}}.button.small{border-radius:11px;min-height:36px;padding:8px 10px;font-size:12px}.button.danger.subtle{color:#ba2934;background:#fff1f2}.empty-state.compact{padding:18px 8px}.route-execution-card{background:linear-gradient(#f8fbff 0%,#fff 32%);border-color:#cfe0ff}.active-route-head{background:#eef5ff;border-radius:15px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex}.active-route-head>div{gap:3px;display:grid}.active-route-head small{color:#64748b}.route-execution-list{gap:9px;display:grid}.route-execution-stop{background:#fff;border:1px solid #e3e8ef;border-radius:16px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;display:grid}.route-execution-stop.arrived{background:#f7faff;border-color:#9dbdff}.route-execution-stop.inspected{background:#f8fffb;border-color:#ccebdc}.route-execution-stop.skipped{opacity:.82;background:#f7f8fa}.route-execution-stop .route-index{width:34px;height:34px;font-size:13px}.route-execution-stop.inspected .route-index{background:#0b9861}.route-execution-stop.skipped .route-index{background:#7d8795}.route-execution-info{gap:3px;min-width:0;display:grid}.route-execution-info strong{overflow-wrap:anywhere;word-break:keep-all}.route-execution-info small{color:#758195}.route-execution-info em{color:#8a5c00;background:#fff3c9;border-radius:8px;width:max-content;max-width:100%;padding:4px 7px;font-size:11px;font-style:normal}.route-execution-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.route-result-badge{border-radius:999px;align-items:center;gap:5px;padding:7px 9px;font-size:11px;font-weight:900;display:inline-flex}.route-result-badge svg{width:15px;height:15px}.route-result-badge.pass{color:#0b8152;background:#e5f7ef}.route-result-badge.improve{color:#916300;background:#fff3c9}.route-result-badge.fail{color:#c82934;background:#ffeaec}.saved-route-list{gap:9px;display:grid}.saved-route-row{background:#fff;border:1px solid #e4e9f0;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.saved-route-row.in_progress{background:#f7faff;border-color:#9dbdff}.saved-route-row.completed{border-color:#ccebdc}.saved-route-row.cancelled{opacity:.65;background:#f6f7f9}.saved-route-main{gap:4px;min-width:0;display:grid}.saved-route-main>div{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.saved-route-main strong{overflow-wrap:anywhere}.saved-route-main small{color:#748094}.route-plan-status{color:#667085;background:#eef1f5;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900;display:inline-flex}.route-plan-status.in_progress{color:#2762c4;background:#e9f1ff}.route-plan-status.completed{color:#0b8152;background:#e5f7ef}.route-plan-status.cancelled{color:#b4232e;background:#ffeaec}.saved-route-actions{flex:none;align-items:center;gap:6px;display:flex}.icon-button.danger{color:#c82934;background:#fff1f2}.finish-route-summary{color:#244d90;background:#eef5ff;border-radius:15px;align-items:center;gap:11px;margin:12px 0;padding:13px;display:flex}.finish-route-summary>div{gap:3px;display:grid}.finish-route-summary span{color:#61718a;font-size:12px}.finish-route-grid small{color:#7b8796;font-weight:500}.oi-actual-grid{margin-bottom:12px}.oi-route-list{gap:9px;display:grid}.oi-route-row{background:#fff;border:1px solid #e4e9f0;border-radius:15px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.oi-route-title{align-items:center;gap:9px;min-width:0;display:flex}.oi-route-title>svg{color:#0b9861;flex:none}.oi-route-title>div{gap:3px;display:grid}.oi-route-title small{color:#748094}.oi-route-values{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.oi-route-values span{color:#56647a;white-space:nowrap;background:#f1f4f8;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}@media (width<=850px){.route-execution-stop{grid-template-columns:36px 1fr}.route-execution-actions{grid-column:2;justify-content:flex-start}.saved-route-row,.oi-route-row{flex-direction:column;align-items:flex-start}.saved-route-actions,.oi-route-values{justify-content:flex-start;width:100%}}@media (width<=560px){.active-route-head{flex-direction:column;align-items:flex-start}.active-route-head .button{width:100%}.route-execution-actions .button{flex:145px}.saved-route-actions .button{flex:1}.saved-route-actions{display:flex}.finish-route-grid{grid-template-columns:1fr}.oi-route-values{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.oi-route-values span{text-align:center}}.route-api-note.warning{color:#795900;background:#fff8df;border-color:#f2d675}.route-api-note.warning svg{color:#d49a00;flex:none}.route-api-note.info{color:#245b9e;background:#eef6ff;border-color:#cfe2ff}.route-api-note.info svg{color:#2f75d6}.route-card-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.route-card-title-row .adaptive-title{flex:1;min-width:0}.route-stop-address{color:#7a8597;word-break:keep-all;overflow-wrap:anywhere;margin-top:4px;line-height:1.45;display:block}@media (width<=640px){.route-card-title-row{flex-direction:column;align-items:stretch}.route-card-title-row .button{align-self:flex-start}}.navigation-preference-card{background:linear-gradient(#fff 0%,#f7faff 100%);border:1px solid #dce5f2;border-radius:18px;gap:14px;margin:14px 0 18px;padding:18px;display:grid}.navigation-preference-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.navigation-preference-head>div{gap:5px;display:grid}.navigation-preference-head strong{align-items:center;gap:7px;font-size:16px;display:inline-flex}.navigation-preference-head small,.navigation-provider-options button small{color:#718096}.navigation-preference-head>span{color:#2767d8;background:#edf4ff;border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-weight:800}.navigation-provider-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.navigation-provider-options button{color:#334155;text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;min-width:0;padding:15px 16px;display:grid}.navigation-provider-options button svg{grid-row:1/3;width:22px;height:22px}.navigation-provider-options button strong{font-size:15px}.navigation-provider-options button.active{color:#165bc8;background:#edf4ff;border-color:#2f70ed;box-shadow:0 0 0 2px #2f70ed14}.navigation-auto-options{gap:8px;padding-top:2px;display:grid}.compact-note{margin:0}@media (width<=680px){.navigation-preference-head{display:grid}.navigation-preference-head>span{justify-self:start}.navigation-provider-options{grid-template-columns:1fr}}.settings-workspace,.settings-workspace-body,.settings-detail-pane{min-width:0;max-width:100%}.settings-workspace{overflow:hidden}.settings-detail-pane{overscroll-behavior:contain;overflow-x:hidden}.settings-detail-pane>*,.settings-detail-pane .content-card,.settings-detail-pane .sub-setting-block,.settings-detail-pane .settings-grid,.settings-detail-pane .inline-form,.settings-detail-pane input,.settings-detail-pane select,.settings-detail-pane textarea{min-width:0;max-width:100%}.settings-topbar .icon-button{flex:0 0 50px;margin:0}.settings-bottom-close{box-sizing:border-box;width:min(820px,100%);max-width:100%;margin:0;padding:14px 0 8px;overflow:hidden}.settings-bottom-close .button{flex:none;max-width:calc(100% - 2px);margin-left:auto}.navigation-device-note{color:#536075;background:#f7f9fc;border:1px solid #dbe5f2;border-radius:13px;align-items:flex-start;gap:9px;padding:11px 12px;font-size:12px;line-height:1.5;display:flex}.navigation-device-note svg{flex:none;margin-top:1px}.navigation-device-note.mobile-ready{color:#176b4c;background:#edf9f3;border-color:#ccebdd}.navigation-device-note.desktop-preview{color:#526174;background:#f4f7fb;border-color:#dbe5f2}@media (width<=760px){.settings-bottom-close{width:100%;padding:12px 0 max(10px, env(safe-area-inset-bottom))}.settings-bottom-close .button{width:100%;margin-left:0}}.navigation-radius-field{max-width:360px;margin-top:12px}.route-gps-panel{background:#f8fafc;border:1px solid #dfe7f3;border-radius:18px;gap:12px;margin:14px 0 16px;padding:14px;display:grid}.route-gps-panel.tracking{background:#f3fcf8;border-color:#b9e5d2}.route-gps-panel.requesting{background:#f6f9ff;border-color:#cfe0ff}.route-gps-panel.error{background:#fff6f7;border-color:#ffc9cf}.route-gps-main{align-items:flex-start;gap:10px;display:flex}.route-gps-main>svg{color:#2563eb;flex:none;width:21px;height:21px;margin-top:1px}.route-gps-panel.tracking .route-gps-main>svg{color:#0b9861}.route-gps-panel.error .route-gps-main>svg{color:#d92d20}.route-gps-main>div{gap:3px;display:grid}.route-gps-main strong{font-size:14px}.route-gps-main small{color:#667085;line-height:1.45}.route-gps-metrics{flex-wrap:wrap;gap:8px;display:flex}.route-gps-metrics span{color:#667085;background:#fff;border:1px solid #e4e9f0;border-radius:999px;align-items:center;gap:5px;padding:7px 10px;font-size:11px;display:inline-flex}.route-gps-metrics strong{color:#182230}.route-live-actions{margin:0}.route-live-actions .button{min-width:0}.route-reopt-summary{color:#275ca8;background:#eaf2ff;border-radius:12px;align-items:center;gap:7px;padding:9px 11px;font-size:12px;font-weight:800;display:flex}.route-reopt-summary svg{width:16px;height:16px}.route-add-stop-list{gap:8px;max-height:52vh;padding:2px;display:grid;overflow:auto}.route-add-stop-row{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.route-add-stop-row.selected{background:#f3f7ff;border-color:#6ea2ff;box-shadow:0 0 0 2px #2f6fed14}.route-add-stop-row input{margin-top:4px}.route-add-stop-row>div{gap:3px;min-width:0;display:grid}.route-add-stop-row strong{overflow-wrap:anywhere;word-break:keep-all}.route-add-stop-row small{color:#526174}.route-add-stop-row span{color:#8792a2;overflow-wrap:anywhere;font-size:11px}.route-execution-info small+small{color:#3569b7}@media (width<=760px){.navigation-radius-field{max-width:none}.route-live-actions{grid-template-columns:1fr;display:grid}.route-live-actions .button{width:100%}.route-gps-metrics{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.route-gps-metrics span{justify-content:center}.route-add-stop-list{max-height:46vh}}:root{--app-bg:#0b1120;--surface:#111827;--surface-2:#172033;--surface-3:#1f2937;--text:#f4f7fb;--text-soft:#c7d0dd;--line-dark:#2b3648;--shadow-dark:0 12px 34px #00000047}html[data-theme=light]{--app-bg:#f5f7fb;--surface:#fff;--surface-2:#f7f8fb;--surface-3:#eef2f7;--text:#172033;--text-soft:#667085;--line-dark:#e6eaf0;--shadow-dark:0 3px 15px #0e1a300d}html[data-theme=dark],html:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=dark] body,html:not([data-theme]) body{background:var(--app-bg);color:var(--text)}html[data-theme=dark] .app-shell,html:not([data-theme]) .app-shell{background:#0f1728;box-shadow:0 0 70px #00000057}html[data-theme=dark] .app-header,html[data-theme=dark] .bottom-nav,html[data-theme=dark] .search-box,html[data-theme=dark] .facility-card,html[data-theme=dark] .hero-card,html[data-theme=dark] .content-card,html[data-theme=dark] .modal-card,html[data-theme=dark] .map-sheet,html[data-theme=dark] .settings-panel,html[data-theme=dark] .building-row,html[data-theme=dark] .status-stat,html[data-theme=dark] .saved-route-row,html[data-theme=dark] .route-add-stop-row,html[data-theme=dark] .oi-route-row{background:var(--surface);border-color:var(--line-dark);color:var(--text);box-shadow:var(--shadow-dark)}html[data-theme=dark] .app-header,html[data-theme=dark] .bottom-nav{border-color:var(--line-dark)}html[data-theme=dark] .page,html[data-theme=dark] .app-main,html[data-theme=dark] .settings-workspace-body,html[data-theme=dark] .settings-detail-pane{color:var(--text);background:#0f1728}html[data-theme=dark] .profile-chip,html[data-theme=dark] .segmented button.active,html[data-theme=dark] .filter-row button,html[data-theme=dark] .navigation-provider-options button,html[data-theme=dark] .navigation-preference-card,html[data-theme=dark] .route-gps-metrics span{background:var(--surface-2);border-color:var(--line-dark);color:var(--text)}html[data-theme=dark] .segmented,html[data-theme=dark] .mini-grid span,html[data-theme=dark] .photo-context,html[data-theme=dark] .navigation-device-note,html[data-theme=dark] .route-gps-panel,html[data-theme=dark] .api-effective-box,html[data-theme=dark] .sub-setting-block{background:var(--surface-2);border-color:var(--line-dark);color:var(--text-soft)}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .field textarea,html[data-theme=dark] .inline-form input{color:var(--text)!important;background:#0d1525!important;border-color:#344156!important}html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#748198}html[data-theme=dark] .hint,html[data-theme=dark] small,html[data-theme=dark] .muted-line,html[data-theme=dark] .facility-meta,html[data-theme=dark] .section-title span,html[data-theme=dark] .info-list dt{color:#9aa8ba}html[data-theme=dark] .info-list>div{border-color:#273246}html[data-theme=dark] .icon-button.ghost{color:#cbd5e1;background:#1c2638}html[data-theme=dark] .button.secondary{color:#b8d0ff;background:#20304a}html[data-theme=dark] .button.dark{color:#111827;background:#e7edf7}html[data-theme=dark] .settings-topbar{background:#101827;border-color:#2b3648}html[data-theme=dark] .settings-detail-title h2,html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] h4,html[data-theme=dark] strong{color:var(--text)}html[data-theme=light] body{color:#172033;background:#f5f7fb}html[data-theme=light] .app-shell{background:#f7f8fb}.auth-screen{background:radial-gradient(circle at 25% 10%,#193a72 0,#0b1120 44%,#070b14 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{color:#f4f7fb;background:#111827f5;border:1px solid #2e3d56;border-radius:28px;width:min(460px,100%);padding:28px;box-shadow:0 28px 80px #00000073}.auth-brand{align-items:center;gap:13px;margin-bottom:20px;display:flex}.auth-brand>svg{color:#73a5ff;width:42px;height:42px}.auth-brand small{color:#91a4c3}.auth-brand h1{margin:2px 0 0}.auth-message{color:#c6d8f5;background:#14233d;border-radius:14px;gap:9px;padding:12px;font-size:13px;line-height:1.5;display:flex}.auth-error{color:#ffbdc4;background:#3a1720;border-radius:12px;padding:10px 12px;font-size:13px}.auth-hint{color:#8695aa;margin:15px 0 0;font-size:12px;line-height:1.55}.settings-inner-tabs,.page-subtabs{border:1px solid var(--line);background:#eef2f7;border-radius:17px;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:7px;display:flex}.settings-inner-tabs button,.page-subtabs button{color:#687587;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:7px;padding:10px 13px;font-weight:850;display:inline-flex}.settings-inner-tabs button.active,.page-subtabs button.active{color:#fff;background:#2f6fed;box-shadow:0 5px 14px #2f6fed38}html[data-theme=dark] .settings-inner-tabs,html[data-theme=dark] .page-subtabs{background:#151f30;border-color:#2d394d}html[data-theme=dark] .settings-inner-tabs button,html[data-theme=dark] .page-subtabs button{color:#a8b5c7}html[data-theme=dark] .settings-inner-tabs button.active,html[data-theme=dark] .page-subtabs button.active{color:#fff;background:#2f6fed}.theme-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.theme-choice-grid button{color:#4b5a70;cursor:pointer;background:#f7f9fc;border:1px solid #dce3ee;border-radius:17px;place-items:center;gap:8px;min-height:110px;display:grid}.theme-choice-grid button svg{width:28px;height:28px}.theme-choice-grid button.active{color:#1e5bc1;background:#eaf1ff;border-color:#2f6fed;box-shadow:0 0 0 2px #2f6fed1a}html[data-theme=dark] .theme-choice-grid button{color:#b9c6d8;background:#151f30;border-color:#303d52}html[data-theme=dark] .theme-choice-grid button.active{color:#fff;background:#1c3768;border-color:#5b91f6}.locked-user-box{background:#f7f9fc;border:1px solid #dce4f0;border-radius:15px;align-items:flex-start;gap:10px;margin:12px 0;padding:13px 14px;display:flex}.locked-user-box>div{gap:3px;display:grid}.locked-user-box span,.locked-user-box small{color:#6f7c90}.locked-user-box strong{font-size:15px}html[data-theme=dark] .locked-user-box{background:#151f30;border-color:#303d52}.api-current-user select{max-width:520px}.tightness-cycle-summary{flex-wrap:wrap;gap:7px;margin:10px 0;display:flex}.tightness-cycle-summary span{color:#2b61b4;background:#edf3ff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}html[data-theme=dark] .tightness-cycle-summary span{color:#a9c9ff;background:#1b3156}.detail-tabs button{align-items:center;gap:5px;display:inline-flex}.tightness-summary-card{border-left:5px solid #8793a5}.tightness-summary-card.overdue{border-left-color:#e34850}.tightness-summary-card.due_soon{border-left-color:#e2a40d}.tightness-summary-card.scheduled{border-left-color:#16a36a}.tightness-summary-card h3{align-items:center;gap:8px;margin:4px 0;display:flex}.tightness-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.tightness-kpi-grid>div{background:#f5f7fa;border-radius:13px;gap:4px;padding:11px;display:grid}.tightness-kpi-grid span{color:#7a8698;font-size:11px}.tightness-state-chip{color:#667085;background:#eef1f5;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;display:inline-flex}.tightness-state-chip.overdue{color:#c82934;background:#ffeaec}.tightness-state-chip.due_soon{color:#946600;background:#fff3c9}.tightness-state-chip.scheduled{color:#08784a;background:#e5f7ef}.tightness-state-chip.missing{color:#667085;background:#eef1f5}.tightness-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tightness-ledger textarea{min-height:110px}html[data-theme=dark] .tightness-kpi-grid>div{background:#172235}.tightness-schedule-list{margin-top:14px}.tightness-schedule-row{border-left:4px solid #8d98a8}.tightness-schedule-row.overdue{border-left-color:#e34850}.tightness-schedule-row.due_soon{border-left-color:#e2a40d}.tightness-schedule-row.scheduled{border-left-color:#16a36a}.tightness-schedule-row small{gap:5px;margin-top:5px;display:flex}.tightness-row-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0;display:grid}.tightness-row-grid span{color:#758196;background:#f5f7fa;border-radius:11px;gap:3px;padding:9px;font-size:11px;display:grid}.tightness-row-grid strong{font-size:13px}.tightness-filter-card{gap:12px;display:grid}.tightness-filter-row{margin:0}.facility-tightness-label{color:#946600;background:#fff3c9;border-radius:999px;margin:3px 0 7px;padding:4px 8px;font-size:11px;font-weight:850;display:inline-flex}.facility-tightness-label.overdue{color:#c82934;background:#ffeaec}.facility-tightness-label.scheduled{color:#08784a;background:#e5f7ef}.tightness-quick-filter>span{color:#7c8797;margin-right:4px;font-size:12px;font-weight:800}html[data-theme=dark] .tightness-row-grid span{background:#172235}.route-add-stop-tools{justify-content:space-between;align-items:flex-end;gap:10px;margin:10px 0;display:flex}.route-add-stop-tools .route-filter-row{flex:1}.compact-field{min-width:130px;margin:0}@media (width<=760px){.theme-choice-grid,.tightness-kpi-grid,.tightness-row-grid,.tightness-form-grid{grid-template-columns:1fr}.route-add-stop-tools{align-items:stretch;display:grid}.compact-field{min-width:0}.settings-inner-tabs,.page-subtabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-inner-tabs button,.page-subtabs button{justify-content:center}.auth-card{border-radius:22px;padding:22px}}.auth-status{color:#9fe4c8;background:#102f29;border:1px solid #4fd19c38;border-radius:12px;padding:10px 12px;font-size:13px}.auth-tech-note{color:#9cb7e4;background:#4285f41a;border:1px solid #73a5ff33;border-radius:11px;margin-top:10px;padding:9px 11px;font-size:11px;line-height:1.5}.auth-submit{min-height:48px;transition:transform .12s,filter .12s,opacity .12s}.auth-submit:active:not(:disabled){filter:brightness(.92);transform:scale(.985)}.auth-submit.is-loading{cursor:wait;box-shadow:0 0 0 4px #2f6fed29}.auth-submit svg{width:18px;height:18px}.staff-credential-list{gap:12px;margin-top:16px;display:grid}.staff-credential-card{border:1px solid var(--line);background:#f9fbfd;border-radius:16px;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;align-items:end;gap:14px;padding:16px;display:grid}.staff-credential-info{align-items:center;gap:10px;min-width:0;display:flex}.staff-credential-info>svg{color:var(--blue);flex:none}.staff-credential-info div{min-width:0;display:grid}.staff-credential-info strong,.staff-credential-info span,.staff-credential-info small{overflow-wrap:anywhere}.staff-credential-info span,.staff-credential-info small{color:var(--muted)}.field-span-2{grid-column:1/-1}@media (width<=900px){.staff-credential-card{grid-template-columns:1fr}.staff-credential-card .button-row{justify-content:flex-start}}html[data-theme=dark] .staff-credential-card{background:#151f30;border-color:#303d52}.central-mode-status,.central-preferences-card,.deployment-checklist{border:1px solid var(--border);background:var(--surface-muted);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin:14px 0;padding:16px;display:flex}.central-mode-status>div,.central-preferences-card>div:first-child{gap:4px;display:grid}.central-mode-status span,.central-preferences-card span{color:var(--text-muted);font-size:13px}.central-mode-status .status-ok{color:var(--success);font-weight:800}.central-mode-status .status-warn{color:var(--warning-text);font-weight:800}.deployment-checklist{display:block}.deployment-checklist strong{margin-bottom:8px;display:block}.deployment-checklist ol{margin:0;padding-left:22px;line-height:1.85}.deployment-checklist code{overflow-wrap:anywhere}.login-provider-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 18px;display:grid}.login-provider-options button{text-align:left;border:1px solid var(--border);background:var(--surface-muted);min-width:0;color:var(--text);border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:3px 10px;padding:16px;display:grid}.login-provider-options button svg{grid-row:1/3}.login-provider-options button small{color:var(--text-muted)}.login-provider-options button.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 18%, transparent);background:color-mix(in srgb, var(--primary) 10%, var(--surface))}@media (width<=760px){.central-mode-status,.central-preferences-card{flex-direction:column;align-items:stretch}.login-provider-options{grid-template-columns:1fr}}html[data-theme=dark]{--app-bg:#070d18;--surface:#111b2c;--surface-2:#182438;--surface-3:#223149;--text:#f8fafc;--text-soft:#d5deea;--muted:#aab6c8;--line:#34445c;--line-dark:#34445c;--border:#34445c;--surface-muted:#182438}html[data-theme=dark] body,html[data-theme=dark] button,html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{color:var(--text)}html[data-theme=dark] .settings-menu-grid{border-color:var(--line-dark);background:#0b1423}html[data-theme=dark] .settings-menu-grid button{color:#e6edf7;background:#142035;border-color:#34445c}html[data-theme=dark] .settings-menu-grid button strong{color:#f8fafc}html[data-theme=dark] .settings-menu-grid button span{color:#b7c4d5;opacity:1}html[data-theme=dark] .settings-menu-grid button.active{color:#fff;background:#2563eb;border-color:#74a3ff}html[data-theme=dark] .settings-menu-grid button.active strong,html[data-theme=dark] .settings-menu-grid button.active span{color:#fff}html[data-theme=dark] .settings-bottom-close{background:linear-gradient(#070d1800,#0f192a 38%)}html[data-theme=dark] .settings-panel,html[data-theme=dark] .settings-workspace,html[data-theme=dark] .settings-topbar{color:var(--text);background:#0d1626}html[data-theme=dark] .map-filters,html[data-theme=dark] .map-action-strip,html[data-theme=dark] .map-position-summary,html[data-theme=dark] .route-origin,html[data-theme=dark] .route-card,html[data-theme=dark] .route-summary>div,html[data-theme=dark] .route-vehicle-box,html[data-theme=dark] .vehicle-choice,html[data-theme=dark] .finish-route-summary,html[data-theme=dark] .summary-card,html[data-theme=dark] .schedule-month-header,html[data-theme=dark] .schedule-target-row,html[data-theme=dark] .schedule-filter-row,html[data-theme=dark] .completion-filter-row,html[data-theme=dark] .route-condition-grid,html[data-theme=dark] .storage-overview>div,html[data-theme=dark] .sync-queue-card,html[data-theme=dark] .staff-settings-card,html[data-theme=dark] .vehicle-setting-card,html[data-theme=dark] .threshold-rule-row,html[data-theme=dark] .dynamic-definition-row,html[data-theme=dark] .apartment-search-result,html[data-theme=dark] .address-code-results button,html[data-theme=dark] .central-mode-status,html[data-theme=dark] .central-preferences-card,html[data-theme=dark] .deployment-checklist,html[data-theme=dark] .feature-audit-grid>div{box-shadow:0 8px 24px #0000002e;color:#f8fafc!important;background:#131f32!important;border-color:#34445c!important}html[data-theme=dark] .map-filters .filter-row button,html[data-theme=dark] .completion-filter-row button,html[data-theme=dark] .route-filter-row button,html[data-theme=dark] .status-filter-button,html[data-theme=dark] .facility-type-filter-row button,html[data-theme=dark] .schedule-filter-row button{color:#e5edf8!important;background:#1b2940!important;border-color:#40516b!important}html[data-theme=dark] .map-filters .filter-row button.active,html[data-theme=dark] .completion-filter-row button.active,html[data-theme=dark] .route-filter-row button.active,html[data-theme=dark] .status-filter-button.active,html[data-theme=dark] .facility-type-filter-row button.active,html[data-theme=dark] .schedule-filter-row button.active{color:#fff!important;background:#2f6fed!important;border-color:#74a3ff!important}html[data-theme=dark] .route-summary span,html[data-theme=dark] .route-card p,html[data-theme=dark] .route-stop-address,html[data-theme=dark] .route-vehicle-box small,html[data-theme=dark] .vehicle-choice small,html[data-theme=dark] .schedule-target-row small,html[data-theme=dark] .storage-overview span,html[data-theme=dark] .sync-queue-card span,html[data-theme=dark] .cloud-status-line,html[data-theme=dark] .central-mode-status span,html[data-theme=dark] .deployment-checklist li,html[data-theme=dark] .feature-audit-grid span{color:#b9c6d8!important}html[data-theme=dark] .route-summary strong,html[data-theme=dark] .route-card strong,html[data-theme=dark] .vehicle-choice strong,html[data-theme=dark] .summary-card strong,html[data-theme=dark] .schedule-target-row strong,html[data-theme=dark] .storage-overview strong,html[data-theme=dark] .sync-queue-card strong,html[data-theme=dark] .central-mode-status strong,html[data-theme=dark] .deployment-checklist strong{color:#fff!important}html[data-theme=dark] .origin-box,html[data-theme=dark] .sub-setting-block,html[data-theme=dark] .inspection-rule-note,html[data-theme=dark] .security-note,html[data-theme=dark] .file-button,html[data-theme=dark] .storage-mini-note,html[data-theme=dark] .photo-slot-empty,html[data-theme=dark] .photo-gallery-empty,html[data-theme=dark] .photo-gallery-loading{color:#dce6f3!important;background:#18263b!important;border-color:#3a4c67!important}html[data-theme=dark] .security-note strong,html[data-theme=dark] .inspection-rule-note strong{color:#f8fafc!important}html[data-theme=dark] .button.secondary{color:#dce9ff;background:#243653;border:1px solid #3b557b}html[data-theme=dark] .button.secondary:hover{background:#2b4265}html[data-theme=dark] .button.warning{color:#ffe39a;background:#4d3b10;border:1px solid #7a5b16}html[data-theme=dark] .button.danger{color:#ffc0c8;background:#4a1f2a;border:1px solid #77313f}html[data-theme=dark] .button:disabled{opacity:.55;color:#98a6b8!important}html[data-theme=dark] select option{color:#f8fafc;background:#0d1525}html[data-theme=dark] input[type=checkbox]{accent-color:#4b82f4}html[data-theme=dark] .mock-map{background-color:#0d1727;background-image:linear-gradient(90deg,#6f84a03b 1px,#0000 1px),linear-gradient(#6f84a03b 1px,#0000 1px)}html[data-theme=dark] .map-toolbar span,html[data-theme=dark] .map-label,html[data-theme=dark] .map-marker small{border:1px solid #42536d;color:#f4f8ff!important;background:#111b2cf0!important}html[data-theme=dark] .bottom-nav button.active{color:#6fa3ff;background:#172a49}html[data-theme=dark] .bottom-nav button{color:#aeb9c9}html[data-theme=dark] .header-home-button{color:#dce9ff;background:#18263b;border-color:#3a4c67}html[data-theme=dark] .editable-chip{color:#f4f7fb;background:#26354c}html[data-theme=dark] .danger-zone p{color:#c3cedd}html[data-theme=dark] .status-uninspected{color:#e2e8f0!important;background:#303c4d!important}html[data-theme=dark] .status-pass{color:#8ff0c6!important;background:#103b2c!important}html[data-theme=dark] .status-improve{color:#ffe08a!important;background:#49380c!important}html[data-theme=dark] .status-fail{color:#ffb3bd!important;background:#4a1e28!important}.cloud-setup-tabs{z-index:4;position:sticky;top:0}.feature-audit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.feature-audit-grid>div{border:1px solid var(--line);background:#f7f9fc;border-radius:14px;gap:5px;padding:13px;display:grid}.feature-audit-grid span{color:#768296;font-size:11px}.feature-audit-grid strong{font-size:14px}.feature-audit-grid strong.ok{color:#087a4c!important}.feature-audit-grid strong.warn{color:#b87500!important}html[data-theme=dark] .feature-audit-grid strong.ok{color:#72e3b5!important}html[data-theme=dark] .feature-audit-grid strong.warn{color:#ffd278!important}.status-ok{color:#087a4c;background:#e5f7ef;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}.status-warn{color:#8b6204;background:#fff3c9;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}html[data-theme=dark] .status-ok{color:#8ff0c6;background:#103b2c}html[data-theme=dark] .status-warn{color:#ffe08a;background:#49380c}@media (width<=760px){.feature-audit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cloud-setup-tabs{position:static}}html[data-theme=dark] .settings-bottom-close,html[data-theme=dark] .modal-bottom-close{color:#f8fafc!important;border-color:#34445c!important}html[data-theme=dark] .route-return-check,html[data-theme=dark] .route-oi-grid>div,html[data-theme=dark] .route-execution-stop,html[data-theme=dark] .saved-route-row,html[data-theme=dark] .oi-route-row,html[data-theme=dark] .route-gps-panel,html[data-theme=dark] .route-gps-metrics span,html[data-theme=dark] .route-add-stop-row,html[data-theme=dark] .vehicle-setting-card,html[data-theme=dark] .facility-type-card,html[data-theme=dark] .staff-credential-card,html[data-theme=dark] .building-register-row,html[data-theme=dark] .building-candidate-control,html[data-theme=dark] .building-floor-details,html[data-theme=dark] .floor-detail-list,html[data-theme=dark] .floor-detail-list>div,html[data-theme=dark] .tightness-kpi-grid>div,html[data-theme=dark] .tightness-row-grid span,html[data-theme=dark] .schedule-month-card,html[data-theme=dark] .schedule-month-header,html[data-theme=dark] .schedule-target-row,html[data-theme=dark] .register-autofill-strip,html[data-theme=dark] .address-auto-match-card,html[data-theme=dark] .api-scope-card,html[data-theme=dark] .api-scope-options,html[data-theme=dark] .api-effective-box,html[data-theme=dark] .worker-help-box,html[data-theme=dark] .worker-help-box summary,html[data-theme=dark] .inspection-history-meta span,html[data-theme=dark] .auxiliary-asset-meta span{color:#eef4fc!important;background:#142035!important;border-color:#34445c!important}html[data-theme=dark] .route-execution-stop.arrived,html[data-theme=dark] .saved-route-row.in_progress,html[data-theme=dark] .route-add-stop-row.selected{background:#162b50!important;border-color:#5b91f6!important}html[data-theme=dark] .route-execution-stop.inspected,html[data-theme=dark] .saved-route-row.completed{background:#113326!important;border-color:#267554!important}html[data-theme=dark] .route-execution-stop.skipped,html[data-theme=dark] .saved-route-row.cancelled{background:#202a39!important;border-color:#455064!important}html[data-theme=dark] .route-oi-grid small,html[data-theme=dark] .route-execution-info small,html[data-theme=dark] .saved-route-main small,html[data-theme=dark] .oi-route-title small,html[data-theme=dark] .route-gps-metrics span,html[data-theme=dark] .route-add-stop-row small,html[data-theme=dark] .route-add-stop-row span,html[data-theme=dark] .inspection-subline,html[data-theme=dark] .inspection-history-meta,html[data-theme=dark] .building-register-row span,html[data-theme=dark] .building-register-row small,html[data-theme=dark] .candidate-reason,html[data-theme=dark] .floor-detail-list span,html[data-theme=dark] .tightness-kpi-grid span,html[data-theme=dark] .tightness-row-grid span,html[data-theme=dark] .schedule-target-main small,html[data-theme=dark] .schedule-target-main p,html[data-theme=dark] .register-autofill-strip small,html[data-theme=dark] .address-auto-match-card span,html[data-theme=dark] .api-effective-box small,html[data-theme=dark] .worker-help-box>div{color:#b9c6d8!important}html[data-theme=dark] .route-oi-grid strong,html[data-theme=dark] .route-execution-info strong,html[data-theme=dark] .saved-route-main strong,html[data-theme=dark] .oi-route-title strong,html[data-theme=dark] .route-gps-metrics strong,html[data-theme=dark] .route-add-stop-row strong,html[data-theme=dark] .inspection-name,html[data-theme=dark] .building-register-row strong,html[data-theme=dark] .floor-detail-list strong,html[data-theme=dark] .tightness-kpi-grid strong,html[data-theme=dark] .tightness-row-grid strong,html[data-theme=dark] .schedule-target-main strong,html[data-theme=dark] .register-autofill-strip strong,html[data-theme=dark] .address-auto-match-card strong{color:#fff!important}html[data-theme=dark] .route-api-note,html[data-theme=dark] .map-connection-line,html[data-theme=dark] .inspection-banner,html[data-theme=dark] .api-effective-box{color:#cfe0ff!important;background:#172a49!important;border-color:#345783!important}html[data-theme=dark] .route-api-note.error,html[data-theme=dark] .kakao-map-state.error,html[data-theme=dark] .danger-note{color:#ffc0c8!important;background:#4a1e28!important;border-color:#77313f!important}html[data-theme=dark] .summary-card.warning,html[data-theme=dark] .schedule-target-row.issue{color:#ffe39a!important;background:#3c300d!important}html[data-theme=dark] .summary-card.danger,html[data-theme=dark] .schedule-target-row.missing{color:#ffc0c8!important;background:#411c25!important}html[data-theme=dark] .summary-card.success{color:#8ff0c6!important;background:#113326!important}html[data-theme=dark] .api-scope-options button,html[data-theme=dark] .navigation-provider-options button,html[data-theme=dark] .theme-choice-grid button{color:#c8d4e4!important}html[data-theme=dark] .api-scope-options button.active,html[data-theme=dark] .navigation-provider-options button.active{color:#fff!important;background:#2f6fed!important}html[data-theme=dark] .editable-chip button,html[data-theme=dark] .chevron{color:#b9c6d8!important}html[data-theme=dark] .button.primary{color:#fff!important}html[data-theme=dark] .button.dark{border:1px solid #41618f;color:#fff!important;background:#263b5c!important}html[data-theme=dark] .settings-detail-pane .content-card,html[data-theme=dark] .settings-detail-pane .sub-setting-block{color:#f8fafc}html[data-theme=dark] .settings-detail-pane label,html[data-theme=dark] .settings-detail-pane .field>span,html[data-theme=dark] .route-page label,html[data-theme=dark] .route-page .field>span{color:#e6edf7!important}.auth-screen{overflow:auto}.auth-card.auth-card-wide{width:min(720px,100%)}.auth-mode-tabs{background:#0d1728;border:1px solid #2f405a;border-radius:15px;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px;padding:5px;display:grid}.auth-mode-tabs button{color:#9fb0c9;cursor:pointer;background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:11px 12px;font-weight:900;display:flex}.auth-mode-tabs button.active{color:#fff;background:#2f6fed;box-shadow:0 5px 18px #2f6fed4d}.auth-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.auth-region-chips{flex-wrap:wrap;gap:7px;margin-top:7px;display:flex}.auth-region-chips button{color:#d3deec;cursor:pointer;background:#17253a;border:1px solid #41536d;border-radius:999px;padding:8px 12px;font-weight:800}.auth-region-chips button.active{color:#fff;background:#2f6fed;border-color:#77a5ff}.signup-complete-card{text-align:center;justify-items:center;gap:10px;padding:24px 8px;display:grid}.signup-complete-card>svg{color:#43d29b;width:58px;height:58px}.signup-complete-card h2{margin:0}.signup-complete-card p{color:#b9c7d9;margin:0 0 8px;line-height:1.65}.deployment-url-field{border:1px solid var(--line);background:var(--surface-muted);border-radius:16px;padding:14px}.compact-buttons{margin-top:2px}.compact-buttons .button{padding:8px 11px;font-size:12px}.field-warning{color:#c07a00;font-size:12px;line-height:1.5}.central-profile-card{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.central-profile-card>div{border:1px solid var(--line);background:var(--surface-muted);border-radius:14px;gap:4px;min-width:0;padding:13px;display:grid}.central-profile-card span{color:var(--muted);font-size:12px}.central-profile-card strong{overflow-wrap:anywhere}.central-profile-card .ok{color:#0b8152}.central-profile-card .warn{color:#a46d00}.preference-save-status{color:#145d44;background:#effaf5;border:1px solid #b9decf;border-radius:14px;align-items:center;gap:10px;margin-top:12px;padding:13px 14px;display:flex}.preference-save-status>svg{flex:none}.preference-save-status>div{gap:3px;display:grid}.preference-save-status span{color:#477365;font-size:12px}.signup-filter-tabs{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.signup-filter-tabs button{border:1px solid var(--line);background:var(--surface-muted);color:var(--text);cursor:pointer;border-radius:999px;padding:8px 13px;font-weight:800}.signup-filter-tabs button.active{background:var(--blue);border-color:var(--blue);color:#fff}.signup-request-list{gap:12px;display:grid}.signup-request-card{border:1px solid var(--line);background:var(--surface-muted);border-radius:18px;padding:16px}.signup-request-card.approved{border-color:#a8d8c4}.signup-request-card.rejected{border-color:#e6b5bb}.signup-request-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.signup-request-head>div{gap:4px;min-width:0;display:grid}.signup-request-head strong{font-size:17px}.signup-request-head span,.signup-request-head small{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.signup-request-head>div:last-child{text-align:right}.signup-request-head b{color:var(--blue);font-size:12px}.signup-request-summary{background:color-mix(in srgb,var(--surface) 74%,transparent);border-radius:13px;margin:12px 0;padding:12px}.signup-request-summary span{color:var(--muted);font-size:12px}.signup-request-summary p{margin:6px 0 0;line-height:1.55}.signup-permission-block{gap:5px;margin:12px 0;display:grid}.signup-permission-block>small{color:var(--muted)}.signup-reviewed-line{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:8px 16px;padding-top:10px;font-size:12px;display:flex}.empty-state.compact{justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}html[data-theme=dark] .deployment-url-field,html[data-theme=dark] .central-profile-card>div,html[data-theme=dark] .signup-request-card{color:#f8fafc;background:#131f32;border-color:#34445c}html[data-theme=dark] .preference-save-status{color:#a7f2d2;background:#103328;border-color:#2f6a56}html[data-theme=dark] .preference-save-status span{color:#b9d9cc}html[data-theme=dark] .field-warning{color:#ffd278}html[data-theme=dark] .central-profile-card span,html[data-theme=dark] .signup-request-head span,html[data-theme=dark] .signup-request-head small,html[data-theme=dark] .signup-request-summary span,html[data-theme=dark] .signup-permission-block>small,html[data-theme=dark] .signup-reviewed-line{color:#b9c6d8}html[data-theme=dark] .signup-request-summary{background:#18263b}html[data-theme=dark] .signup-filter-tabs button{color:#e5edf8;background:#1b2940;border-color:#40516b}html[data-theme=dark] .signup-filter-tabs button.active{color:#fff;background:#2f6fed;border-color:#74a3ff}@media (width<=760px){.auth-form-grid,.central-profile-card{grid-template-columns:1fr}.signup-request-head{flex-direction:column}.signup-request-head>div:last-child{text-align:left}.auth-card.auth-card-wide{width:100%}}.settings-detail-pane{padding-bottom:110px}.settings-detail-pane>.content-card,.settings-detail-pane>.sub-setting-block,.settings-detail-pane>.settings-inner-tabs+.content-card{margin-top:18px!important}.settings-detail-pane .content-card{padding:20px}.settings-detail-pane .content-card>h3,.settings-detail-pane .content-card>.row-between:first-child{margin-bottom:14px}.settings-detail-pane .settings-grid{gap:14px 16px}.settings-detail-pane .field{margin:4px 0 12px}.settings-detail-pane .check-row{margin:10px 0}.settings-detail-pane .security-note,.settings-detail-pane .cloud-status-line,.settings-detail-pane .preference-save-status{margin-top:14px;line-height:1.55}.settings-inner-tabs{margin-bottom:18px}.usage-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.usage-limit-list{gap:14px;margin:16px 0;display:grid}.usage-limit-row{border:1px solid var(--line);background:var(--surface-muted);border-radius:18px;padding:16px}.usage-limit-row.warning{background:#fff9e7;border-color:#e7bd59}.usage-limit-row.exceeded{background:#fff0f2;border-color:#e69aa2}.usage-limit-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.usage-limit-head>div{gap:4px;display:grid}.usage-limit-head span{color:var(--muted);font-size:12px}.usage-limit-head b{font-size:17px}.usage-progress{background:#e8edf4;border-radius:999px;height:9px;margin:12px 0;overflow:hidden}.usage-progress i{border-radius:inherit;background:#2f6fed;height:100%;transition:width .2s;display:block}.usage-limit-row.warning .usage-progress i{background:#d99a14}.usage-limit-row.exceeded .usage-progress i{background:#d63543}.usage-limit-fields{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;display:grid}.usage-block-check{min-height:48px;padding:0 0 10px}.facility-bulk-toolbar{border:1px solid var(--line);background:var(--surface);border-radius:18px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:13px 15px;display:flex;box-shadow:0 3px 14px #1622370a}.facility-bulk-toolbar>div{align-items:center;gap:10px;min-width:0;display:flex}.facility-bulk-toolbar>div>svg{color:var(--blue);flex:none}.facility-bulk-toolbar span{gap:2px;min-width:0;display:grid}.facility-bulk-toolbar small{color:var(--muted);font-size:11px}.bulk-import-guide,.bulk-import-preview{max-width:none!important}.bulk-progress{background:var(--surface-muted);border:1px solid var(--line);border-radius:12px;padding:11px 13px}.bulk-import-list{gap:10px;max-height:48vh;margin-top:14px;padding-right:4px;display:grid;overflow:auto}.bulk-import-row{border:1px solid var(--line);background:var(--surface-muted);border-radius:16px;grid-template-columns:74px minmax(0,1fr) 100px;align-items:start;gap:12px;padding:13px;display:grid}.bulk-import-row.error{background:#fff3f4;border-color:#e7a0a7}.bulk-import-row.candidate{background:#fff9e8;border-color:#e8c36f}.bulk-import-row.resolved,.bulk-import-row.applied{background:#f0faf5;border-color:#9ed4bc}.bulk-row-status{align-items:center;gap:6px;font-size:11px;font-weight:900;display:flex}.bulk-row-status svg{width:18px;height:18px}.bulk-import-row.error .bulk-row-status{color:#c82934}.bulk-import-row.candidate .bulk-row-status{color:#9a6a00}.bulk-import-row.resolved .bulk-row-status,.bulk-import-row.applied .bulk-row-status{color:#0b8152}.bulk-row-main{gap:4px;min-width:0;display:grid}.bulk-row-main strong,.bulk-row-main span,.bulk-row-main small{overflow-wrap:anywhere}.bulk-row-main span{color:var(--muted);font-size:12px}.bulk-row-main small{color:var(--muted);font-size:11px}.bulk-row-summary{text-align:right;gap:3px;display:grid}.bulk-row-summary span{color:var(--muted);font-size:11px}.bulk-candidate-select{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px;display:grid}.bulk-candidate-select select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;color:var(--text);border-radius:12px;padding:10px}.bulk-apply-actions{justify-content:flex-end;margin-top:16px}html[data-theme=dark] .usage-limit-row,html[data-theme=dark] .facility-bulk-toolbar,html[data-theme=dark] .bulk-import-row,html[data-theme=dark] .bulk-progress{color:#f8fafc;background:#142035;border-color:#34445c}html[data-theme=dark] .usage-limit-row.warning,html[data-theme=dark] .bulk-import-row.candidate{background:#3c300d;border-color:#7c641e}html[data-theme=dark] .usage-limit-row.exceeded,html[data-theme=dark] .bulk-import-row.error{background:#421d26;border-color:#76323e}html[data-theme=dark] .bulk-import-row.resolved,html[data-theme=dark] .bulk-import-row.applied{background:#103328;border-color:#2e6b55}html[data-theme=dark] .usage-progress{background:#29364a}html[data-theme=dark] .bulk-candidate-select select{color:#f8fafc;background:#101a2b;border-color:#3a4960}@media (width<=900px){.usage-limit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-import-row{grid-template-columns:64px minmax(0,1fr)}.bulk-row-summary{text-align:left;grid-column:2;gap:8px;display:flex}}@media (width<=640px){.settings-detail-pane{padding-bottom:130px}.settings-detail-pane .content-card{padding:16px}.usage-summary-grid,.usage-limit-fields{grid-template-columns:1fr}.facility-bulk-toolbar{flex-direction:column;align-items:stretch}.facility-bulk-toolbar .button{width:100%}.bulk-import-row{grid-template-columns:1fr}.bulk-row-status,.bulk-row-summary{text-align:left;grid-column:auto}.bulk-row-summary{display:flex}.bulk-candidate-select{grid-template-columns:1fr}.bulk-candidate-select .button{width:100%}}.profile-menu-wrap{flex:none;position:relative}.profile-chip{cursor:pointer;min-height:50px;transition:border-color .15s,background .15s,box-shadow .15s}.profile-chip:hover,.profile-chip.open{background:#f7faff;border-color:#9db9e8;box-shadow:0 8px 22px #1d4e911f}.profile-chip-chevron{flex:none;transition:transform .15s}.profile-chip.open .profile-chip-chevron{transform:rotate(180deg)}.profile-account-menu{z-index:80;border:1px solid var(--line);background:#fff;border-radius:20px;gap:8px;width:min(340px,100vw - 28px);padding:12px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 22px 65px #0f172a3d}.profile-account-summary{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:10px 9px 12px;display:flex}.profile-account-summary>div:last-child{gap:2px;min-width:0;display:grid}.profile-account-summary small,.profile-account-summary span{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.profile-account-summary strong{color:var(--text);font-size:17px}.profile-account-icon{width:40px;height:40px;color:var(--blue);background:#eaf1ff;border-radius:13px;flex:none;place-items:center;display:grid}.profile-account-meta{grid-template-columns:1fr 1fr;gap:8px;padding:2px;display:grid}.profile-account-meta span{color:var(--text);overflow-wrap:anywhere;background:#f4f7fb;border-radius:12px;gap:3px;min-width:0;padding:9px 10px;font-size:12px;display:grid}.profile-account-meta b{color:var(--muted);font-size:10px}.profile-account-menu>button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:13px;grid-template-columns:22px 1fr;align-items:center;gap:9px;padding:10px 11px;display:grid}.profile-account-menu>button:hover{background:#f1f5fb}.profile-account-menu>button>svg{color:#55729c}.profile-account-menu>button>span{gap:2px;display:grid}.profile-account-menu>button strong{font-size:13px}.profile-account-menu>button small{color:var(--muted);font-size:11px;line-height:1.35}.profile-account-menu>button.danger{color:#b52d39}.profile-account-menu>button.danger>svg{color:#d34652}.auth-card.local-auth-card{width:min(500px,100%)}.auth-central-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.auth-central-actions .button{min-height:46px;padding:10px 12px}.auth-origin-guide{color:#b8cae5;background:#386cc41a;border:1px solid #73a5ff3d;border-radius:13px;gap:5px;margin-top:13px;padding:11px 12px;font-size:11px;line-height:1.5;display:grid}.auth-origin-guide strong{color:#e4eeff}.auth-origin-guide code{color:#b9d4ff;background:#091220;border-radius:5px;padding:1px 4px}.auth-provider-back{border-top:1px solid #2d3d56;margin-top:14px;padding-top:13px}.auth-provider-back .button{margin-top:0!important}.button.ghost{color:#9fb1ca;background:0 0;border:1px solid #34465f}.settings-detail-pane .button-row{gap:12px;margin-top:16px;margin-bottom:4px}.settings-detail-pane .central-profile-card{gap:14px;margin:20px 0}.settings-detail-pane .sub-setting-block{margin-top:20px;padding:18px}.settings-detail-pane .sub-setting-block+.button-row{margin-top:18px}.settings-detail-pane .security-note,.settings-detail-pane .cloud-status-line,.settings-detail-pane .preference-save-status{margin-top:16px}.settings-detail-pane .settings-bottom-close{margin-top:22px}html[data-theme=dark] .profile-chip:hover,html[data-theme=dark] .profile-chip.open{background:#17243a;border-color:#4b6489;box-shadow:0 10px 28px #0000004d}html[data-theme=dark] .profile-account-menu{color:#f8fafc;background:#101a2b;border-color:#33435c}html[data-theme=dark] .profile-account-summary{border-color:#33435c}html[data-theme=dark] .profile-account-icon{color:#83adff;background:#182b49}html[data-theme=dark] .profile-account-meta span{color:#f1f5f9;background:#17243a}html[data-theme=dark] .profile-account-menu>button{color:#f1f5f9}html[data-theme=dark] .profile-account-menu>button:hover{background:#19283f}html[data-theme=dark] .button.ghost{color:#cbd8ea;background:#111d30;border-color:#3c4e69}@media (width<=640px){.app-header{gap:9px;padding:12px 14px}.app-header h1{font-size:21px}.profile-chip{padding:7px 10px}.profile-chip small{display:none}.profile-chip strong{font-size:12px}.profile-chip-chevron{display:none}.profile-account-menu{width:auto;max-height:calc(100vh - 100px);position:fixed;top:76px;left:12px;right:12px;overflow:auto}.auth-central-actions{grid-template-columns:1fr}.auth-central-actions .button{width:100%}.settings-detail-pane .button-row{grid-template-columns:1fr;gap:10px;display:grid}.settings-detail-pane .button-row .button{width:100%;min-width:0}.settings-detail-pane .central-profile-card{gap:10px}}.usage-dashboard-overlay{z-index:1800;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040812b8;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.usage-dashboard-panel{border:1px solid var(--border);background:var(--panel);border-radius:24px;width:min(760px,100%);max-height:calc(100dvh - 28px);padding:22px;overflow:auto;box-shadow:0 28px 80px #00000073}.usage-dashboard-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.usage-dashboard-header small{color:var(--primary);letter-spacing:.08em;font-weight:800}.usage-dashboard-header h2{align-items:center;gap:9px;margin:5px 0 6px;font-size:1.42rem;display:flex}.usage-dashboard-header h2 svg{color:var(--primary)}.usage-dashboard-header p{color:var(--muted);margin:0;font-size:.92rem}.usage-dashboard-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.usage-dashboard-summary article{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:14px}.usage-dashboard-summary span{color:var(--muted);margin-bottom:6px;font-size:.78rem;display:block}.usage-dashboard-summary strong{font-size:1.08rem}.usage-dashboard-list{gap:10px;display:grid}.usage-dashboard-row{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:14px}.usage-dashboard-row.warning{border-color:#c9902f}.usage-dashboard-row.exceeded{border-color:#d55757}.usage-dashboard-row-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.usage-dashboard-row-head div{gap:4px;display:grid}.usage-dashboard-row-head span,.usage-dashboard-row>small{color:var(--muted);font-size:.78rem}.usage-dashboard-row-head b{color:var(--primary)}.usage-dashboard-row.warning .usage-dashboard-row-head b{color:#e1a946}.usage-dashboard-row.exceeded .usage-dashboard-row-head b{color:#ef6b6b}.usage-dashboard-notice,.usage-dashboard-source{border:1px solid var(--border);background:var(--surface);border-radius:14px;align-items:flex-start;gap:10px;margin-top:13px;padding:12px 14px;display:flex}.usage-dashboard-notice svg{color:var(--primary);flex:none}.usage-dashboard-notice.warning svg{color:#e1a946}.usage-dashboard-notice.danger svg{color:#ef6b6b}.usage-dashboard-source{gap:4px;display:grid}.usage-dashboard-source span{color:var(--muted);font-size:.82rem;line-height:1.5}.usage-dashboard-actions{justify-content:flex-end;gap:9px;margin-top:16px;display:flex}@media (width<=680px){.usage-dashboard-overlay{align-items:flex-end;padding:0}.usage-dashboard-panel{border-radius:24px 24px 0 0;max-height:94dvh;padding:18px}.usage-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-dashboard-actions{background:var(--panel);padding:12px 0 18px;position:sticky;bottom:-18px}.usage-dashboard-actions .button{flex:1}}.usage-dashboard-loading{background:var(--surface-soft,#94a3b81f);border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex}.usage-dashboard-row-head strong{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.usage-source-badge{letter-spacing:.02em;border-radius:999px;align-items:center;min-height:20px;padding:2px 7px;font-size:10px;font-style:normal;font-weight:800;display:inline-flex}.usage-source-badge.server{color:#059669;background:#10b98126}.usage-source-badge.device{color:#64748b;background:#64748b29}.usage-global-line{color:var(--text-secondary,#64748b);margin-top:5px;font-weight:700;display:block}.central-usage-limit-list{gap:12px;margin-top:14px;display:grid}.central-usage-limit-row{border:1px solid var(--border);background:var(--panel);border-radius:16px;gap:10px;padding:15px;display:grid}.central-usage-limit-row .button-row{justify-content:flex-end}.central-usage-settings-card .empty-note{margin-top:14px}.button,.compact-action,.settings-menu-grid button,.settings-inner-tabs button,.modal-actions .button,.settings-bottom-close .button,.modal-bottom-close .button{white-space:nowrap}.settings-detail-pane,.modal-body{padding-bottom:32px}.settings-bottom-close,.modal-bottom-close{border-top:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;margin-top:20px;padding-top:16px;position:static}.settings-bottom-close .button,.modal-bottom-close .button{min-width:120px}.central-mode-status+.security-note{margin-top:12px}.staff-settings-card .hint{color:var(--muted)}.photo-archive-center{border:1px solid var(--line);background:var(--surface-muted);border-radius:18px;margin-top:22px!important}.photo-archive-head h4{align-items:center;gap:8px;display:flex;margin:0 0 6px!important}.photo-archive-filters{margin-top:14px}.photo-archive-summary{margin:14px 0}.photo-archive-progress{background:var(--surface);border:1px solid var(--line);border-radius:13px;align-items:center;gap:9px;padding:12px 14px;font-size:12px;font-weight:800;display:flex}.photo-archive-actions{align-items:center}.photo-archive-actions .button{white-space:nowrap;min-width:210px}.warning-note{color:#8b6500;background:#fff8df;border:1px solid #d7aa3a}html[data-theme=dark] .photo-archive-center{background:#111d30;border-color:#34445c}html[data-theme=dark] .photo-archive-progress{background:#0e1828;border-color:#34445c}html[data-theme=dark] .warning-note{color:#f1d477;background:#392d0d;border-color:#755e20}@media (width<=720px){.photo-archive-head{flex-direction:column;align-items:stretch}.photo-archive-head .button,.photo-archive-actions .button{width:100%;min-width:0}}.usage-user-limit-editor .selected-usage-user{margin-top:14px}.usage-user-limit-editor .selected-usage-user.inactive{background:#855e161f;border-color:#8c6b2c}.local-only-usage-warning{flex-wrap:wrap;align-items:flex-start}.local-only-usage-warning>span{flex:1;min-width:220px}.local-only-usage-warning .button{margin-left:auto}.local-password-reset{margin-top:10px}.worker-help-box code,.deployment-checklist code{overflow-wrap:anywhere}@media (width<=640px){.local-only-usage-warning .button{width:100%;margin-left:0}.usage-user-limit-editor .settings-grid{grid-template-columns:1fr}}.cloud-storage-capacity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.cloud-storage-capacity-card{border:1px solid var(--line);background:var(--surface-muted);border-radius:17px;gap:9px;padding:16px;display:grid}.cloud-storage-capacity-card>b{font-size:18px}.cloud-storage-capacity-card small{color:var(--muted)}.cloud-storage-capacity-card.warning{background:#fff9e7;border-color:#d99a14}.warning-note{border-color:#d99a14!important}html[data-theme=dark] .cloud-storage-capacity-card{color:#f8fafc;background:#142035;border-color:#34445c}html[data-theme=dark] .cloud-storage-capacity-card.warning{background:#3c300d;border-color:#7c641e}@media (width<=720px){.cloud-storage-capacity-grid{grid-template-columns:1fr}}.deployment-center{border:1px solid var(--line);background:var(--surface-muted);border-radius:20px;margin-top:18px;padding:18px}.deployment-center-head{align-items:flex-start}.deployment-center-head h4{align-items:center;gap:8px;margin:0 0 6px;display:flex}.deployment-center-head h4 svg{width:20px;height:20px}.deployment-url-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.deployment-url-grid>.field{grid-column:1/-1}.deployment-copy-card{border:1px solid var(--line);background:var(--surface);border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px;padding:13px;display:grid}.deployment-copy-card>span{color:var(--muted);grid-column:1/-1;font-size:11px;font-weight:800}.deployment-copy-card>strong{overflow-wrap:anywhere;min-width:0;font-size:12px}.deployment-copy-card>.button{padding:8px 10px;font-size:12px}.deployment-result-list{gap:9px;margin-top:14px;display:grid}.deployment-result-list>div{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:flex-start;gap:9px;padding:11px 12px;display:flex}.deployment-result-list>div>svg{flex:none;width:20px;height:20px;margin-top:1px}.deployment-result-list>div>span{gap:3px;display:grid}.deployment-result-list>div small{color:var(--muted);line-height:1.45}.deployment-result-list>div.ok>svg{color:#0b8152}.deployment-result-list>div.warn>svg{color:#c98700}html[data-theme=dark] .deployment-center{background:#121e31;border-color:#34445c}html[data-theme=dark] .deployment-copy-card,html[data-theme=dark] .deployment-result-list>div{background:#0f192a;border-color:#34445c}@media (width<=720px){.deployment-center-head{gap:10px;display:grid}.deployment-center-head>.button{width:100%}.deployment-url-grid,.deployment-copy-card{grid-template-columns:1fr}.deployment-copy-card>.button{width:100%}}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.pre-line{white-space:pre-line}.gis-import-controls{grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);gap:14px;margin-top:16px;display:grid}.gis-drop-zone{border:2px dashed var(--line);text-align:center;background:var(--surface-muted);min-height:132px;color:var(--muted);border-radius:20px;place-items:center;gap:7px;margin-top:14px;padding:20px;display:grid}.gis-drop-zone svg{width:34px;height:34px;color:var(--blue)}.gis-drop-zone strong{color:var(--text);font-size:16px}.gis-drop-zone span{font-size:12px;line-height:1.55}.gis-version-layout{grid-template-columns:minmax(250px,.72fr) minmax(0,1.5fr);gap:16px;margin-top:16px;display:grid}.gis-version-list{align-content:start;gap:9px;max-height:520px;padding-right:4px;display:grid;overflow:auto}.gis-version-list>button{border:1px solid var(--line);background:var(--surface-muted);color:var(--text);text-align:left;cursor:pointer;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:13px;display:flex}.gis-version-list>button.active{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 20%,transparent)}.gis-version-list span{gap:3px;min-width:0;display:grid}.gis-version-list small{color:var(--muted);overflow-wrap:anywhere}.gis-status{white-space:nowrap;border-radius:999px;padding:6px 8px;font-size:10px;font-style:normal;font-weight:900}.gis-status.applied,.gis-status.ready{color:#0b8152;background:#e5f7ef}.gis-status.needs_mapping,.gis-status.calibration_required{color:#9a6a00;background:#fff3c9}.gis-status.conversion_required{color:#5d4c9f;background:#eeeafe}.gis-status.error{color:#c82934;background:#ffeaec}.gis-preview-pane{min-width:0}.gis-feature-preview{border-radius:18px;width:100%;height:auto;min-height:250px;margin:14px 0;display:block}.gis-preview-background{fill:var(--surface-muted);stroke:var(--line)}.gis-empty-preview,.route-schematic-empty{border:1px dashed var(--line);background:var(--surface-muted);min-height:230px;color:var(--muted);border-radius:18px;align-content:center;place-items:center;gap:8px;display:grid}.gis-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.gis-overlay-editor{grid-template-columns:minmax(260px,1fr) minmax(320px,1fr);gap:18px;margin-top:14px;display:grid}.gis-overlay-image{border:1px solid var(--line);background:var(--surface-muted);border-radius:18px;place-items:center;min-height:330px;padding:12px;display:grid;overflow:hidden}.gis-overlay-image img{object-fit:contain;max-width:100%;max-height:440px;transition:opacity .15s,transform .15s}.switch-row{border:1px solid var(--line);background:var(--surface-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:10px 13px;font-weight:900;display:flex}.switch-row input{width:20px;height:20px}.route-source-status{border:1px solid var(--line);background:var(--surface-muted);border-radius:16px;align-items:flex-start;gap:11px;margin:13px 0;padding:13px 15px;display:flex}.route-source-status>span{gap:4px;display:grid}.route-source-status small{color:var(--muted)}.route-plan-status{border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}.route-plan-status.draft{color:#9a6a00;background:#fff3c9}.route-plan-status.confirmed{color:#0b8152;background:#e5f7ef}.intra-route-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.intra-route-schematic{width:100%;height:auto;min-height:270px;margin-top:14px;display:block}.intra-route-line{stroke:var(--blue);stroke-width:5px;stroke-linecap:round;stroke-dasharray:10 7}.intra-route-node{fill:#fff;stroke:var(--blue);stroke-width:4px}.intra-route-schematic text{fill:#172033;font-size:12px;font-weight:900}.route-schematic-linear{flex-wrap:wrap;gap:8px;padding:14px;display:flex}.route-schematic-linear span{border:1px solid var(--line);background:var(--surface-muted);border-radius:999px;padding:8px 10px}.inspection-segment-list{gap:12px;margin-top:14px;display:grid}.inspection-segment-row{border:1px solid var(--line);background:var(--surface-muted);border-radius:18px;grid-template-columns:58px minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;display:grid}.inspection-segment-row.disabled{opacity:.58}.segment-order{justify-items:center;gap:5px;display:grid}.segment-order strong{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.segment-order button{background:var(--surface);width:32px;height:28px;color:var(--text);cursor:pointer;border:0;border-radius:9px;place-items:center;display:grid}.segment-order svg{width:16px;height:16px}.segment-fields{min-width:0}html[data-theme=dark] .gis-status.applied,html[data-theme=dark] .gis-status.ready,html[data-theme=dark] .route-plan-status.confirmed{color:#81e0b8;background:#103328}html[data-theme=dark] .gis-status.needs_mapping,html[data-theme=dark] .gis-status.calibration_required,html[data-theme=dark] .route-plan-status.draft{color:#f0ca68;background:#3c300d}html[data-theme=dark] .gis-status.error{color:#ffabb3;background:#421d26}html[data-theme=dark] .intra-route-node{fill:#101a2b}html[data-theme=dark] .intra-route-schematic text{fill:#f8fafc}@media (width<=900px){.gis-version-layout,.gis-overlay-editor{grid-template-columns:1fr}.gis-version-list{max-height:280px}.gis-summary,.intra-route-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.gis-import-controls{grid-template-columns:1fr}.inspection-segment-row{grid-template-columns:44px minmax(0,1fr)}.inspection-segment-row>.icon-button{grid-column:2;justify-self:end}.gis-summary,.intra-route-summary{grid-template-columns:1fr 1fr}}.gis-map-layer-strip{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;padding:11px 13px;display:flex}.gis-map-layer-strip>span{align-items:center;gap:6px;margin-right:4px;font-weight:900;display:flex}.gis-map-layer-strip label{background:var(--surface-muted);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:12px;display:flex}.gis-map-layer-strip small{color:var(--muted);margin-left:auto}.kakao-gis-point{pointer-events:none;align-items:center;gap:5px;display:flex}.kakao-gis-point>span{background:var(--gis-color);border:2px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 2px 8px #00000047}.kakao-gis-point small{color:#fff;white-space:nowrap;background:#0f172adb;border-radius:8px;padding:4px 6px;font-size:10px}
