:root{--accent: #009e58;--accent-dark: #007a44;--ink: #16181d;--muted: #6b7078;--line: #e2e4e8;--bg: #f6f7f9;--warn: #a86400;--error: #b3261e}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.45}h1{font-size:1.5rem;margin:0 0 .75rem}h2{font-size:1.15rem;margin:1.5rem 0 .5rem}h3{font-size:1.05rem;margin:0 0 .5rem}h4{margin:1rem 0 .35rem}code{background:#eef0f3;padding:.1em .35em;border-radius:4px;font-size:.85em}.shell{min-height:100vh;display:flex;flex-direction:column}.dev-banner{background:#fff3cd;color:#664d03;text-align:center;padding:.35rem 1rem;font-size:.85rem}.topbar{display:flex;align-items:center;gap:1.5rem;background:#fff;border-bottom:1px solid var(--line);padding:.5rem 1.25rem;flex-wrap:wrap}.topbar-brand{display:flex;align-items:center;gap:.5rem;font-weight:700}.topbar-brand img{height:28px;border-radius:4px}.topbar-nav{display:flex;gap:.25rem;flex-wrap:wrap}.topbar-nav a{color:var(--muted);text-decoration:none;padding:.35rem .65rem;border-radius:6px;font-size:.92rem}.topbar-nav a:hover{background:var(--bg);color:var(--ink)}.topbar-nav a.active{background:#e6f5ee;color:var(--accent-dark);font-weight:600}.topbar-user{margin-left:auto;display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.9rem}.page{max-width:1080px;width:100%;margin:0 auto;padding:1.5rem 1.25rem 4rem}.page-pad{padding:2rem}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.page-head h1{margin:0}.muted{color:var(--muted)}.error-text{color:var(--error)}.warn-text{color:var(--warn)}.btn{display:inline-block;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:.45rem .9rem;font-size:.92rem;cursor:pointer;text-decoration:none}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.btn-ghost{border-color:transparent;background:transparent;color:var(--accent-dark)}.btn-ghost:hover{background:#e6f5ee;border-color:transparent}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}th,td{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--line);font-size:.92rem;vertical-align:top}th{background:#fafbfc;font-weight:600;color:var(--muted);font-size:.88rem}tr:last-child td{border-bottom:none}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem}.panel table{border:none;border-radius:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-head h2{margin:0}.panel-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;flex-wrap:wrap}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.cert-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1rem 1.25rem}.cert-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cert-card-head h3{margin:0}.cert-card dl{display:flex;gap:2rem;margin:.75rem 0}.cert-card dt{font-size:.8rem;color:var(--muted)}.cert-card dd{margin:0;font-weight:600}.pill{display:inline-block;border-radius:999px;padding:.1rem .6rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.pill-active{background:#e6f5ee;color:var(--accent-dark)}.pill-pending{background:#fff3cd;color:#664d03}.pill-expired{background:#fdecea;color:var(--error)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141a73;display:flex;align-items:flex-start;justify-content:center;padding:4rem 1rem 2rem;overflow-y:auto;z-index:100}.modal{background:#fff;border-radius:12px;padding:1.25rem 1.5rem;max-width:480px;width:100%}.modal-wide{max-width:680px}.modal-tall{max-width:900px}.json-editor{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.4;width:100%;min-height:260px;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:.6rem;color:var(--ink);background:#fafbfc}.pdf-preview{width:100%;height:420px;border:1px solid var(--line);border-radius:8px;margin-top:.75rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.75rem;margin:.75rem 0 1rem}.stat-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.85rem 1rem;text-decoration:none;color:var(--ink);display:block}.stat-link:hover{border-color:var(--accent)}.stat-value{font-size:1.45rem;font-weight:700}.stat-label{color:var(--muted);font-size:.85rem}.verify-badge{display:inline-block;font-size:1.2rem;font-weight:800;letter-spacing:.06em;border-radius:999px;padding:.35rem 1.2rem;margin:.5rem 0}.verify-ok{background:#e6f5ee;color:var(--accent-dark)}.verify-bad{background:#fdecea;color:var(--error)}.verify-unknown{background:#fff4e0;color:#8a5a00}.download-links{display:flex;flex-wrap:wrap;gap:.5rem}.download-links .btn{text-decoration:none}.load-error{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.public-form{max-width:640px;margin:0 auto;padding:1rem 1rem 4rem;font-size:17px;line-height:1.55}.public-form .muted,.form-guide{color:#454c54}.form-head{text-align:center;margin-bottom:1rem}.form-customer{margin:0 0 .35rem;color:#454c54}.form-customer strong{color:var(--accent-dark)}.form-head h1{font-size:1.4em;line-height:1.25;margin:.5rem 0 .35rem}.form-logo{height:44px}.form-status{text-align:center;padding:3rem 1rem}.form-section{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem;margin-bottom:1rem}.form-section h2{margin:0 0 .35rem;font-size:1.2em;line-height:1.3}.form-banner{border-radius:10px;padding:.8rem 1rem;margin:.75rem 0;font-weight:600;line-height:1.5}.form-banner-warning{background:#fff4e0;color:#7a5000;border:1px solid #f0d9a8}.form-banner-info{background:#e8f1fb;color:#17436e;border:1px solid #c9def5}.form-note{color:#454c54;margin:.75rem 0}.form-question{margin:1.25rem 0}.form-question-missing{border-left:3px solid var(--error);padding-left:.75rem}.form-label{display:block;font-weight:700;font-size:1.03em;line-height:1.4;margin-bottom:.3rem}.form-required{color:var(--error)}.form-help{color:#454c54;font-size:.95em;line-height:1.5;margin:.15rem 0 .5rem}.form-input{width:100%;box-sizing:border-box;font-size:1em;padding:.7rem .8rem;border:1.5px solid #c9cdd3;border-radius:10px}.form-segmented{display:flex;flex-wrap:wrap;gap:.45rem}.form-segment{flex:1 1 auto;min-height:50px;padding:.55rem .8rem;border:1.5px solid #c9cdd3;border-radius:10px;background:#fff;font-size:1em;font-weight:600;cursor:pointer}.form-segment-on{border-color:var(--accent);background:#e6f5ee;color:var(--accent-dark)}.form-criterion .form-segment{flex:1 1 40%}.form-segment-fail.form-segment-on{border-color:var(--error);background:#fdecea;color:var(--error)}.form-segment-needs_correction.form-segment-on{border-color:#c98a00;background:#fff4e0;color:#7a5000}.form-segment-na.form-segment-on{border-color:#6b7078;background:#eef0f2;color:#3a3e46}.form-choices{display:flex;flex-direction:column;gap:.45rem}.form-choice{text-align:left;min-height:50px;padding:.65rem .9rem;border:1.5px solid #c9cdd3;border-radius:10px;background:#fff;cursor:pointer;font-size:1em;line-height:1.4}.form-choice-on{border-color:var(--accent);background:#e6f5ee}.form-choice-label{display:block;font-weight:600}.form-choice-desc{display:block;color:#454c54;font-size:.92em;margin-top:.2rem}.form-files{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.form-file-btn{min-height:50px;font-size:1em}.form-file-list{list-style:none;margin:0;padding:0;width:100%}.form-file-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--line)}.form-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-search,.person-manual{display:flex;flex-direction:column;gap:.45rem;align-items:flex-start}.person-search .form-input,.person-manual .form-input{width:100%}.person-picked{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;border:1.5px solid var(--accent);background:#e6f5ee;border-radius:10px;padding:.55rem .8rem}.person-picked-email{display:block;color:#454c54;font-size:.92em;overflow-wrap:anywhere}.signature-pad{display:flex;flex-direction:column;gap:.5rem}.signature-canvas{width:100%;max-width:500px;height:150px;touch-action:none;border:1.5px dashed var(--line);border-radius:10px;background:#fff}.signature-actions{display:flex;gap:.5rem}.signature-done{color:var(--accent-dark);font-weight:600;margin:0}.form-submit{width:100%;min-height:56px;font-size:1.1em;margin-top:.5rem}.form-submit-error{text-align:center}.form-footnote{text-align:center;font-size:.9em;color:#454c54}.form-editor-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1rem;align-items:start;margin-top:1rem}@media(max-width:1000px){.form-editor-body{grid-template-columns:minmax(0,1fr)}}.form-editor-preview{border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:.75rem;max-height:82vh;overflow-y:auto;position:sticky;top:.5rem}.form-preview-frame{max-width:420px;margin:0 auto}.form-problems{margin:.5rem 0}.fe-body{display:grid;grid-template-columns:330px minmax(0,1fr);gap:1rem;align-items:start;margin-top:.75rem}@media(max-width:1000px){.fe-body{grid-template-columns:minmax(0,1fr)}}.fe-palette{position:sticky;top:.5rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.6rem}@media(max-height:840px){.fe-palette{position:static}}.fe-palette-search{width:100%;box-sizing:border-box;margin-bottom:.5rem;padding:.4rem .55rem;border:1px solid var(--line);border-radius:8px}.fe-palette-group h4{margin:.6rem 0 .3rem;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.fe-palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:.3rem}.fe-palette-item{display:block;width:100%;text-align:left;cursor:grab;border:1px solid var(--line);border-radius:8px;background:#fff;padding:.4rem .5rem}.fe-palette-item .fb-palette-label{display:block;font-weight:600;line-height:1.25}.fe-palette-item .fb-palette-hint{display:block;color:var(--muted);font-size:.72rem;line-height:1.3;margin-top:.1rem}.fe-palette-item:hover{border-color:var(--accent);background:#e6f5ee}.fe-palette-item:active{cursor:grabbing}.fe-palette-tip{font-size:.8rem;margin:.5rem 0 0}.fe-canvas{max-width:680px;min-width:0}.fe-canvas .form-section{position:relative}.fe-add-section{margin-top:.25rem}.fe-test{max-width:680px;margin-top:.75rem}.fe-section-bar{display:flex;align-items:center;gap:.4rem}.fe-title-input{flex:1;min-width:0;font-size:1.2rem;font-weight:700;border:1px solid transparent;border-radius:8px;padding:.25rem .4rem;background:transparent}.fe-title-input:hover,.fe-title-input:focus{border-color:var(--line);background:#fff}.fe-desc-input{width:100%;box-sizing:border-box;color:var(--muted);font-size:.92rem;border:1px solid transparent;border-radius:8px;padding:.2rem .4rem;background:transparent}.fe-desc-input:hover,.fe-desc-input:focus{border-color:var(--line);background:#fff;color:var(--ink)}.fe-hover-actions{display:flex;gap:.1rem;opacity:0;transition:opacity .12s}.fe-section:hover .fe-hover-actions{opacity:1}.fe-hover-actions .btn{padding:.2rem .45rem}.fe-question{position:relative;border:1.5px solid transparent;border-radius:10px;padding:.15rem .5rem .15rem 1.4rem;cursor:pointer}.fe-question:hover{border-color:var(--line)}.fe-question.fe-selected{border-color:var(--accent);background:#fbfefc;cursor:default}.fe-section.fe-selected{outline:2px solid var(--accent);outline-offset:-2px}.fe-inert{pointer-events:none}.fe-drag-handle{position:absolute;left:.15rem;top:50%;transform:translateY(-50%);cursor:grab;color:var(--muted);letter-spacing:-2px;padding:.3rem .2rem;-webkit-user-select:none;user-select:none;opacity:0;transition:opacity .12s}.fe-question:hover .fe-drag-handle,.fe-question.fe-selected .fe-drag-handle{opacity:1}.fe-drag-handle:active{cursor:grabbing}.fe-flags{display:flex;gap:.3rem;padding-top:.3rem}.fe-empty{padding:.75rem;border:1.5px dashed var(--line);border-radius:10px;text-align:center}.fe-dropzone{height:8px;border-radius:4px;margin:1px 0}.fe-dropzone-over{height:26px;background:#e6f5ee;border:1.5px dashed var(--accent)}.fe-inline-editor{border-top:1px dashed var(--line);margin-top:.4rem;padding:.55rem .2rem .4rem;display:flex;flex-direction:column;gap:.5rem;cursor:default}.fe-inline-editor label{display:flex;flex-direction:column;gap:.2rem;font-weight:600;font-size:.9rem}.fe-inline-editor input,.fe-inline-editor select,.fe-inline-editor textarea{font-weight:400}.fe-inline-editor .check-label{flex-direction:row;align-items:center;gap:.4rem}.share-company{display:flex;gap:1rem;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem;margin-bottom:.75rem}.share-company-info{flex:1 1 auto;min-width:0}.share-company-info h4{margin:0 0 .4rem}.share-company-hint{margin:.4rem 0 0;font-size:.85rem}.share-company-qr{flex:0 0 auto;width:132px;height:132px;border:1px solid var(--line);border-radius:8px}@media(max-width:560px){.share-company{flex-direction:column;align-items:stretch}.share-company-qr{align-self:center;width:180px;height:180px}}.fe-notes{margin:.25rem 0 .75rem;padding-left:1.2rem}.fe-notes li{margin-bottom:.35rem}.fe-badge{display:inline-block;margin-left:.35rem;min-width:1.1rem;text-align:center;background:var(--error);color:#fff;border-radius:999px;font-size:.72rem;padding:.05rem .3rem}.fb-column{display:flex;flex-direction:column;gap:.75rem;min-width:0}.fb-card,.fb-section{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.75rem .9rem}.fb-card-warn{border-color:#f0d9a8}.fb-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;background:none;border:none;padding:.15rem 0;cursor:pointer;font:inherit;text-align:left}.fb-card-body{padding-top:.5rem;display:flex;flex-direction:column;gap:.55rem}.fb-card-body label{display:flex;flex-direction:column;gap:.2rem;font-weight:600;font-size:.92rem}.fb-card-body input,.fb-card-body select,.fb-card-body textarea{font-weight:400}.fb-card-body .check-label{flex-direction:row;align-items:center;gap:.4rem}.fb-settings h4{margin:.4rem 0 .1rem}.fb-field-label{font-weight:600;font-size:.92rem;margin:.2rem 0 .1rem}.fb-checks{display:flex;flex-wrap:wrap;gap:.35rem 1rem}.fb-checks .check-label{font-weight:400}.fb-section-head{display:flex;align-items:center;gap:.5rem}.fb-section-title{flex:1;min-width:0;font-size:1.05rem;font-weight:700;border:1px solid transparent;border-radius:8px;padding:.3rem .45rem;background:transparent}.fb-section-title:hover,.fb-section-title:focus{border-color:var(--line);background:#fff}.fb-section-desc{width:100%;box-sizing:border-box;margin-top:.2rem;font-size:.9rem;color:var(--muted);border:1px solid transparent;border-radius:8px;padding:.25rem .45rem;background:transparent}.fb-section-desc:hover,.fb-section-desc:focus{border-color:var(--line);background:#fff;color:var(--ink)}.fb-row-actions{display:flex;gap:.15rem}.fb-row-actions .btn{padding:.25rem .5rem}.fb-question{border:1px solid var(--line);border-radius:10px;padding:.4rem .65rem;margin-top:.5rem;background:#fafbfc}.fb-question-open{background:#fff;border-color:var(--accent)}.fb-q-label{font-weight:600;min-width:0}.fb-q-meta{display:flex;align-items:center;gap:.4rem;white-space:nowrap;font-size:.85rem}.fb-question-actions{margin-top:.25rem;flex-wrap:wrap}.fb-add-question{margin-top:.6rem}.fb-add-section{align-self:flex-start}.fb-options{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}.fb-option-row{display:flex;gap:.35rem;width:100%}.fb-option-row input{flex:1 1 40%;min-width:0}.fb-option-row .fb-option-desc{flex:1 1 55%}.fb-condition{border-top:1px dashed var(--line);padding-top:.5rem}.fb-condition-when{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.fb-condition-when select,.fb-condition-when input{max-width:100%}.fb-palette{display:flex;flex-direction:column;gap:.6rem}.fb-palette h4{margin:0 0 .25rem;color:var(--muted);font-size:.85rem;text-transform:uppercase}.fb-palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.fb-palette-btn{text-align:left;border:1px solid var(--line);border-radius:10px;background:#fff;padding:.5rem .65rem;cursor:pointer}.fb-palette-btn:hover{border-color:var(--accent);background:#e6f5ee}.fb-palette-label{display:block;font-weight:600}.fb-palette-hint{display:block;color:var(--muted);font-size:.82rem}.verify-facts{text-align:left;margin:1rem auto 0;max-width:280px}.verify-facts div{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;border-bottom:1px solid var(--line)}.verify-facts dt{color:var(--muted)}.verify-facts dd{margin:0;font-weight:600}.filters{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem;margin-bottom:.85rem}.filters .tiny-field{flex:0 1 165px;margin-bottom:0}.filters .btn{margin-bottom:.1rem}.table-scroll{overflow:auto;max-height:70vh;border:1px solid var(--line);border-radius:10px;background:#fff}.report-table{border:none;border-radius:0;min-width:1100px}.report-table th{position:sticky;top:0;z-index:5}.report-table tbody tr{cursor:pointer;-webkit-user-select:none;user-select:none}.report-table tbody tr:hover{background:#f7fbf9}.report-table tbody tr.row-selected{background:#e6f5ee}.report-table tbody tr.row-selected td{border-bottom-color:#bfe6d4}.cell-sub{font-size:.82rem}.selection-bar{position:sticky;bottom:0;z-index:40;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.85rem;padding:.7rem 1rem;background:#16181d;color:#fff;border-radius:10px;box-shadow:0 4px 18px #14141a40}.selection-bar .btn{background:#2a2d34;border-color:#3a3e46;color:#fff}.selection-bar .btn:hover{border-color:#6b7078}.selection-bar .btn-primary{background:var(--accent);border-color:var(--accent)}.selection-bar .btn-ghost{background:transparent;border-color:transparent;color:#cfd4db}.selection-bar .btn-danger{background:#5d2320;border-color:#7d2f2b;color:#ffd9d6}.selection-bar .btn-danger:hover{background:var(--error);border-color:var(--error);color:#fff}.selection-bar .warn-text{color:#ffca6b}.note-input{flex:1;min-width:220px;background:#2a2d34;border:1px solid #3a3e46;color:#fff;border-radius:8px;padding:.4rem .6rem;font:inherit;font-size:.9rem}.note-input::placeholder{color:#8a9099}.billed-banner{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.85rem;padding:.75rem 1rem;background:#16181d;color:#fff;border-radius:10px}.billed-banner .btn{background:#2a2d34;border-color:#3a3e46;color:#fff}.billed-banner .btn:hover{border-color:#6b7078}.billed-banner .btn-ghost{background:transparent;border-color:transparent;color:#cfd4db}.billed-banner .panel-actions{flex-wrap:wrap}.muted-on-dark{color:#b6bcc6;font-size:.85rem}.invoice-input{background:#2a2d34;border:1px solid #3a3e46;color:#fff;border-radius:8px;padding:.4rem .6rem;font:inherit;font-size:.9rem;width:160px}.invoice-input::placeholder{color:#8a9099}.reports-panel{margin-top:1.5rem}.reports-panel h2{margin-bottom:.25rem}.reports-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:.5rem 0}.reports-toolbar .btn{text-decoration:none}.report-table th.freeze-a,.report-table td.freeze-a{position:sticky;left:0}.report-table th.freeze-b,.report-table td.freeze-b{position:sticky;left:34px;box-shadow:2px 0 0 var(--line)}.report-table td.freeze-a,.report-table td.freeze-b{background:#fff;z-index:2}.report-table th.freeze-a,.report-table th.freeze-b{z-index:7}.report-table tbody tr:hover td.freeze-a,.report-table tbody tr:hover td.freeze-b{background:#f7fbf9}.report-table tbody tr.row-selected td.freeze-a,.report-table tbody tr.row-selected td.freeze-b{background:#e6f5ee}.report-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.report-table th.sortable:hover{color:var(--ink);background:#f1f4f2}.report-table th.sortable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sort-mark{color:var(--accent-dark);font-weight:700}@font-face{font-family:Great Vibes;src:url(/GreatVibes-Regular.ttf) format("truetype");font-display:swap}.builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.builder-name{font-size:1.3rem;font-weight:700;border:1px solid transparent;padding:.15rem .4rem;margin-left:-.4rem;background:transparent;width:340px;max-width:100%}.builder-name:hover{border-color:var(--line);background:#fff}.builder-toolbar{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:.85rem 0;padding:.5rem .65rem;background:#fff;border:1px solid var(--line);border-radius:10px}.builder-toolbar .btn{padding:.3rem .65rem;font-size:.85rem}.page-tabs{margin-left:auto;display:flex;gap:.3rem}.builder-body{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:1rem;align-items:start}@media(max-width:900px){.builder-body{grid-template-columns:minmax(0,1fr)}}.builder-smallscreen-note{display:none}@media(max-width:900px){.builder-smallscreen-note{display:block}}.builder-canvas{min-width:0}.canvas-page{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:4px;box-shadow:0 2px 14px #14141a17;touch-action:none;-webkit-user-select:none;user-select:none}.canvas-handle{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;background:var(--accent);border:2px solid #fff;border-radius:3px;cursor:nwse-resize;z-index:40;box-shadow:0 1px 4px #0000004d}.canvas-hint{font-size:.82rem;margin-top:.6rem}.builder-props{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem;position:sticky;top:1rem}.builder-props h3{margin:0 0 .5rem}.builder-props h4{margin:1rem 0 .4rem;font-size:.9rem;color:var(--muted)}.builder-props .btn{font-size:.85rem;padding:.3rem .6rem}.prop-row{display:flex;gap:.5rem;align-items:flex-end;margin-bottom:.5rem;flex-wrap:wrap}.tiny-field{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--muted);flex:1;min-width:0;margin-bottom:.5rem}.tiny-field input,.tiny-field select,.tiny-field textarea{font:inherit;font-size:.88rem;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:.3rem .45rem;background:#fff;width:100%}.tiny-field input[type=color]{padding:.1rem;height:30px}.help{max-width:780px}.help .panel h2{margin-top:0}.help ol,.help ul{padding-left:1.3rem}.help li{margin-bottom:.5rem}.help li ul{margin-top:.35rem}.help li ul li{margin-bottom:.25rem}.help-flow{font-weight:700;text-align:center;background:#e6f5ee;color:var(--accent-dark);border-radius:8px;padding:.6rem 1rem}.help a{color:var(--accent-dark)}.run-result{background:#e6f5ee;color:var(--accent-dark);border-radius:8px;padding:.5rem .9rem;font-weight:600}.map-link{margin:.75rem 0}.map-link label{display:flex}.map-arrow{text-align:center;font-size:1.5rem;line-height:1.2;color:var(--accent-dark);font-weight:700;margin:.15rem 0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem 1rem;margin:.5rem 0}label{display:flex;flex-direction:column;gap:.25rem;font-size:.88rem;color:var(--muted)}.check-label{flex-direction:row;align-items:center;gap:.5rem;color:var(--ink)}input,select{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;background:#fff}input:focus,select:focus{outline:2px solid #bfe6d4;border-color:var(--accent)}.search{min-width:260px}.tier-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.tier-row input{width:90px}.tier-row span{color:var(--muted);font-size:.88rem}.payload{background:#16181d;color:#d7dae0;border-radius:8px;padding:.75rem;font-size:.78rem;overflow-x:auto;max-height:320px}details summary{cursor:pointer;color:var(--accent-dark);margin:.5rem 0}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:2.5rem;max-width:380px;text-align:center}.login-logo{height:56px;border-radius:8px;margin-bottom:1rem}.login-card h1{font-size:1.3rem}.login-card p{color:var(--muted)}
