:root{--navy:#12356d;--blue:#237fea;--blue-50:#eef6ff;--ink:#172033;--muted:#68758a;--line:#dfe6ef;--bg:#f4f7fb;--white:#fff;--green:#0e9f6e;--orange:#ed7c2d;--red:#d64045;--radius:18px;--shadow:0 10px 30px rgba(23,48,86,.08)}
*{box-sizing:border-box}html{font-family:Pretendard,"Noto Sans KR",system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);word-break:keep-all}body{margin:0;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{display:none}.main{min-width:0;padding:0 16px 100px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 0 16px}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:12px}.topbar h1{margin:0;font-size:24px}.top-actions{display:flex;align-items:center;gap:10px}.icon-button{position:relative;width:44px;height:44px;border:1px solid var(--line);border-radius:14px;background:#fff}.icon-button i{position:absolute;right:7px;top:6px;width:16px;height:16px;border-radius:8px;background:var(--red);color:#fff;font-size:10px;font-style:normal;line-height:16px}.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--navy);color:#fff;font-weight:800}.page{display:none}.page.active{display:block}.hero-strip{position:relative;isolation:isolate;overflow:hidden;min-height:270px;border-radius:24px;padding:30px 24px;color:#fff;background:linear-gradient(90deg,rgba(10,32,70,.96),rgba(14,54,105,.72)),url('assets/workshop.jpg') center/cover;box-shadow:var(--shadow)}.hero-strip h2{font-size:27px;line-height:1.28;margin:10px 0}.hero-strip p{max-width:470px;color:#dce8f8;font-size:14px;line-height:1.6}.hero-label{font-size:11px;letter-spacing:.15em;color:#90c6ff}.hero-cta{margin-top:12px}.primary,.secondary,.text-button,.chip,.add-line{min-height:46px;border-radius:12px;font-weight:750}.primary{border:0;background:var(--blue);color:#fff;padding:0 20px;box-shadow:0 6px 14px rgba(35,127,234,.2)}.primary:hover{background:#146dd2}.secondary{border:1px solid var(--line);background:#fff;color:var(--ink);padding:0 18px}.text-button{border:0;background:transparent;color:var(--blue);padding:0 10px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.metric{min-width:0;border:1px solid #e7edf4;border-radius:16px;background:#fff;padding:17px 14px;box-shadow:0 4px 18px rgba(23,48,86,.04)}.metric>span{display:block;color:var(--muted);font-size:12px}.metric strong{display:block;margin:8px 0;font-size:21px;letter-spacing:-.04em}.metric strong small{font-size:12px;margin-left:3px}.metric em{font-size:11px;color:var(--muted);font-style:normal}.metric em.up{color:var(--green)}.metric.accent{border-color:#ffd6bd;background:#fff9f4}.panel{border:1px solid #e4eaf2;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.ledger-panel{padding:20px 14px}.panel-head{display:flex;flex-direction:column;gap:16px}.panel-head h2,.ranking h2{margin:0;font-size:18px}.panel-head p,.ranking>p{margin:5px 0 0;color:var(--muted);font-size:13px}.panel-actions{display:flex;gap:8px}.search{display:flex;align-items:center;flex:1;min-width:0;height:46px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:#f9fbfd}.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;margin-left:6px}.filter-row{display:flex;gap:8px;overflow:auto;padding:18px 0 12px}.chip{white-space:nowrap;border:1px solid var(--line);background:#fff;padding:0 15px;color:var(--muted)}.chip.active{border-color:var(--blue);background:var(--blue-50);color:var(--blue)}.chip b{margin-left:4px}.work-list{display:grid;gap:10px}.work-card{display:grid;grid-template-columns:1fr auto;gap:8px 12px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:14px;padding:15px 13px}.work-card.done{border-left-color:var(--green)}.work-main{min-width:0}.plate{display:flex;align-items:center;gap:7px;font-weight:850}.status{padding:4px 7px;border-radius:7px;background:#eaf4ff;color:var(--blue);font-size:10px}.done .status{background:#e9f8f2;color:var(--green)}.work-main p{margin:6px 0 0;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-money{text-align:right}.work-money b{display:block;font-size:15px}.work-money small{color:var(--green)}.work-meta{grid-column:1/-1;display:flex;gap:12px;color:var(--muted);font-size:11px}.section-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.section-intro h2{font-size:26px;margin:8px 0}.section-intro p{color:var(--muted);font-size:14px;line-height:1.6;margin:0}.badge{display:inline-flex;align-items:center;height:26px;border-radius:8px;padding:0 10px;background:var(--blue-50);color:var(--blue);font-size:11px;font-weight:800}.register-layout{display:grid;gap:14px}.form-panel{padding:22px 16px}.step-title{display:flex;gap:12px;align-items:flex-start}.step-title>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:10px;background:var(--navy);color:#fff;font-weight:800}.step-title h3{margin:2px 0 4px;font-size:17px}.step-title p{margin:0;color:var(--muted);font-size:12px}.field-grid{display:grid;gap:14px;margin-top:18px}.field-grid label>span,legend{display:block;margin-bottom:7px;font-size:13px;font-weight:750}.field-grid label b{color:var(--red)}input,select{width:100%;height:48px;border:1px solid #ccd6e3;border-radius:11px;background:#fff;padding:0 13px;outline:0}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(35,127,234,.12)}.suffix{position:relative}.suffix input{padding-right:42px}.suffix span{position:absolute;right:13px;top:15px;color:var(--muted);font-size:13px}.customer-match{display:flex;align-items:center;gap:10px;margin-top:12px;border-radius:12px;background:#edf9f5;padding:12px;color:#146b52}.match-check{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--green);color:#fff}.customer-match p{margin:2px 0 0;font-size:11px}.divider{height:1px;background:var(--line);margin:26px 0}.quick-jobs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}.quick-jobs button{min-height:64px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;padding:10px 12px;font-weight:750}.quick-jobs button:hover{border-color:var(--blue);background:var(--blue-50)}.quick-jobs small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.line-head{display:none}.line-item{display:grid;grid-template-columns:1fr 44px;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:8px}.line-item .name{grid-column:1/-1}.line-item input{height:44px}.money-input{position:relative}.money-input input{padding-right:28px}.money-input span{position:absolute;right:10px;top:14px;font-size:11px;color:var(--muted)}.remove-line{width:44px;height:44px;border:0;border-radius:10px;background:#fff0f0;color:var(--red);font-size:18px}.add-line{width:100%;border:1px dashed #a9b9cd;background:#f9fbfd;color:var(--navy)}fieldset{border:0;padding:0;margin:0}.segmented{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;background:#edf1f6}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented span{display:grid;place-items:center;min-height:42px;border-radius:9px;color:var(--muted);font-size:13px}.segmented input:checked+span{background:#fff;color:var(--navy);font-weight:800;box-shadow:0 2px 7px rgba(23,48,86,.12)}.summary-panel{padding:20px 16px}.summary-panel h3{margin:0 0 14px}.summary-car{border-radius:13px;background:var(--bg);padding:14px}.summary-car span{display:block;font-weight:850}.summary-car small{display:block;color:var(--muted);margin-top:4px}.summary-panel dl{margin:20px 0}.summary-panel dl div{display:flex;justify-content:space-between;padding:9px 0;color:var(--muted)}.summary-panel dd{margin:0;color:var(--ink);font-weight:750}.summary-panel .profit-row{border-top:1px solid var(--line);margin-top:7px;padding-top:15px}.summary-panel .profit-row dd{color:var(--green);font-size:19px}.margin-box{display:flex;align-items:center;justify-content:space-between;border-radius:12px;background:#edf9f5;color:#146b52;padding:14px}.margin-box strong{font-size:22px}.summary-note{font-size:11px;line-height:1.6;color:var(--muted);margin:16px 0}.full{width:100%;height:52px}.profit-grid{display:grid;gap:14px}.chart-panel,.ranking{padding:20px 16px}.legend{display:flex;gap:12px;font-size:11px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:8px;height:8px;border-radius:3px}.sales-dot{background:var(--blue)}.profit-dot{background:var(--green)}.bar-chart{display:flex;align-items:flex-end;justify-content:space-around;height:230px;padding-top:25px}.bar-chart>div{display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;flex:1}.bar-chart span{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:3px;height:100%;width:100%;border-bottom:1px solid var(--line)}.bar-chart i,.bar-chart b{display:block;width:14px;border-radius:5px 5px 0 0}.bar-chart i{background:var(--blue)}.bar-chart b{background:var(--green)}.bar-chart small{color:var(--muted)}.ranking ol{list-style:none;margin:17px 0 0;padding:0}.ranking li{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:14px 0;border-top:1px solid var(--line)}.ranking li>span{color:var(--blue);font-weight:900}.ranking li b,.ranking li small{display:block}.ranking li small{color:var(--muted);font-size:11px;margin-top:3px}.ranking li strong{font-size:13px}.empty-panel{display:grid;place-items:center;min-height:540px;text-align:center;border:1px dashed #b8c6d8;border-radius:24px;background:#fff;padding:30px}.empty-panel>span{display:grid;place-items:center;width:66px;height:66px;border-radius:22px;background:var(--blue-50);color:var(--blue);font-size:30px}.empty-panel h2{margin:18px 0 8px}.empty-panel p{color:var(--muted);line-height:1.7}.bottom-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);padding:7px 8px max(7px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.bottom-nav button{min-height:55px;border:0;background:transparent;color:var(--muted);font-size:10px}.bottom-nav span{display:block;font-size:22px;line-height:24px}.bottom-nav button.active{color:var(--blue);font-weight:850}.toast{position:fixed;z-index:30;left:50%;bottom:88px;transform:translate(-50%,20px);width:min(calc(100% - 32px),420px);border-radius:12px;background:#13233b;color:#fff;padding:14px 18px;text-align:center;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:720px){.main{padding:0 28px 50px}.hero-strip{min-height:240px;padding:34px}.hero-strip h2{font-size:32px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px}.metric{padding:20px}.metric strong{font-size:24px}.panel-head{flex-direction:row;align-items:center;justify-content:space-between}.panel-actions{min-width:390px}.work-card{grid-template-columns:1.8fr .8fr .6fr;padding:16px}.work-meta{grid-column:auto;align-self:center;justify-content:flex-end}.field-grid.three{grid-template-columns:1.1fr 1fr 1fr}.field-grid.two{grid-template-columns:1fr 1fr}.quick-jobs{grid-template-columns:repeat(3,1fr)}.line-head{display:grid;grid-template-columns:1fr 150px 150px 44px;gap:8px;padding:0 10px 7px;color:var(--muted);font-size:11px}.line-head i{font-style:normal;color:#9aa6b6}.line-item{grid-template-columns:1fr 150px 150px 44px;border:0;padding:0}.line-item .name{grid-column:auto}.profit-grid{grid-template-columns:1.4fr 1fr}.toast{bottom:30px}}
@media(min-width:1100px){.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;border-right:1px solid var(--line);background:#fff;padding:26px 18px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 32px}.brand img{width:132px;height:auto}.brand span{padding-left:10px;border-left:1px solid var(--line);font-size:12px;color:var(--muted)}.nav-list{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;min-height:50px;border:0;border-radius:13px;background:transparent;color:var(--muted);padding:0 14px;text-align:left;font-weight:750}.nav-item .icon{display:grid;place-items:center;width:25px;font-size:21px}.nav-item.active{background:var(--blue-50);color:var(--blue)}.shop-card{margin-top:auto;border-radius:14px;background:var(--navy);color:#fff;padding:16px}.shop-card b,.shop-card span{display:block}.shop-card span{margin-top:5px;color:#bfcee4;font-size:10px}.main{padding:0 38px 50px;max-width:1600px;width:100%;margin:0 auto}.topbar{padding:26px 0 20px}.bottom-nav{display:none}.register-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start}.summary-panel{position:sticky;top:20px;padding:24px}.form-panel{padding:28px}.hero-strip{display:flex;align-items:flex-end;justify-content:space-between;min-height:230px}.hero-cta{margin-bottom:5px}.toast{bottom:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Mobile overflow safeguards */
.line-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}
.line-item>*{min-width:0}
.money-input,fieldset,.segmented label{min-width:0}
.segmented label{position:relative;cursor:pointer}
.segmented label>span{display:flex;align-items:center;justify-content:center;margin:0;min-height:48px;text-align:center;line-height:1.4}
.segmented input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.work-tax-mode .segmented,.quote-tax-mode .segmented{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.work-tax-mode .segmented label>span,.quote-tax-mode .segmented label>span{min-height:48px;padding:8px 4px;border:1px solid transparent}
.work-tax-mode .segmented input:checked+span,.quote-tax-mode .segmented input:checked+span{border-color:var(--blue);color:var(--blue);background:#fff}
.segmented input{width:1px;height:1px}
@media(min-width:720px){.line-item{grid-template-columns:minmax(0,1fr) 150px 150px 44px}}

.nav-item{text-decoration:none}.optional{display:inline-flex!important;margin-left:4px!important;padding:2px 6px;border-radius:5px;background:#eef2f7;color:var(--muted)!important;font-size:10px!important;font-style:normal}.field-help{display:block;margin-top:6px;color:var(--muted);font-size:10px}.empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.link-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.customer-body{min-height:100vh;background:#f2f6fb}.customer-header{display:flex;align-items:center;justify-content:space-between;height:66px;padding:0 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96)}.customer-header img{display:block;width:138px;height:auto}.customer-header span{font-size:12px;color:var(--muted);font-weight:700}.customer-main{width:min(100%,820px);margin:0 auto;padding:24px 16px 60px}.customer-hero{padding:18px 4px 24px}.customer-hero h1{margin:12px 0;font-size:30px;line-height:1.28;letter-spacing:-.05em}.customer-hero p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}.lookup-card{padding:24px 18px}.lookup-card h2{margin:0 0 7px;font-size:20px}.lookup-card>p{margin:0 0 22px;color:var(--muted);font-size:12px;line-height:1.6}.lookup-card label{display:block;margin-top:15px}.lookup-card label>span{display:block;margin-bottom:7px;font-size:13px;font-weight:800}.lookup-card .privacy-note{margin:14px 0!important;padding:12px;border-radius:10px;background:#f5f7fa;font-size:11px!important}.demo-hint{display:block;margin-top:12px;text-align:center;color:#8996a8;font-size:10px}.record-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}.round-back{flex:0 0 46px;width:46px;height:46px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--navy);font-size:20px}.record-top p{margin:0 0 3px;color:var(--muted);font-size:11px}.record-top h1{margin:0;font-size:22px}.vehicle-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:24px;border-radius:22px;background:linear-gradient(135deg,#0e2b59,#174b8d);color:#fff;padding:25px 22px;box-shadow:0 14px 32px rgba(18,53,109,.22)}.vehicle-card:after{content:"";position:absolute;width:170px;height:170px;right:-65px;top:-70px;border:35px solid rgba(255,255,255,.06);border-radius:50%}.vehicle-card span,.vehicle-card strong,.vehicle-card small{display:block}.vehicle-card>div>span{color:#98bce9;font-size:10px;letter-spacing:.12em}.vehicle-card strong{margin:7px 0 4px;font-size:26px}.vehicle-card small{color:#c4d5eb}.vehicle-mile{position:relative;z-index:1}.vehicle-mile b{display:block;margin-top:5px;font-size:16px}.customer-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 28px}.customer-metrics article{border:1px solid var(--line);border-radius:15px;background:#fff;padding:15px 13px}.customer-metrics article.next{grid-column:1/-1;background:#eef6ff;border-color:#c7e0ff}.customer-metrics span,.customer-metrics strong{display:block}.customer-metrics span{color:var(--muted);font-size:10px}.customer-metrics strong{margin-top:7px;font-size:17px}.customer-metrics strong small{font-size:11px;margin-left:2px}.record-section{margin-top:8px}.record-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}.record-heading h2{margin:7px 0 0;font-size:22px}.record-heading select{width:auto;height:42px}.timeline{display:grid;gap:12px}.history-card{display:grid;grid-template-columns:56px 1fr;gap:12px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px 14px}.history-card.latest{border-color:#a8d1ff;box-shadow:0 7px 22px rgba(35,127,234,.09)}.history-date{padding-right:10px;border-right:1px solid var(--line)}.history-date b,.history-date span{display:block}.history-date b{font-size:17px}.history-date span{margin-top:3px;color:var(--muted);font-size:10px}.history-body{min-width:0}.history-badge{display:inline-block;margin-bottom:6px;border-radius:6px;background:var(--blue-50);color:var(--blue);padding:3px 7px;font-size:9px;font-weight:800}.history-body h3{margin:0;font-size:16px}.history-body>p{margin:6px 0 12px;color:var(--muted);font-size:11px;line-height:1.55}.history-body dl{margin:0}.history-body dl div{display:flex;justify-content:space-between;gap:8px;padding:5px 0;font-size:10px}.history-body dt{color:var(--muted)}.history-body dd{margin:0;text-align:right}.record-help{margin-top:22px;border-radius:16px;background:#fff;padding:20px;text-align:center}.record-help b{font-size:14px}.record-help p{margin:6px 0 14px;color:var(--muted);font-size:11px}.record-help .link-button{width:100%;height:46px}
@media(min-width:600px){.customer-main{padding:42px 24px 80px}.customer-login{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:28px}.customer-hero h1{font-size:38px}.lookup-card{padding:30px}.vehicle-card{flex-direction:row;align-items:end;justify-content:space-between;padding:30px}.customer-metrics{grid-template-columns:repeat(3,1fr)}.customer-metrics article.next{grid-column:auto}.history-card{grid-template-columns:74px 1fr;padding:20px}.history-body dl{display:grid;grid-template-columns:1fr 1fr;gap:16px}}

.plate-field{min-width:0}.plate-input-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:7px}.camera-button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;height:48px;border:1px solid var(--blue);border-radius:11px;background:var(--blue-50);color:var(--blue);font-size:11px;font-weight:850}.camera-button em{font-style:normal}.camera-icon{position:relative;display:block;width:18px;height:13px;border:2px solid currentColor;border-radius:4px}.camera-icon:before{content:"";position:absolute;left:4px;top:-5px;width:7px;height:4px;border-radius:2px 2px 0 0;background:currentColor}.camera-icon:after{content:"";position:absolute;left:4px;top:2px;width:5px;height:5px;border:1.5px solid currentColor;border-radius:50%}.modal-open{overflow:hidden}.camera-modal{position:fixed;z-index:100;inset:0;display:flex;align-items:flex-end;justify-content:center;background:rgba(5,15,30,.72);padding:0}.camera-modal[hidden]{display:none}.camera-sheet{width:100%;max-height:96vh;overflow-y:auto;border-radius:22px 22px 0 0;background:#fff;padding:20px 16px max(18px,env(safe-area-inset-bottom))}.camera-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.camera-head h2{margin:8px 0 0;font-size:18px}.camera-close{flex:0 0 44px;width:44px;height:44px;border:0;border-radius:13px;background:#eef2f7;color:var(--ink);font-size:26px}.camera-stage{position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:16px;background:#101723}.camera-stage video,.camera-stage>img{width:100%;height:100%;object-fit:cover}.plate-guide{position:absolute;left:9%;right:9%;top:50%;height:30%;transform:translateY(-50%);border:2px solid #66b6ff;border-radius:12px;box-shadow:0 0 0 999px rgba(3,10,20,.3)}.plate-guide:before,.plate-guide:after,.plate-guide span:before,.plate-guide span:after{content:"";position:absolute;width:24px;height:24px;border-color:#fff}.plate-guide:before{left:-3px;top:-3px;border-left:4px solid #fff;border-top:4px solid #fff;border-radius:10px 0 0}.plate-guide:after{right:-3px;top:-3px;border-right:4px solid #fff;border-top:4px solid #fff;border-radius:0 10px 0 0}.plate-guide span:before{left:-3px;bottom:-3px;border-left:4px solid #fff;border-bottom:4px solid #fff;border-radius:0 0 0 10px}.plate-guide span:after{right:-3px;bottom:-3px;border-right:4px solid #fff;border-bottom:4px solid #fff;border-radius:0 0 10px}.plate-guide p{position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);margin:0;color:#fff;font-size:11px;white-space:nowrap}.camera-message{position:absolute;z-index:3;left:12px;right:12px;bottom:12px;border-radius:10px;background:rgba(5,15,30,.78);color:#fff;padding:10px;text-align:center;font-size:11px}.ocr-result{margin-top:14px}.ocr-result label{display:block;margin-bottom:7px;font-size:12px;font-weight:800}.ocr-result input{font-size:20px;font-weight:850;letter-spacing:.04em}.ocr-result p{margin:7px 0 0;color:var(--muted);font-size:10px}.camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.camera-actions>*{min-height:50px}.upload-button{position:relative}.upload-button input{position:absolute;width:1px;height:1px;opacity:0}.camera-privacy{margin:12px 0 0;text-align:center;color:var(--muted);font-size:9px;line-height:1.5}
@media(min-width:720px){.camera-modal{align-items:center;padding:24px}.camera-sheet{max-width:620px;border-radius:22px;padding:24px}.camera-stage{aspect-ratio:16/10}.plate-input-row{grid-template-columns:minmax(0,1fr) 130px}.camera-button{font-size:12px}}
.camera-actions .full-camera-action{grid-column:1/-1}.camera-actions button:disabled{cursor:wait;background:#9ca9ba;box-shadow:none}.camera-actions [hidden]{display:none}.camera-actions .upload-button:not([hidden]){grid-column:1/-1}
.work-photo-field{display:grid;gap:12px;margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.work-photo-copy b{display:block;font-size:14px}.work-photo-copy small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.55}.work-photo-button{position:relative;display:flex;align-items:center;justify-content:center;min-height:50px;border:1px dashed var(--blue);border-radius:12px;background:#fff;color:var(--blue);font-weight:800}.work-photo-button input{position:absolute;width:1px;height:1px;opacity:0}.work-photo-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.work-photo-preview figure{position:relative;overflow:hidden;aspect-ratio:1;border:1px solid var(--line);border-radius:10px;background:#eaf0f6;margin:0}.work-photo-preview img{width:100%;height:100%;object-fit:cover}.work-photo-preview span{position:absolute;right:4px;bottom:4px;border-radius:6px;background:rgba(5,20,40,.76);color:#fff;padding:3px 5px;font-size:9px}@media(max-width:480px){.work-photo-preview{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:719px){.camera-modal{align-items:stretch}.camera-sheet{display:flex;flex-direction:column;max-height:none;height:100%;border-radius:0;padding-top:max(16px,env(safe-area-inset-top))}.camera-stage{flex:1;min-height:280px;aspect-ratio:auto}.camera-actions{flex:0 0 auto}}
.login-gate{position:fixed;z-index:200;inset:0;display:grid;place-items:center;overflow-y:auto;background:linear-gradient(145deg,#eef4fb,#f8fafc);padding:20px}.login-gate[hidden]{display:none}.login-card{width:min(100%,430px);border:1px solid var(--line);border-radius:22px;background:#fff;padding:28px 22px;box-shadow:0 24px 70px rgba(18,53,109,.16)}.login-card>img{display:block;width:160px;height:auto;margin-bottom:24px}.login-card h1{margin:10px 0 8px;font-size:27px}.login-card>p{color:var(--muted);font-size:13px;line-height:1.65}.login-card label{display:block;margin:16px 0}.login-card label>span{display:block;margin-bottom:7px;font-size:13px;font-weight:800}.login-error{min-height:20px!important;margin:10px 0 0!important;color:var(--red)!important;text-align:center}.app-loading .main{opacity:.55;pointer-events:none}

/* Shared store portal header */
.erp-portal-header{position:sticky;z-index:90;top:0;display:flex;min-height:68px;align-items:center;gap:12px;padding:10px 16px;color:#fff;background:#0b2a55;border-bottom:1px solid rgba(255,255,255,.14)}.erp-portal-header[hidden]{display:none}.erp-portal-brand{display:flex;min-width:0;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:15px;font-weight:850;white-space:nowrap}.erp-portal-brand img{width:38px;height:38px;border-radius:50%;background:#fff;object-fit:contain}.erp-portal-menu{min-width:48px;min-height:48px;margin-left:auto;padding:0 12px;border:1px solid rgba(255,255,255,.3);border-radius:11px;color:#fff;background:transparent;font-weight:800}.erp-portal-header nav{position:absolute;top:68px;left:12px;right:12px;display:none;padding:10px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fff;box-shadow:var(--shadow)}.erp-portal-header nav.open{display:grid}.erp-portal-header nav a,.erp-portal-header nav button{display:flex;min-height:48px;align-items:center;padding:0 13px;border:0;border-radius:9px;color:inherit;background:transparent;text-decoration:none;font-weight:750;text-align:left}.erp-portal-header nav a.active{color:var(--blue);background:var(--blue-50)}.erp-portal-header nav button{width:100%}.erp-portal-header nav a:hover,.erp-portal-header nav button:hover{background:#f1f5fa}
.erp-mobile-work-links{display:none}@media(max-width:1099px){.erp-portal-header{gap:8px}.erp-portal-brand{flex:1;white-space:normal;font-size:13px}.erp-portal-brand span{min-width:0}.erp-portal-menu{flex-shrink:0;white-space:nowrap}.erp-portal-header nav{top:100%;max-height:calc(100vh - 160px);max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:max(12px,env(safe-area-inset-bottom))}.erp-mobile-work-links{display:grid;gap:4px}.erp-mobile-menu-label{padding:10px 13px 6px;color:var(--muted);font-size:12px}.erp-mobile-portal-label{margin-top:8px;border-top:1px solid var(--line)}.erp-portal-header nav .erp-mobile-work-link{gap:10px;min-width:0;white-space:normal}.erp-mobile-work-link .icon{width:22px;text-align:center}.erp-portal-header nav .erp-mobile-work-link.active{color:var(--blue);background:var(--blue-50)}}
@media(min-width:1100px){.erp-portal-header{min-height:78px;padding:12px clamp(24px,4vw,74px)}.erp-portal-brand{font-size:20px}.erp-portal-brand img{width:44px;height:44px}.erp-portal-menu{display:none}.erp-portal-header nav{position:static;display:flex;align-items:center;gap:8px;margin-left:auto;padding:0;border:0;color:#fff;background:transparent;box-shadow:none}.erp-portal-header nav a,.erp-portal-header nav button{min-height:44px;padding:0 13px;white-space:nowrap}.erp-portal-header nav a.active{color:#fff;background:rgba(255,255,255,.12)}.erp-portal-header nav button{width:auto;border:1px solid rgba(255,255,255,.28)}.erp-portal-header nav a:hover,.erp-portal-header nav button:hover{background:rgba(255,255,255,.1)}.sidebar{top:78px;height:calc(100vh - 78px)}}
@media(max-width:390px){.erp-portal-brand span{max-width:190px;overflow:hidden;text-overflow:ellipsis}.erp-portal-header{padding-inline:12px}}
.bottom-nav{grid-template-columns:repeat(5,1fr)}.quote-layout{display:grid;gap:14px}.quote-memo{display:block;margin:18px 0}.quote-memo>span{display:block;margin-bottom:7px;font-size:13px;font-weight:800}textarea{width:100%;border:1px solid #ccd6e3;border-radius:11px;background:#fff;padding:12px 13px;resize:vertical;font:inherit}.quote-total{display:flex;align-items:center;justify-content:space-between;margin:18px 0;border-radius:13px;background:var(--navy);color:#fff;padding:17px}.quote-total strong{font-size:21px}.quote-list-panel{padding:20px 16px}.quote-list{display:grid;gap:10px;margin-top:16px}.quote-card{border:1px solid var(--line);border-radius:14px;padding:15px}.quote-card-head,.quote-card-total,.quote-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.quote-card h3{margin:0;font-size:15px}.quote-card p{margin:7px 0;color:var(--muted);font-size:12px}.quote-card-total{padding:10px 0}.quote-card-actions button{width:100%}.quote-status{border-radius:7px;background:var(--blue-50);color:var(--blue);padding:4px 7px;font-size:10px;font-weight:800}.shop-card button{width:100%;min-height:42px;margin-top:14px;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-weight:750}@media(min-width:1000px){.quote-layout{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);align-items:start}.quote-list-panel{position:sticky;top:20px}}
.quote-line-head{display:none}.quote-line-item{grid-template-columns:minmax(0,1fr) 72px 44px}.quote-line-item .name{grid-column:1/-1}.quote-line-item .line-total{grid-column:1/3;display:flex;align-items:center;justify-content:flex-end;min-height:44px;padding:0 10px;border-radius:10px;background:#f5f8fc;font-weight:800}.quote-tax-summary{display:flex;justify-content:flex-end;gap:20px;margin-top:16px;color:var(--muted);font-size:12px}.quote-tax-summary div{display:flex;gap:8px}.quote-tax-summary b{color:var(--ink)}.store-profile-form{max-width:1100px}.profile-brand{display:flex;align-items:center;gap:14px;margin-bottom:22px;padding:15px;border-radius:14px;background:#f5f8fc}.profile-brand img{width:58px;height:58px;object-fit:contain}.profile-brand b,.profile-brand span{display:block}.profile-brand span{margin-top:4px;color:var(--muted);font-size:12px}.profile-wide{display:block;margin-top:14px}.profile-wide>span{display:block;margin-bottom:7px;font-size:13px;font-weight:750}.profile-wide b{color:var(--red)}
@media(min-width:720px){.quote-line-head{display:grid;grid-template-columns:minmax(0,1fr) 80px 150px 120px 44px;gap:8px;padding:0 10px 7px;color:var(--muted);font-size:11px}.quote-line-item{grid-template-columns:minmax(0,1fr) 80px 150px 120px 44px}.quote-line-item .name,.quote-line-item .line-total{grid-column:auto}.quote-line-item .line-total{justify-content:flex-end}.store-profile-form{padding:28px}}
.quote-form-actions{display:grid;grid-template-columns:1fr;gap:9px}.quote-form-actions button{min-height:52px}.modal-open{overflow:hidden}.quote-preview-modal{position:fixed;z-index:100;inset:0;overflow:auto;background:rgba(8,20,39,.7);padding:0}.quote-preview-sheet{min-height:100%;background:#f4f7fb;padding:18px 14px 30px}.quote-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:860px;margin:0 auto 12px}.quote-preview-toolbar h2{margin:5px 0 0;font-size:20px}.quote-preview-document{max-width:860px;margin:auto;padding:20px 15px;border-radius:18px;background:#fff;box-shadow:var(--shadow)}.quote-preview-document header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:2px solid var(--navy)}.preview-brand{display:flex;align-items:center;gap:10px}.preview-brand img{width:48px;height:48px;object-fit:contain}.preview-brand b{color:var(--navy);font-size:12px}.preview-brand h3{margin:2px 0 0;font-size:19px}.preview-supplier{display:grid;grid-template-columns:1fr;gap:7px;margin:16px 0;padding:13px;border-radius:12px;background:#f5f8fc;font-size:11px}.preview-supplier b{margin-right:6px;color:var(--navy)}.preview-customer{padding:0 2px 12px;color:var(--muted);font-size:12px}.preview-table-wrap{width:100%;overflow-x:auto}.quote-preview-document table{width:100%;min-width:520px;border-collapse:collapse;font-size:11px}.quote-preview-document th,.quote-preview-document td{padding:11px 7px;border-bottom:1px solid var(--line);text-align:right}.quote-preview-document th:first-child,.quote-preview-document td:first-child{text-align:left}.preview-totals{margin:15px 0 0}.preview-totals p{display:flex;justify-content:space-between;margin:0;padding:6px 8px}.preview-totals .grand{margin-top:7px;border-radius:12px;background:var(--navy);color:#fff;padding:15px 12px}.preview-totals .grand strong{font-size:20px}.preview-memo{white-space:pre-line;color:var(--muted);font-size:11px;line-height:1.7}.quote-preview-sheet>.full{display:block;max-width:860px;margin:12px auto 0}@media(min-width:720px){.quote-form-actions{grid-template-columns:1fr 1fr}.quote-preview-modal{padding:24px}.quote-preview-sheet{min-height:auto;border-radius:22px;padding:22px}.preview-supplier{grid-template-columns:1fr 1fr}.preview-supplier .wide{grid-column:1/-1}.quote-preview-document{padding:28px}.quote-preview-document table{font-size:12px}}
.item-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:104px;margin-bottom:10px;border:1px dashed #b9c8db;border-radius:14px;background:#f8fbff;text-align:center;padding:18px}.item-empty b{font-size:14px;color:var(--navy)}.item-empty span{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.5}.item-empty[hidden]{display:none}.reminder-mode{grid-template-columns:repeat(3,minmax(0,1fr))}.reminder-recommend{display:flex;flex-direction:column;gap:4px;margin-top:10px;border:1px solid #cfe2fb;border-radius:12px;background:#f3f8ff;padding:12px 13px;color:var(--navy)}.reminder-recommend b{font-size:12px}.reminder-recommend span{font-size:11px;line-height:1.5;color:var(--muted)}.custom-months{display:block;margin-top:10px}.custom-months>span{display:block;margin-bottom:7px;font-size:12px;font-weight:750}.reminder-field{min-width:0}@media(max-width:420px){.reminder-mode{grid-template-columns:1fr}.reminder-mode span{min-height:40px}.quick-jobs{grid-template-columns:1fr 1fr}.section-intro{align-items:center}.section-intro h2{font-size:23px}}
.customer-match>div{min-width:0;flex:1}.customer-record-send{min-height:40px;font-size:12px;white-space:nowrap}@media(max-width:560px){.customer-match{align-items:flex-start;flex-wrap:wrap}.customer-record-send{width:100%}}
.preview-table-wrap{overflow:hidden}.quote-preview-document table{min-width:0;table-layout:fixed}.quote-preview-document th:first-child,.quote-preview-document td:first-child{width:42%;overflow-wrap:anywhere}@media(max-width:420px){.quote-preview-document th,.quote-preview-document td{padding:9px 3px;font-size:9px}}

/* 견적 수정 선택 상태 */
.quote-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.quote-edit-head h2{margin:6px 0 3px;font-size:20px}.quote-edit-head p{margin:0;color:var(--muted);font-size:12px}.quote-card{cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.quote-card:hover,.quote-card:focus-visible{border-color:var(--blue);box-shadow:0 10px 24px rgba(24,85,180,.12);outline:0}.quote-card.selected{border:2px solid var(--blue);background:#f7fbff}.quote-card-guide{margin:0 0 10px;color:var(--blue);font-size:11px;font-weight:700}.quote-card-actions button{min-height:46px}

/* FlowHQ 문서 문법을 적용한 A4형 견적서 */
.paper-document{width:100%;max-width:794px;min-height:1123px;margin:0 auto;background:#fff;color:#101828;padding:38px 40px;box-sizing:border-box;font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;box-shadow:0 16px 44px rgba(15,35,65,.16)}
.paper-title{position:relative;display:grid;grid-template-columns:72px 1fr 150px;align-items:start;gap:14px;padding-bottom:18px;border-bottom:3px double #17386f}.paper-title img{width:64px;height:64px;object-fit:contain}.paper-title h1,.paper-title h3{margin:9px 0 0;text-align:center;color:#111;font-size:31px;letter-spacing:.45em;font-weight:800}.paper-doc-meta{display:grid;grid-template-columns:54px 1fr;border-top:1px solid #73839a;border-left:1px solid #73839a;font-size:10px}.paper-doc-meta>*{padding:5px 6px;border-right:1px solid #73839a;border-bottom:1px solid #73839a}.paper-doc-meta span{background:#eef2f7;text-align:center;font-weight:700}.paper-party-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;margin-top:22px}.paper-customer{padding:10px 2px}.paper-customer>b{display:inline-block;min-width:130px;padding-bottom:3px;border-bottom:1px solid #222;font-size:19px;text-align:center}.paper-customer>span{margin-left:6px;font-weight:700}.paper-customer>p{margin:16px 0 18px;font-size:12px}.paper-customer dl,.paper-supplier dl{display:grid;grid-template-columns:68px 1fr;margin:0;border-top:1px solid #73839a;border-left:1px solid #73839a;font-size:10px}.paper-customer dt,.paper-customer dd,.paper-supplier dt,.paper-supplier dd{min-height:28px;margin:0;padding:6px 7px;border-right:1px solid #73839a;border-bottom:1px solid #73839a;box-sizing:border-box}.paper-customer dt,.paper-supplier dt{background:#eef2f7;text-align:center;font-weight:700}.paper-supplier h4{margin:0;padding:7px;background:#17386f;color:#fff;text-align:center;font-size:12px;letter-spacing:.12em}.paper-supplier dl{grid-template-columns:72px 1fr}.paper-amount{display:grid;grid-template-columns:90px 1fr auto;align-items:center;margin:22px 0 12px;border:2px solid #17386f}.paper-amount span{align-self:stretch;display:flex;align-items:center;justify-content:center;background:#17386f;color:#fff;font-size:12px;font-weight:800}.paper-amount strong{padding:11px 14px;text-align:right;font-size:20px}.paper-amount small{padding-right:12px;color:#667085;font-size:9px}.paper-document table{width:100%;min-width:0!important;border-collapse:collapse;table-layout:fixed;font-size:10px}.paper-document th,.paper-document td{height:35px;padding:7px 6px!important;border:1px solid #73839a!important;text-align:right!important}.paper-document th{background:#e8edf4;color:#17233a;font-weight:800;text-align:center!important}.paper-document th:nth-child(1),.paper-document td:nth-child(1){width:7%;text-align:center!important}.paper-document th:nth-child(2),.paper-document td:nth-child(2){width:43%;text-align:left!important;overflow-wrap:anywhere}.paper-document th:nth-child(3),.paper-document td:nth-child(3){width:11%;text-align:center!important}.paper-document th:nth-child(4),.paper-document td:nth-child(4){width:18%}.paper-document th:nth-child(5),.paper-document td:nth-child(5){width:21%}.paper-summary{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #73839a}.paper-summary p{display:grid;grid-template-columns:1fr 1.2fr;margin:0;border-right:1px solid #73839a;border-bottom:1px solid #73839a}.paper-summary span,.paper-summary b,.paper-summary strong{padding:9px 7px;text-align:right;font-size:10px}.paper-summary span{background:#eef2f7;text-align:center;font-weight:700}.paper-summary strong{color:#17386f;font-size:12px}.paper-footer{margin-top:26px;border-top:2px solid #17386f}.paper-footer h4{display:inline-block;margin:0;padding:7px 14px;background:#17386f;color:#fff;font-size:11px}.paper-footer p{min-height:72px;margin:0;padding:12px;border:1px solid #b7c0cc;border-top:0;white-space:pre-line;color:#344054;font-size:10px;line-height:1.65}.public-paper{min-height:1123px}.document-actions{max-width:794px;margin:14px auto 28px}
@media(max-width:719px){.quote-edit-head{align-items:center}.quote-edit-head .secondary{min-height:44px}.quote-preview-sheet{padding:12px 8px 24px}.paper-document{min-height:auto;padding:18px 12px;box-shadow:none}.paper-title{grid-template-columns:45px 1fr 96px;gap:7px}.paper-title img{width:42px;height:42px}.paper-title h1,.paper-title h3{margin-top:7px;font-size:18px;letter-spacing:.26em}.paper-doc-meta{grid-template-columns:36px 1fr;font-size:7px}.paper-doc-meta>*{padding:3px}.paper-party-grid{grid-template-columns:1fr;gap:12px;margin-top:14px}.paper-customer{padding:4px 0}.paper-customer>b{min-width:100px;font-size:15px}.paper-customer>p{margin:11px 0;font-size:10px}.paper-customer dl,.paper-supplier dl{font-size:8px;grid-template-columns:55px 1fr}.paper-customer dt,.paper-customer dd,.paper-supplier dt,.paper-supplier dd{min-height:23px;padding:4px}.paper-amount{grid-template-columns:64px 1fr auto;margin:14px 0 8px}.paper-amount strong{padding:8px;font-size:15px}.paper-amount span{font-size:9px}.paper-amount small{padding-right:6px;font-size:7px}.paper-document th,.paper-document td{height:29px;padding:5px 2px!important;font-size:7px}.paper-summary{grid-template-columns:1fr}.paper-summary span,.paper-summary b,.paper-summary strong{padding:6px;font-size:8px}.paper-footer{margin-top:16px}.paper-footer p{font-size:8px}.quote-public{width:100%;margin:0;padding:12px;box-sizing:border-box}.document-actions{position:sticky;bottom:8px;margin:10px 0}.document-actions button{min-height:50px}.public-paper{min-height:auto}}
@media print{body{background:#fff}.public-paper{width:210mm;min-height:297mm;padding:12mm;box-shadow:none}.document-actions{display:none!important}}

/* 점포별 정비기록 검색 */
.history-search-panel{padding:18px}.history-search-form{display:grid;grid-template-columns:1fr;gap:12px}.history-search-form label>span{display:block;margin-bottom:7px;font-size:12px;font-weight:800}.history-search{width:100%;height:48px;box-sizing:border-box}.history-search input{min-width:0}.history-search-form>.primary{min-height:48px}.history-quick{display:flex;align-items:center;gap:7px;overflow-x:auto;margin-top:14px;padding-bottom:2px;scrollbar-width:none}.history-quick::-webkit-scrollbar{display:none}.history-quick .chip{flex:0 0 auto;min-width:64px;min-height:42px}.history-quick .text-button{flex:0 0 auto;margin-left:auto}.history-result-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:22px 2px 12px}.history-result-head h3{margin:0;font-size:17px}.history-result-head h3 b{color:var(--blue)}.history-result-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.history-result-head>span{color:var(--muted);font-size:11px}.history-list{display:grid;gap:11px}.history-card{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(20,49,87,.05)}.history-card[open]{border-color:#8bbcf4}.history-card summary{position:relative;display:block;padding:16px;cursor:pointer;list-style:none}.history-card summary::-webkit-details-marker{display:none}.history-card-main,.history-card-main>div,.history-card-meta{display:flex;align-items:center;justify-content:space-between;gap:9px}.history-card-main>div{justify-content:flex-start}.history-card-main b{font-size:13px}.history-card-main time{color:var(--muted);font-size:10px}.history-card h3{margin:12px 0 9px;font-size:14px;line-height:1.45}.history-card-meta{color:var(--muted);font-size:10px}.history-card-meta strong{color:var(--ink);font-size:15px}.history-more{display:block;margin-top:12px;border-radius:9px;background:var(--blue-50);color:var(--blue);padding:10px;text-align:center;font-size:11px;font-weight:800}.history-card[open] .history-more:after{content:' 닫기'}.history-card:not([open]) .history-more:after{content:''}.history-detail{border-top:1px solid var(--line);padding:15px;background:#f8fafc}.history-detail dl{display:grid;grid-template-columns:95px 1fr;margin:0;font-size:11px}.history-detail dt,.history-detail dd{margin:0;padding:8px;border-bottom:1px solid #e5eaf0}.history-detail dt{color:var(--muted);font-weight:700}.history-detail dd{text-align:right;font-weight:700}
@media(min-width:720px){.history-search-form{grid-template-columns:minmax(260px,1fr) 170px 170px 90px;align-items:end}.history-list{grid-template-columns:repeat(2,minmax(0,1fr))}.history-search-panel{padding:22px}.history-detail dl{grid-template-columns:120px 1fr}}
@media(min-width:1200px){.history-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
.history-card:not([open]) .history-more:after{content:' 보기'}
.receivable-panel{padding:20px 14px}.receivable-panel .panel-actions select{width:130px}.receivable-list{display:grid;gap:12px;margin-top:18px}.receivable-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px}.receivable-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.receivable-card h3{margin:8px 0 3px;font-size:16px}.receivable-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.plate-badge{display:inline-flex;border-radius:7px;background:var(--blue-50);color:var(--blue);padding:4px 8px;font-size:11px;font-weight:850}.receivable-amount{text-align:right}.receivable-amount small,.receivable-amount strong,.receivable-amount span{display:block}.receivable-amount small{color:var(--muted);font-size:10px}.receivable-amount strong{margin:5px 0;font-size:20px;color:var(--red)}.due-pill{display:inline-flex!important;width:max-content;margin-left:auto;border-radius:7px;background:#eef2f7;color:var(--muted);padding:4px 7px;font-size:10px;font-weight:800}.due-pill.danger{background:#fff0f0;color:#c93636}.due-pill.warn{background:#fff5dc;color:#9a6510}.receivable-progress{overflow:hidden;height:7px;margin-top:15px;border-radius:10px;background:#edf1f6}.receivable-progress i{display:block;height:100%;border-radius:10px;background:var(--green)}.receivable-breakdown{display:flex;justify-content:space-between;margin-top:7px;color:var(--muted);font-size:10px}.receivable-fields{display:grid;gap:10px;margin-top:15px}.receivable-fields label>span{display:block;margin-bottom:6px;font-size:11px;font-weight:750}.receivable-fields input{height:44px}.receivable-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.empty-panel.compact{min-height:300px}@media(min-width:720px){.receivable-list{grid-template-columns:repeat(2,minmax(0,1fr))}.receivable-fields{grid-template-columns:150px minmax(0,1fr)}}@media(max-width:520px){.receivable-panel .panel-actions{flex-direction:column}.receivable-panel .panel-actions select{width:100%}.receivable-card-top{flex-direction:column}.receivable-amount{width:100%;display:grid;grid-template-columns:1fr auto;align-items:end;text-align:left}.receivable-amount small{grid-column:1/-1}.due-pill{grid-column:2;margin:0}.receivable-actions{grid-template-columns:1fr}.receivable-actions button{min-height:48px}}
.quote-tax-mode{margin-top:18px}.quote-tax-mode .segmented{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-tax-mode .segmented span{min-height:46px;padding:0 6px;text-align:center}.quote-tax-mode p{margin:8px 2px 0;color:var(--muted);font-size:12px;line-height:1.5}

/* 점포용 정비기록 카드는 고객용 타임라인 카드 규칙과 분리 */
.history-list{grid-template-columns:minmax(0,1fr)!important}.history-list .history-card{display:block;grid-template-columns:none;padding:0;min-width:0}.history-list .history-card summary{min-width:0}.history-list .history-detail{min-width:0}
@media(min-width:900px){.history-list .history-card[open]{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.history-list .history-card[open] summary{border-right:1px solid var(--line);padding:20px}.history-list .history-card[open] .history-detail{border-top:0;padding:20px}.history-list .history-card[open] .history-detail dl{grid-template-columns:150px minmax(0,1fr);font-size:12px}.history-list .history-card[open] .history-detail dt,.history-list .history-card[open] .history-detail dd{padding:10px 12px}}
.work-due-date{display:block;margin-top:12px}.work-due-date>span{display:block;margin-bottom:7px;font-size:12px;font-weight:800}.work-edit-cancel{margin-top:8px}.register-history-panel{margin-top:16px;padding:18px 14px}.register-history-list{display:grid;gap:10px;margin-top:16px}.register-history-card{display:flex;flex-direction:column;gap:14px;border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}.register-history-card>div:first-child{min-width:0}.register-history-card b{margin-left:7px;font-size:12px}.register-history-card h3{margin:10px 0 5px;font-size:14px;line-height:1.45}.register-history-card p{margin:0;color:var(--muted);font-size:10px}.register-history-money{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 10px}.register-history-money strong{font-size:17px}.register-history-money small{color:var(--green);font-size:10px;text-align:right}.register-history-money button{grid-column:1/-1;min-height:46px}.debt-age{display:inline-flex;margin-top:9px;border-radius:7px;background:#eef6ff;color:var(--blue);padding:5px 8px;font-size:10px;font-weight:800}.debt-age.danger{background:#fff0f0;color:#c93636}.receivable-actions{grid-template-columns:1fr}.receivable-actions button{min-height:48px}
@media(min-width:720px){.register-history-panel{padding:22px}.register-history-list{grid-template-columns:repeat(2,minmax(0,1fr))}.register-history-card{flex-direction:row;align-items:center;justify-content:space-between}.register-history-money{flex:0 0 155px}.receivable-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
.work-due-date[hidden]{display:none}
.decision-field{padding:14px;border:1px solid #dbe4ef;border-radius:16px;background:#fbfdff}.decision-field legend{width:auto;margin:0 0 10px;padding:0 4px;color:var(--ink);font-size:13px}.decision-field legend small{margin-left:5px;color:var(--muted);font-size:10px;font-weight:700}.decision-field .segmented{gap:8px;padding:0;background:transparent}.decision-field .segmented label{cursor:pointer}.decision-field .segmented span{display:flex;min-height:64px;align-items:center;justify-content:center;gap:6px;border:1px solid #d7e1ed;border-radius:12px;background:#fff;color:#526174;text-align:center;line-height:1.25;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}.decision-field .segmented span>b{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#eef3f8;color:#637187;font-size:12px}.decision-field .segmented span>small{display:block;color:#7b899c;font-size:10px;font-weight:600}.decision-field .segmented input:checked+span{border-color:var(--blue);background:#edf6ff;color:#0b4e99;box-shadow:0 0 0 2px rgba(35,127,234,.1)}.decision-field .segmented input:checked+span>b{background:var(--blue);color:#fff}.decision-field .segmented input:focus-visible+span{outline:3px solid rgba(35,127,234,.25);outline-offset:2px}.work-due-date{padding-top:12px;border-top:1px solid #e8edf4}.reminder-recommend{margin-top:12px}
@media(max-width:640px){.decision-field{padding:12px}.decision-field .segmented span{min-height:66px;flex-direction:column;gap:3px}.payment-mode{grid-template-columns:1fr 1fr}.reminder-mode{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:420px){.reminder-mode{grid-template-columns:1fr}.decision-field .reminder-mode span{min-height:56px;flex-direction:row;justify-content:flex-start;padding:8px 12px}.decision-field .reminder-mode span>small{margin-left:auto}}
.paper-summary{border-top:1px solid #73839a}

/* Integrated store shop shortcut */
.bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr));padding-right:5px;padding-left:5px}.bottom-nav a{display:grid;place-items:center;align-content:center;min-width:0;min-height:55px;color:var(--muted);font-size:10px;text-decoration:none}.bottom-shop-link{color:#0d5daf!important;font-weight:850}.nav-shop-link{margin-top:6px!important;color:#fff!important;background:linear-gradient(135deg,#237fea,#0d5daf)!important;box-shadow:0 8px 18px rgba(35,127,234,.2)}.nav-shop-link .icon{color:#fff}.nav-shop-link:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(35,127,234,.28)}
@media(max-width:380px){.bottom-nav button,.bottom-nav a{font-size:9px}.bottom-nav span{font-size:19px}}

/* Store blog draft generator */
.blog-workspace{display:grid;gap:14px}.blog-generator,.blog-result-panel,.blog-case-library{padding:22px 16px}.blog-generator{display:grid;gap:16px}.blog-generator>label{display:grid;gap:7px;color:var(--ink);font-size:13px;font-weight:750}.blog-generator>label>small{color:var(--muted);font-size:11px;font-weight:500;line-height:1.5}.blog-generator textarea{min-height:138px}.blog-store-context{display:grid;gap:3px;padding:15px;border:1px solid #c8dcf3;border-radius:13px;background:var(--blue-50)}.blog-store-context span,.blog-store-context small{color:var(--muted);font-size:11px}.blog-store-context b{font-size:16px}.blog-result-panel{display:flex;min-width:0;flex-direction:column}.blog-draft-title{margin-top:18px;font-weight:850}.blog-draft-body{flex:1;min-height:430px;margin-top:10px;line-height:1.75}.blog-generation-status{min-height:22px;margin:10px 0 0;color:var(--muted);font-size:12px}.blog-generation-status.success{color:var(--green)}.blog-generation-status.error{color:var(--red)}.blog-case-library{margin-top:14px}.blog-case-list{display:grid;gap:12px;margin-top:18px}.blog-case-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:12px;border:1px solid var(--line);border-radius:14px}.blog-case-card img{width:96px;height:96px;object-fit:cover;border-radius:10px;background:#edf2f7}.blog-case-card h3{margin:2px 0 6px;font-size:16px}.blog-case-card p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.blog-case-card small{color:var(--blue);font-weight:800}.blog-case-card time{display:block;margin-top:8px;color:#8b98aa;font-size:11px}.bottom-nav{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(min-width:1000px){.blog-workspace{grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr)}.blog-generator,.blog-result-panel,.blog-case-library{padding:28px}.blog-case-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.blog-generator,.blog-result-panel,.blog-case-library{padding:18px 14px}.blog-result-panel .panel-head{align-items:stretch}.blog-result-panel .panel-head .secondary{width:100%}.blog-draft-body{min-height:390px}.blog-case-card{grid-template-columns:76px minmax(0,1fr)}.blog-case-card img{width:76px;height:76px}.bottom-nav button,.bottom-nav a{padding:0 1px;font-size:9px}.bottom-nav span{font-size:18px}}
.customer-match[hidden]{display:none}
.service-opinion-field{margin-top:18px;padding:18px;border:1px solid #d7e2ef;border-radius:16px;background:#f8fbff}.service-opinion-field>label>span{display:block;margin-bottom:8px;font-weight:800}.service-opinion-field textarea{width:100%;min-height:130px;resize:vertical}.service-opinion-field>p{margin:8px 0 14px;color:var(--muted);font-size:12px;line-height:1.6}.report-send-option{display:flex!important;align-items:flex-start;gap:12px;margin:0!important;padding:14px;border-radius:13px;background:#eaf4ff;cursor:pointer}.report-send-option input{width:22px;height:22px;min-width:22px;margin:1px 0 0}.report-send-option span{margin:0!important}.report-send-option b,.report-send-option small{display:block}.report-send-option small{margin-top:4px;color:var(--muted);font-weight:500;line-height:1.5}@media(max-width:560px){.service-opinion-field{padding:14px}.service-opinion-field textarea{min-height:150px}}
.vehicle-customer-grid{grid-template-columns:1fr}.customer-consent-field{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f9fbfd}.customer-consent-field legend{padding:0 5px}.consent-options{display:grid;gap:8px}.consent-options label{display:flex;align-items:flex-start;gap:10px;min-height:54px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff;cursor:pointer}.consent-options input{flex:0 0 22px;width:22px;height:22px;margin:2px 0 0;accent-color:var(--blue)}.consent-options span,.consent-options b,.consent-options small{display:block}.consent-options small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}.payment-detail-grid{margin-top:16px}.work-tax-mode{min-width:0}.tax-mode-three{grid-template-columns:repeat(3,1fr)}.line-item{grid-template-columns:minmax(0,1fr) 74px 44px}.line-item .item-type{grid-column:1/2}.line-item .name{grid-column:1/-1}.line-item .quantity{grid-column:2/3}.line-item .remove-line{grid-column:3/4;grid-row:1}.line-item .part-total,.line-item .line-total{display:flex;align-items:center;justify-content:flex-end;min-height:44px;padding:0 10px;border-radius:10px;background:#f4f7fb;color:var(--navy);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.line-item .part-total:before{content:"부품계";margin-right:auto;color:var(--muted);font-size:10px;font-weight:600}.line-item .line-total{grid-column:1/-1;background:#eef6ff;color:var(--blue)}.line-item .line-total:before{content:"총금액";margin-right:auto;color:var(--muted);font-size:10px;font-weight:600}.line-item .money-input{min-width:0}.line-item .unit-wrap:before,.line-item .labor-wrap:before,.line-item .cost-wrap:before{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:700}.line-item .unit-wrap:before{content:"단가"}.line-item .labor-wrap:before{content:"공임"}.line-item .cost-wrap:before{content:"매입가"}
@media(min-width:600px){.vehicle-customer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.consent-options{grid-template-columns:1fr 1fr}}
@media(min-width:600px) and (max-width:1099px){.line-head{display:none}.line-item{grid-template-columns:minmax(0,1fr) 90px 44px;border:1px solid var(--line);padding:10px}.line-item .item-type{grid-column:1/2}.line-item .name{grid-column:1/-1}.line-item .quantity{grid-column:2/3}.line-item .remove-line{grid-column:3/4;grid-row:1}.line-item .line-total{grid-column:1/-1}.line-item .unit-wrap:before,.line-item .labor-wrap:before,.line-item .cost-wrap:before{display:block}}
@media(min-width:1100px){.vehicle-customer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.line-head{grid-template-columns:110px minmax(190px,1fr) 72px repeat(5,minmax(92px,.55fr)) 44px}.line-item{grid-template-columns:110px minmax(190px,1fr) 72px repeat(5,minmax(92px,.55fr)) 44px}.line-item .part-total:before,.line-item .line-total:before{display:none}}
.consent-options.single{grid-template-columns:1fr}.consent-link-guide{margin:10px 2px 0;color:var(--muted);font-size:13px;line-height:1.55}
.vehicle-lookup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.vehicle-lookup-row .secondary{min-height:48px;white-space:nowrap}.admin-lock-panel{max-width:520px;margin:50px auto;padding:28px;text-align:center}.admin-lock-panel h2{margin:12px 0 7px}.admin-lock-panel p{color:var(--muted);line-height:1.6}.admin-lock-panel form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:20px}.admin-lock-panel input,.admin-lock-panel button{min-height:50px}.admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.work-edit-modal,.admin-password-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:16px;background:rgba(8,24,45,.68);overflow:auto}.work-edit-modal[hidden],.admin-password-modal[hidden]{display:none}.work-edit-sheet,.admin-password-sheet{width:min(920px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:20px;background:#fff;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.admin-password-sheet{width:min(460px,100%)}.work-edit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.work-edit-head h2{margin:5px 0}.work-edit-head p{margin:0;color:var(--muted);font-size:12px}.modal-items-head,.work-edit-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 10px}.modal-work-items{display:grid;gap:9px}.modal-work-item{display:grid;grid-template-columns:90px minmax(160px,1fr) 70px repeat(3,minmax(90px,.6fr)) 44px;gap:7px}.modal-work-item input,.modal-work-item select{min-width:0}.work-edit-actions{justify-content:flex-end}.work-edit-actions button{min-width:130px;min-height:50px}.history-edit-button{width:100%;min-height:48px;margin-top:14px}.association-settings-form{margin-top:18px}
@media(max-width:760px){.vehicle-lookup-row,.admin-lock-panel form{grid-template-columns:1fr}.vehicle-lookup-row .secondary{width:100%}.admin-actions{align-items:stretch}.admin-actions>*{width:100%}.work-edit-modal,.admin-password-modal{padding:0;place-items:end center}.work-edit-sheet,.admin-password-sheet{width:100%;max-height:94vh;border-radius:20px 20px 0 0;padding:18px 14px}.modal-work-item{grid-template-columns:1fr 70px 44px;padding:12px;border:1px solid var(--line);border-radius:12px}.modal-work-item .item-type{grid-column:1/2}.modal-work-item .remove-line{grid-column:3/4;grid-row:1}.modal-work-item .name{grid-column:1/-1}.modal-work-item .sale,.modal-work-item .labor,.modal-work-item .cost{grid-column:1/-1}.work-edit-actions{position:sticky;bottom:-18px;margin:18px -14px -18px;padding:12px 14px;background:#fff;border-top:1px solid var(--line)}.work-edit-actions button{flex:1;min-width:0}.admin-lock-panel{margin:20px auto;padding:20px 14px}}

/* 중고차 사전검수 · 부품 견적요청 */
.inspection-layout,.parts-request-layout{display:grid;gap:16px}.inspection-legal-notice{display:grid;gap:4px;margin-bottom:20px;padding:14px;border:1px solid #f4c98b;border-radius:13px;background:#fff9ef;color:#935913}.inspection-legal-notice span{font-size:12px;line-height:1.55;color:#7c6952}.inspection-vin-button{width:100%;margin-top:12px}.body-mark-legend{display:flex;gap:7px;overflow-x:auto;margin:14px 0 10px;padding-bottom:3px}.body-mark-legend span{flex:0 0 auto;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:11px;font-weight:800}.body-mark-legend .normal{background:var(--navy);color:#fff}.body-mark-legend .exchange{color:var(--red)}.body-mark-legend .weld{color:var(--orange)}.body-mark-legend .corrosion{color:#7d52b3}.vehicle-body-map{position:relative;min-height:590px;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#f7faff;padding:16px}.vehicle-silhouette{position:absolute;left:50%;top:50%;width:180px;height:420px;transform:translate(-50%,-50%);opacity:.11;fill:#8ea7c5;stroke:var(--navy);stroke-width:4}.body-part-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:9px}.body-part-button{display:grid;place-items:center;min-height:57px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.94);padding:8px;color:var(--ink);font-size:11px;font-weight:750;text-align:center;touch-action:manipulation}.body-part-button b{display:block;margin-top:3px;color:var(--green);font-size:10px}.body-part-button[data-mark="X"]{border-color:#ef9a9e;background:#fff2f3}.body-part-button[data-mark="X"] b{color:var(--red)}.body-part-button[data-mark="W"]{border-color:#f2bd8d;background:#fff7ef}.body-part-button[data-mark="W"] b{color:var(--orange)}.body-part-button[data-mark="C"]{border-color:#cbb3e7;background:#faf5ff}.body-part-button[data-mark="C"] b{color:#7d52b3}.inspection-checklist{display:grid;gap:10px;margin-top:16px}.inspection-check-item{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:9px;border:1px solid var(--line);border-radius:13px;padding:11px;background:#fff}.inspection-check-item label{min-width:0}.inspection-check-item b{display:block;font-size:13px}.inspection-check-item small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.inspection-check-item select{height:44px}.inspection-check-item input{grid-column:1/-1;height:44px}.inspection-notes{display:block;margin-top:18px}.inspection-notes>span{display:block;margin-bottom:7px;font-size:13px;font-weight:750}.inspection-notes textarea{width:100%;resize:vertical;border:1px solid #ccd6e3;border-radius:11px;padding:13px;font:inherit;line-height:1.55}.inspection-list-panel{padding:20px 14px;align-self:start}.inspection-list{display:grid;gap:10px;margin-top:16px}.inspection-record-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.inspection-record-head{display:flex;justify-content:space-between;gap:12px}.inspection-record-head h3{margin:0;font-size:15px}.inspection-record-head time{color:var(--muted);font-size:11px}.inspection-record-card p{margin:7px 0;color:var(--muted);font-size:12px;line-height:1.5}.inspection-record-actions{display:flex;gap:7px;margin-top:12px}.inspection-record-actions button,.inspection-record-actions a{display:grid;place-items:center;flex:1;min-height:46px;text-decoration:none}.parts-request-items{display:grid;gap:9px;margin:16px 0}.parts-request-item{display:grid;grid-template-columns:minmax(0,1fr) 90px 44px;gap:8px;border:1px solid var(--line);border-radius:13px;padding:10px}.parts-request-item input{min-width:0}.parts-request-item .part-name{grid-column:1/2}.parts-request-item .part-qty{grid-column:2/3}.parts-request-item .remove-part-request{grid-column:3/4;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--red);font-weight:900}.vendor-modal{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:16px;background:rgba(8,24,45,.68)}.vendor-modal[hidden]{display:none}.vendor-sheet{width:min(620px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:20px;background:#fff;padding:22px}.message-preview{white-space:pre-wrap;border-radius:12px;background:#f4f7fb;padding:12px;font-size:12px;line-height:1.6}.request-ready-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.request-ready-actions .copy-request{grid-column:1/-1}.request-ready-actions a{display:grid;place-items:center;min-height:46px;border-radius:11px;text-decoration:none;font-weight:750}.inspection-report-warning{padding:12px;border-radius:12px;background:#fff9ef;color:#935913;font-size:12px;line-height:1.55}
@media(min-width:700px){.body-part-grid{grid-template-columns:repeat(3,1fr)}.vehicle-body-map{min-height:480px}.inspection-check-item{grid-template-columns:minmax(180px,1fr) 140px minmax(180px,1fr)}.inspection-check-item input{grid-column:auto}.parts-request-item{grid-template-columns:minmax(0,1fr) 120px 44px}}
@media(min-width:1100px){.inspection-layout,.parts-request-layout{grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr)}.inspection-form{padding:26px}.vehicle-body-map{min-height:430px}.body-part-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.inspection-record-head{display:block}.inspection-record-head time{display:block;margin-top:5px}.inspection-record-actions{display:grid;grid-template-columns:1fr}.vendor-modal{padding:0;place-items:end center}.vendor-sheet{width:100%;max-height:94vh;border-radius:20px 20px 0 0;padding:18px 14px}.request-ready-actions{grid-template-columns:1fr}.request-ready-actions .copy-request{grid-column:auto}}
.public-report-body{min-height:100vh;background:var(--bg)}.public-report-shell{width:min(860px,100%);margin:0 auto;padding:20px 14px 50px}.public-report-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}.public-report-brand img{width:46px;height:46px;object-fit:contain}.public-report-brand b,.public-report-brand span{display:block}.public-report-brand span{margin-top:3px;color:var(--muted);font-size:12px}.public-report-lock{max-width:520px;margin:50px auto;padding:24px;text-align:center}.public-report-lock h1{font-size:22px}.public-report-lock p{color:var(--muted);line-height:1.6}.public-report-lock form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.public-inspection-report{padding:18px}.public-report-title{padding:22px 0 16px;border-bottom:1px solid var(--line)}.public-report-title h1{margin:10px 0 5px;font-size:25px}.public-report-title p{margin:0;color:var(--muted);font-size:12px}.public-inspection-report section{margin-top:26px}.public-inspection-report h2{font-size:18px}.public-vehicle-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0 0}.public-vehicle-summary div{min-width:0;border-radius:11px;background:#f6f9fc;padding:12px}.public-vehicle-summary dt{color:var(--muted);font-size:10px}.public-vehicle-summary dd{margin:5px 0 0;overflow-wrap:anywhere;font-size:13px;font-weight:800}.public-body-marks,.public-checks{display:grid;gap:8px}.public-body-marks{grid-template-columns:repeat(2,1fr)}.public-body-marks div,.public-checks>div{border:1px solid var(--line);border-radius:11px;padding:11px}.public-body-marks span,.public-body-marks b,.public-checks span,.public-checks b{display:block}.public-body-marks span,.public-checks span{font-size:12px}.public-body-marks b,.public-checks b{margin-top:4px;color:var(--green);font-size:11px}.public-body-marks [data-mark="X"] b,.public-checks [data-status="repair"]{color:var(--red)}.public-body-marks [data-mark="W"] b,.public-checks [data-status="check"]{color:var(--orange)}.public-body-marks [data-mark="C"] b{color:#7d52b3}.public-checks p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.public-notes{white-space:pre-wrap;border-radius:12px;background:#f6f9fc;padding:14px;line-height:1.7}.form-error{color:var(--red)}
@media(min-width:700px){.public-inspection-report{padding:28px}.public-vehicle-summary{grid-template-columns:repeat(3,1fr)}.public-body-marks{grid-template-columns:repeat(4,1fr)}.public-checks{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.public-report-lock form{grid-template-columns:1fr}.public-report-lock input,.public-report-lock button{min-height:50px}}
.admin-tabs{display:flex;gap:8px;margin:0 0 20px;padding:6px;background:#e9f1fb;border:1px solid #c9d9ed;border-radius:16px;overflow-x:auto;scrollbar-width:none}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs button{min-width:112px;min-height:44px;padding:10px 16px;border:0;border-radius:11px;background:transparent;color:#52657d;font-weight:800;white-space:nowrap;cursor:pointer}.admin-tabs button.active{background:#fff;color:#0d3b75;box-shadow:0 3px 12px rgba(13,59,117,.12)}.admin-subpanel[hidden]{display:none!important}.admin-security-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px}.admin-security-card b{font-size:18px;color:#102b4e}.admin-security-card p{margin:7px 0 0;color:#66778d}.admin-lock-button{margin-top:14px;min-height:44px}
@media(max-width:640px){.admin-tabs{position:sticky;top:0;z-index:5;margin-inline:-4px}.admin-tabs button{flex:1;min-width:104px;padding-inline:10px}.admin-security-card{align-items:stretch;flex-direction:column;padding:20px}.admin-security-card .primary{width:100%;min-height:48px}}

/* 관리자 잠금 화면은 상단 제목 흐름에 맞춰 배치합니다. */
.page.admin-locked{min-height:calc(100vh - 205px);place-items:center}.page.admin-locked.active{display:grid}.admin-lock-panel{width:min(100%,680px);max-width:none;margin:0 auto;padding:30px;text-align:center}.admin-lock-panel p{max-width:620px;margin:0 auto}.admin-lock-panel form{grid-template-columns:minmax(0,420px) auto;justify-content:center;margin-top:22px}
@media(max-width:760px){.page.admin-locked{min-height:calc(100vh - 180px)}.admin-lock-panel{width:100%;margin:0 auto;padding:22px 16px}.admin-lock-panel form{width:100%;grid-template-columns:1fr}}
.profit-chart-panel{margin-top:18px;padding:22px 18px}.profit-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.profit-chart-head h3{margin:0;font-size:19px}.profit-chart-head p{margin:6px 0 0;color:var(--muted);font-size:12px}.profit-chart-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 18px;color:var(--muted);font-size:12px;font-weight:750}.profit-chart-legend span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.profit-chart-legend span:before{content:"";width:10px;height:10px;border-radius:50%;background:currentColor}.profit-chart-legend .sales{color:#237fea}.profit-chart-legend .cost{color:#f59b1b}.profit-chart-legend .net{color:#10a878}.profit-chart-legend .due{color:#e63b45}.profit-chart{width:100%;margin-top:14px;overflow:hidden}.profit-chart svg{display:block;width:100%;height:auto;min-height:250px;max-height:390px}.chart-grid{stroke:#dfe7f1;stroke-width:1}.chart-axis,.chart-label{fill:#718096;font-size:11px}.chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke-width:3;cursor:pointer}.chart-point:hover{r:7}.profit-empty{min-height:150px;margin-top:14px;padding:22px}.profit-empty[hidden]{display:none}.profit-empty>span{width:48px;height:48px;border-radius:15px;font-size:22px}.profit-empty h2{margin:12px 0 5px;font-size:18px}.profit-empty p{margin:0;font-size:12px}
@media(max-width:640px){.profit-chart-panel{padding:18px 10px}.profit-chart-head{display:grid;gap:14px}.profit-chart-legend{justify-content:flex-start;gap:10px 14px}.profit-chart svg{min-width:0;min-height:220px}.chart-axis,.chart-label{font-size:13px}.chart-line{stroke-width:4}.chart-point{r:6}.profit-empty{min-height:130px}}
.public-inspection-report[hidden]{display:none!important}

/* 점포 등록등급 · 검수 항목별 사진 */
.shop-grade-fieldset{margin-top:20px;padding:18px 14px;border:1px solid var(--line);border-radius:16px;background:#f8fbff}.shop-grade-fieldset>legend{padding:0 6px;font-size:15px}.shop-grade-fieldset>legend b{color:var(--red)}.shop-grade-fieldset>p{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.6}.shop-grade-options{display:grid;gap:9px}.shop-grade-options label{position:relative;min-width:0}.shop-grade-options input{position:absolute;width:1px;height:1px;opacity:0}.shop-grade-options span{display:grid;min-height:112px;padding:15px;border:1px solid #ccd8e7;border-radius:13px;background:#fff;cursor:pointer}.shop-grade-options b{color:var(--blue);font-size:19px}.shop-grade-options em{margin-top:5px;color:var(--ink);font-size:13px;font-style:normal;font-weight:800}.shop-grade-options small{margin-top:7px;color:var(--muted);font-size:11px;line-height:1.5}.shop-grade-options input:focus-visible+span{outline:3px solid rgba(35,127,234,.25);outline-offset:2px}.shop-grade-options input:checked+span{border:2px solid var(--blue);background:var(--blue-50);box-shadow:0 7px 18px rgba(35,127,234,.12)}.shop-grade-help,.shop-grade-scope-guide{display:grid;gap:4px;margin-top:12px;padding:13px;border-radius:12px;font-size:12px;line-height:1.55}.shop-grade-help{background:#eef3f8;color:#4f6178}.shop-grade-scope-guide{border:1px solid #d9e5f3;background:#fff;color:#53657b}.shop-grade-scope-guide[data-grade="2"],.shop-grade-scope-guide[data-grade="3"]{border-color:#efb3b7;background:#fff3f4;color:#a32630}.inspection-photo-uploader{display:grid;gap:10px;margin-top:16px}.inspection-photo-uploader label>span{display:block;margin-bottom:7px;font-size:13px;font-weight:750}.inspection-photo-file{display:grid;place-items:center;min-height:52px;border:1px dashed #8cbcf3;border-radius:12px;background:var(--blue-50);color:var(--blue);font-weight:800;cursor:pointer}.inspection-photo-file>span{margin:0!important}.inspection-photo-file input{position:absolute;width:1px;height:1px;opacity:0}.inspection-photo-queue{display:grid;gap:9px;margin-top:12px}.inspection-photo-queue>p{margin:0;padding:14px;border-radius:11px;background:#f6f8fb;color:var(--muted);font-size:12px}.inspection-photo-queue article{display:grid;grid-template-columns:72px minmax(0,1fr) 44px;align-items:center;gap:10px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff}.inspection-photo-queue img{width:72px;height:58px;border-radius:8px;object-fit:cover}.inspection-photo-queue div{min-width:0}.inspection-photo-queue b,.inspection-photo-queue small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-photo-queue b{font-size:12px}.inspection-photo-queue small{margin-top:4px;color:var(--muted);font-size:10px}.inspection-photo-queue button{width:44px;height:44px;border:0;border-radius:10px;background:#fff0f0;color:var(--red);font-size:20px}.inspection-photo-open{display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin-top:9px;padding:8px 10px;border:1px solid #c5defa;border-radius:9px;background:var(--blue-50);color:var(--blue);text-align:left}.inspection-photo-open span,.inspection-photo-open b{display:block;margin:0!important;color:inherit!important;font-size:11px!important}.inspection-photo-viewer{position:fixed;z-index:1500;inset:0;display:grid;place-items:end center;padding:0;background:rgba(5,15,30,.78)}.inspection-photo-viewer[hidden]{display:none}.inspection-photo-dialog{width:100%;max-height:94vh;overflow:auto;border-radius:20px 20px 0 0;background:#fff;padding:14px}.inspection-photo-dialog header{position:sticky;z-index:1;top:-14px;display:flex;align-items:center;justify-content:space-between;min-height:58px;background:#fff}.inspection-photo-dialog header button{width:44px;height:44px;border:0;border-radius:12px;background:#eef3f8;font-size:24px}.inspection-photo-dialog figure{margin:0 0 14px}.inspection-photo-dialog img{display:block;width:100%;max-height:72vh;border-radius:14px;background:#0b1930;object-fit:contain}.inspection-photo-dialog figcaption{padding:9px 2px;color:var(--muted);font-size:11px}
@media(min-width:700px){.shop-grade-options{grid-template-columns:repeat(3,minmax(0,1fr))}.inspection-photo-uploader{grid-template-columns:minmax(0,1fr) 180px;align-items:end}.inspection-photo-dialog{width:min(900px,calc(100% - 40px));max-height:90vh;border-radius:20px;padding:20px}.inspection-photo-dialog header{top:-20px}}

/* 전문 차량 도면형 외판 검수 */
.vehicle-view-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:12px 0;padding:5px;border:1px solid var(--line);border-radius:14px;background:#fff}.vehicle-view-tabs button{min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:12px;font-weight:800}.vehicle-view-tabs button.active{background:var(--blue-50);color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.vehicle-body-map{min-height:620px;padding:0;background:linear-gradient(180deg,#f9fbfe,#f2f7fd)}.vehicle-map-heading{position:absolute;z-index:3;left:14px;right:14px;top:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.vehicle-map-heading div{display:grid;gap:4px}.vehicle-map-heading span{color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.09em}.vehicle-map-heading b{font-size:12px}.vehicle-map-heading strong{flex:0 0 auto;padding:6px 8px;border-radius:8px;background:#eaf4ff;color:var(--blue);font-size:10px}.vehicle-silhouette{top:55%;width:170px;height:420px;opacity:1;fill:none;stroke:#86a8ce;stroke-width:3}.vehicle-silhouette .car-outline{fill:#eaf3fd;stroke:#75a5da}.vehicle-silhouette .car-glass{fill:#d3e5f7;stroke:#7197bd}.vehicle-silhouette .car-roof{fill:#fff;stroke:#b6c9dd}.body-part-grid{position:absolute;z-index:4;inset:76px 10px 18px;display:block}.body-part-button{position:absolute;display:grid;align-content:center;justify-items:center;width:92px;min-height:58px;border:1px solid var(--green);border-radius:12px;background:rgba(255,255,255,.96);padding:7px 5px;box-shadow:0 5px 14px rgba(18,53,109,.07)}.body-part-button i{display:block;width:8px;height:8px;margin-bottom:5px;border-radius:50%;background:var(--green)}.body-part-button span{font-size:10px}.body-part-button b{margin-top:3px;color:var(--green);font-size:9px}.body-part-button.selected{outline:3px solid rgba(35,127,234,.24);outline-offset:2px;transform:translateY(-1px)}.body-part-button[data-mark="X"]{border-color:var(--red);background:#fff2f3}.body-part-button[data-mark="X"] i{background:var(--red)}.body-part-button[data-mark="W"]{border-color:var(--orange);background:#fff7ef}.body-part-button[data-mark="W"] i{background:var(--orange)}.body-part-button[data-mark="C"]{border-color:#7d52b3;background:#faf5ff}.body-part-button[data-mark="C"] i{background:#7d52b3}.body-part-button[data-position="top-left"]{left:0;top:45px}.body-part-button[data-position="top-center"]{left:50%;top:10px;transform:translateX(-50%)}.body-part-button[data-position="top-center"].selected{transform:translate(-50%,-1px)}.body-part-button[data-position="top-right"]{right:0;top:45px}.body-part-button[data-position="upper-center"]{left:50%;top:92px;transform:translateX(-50%)}.body-part-button[data-position="upper-center"].selected{transform:translate(-50%,-1px)}.body-part-button[data-position="mid-left"]{left:0;top:190px}.body-part-button[data-position="mid-right"]{right:0;top:190px}.body-part-button[data-position="center-left"]{left:0;top:300px}.body-part-button[data-position="center"]{left:50%;top:230px;transform:translateX(-50%)}.body-part-button[data-position="center"].selected{transform:translate(-50%,-1px)}.body-part-button[data-position="center-right"]{right:0;top:300px}.body-part-button[data-position="bottom-left"]{left:0;bottom:24px}.body-part-button[data-position="bottom-center"]{left:50%;bottom:0;transform:translateX(-50%)}.body-part-button[data-position="bottom-center"].selected{transform:translate(-50%,-1px)}.body-part-button[data-position="bottom-right"]{right:0;bottom:24px}.body-part-grid[data-view="all"]{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:76px 12px 16px}.body-part-grid[data-view="all"]+.none{display:none}.body-part-grid[data-view="all"] .body-part-button{position:relative!important;inset:auto!important;width:100%;min-height:60px;transform:none!important}.vehicle-body-map:has(.body-part-grid[data-view="all"]){min-height:auto}.vehicle-body-map:has(.body-part-grid[data-view="all"]) .vehicle-silhouette{display:none}.body-part-editor{margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(23,48,86,.06)}.body-part-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.body-part-editor-head span{color:var(--blue);font-size:10px;font-weight:800}.body-part-editor-head h4{margin:5px 0 0;font-size:20px}.body-part-editor-head>b{padding:7px 10px;border-radius:9px;background:#eaf8f3;color:var(--green);font-size:11px}.body-part-editor-head>b[data-mark="X"]{background:#fff0f1;color:var(--red)}.body-part-editor-head>b[data-mark="W"]{background:#fff5ec;color:var(--orange)}.body-part-editor-head>b[data-mark="C"]{background:#f7efff;color:#7d52b3}.body-part-editor fieldset{margin-top:17px}.body-part-editor legend{font-size:11px}.body-status-options{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.body-status-options button{min-height:46px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:11px;font-weight:800}.body-status-options button[data-set-mark="normal"]{color:var(--green)}.body-status-options button[data-set-mark="X"]{color:var(--red)}.body-status-options button[data-set-mark="W"]{color:var(--orange)}.body-status-options button[data-set-mark="C"]{color:#7d52b3}.body-status-options button.active{background:var(--blue-50);box-shadow:inset 0 0 0 2px currentColor}.body-photo-shortcut{width:100%;margin-top:10px;min-height:48px;color:var(--blue)}
@media(min-width:560px){.vehicle-body-map{min-height:590px}.body-part-grid{inset-inline:22px}.body-status-options{grid-template-columns:repeat(4,1fr)}}

/* 5면 차량 검수 도면 */
.vehicle-angle-tabs{display:flex;gap:7px;overflow-x:auto;margin:8px 0 12px;padding:2px 1px 5px;scrollbar-width:thin}.vehicle-angle-tabs button{flex:0 0 auto;min-width:76px;min-height:44px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--muted);font-size:11px;font-weight:800}.vehicle-angle-tabs button.active{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 6px 14px rgba(35,127,234,.18)}
.vehicle-body-map{min-height:0!important;padding:72px 12px 14px!important;overflow:visible}.vehicle-orthographic{margin:0;border:1px solid #dfe8f3;border-radius:14px;background:#fff;padding:10px}.vehicle-orthographic img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain}.vehicle-orthographic figcaption{margin-top:8px;color:var(--muted);font-size:10px;line-height:1.5;text-align:center}.vehicle-silhouette{display:none!important}.body-part-grid,.body-part-grid[data-view="all"]{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:12px;padding:0!important}.body-part-button,.body-part-grid[data-view="all"] .body-part-button{position:relative!important;inset:auto!important;width:100%!important;min-height:62px!important;transform:none!important}.body-part-button.selected{transform:translateY(-1px)!important}.vehicle-body-map:has(.body-part-grid[data-view="all"]){min-height:0}.vehicle-map-heading{top:14px}.vehicle-map-heading b{line-height:1.35}
@media(min-width:560px){.vehicle-body-map{padding:74px 18px 18px!important}.vehicle-orthographic{padding:16px}.body-part-grid,.body-part-grid[data-view="all"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}.vehicle-angle-tabs{justify-content:center}.vehicle-angle-tabs button{min-width:96px}}
@media(min-width:1100px){.vehicle-orthographic img{max-height:620px}.body-part-grid,.body-part-grid[data-view="all"]{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

/* 중고차 검수 모바일·태블릿 최적화 */
@media(max-width:559px){
  .main{padding-inline:12px;padding-bottom:116px}
  #page-usedcar .section-intro{display:grid;gap:10px;margin-bottom:14px}
  #page-usedcar .section-intro h2{margin:6px 0 2px;font-size:23px;line-height:1.25}
  #page-usedcar .section-intro p{font-size:12px;line-height:1.55}
  .inspection-form,.inspection-list-panel{padding:16px 12px}
  .inspection-legal-notice{padding:12px;margin-bottom:18px}
  .step-title{gap:10px}.step-title>span{flex-basis:28px;height:28px}.step-title h3{font-size:16px;line-height:1.35}.step-title p{font-size:11px;line-height:1.5}
  .field-grid{gap:11px;margin-top:15px}.field-grid label>span{font-size:12px}input,select{height:50px;font-size:16px}
  .body-mark-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow:visible;margin-block:12px}.body-mark-legend span{text-align:center;padding:9px 6px}
  .vehicle-view-tabs{margin-block:10px;gap:4px}.vehicle-view-tabs button{min-width:0;padding-inline:4px;font-size:11px}
  .vehicle-angle-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow:visible;margin-bottom:10px;padding:0}.vehicle-angle-tabs button{width:100%;min-width:0;min-height:48px;font-size:12px}.vehicle-angle-tabs button:last-child{grid-column:1/-1}
  .vehicle-body-map{padding:12px!important;border-radius:15px}.vehicle-map-heading{position:static;align-items:center;margin-bottom:10px}.vehicle-map-heading span{font-size:9px}.vehicle-map-heading b{font-size:11px}.vehicle-map-heading strong{padding:7px;font-size:9px}
  .vehicle-orthographic{padding:7px;border-radius:12px}.vehicle-orthographic img{max-height:none}.vehicle-orthographic figcaption{font-size:9px}
  .body-part-grid,.body-part-grid[data-view="all"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:10px}.body-part-button,.body-part-grid[data-view="all"] .body-part-button{min-height:60px!important;padding:8px 4px}.body-part-button span{font-size:11px}.body-part-button b{font-size:10px}
  .body-part-editor{padding:14px;margin-top:10px}.body-part-editor-head h4{font-size:18px}.body-status-options button{min-height:48px;font-size:11px}.body-photo-shortcut{min-height:50px}
  .inspection-check-item{grid-template-columns:minmax(0,1fr) 112px;gap:8px;padding:10px}.inspection-check-item input{grid-column:1/-1}.inspection-check-item b{font-size:12px}.inspection-check-item small{font-size:9px;line-height:1.45}
  .inspection-photo-uploader{gap:8px}.inspection-photo-file{min-height:52px}.inspection-notes textarea{min-height:130px;font-size:16px}.inspection-form>.primary.full{min-height:56px;margin-bottom:4px}
}
@media(min-width:560px) and (max-width:1099px){
  .main{padding-inline:24px;padding-bottom:86px}.inspection-layout{max-width:900px;margin-inline:auto}.inspection-form{padding:24px}
  .vehicle-angle-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}.vehicle-angle-tabs button{width:100%;min-width:0;min-height:48px}
  .vehicle-body-map{padding:74px 18px 18px!important}.vehicle-orthographic img{max-height:560px}.body-part-grid,.body-part-grid[data-view="all"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .body-part-button,.body-part-grid[data-view="all"] .body-part-button{min-height:66px!important}.body-status-options button{min-height:50px}.inspection-form>.primary.full{min-height:56px}
}

/* 차량 도면 문제 패널 영역 */
.vehicle-diagram-stage{position:relative;overflow:hidden;border-radius:10px;max-width:594px;margin-inline:auto}.vehicle-panel-diagram{display:block;width:100%;height:auto;aspect-ratio:1226/1283}.vehicle-diagram-area{color:var(--red)}.vehicle-diagram-area[data-mark="W"]{color:var(--orange)}.vehicle-diagram-area[data-mark="C"]{color:#7d52b3}.vehicle-diagram-area path{fill:currentColor;fill-opacity:.25;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-opacity:.9}.vehicle-structure-summary{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}.vehicle-structure-summary:empty{display:none}.vehicle-structure-summary span{padding:7px 9px;border:1px solid currentColor;border-radius:8px;color:var(--red);font-size:11px;background:#fff}.vehicle-structure-summary [data-mark="W"]{color:#b76412}.vehicle-structure-summary [data-mark="C"]{color:#7d52b3}
.diagram-dot-halo{fill:#fff;stroke:currentColor;stroke-width:3}.diagram-dot{fill:currentColor;stroke:none}
.diagram-status-label{font-size:38px;font-weight:800;fill:currentColor;stroke:#fff;stroke-width:7px;stroke-linejoin:round;paint-order:stroke fill;pointer-events:none}
@media(max-width:559px){.diagram-status-label{font-size:52px;stroke-width:9px}}
#workForm .vehicle-customer-grid>label{min-width:0}#vehicleVin{font-size:16px;min-width:0;width:100%}
@media(min-width:600px){#workForm .vehicle-customer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px) and (max-width:1279px){#workForm .vehicle-model-field,#workForm .vehicle-vin-field{grid-column:1/-1}}
.nav-label-with-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0}.nav-coming-soon{flex:none;padding:2px 4px;border-radius:4px;background:#edf0f4;color:#667085;font-size:10px;font-weight:600;line-height:1.4;white-space:nowrap}
.body-part-group-title{grid-column:1/-1;margin:8px 0 2px;font-size:14px;color:var(--navy)}.body-part-group-title:not(:first-child){margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.problem-photo-help{margin:10px 0 0;padding:12px;border-radius:11px;background:#fff7ea;color:#8a5a16;font-size:11px;line-height:1.55}.problem-photo-help[hidden]{display:none}.inspection-photo-file.disabled{border-color:#d5dde7;background:#f2f4f7;color:#8d99a8;cursor:not-allowed}.inspection-photo-file.disabled span:after{content:" · 문제 등록 후 사용";font-weight:600}
.public-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.public-section-heading span{display:block;margin-bottom:3px;color:var(--red);font-size:10px;font-weight:850;letter-spacing:.08em}.public-section-heading h2{margin:0}.public-section-heading>strong{display:grid;place-items:center;min-width:54px;height:36px;border-radius:11px;background:#fff0f0;color:var(--red);font-size:14px}.public-section-help{margin:8px 0 13px;color:var(--muted);font-size:11px;line-height:1.55}.public-problem-list{display:grid;gap:9px}.public-problem-card{min-width:0;border:1px solid #f1b8bb;border-left:5px solid var(--red);border-radius:13px;background:#fff8f8;padding:13px}.public-problem-card>div>small,.public-problem-card>div>b,.public-problem-card>div>strong{display:block}.public-problem-card>div>small{color:var(--muted);font-size:10px}.public-problem-card>div>b{margin-top:5px;font-size:14px}.public-problem-card>div>strong{margin-top:4px;color:var(--red);font-size:12px}.public-problem-card[data-mark="W"]{border-color:#f1cfad;border-left-color:var(--orange);background:#fff9f2}.public-problem-card[data-mark="W"]>div>strong{color:var(--orange)}.public-problem-card[data-mark="C"]{border-color:#d8c4ec;border-left-color:#7d52b3;background:#fbf8ff}.public-problem-card[data-mark="C"]>div>strong{color:#7d52b3}.public-problem-card p{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.public-no-problem{display:grid;gap:5px;border:1px solid #bde2d5;border-radius:13px;background:#f1fbf7;padding:16px;color:#146b52}.public-no-problem span{font-size:11px;line-height:1.5}.public-result-details{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.public-result-details summary{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:10px 14px;cursor:pointer;list-style:none}.public-result-details summary::-webkit-details-marker{display:none}.public-result-details summary span b,.public-result-details summary span small{display:block}.public-result-details summary span small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:400}.public-result-details summary i{color:var(--blue);font-size:11px;font-style:normal;font-weight:800}.public-result-details[open] summary{border-bottom:1px solid var(--line)}.public-result-details[open] summary i{font-size:0}.public-result-details[open] summary i:after{content:"접기";font-size:11px}.public-result-block{padding:14px}.public-result-block+.public-result-block{border-top:1px solid var(--line)}.public-result-block h3{margin:0 0 11px;font-size:14px}
@media(min-width:700px){.public-problem-list{grid-template-columns:1fr 1fr}.public-problem-card{padding:15px}}

/* 부위 목록은 필요한 그룹만 펼치고, 접힌 상태에서도 점검 결과를 확인합니다. */
.matched-customer-history{margin-top:10px;min-width:0}.matched-customer-history[hidden]{display:none}.matched-history-record{display:grid;gap:7px;padding:14px 0;overflow-wrap:anywhere}.matched-history-record+.matched-history-record{border-top:1px solid var(--line)}.matched-history-record>b{font-size:12px;color:var(--muted)}.matched-history-record>strong{font-size:14px}.matched-history-record p{margin:0;font-size:12px;line-height:1.6}.matched-history-note{white-space:pre-wrap}.customer-score{display:block;margin-top:6px;font-size:12px}.history-search-form .history-scope{grid-column:1/-1}.history-scope select{min-height:48px;width:100%;max-width:240px}.history-card-main,.history-card-main>div{flex-wrap:wrap}.history-detail dd,.history-vehicle{overflow-wrap:anywhere}
.history-search-form>label,.history-search-form input{min-width:0}.history-search-form input{max-width:100%;box-sizing:border-box}
@media(min-width:720px) and (max-width:1099px){.history-search-form{grid-template-columns:repeat(2,minmax(0,1fr))}.history-search-form .history-keyword,.history-search-form>.primary{grid-column:1/-1}}
.body-part-groups{display:grid;gap:10px;margin-top:14px;min-width:0}
.body-part-group{min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff}
.body-part-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:12px;box-sizing:border-box;cursor:pointer;list-style:none;border-radius:12px;touch-action:manipulation}
.body-part-group>summary::-webkit-details-marker{display:none}
.body-part-group>summary::marker{content:""}
.body-part-group>summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.body-group-summary{display:flex;flex-direction:column;gap:5px;min-width:0}
.body-group-summary>strong{font-size:14px;color:var(--navy)}
.body-group-counts{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:11px;line-height:1.5;color:var(--muted)}
.body-group-issues{padding:1px 7px;border-radius:5px;background:#f0f3f7;color:var(--muted)}
.body-group-issues:not([data-issues="0"]){background:#fff0f0;color:#b42332;font-weight:800}
.body-group-toggle{display:flex;align-items:center;gap:8px;flex:none;color:var(--blue);font-size:12px;font-weight:700}
.body-group-toggle i{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.body-group-collapse{display:none}
.body-part-group[open]>.body-part-grid{margin:0!important;padding:12px!important;border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr))!important}
.body-part-group[open]>summary .body-group-expand{display:none}
.body-part-group[open]>summary .body-group-collapse{display:inline}
.body-part-group[open]>summary .body-group-toggle i{transform:rotate(225deg);margin-top:4px}
@media(min-width:560px){.body-group-summary{flex-direction:row;align-items:center;gap:14px}.body-part-group>summary{padding-inline:16px}.body-part-group[open]>.body-part-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:1100px){.body-part-group[open]>.body-part-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
/* Compatibility: older WPC extensions also inject work/inspection buttons.
   Hide instead of removing nodes: old extension observers would reinsert them. */
[id^="carmanWpc-"]:not(#carmanWpc-partsVin),
[id^="carmanWpc-"]:not(#carmanWpc-partsVin)+small[role="status"]{display:none!important}

/* Parts request: keep the unsent status separate from the assignment action. */
/* Keep the expanded desktop menu scrollable without losing store/logout controls. */
@media(min-width:1100px){
  .sidebar{height:calc(100vh - 78px);height:calc(100dvh - 78px);min-height:0;overflow:hidden}
  .sidebar>.brand,.sidebar>.shop-card{flex-shrink:0}
  .sidebar>.nav-list{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;padding-right:4px;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#b8c7db transparent}
  .sidebar>.nav-list::-webkit-scrollbar{width:6px}
  .sidebar>.nav-list::-webkit-scrollbar-thumb{border-radius:8px;background:#b8c7db}
  .sidebar>.shop-card{margin-top:16px}
}
.request-dispatch-panel{margin-top:12px;padding:14px;border:1px solid #e1e9f5;border-radius:14px;background:#f3f7fd;min-width:0}
.request-dispatch-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-bottom:12px;color:#536680;font-size:12px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.request-dispatch-badge{display:inline-flex;align-items:center;gap:6px;flex:none;padding:4px 9px;border:1px solid #e8d8b6;border-radius:999px;background:#fffaf0;color:#77551b;font-size:12px;font-weight:750;line-height:1.4}
.request-dispatch-badge i{width:6px;height:6px;border-radius:50%;background:#bd8727}
.request-dispatch-panel .assign-request-vendor{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:12px 16px;border:1px solid #18396c;border-radius:10px;background:#18396c;box-shadow:none;font-size:14px;font-weight:750;line-height:1.5;transition:background .15s,border-color .15s}
.request-dispatch-panel .assign-request-vendor:hover:not(:disabled){background:#214b87;border-color:#214b87}
.request-dispatch-panel .assign-request-vendor:focus-visible{outline:3px solid #86b7ff;outline-offset:3px}
.request-dispatch-panel .assign-request-vendor:disabled{opacity:.6;cursor:wait}
.inspection-record-card .request-dispatch-note{margin:9px 0 0;color:#5c6d85;font-size:11px;line-height:1.6;text-align:center;word-break:keep-all;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.request-dispatch-panel .assign-request-vendor{transition:none}}

/* Keep the platform requirement visible even with already-installed WPC extensions. */
#carmanWpc-partsVin{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 8px;line-height:1.5;white-space:normal}
#carmanWpc-partsVin::after{content:"PC 전용";display:inline-block;flex:none;padding:2px 7px;border:1px solid #d9e4f3;border-radius:6px;background:#eef4fc;color:#284e80;font-size:10px;font-weight:750;line-height:1.5}
.parts-request-part-list{display:grid;gap:5px;min-width:0;margin:6px 0;white-space:normal}
.parts-request-part-line{display:block;min-width:0;overflow-wrap:anywhere;line-height:1.65}
#page-events{min-width:0}
#erpEventsContent{display:block;width:100%;max-width:100%;min-width:0}
