:root{--bg: #f8f9fb;--surface: #ffffff;--border: #e2e5eb;--text: #1a1d23;--text-muted: #6b7280;--primary: #2563eb;--primary-hover: #1d4ed8;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .06);--accent: var(--primary);--accent-light: var(--primary-hover);--ok: var(--success);--warn: var(--warning)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100dvh;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}#root{min-height:100dvh}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:14px}button,.btn,a.btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.container{max-width:1200px;margin:0 auto;padding:0 20px}.site-header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;padding-top:env(safe-area-inset-top,0)}.site-header-inner{display:flex;align-items:center;gap:16px;min-height:60px;flex-wrap:wrap;padding:8px 0}.site-logo{font-weight:600;font-size:15px;color:var(--text);white-space:nowrap;flex-shrink:0;text-decoration:none}.site-nav{display:flex;gap:4px;flex:1;min-width:0;flex-wrap:wrap}.site-nav-link{padding:6px 12px;border-radius:6px;color:var(--text-muted);font-size:14px;white-space:nowrap;text-decoration:none}.site-nav-link-active{color:var(--primary);background:#eff6ff;font-weight:500}.site-user{display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:wrap}.site-user-name{font-size:13px;color:var(--text-muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.site-role-badge{background:#f3f4f6;padding:2px 8px;border-radius:12px;font-size:11px;color:var(--text-muted)}.site-main{padding:24px 0;min-height:calc(100vh - 60px);padding-bottom:calc(24px + env(safe-area-inset-bottom,0))}.site-main--client{padding-top:16px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:20px}.page-title{font-size:20px;margin:0;font-weight:600;color:var(--text)}.page-subtitle{font-size:13px;color:var(--text-muted);margin:4px 0 0;line-height:1.45}.page-narrow{max-width:560px}.page-form{max-width:400px;margin-top:24px}.staff-tools-container{max-width:720px}.admin-content{max-width:1200px}.app-shell{max-width:520px;margin:0 auto;padding:0 0 2rem}h1{font-size:20px;font-weight:600;margin:0 0 .5rem;color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:16px}.muted{color:var(--text-muted);font-size:13px}.hint{font-size:13px;color:var(--text-muted);margin-top:.25rem}.form-group{margin-bottom:16px}.form-group label,label{display:block;margin-bottom:6px;font-weight:500;font-size:13px;color:var(--text-muted)}.form-control,input[type=text],input[type=url],input[type=number],input[type=email],input[type=password],select,textarea{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:14px}.form-control:focus,input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary,button:not(.btn):not(.secondary):not(.icon-btn):not(.scenario-tab):not(.sign-back-act){display:inline-flex;align-items:center;justify-content:center;width:100%;padding:10px 16px;min-height:44px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;background:var(--accent);color:#fff;transition:background .15s}.btn-primary:hover:not(:disabled),button:not(.btn):not(.secondary):not(.icon-btn):not(.scenario-tab):not(.sign-back-act):hover:not(:disabled){background:var(--accent-light)}.btn-secondary,button.secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:10px 16px;min-height:44px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;background:var(--surface);color:var(--text)}.btn-secondary:hover:not(:disabled),button.secondary:hover:not(:disabled){background:var(--bg)}.btn-sm{padding:4px 10px;font-size:13px;min-height:36px;width:auto}.site-user .btn-sm,.crm-link-block button.secondary,button.icon-btn,button.scenario-tab{width:auto}button:disabled{opacity:.5;cursor:not-allowed}.vehicle-title{font-size:1.05rem;font-weight:700}.step-title{font-size:1.15rem;font-weight:700;margin:0}.progress{height:6px;background:var(--border);border-radius:999px;overflow:hidden;margin:.75rem 0 1rem}.progress>span{display:block;height:100%;background:var(--accent);transition:width .2s ease}.preview img,.preview-video{width:100%;border-radius:8px;margin-top:.75rem}.preview-video{max-height:280px;background:#000}.error,.error-msg{color:var(--danger);font-size:13px;margin-top:8px}.success,.success-msg{color:var(--success);font-size:13px;font-weight:500;margin-top:8px}.notice-warn{background:#fef3c7;color:#92400e;padding:10px 12px;border-radius:var(--radius);font-size:13px;margin:0 0 12px;line-height:1.45}.link-box{word-break:break-all;user-select:all;-webkit-user-select:all;background:#f1f5f9;border:1px solid var(--border);padding:10px 12px;border-radius:var(--radius);font-size:13px;margin:8px 0 12px;cursor:text}.camera-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.act-preview{width:100%;height:min(70vh,520px);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.signature-pad{touch-action:none;border:2px dashed #94a3b8;border-radius:8px;width:100%;height:220px;background:#fff}.sign-flow{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.sign-act-card{padding:0;overflow:hidden}.sign-pdf-scroll{padding:.5rem .65rem .25rem}.sign-pdf-pages{display:flex;flex-direction:column;gap:.75rem}.sign-pdf-page-wrap{background:#fff;border-radius:8px;box-shadow:0 1px 6px #00000014;overflow:hidden}.sign-pdf-page-label{margin:0;padding:.35rem .5rem;font-size:.75rem;color:#5c6570;background:#f0f4f8}.sign-pdf-page{display:block;width:100%;height:auto}.sign-pdf-loading,.sign-pdf-hint{margin:0 0 .5rem;padding:0 .25rem}.sign-act-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,var(--bg) 85%,transparent);max-width:520px;margin:0 auto;box-sizing:border-box}.sign-go-sign{width:100%;font-size:1.05rem;padding:1rem;box-shadow:0 4px 16px #2563eb38}.sign-act-link{text-align:center;font-size:.85rem;color:var(--accent-light)}.sign-back-act{width:100%;margin-bottom:.75rem;padding:.85rem 1rem;font-size:1rem;font-weight:600;border:2px solid var(--accent);border-radius:10px;background:#fff;color:var(--accent);cursor:pointer}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.admin-refresh{width:auto;padding:.5rem 1rem;font-size:.9rem}.crm-group-title{margin:0 0 .75rem;font-size:1.05rem}.crm-filters label{margin-top:.65rem}.crm-filters label:first-of-type{margin-top:0}.crm-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.crm-filters select{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;background:var(--surface);color:var(--text)}.crm-meta{display:grid;grid-template-columns:1fr;gap:.35rem 1rem;margin:0 0 1rem;font-size:.9rem}.crm-meta div{display:grid;grid-template-columns:9rem 1fr;gap:.5rem}.crm-meta dt{margin:0;color:var(--text-muted);font-weight:500}.crm-meta dd{margin:0}@media(min-width:640px){.crm-meta{grid-template-columns:1fr 1fr}}.action-feedback{margin:.5rem 0 0;font-size:.92rem}.link-result-block{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border, #e2e8f0)}.checkbox-row{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem}.checkbox-row input{width:auto;margin:0}.crm-two-links,.crm-three-links{display:flex;flex-direction:column;gap:1rem}@media(min-width:960px){.crm-three-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}}.crm-link-block h3{margin:0 0 .35rem;font-size:15px;font-weight:600;color:var(--primary)}.crm-link-block .link-box{margin-top:.35rem}.crm-link-block button{margin-top:.5rem}.crm-link-empty{padding:.65rem .75rem;background:#f8fafc;border-radius:8px}.crm-status{font-weight:700;margin:0 0 .35rem;color:#92400e}.crm-status-done{color:var(--ok)}.crm-table-wrap{overflow-x:auto}.crm-table{width:100%;border-collapse:collapse;font-size:.85rem}.crm-table th,.crm-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}.crm-table th{color:var(--text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.badge{display:inline-block;padding:.15rem .45rem;border-radius:6px;font-size:.75rem;font-weight:600}.badge-ok{background:#dcfce7;color:#166534}.badge-warn{background:#fef3c7;color:#92400e}.admin-user-list{margin:0;padding-left:1.1rem}.admin-user-list li{margin-bottom:.35rem}.scenario-editor .card+.card{margin-top:0}.scenario-customer-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}button.scenario-tab{width:auto;padding:.45rem .75rem;font-size:.85rem;background:#e8ecef;color:#1a1a1a}button.scenario-tab.active{background:var(--primary);color:#fff}.scenario-brand-preview{margin-top:.75rem;padding:.85rem 1.25rem;background:#fff;border:1px solid #e8ecef;border-radius:8px;text-align:center}.scenario-brand-preview img{max-width:100%;max-height:56px;object-fit:contain;filter:none}.inspect-brand-bar{text-align:center;margin-bottom:.75rem;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.inspect-brand-logo{display:block;margin:0 auto;max-width:min(100%,280px);max-height:56px;width:auto;height:auto;object-fit:contain}.compress-size-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem}.scenario-table-head,.scenario-row{display:grid;grid-template-columns:1.4fr 4.5rem 1.2fr auto;gap:.5rem;align-items:center;margin-bottom:.5rem}.scenario-table-head--media,.scenario-row--media{grid-template-columns:1.2fr 5.5rem 4.5rem 1fr auto}.scenario-table-head--guides,.scenario-row--guides{grid-template-columns:1.1fr 5.5rem 3.25rem 3.25rem 1fr minmax(11rem,1.15fr) auto}.scenario-row--media select,.scenario-row--guides select{width:100%;padding:.55rem .4rem;font-size:.9rem}.scenario-guide-cell{display:flex;flex-direction:column;gap:.35rem;min-width:0}.scenario-guide-thumb{max-height:52px;max-width:100%;width:auto;object-fit:contain;border-radius:6px;border:1px solid var(--border);background:#f4f6f8}.scenario-guide-auto{font-size:.8rem}.scenario-guide-upload-btn{display:inline-block;text-align:center;font-size:.82rem;padding:.4rem .5rem;cursor:pointer;margin:0}.scenario-guide-upload-btn input{display:none}.scenario-guide-thumb-btn{padding:0;border:none;background:none;cursor:pointer;width:fit-content}.scenario-guide-open-btn{font-size:.82rem;padding:.35rem .5rem}.guide-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.guide-catalog-item{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:center;font-size:.82rem;line-height:1.25;color:var(--text)}.guide-catalog-item:hover{border-color:var(--accent);box-shadow:var(--shadow)}.guide-catalog-item img{width:100%;height:88px;object-fit:contain;background:#f4f6f8;border-radius:6px}.guide-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0f172ab8;display:flex;align-items:center;justify-content:center;padding:24px}.guide-preview-dialog{position:relative;max-width:min(960px,96vw);max-height:92vh;background:var(--surface);border-radius:12px;padding:16px 16px 20px;box-shadow:0 20px 50px #00000059;overflow:auto}.guide-preview-close{position:absolute;top:8px;right:10px;width:2.25rem;height:2.25rem;padding:0;font-size:1.5rem;line-height:1;border:none;background:transparent;cursor:pointer;color:var(--text-muted)}.guide-preview-title{margin:0 2rem 12px 0;font-weight:600;font-size:1rem}.guide-preview-img{display:block;max-width:100%;max-height:calc(92vh - 80px);margin:0 auto;object-fit:contain}.scenario-table-head{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:.65rem;text-transform:uppercase;letter-spacing:.03em}.scenario-table-head span:last-child{width:6.5rem}.scenario-row input[type=number]{text-align:center;padding-left:.35rem;padding-right:.35rem}.scenario-row-actions{display:flex;gap:.25rem}button.icon-btn{width:auto;min-width:2rem;padding:.45rem .5rem;font-size:.95rem;line-height:1}@media(max-width:768px){.container{padding:0 12px}.site-header-inner{gap:8px}.site-nav{flex:1 1 100%;order:3}.page-title{font-size:18px}.card{padding:16px}.form-control,input,select,button:not(.icon-btn):not(.btn-sm){font-size:16px}.scenario-table-head{display:none}.scenario-row,.scenario-row--guides{grid-template-columns:1fr;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.scenario-row-actions{justify-content:flex-end}}.inspect-step-card{position:relative}.inspect-guide-panel{margin:1rem 0;padding:.75rem;border-radius:12px;background:#f6f7f8;border:1px solid var(--border);display:flex;flex-direction:column;gap:.65rem}.inspect-guide-panel__label{margin:0;font-size:.88rem;font-weight:600;text-align:center;color:#333;line-height:1.4}.inspect-photo-guide{max-width:100%;margin:0 auto}.inspect-photo-guide__img{display:block;width:100%;max-width:420px;min-height:180px;height:auto;margin:0 auto;border-radius:8px;opacity:0;transition:opacity .2s ease;background:#f0f2f5}.inspect-photo-guide__img--ready{opacity:1;background:transparent}.inspect-shutter-btn{width:100%;margin-top:1rem;padding:.85rem 1rem;font-size:1.05rem;font-weight:600}.inspect-shutter-btn--in-panel{margin-top:.15rem;margin-bottom:0;border-radius:8px}.inspect-skip-step-btn{width:100%;margin-top:.5rem}.inspect-upload-pending{color:var(--accent);font-weight:500}
