:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#18314f;background:#edf3fa;font-size:14px;line-height:1.35}
*{box-sizing:border-box}
body{margin:0;overflow:hidden;background:var(--tg-theme-bg-color,#edf3fa);color:var(--tg-theme-text-color,#18314f)}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.52;cursor:not-allowed}
.shell{max-width:680px;height:var(--tg-viewport-stable-height,100dvh);margin:0 auto;padding:calc(8px + env(safe-area-inset-top,0px)) 12px calc(8px + env(safe-area-inset-bottom,0px));background:var(--tg-theme-secondary-bg-color,#f7faff);display:flex;flex-direction:column;overflow:hidden}
#workspace{display:flex;flex:1;min-height:0;flex-direction:column}
.welcome{flex:1;min-height:0;overflow:auto;display:grid;place-items:center}
.welcome-content{width:min(100%,390px);padding:14px 6px;text-align:center}
.welcome-brand{font-weight:900;font-size:48px;letter-spacing:-3px;color:#122b49}.brand-mark{font-size:18px;color:#4b96e1;vertical-align:top;margin-left:4px}
.welcome h1{font-size:23px;line-height:1.16;margin:18px 0 7px}.welcome p{color:#5f7389;margin:0 0 16px}.welcome .field-label{text-align:left}.welcome select{width:100%;text-align:left}
.welcome-demo{background:#f2e9fc;color:#61377e!important;border:1px solid #d9b9ef;border-radius:10px;padding:10px 12px;margin:18px 0 10px!important;text-align:left;font-size:12px}
.welcome .button{margin-top:8px}
select{border:1px solid #c9d8e8;border-radius:10px;background:white;min-height:40px;padding:7px 10px;color:#18314f}
.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 0 6px;background:#e6eff9;border-radius:12px;padding:4px;flex:none}
.tab{border:0;border-radius:9px;background:transparent;min-height:36px;padding:7px 3px;color:#47617c;font-weight:650;font-size:12px}.tab.active{background:#fff;color:#1765ae;box-shadow:0 1px 5px #23446c1d}
.screen{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:8px}
.screen h1{font-size:21px;line-height:1.18;letter-spacing:-.4px;margin:4px 0 6px}.screen h2{font-size:17px;margin:0 0 8px}
.hero{padding:4px 2px 6px}.hero p{margin:0;color:#5f7389;font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800;color:#2b7ac5}
.card{background:var(--tg-theme-section-bg-color,#fff);border:1px solid #dce7f2;border-radius:14px;padding:12px;margin:6px 0;box-shadow:0 3px 14px #1c46620b}
.field-label{display:block;font-weight:700;font-size:12px;margin:0 0 5px}
textarea,input[type=search],input[type=number]{width:100%;border:1px solid #c5d7e9;border-radius:10px;background:#fff;color:#18314f;padding:9px;outline-color:#3d8ddd}
textarea{resize:none;height:72px;min-height:72px;margin-bottom:6px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:10px;border:1px solid transparent;padding:9px 12px;font-weight:750;text-align:center;transition:filter .15s}
.button:hover:not(:disabled){filter:brightness(.95)}.button.primary{width:100%;background:#2884d8;color:#fff}.button.secondary{background:#eef5fd;color:#1d65a8;border-color:#bad7f4}
.media-row{display:flex;gap:8px;margin-top:6px}.media-row>*{flex:1}
.help{font-size:11px;color:#6b8095;margin:5px 0 0}
.stage{margin:16px 0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-head h2{margin:0}
.stack{display:grid;gap:8px;margin:8px 0 12px}
.text-button,.icon-button{border:0;background:transparent;color:#2272ba;font-weight:750;padding:8px}.icon-button{font-size:25px;line-height:1}
.line-card{background:#fff;border:1px solid #d9e5f0;border-radius:13px;padding:14px}.line-card strong{display:block}.line-card .raw{color:#678099;font-size:12px;margin-top:4px}.line-card .meta{font-size:12px;color:#667c90}.line-card .row{display:flex;align-items:center;gap:8px;margin-top:10px}.line-card input[type=number]{width:100px;padding:8px}.line-card .row .text-button{margin-left:auto}
.product-result{width:100%;text-align:left;color:inherit}
.option-card{background:white;border:1px solid #c7d9ec;border-radius:14px;padding:16px}.option-card.demo{border-color:#bd9fe0;background:#fbf7ff}.option-card .supplier{display:flex;justify-content:space-between;align-items:center;font-weight:800}.option-card .price{font-size:23px;font-weight:800;margin:9px 0}.option-card .button{width:100%}
.notice{border-radius:10px;padding:10px 12px;margin:0 0 6px;background:#fff5df;color:#784f0a;border:1px solid #efd599;flex:none}.success-icon{width:52px;height:52px;border-radius:50%;background:#dbf3e8;color:#168351;display:grid;place-items:center;font-size:27px;font-weight:bold;margin-bottom:10px}
.switch-line{display:flex;gap:20px;align-items:center;justify-content:space-between}.switch-line small{display:block;color:#697f93;margin-top:5px;line-height:1.35}.switch-line input{width:23px;height:23px;accent-color:#2884d8;flex:none}
dialog{width:min(94vw,560px);max-height:85vh;border:0;border-radius:18px;padding:20px;background:#fff;box-shadow:0 18px 70px #0c2b4f45}dialog::backdrop{background:#0b254b85}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0}
@media(max-width:390px){.shell{padding-left:10px;padding-right:10px}.tab{font-size:11px}.screen h1{font-size:20px}}
@media(max-height:600px){.welcome-brand{font-size:40px}.welcome h1{margin-top:10px}.welcome-demo{margin-top:10px!important}}
