html:has(.sm-measurement-app) { margin-top:0 !important; scrollbar-gutter:stable; }
body:has(.sm-measurement-app).admin-bar { margin-top:0 !important; }
body:has(.sm-measurement-app) #wpadminbar,
body:has(.sm-measurement-app) > .wp-site-blocks > header,
body:has(.sm-measurement-app) > .wp-site-blocks > footer { display:none; }
body:has(.sm-measurement-app) #wp--skip-link--target { margin-top:0 !important; }
body:has(.sm-measurement-app) #wp--skip-link--target > .wp-block-group { padding-top:24px !important; padding-bottom:0 !important; }
body:has(.sm-measurement-app) .wp-block-post-title { width:min(1500px,calc(100vw - 64px)); margin:0 auto 6px; color:#0f172a; font:700 clamp(2rem,3.2vw,2.625rem)/1.15 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-align:center; letter-spacing:-.035em; }

.sm-measurement-app { --sm-primary:#1677ff; --sm-primary-hover:#0f68d8; --sm-text:#0f172a; --sm-muted:#64748b; --sm-border:#e2e8f0; --sm-surface:#fff; --sm-soft:#f8fafc; --sm-blue-soft:#f5f9ff; --sm-warning:#c25d08; width:min(1500px,calc(100vw - 64px)); max-width:none; margin:0 auto 48px; color:var(--sm-text); font:16px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.sm-measurement-app *, .sm-measurement-app *::before, .sm-measurement-app *::after { box-sizing:border-box; }
.sm-measurement-app .sm-step[hidden] { display:none !important; }
.sm-measurement-app .sm-app-intro { margin:0 0 24px; text-align:center; }
.sm-measurement-app .sm-app-intro p { margin:0; color:var(--sm-muted); font-size:1.0625rem; }
.sm-measurement-app .sm-progress { display:grid; grid-template-columns:auto minmax(36px,88px) auto minmax(36px,88px) auto; align-items:center; justify-content:center; margin:0 auto 24px; }
.sm-measurement-app .sm-progress span { display:flex; align-items:center; gap:8px; color:#94a3b8; font-size:.875rem; font-weight:650; white-space:nowrap; }
.sm-measurement-app .sm-progress b { display:grid; width:30px; height:30px; place-items:center; border:1px solid var(--sm-border); border-radius:50%; background:var(--sm-surface); color:inherit; font-size:.8125rem; }
.sm-measurement-app .sm-progress em { font-style:normal; }
.sm-measurement-app .sm-progress i { height:1px; margin:0 12px; background:var(--sm-border); }
.sm-measurement-app .sm-progress span.is-active { color:var(--sm-primary); }
.sm-measurement-app .sm-progress span.is-active b { border-color:#b8d8ff; background:#eaf3ff; }
.sm-measurement-app .sm-progress span:has(~ span.is-active) { color:#16805b; }
.sm-measurement-app .sm-progress span:has(~ span.is-active) b { border-color:#b9e7d5; background:#ecfdf5; font-size:0; }
.sm-measurement-app .sm-progress span:has(~ span.is-active) b::before { content:"✓"; font-size:.875rem; }
.sm-measurement-app .sm-notice { min-height:0; margin:0 0 16px; padding:11px 14px; border:1px solid #fecaca; border-radius:10px; background:#fff7f7; color:#b42318; font-weight:600; }
.sm-measurement-app .sm-notice:empty { display:none; }

.sm-measurement-app .sm-upload-step { display:flex; flex-direction:column; gap:20px; }
.sm-measurement-app .sm-upload-card { padding:20px 24px 48px; border:1px solid var(--sm-border); border-radius:16px; background:var(--sm-surface); box-shadow:0 8px 30px rgba(15,23,42,.05); }
.sm-measurement-app .sm-upload-copy { margin-bottom:18px; text-align:center; }
.sm-measurement-app .sm-upload-copy h2 { margin:0 0 6px; color:var(--sm-text); font-size:1.375rem; letter-spacing:-.02em; }
.sm-measurement-app .sm-upload-copy p { margin:0; color:var(--sm-muted); }
.sm-measurement-app .sm-drop-zone { display:flex; min-height:280px; flex-direction:column; align-items:center; justify-content:center; padding:28px; border:1.5px dashed #3b82f6; border-radius:14px; background:#f7faff; cursor:pointer; text-align:center; transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease; }
.sm-measurement-app .sm-drop-zone:hover, .sm-measurement-app .sm-drop-zone:focus-within, .sm-measurement-app .sm-drop-zone.is-dragging { border-color:var(--sm-primary); background:#f4f8ff; box-shadow:0 0 0 4px rgba(22,119,255,.08); }
.sm-measurement-app .sm-upload-icon { display:grid; width:52px; height:52px; margin-bottom:14px; place-items:center; border:1px solid #cfe3ff; border-radius:14px; background:#eaf3ff; color:var(--sm-primary); }
.sm-measurement-app .sm-upload-icon svg { width:26px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.sm-measurement-app .sm-drop-title { font-size:1.125rem; }
.sm-measurement-app .sm-upload-or { margin:5px 0; color:#94a3b8; font-size:.875rem; }
.sm-measurement-app .sm-upload-button { min-width:142px; padding:10px 18px; border-radius:9px; background:var(--sm-primary); color:#fff; font-weight:700; box-shadow:0 4px 12px rgba(22,119,255,.18); }
.sm-measurement-app .sm-file-note { margin-top:14px; color:var(--sm-muted); font-size:.8125rem; }
.sm-measurement-app #sm-photo-input { position:absolute; inline-size:1px; block-size:1px; opacity:0; }
.sm-measurement-app .sm-guidance { padding:20px 22px; border:1px solid var(--sm-border); border-radius:14px; background:#f8fbff; }
.sm-measurement-app .sm-guidance h2 { margin:0 0 16px; font-size:1rem; }
.sm-measurement-app .sm-guidance ul { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0; padding:0; list-style:none; }
.sm-measurement-app .sm-guidance li { display:flex; min-width:0; gap:11px; padding-right:12px; }
.sm-measurement-app .sm-guide-icon { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; border-radius:9px; background:#e2efff; color:var(--sm-primary); font-size:.8125rem; font-weight:800; }
.sm-measurement-app .sm-guidance li div, .sm-measurement-app .sm-guidance li span { min-width:0; }
.sm-measurement-app .sm-guidance li strong, .sm-measurement-app .sm-guidance li div > span { display:block; }
.sm-measurement-app .sm-guidance li strong { margin-bottom:3px; font-size:.875rem; }
.sm-measurement-app .sm-guidance li div > span { color:var(--sm-muted); font-size:.8125rem; line-height:1.45; }
.sm-measurement-app .sm-photo-examples { position:relative; }
.sm-measurement-app .sm-photo-examples-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:12px; }
.sm-measurement-app .sm-photo-examples-heading h2 { margin:0; font-size:1rem; }
.sm-measurement-app .sm-photo-examples-heading p { margin:0; color:var(--sm-muted); font-size:.8125rem; }
.sm-measurement-app .sm-photo-example-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.sm-measurement-app .sm-photo-example { position:relative; min-width:0; padding:0; overflow:visible; border:0; border-radius:10px; background:transparent; text-align:left; }
.sm-measurement-app .sm-photo-example > img { display:block; width:100%; aspect-ratio:16/9; border:1px solid var(--sm-border); border-radius:10px; object-fit:contain; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.sm-measurement-app .sm-photo-example-label { display:block; padding-top:7px; }
.sm-measurement-app .sm-photo-example-label strong, .sm-measurement-app .sm-photo-example-label small { display:block; }
.sm-measurement-app .sm-photo-example-label strong { font-size:.875rem; }
.sm-measurement-app .sm-photo-example-label small { margin-top:1px; color:var(--sm-muted); font-size:.75rem; line-height:1.35; }
.sm-measurement-app .sm-photo-example:hover { border:0; background:transparent; }
.sm-measurement-app .sm-photo-example:hover > img { border-color:#93c5fd; box-shadow:0 10px 30px rgba(15,23,42,.08); transform:translateY(-2px); }
.sm-photo-guide-modal[hidden] { display:none; }
.sm-photo-guide-modal { position:fixed; z-index:100001; inset:0; display:grid; place-items:center; padding:24px; background:rgba(15,23,42,.52); }
.sm-photo-guide-dialog { position:relative; width:min(560px,90vw); padding:8px; border:1px solid var(--sm-border); border-radius:12px; background:#fff; box-shadow:0 18px 50px rgba(15,23,42,.15); }
.sm-photo-guide-dialog > img { display:block; width:100%; aspect-ratio:16/9; border-radius:8px; object-fit:contain; }
.sm-photo-guide-dialog > div { padding:12px 8px 5px; }
.sm-photo-guide-dialog h2 { margin:0; font-size:1rem; }
.sm-photo-guide-dialog p { margin:4px 0 0; color:var(--sm-muted); font-size:.875rem; }
.sm-photo-guide-close { position:absolute; top:16px; right:16px; display:grid; width:32px; height:32px; place-items:center; padding:0; border-color:rgba(255,255,255,.8); background:rgba(15,23,42,.76); color:#fff; font-size:1.25rem; line-height:1; }
.sm-photo-guide-close:hover { border-color:#fff; background:#0f172a; color:#fff; }

.sm-measurement-app .sm-calibration-workspace { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:24px; align-items:stretch; padding:14px; border:1px solid #e3e8ef; border-radius:16px; background:#f3f6fa; box-shadow:0 8px 30px rgba(15,23,42,.05); }
.sm-measurement-app .sm-calibration-workspace[hidden] { display:none !important; }
.sm-measurement-app .sm-calibration-viewer { display:grid; min-width:0; min-height:360px; place-items:center; overflow:hidden; border-radius:11px; background:#e9eef5; }
.sm-measurement-app .sm-calibration-photo { position:relative; display:inline-block; width:auto; max-width:100%; padding:0; overflow:hidden; border:0; border-radius:0; background:transparent; line-height:0; }
.sm-measurement-app .sm-calibration-photo:hover, .sm-measurement-app .sm-calibration-photo:disabled { border:0; background:transparent; opacity:1; }
.sm-measurement-app .sm-calibration-photo[data-ready-for-tap="1"] { cursor:crosshair; }
.sm-measurement-app .sm-calibration-image { display:block; width:auto; max-width:100%; max-height:68vh; object-fit:contain; }
.sm-measurement-app .sm-calibration-overlay, .sm-measurement-app .sm-calibration-scan { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.sm-measurement-app .sm-calibration-outline { fill:rgba(34,182,110,.12); stroke:#22b66e; stroke-width:2; vector-effect:non-scaling-stroke; }
.sm-measurement-app .sm-calibration-corner { fill:#fff; stroke:#22b66e; stroke-width:3; vector-effect:non-scaling-stroke; }
.sm-measurement-app .sm-calibration-tap-target { fill:rgba(37,99,235,.12); stroke:#2563eb; stroke-width:3; vector-effect:non-scaling-stroke; animation:sm-calibration-tap 1s ease-out infinite; }
.sm-measurement-app .sm-calibration-tap-dot { fill:#2563eb; stroke:#fff; stroke-width:2; vector-effect:non-scaling-stroke; }
.sm-measurement-app .sm-calibration-scan { display:none; background:linear-gradient(180deg,transparent 0,transparent 46%,rgba(59,130,246,.08) 47%,rgba(59,130,246,.62) 50%,rgba(59,130,246,.08) 53%,transparent 54%,transparent 100%); animation:sm-calibration-scan 1.75s ease-in-out infinite; }
.sm-measurement-app .sm-calibration-workspace[data-calibration-state="processing"] .sm-calibration-scan { display:block; }
.sm-measurement-app .sm-calibration-status { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:24px; border:1px solid var(--sm-border); border-radius:12px; background:#fff; }
.sm-measurement-app .sm-calibration-eyebrow { margin:0 0 8px; color:#0b5cb5; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.sm-measurement-app .sm-calibration-status h2 { margin:0; font-size:1.35rem; letter-spacing:-.025em; }
.sm-measurement-app .sm-calibration-status > p:not(.sm-calibration-eyebrow):not(.sm-calibration-spec) { margin:9px 0 0; color:var(--sm-muted); }
.sm-measurement-app .sm-calibration-spec { margin:16px 0 0; padding:8px 10px; border-radius:8px; background:#ecfdf5; color:#167f59; font-size:.8125rem; font-weight:700; }
.sm-measurement-app .sm-calibration-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.sm-measurement-app .sm-calibration-actions [hidden] { display:none; }
@keyframes sm-calibration-scan { 0%,100% { transform:translateY(-42%); } 50% { transform:translateY(42%); } }
@keyframes sm-calibration-tap { from { opacity:1; } to { opacity:.25; } }

.sm-measurement-app .sm-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:24px; align-items:start; }
.sm-measurement-app .sm-viewer-shell { min-width:0; padding:14px; border:1px solid #e3e8ef; border-radius:16px; background:#f3f6fa; box-shadow:0 8px 30px rgba(15,23,42,.05); }
.sm-measurement-app .sm-workspace { position:relative; width:100%; min-width:0; min-height:520px; aspect-ratio:16/8.5; overflow:hidden; overscroll-behavior:contain; border-radius:11px; background:#e9eef5; touch-action:none; user-select:none; -webkit-user-select:none; }
.sm-measurement-app .sm-stage { position:absolute; inset:0; }
.sm-measurement-app .sm-svg { display:block; width:100%; height:100%; max-width:none; }
.sm-measurement-app .sm-dimensions { pointer-events:none; }
.sm-measurement-app .sm-polygon { fill:rgba(51,209,122,.08); stroke:#22b66e; stroke-width:2; stroke-opacity:.9; stroke-dasharray:7 5; vector-effect:non-scaling-stroke; pointer-events:all; cursor:move; }
.sm-measurement-app .sm-edge-hit { stroke:transparent; pointer-events:stroke; }
.sm-measurement-app .sm-handle-hit { fill:transparent; cursor:grab; }
.sm-measurement-app .sm-handle-dot { fill:#fff; stroke:var(--sm-primary); stroke-width:6; vector-effect:non-scaling-stroke; pointer-events:none; }
.sm-measurement-app .sm-handle-cross { stroke:#101828; stroke-width:1.5; vector-effect:non-scaling-stroke; pointer-events:none; }
.sm-measurement-app .sm-handle.is-selected .sm-handle-dot { fill:#dbeafe; }
.sm-measurement-app .sm-handle.is-primary .sm-handle-dot { fill:#fff; stroke:#f04438; }
.sm-measurement-app .sm-handle.is-anchor .sm-handle-dot { fill:#f79009; stroke:#fff; }
.sm-measurement-app [data-point-id="p1"], .sm-measurement-app [data-point-id="p3"] { cursor:nwse-resize; }
.sm-measurement-app [data-point-id="p2"], .sm-measurement-app [data-point-id="p4"] { cursor:nesw-resize; }
.sm-measurement-app [data-edge="right"], .sm-measurement-app [data-edge="left"] { cursor:ew-resize; }
.sm-measurement-app [data-edge="top"], .sm-measurement-app [data-edge="bottom"] { cursor:ns-resize; }
.sm-measurement-app[data-can-pan="1"] .sm-image { cursor:grab; }
.sm-measurement-app.is-dragging[data-interaction="move"] .sm-polygon, .sm-measurement-app.is-dragging[data-interaction="pan"] .sm-image { cursor:grabbing; }
.sm-measurement-app .sm-handle-label { fill:#fff; stroke:rgba(15,23,42,.82); stroke-width:4; paint-order:stroke; font-weight:800; pointer-events:none; }
.sm-measurement-app .sm-dimensions text { fill:#fff; stroke:rgba(15,23,42,.8); stroke-width:8; stroke-linejoin:round; paint-order:stroke; font-weight:700; text-anchor:middle; dominant-baseline:middle; }
.sm-measurement-app[data-inspecting="1"] .sm-polygon, .sm-measurement-app[data-inspecting="1"] .sm-edges, .sm-measurement-app[data-inspecting="1"] .sm-handles, .sm-measurement-app[data-inspecting="1"] .sm-dimensions { opacity:0; pointer-events:none; }
.sm-measurement-app .sm-viewer-toolbar { position:absolute; z-index:5; bottom:16px; left:16px; display:flex; align-items:center; gap:6px; padding:6px; border:1px solid rgba(203,213,225,.9); border-radius:11px; background:rgba(255,255,255,.94); box-shadow:0 8px 24px rgba(15,23,42,.12); backdrop-filter:blur(8px); }
.sm-measurement-app .sm-viewer-toolbar span { width:1px; height:24px; margin:0 2px; background:var(--sm-border); }
.sm-measurement-app .sm-viewer-toolbar button { min-width:40px; height:40px; padding:0 12px; }

.sm-measurement-app .sm-controls { position:sticky; top:20px; display:flex; flex-direction:column; gap:18px; padding:22px; border:1px solid var(--sm-border); border-radius:14px; background:var(--sm-surface); box-shadow:0 8px 30px rgba(15,23,42,.06); }
.sm-measurement-app .sm-controls-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.sm-measurement-app .sm-controls h2 { margin:0; font-size:1.25rem; letter-spacing:-.02em; }
.sm-measurement-app .sm-view-badge { display:inline-block; margin:10px 0 14px; padding:4px 8px; border-radius:999px; background:#eaf3ff; color:#0b5cb5; font-size:.6875rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.sm-measurement-app .sm-step-copy { display:grid; gap:10px; margin:0; padding:0; list-style:none; counter-reset:steps; }
.sm-measurement-app .sm-step-copy li { position:relative; min-height:26px; padding:3px 0 0 36px; color:#475569; font-size:.875rem; counter-increment:steps; }
.sm-measurement-app .sm-step-copy li::before { content:counter(steps); position:absolute; top:0; left:0; display:grid; width:26px; height:26px; place-items:center; border-radius:50%; background:#eaf3ff; color:#0b5cb5; font-size:.75rem; font-weight:800; }
.sm-measurement-app .sm-selection-status { min-height:64px; margin:14px 0 0; padding:11px 12px; border:1px solid #fed7aa; border-radius:10px; background:#fff7ed; color:var(--sm-warning); font-size:.875rem; font-weight:650; }
.sm-measurement-app .sm-selection-status:empty { visibility:hidden; }
.sm-measurement-app .sm-control-group { margin:0; padding-top:18px; border-top:1px solid var(--sm-border); }
.sm-measurement-app .sm-control-group h3 { grid-column:1/-1; margin:0 0 10px; color:#475569; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.sm-measurement-app .sm-size-preview { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.sm-measurement-app .sm-size-preview div { min-width:0; padding:13px; border-radius:10px; background:#f5f8fc; }
.sm-measurement-app .sm-size-preview span, .sm-measurement-app .sm-size-preview strong, .sm-measurement-app .sm-size-preview small { display:block; }
.sm-measurement-app .sm-size-preview span { color:var(--sm-muted); font-size:.75rem; }
.sm-measurement-app .sm-size-preview strong { margin:3px 0; overflow-wrap:anywhere; color:var(--sm-text); font-size:clamp(1rem,1.35vw,1.3rem); line-height:1.2; }
.sm-measurement-app .sm-size-preview small { color:var(--sm-muted); font-size:.75rem; }
.sm-measurement-app .sm-live-status { grid-column:1/-1; margin:0; color:var(--sm-muted); font-size:.8rem; }
.sm-measurement-app .sm-live-status::before { content:""; display:inline-block; width:7px; height:7px; margin-right:7px; border:2px solid #5b9df0; border-radius:50%; vertical-align:1px; }
.sm-measurement-app .sm-secondary-actions { padding-top:18px; border-top:1px solid var(--sm-border); }
.sm-measurement-app .sm-secondary-actions button { width:100%; }
.sm-measurement-app .sm-continue { width:100%; min-height:50px; font-weight:750; }
.sm-measurement-app .sm-replace-button { flex:0 0 auto; padding:7px 10px; color:#475569; font-size:.78rem; }
.sm-measurement-app .sm-photo-tip { display:flex; align-items:center; gap:14px; margin-top:20px; padding:16px 18px; border:1px solid var(--sm-border); border-radius:13px; background:var(--sm-blue-soft); }
.sm-measurement-app .sm-tip-icon { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border-radius:10px; background:#e2efff; color:var(--sm-primary); font-weight:800; }
.sm-measurement-app .sm-photo-tip strong { font-size:.9rem; }
.sm-measurement-app .sm-photo-tip p { margin:2px 0 0; color:var(--sm-muted); font-size:.8125rem; }

.sm-measurement-app button { border:1px solid var(--sm-border); border-radius:8px; background:#fff; color:var(--sm-text); cursor:pointer; font:inherit; transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease; }
.sm-measurement-app button:hover { border-color:#b8c6d8; background:#f8fafc; }
.sm-measurement-app button:focus-visible { outline:3px solid rgba(22,119,255,.24); outline-offset:2px; }
.sm-measurement-app button:disabled { cursor:not-allowed; opacity:.5; }
.sm-measurement-app .sm-primary { border-color:var(--sm-primary); background:var(--sm-primary); color:#fff; box-shadow:0 6px 16px rgba(22,119,255,.2); }
.sm-measurement-app .sm-primary:hover { border-color:var(--sm-primary-hover); background:var(--sm-primary-hover); }
.sm-measurement-app .sm-secondary { padding:10px 14px; }
.sm-measurement-app .sm-link-button { padding:7px 10px; color:#475569; }
.sm-measurement-app .sm-done-step { padding:32px; border:1px solid var(--sm-border); border-radius:16px; background:#fff; text-align:center; box-shadow:0 8px 30px rgba(15,23,42,.05); }
.sm-measurement-app .sm-debug { display:none !important; margin-top:20px; }
.sm-measurement-app .sm-debug pre { overflow:auto; padding:16px; border-radius:10px; background:#101828; color:#f2f4f7; }
.sm-measurement-app .sm-ao-preview { margin-top:16px; padding:16px; border:1px solid #f0b429; border-radius:10px; background:#fffbeb; }
.sm-measurement-app .sm-ao-preview h3 { margin:0 0 6px; }
.sm-measurement-app .sm-ao-preview > p { margin:6px 0 12px; }
.sm-measurement-app .sm-ao-preview-photo { position:relative; display:block; width:min(100%,720px); margin-top:12px; padding:0; overflow:hidden; border:1px solid #d0d5dd; border-radius:8px; background:#111827; line-height:0; }
.sm-measurement-app .sm-ao-preview-photo img { display:block; width:100%; height:auto; }
.sm-measurement-app .sm-ao-preview-photo svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.sm-measurement-app .sm-ao-preview-photo polygon { fill:rgba(245,158,11,.18); stroke:#f59e0b; stroke-width:3; vector-effect:non-scaling-stroke; }
.sm-measurement-app .sm-ao-preview [data-ao-preview-result]:empty { display:none; }

@media (max-width:1199px) {
	body:has(.sm-measurement-app) .wp-block-post-title, .sm-measurement-app { width:min(100% - 40px,1040px); }
	.sm-measurement-app .sm-layout { grid-template-columns:1fr; }
	.sm-measurement-app .sm-controls { position:static; }
	.sm-measurement-app .sm-guidance ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.sm-measurement-app .sm-photo-example-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.sm-measurement-app .sm-calibration-workspace { grid-template-columns:minmax(0,1fr) 280px; }
}

@media (max-width:767px) {
  body:has(.sm-measurement-app) #wp--skip-link--target > .wp-block-group { padding-top:18px !important; }
	body:has(.sm-measurement-app) .wp-block-post-title, .sm-measurement-app { width:100%; }
	body:has(.sm-measurement-app) .wp-block-post-title { font-size:2rem; }
	.sm-measurement-app { margin-bottom:28px; }
	.sm-measurement-app .sm-app-intro { margin-bottom:20px; }
	.sm-measurement-app .sm-app-intro p { font-size:.9375rem; }
	.sm-measurement-app .sm-progress { width:100%; grid-template-columns:auto minmax(14px,1fr) auto minmax(14px,1fr) auto; }
	.sm-measurement-app .sm-progress span { gap:5px; font-size:.75rem; }
	.sm-measurement-app .sm-progress b { width:26px; height:26px; }
	.sm-measurement-app .sm-progress i { margin:0 5px; }
	.sm-measurement-app .sm-upload-card { padding:14px 14px 32px; }
	.sm-measurement-app .sm-drop-zone { min-height:270px; padding:22px 14px; }
	.sm-measurement-app .sm-guidance { padding:18px; }
	.sm-measurement-app .sm-guidance ul { grid-template-columns:1fr; }
	.sm-measurement-app .sm-photo-examples-heading { align-items:flex-start; flex-direction:column; gap:2px; }
	.sm-measurement-app .sm-photo-example-grid { gap:14px; }
	.sm-measurement-app .sm-photo-example-label small { display:none; }
	.sm-measurement-app .sm-calibration-workspace { grid-template-columns:1fr; padding:8px; }
	.sm-measurement-app .sm-calibration-viewer { min-height:0; }
	.sm-measurement-app .sm-calibration-image { max-height:56vh; }
	.sm-measurement-app .sm-calibration-status { padding:18px; }
	.sm-measurement-app .sm-viewer-shell { padding:8px; }
	.sm-measurement-app .sm-workspace { min-height:360px; aspect-ratio:auto; }
	.sm-measurement-app .sm-viewer-toolbar { right:10px; bottom:10px; left:10px; justify-content:center; }
	.sm-measurement-app .sm-viewer-toolbar button { min-width:38px; height:40px; padding:0 10px; }
	.sm-measurement-app .sm-controls { padding:18px; }
	.sm-measurement-app .sm-controls-heading { align-items:flex-start; }
	.sm-measurement-app .sm-continue { position:sticky; z-index:6; bottom:8px; box-shadow:0 8px 22px rgba(22,119,255,.24); }
	.sm-measurement-app .sm-photo-tip { align-items:flex-start; }
}

@media (prefers-reduced-motion:reduce) { .sm-measurement-app .sm-calibration-scan, .sm-measurement-app .sm-calibration-tap-target { animation:none; } }

@media (max-width:479px) {
	.sm-measurement-app .sm-photo-example-grid { grid-template-columns:1fr; }
}
.sm-measurement-app .sm-a1-mode{border:1px solid #dbe5f5;border-radius:10px;padding:12px;margin:12px 0}
.sm-measurement-app .sm-a1-mode label{display:block;margin:6px 0;cursor:pointer}
.sm-measurement-app .sm-a1-mode small{display:block;color:#6b4a1d}
.sm-measurement-app .sm-a1-beta-result{border:1px solid #efc17e;background:#fff9ed;border-radius:10px;padding:14px;margin:12px 0;color:#693e09}
.sm-measurement-app .sm-a1-beta-result p{margin:6px 0}
