:root{--ink:#142326;--muted:#66787b;--line:#dbe4e5;--bg:#f4f7f7;--card:#fff;--brand:#0c5963;--brand2:#10a5a1;--soft:#e8f4f4;--danger:#a93f35;--warn:#a96b19;--shadow:0 14px 40px rgba(16,46,51,.12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}.hidden{display:none!important}.app-shell{min-height:100vh;padding-bottom:78px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(16px,env(safe-area-inset-left));background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-logo{width:50px;height:38px;object-fit:contain;border-radius:6px;background:#fff}.brand-title{font-weight:800;font-size:16px;line-height:1.1}.prototype-label{font-size:9px;letter-spacing:.11em;color:var(--muted);margin-top:3px;white-space:nowrap}.icon-button,.filter-button,.secondary-button,.primary-button,.text-button,.back-button,.chip{border:0;cursor:pointer}.quote-top{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--brand);color:#fff;font-weight:700}.count-badge{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:#fff;color:var(--brand);font-size:11px}.view{display:none}.view.active{display:block}.sync-strip{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:#fff;border-bottom:1px solid var(--line)}.sync-status{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.status-dot{width:8px;height:8px;border-radius:50%;background:#2fa567;box-shadow:0 0 0 3px rgba(47,165,103,.12)}.status-dot.offline{background:#d08b28;box-shadow:0 0 0 3px rgba(208,139,40,.12)}.last-synced{font-size:11px;color:var(--muted);margin-top:2px}.secondary-button{padding:9px 12px;border-radius:9px;background:var(--soft);color:var(--brand);font-weight:800}.hero-panel{margin:16px;padding:20px;border-radius:18px;background:linear-gradient(135deg,#0c5963,#0d7a80 62%,#18a39c);color:#fff;display:grid;grid-template-columns:1fr auto;gap:16px;box-shadow:var(--shadow)}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:800;opacity:.78;margin:0 0 8px}.hero-panel h1{margin:0 0 8px;font-size:24px;line-height:1.08}.hero-panel p{margin:0;max-width:620px;font-size:13px;line-height:1.5;opacity:.9}.hero-stat{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end}.hero-stat strong{font-size:32px;line-height:1}.hero-stat span{font-size:10px;margin-top:5px;opacity:.82;max-width:100px;text-align:right}.search-row{display:flex;gap:10px;padding:0 16px}.search-box{display:flex;align-items:center;gap:10px;flex:1;padding:0 13px;background:#fff;border:1px solid var(--line);border-radius:12px}.search-box span{font-size:22px;color:var(--muted)}.search-box input{width:100%;border:0;outline:0;padding:13px 0;background:transparent;font-size:14px}.filter-button{padding:0 14px;border-radius:12px;background:#fff;border:1px solid var(--line);font-weight:700;color:var(--ink)}.filter-panel{margin:10px 16px 0;padding:13px;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.filter-label{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.chip{padding:7px 10px;border-radius:99px;background:#eff3f3;color:#435759;font-size:12px;font-weight:700}.chip.active{background:var(--brand);color:#fff}.filter-group select,.section-heading select{padding:8px 10px;border:1px solid var(--line);background:#fff;border-radius:9px;color:var(--ink)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:18px 16px 10px}.section-heading h2{margin:0;font-size:19px}.section-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}.machine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 20px}.machine-card{background:var(--card);border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:0 5px 18px rgba(22,49,55,.06);cursor:pointer;display:flex;flex-direction:column;min-width:0}.machine-image{aspect-ratio:4/3;background:linear-gradient(135deg,#dce8e8,#f7fafa);position:relative;overflow:hidden}.machine-image img{width:100%;height:100%;object-fit:cover;display:block}.image-placeholder{height:100%;display:grid;place-items:center;text-align:center;color:#6d8184;font-weight:800;font-size:12px;padding:20px}.status-badge{position:absolute;top:9px;left:9px;padding:6px 8px;border-radius:99px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;background:rgba(255,255,255,.94);color:#267a50}.status-badge.sold{color:var(--danger)}.status-badge.review{color:var(--warn)}.machine-card-body{padding:11px 11px 12px;display:flex;flex-direction:column;gap:5px;min-height:126px}.machine-code{font-size:10px;font-weight:800;color:var(--brand);text-transform:uppercase;letter-spacing:.06em}.machine-title{font-weight:800;font-size:13px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.machine-category{font-size:10px;color:var(--muted)}.machine-price{margin-top:auto;font-size:16px;font-weight:900}.empty-state{margin:20px 16px;padding:24px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:25;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.nav-item{border:0;background:transparent;padding:8px 6px 10px;display:flex;flex-direction:column;align-items:center;gap:2px;color:#6b7a7d;cursor:pointer}.nav-item span{font-size:20px}.nav-item small{font-size:10px;font-weight:700}.nav-item.active{color:var(--brand)}.nav-item b{display:inline-grid;place-items:center;min-width:16px;height:16px;border-radius:99px;background:var(--brand);color:#fff;font-size:9px}.modal{position:fixed;inset:0;z-index:60}.modal-backdrop{position:absolute;inset:0;background:rgba(7,23,26,.58);backdrop-filter:blur(4px)}.detail-sheet{position:absolute;left:0;right:0;bottom:0;max-height:92vh;overflow:auto;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -16px 60px rgba(0,0,0,.22)}.modal-close{position:sticky;z-index:4;top:12px;float:right;margin:12px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.95);font-size:24px;box-shadow:0 3px 14px rgba(0,0,0,.12);cursor:pointer}.detail-hero{width:100%;aspect-ratio:16/9;background:#e5eeee;overflow:hidden}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-body{padding:18px}.detail-topline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.detail-status{display:inline-flex;padding:5px 8px;border-radius:99px;background:#edf7f2;color:#267a50;font-size:10px;font-weight:900;text-transform:uppercase}.detail-status.sold{background:#f9ece9;color:var(--danger)}.detail-source{font-size:10px;color:var(--muted)}.detail-body h2{font-size:22px;line-height:1.18;margin:9px 0 6px}.detail-price{font-size:25px;font-weight:900;color:var(--brand)}.detail-description{font-size:13px;line-height:1.55;color:#405355}.spec-grid{display:grid;grid-template-columns:1fr;gap:7px;margin:16px 0}.spec-item{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:9px;background:#f5f8f8;font-size:12px}.spec-item span:first-child{color:var(--muted)}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.primary-button{padding:11px 14px;background:var(--brand);color:#fff;border-radius:10px;font-weight:800}.primary-button:disabled{opacity:.45;cursor:not-allowed}.outline-button{display:inline-flex;justify-content:center;align-items:center;padding:11px 14px;border:1px solid var(--line);color:var(--brand);background:#fff;border-radius:10px;text-decoration:none;font-weight:800;font-size:13px}.toast{position:fixed;left:50%;bottom:86px;transform:translateX(-50%);z-index:100;background:#142326;color:#fff;padding:11px 14px;border-radius:10px;box-shadow:var(--shadow);font-size:12px;font-weight:700}.quote-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px}.back-button,.text-button{background:transparent;color:var(--brand);font-weight:800;padding:8px}.quote-actions{display:flex;gap:8px;align-items:center}.quote-paper{background:#fff;margin:0 16px 24px;padding:22px;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow)}.quote-brand-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:3px solid var(--brand);padding-bottom:13px}.quote-logo{width:170px;max-width:45%;height:75px;object-fit:contain}.quote-mark{font-size:15px;font-weight:900;letter-spacing:.08em}.quote-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:18px 0}.quote-fields label{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.quote-fields input{display:block;width:100%;margin-top:4px;padding:9px;border:1px solid var(--line);border-radius:8px;color:var(--ink);text-transform:none;letter-spacing:normal}.quote-intro{font-size:12px;line-height:1.5;color:#425557}.quote-paper h3{font-size:14px;margin:18px 0 8px}.quote-item{display:grid;grid-template-columns:1fr 130px 30px;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.quote-item-title{font-size:12px;font-weight:800}.quote-item-meta{font-size:10px;color:var(--muted);margin-top:3px}.quote-price-input{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;text-align:right}.remove-quote{width:30px;height:30px;border:0;border-radius:50%;background:#f8e9e7;color:var(--danger);cursor:pointer}.quote-empty{padding:22px;text-align:center;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:12px}.quote-total{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:2px solid var(--ink);font-size:14px}.quote-total strong{font-size:22px}.quote-terms{margin-top:24px;padding:12px;border-radius:9px;background:#f5f8f8;font-size:10px;line-height:1.5;color:#58696c}
@media(min-width:760px){.app-shell{max-width:1120px;margin:auto}.machine-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-panel{padding:28px}.hero-panel h1{font-size:32px}.detail-sheet{left:50%;right:auto;bottom:50%;transform:translate(-50%,50%);width:min(760px,92vw);max-height:88vh;border-radius:18px}.detail-hero{aspect-ratio:16/7}.spec-grid{grid-template-columns:1fr 1fr}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(560px,100%);border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0}.quote-paper{max-width:860px;margin:0 auto 30px}.quote-fields{grid-template-columns:repeat(4,1fr)}}
@media(max-width:430px){.hero-panel{grid-template-columns:1fr}.hero-stat{align-items:flex-start}.hero-stat span{text-align:left}.machine-grid{gap:9px;padding-left:10px;padding-right:10px}.section-heading,.search-row{padding-left:10px;padding-right:10px}.quote-paper{margin-left:10px;margin-right:10px;padding:16px}.quote-fields{grid-template-columns:1fr}.quote-item{grid-template-columns:1fr 105px 30px}.prototype-label{font-size:8px}}
@media print{body{background:#fff}.no-print,.topbar,.bottom-nav,.sync-strip{display:none!important}.app-shell{padding:0}.view{display:none!important}#quoteView{display:block!important}.quote-paper{box-shadow:none;border:0;margin:0;padding:0}.quote-fields input{border:0;padding:0;background:transparent}.quote-terms{background:#fff;border:1px solid #ddd}.quote-item{page-break-inside:avoid}}

html,body{width:100%;max-width:100%;overflow-x:hidden}.brand>div{min-width:0}.prototype-label{overflow:hidden;text-overflow:ellipsis;max-width:220px}.quote-top{flex:0 0 auto}.section-heading>div{min-width:0}.section-heading select{max-width:155px;min-width:0}.machine-grid,.search-row,.section-heading,.hero-panel,.sync-strip,.topbar{max-width:100%}
@media(max-width:430px){.topbar{gap:8px}.brand-logo{width:46px;height:34px}.brand-title{font-size:15px}.prototype-label{max-width:165px;font-size:7.5px}.quote-top{padding:9px 10px}.quote-top>span:first-child{display:none}.section-heading select{max-width:132px;font-size:12px}.machine-card-body{min-height:140px}.machine-title{font-size:12px}.machine-price{font-size:15px}}
