*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f3f5f7;color:#20242a}a{color:#174f83;text-decoration:none}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;background:#18232e;color:#fff}.topbar a{color:#fff}.topbar nav{display:flex;gap:18px;align-items:center}.container{max-width:1180px;margin:0 auto;padding:30px 20px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-head h1{margin:0 0 6px}.button,button{display:inline-block;border:0;background:#174f83;color:#fff;padding:11px 16px;font-weight:700;cursor:pointer}.panel,.project-card{background:#fff;border:1px solid #dce1e5;padding:20px;margin-bottom:20px}.cards{display:grid;gap:14px}.project-card{display:flex;justify-content:space-between;gap:20px;align-items:center}.actions{display:flex;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full,.form-grid fieldset.full{grid-column:1/-1}label{display:grid;gap:6px;font-weight:700}input,select{width:100%;padding:10px;border:1px solid #bfc7ce;background:#fff}.check{display:inline-flex;grid-template-columns:auto 1fr;align-items:center;margin-right:20px;font-weight:400}.check input{width:auto}.alert{padding:12px 14px;margin-bottom:16px}.alert.error{background:#fde3e3;border:1px solid #e5a2a2}.alert.success{background:#e2f3e8;border:1px solid #9acbac}.login-body{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:20px}.login-card{width:min(420px,100%);background:#fff;border:1px solid #dce1e5;padding:30px}.login-card form{display:grid;gap:16px}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #ddd;padding:10px}.inline{display:inline-flex;gap:6px;align-items:center;margin:3px}.inline input{width:160px}@media(max-width:700px){.topbar,.page-head,.project-card{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .full,.form-grid fieldset.full{grid-column:auto}.topbar nav{flex-wrap:wrap}}
textarea{width:100%;padding:10px;border:1px solid #bfc7ce;background:#fff;font:13px/1.4 Consolas,Monaco,monospace;resize:vertical}.integration-code-section{border-top:1px solid #dce1e5;padding-top:18px;margin-top:8px}.custom-block-card{border:1px solid #cfd6dc;background:#f8fafb;padding:14px;margin:12px 0;display:grid;gap:10px}.custom-block-card.dragging{opacity:.45}.drag-handle{cursor:move;font-weight:700;color:#59636d;background:#e9edf0;padding:8px}

.designer-toolbar{display:flex;gap:8px;margin-bottom:14px}.visual-designer-frame{margin:0 auto 20px;background:#fff;border:1px solid #cfd6dc;transition:max-width .2s}.visual-designer-frame.desktop{max-width:1180px}.visual-designer-frame.tablet{max-width:820px}.visual-designer-frame.mobile{max-width:390px}.visual-site-wrapper-note{padding:18px;background:#18232e;color:#fff;text-align:center;font-weight:700;letter-spacing:.05em}.visual-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;padding:18px;background:#eef1f3}.visual-block{grid-column:span var(--span);min-width:0;background:#fff;border:2px solid #d3d9de}.visual-block.dragging{opacity:.45}.visual-block-toolbar{display:flex;gap:8px;align-items:center;padding:8px 10px;background:#eef3f7;border-bottom:1px solid #d3d9de;font-size:12px}.visual-block-toolbar strong{margin-right:auto}.visual-block-toolbar button{padding:3px 8px}.drag-grip{cursor:move;font-weight:700}.visual-block-content{padding:14px}.sample-gallery{display:block;width:100%;height:340px;object-fit:cover}.sample-placeholder,.sample-layout{min-height:220px;display:flex;align-items:center;justify-content:center;background:#f4f4f4;border:1px dashed #aaa;color:#666}.sample-title-price{display:flex;justify-content:space-between;gap:20px}.sample-title-price h2{margin:0}.sample-title-price>strong{font-size:26px}.sample-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sample-detail-grid div{background:#f5f5f5;padding:10px}.sample-detail-grid span{display:block;color:#666;font-size:12px}.sample-specs{display:flex;flex-wrap:wrap;gap:8px}.sample-specs span{background:#f1f1f1;padding:7px 9px}.sample-form,.sample-custom{padding:20px;background:#fafafa;border:1px dashed #999}.designer-savebar{position:sticky;bottom:0;background:#fff;border-top:1px solid #ddd;padding:12px;text-align:right;z-index:20}.visual-designer-frame.mobile .visual-grid,.visual-designer-frame.tablet .visual-grid{grid-template-columns:1fr}.visual-designer-frame.mobile .visual-block,.visual-designer-frame.tablet .visual-block{grid-column:1/-1!important}.visual-designer-frame.mobile .sample-detail-grid{grid-template-columns:1fr 1fr}

.dealer-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dealer-template-card{display:grid;gap:8px;border:2px solid #d8dee3;padding:10px;background:#fff;cursor:pointer}.dealer-template-card:has(input:checked){border-color:#174f83;box-shadow:0 0 0 2px #174f8322}.dealer-template-card>input{width:auto}.template-thumb-wrap{position:relative;height:220px;overflow:hidden;background:#eee}.template-thumb-wrap iframe{width:1280px;height:900px;border:0;transform:scale(.26);transform-origin:top left;pointer-events:none}.expand-preview{position:absolute;right:8px;bottom:8px}.dealer-template-card span{font-size:13px;color:#666}.dealer-apply-bar{position:sticky;bottom:0;background:#fff;border-top:1px solid #ddd;padding:14px;text-align:right;z-index:50}.preview-modal{position:fixed;inset:0;background:#000c;z-index:10000;padding:40px}.preview-modal iframe{width:100%;height:100%;background:#fff;border:0}.preview-modal>button{position:absolute;right:14px;top:10px;width:44px;height:44px;border-radius:50%;font-size:28px;z-index:2}@media(max-width:900px){.dealer-template-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.dealer-template-grid{grid-template-columns:1fr}}

.staging-status{margin-top:12px;padding:12px;background:#eef6ee;border:1px solid #b8d5b8}.staging-status.empty{background:#f6f6f6;border-color:#ddd;color:#666}.staging-status .check{margin-top:10px}.staging-ready{display:inline-block;padding:8px 10px;background:#eef6ee;border:1px solid #b8d5b8;color:#265a26}
