:root{--accent: #C5A24A;--bg: #0a0a0a;--surface: #161616;--text: #f5f5f5;--muted: #9a9a9a;--radius: 14px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{max-width:480px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 20px env(safe-area-inset-bottom)}.topbar{display:flex;align-items:center;gap:10px;padding:16px 0 8px}.topbar .logo{width:28px;height:28px}.topbar .brand{font-weight:700;letter-spacing:.02em}.progress{display:flex;gap:6px;margin:6px 0 22px}.progress .seg{height:4px;flex:1;border-radius:4px;background:#2a2a2a}.progress .seg.done{background:var(--accent)}.progress .seg.current{background:var(--accent);opacity:.6}.screen{flex:1;display:flex;flex-direction:column}.screen h1{font-size:24px;margin:4px 0 6px}.screen .sub{color:var(--muted);margin:0 0 22px}label{display:block;font-size:14px;color:var(--muted);margin:14px 0 6px}input[type=text],input[type=email],input[type=tel],input[type=number],select{width:100%;font-size:17px;padding:14px;border-radius:var(--radius);border:1px solid #2f2f2f;background:var(--surface);color:var(--text)}input:focus,select:focus{outline:2px solid var(--accent);border-color:var(--accent)}.ac-wrap{position:relative}.ac-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid #2f2f2f;border-radius:var(--radius);box-shadow:0 14px 32px #0000008c;max-height:280px;overflow-y:auto}.ac-item{padding:12px;border-radius:10px;cursor:pointer;font-size:15px;color:var(--text);line-height:1.35}.ac-item:hover,.ac-item:focus{background:#232323}.ac-item:active{background:#2c2c2c}.btn{width:100%;font-size:18px;font-weight:600;padding:16px;border:none;border-radius:var(--radius);background:var(--accent);color:#0a0a0a;cursor:pointer;margin-top:24px;min-height:56px}.btn:disabled{opacity:.5}.btn.secondary{background:transparent;color:var(--text);border:1px solid #3a3a3a}.choice{display:flex;gap:12px;margin-top:8px}.choice button{flex:1;font-size:17px;padding:18px;border-radius:var(--radius);border:1px solid #3a3a3a;background:var(--surface);color:var(--text);cursor:pointer}.choice button.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.toggle{display:flex;align-items:center;justify-content:space-between;padding:14px;border-radius:var(--radius);border:1px solid #2f2f2f;background:var(--surface);margin-top:12px}.card{background:var(--surface);border:1px solid #262626;border-radius:var(--radius);padding:18px;margin-top:16px}.spinner{width:42px;height:42px;border:4px solid #2a2a2a;border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite;margin:32px auto}@keyframes spin{to{transform:rotate(360deg)}}.center{text-align:center}.error{color:#ff7a7a;font-size:14px;margin-top:10px}.foot{color:var(--muted);font-size:12px;text-align:center;padding:22px 0 14px}.foot a{color:var(--muted)}.roof-canvas{width:100%;border-radius:var(--radius);border:1px solid #262626;background:#111;display:block}.badge{display:inline-block;background:var(--accent);color:#0a0a0a;font-weight:700;padding:4px 12px;border-radius:999px;font-size:14px}
