:root{--bg:#f3f6fb;--card:#fff;--text:#172033;--muted:#687386;--line:#dfe5ee;--accent:#2563eb;--accent2:#eff6ff;--danger:#b42318;--success:#157f3d;--shadow:0 12px 38px rgba(31,47,70,.08);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(160deg,#f8fbff 0,#f3f6fb 42%,#eef4fa 100%);color:var(--text)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.topbar{position:sticky;top:0;z-index:30;height:68px;padding:0 max(18px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(223,229,238,.85)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px}.brandmark,.auth-logo{display:grid;place-items:center;background:linear-gradient(145deg,#2563eb,#4f7fff);color:#fff;font-weight:900;box-shadow:0 8px 20px rgba(37,99,235,.22)}.brandmark{width:36px;height:36px;border-radius:12px}.auth-logo{width:54px;height:54px;border-radius:17px;margin:0 auto 14px;font-size:25px}.top-actions{display:flex;align-items:center;gap:8px}.user-chip{font-size:14px;color:var(--muted);margin-right:5px}.icon-btn{width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:12px;display:inline-grid;place-items:center;font-size:20px}.inline-form{display:inline}.page-shell{max-width:1320px;margin:0 auto;padding:32px 20px 56px}.auth-shell{min-height:100vh;display:grid;place-items:center}.auth-card{width:min(100%,450px);background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow);text-align:center}.auth-card h1{margin:0 0 8px;font-size:28px}.muted{color:var(--muted)}.stack-form{display:grid;gap:16px;text-align:left;margin-top:24px}.stack-form label,.field-label{display:grid;gap:7px;font-size:14px;font-weight:700}.stack-form input,.stack-form textarea,.stack-form select,input.control,textarea.control,select.control{width:100%;border:1px solid #cfd8e5;border-radius:12px;padding:11px 13px;background:#fff;color:var(--text);outline:none}.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus,input.control:focus,textarea.control:focus,select.control:focus{border-color:#7aa2f7;box-shadow:0 0 0 3px rgba(37,99,235,.11)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-hint{margin:-7px 0 0;color:var(--muted);font-size:12px}.btn{border:1px solid #d2d9e5;background:#fff;color:#263246;border-radius:11px;padding:9px 13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px}.btn:hover{background:#f7f9fc}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(37,99,235,.18)}.btn.danger{color:var(--danger);border-color:#efc8c4}.btn.small{font-size:13px;padding:6px 9px;min-height:34px}.wide{width:100%}.center{text-align:center}.text-link{color:var(--accent);font-weight:700;font-size:14px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head h1{font-size:32px;margin:2px 0 5px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;color:var(--accent)}.table-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:auto;box-shadow:0 8px 24px rgba(31,47,70,.05)}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:15px 16px;text-align:left;border-bottom:1px solid #edf0f5;vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#7b8697;background:#fbfcfe}td strong{display:block}td small{display:block;color:var(--muted);margin-top:4px}.right{text-align:right}.actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.badge.success{color:#116b34;background:#e9f8ef}.badge.neutral{color:#5e6878;background:#edf1f5}.empty-state{background:#fff;border:1px dashed #cbd5e1;border-radius:22px;padding:60px 20px;text-align:center}.empty-state h2{margin:10px 0 5px}.empty-icon{font-size:38px;color:#7294d7}.modal{border:0;border-radius:20px;padding:0;width:min(92vw,480px);box-shadow:0 24px 80px rgba(15,23,42,.22)}.modal::backdrop{background:rgba(15,23,42,.36);backdrop-filter:blur(3px)}.modal .stack-form{margin:0;padding:22px}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0}.back-link{display:inline-block;color:var(--accent);font-weight:700;font-size:13px;margin-bottom:6px}.copy-row{display:flex;gap:7px;min-width:430px}.copy-row input{flex:1}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.empty-cell{text-align:center;color:var(--muted);padding:30px}.flash-stack{display:grid;gap:8px;margin-bottom:16px}.flash{padding:12px 14px;border-radius:12px;border:1px solid}.flash.success{background:#edf9f1;border-color:#c4e9d0;color:#17643a}.flash.error{background:#fff1f0;border-color:#f0cac6;color:#912018}.flash.info{background:#eff6ff;border-color:#caddfc;color:#24528b}.mobile-cards{display:none}.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.form-card-top{display:flex;justify-content:space-between;gap:12px}.form-card h3{margin:0 0 4px}.form-card p{margin:0;color:var(--muted);font-size:13px}.mobile-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px;min-height:140px;display:flex;flex-direction:column;justify-content:space-between;transition:.18s}.settings-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.settings-card h3{margin:8px 0 5px}.settings-card p{margin:0;color:var(--muted);font-size:13px}.settings-icon{font-size:24px}.section-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 5px 20px rgba(31,47,70,.04);margin-bottom:16px}.section-card h2{margin:0 0 5px;font-size:19px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #edf0f5}.switch-row:last-child{border-bottom:0}.checkbox{width:20px;height:20px}.danger-zone{border-color:#f0cbc7}.code-note{padding:12px;background:#f6f8fb;border-radius:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.editor-shell{display:grid;grid-template-columns:250px minmax(0,1fr) 310px;gap:14px;align-items:start}.editor-panel{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;min-height:300px}.panel-head{padding:14px 16px;border-bottom:1px solid var(--line);font-weight:800}.panel-body{padding:14px}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tool-btn{border:1px solid #dbe2ec;border-radius:11px;background:#fff;padding:10px 8px;font-size:12px;font-weight:750;text-align:left}.tool-btn:hover{border-color:#9bb8f5;background:#f7faff}.editor-canvas{background:#eef3f8;border:1px solid var(--line);border-radius:17px;padding:22px;min-height:650px}.canvas-page{max-width:760px;margin:auto;background:#fff;border-radius:18px;box-shadow:0 10px 36px rgba(39,54,78,.09);padding:30px}.canvas-title{margin:0 0 7px;font-size:27px}.field-block{position:relative;border:1px solid transparent;border-radius:12px;padding:12px;margin:6px -12px;transition:.15s}.field-block:hover{border-color:#cfd9e9;background:#fbfdff}.field-block.selected{border-color:#7da3f8;background:#f5f9ff}.field-block-label{font-weight:800;margin-bottom:7px}.field-block-help{color:var(--muted);font-size:12px;margin-bottom:7px}.fake-input{height:40px;border:1px solid #d6deea;border-radius:10px;background:#fff}.fake-textarea{height:84px}.fake-options{display:grid;gap:7px}.fake-option{display:flex;align-items:center;gap:8px;color:#536176;font-size:13px}.fake-dot{width:16px;height:16px;border:1px solid #b9c4d3;border-radius:50%}.fake-box{border-radius:4px}.field-actions{position:absolute;right:7px;top:7px;display:none;gap:4px}.field-block:hover .field-actions,.field-block.selected .field-actions{display:flex}.mini-icon{width:28px;height:28px;border:1px solid #d8e0eb;border-radius:8px;background:#fff}.inspector-empty{color:var(--muted);text-align:center;padding:30px 8px}.inspector-form{display:grid;gap:12px}.inspector-form label{display:grid;gap:5px;font-size:12px;font-weight:800}.inspector-form input,.inspector-form textarea,.inspector-form select{width:100%;border:1px solid #d1dae7;border-radius:9px;padding:8px}.editor-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.editor-top-actions{display:flex;gap:7px;flex-wrap:wrap}.save-state{font-size:12px;color:var(--muted)}.ai-box textarea{min-height:125px;resize:vertical}.ai-box .btn{margin-top:8px}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);padding:8px 8px 0}.tab-btn{border:0;background:transparent;padding:9px 10px;border-radius:9px 9px 0 0;font-weight:750;color:var(--muted)}.tab-btn.active{background:#f1f6ff;color:var(--accent)}.tab-content{display:none}.tab-content.active{display:block}.calc-card{border:1px solid #dfe6ef;border-radius:10px;padding:9px;margin-bottom:8px}.preview-modal{width:min(96vw,1180px);height:min(92vh,900px)}.preview-wrap{height:calc(92vh - 78px);background:#e8edf4;padding:15px;display:flex;justify-content:center}.preview-frame{width:100%;height:100%;border:0;background:#fff;border-radius:12px;transition:.2s}.preview-frame.mobile{width:390px;max-width:100%}.preview-toolbar{height:62px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
.public-body{min-height:100vh;padding:28px 14px;background:var(--page-bg,#f4f7fb);font-family:var(--font,Inter),sans-serif;background-size:cover;background-position:center;background-attachment:fixed}.public-card{width:min(100%,760px);margin:0 auto;background:var(--card-bg,#fff);border:1px solid rgba(196,207,220,.7);border-radius:22px;padding:28px;box-shadow:0 18px 55px rgba(38,51,73,.09)}.public-card h1{margin:0 0 8px;font-size:30px}.public-desc{color:#667085;margin:0 0 24px;white-space:pre-line}.public-field{margin:0 0 20px}.public-field>label,.public-label{display:block;font-weight:800;margin-bottom:7px}.public-field input,.public-field textarea,.public-field select{width:100%;border:1px solid #cbd5e1;border-radius:11px;padding:11px 12px;background:#fff}.public-field textarea{min-height:105px;resize:vertical}.required{color:#c24135}.public-help{color:#738095;font-size:12px;margin:5px 0 8px}.option-list{display:grid;gap:9px}.option-row{display:flex;align-items:flex-start;gap:9px}.option-row input{width:18px;height:18px;margin-top:1px}.matrix-wrap{overflow:auto}.matrix-table{min-width:560px}.matrix-table td,.matrix-table th{text-align:center;padding:9px}.matrix-table td:first-child,.matrix-table th:first-child{text-align:left}.matrix-table input{width:17px;height:17px}.public-submit{border:0;border-radius:12px;background:var(--accent,#2563eb);color:#fff;padding:12px 18px;font-weight:850;min-height:46px}.public-alert{background:#fff3f1;color:#92251b;border:1px solid #f1c9c4;border-radius:12px;padding:12px 14px;margin-bottom:18px}.public-success{text-align:center;padding:28px 0}.public-success .check{width:56px;height:56px;border-radius:50%;background:#e9f8ef;color:#157f3d;display:grid;place-items:center;margin:0 auto 12px;font-size:28px}.honeypot{position:absolute!important;left:-10000px!important;opacity:0!important}.preview-banner{position:sticky;top:0;z-index:20;background:#172033;color:#fff;padding:8px 12px;text-align:center;font-size:12px;font-weight:800}
@media(max-width:980px){.editor-shell{grid-template-columns:210px minmax(0,1fr)}.editor-shell>.editor-panel:last-child{grid-column:1/-1}.settings-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.topbar{height:60px;padding:0 12px}.brand span:last-child{display:none}.user-chip{display:none}.page-shell{padding:20px 12px 42px}.page-head{align-items:stretch;flex-direction:column}.page-head h1{font-size:27px}.page-head>.btn{width:100%}.desktop-table{display:none}.mobile-cards{display:grid;gap:10px}.auth-card{padding:24px 18px;border-radius:20px}.grid-2{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.editor-shell{display:block}.editor-shell>.editor-panel{margin-bottom:10px}.editor-canvas{padding:10px;min-height:400px}.canvas-page{padding:18px;border-radius:14px}.tool-grid{grid-template-columns:repeat(3,1fr)}.tool-btn{text-align:center;padding:10px 4px}.editor-top{align-items:stretch;flex-direction:column}.editor-top-actions{display:grid;grid-template-columns:1fr 1fr}.editor-top-actions .btn{width:100%}.public-body{padding:0;background:#fff!important}.public-card{border:0;border-radius:0;box-shadow:none;padding:22px 16px;min-height:100vh}.public-card h1{font-size:26px}.copy-row{min-width:300px}.preview-modal{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}.preview-wrap{height:calc(100vh - 62px);padding:0}.preview-frame.mobile{width:100%}}

/* Touch-friendly controls and readable narrow-screen layouts. */
button,.btn,.icon-btn,.tool-btn,.tab-btn,.mini-icon{touch-action:manipulation}
.btn{min-height:44px}
.icon-btn{min-width:44px;min-height:44px}
.tool-btn{min-height:46px}
.tab-btn{min-height:44px}
.mini-icon{width:36px;height:36px}
.table-card{-webkit-overflow-scrolling:touch;scrollbar-width:thin}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}
@media(max-width:720px){.copy-row{min-width:0;flex-direction:column}.copy-row .btn{width:100%}.editor-top-actions{gap:9px}.editor-panel{box-shadow:0 4px 14px rgba(31,47,70,.05)}}
