:root{color:#202124;background:#f1f3f4;font-family:Arial,Noto Sans TC,Microsoft JhengHei,sans-serif}*{box-sizing:border-box}body{background:#f1f3f4;min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}.site-header{z-index:10;background:#fff;border-bottom:1px solid #dadce0;position:sticky;top:0}.topbar{justify-content:space-between;align-items:center;gap:16px;min-height:104px;padding:10px 20px;display:flex}.brand-block{align-items:center;gap:12px;min-width:0;display:flex}.brand-logo{object-fit:contain;background:#fff;border-radius:8px;flex:none;width:84px;height:84px}.brand-block h1{margin:0;font-size:20px;line-height:1.25}.brand-block p{color:#5f6368;margin:4px 0 0;font-size:12px}.top-actions{align-items:center;gap:10px;display:flex}.signed-in{color:#5f6368;text-overflow:ellipsis;white-space:nowrap;max-width:250px;font-size:12px;overflow:hidden}.secondary-button,.text-button{color:#3c4043;background:#fff;border:1px solid #dadce0;border-radius:6px;min-height:36px;padding:0 11px;font-size:13px;font-weight:700}.secondary-button:hover,.text-button:hover{background:#f8f9fa;border-color:#9aa0a6}.primary-button{color:#fff;background:#1a73e8;border:1px solid #1a73e8;border-radius:6px;min-height:46px;padding:0 18px;font-weight:800}.primary-button:hover:not(:disabled){background:#174ea6;border-color:#174ea6}.portal-shell{width:min(1120px,100% - 40px);margin:0 auto;padding:28px 0 48px}.hero-panel{background:#fff;border:1px solid #d7e3f8;border-radius:8px;grid-template-columns:minmax(0,1fr) 246px;align-items:stretch;gap:20px;margin-bottom:18px;padding:26px;display:grid}.eyebrow{color:#174ea6;letter-spacing:.03em;font-size:12px;font-weight:800;display:block}.hero-panel h2{color:#202124;letter-spacing:-.035em;margin:8px 0 10px;font-size:clamp(29px,5vw,48px);line-height:1.08}.hero-panel p{color:#5f6368;max-width:650px;margin:0;font-size:14px;line-height:1.7}.rule-card{background:#f5f8fd;border:1px solid #d7e3f8;border-radius:8px;align-content:center;min-height:130px;padding:18px;display:grid}.rule-card strong{color:#174ea6;font-size:21px}.rule-card span{color:#5f6368;margin-top:8px;font-size:13px}.workspace{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:24px;box-shadow:0 1px 2px #3c40430d}.section-heading{align-items:flex-start;gap:10px;display:flex}.section-heading h3{margin:0;font-size:17px;line-height:1.35}.section-heading p{color:#5f6368;margin:3px 0 0;font-size:12px;line-height:1.55}.step{color:#fff;background:#1a73e8;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:grid}.drop-zone{text-align:center;background:#f8fbff;border:1px dashed #8ab4f8;border-radius:8px;place-items:center;min-height:214px;margin-top:14px;transition:all .18s;display:grid;position:relative}.drop-zone.is-drag{background:#eef4ff;border-color:#1a73e8}.drop-zone input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-icon{color:#174ea6;background:#d7e3f8;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 12px;font-size:24px;display:grid}.drop-zone h3{margin:0;font-size:18px}.drop-zone p{color:#5f6368;margin:8px 0 0;font-size:13px}.file-info{background:#f5fbf7;border:1px solid #cce8d5;border-radius:8px;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;margin-top:14px;padding:12px;display:none}.file-info.show{display:grid}.file-symbol{color:#137333;background:#d8f0df;border-radius:6px;place-items:center;width:38px;height:38px;display:grid}.file-name{color:#202124;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.file-meta{color:#5f6368;margin-top:3px;font-size:12px}.repair-heading{margin-top:34px}.repair-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px;display:grid}.repair-card{background:#fff;border:1px solid #dadce0;border-radius:8px;min-height:156px;padding:15px;transition:all .18s;position:relative}.repair-card:hover{background:#f8fbff;border-color:#8ab4f8}.repair-card.selected{background:#f5f8fd;border-color:#1a73e8;box-shadow:inset 0 0 0 1px #1a73e8}.repair-card input{opacity:0;pointer-events:none;position:absolute}.card-category{color:#174ea6;margin-bottom:17px;font-size:11px;font-weight:800;display:inline-block}.repair-card h3{color:#202124;margin:0;font-size:15px;line-height:1.35}.repair-card p{color:#5f6368;margin:8px 0 0;font-size:12px;line-height:1.55}.action-area{border-top:1px solid #dadce0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:20px;padding-top:19px;display:grid}.consent{color:#3c4043;align-items:flex-start;gap:9px;font-size:12px;line-height:1.55;display:flex}.consent input{accent-color:#1a73e8;margin-top:2px}.estimate{background:#fff8e1;border:1px solid #f6d365;border-radius:8px;margin-top:14px;padding:14px;display:none}.estimate.show{justify-content:space-between;align-items:center;gap:15px;display:flex}.estimate h3{color:#7a4d00;margin:0;font-size:14px}.estimate p{color:#5f6368;margin:4px 0 0;font-size:12px;line-height:1.5}.status{background:#f5f8fd;border:1px solid #d7e3f8;border-radius:8px;align-items:flex-start;gap:12px;margin-top:14px;padding:13px;display:none}.status.show{display:flex}.status-icon{color:#174ea6;background:#d7e3f8;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:13px;font-weight:800;display:grid}.status.error{background:#fff7f7;border-color:#f4cccc}.status.error .status-icon{color:#b3261e;background:#fce8e6}.status.success{background:#f5fbf7;border-color:#cce8d5}.status.success .status-icon{color:#137333;background:#d8f0df}.status-text strong{color:#202124;font-size:13px;display:block}.status-text p{color:#5f6368;margin:3px 0 0;font-size:12px;line-height:1.5}.download{color:#174ea6;margin-top:8px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.login-page{background:#eef2f7;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #dadce0;border-top:6px solid #1a73e8;border-radius:8px;width:min(100%,460px);padding:34px;box-shadow:0 18px 50px #20212424}.login-logo{object-fit:contain;width:104px;height:88px;display:block}.login-heading{margin:30px 0 25px}.login-heading h1{margin:6px 0 9px;font-size:30px;line-height:1.2}.login-heading p{color:#5f6368;margin:0;line-height:1.6}.login-form{gap:12px;display:grid}.login-form label{color:#3c4043;font-size:14px;font-weight:700}.login-form input{color:#202124;background:#fff;border:1px solid #bdc1c6;border-radius:6px;width:100%;min-height:50px;padding:11px 13px;font-size:16px}.login-form input:focus{border-color:#1a73e8;outline:0;box-shadow:0 0 0 3px #1a73e821}.form-error{color:#b3261e;min-height:18px;margin:0;font-size:12px}.security-note,.setup-note{color:#5f6368;margin:20px 0 0;font-size:12px;line-height:1.6}.setup-note{color:#7a4d00;background:#fff8e1;border-left:4px solid #b06000;padding:10px 12px}@media (width<=800px){.topbar{min-height:84px;padding:8px 14px}.brand-logo{width:62px;height:62px}.top-actions{gap:7px}.signed-in{display:none}.portal-shell{width:min(100% - 24px,680px);padding-top:14px}.hero-panel{grid-template-columns:1fr;padding:20px}.rule-card{min-height:auto}.workspace{padding:16px}.repair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-area,.estimate.show{grid-template-columns:1fr;align-items:stretch}.primary-button{width:100%}}@media (width<=480px){.brand-block h1{font-size:16px}.brand-block p{display:none}.repair-grid{grid-template-columns:1fr}.login-panel{padding:26px}}
