:root{--ink:#163b43;--brand:#12666b;--pale:#eef7f6;--line:#cfe1df;--gold:#e5b85c;--muted:#60777a;--radius:10px}*{box-sizing:border-box}body{margin:0;background:#f6faf9;color:var(--ink);font:16px/1.55 "Microsoft YaHei",sans-serif}.head{padding:38px max(20px,calc((100% - 1120px)/2));color:#fff}.head-inner,.wrap{max-width:1120px;margin:auto}.eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#bfe0dc}.head h1{margin:3px 0;font-size:clamp(32px,5vw,52px);letter-spacing:.04em}.head p{margin:7px 0 0;max-width:760px}.wrap{padding:20px 20px 100px}.notice,.project-brief{padding:15px 17px;background:#fffcef;border-left:4px solid var(--gold);margin-bottom:18px}.project-brief{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.project-brief b{font-size:18px}.project-brief small{width:100%;color:var(--muted)}.section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;margin:18px 0;box-shadow:0 5px 18px #17454b0b}.section h2{margin:0 0 4px;padding-left:10px;border-left:3px solid var(--brand);font-size:21px}.section>p{margin:0 0 17px;color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.wide{grid-column:1/-1}label,legend{display:block;font-weight:700;font-size:14px;margin-bottom:7px}fieldset{border:0;padding:0;margin:0}.required:after{content:' *';color:#bf3d3d}input:not([type]),input[type=text],input[type=file],input[type=tel],select,textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid #afc9c7;border-radius:var(--radius);font:inherit;color:var(--ink);background:#fff;box-shadow:inset 0 1px 2px #163b4308}textarea{min-height:108px;resize:vertical}input[type=file]{padding:7px 9px;background:#f9fdfc;color:var(--muted)}input[type=file]::file-selector-button{margin-right:10px;padding:7px 10px;border:0;border-radius:7px;color:var(--brand);background:#e5f1ef;font:700 13px "Microsoft YaHei";cursor:pointer}input:focus,select:focus,textarea:focus{outline:3px solid #12666b25;border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.choice-row{display:flex;gap:8px;flex-wrap:wrap}.choice{position:relative;margin:0}.choice input,.deploy-card input,.product-select input{position:absolute;opacity:0}.choice span{display:block;padding:8px 11px;border:1px solid #bbd3d1;border-radius:20px;cursor:pointer;font-size:14px}.choice input:checked+span{background:var(--brand);color:#fff;border-color:var(--brand)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.product-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.product-card>img{display:block;width:100%;height:190px;object-fit:contain;background:#f5f9f8}.product-copy{padding:14px}.product-copy h3{margin:0;font-size:21px}.product-copy p{margin:2px 0 9px;color:var(--muted);font-size:13px}.product-copy ul{min-height:76px;margin:0 0 10px;padding-left:18px;font-size:13px}.product-select{position:absolute;z-index:2;top:10px;left:10px;margin:0}.product-select span{display:block;padding:6px 9px;border-radius:16px;background:#fffffff0;color:var(--brand);font-size:12px;box-shadow:0 1px 5px #0002;cursor:pointer}.product-select input:checked+span{background:var(--brand);color:#fff}.product-actions{display:flex;gap:10px;margin-bottom:10px}.text-button{border:0;background:transparent;padding:0;color:var(--brand);font:700 13px "Microsoft YaHei";cursor:pointer;text-decoration:underline}.quantity{font-size:13px;color:var(--muted)}.quantity select{margin-top:4px;min-height:40px}.deploy-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.deploy-card{position:relative;margin:0}.deploy-card>span{display:block;min-height:150px;padding:17px;border:1px solid #b8d2d0;border-radius:var(--radius);cursor:pointer}.deploy-card input:checked+span{border-color:var(--brand);box-shadow:0 0 0 2px #12666b20;background:#f5fbfa}.deploy-card b{display:block;font-size:17px;margin-bottom:6px}.deploy-card small,.deploy-card em{display:block;color:var(--muted);font-size:13px;font-style:normal}.deploy-card em{margin-top:9px;color:var(--brand)}.flow{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:10px;padding:12px;background:var(--pale);border:1px solid #d6e8e6;border-radius:var(--radius);margin-top:16px}.flow label{font-size:12px}.route-add{margin-top:12px;border:1px dashed var(--brand);border-radius:8px;padding:10px 13px;color:var(--brand);background:#f3fbfa;font:700 14px "Microsoft YaHei";cursor:pointer}.route-attachment{margin-top:16px;padding:14px;border:1px solid #d6e8e6;border-radius:var(--radius);background:#f6fbfa}.bar{position:fixed;z-index:4;bottom:0;left:0;right:0;padding:12px max(20px,calc((100% - 1120px)/2));display:flex;justify-content:flex-end;gap:10px;background:#fffffff0;border-top:1px solid var(--line);backdrop-filter:blur(8px)}button{border:0;border-radius:8px;padding:11px 15px;font:700 14px "Microsoft YaHei";cursor:pointer}.primary{color:#fff;background:var(--brand)}.secondary{color:var(--brand);background:#e7f3f2}#toast{position:fixed;z-index:8;left:50%;bottom:75px;transform:translateX(-50%);background:#163b43;color:#fff;padding:10px 14px;border-radius:8px;display:none}dialog{border:0;border-radius:14px;max-width:520px;width:calc((100% - 32px));box-shadow:0 18px 70px #0004}.share-panel{padding:25px}.share-panel h2{margin:3px 0}.share-panel p{color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.media-dialog{padding:0;max-width:min(900px,96vw);background:#102529}.media-dialog video{display:block;max-width:100%;max-height:82vh}.close-media{position:absolute;z-index:2;right:8px;top:8px;color:#fff;background:#0009}@media(max-width:820px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.grid,.flow,.deploy-options,.product-grid{grid-template-columns:1fr}.section{padding:18px 15px}.bar button{flex:1;padding:11px 8px}.product-card>img{height:175px}}
.product-visual{height:250px;padding:24px;background:linear-gradient(145deg,#f7fbfa,#edf5f4);display:flex;align-items:center;justify-content:center}.product-visual img{display:block;width:100%;height:100%;object-fit:contain}.product-highlights{font-size:13px}.product-highlights b{display:block;margin:9px 0 2px;color:var(--brand);font-size:12px}.product-highlights ul{min-height:0;margin:0;padding-left:18px}.product-highlights li{margin:2px 0}.spec-details{margin:12px 0;border-top:1px solid #deebe9;padding-top:9px}.spec-details summary{color:var(--brand);font-weight:700;font-size:13px;cursor:pointer}.spec-details table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12px}.spec-details th,.spec-details td{padding:6px 4px;text-align:left;vertical-align:top;border-bottom:1px solid #edf3f2}.spec-details th{width:42%;color:var(--muted);font-weight:700}.product-actions{flex-wrap:wrap}.product-card>.product-visual+ .product-copy{padding-top:14px}@media(max-width:620px){.product-visual{height:230px;padding:22px}}
/* Upload status and completion feedback */
.upload-hint{margin:8px 0 0;color:var(--muted);font-size:13px}.upload-progress{display:grid;gap:8px;margin-top:12px}.upload-item{border:1px solid #cfe2e1;border-radius:10px;background:#fff;padding:10px 12px}.upload-top{display:flex;justify-content:space-between;gap:12px;font-size:13px}.upload-top span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-top strong{color:#13747a;white-space:nowrap}.upload-item small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.upload-track{height:7px;overflow:hidden;border-radius:99px;background:#e3f0ef;margin-top:8px}.upload-track i{display:block;height:100%;border-radius:inherit;background:#14747a;transition:width .2s ease}.success-message{max-width:760px;margin:42px auto;padding:38px 42px;border:1px solid #cbe1df;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f2fbfa 100%);box-shadow:0 16px 40px rgba(17,78,83,.09)}.success-message h2{margin:10px 0 12px;color:#16464b;font-size:30px}.success-message p{margin:8px 0;color:#4b686c;line-height:1.8}.success-message .success-note{font-size:14px;color:#71868a}.bar button:disabled{cursor:wait;opacity:.7}@media(max-width:640px){.success-message{margin:24px 0;padding:28px 22px}.success-message h2{font-size:25px}}
.dialog-actions .dialog-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:11px 15px;border-radius:8px;font:700 14px "Microsoft YaHei",sans-serif;line-height:1.2;text-decoration:none;white-space:nowrap}
