.purchase-count-shell { display:grid; gap:16px; }
.purchase-count-quick-actions { display:grid; gap:8px; flex-shrink:0; }
.pc-quick-dialog { box-sizing:border-box; border:0; padding:0; border-radius:18px; width:min(620px,calc(100vw - 20px)); max-height:calc(100dvh - 20px); color:#18332c; box-shadow:0 24px 90px #1234; background:#f7faf9; }
.pc-quick-dialog *, .pc-quick-dialog *::before, .pc-quick-dialog *::after { box-sizing:border-box; }
.pc-quick-dialog::backdrop { background:#102e28a8; }
.pc-quick-dialog header { display:flex; gap:12px; align-items:center; justify-content:space-between; padding:18px; background:#fff; position:sticky; top:0; z-index:2; border-bottom:1px solid #dae8e1; }
.pc-quick-dialog h2 { margin:5px 0 0; font-size:21px; }
.pc-quick-dialog h3 { font-size:16px; margin:18px 0 10px; }
.pc-quick-dialog header small { font-size:10px; letter-spacing:.08em; color:#527568; }
.pc-quick-dialog header button { font-size:24px; min-width:44px; padding:0; }
.pc-q-content { padding:16px 18px; }
.pc-quick-dialog label { display:block; font-weight:650; font-size:14px; margin:8px 0; }
.pc-quick-dialog input:not([type=checkbox]):not([type=file]) { width:100%; min-height:46px; padding:10px; border:1px solid #cadcd3; background:#fff; color:#16372d; border-radius:10px; font:inherit; font-size:16px; }
.pc-quick-dialog button { min-height:44px; font:inherit; font-weight:650; border:1px solid #c8dcd1; background:#fff; color:#205840; border-radius:10px; padding:10px 14px; cursor:pointer; }
.pc-quick-dialog button:disabled { opacity:.55; cursor:default; }
.pc-quick-dialog button:focus-visible, .pc-quick-dialog input:focus-visible { outline:3px solid #3baa84; outline-offset:2px; }
.pc-quick-dialog .pc-q-primary { width:100%; background:#176c4d; color:#fff; border-color:#176c4d; min-height:50px; }
.pc-q-secondary { width:100%; margin-top:10px; }
.pc-q-hint { color:#637a70; font-size:13px; line-height:1.5; }
.pc-q-results { display:grid; gap:8px; max-height:290px; overflow-y:auto; margin:10px 0; }
.pc-quick-dialog .pc-q-result { display:grid; gap:4px; text-align:left; padding:12px; }
.pc-q-result span, .pc-q-result small { color:#61766b; font-size:12px; font-weight:400; }
.pc-q-result b { font-size:12px; color:#237a54; }
.pc-q-lines { display:grid; gap:8px; }
.pc-q-lines article { display:flex; align-items:center; gap:8px; background:#fff; padding:12px; border-radius:12px; border:1px solid #dbe7e1; }
.pc-q-lines article > div { min-width:0; flex:1; display:grid; gap:4px; overflow-wrap:anywhere; }
.pc-q-lines small, .pc-q-lines span { color:#677d71; font-size:12px; }
.pc-q-lines button { padding:8px; }
.pc-q-reference { display:grid; gap:7px; background:#e8f3ed; padding:14px; border-radius:12px; overflow-wrap:anywhere; }
.pc-q-reference small { color:#517766; }
.pc-q-bulk { display:flex; align-items:center; gap:8px; }
.pc-q-bulk > input { flex:1; min-width:0; }
.pc-q-bulk > button { flex-shrink:0; }
.pc-q-check { display:flex!important; gap:10px; align-items:center; }
.pc-q-check input { width:21px; height:21px; margin:0; accent-color:#197653; flex-shrink:0; }
.pc-q-parts { display:grid; gap:8px; margin:14px 0; }
.pc-q-part { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border:1px solid #d8e5de; background:#fff; border-radius:12px; }
.pc-q-part > label { flex:1; min-width:0; overflow-wrap:anywhere; }
.pc-q-values { display:flex; gap:8px; max-width:56%; }
.pc-q-values label { width:84px; font-size:11px; color:#567367; }
.pc-q-part.excluded { background:#eef2ef; }
.pc-q-part.excluded small { max-width:50%; font-size:12px; }
.pc-quick-dialog details { margin:14px 0; }
.pc-quick-dialog summary { cursor:pointer; padding:10px 0; }
.pc-q-message { padding:12px; background:#e9f3ff; color:#25547b; border-radius:10px; margin-bottom:12px; line-height:1.45; }
.pc-quick-dialog footer { position:sticky; bottom:0; background:#fff; border-top:1px solid #d8e5dd; padding:12px 18px max(12px,env(safe-area-inset-bottom)); display:grid; gap:7px; text-align:center; }
.pc-quick-dialog footer small { font-size:11px; color:#718278; }
.pc-q-camera, .pc-q-gallery { padding:12px; background:#fff; border:1px solid #cbded1; border-radius:10px; cursor:pointer; text-align:center; }
.pc-q-camera input,.pc-q-gallery input { display:block; max-width:100%; font-size:12px; margin-top:8px; }
.pc-q-preview { display:block; max-width:100%; max-height:200px; object-fit:contain; border-radius:10px; margin:10px auto; }
.pc-quick-dialog [hidden] { display:none!important; }
@media(max-width:600px) { .purchase-count-quick-actions { width:100%; } .purchase-count-hero { flex-wrap:wrap; } .pc-quick-dialog { width:100vw; max-width:100vw; max-height:100dvh; border-radius:0; margin:0; height:100dvh; } .pc-q-content { padding:14px; } .pc-quick-dialog header { padding:14px; } .pc-q-part { gap:8px; padding:8px; } .pc-q-values label { width:68px; } }
.purchase-count-hero { background:linear-gradient(135deg,#eefaf5,#f7fbff); border:1px solid #cfe9de; border-radius:18px; padding:20px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.purchase-count-hero h2,.purchase-count-card h3,.purchase-count-dialog h2,.purchase-count-dialog h3 { margin:0; }
.purchase-count-hero-copy { display:grid; gap:7px; max-width:760px; }
.purchase-count-hero-copy p { margin:0; color:#627480; line-height:1.55; }
.purchase-count-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:end; }
.purchase-count-toolbar .field { display:grid; gap:6px; min-width:180px; flex:1; }
.purchase-count-toolbar label,.purchase-count-form label { font-size:12px; color:#5d6f79; font-weight:900; text-transform:uppercase; letter-spacing:.03em; }
.purchase-count-toolbar input,.purchase-count-toolbar select,.purchase-count-form input,.purchase-count-form textarea,.purchase-count-form select { width:100%; border:1px solid #d6e0e5; border-radius:10px; padding:11px 12px; background:#fff; color:#17242b; }
.purchase-count-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.purchase-count-kpi { background:#fff; border:1px solid #dfe8ec; border-radius:15px; padding:16px; display:grid; gap:8px; box-shadow:0 8px 24px rgba(17,52,65,.05); }
.purchase-count-kpi span { color:#687b86; font-size:13px; }
.purchase-count-kpi strong { font-size:30px; color:#12252c; }
.purchase-count-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.purchase-count-card { background:#fff; border:1px solid #dce6ea; border-radius:16px; padding:16px; display:grid; gap:13px; box-shadow:0 8px 24px rgba(18,37,44,.04); }
.purchase-count-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.purchase-count-progress { height:9px; overflow:hidden; border-radius:999px; background:#e8eff2; }
.purchase-count-progress > div { height:100%; border-radius:inherit; background:linear-gradient(90deg,#176a4f,#2aa36f); transition:width .2s ease; }
.purchase-count-progress-label { color:#36535f; font-size:13px; }
.purchase-count-card-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.purchase-count-card-meta div { background:#f6f9fa; border-radius:10px; padding:10px; min-width:0; }
.purchase-count-card-meta span { display:block; color:#72838c; font-size:11px; text-transform:uppercase; font-weight:800; }
.purchase-count-card-meta strong { display:block; margin-top:4px; overflow-wrap:anywhere; }
.purchase-count-state { border-radius:999px; padding:6px 10px; font-size:12px; font-weight:900; white-space:nowrap; background:#edf3f6; color:#38515d; }
.purchase-count-state.pending { background:#fff2cf; color:#805b00; }
.purchase-count-state.in_progress { background:#e7f2ff; color:#175e9e; }
.purchase-count-state.completed { background:#dff5e9; color:#167347; }
.purchase-count-state.completed_findings { background:#ffe5e1; color:#a6372d; }
.purchase-count-banner { border-radius:12px; padding:12px 14px; line-height:1.45; }
.purchase-count-banner.info { background:#eaf5ff; color:#245b81; }
.purchase-count-banner.success { background:#e4f6ed; color:#146b43; }
.purchase-count-banner.error { background:#ffe8e4; color:#a3332b; }
.purchase-count-empty { background:#fff; border:1px dashed #cbd8de; border-radius:16px; padding:30px; text-align:center; color:#6a7b84; }
.purchase-count-dialog { border:0; border-radius:18px; padding:0; width:min(1180px,calc(100vw - 28px)); max-height:calc(100vh - 28px); color:#17242b; box-shadow:0 24px 80px rgba(5,30,40,.28); }
.purchase-count-dialog::backdrop { background:rgba(7,25,33,.58); }
.purchase-count-dialog-shell { display:grid; grid-template-rows:auto minmax(0,1fr) auto; max-height:calc(100vh - 28px); }
.purchase-count-dialog-head,.purchase-count-dialog-foot { padding:16px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; background:#fff; }
.purchase-count-dialog-head { border-bottom:1px solid #dfe7ea; }
.purchase-count-dialog-foot { border-top:1px solid #dfe7ea; flex-wrap:wrap; }
.purchase-count-dialog-body { overflow:auto; padding:18px; background:#f5f8f9; display:grid; gap:16px; }
.purchase-count-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.purchase-count-summary > div { background:#fff; border:1px solid #dfe7ea; border-radius:12px; padding:12px; }
.purchase-count-summary span { display:block; font-size:11px; color:#71818a; text-transform:uppercase; font-weight:800; }
.purchase-count-summary strong { display:block; margin-top:4px; overflow-wrap:anywhere; }
.purchase-count-section { background:#fff; border:1px solid #dfe7ea; border-radius:15px; padding:15px; display:grid; gap:12px; }
.purchase-count-items { display:grid; gap:10px; }
.purchase-count-item { border:1px solid #e0e8eb; border-radius:12px; padding:12px; display:grid; grid-template-columns:minmax(0,1.7fr) repeat(6,minmax(70px,.55fr)); gap:9px; align-items:center; }
.purchase-count-item small { display:block; color:#6c7e87; margin-top:4px; }
.purchase-count-metric { text-align:center; }
.purchase-count-metric span { display:block; font-size:10px; color:#71818a; text-transform:uppercase; font-weight:800; }
.purchase-count-metric strong { font-size:18px; }
.purchase-count-metric.bad strong { color:#b6372e; }
.purchase-count-component-summary { grid-column:1/-1; border-top:1px solid #e3eaed; padding-top:10px; display:grid; gap:7px; }
.purchase-count-component-summary > div { display:flex; flex-wrap:wrap; gap:6px; }
.purchase-count-component-summary span { border-radius:999px; padding:5px 8px; font-size:11px; font-weight:800; }
.purchase-count-component-summary span.ready { background:#dff5e9; color:#167347; }
.purchase-count-component-summary span.pending { background:#fff0d6; color:#8b5d00; }
.purchase-count-component-summary small { color:#667984; }
.purchase-count-boxes { display:grid; gap:10px; }
.purchase-count-box { border:1px solid #dfe7ea; border-radius:13px; padding:13px; display:grid; gap:10px; }
.purchase-count-box-head { display:flex; justify-content:space-between; gap:12px; align-items:start; }
.purchase-count-box-actions,.purchase-count-actions { display:flex; flex-wrap:wrap; gap:8px; }
.purchase-count-evidence { display:flex; flex-wrap:wrap; gap:9px; }
.purchase-count-evidence-card { display:grid; gap:5px; max-width:240px; }
.purchase-count-evidence-card small { white-space:normal; overflow-wrap:anywhere; color:#637681; }
.purchase-count-evidence a { display:block; width:86px; text-decoration:none; color:#284a58; }
.purchase-count-evidence img { width:86px; height:72px; object-fit:cover; border-radius:9px; border:1px solid #d6e1e5; background:#eef3f5; }
.purchase-count-evidence small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.purchase-count-form { display:grid; gap:14px; }
.purchase-count-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.purchase-count-reference-list { display:grid; gap:10px; }
.purchase-count-reference-picker { border:1px solid #dce6ea; border-radius:12px; padding:13px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.purchase-count-reference-picker.selected { border-color:#a8d8c5; background:#f2fbf7; }
.purchase-count-reference-picker small,.purchase-count-reference-picker span { display:block; margin-top:4px; color:#687b86; }
.purchase-count-reference-picker .purchase-count-actions { align-items:center; justify-content:flex-end; }
.purchase-count-reference-workspace { min-height:calc(100vh - 245px); display:grid; align-content:start; gap:14px; background:#fff; border:1px solid #b9dacc; border-radius:15px; padding:15px; }
.purchase-count-workspace-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding-bottom:12px; border-bottom:1px solid #dfe9e5; }
.purchase-count-workspace-head span { display:block; color:#176a4f; font-size:11px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.purchase-count-workspace-head h3 { margin:3px 0; font-size:22px; }
.purchase-count-line-editor { border:1px solid #dbe5e9; border-radius:13px; padding:12px; display:grid; gap:10px; }
.purchase-count-line-title { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.purchase-count-live-summary { display:flex; align-items:center; justify-content:space-between; gap:10px; border-radius:10px; padding:10px 12px; background:#edf8f3; color:#1a654d; }
.purchase-count-live-summary span { font-size:12px; }
.purchase-count-qty-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.purchase-count-accessories { display:grid; gap:8px; }
.purchase-count-accessory { display:grid; grid-template-columns:minmax(130px,1.2fr) repeat(3,minmax(80px,.55fr)) auto; gap:8px; align-items:end; padding:9px; border-radius:10px; background:#f5f8f9; }
.purchase-count-excluded { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:10px; border:1px solid #f1d6a8; border-radius:10px; background:#fff8e9; color:#79520a; }
.purchase-count-excluded > span { display:inline-flex; align-items:center; gap:7px; font-weight:800; }
.purchase-count-excluded .btn { min-height:32px; padding:5px 8px; }
.purchase-count-file-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; }
.purchase-count-form input[readonly] { background:#eef2f4; color:#52646d; cursor:not-allowed; font-weight:800; }
.purchase-count-required { align-self:center; color:#176a4f; font-size:11px; font-weight:900; text-transform:uppercase; }
.purchase-count-evidence-section { scroll-margin-top:12px; border-color:#b9dacd; background:#fbfffd; padding:0; overflow:hidden; }
.purchase-count-evidence-section > summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 15px; }
.purchase-count-evidence-section > summary::-webkit-details-marker { display:none; }
.purchase-count-evidence-section > summary span:first-child { display:grid; gap:3px; }
.purchase-count-evidence-section > summary small { color:#627780; }
.purchase-count-evidence-content { border-top:1px solid #dbe9e3; padding:15px; display:grid; gap:12px; }
.purchase-count-camera { display:grid; grid-template-columns:minmax(220px,1fr) minmax(240px,1.3fr) auto; gap:12px; align-items:end; }
.purchase-count-camera > input[type="file"] { position:absolute; inline-size:1px; block-size:1px; opacity:0; pointer-events:none; }
.purchase-count-camera-trigger { min-height:48px; border:2px dashed #2b896a; border-radius:12px; padding:12px 14px; display:flex; align-items:center; justify-content:center; color:#176a4f!important; background:#effaf5; cursor:pointer; text-align:center; font-size:14px!important; }
.purchase-count-photo-preview { width:100%; max-width:260px; max-height:190px; object-fit:contain; border-radius:12px; border:1px solid #cfe0d9; background:#edf4f1; }
.purchase-count-history { display:grid; gap:8px; }
.purchase-count-event { border-left:3px solid #b9d5ca; padding:7px 10px; background:#f7faf9; border-radius:0 8px 8px 0; }
.purchase-count-event small { color:#6c7d85; }
@media (max-width:900px) { .purchase-count-kpis,.purchase-count-grid { grid-template-columns:1fr 1fr; } .purchase-count-summary { grid-template-columns:1fr 1fr; } .purchase-count-item { grid-template-columns:1fr repeat(3,minmax(60px,.5fr)); } }
@media (max-width:620px) {
  html:has(.purchase-count-dialog[open]),body:has(.purchase-count-dialog[open]){overflow:hidden;overscroll-behavior:none}
  .purchase-count-shell{gap:11px}.purchase-count-hero{flex-direction:column;padding:15px;border-radius:14px}.purchase-count-hero .btn{width:100%;min-height:48px}
  .purchase-count-kpis{grid-template-columns:1fr 1fr;gap:7px}.purchase-count-kpi{padding:11px}.purchase-count-kpi strong{font-size:24px}
  .purchase-count-grid,.purchase-count-summary,.purchase-count-form-grid,.purchase-count-qty-grid{grid-template-columns:1fr}.purchase-count-toolbar{display:grid;grid-template-columns:1fr}.purchase-count-toolbar .btn{min-height:48px}
  .purchase-count-card{padding:13px}.purchase-count-card-meta{grid-template-columns:1fr 1fr}.purchase-count-card-head{align-items:flex-start;flex-wrap:wrap}
  .purchase-count-item{grid-template-columns:repeat(2,1fr);padding:10px}.purchase-count-item>div:first-child{grid-column:1/-1}.purchase-count-metric{text-align:left;background:#f5f8f9;padding:8px;border-radius:8px}
  .purchase-count-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;margin:0;overscroll-behavior:contain}.purchase-count-dialog-shell{height:100dvh;max-height:100dvh}.purchase-count-dialog-head{position:sticky;top:0;z-index:3;padding:10px 12px;min-height:58px}.purchase-count-dialog-head h2{font-size:18px}.purchase-count-dialog-head small{display:block;max-width:65vw;overflow-wrap:anywhere}.purchase-count-dialog-head .btn{min-height:42px}.purchase-count-dialog-body{padding:9px;gap:10px;scroll-behavior:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding:72px 0 110px}.purchase-count-dialog-foot{position:sticky;bottom:0;z-index:3;padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:#fff}.purchase-count-dialog-foot>div:first-child{font-size:12px}.purchase-count-dialog-foot .purchase-count-actions,.purchase-count-dialog-foot .btn{width:100%}
  .purchase-count-section{padding:11px}.purchase-count-line-title{align-items:flex-start}.purchase-count-line-title label{min-width:0}.purchase-count-line-title span{overflow-wrap:anywhere}
  .purchase-count-reference-workspace{min-height:calc(100dvh - 150px);padding:10px;border-radius:12px}.purchase-count-workspace-head,.purchase-count-reference-picker{align-items:stretch;flex-direction:column}.purchase-count-workspace-head .btn,.purchase-count-reference-picker .btn{width:100%;min-height:46px}.purchase-count-reference-picker .purchase-count-actions{align-items:stretch;justify-content:flex-start}
  .purchase-count-evidence-section{padding:0}.purchase-count-evidence-section>summary{padding:12px;align-items:flex-start}.purchase-count-evidence-content{padding:11px}
  .purchase-count-live-summary{align-items:flex-start;flex-direction:column;gap:3px}
  .purchase-count-accessory{grid-template-columns:1fr 1fr;padding:9px}.purchase-count-accessory>div:first-child{grid-column:1/-1}.purchase-count-accessory .btn,.purchase-count-required{grid-column:1/-1;width:100%;min-height:42px}.purchase-count-custom-accessory>div{grid-column:1/-1!important}
  .purchase-count-file-row,.purchase-count-camera{grid-template-columns:1fr}.purchase-count-file-row .btn,.purchase-count-camera .btn{width:100%;min-height:48px}.purchase-count-photo-preview{max-width:none;width:100%;max-height:240px}.purchase-count-form input,.purchase-count-form textarea,.purchase-count-form select{font-size:16px;min-height:47px}.purchase-count-camera-trigger{min-height:54px;font-size:15px!important}
  .purchase-count-box-actions .btn,.purchase-count-actions .btn{flex:1;min-height:44px}.purchase-count-evidence{display:grid;grid-template-columns:1fr}.purchase-count-evidence .btn{width:100%;overflow-wrap:anywhere}
  .purchase-count-evidence-card{max-width:none;width:100%}.purchase-count-component-summary>div{display:grid;grid-template-columns:1fr}.purchase-count-component-summary span{border-radius:9px;padding:8px}
}
