.custom-page{max-width:960px;margin:0 auto;padding:85px 30px 110px}.custom-page-wide{max-width:1320px}.custom-page-compact{max-width:760px}.custom-page header{padding-bottom:34px;border-bottom:1px solid var(--line)}.custom-page h1{font:700 clamp(46px,6vw,76px)/1.02 "Libre Franklin";letter-spacing:-3px;margin:0}.custom-page-body{font-size:19px;line-height:1.8;color:#354052;padding-top:25px}.custom-page-body p{margin:0 0 24px}
.control-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.control-grid>a{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;gap:16px;min-height:180px;transition:.2s}.control-grid>a:hover{transform:translateY(-3px);border-color:#b7d8f7;box-shadow:var(--shadow)}.control-grid>a>span{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#eaf4ff;color:var(--blue);font-weight:800;font-size:20px;flex:none}.control-grid h2{margin:1px 0 6px;font-size:21px}.control-grid p{margin:0 0 17px;color:var(--muted);font-size:14px}.control-grid strong{font-size:13px;color:var(--blue)}.control-grid .danger-tile>span{background:#fff0ed;color:#b63325}.control-grid .danger-tile strong{color:#b63325}.audit-preview{margin-top:15px}.audit-list>div{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:15px;padding:13px 22px;border-bottom:1px solid #eef0f2}.audit-list span{font-family:monospace;color:var(--blue)}.audit-list small{color:var(--muted)}.empty-state{padding:20px;color:var(--muted)}
.row-actions{display:flex;gap:12px;align-items:center;white-space:nowrap}.row-actions form{display:inline}.danger-text{color:#b9382b!important}.navigation-editor{display:grid;grid-template-columns:1fr 320px;gap:22px}.nav-admin-list{display:grid}.nav-admin-row{display:grid;grid-template-columns:65px 1fr 1.2fr 90px 1.2fr 70px auto auto;gap:9px;align-items:end;padding:16px;border-bottom:1px solid var(--line)}.nav-admin-row label{font-size:11px;font-weight:700;color:var(--muted)}.nav-admin-row input,.nav-admin-row select{width:100%;padding:8px;border:1px solid #d1d6de;border-radius:8px;background:white}.nav-admin-row .mini-check{display:flex;align-items:center;gap:5px;padding-bottom:10px}.nav-admin-row .mini-check input{width:auto}.nav-create .stack-form{padding:0 20px 22px}
.roles-layout{display:grid;grid-template-columns:1fr 330px;gap:22px;align-items:start}.role-editor-list{display:grid;gap:20px}.permission-card{overflow:visible}.permission-card .panel-heading>div small{color:var(--muted)}.permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.permission-grid label{display:flex;gap:12px;align-items:flex-start;background:white;padding:14px 18px;cursor:pointer}.permission-grid label:hover{background:#f8fbff}.permission-grid input{margin-top:5px}.permission-grid span,.permission-grid strong,.permission-grid small{display:block}.permission-grid small{color:var(--muted);font-family:monospace;font-size:11px;margin-top:3px}.permission-actions{padding:18px;text-align:right}.locked-role{display:flex;gap:20px;align-items:center;padding:24px}.locked-role>span{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:var(--lime)}.locked-role p{margin:0;color:var(--muted)}.create-role{position:sticky;top:110px}.create-role .stack-form{padding:0 20px 22px}.create-role p{font-size:13px;color:var(--muted)}
.secret-reveal{background:#0b1932;color:white;border-radius:17px;padding:22px;margin-bottom:24px}.secret-reveal strong,.secret-reveal code{display:block}.secret-reveal code{background:#142746;color:#d9ff54;padding:14px;border-radius:9px;margin:12px 0;overflow-x:auto}.secret-reveal p{margin:0;color:#bfc9d8;font-size:13px}.create-user fieldset{border:1px solid var(--line);border-radius:10px}.create-user legend{font-weight:700;font-size:13px}.api-docs{margin-top:22px}.api-docs>div:last-child{padding:22px;display:flex;flex-wrap:wrap;gap:12px}.api-docs>div:last-child>code{background:#edf4fb;padding:10px;border-radius:8px}.api-docs p{width:100%}.reset-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.danger-panel{background:#fffaf8;border:1px solid #f0c7bf;border-radius:18px;padding:28px}.danger-panel>span{width:50px;height:50px;border-radius:50%;background:#ffebe6;color:#a22b1f;display:grid;place-items:center;font-size:24px}.danger-panel h2{margin:18px 0 8px}.danger-panel p{color:var(--muted)}.danger-panel form{display:grid;gap:12px;margin-top:25px}.danger-panel label{font-size:13px;font-weight:700}.danger-panel input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #dcaaa0;border-radius:9px}.danger-panel-critical{border-color:#d98274;background:#fff5f2}.danger-button{background:#b93427;color:white}.safety-note{margin-top:22px;border:1px solid #cbdcef;background:#f5f9fe;border-radius:14px;padding:18px}.safety-note p{margin:5px 0 0;color:var(--muted)}
@media(max-width:1250px){.control-grid{grid-template-columns:repeat(2,1fr)}.navigation-editor,.roles-layout{grid-template-columns:1fr}.create-role{position:static}.nav-admin-row{grid-template-columns:55px 1fr 1fr 75px}.nav-admin-row label:nth-of-type(5){grid-column:1/3}.nav-admin-row .mini-check{grid-column:3}.nav-admin-row button{align-self:end}}
@media(max-width:800px){.control-grid,.reset-grid,.permission-grid{grid-template-columns:1fr}.nav-admin-row{grid-template-columns:1fr 1fr}.nav-admin-row label:nth-of-type(5){grid-column:1/-1}.nav-admin-row .mini-check{grid-column:auto}.audit-list>div{grid-template-columns:1fr}.custom-page{padding:55px 22px 80px}}
.module-list{display:grid}.module-row{display:grid;grid-template-columns:42px minmax(180px,1fr) 110px 120px;gap:18px;align-items:center;padding:18px 22px;border-top:1px solid var(--line)}.module-row:first-child{border-top:0}.module-row h2{font-size:1rem;margin:0 0 3px}.module-row small{color:var(--muted)}.module-symbol{font-size:1.4rem;color:var(--blue)}.locked-module{color:var(--muted);font-size:.82rem;font-weight:700;text-align:center}@media(max-width:720px){.module-row{grid-template-columns:36px 1fr}.module-row .status,.module-row>button,.locked-module{grid-column:2;width:max-content}}
.builder-page{background:#edf1f6;min-height:calc(100vh - 88px);padding-bottom:60px}.builder-topbar{height:74px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:#101d35;color:white;position:sticky;top:88px;z-index:15;box-shadow:0 8px 30px rgba(5,17,38,.16)}.builder-topbar>div{display:flex;align-items:center;gap:16px}.builder-topbar a{color:#a8cfff;font-weight:700}.builder-topbar span{font-size:12px;color:#aab5c7}.builder-topbar strong{padding-left:16px;border-left:1px solid #38445a}.builder-topbar .button-outline{background:transparent;border-color:#637087;color:white}.builder-actions #builder-save-state{color:#d7dfeb}.builder-settings{background:white;border-bottom:1px solid #d7dde6}.builder-settings>summary{max-width:1460px;margin:auto;padding:15px 28px;font-weight:800;cursor:pointer;color:#28364e}.builder-meta-grid{max-width:1460px;margin:auto;padding:4px 28px 22px;display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.builder-meta-grid label{font-size:11px;color:var(--muted);font-weight:800}.builder-meta-grid input,.builder-meta-grid select,.builder-meta-grid textarea{width:100%;display:block;margin-top:5px;padding:9px 10px;border:1px solid #ccd3df;border-radius:8px;background:white}.builder-meta-grid .builder-wide{grid-column:span 2}.builder-workspace{max-width:1740px;margin:0 auto;display:grid;grid-template-columns:245px minmax(420px,1fr) 340px;gap:18px;padding:20px}.builder-palette,.builder-stage,.builder-inspector{background:white;border:1px solid #d9dfe8;border-radius:15px;min-width:0}.builder-palette{padding:20px;align-self:start;position:sticky;top:182px;max-height:calc(100vh - 205px);overflow:auto}.builder-palette h2{font-size:18px;margin:0}.builder-palette>p{font-size:12px;color:var(--muted);margin:4px 0 15px}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.palette-grid button{border:1px solid #dce2ea;background:#f8fafc;border-radius:9px;min-height:66px;padding:8px 5px;font-size:11px;font-weight:700;display:grid;place-items:center;gap:3px}.palette-grid button:hover{border-color:var(--blue);background:#edf6ff}.palette-grid span{font-size:20px;color:var(--blue)}.variable-panel,.version-panel{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.variable-panel summary,.version-panel summary{font-weight:800;font-size:13px;cursor:pointer}.variable-panel p,.variable-panel small{font-size:10px;color:var(--muted)}.variable-panel textarea{width:100%;resize:vertical;border:1px solid #d4dae4;border-radius:8px;padding:9px;font:11px/1.5 monospace}.version-panel>div{padding:9px 0;border-bottom:1px solid var(--line)}.version-panel strong,.version-panel small{display:block;font-size:11px}.version-panel small{color:var(--muted)}.builder-stage{padding:18px;min-height:650px}.builder-stage-heading{display:flex;justify-content:space-between;padding:3px 4px 15px}.builder-stage-heading span{font-weight:800}.builder-stage-heading small{color:var(--muted)}#builder-canvas{display:grid;gap:10px}.builder-block{display:grid;grid-template-columns:30px 46px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:88px;padding:11px 12px;border:1px solid #d9dfe8;border-radius:12px;background:white;cursor:pointer;transition:.15s}.builder-block:hover,.builder-block.selected{border-color:#4198ed;box-shadow:0 0 0 2px rgba(10,120,236,.1)}.builder-block.selected{background:#f8fbff}.builder-block.dragging{opacity:.45}.builder-block-handle{color:#9aa5b5;cursor:grab}.builder-block-icon{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:#eaf4ff;color:var(--blue);font-weight:800;font-size:18px}.builder-block-copy{display:grid;min-width:0}.builder-block-copy small{font-size:9px;color:var(--blue);font-weight:800;letter-spacing:.6px}.builder-block-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;margin:2px 0}.builder-block-copy span{font-size:10px;color:var(--muted)}.builder-block-actions{display:flex;gap:3px}.builder-block-actions button{border:0;background:#f1f4f7;width:29px;height:29px;border-radius:7px;font-weight:800}.builder-block-actions button:last-child{color:#b9382b}.builder-add-row{width:100%;margin-top:12px;border:1px dashed #9db2ca;background:#f8fbff;color:var(--blue);border-radius:10px;padding:13px;font-weight:800}.builder-empty{text-align:center;padding:120px 20px;color:var(--muted)}.builder-empty span,.inspector-empty>span{font-size:34px;color:var(--blue)}.builder-empty h2,.inspector-empty h2{color:var(--ink);font-size:18px}.builder-inspector{align-self:start;position:sticky;top:182px;max-height:calc(100vh - 205px);overflow:auto}.inspector-empty{text-align:center;padding:100px 28px;color:var(--muted)}.inspector-head{display:flex;justify-content:space-between;align-items:start;padding:20px;border-bottom:1px solid var(--line)}.inspector-head small{color:var(--blue);font-weight:800}.inspector-head h2{margin:3px 0 0;font-size:20px}.inspector-head button{border:0;background:none;font-size:24px;color:var(--muted)}.inspector-fields{padding:19px;display:grid;gap:14px}.inspector-fields label{font-size:11px;font-weight:800;color:#49556a}.inspector-fields input,.inspector-fields textarea,.inspector-fields select{display:block;width:100%;margin-top:5px;border:1px solid #ccd4df;border-radius:8px;padding:10px;background:white}.inspector-fields textarea{resize:vertical}.inspector-fields label>small{display:block;font-weight:400;color:var(--muted);margin-top:5px}.inspector-fields hr{border:0;border-top:1px solid var(--line);width:100%;margin:4px 0}.inspector-check{display:flex;align-items:center;gap:8px}.inspector-check input{width:auto;margin:0}.inspector-note{font-size:12px;color:var(--muted)}
@media(max-width:1250px){.builder-workspace{grid-template-columns:210px 1fr}.builder-inspector{grid-column:1/-1;position:static;max-height:none}.builder-meta-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.builder-topbar{top:72px;height:auto;min-height:70px;padding:10px 15px}.builder-topbar>div:first-child span,.builder-topbar>div:first-child strong,#builder-save-state{display:none}.builder-workspace{grid-template-columns:1fr;padding:10px}.builder-palette{position:static;max-height:none}.palette-grid{grid-template-columns:repeat(4,1fr)}.builder-meta-grid{grid-template-columns:1fr 1fr;padding:5px 16px 18px}.builder-block{grid-template-columns:24px 40px 1fr}.builder-block-actions{grid-column:3}.builder-meta-grid .builder-wide{grid-column:1/-1}}

/* Visual Builder v0.4 */
body:has(.visual-builder){overflow:hidden}.visual-builder{height:calc(100vh - 88px);background:#dfe5ec;color:#14213a}.visual-builder form{height:100%;display:flex;flex-direction:column}.vb-topbar{height:68px;flex:0 0 68px;background:#101a2d;color:#fff;display:grid;grid-template-columns:minmax(260px,1fr) auto auto minmax(380px,1fr);align-items:center;gap:18px;padding:0 18px;border-bottom:1px solid #29354a;z-index:30}.vb-brand,.vb-brand>div,.vb-actions,.vb-devices,.vb-history{display:flex;align-items:center}.vb-brand{gap:12px}.vb-brand>a{font-size:24px;color:#9ecdfb}.vb-brand>div{align-items:flex-start;flex-direction:column;gap:1px}.vb-brand small{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#91a0b6}.vb-brand strong{font-size:14px}.vb-brand strong span{font-size:9px;background:#30445f;border-radius:20px;padding:4px 7px;margin-left:8px;color:#bcd7f3}.vb-history,.vb-devices{gap:3px;border:1px solid #344158;border-radius:9px;padding:3px}.vb-history button,.vb-devices button{border:0;background:transparent;color:#b8c3d4;width:34px;height:30px;border-radius:6px}.vb-history button:disabled{opacity:.3}.vb-devices button.active,.vb-devices button:hover,.vb-history button:hover:not(:disabled){background:#344158;color:#fff}.vb-actions{justify-content:flex-end;gap:9px}.vb-actions .button{padding:9px 13px;min-height:38px}.vb-actions #builder-save-state{font-size:11px;color:#aeb9c9}.vb-page-settings{position:absolute;top:156px;left:0;right:0;background:#fff;z-index:25;box-shadow:0 18px 35px rgba(10,25,47,.2);border-bottom:1px solid #cfd6df}.vb-workspace{flex:1;min-height:0;display:grid;grid-template-columns:260px minmax(500px,1fr) 340px}.vb-leftbar,.vb-inspector{background:#fff;overflow-y:auto;min-height:0;z-index:10}.vb-leftbar{border-right:1px solid #cfd6df;padding-bottom:30px}.vb-inspector{border-left:1px solid #cfd6df}.vb-side-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #dbe0e7}.vb-side-tabs button{border:0;background:#f7f9fb;padding:14px 5px;font-weight:800;color:#647187}.vb-side-tabs button.active{background:#fff;color:var(--blue);border-bottom:3px solid var(--blue)}.vb-search{margin:14px;display:flex;align-items:center;gap:7px;border:1px solid #d3dae4;border-radius:9px;padding:9px}.vb-search input{border:0;outline:0;min-width:0;width:100%}.vb-categories>section{padding:4px 14px 15px}.vb-categories h3{font-size:10px;text-transform:uppercase;letter-spacing:.9px;color:#758197;margin:8px 0}.vb-categories .palette-grid{grid-template-columns:1fr 1fr}.vb-categories .palette-grid>button{min-height:61px}.section-layout-picker{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.section-layout-picker button{height:43px;background:#f5f8fc;border:1px solid #d5dde7;border-radius:7px;color:var(--blue);font-size:16px}.vb-leftbar .variable-panel,.vb-leftbar .version-panel{margin-inline:14px}.vb-layers{padding:12px}.layer-section{border-left:2px solid #dce3ec;margin-bottom:12px;padding-left:8px}.vb-layers button{border:0;background:none;width:100%;display:flex;align-items:center;gap:7px;padding:7px;border-radius:6px;text-align:left;font-size:11px}.vb-layers button.active{background:#e7f3ff;color:#0675df}.vb-layers button span{width:18px;text-align:center}.vb-layers button small{margin-left:auto}.layer-column{padding-left:13px}.layer-column>small{font-size:8px;color:#8792a4;text-transform:uppercase}.vb-stage{min-width:0;overflow:auto;padding:28px;background-color:#dfe5ec;background-image:linear-gradient(45deg,#d7dde5 25%,transparent 25%),linear-gradient(-45deg,#d7dde5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d7dde5 75%),linear-gradient(-45deg,transparent 75%,#d7dde5 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.vb-viewport{margin:0 auto;transition:max-width .25s}.viewport-desktop{max-width:1380px}.viewport-tablet{max-width:820px}.viewport-mobile{max-width:390px}.vb-canvas-page{min-height:calc(100vh - 130px);background:#fff;box-shadow:0 7px 35px rgba(18,34,56,.2);border-radius:4px;overflow:visible}.vb-add-section{display:block;width:calc(100% - 40px);margin:20px;border:1px dashed #7baee0;border-radius:9px;padding:12px;background:#eef7ff;color:#0878e4;font-weight:800}.vb-section{position:relative;border:2px solid transparent;min-height:90px}.vb-section:hover{border-color:#9fcdf7}.vb-section.selected{border-color:#087dec}.vb-section-bar{position:absolute;left:-2px;right:-2px;top:-27px;height:27px;background:#087dec;color:#fff;display:none;align-items:center;justify-content:space-between;padding:0 4px;z-index:7;font-size:9px;font-weight:800}.vb-section:hover>.vb-section-bar,.vb-section.selected>.vb-section-bar{display:flex}.vb-section-bar button{border:0;background:transparent;color:white;height:24px;min-width:25px}.vb-section-grid{display:grid;grid-template-columns:1fr;align-items:start;gap:var(--vb-gap,18px)}.vb-section.section-layout-2 .vb-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vb-section.section-layout-2-left .vb-section-grid{grid-template-columns:minmax(160px,.65fr) minmax(0,1.35fr)}.vb-section.section-layout-2-right .vb-section-grid{grid-template-columns:minmax(0,1.35fr) minmax(160px,.65fr)}.vb-section.section-layout-3 .vb-section-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vb-section.section-padding-none{padding:0}.vb-section.section-padding-small{padding:16px}.vb-section.section-padding-medium{padding:34px}.vb-section.section-padding-large{padding:60px}.vb-section.section-bg-white{background:#fff}.vb-section.section-bg-soft{background:#f4f7fb}.vb-section.section-bg-blue{background:#e6f2ff}.vb-section.section-bg-dark{background:#101d35;color:#fff}.vb-section.section-bg-lime{background:var(--lime)}.vb-column{min-width:0;min-height:70px;border:1px dashed transparent;border-radius:7px;position:relative}.vb-column:hover{border-color:#aebed0}.vb-column-add{display:none;position:absolute;bottom:-13px;left:50%;transform:translateX(-50%);z-index:6;white-space:nowrap;border:1px solid #79afe4;border-radius:20px;padding:4px 10px;background:#fff;color:#0878e4;font-size:10px}.vb-column:hover>.vb-column-add{display:block}.vb-block{position:relative;border:2px solid transparent;margin:2px;min-width:0}.vb-block:hover{border-color:#8bc1f2}.vb-block.selected{border-color:#087dec}.vb-block-label{position:absolute;left:-2px;right:-2px;top:-25px;height:25px;background:#087dec;color:white;display:none;align-items:center;justify-content:space-between;padding-left:7px;font-size:9px;font-weight:800;z-index:8}.vb-block:hover>.vb-block-label,.vb-block.selected>.vb-block-label{display:flex}.vb-block-label button{border:0;background:transparent;color:#fff;width:25px;height:25px}.vb-block>.block-inner{padding:18px}.vb-inline{outline:0;border-radius:4px;min-height:1em}.vb-inline:hover{box-shadow:0 0 0 1px #78baf5}.vb-inline:focus{box-shadow:0 0 0 2px #087dec;background:rgba(255,255,255,.16)}.vb-preview-hero{padding:clamp(35px,6vw,78px);border-radius:20px}.vb-preview-hero.background-soft{background:#f4f7fb}.vb-preview-hero.background-blue{background:#e6f2ff}.vb-preview-hero.background-dark{background:#101d35;color:#fff}.vb-preview-hero.background-lime{background:var(--lime)}.vb-preview-hero h1{font:700 clamp(36px,6vw,72px)/1.02 "Libre Franklin";letter-spacing:-3px;margin:0}.vb-preview-hero.align-center{text-align:center}.vb-preview-hero .block-lead{max-width:730px}.vb-preview-callout{padding:22px;border:1px solid #bfdcf6;border-radius:14px;background:#eef7ff}.vb-preview-callout p{margin:7px 0 0}.vb-preview-callout.tone-lime{background:#f3fad6}.vb-preview-callout.tone-coral{background:#fff0ec}.vb-preview-quote{margin:0;padding:30px;border-left:5px solid var(--blue);background:#f4f8fd}.vb-preview-quote p{font:600 27px/1.35 "Libre Franklin";margin:0}.vb-preview-image{margin:0}.vb-preview-image img{width:100%;max-height:500px;object-fit:cover;border-radius:14px}.vb-placeholder{min-height:180px;border:2px dashed #b8c6d5;border-radius:14px;background:#f6f8fa;display:grid;place-items:center;align-content:center;gap:6px;color:#637188;text-align:center;padding:20px}.vb-placeholder>span{font-size:32px;color:#1681e8}.vb-placeholder small{max-width:350px}.vb-preview-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.vb-preview-gallery img,.vb-preview-gallery span{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.vb-preview-gallery span{display:grid;place-items:center;border:1px dashed #aebccc;background:#f4f6f8}.vb-preview-file{display:flex;gap:12px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:13px}.vb-preview-file>span{background:#e7f3ff;color:var(--blue);padding:14px;border-radius:9px}.vb-preview-file>div{display:grid;flex:1}.vb-preview-tabs{display:flex;border-bottom:1px solid var(--line)}.vb-preview-tabs button{border:0;background:none;padding:10px}.vb-preview-tabs button.active{color:var(--blue);border-bottom:3px solid var(--blue)}.vb-preview-spacer{position:relative;background:repeating-linear-gradient(45deg,#f2f5f8,#f2f5f8 8px,#e6ebf0 8px,#e6ebf0 16px);display:grid;place-items:center;color:#748196;font-size:10px}.vb-preview-spacer.spacer-small{height:20px}.vb-preview-spacer.spacer-medium{height:55px}.vb-preview-spacer.spacer-large{height:110px}.vb-block .dynamic-card-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.rich-toolbar{position:sticky;top:0;margin:0 auto 10px;width:max-content;max-width:100%;z-index:25;background:#111d31;border-radius:9px;padding:5px;box-shadow:0 5px 20px rgba(9,22,42,.28);color:white}.rich-toolbar button,.rich-toolbar select{height:32px;border:0;border-right:1px solid #405069;background:#111d31;color:white;padding:0 8px;font-size:11px}.rich-toolbar button:hover{background:#2e405d}.builder-empty{text-align:center;padding:120px 20px}.vb-inspector .inspector-head{position:sticky;top:0;background:#fff;z-index:3}.inspector-group{border-bottom:1px solid var(--line);padding-bottom:12px}.inspector-group>summary{cursor:pointer;font-weight:800;color:#29374e;margin-bottom:13px}.inspector-color-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.inspector-color-row input[type=color]{height:42px;padding:4px}.permission-field[hidden]{display:none}.vb-inspector .inspector-fields{padding:14px}.vb-inspector .inspector-empty{padding-top:120px}
@media(max-width:1250px){.vb-workspace{grid-template-columns:220px minmax(440px,1fr) 300px}.vb-topbar{grid-template-columns:minmax(220px,1fr) auto auto minmax(320px,1fr)}.vb-settings-toggle,#builder-save-state{display:none}}@media(max-width:950px){body:has(.visual-builder){overflow:auto}.visual-builder{height:auto;min-height:calc(100vh - 72px)}.vb-topbar{position:sticky;top:72px;height:auto;min-height:64px;grid-template-columns:1fr auto auto;padding:8px}.vb-history{display:none}.vb-actions .button-outline{display:none}.vb-workspace{grid-template-columns:1fr}.vb-leftbar,.vb-inspector{max-height:none;border:0}.vb-leftbar{order:2}.vb-stage{order:1;padding:12px;min-height:70vh}.vb-inspector{order:3}.vb-section.section-layout-2 .vb-section-grid,.vb-section.section-layout-2-left .vb-section-grid,.vb-section.section-layout-2-right .vb-section-grid,.vb-section.section-layout-3 .vb-section-grid{grid-template-columns:1fr}.vb-page-settings{position:fixed;top:136px;max-height:70vh;overflow:auto}.vb-brand small,.vb-brand strong span{display:none}}@media(max-width:600px){.vb-devices{display:none}.vb-topbar{grid-template-columns:1fr auto}.vb-actions>a{display:none}.vb-actions .button{padding:8px 10px}.vb-stage{padding:5px}.vb-section.section-padding-medium,.vb-section.section-padding-large{padding:20px 8px}.rich-toolbar{width:100%;overflow-x:auto;white-space:nowrap;border-radius:0}.vb-preview-hero h1{font-size:38px}.builder-meta-grid{grid-template-columns:1fr}}
.vb-preview-hero.background-cream{background:#fdfaf3;border:1px solid #ebe4d9}.vb-section.section-gap-small{--vb-gap:10px}.vb-section.section-gap-medium{--vb-gap:22px}.vb-section.section-gap-large{--vb-gap:42px}.vb-section.align-center>.vb-section-grid{align-items:center}.vb-section.align-end>.vb-section-grid{align-items:end}.vb-section.align-stretch>.vb-section-grid{align-items:stretch}.vb-section.align-stretch .vb-column{display:flex}.vb-section.align-stretch .vb-column>.vb-block{width:100%}.vb-section .progress-builder-card{box-sizing:border-box}
.dashboard-widget-editor{margin:18px -2px 0}.dashboard-widget-editor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dashboard-widget-editor-head button{border:1px solid #9bc7ee;background:#edf7ff;color:#0878e4;border-radius:8px;padding:7px 9px;font-weight:800}.inspector-help{font-size:11px;color:#68768a;line-height:1.45}.inspector-help code{font-size:10px;background:#eef1f5;padding:2px 4px;border-radius:4px}.dashboard-widget-row{border:1px solid #dce2e9;border-radius:9px;margin:8px 0;background:#fbfcfd}.dashboard-widget-row>summary{cursor:pointer;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:7px;padding:10px;font-size:12px;font-weight:800}.dashboard-widget-row>summary span{width:24px;height:24px;border-radius:6px;background:#eaf4ff;display:grid;place-items:center}.dashboard-widget-row>summary small{color:#8190a5;font-size:9px}.dashboard-widget-fields{padding:0 10px 10px}.dashboard-widget-fields label{font-size:10px}.dashboard-widget-fields input,.dashboard-widget-fields select,.dashboard-widget-fields textarea{margin-top:4px}.widget-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px}.widget-row-actions{display:flex;gap:5px;margin-top:9px}.widget-row-actions button{border:1px solid #d3dce6;background:white;border-radius:6px;padding:6px 9px;color:#3e4c61}.widget-row-actions button:last-child{margin-left:auto;color:#a63b3b}
.variable-token-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:12px}.variable-token-grid button{border:1px solid #d2dce7;background:#f5f9fd;border-radius:6px;padding:7px 5px;color:#26689f;font-size:9px;text-align:left}

.vb-actions .button-outline{color:#14213a}.vb-devices select{height:30px;border:0;background:#25354f;color:#fff;border-radius:6px;padding:0 5px;font-size:10px}.vb-viewport{max-width:none;transition:width .25s}.vb-viewport.viewport-desktop{width:1180px}.vb-viewport.viewport-tablet{width:768px}.vb-viewport.viewport-mobile{width:390px}.vb-side-tabs{grid-template-columns:repeat(3,1fr)}.pattern-grid{display:grid;gap:7px}.pattern-grid button{display:grid;grid-template-columns:32px 1fr;column-gap:8px;text-align:left;padding:9px;border:1px solid #dce2ea;background:#f8fafc;border-radius:9px}.pattern-grid button>span{grid-row:1/3;width:32px;height:32px;border-radius:7px;background:#e7f3ff;color:var(--blue);display:grid;place-items:center}.pattern-grid strong{font-size:11px}.pattern-grid small{font-size:9px;color:var(--muted)}.vb-audit{padding:15px}.vb-audit header{display:flex;gap:10px;align-items:center;margin-bottom:18px}.vb-audit header div{display:grid}.vb-audit header small{font-size:9px;color:var(--muted)}.audit-score{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800}.audit-score.ok{background:#daf5e4;color:#16703a}.audit-score.has-issues{background:#fff1d7;color:#9b5b00}.vb-audit>button{width:100%;display:flex;gap:9px;text-align:left;border:0;border-left:3px solid;padding:10px;margin-bottom:7px;border-radius:4px;background:#f7f8fa;font-size:10px}.vb-audit>button span{font-weight:800}.vb-audit .audit-error{border-color:#d54d3e}.vb-audit .audit-warning{border-color:#e3a626}.vb-audit>p,.vb-audit details{font-size:10px;color:var(--muted)}

/* Mobile administration and visual builder polish v0.8.1 */
@media(max-width:700px){
.control-grid>a{min-height:0;padding:18px}.control-grid>a>span{width:44px;height:44px}.control-grid h2{font-size:19px}.control-grid p{margin-bottom:10px}.audit-list>div{padding:14px 16px;overflow-wrap:anywhere}
.module-row{padding:14px;gap:10px}.module-row .button{min-height:44px}.nav-admin-row{grid-template-columns:1fr}.nav-admin-row label:nth-of-type(5),.nav-admin-row .mini-check,.nav-admin-row button{grid-column:1}.permission-grid{gap:7px}.permission-grid label{min-height:44px}.role-card,.user-card{overflow:hidden}
.builder-topbar{position:static;gap:8px}.builder-topbar>div:last-child{margin-left:auto}.builder-topbar .button{min-height:44px}.builder-settings>summary{padding-inline:16px}.builder-workspace{padding:8px}.builder-palette{padding:14px}.palette-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.palette-grid button{min-height:72px}.builder-stage{padding:10px;min-height:420px}.builder-stage-heading{align-items:flex-start;gap:5px;flex-direction:column}.builder-block{grid-template-columns:22px 38px minmax(0,1fr);gap:7px}.builder-block-icon{width:38px;height:38px}.builder-block-actions{display:grid;grid-template-columns:repeat(4,40px);gap:4px}.builder-block-actions button{width:40px;height:40px}.builder-inspector{overflow:visible}.inspector-fields input,.inspector-fields textarea,.inspector-fields select{min-height:44px}
body:has(.visual-builder){overflow:auto}.visual-builder{min-height:calc(100vh - 72px)}.vb-topbar{position:static;min-height:58px}.vb-brand>a{font-size:20px}.vb-actions .button{min-height:42px}.vb-workspace{display:flex;flex-direction:column}.vb-stage{order:1;min-height:440px;overflow:auto}.vb-viewport{min-width:0}.vb-canvas-page{min-height:420px}.vb-leftbar{order:2}.vb-inspector{order:3}.vb-categories .palette-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vb-categories .palette-grid>button{min-height:68px}.vb-section.section-padding-small,.vb-section.section-padding-medium,.vb-section.section-padding-large{padding-inline:8px}.vb-section-bar,.vb-block-label{display:flex}.vb-column-add{display:block;position:static;transform:none;margin:8px auto}.vb-inspector .inspector-fields input,.vb-inspector .inspector-fields textarea,.vb-inspector .inspector-fields select{min-height:44px}.rich-toolbar button,.rich-toolbar select{min-height:40px}.vb-page-settings{top:72px;left:6px;right:6px}
}
@media(max-width:420px){.control-grid>a{display:grid;grid-template-columns:44px 1fr}.reset-grid article{padding:16px}.vb-topbar{grid-template-columns:1fr auto}.vb-brand>div{display:none}.vb-stage{padding:4px}.vb-preview-gallery{grid-template-columns:1fr 1fr}.builder-meta-grid{grid-template-columns:1fr}.builder-meta-grid .builder-wide{grid-column:1}}

/* Professional docked website studio v0.21.2 */
body:has(.visual-builder) > .site-header,
body:has(.visual-builder) > .site-footer {
  display: none;
}
body:has(.visual-builder) > main {
  min-height: 100dvh;
}
.visual-builder {
  --vb-studio-bg: #15181d;
  --vb-studio-panel: #22262d;
  --vb-studio-panel-2: #292e36;
  --vb-studio-line: #3a414b;
  --vb-studio-text: #e7ebf0;
  --vb-studio-muted: #929ba8;
  --vb-studio-accent: #4da3ff;
  height: 100dvh;
  padding-bottom: 24px;
  background: var(--vb-studio-bg);
  color: var(--vb-studio-text);
}
.visual-builder .studio-product-mark {
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 6px;
  background: linear-gradient(145deg,#d7ff00,#a8cf00);
  color: #10151b;
  font: 900 15px/1 "Libre Franklin";
}
.visual-builder .vb-topbar {
  height: 62px;
  flex-basis: 62px;
  border-color: var(--vb-studio-line);
  background: #111419;
  box-shadow: 0 3px 14px rgba(0,0,0,.3);
}
.visual-builder .vb-brand small {
  color: var(--vb-studio-muted);
}
.visual-builder .vb-brand > a {
  color: #aab4c0;
}
.visual-builder .vb-history,
.visual-builder .vb-devices {
  border-color: #454d58;
  border-radius: 4px;
  background: #1b1f25;
}
.visual-builder .vb-history button,
.visual-builder .vb-devices button {
  border-radius: 3px;
}
.visual-builder .vb-devices button.active,
.visual-builder .vb-devices button:hover,
.visual-builder .vb-history button:hover:not(:disabled) {
  background: #3a424d;
}
.visual-builder .vb-actions .button-outline {
  border-color: #505966;
  background: #252a31;
  color: #eef2f6;
}
.visual-builder .vb-workspace {
  grid-template-columns: 238px minmax(500px,1fr) 315px;
  gap: 1px;
  background: var(--vb-studio-line);
}
.visual-builder .vb-leftbar,
.visual-builder .vb-inspector {
  border-color: var(--vb-studio-line);
  background: var(--vb-studio-panel);
  color: var(--vb-studio-text);
}
.vb-dock-heading {
  display: flex;
  min-height: 47px;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  border-bottom: 1px solid var(--vb-studio-line);
  background: #252a31;
}
.vb-dock-heading > span {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 4px;
  background: #343b45;
  color: var(--vb-studio-accent);
}
.vb-dock-heading div {
  display: grid;
}
.vb-dock-heading small,
.vb-stage::before,
.vb-inspector::before {
  color: var(--vb-studio-muted);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .1em;
}
.vb-dock-heading strong {
  font-size: 11px;
}
.visual-builder .vb-side-tabs {
  border-color: var(--vb-studio-line);
}
.visual-builder .vb-side-tabs button {
  min-height: 39px;
  border-color: var(--vb-studio-line);
  background: #1c2026;
  color: #aeb7c2;
  font-size: 10px;
}
.visual-builder .vb-side-tabs button.active {
  border-color: var(--vb-studio-accent);
  background: #292e36;
  color: #fff;
}
.visual-builder .vb-search {
  border-color: #49515d;
  border-radius: 4px;
  background: #171a1f;
  color: #aeb8c4;
}
.visual-builder .vb-search input {
  background: transparent;
  color: #eef2f6;
}
.visual-builder .vb-categories h3 {
  color: #8f99a6;
}
.visual-builder .pattern-grid button,
.visual-builder .vb-categories .palette-grid > button,
.visual-builder .section-layout-picker button,
.visual-builder .variable-token-grid button {
  border-color: #414954;
  border-radius: 3px;
  background: #292f37;
  color: #dce2e9;
}
.visual-builder .pattern-grid button:hover,
.visual-builder .vb-categories .palette-grid > button:hover,
.visual-builder .section-layout-picker button:hover {
  border-color: var(--vb-studio-accent);
  background: #323a45;
}
.visual-builder .pattern-grid button > span {
  background: #173b60;
  color: #77baff;
}
.visual-builder .pattern-grid small,
.visual-builder .variable-panel p,
.visual-builder .variable-panel small,
.visual-builder .version-panel small {
  color: var(--vb-studio-muted);
}
.visual-builder .variable-panel,
.visual-builder .version-panel {
  border-color: var(--vb-studio-line);
}
.visual-builder .variable-panel textarea {
  border-color: #4a525e;
  background: #171a1f;
  color: #eef2f6;
}
.visual-builder .vb-stage {
  position: relative;
  padding: 50px 20px 28px;
  background-color: #111419;
  background-image: linear-gradient(45deg,#181c21 25%,transparent 25%),linear-gradient(-45deg,#181c21 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#181c21 75%),linear-gradient(-45deg,transparent 75%,#181c21 75%);
  background-position: 0 0,0 8px,8px -8px,-8px 0;
  background-size: 16px 16px;
}
.visual-builder .vb-stage::before {
  content: "▦  VIEWPORT  ·  LIVE-SEITE";
  position: absolute;
  z-index: 8;
  top: 0;
  right: 0;
  left: 0;
  min-height: 35px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--vb-studio-line);
  background: #20242b;
}
.visual-builder .vb-canvas-page {
  border-radius: 2px;
  color: #14213a;
  box-shadow: 0 0 0 1px #4b535e,0 18px 40px rgba(0,0,0,.38);
}
.visual-builder .vb-inspector::before {
  content: "☷  INSPECTOR  ·  EIGENSCHAFTEN";
  position: sticky;
  z-index: 9;
  top: 0;
  display: block;
  min-height: 35px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--vb-studio-line);
  background: #252a31;
}
.visual-builder .vb-inspector .inspector-head {
  top: 35px;
  border-color: var(--vb-studio-line);
  background: #22262d;
}
.visual-builder .vb-inspector .inspector-head h2,
.visual-builder .vb-inspector .inspector-empty h2,
.visual-builder .inspector-group > summary {
  color: #eef2f6;
}
.visual-builder .vb-inspector .inspector-fields label {
  color: #b8c1cc;
}
.visual-builder .vb-inspector .inspector-fields input,
.visual-builder .vb-inspector .inspector-fields textarea,
.visual-builder .vb-inspector .inspector-fields select {
  border-color: #4a525e;
  border-radius: 3px;
  background: #171a1f;
  color: #eef2f6;
}
.visual-builder .inspector-group {
  border-color: var(--vb-studio-line);
}
.vb-statusbar {
  position: fixed;
  z-index: 50;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  min-height: 24px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 4px 12px;
  border-top: 1px solid var(--vb-studio-line);
  background: #111419;
  color: #8f99a6;
  font-size: 9px;
  font-weight: 700;
}
@media(max-width:1250px) {
  .visual-builder .vb-workspace {
    grid-template-columns: 210px minmax(440px,1fr) 285px;
  }
}
@media(max-width:1400px) {
  .visual-builder #builder-save-state {
    display: none;
  }
}
@media(max-width:950px) {
  .visual-builder {
    height: auto;
    min-height: 100dvh;
  }
  .visual-builder .vb-topbar {
    top: 0;
  }
  .visual-builder .vb-workspace {
    display: flex;
    flex-direction: column;
  }
  .visual-builder .vb-stage {
    order: 1;
  }
  .visual-builder .vb-leftbar {
    order: 2;
  }
  .visual-builder .vb-inspector {
    order: 3;
  }
}
@media(max-width:600px) {
  .visual-builder .studio-product-mark,
  .vb-statusbar span:nth-child(2) {
    display: none;
  }
  .visual-builder .vb-stage {
    padding: 42px 5px 8px;
  }
  .vb-statusbar {
    justify-content: flex-start;
    overflow-x: auto;
    white-space: nowrap;
  }
}

/* Device-preview parity v0.8.2
   The visual builder canvas is narrower than the browser window. These
   device classes mirror the public page breakpoints inside that canvas. */
.vb-block:not(.page-block-hero)>.block-inner{padding:20px}
.vb-block.page-block-hero>.block-inner{padding:clamp(45px,7vw,95px)}
.vb-block.page-block-hero>.block-inner.hero-with-media{padding:clamp(34px,4vw,62px)}
.vb-column>.vb-block{margin:0 0 18px}
.vb-column>.vb-block:last-of-type{margin-bottom:0}
.viewport-tablet .vb-section.section-layout-2 .vb-section-grid,
.viewport-tablet .vb-section.section-layout-2-left .vb-section-grid,
.viewport-tablet .vb-section.section-layout-2-right .vb-section-grid,
.viewport-tablet .vb-section.section-layout-3 .vb-section-grid,
.viewport-mobile .vb-section.section-layout-2 .vb-section-grid,
.viewport-mobile .vb-section.section-layout-2-left .vb-section-grid,
.viewport-mobile .vb-section.section-layout-2-right .vb-section-grid,
.viewport-mobile .vb-section.section-layout-3 .vb-section-grid{grid-template-columns:1fr}
.viewport-tablet .vb-section.section-padding-small{padding:18px 23px}
.viewport-tablet .vb-section.section-padding-medium{padding:38px 31px}
.viewport-tablet .vb-section.section-padding-large{padding:48px 38px}
.viewport-tablet .vb-preview-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.viewport-tablet .newsletter-card{align-items:stretch;flex-direction:column}
.viewport-tablet .builder-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
.viewport-tablet .dynamic-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.viewport-tablet .builder-carousel{grid-auto-columns:70%}
.viewport-tablet .quiz-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.viewport-tablet .page-block-hero .hero-with-media,
.viewport-mobile .page-block-hero .hero-with-media{grid-template-columns:1fr;min-height:0}
.viewport-tablet .hero-builder-media{min-height:280px}
.viewport-tablet .hero-with-media.media-left .hero-builder-copy,
.viewport-tablet .hero-with-media.media-left .hero-builder-media,
.viewport-mobile .hero-with-media.media-left .hero-builder-copy,
.viewport-mobile .hero-with-media.media-left .hero-builder-media{order:initial}
.viewport-mobile .vb-section.section-padding-small{padding:18px 14px}
.viewport-mobile .vb-section.section-padding-medium{padding:38px 12px}
.viewport-mobile .vb-section.section-padding-large{padding:48px 12px}
.viewport-mobile .vb-block>.block-inner{padding:15px}
.viewport-mobile .page-block-hero>.block-inner{padding:34px 23px}
.viewport-mobile .page-block-hero .hero-with-media h1{font-size:38px;letter-spacing:-2px}
.viewport-mobile .hero-builder-media{min-height:220px}
.viewport-mobile .builder-link-grid,
.viewport-mobile .builder-columns,
.viewport-mobile .dynamic-card-grid,
.viewport-mobile .quiz-showcase-grid,
.viewport-mobile .dashboard-widgets{grid-template-columns:1fr}
.viewport-mobile .builder-carousel{grid-auto-columns:88%}
.viewport-mobile .quiz-showcase-grid{gap:15px}
.viewport-mobile .quiz-card-media{height:175px}
.viewport-mobile .vb-preview-gallery{grid-template-columns:1fr}
.viewport-mobile .newsletter-card{align-items:stretch;flex-direction:column}
.viewport-mobile .newsletter-card>div:last-child,
.viewport-mobile .newsletter-card form,
.viewport-mobile .builder-search{flex-direction:column}
.viewport-mobile .vb-preview-file{align-items:flex-start;flex-wrap:wrap}
.viewport-mobile .vb-preview-file .button{width:100%}
.viewport-mobile .builder-timeline li{grid-template-columns:1fr;gap:5px;padding-left:25px}
.viewport-mobile .builder-timeline time{text-align:left}
.viewport-mobile .builder-timeline li:before{left:5px}
.viewport-mobile .builder-timeline li:after{left:-1px}
.viewport-mobile .dashboard-widget.span-2,
.viewport-mobile .dashboard-widget.span-3,
.viewport-mobile .dashboard-widget.span-full{grid-column:1}
.viewport-mobile .widget-metric+.widget-metric{border-left:0}
.viewport-mobile .dashboard-heading,
.viewport-mobile .dashboard-widget{padding-left:20px;padding-right:20px}
.viewport-mobile .progress-card-heading,
.viewport-mobile .streak-summary,
.viewport-mobile .progress-week,
.viewport-mobile .progress-card-stats,
.viewport-mobile .progress-card-link{padding-left:20px;padding-right:20px}

/* Independent layout controls v0.9.0 */
.vb-devices button{width:auto;min-width:34px;padding:0 9px;gap:5px;display:flex;align-items:center;justify-content:center}.vb-devices button span{font-size:10px;font-weight:800}
.vb-mobile-layout-banner{width:min(760px,calc(100% - 24px));margin:0 auto 14px;background:#fff;border:1px solid #b8d7f4;border-radius:12px;padding:11px 14px;display:flex;align-items:center;gap:14px;box-shadow:0 4px 15px rgba(7,20,38,.1)}.vb-mobile-layout-banner[hidden]{display:none}.vb-mobile-layout-banner>div:first-child{display:grid;gap:2px;flex:1}.vb-mobile-layout-banner strong{font-size:12px}.vb-mobile-layout-banner span{font-size:10px;color:var(--muted)}.vb-mobile-layout-banner>div:last-of-type{display:flex;gap:7px}.vb-mobile-layout-banner .button{min-height:36px;padding:7px 10px;font-size:10px}
.viewport-mobile .page-block-app_header>.block-inner,.viewport-mobile .page-block-app_navigation>.block-inner{padding:14px 16px}.viewport-mobile .app-ui-header.is-sticky{position:sticky;top:0}.viewport-mobile .app-ui-navigation-bottom{position:sticky;bottom:0;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));padding:9px 10px!important;border-top:1px solid var(--line);box-shadow:0 -8px 28px rgba(7,20,38,.09)}
.viewport-mobile .quiz-showcase-carousel{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory}.viewport-mobile .quiz-showcase-carousel>.quiz-showcase-card{scroll-snap-align:start}
@media(max-width:1100px){.vb-devices button span{display:none}}
@media(max-width:700px){.vb-mobile-layout-banner{align-items:stretch;flex-direction:column}.vb-mobile-layout-banner>div:last-of-type{display:grid;grid-template-columns:1fr}.vb-mobile-layout-banner .button{width:100%}}

/* App-style editor preview v0.9.2 */
.viewport-mobile .page-block-hero>.hero-with-media{padding:18px!important;border-radius:25px;box-shadow:0 14px 34px rgba(35,48,67,.09)}.viewport-mobile .page-block-hero .hero-builder-media{order:-1;min-height:160px;height:160px;margin:-8px -8px 14px}.viewport-mobile .page-block-hero .hero-with-media h1{font-size:32px;line-height:1}.viewport-mobile .page-block-hero .block-lead{font-size:14px;margin:12px 0 16px}.viewport-mobile .page-block-hero .hero-builder-cta{width:100%;justify-content:center}
.viewport-mobile .builder-dashboard{border-radius:24px}.viewport-mobile .dashboard-widgets{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:9px 12px 12px}.viewport-mobile .dashboard-widget{border:0!important;border-radius:16px;padding:13px!important;background:#f4f8fc}.viewport-mobile .dashboard-widget.tone-lime{background:#f3fad8}.viewport-mobile .widget-action{grid-column:1/-1!important;background:#071426!important}.viewport-mobile .widget-action a{color:#fff}.viewport-mobile .quiz-showcase-carousel{grid-auto-columns:86%}.viewport-mobile .quiz-showcase-card{border:0;border-radius:20px;box-shadow:0 10px 24px rgba(35,48,67,.08)}

/* Mobile preview spacing parity v0.9.3 */
.viewport-mobile .vb-column>.vb-block{margin-bottom:18px}
.viewport-mobile .app-ui-header{min-height:74px;padding:12px 16px!important;column-gap:14px}
.viewport-mobile .app-ui-header>a,.viewport-mobile .app-ui-header-spacer{width:42px;height:42px;font-size:19px;line-height:1}
.viewport-mobile .app-ui-header>div{display:grid;align-content:center;gap:3px}.viewport-mobile .app-ui-header small{line-height:1.2}.viewport-mobile .app-ui-header h1{font:700 20px/1.2 "DM Sans",system-ui,sans-serif;letter-spacing:-.35px;margin:0}
.viewport-mobile .page-block-hero .eyebrow{line-height:1.35;margin-bottom:9px}.viewport-mobile .page-block-hero .hero-with-media h1{font-size:32px;line-height:1.06;letter-spacing:-1.25px}.viewport-mobile .page-block-hero .block-lead{margin:14px 0 18px}.viewport-mobile .page-block-hero .hero-builder-cta{gap:9px;min-height:50px;padding-inline:12px;font-size:15px;line-height:1.2;white-space:nowrap}.viewport-mobile .page-block-hero .hero-builder-cta>span{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px;border-radius:50%;background:#071426;color:#fff;font-size:10px;line-height:1}
.viewport-mobile .dashboard-heading{min-height:76px;padding:20px 20px 14px;gap:16px}.viewport-mobile .dashboard-heading h2{font:700 20px/1.2 "DM Sans",system-ui,sans-serif;letter-spacing:-.35px}.viewport-mobile .dashboard-heading-icon{width:40px;height:40px;flex:0 0 40px;line-height:1}.viewport-mobile .dashboard-widgets{gap:11px;padding:10px 14px 14px}.viewport-mobile .widget-metric{display:flex;min-height:132px;flex-direction:column;align-items:flex-start;gap:10px;padding:14px!important;overflow:hidden}.viewport-mobile .widget-metric .dashboard-widget-icon{width:34px;height:34px;flex:0 0 34px;font-size:19px;line-height:1}.viewport-mobile .widget-metric .dashboard-widget-copy{width:100%;display:grid;gap:3px}.viewport-mobile .widget-metric .dashboard-widget-copy>strong{font-size:23px;line-height:1.08;white-space:nowrap}.viewport-mobile .widget-metric .dashboard-widget-copy>p{font-size:12px;line-height:1.3;margin-top:1px}.viewport-mobile .widget-action{min-height:62px;padding:0 14px!important}.viewport-mobile .widget-action a{min-height:62px;gap:14px;padding:10px 2px;line-height:1.3}.viewport-mobile .widget-action i{width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px;line-height:1}
.viewport-mobile .quiz-showcase-heading{align-items:flex-start;gap:12px;padding:7px 2px 4px}.viewport-mobile .quiz-showcase-heading h2{font-size:23px;line-height:1.15;margin:0}.viewport-mobile .quiz-showcase-heading>a{display:inline-flex;align-items:center;gap:6px;flex:none;padding-top:4px;font-size:12px;line-height:1.2;white-space:nowrap}.viewport-mobile .quiz-showcase-heading>a span{margin:0;font-size:18px;line-height:1}.viewport-mobile .quiz-showcase-carousel{padding-top:8px}
.viewport-mobile .app-ui-navigation-bottom{padding:8px!important}.viewport-mobile .app-ui-navigation-bottom a{min-height:58px;align-content:center;gap:5px;padding:5px 3px}.viewport-mobile .app-ui-navigation-bottom a>span{width:28px;height:28px;display:grid;place-items:center;font-size:19px;line-height:1;transform:none!important}.viewport-mobile .app-ui-navigation-bottom a>small{font-size:10px;line-height:1.2}

/* Native app preview parity v0.9.4 */
.viewport-mobile .app-ui-header{grid-template-columns:46px minmax(0,1fr) 46px;min-height:82px}.viewport-mobile .app-ui-header>a,.viewport-mobile .app-ui-header-spacer{width:46px;height:46px}.viewport-mobile .app-ui-header svg,.viewport-mobile .app-ui-navigation svg,.viewport-mobile .dashboard-heading-icon svg{width:1em;height:1em;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.viewport-mobile .app-ui-brand{display:inline-flex;align-items:baseline;justify-content:center;font:800 30px/1 "Libre Franklin",sans-serif;letter-spacing:-2.4px;color:#091630}.viewport-mobile .app-ui-brand strong{font:inherit}.viewport-mobile .app-ui-brand em{font:800 17px/1 "Libre Franklin",sans-serif;letter-spacing:-.8px;color:var(--blue);font-style:normal}.viewport-mobile .app-ui-page-label{display:block;margin-top:4px;color:#647187;font:700 10px/1.2 "DM Sans",sans-serif;letter-spacing:.9px;text-transform:uppercase}.viewport-mobile .app-ui-navigation-bottom{min-height:78px}.viewport-mobile .app-ui-navigation-bottom a{min-height:64px;gap:6px}.viewport-mobile .app-ui-navigation-bottom a>.app-nav-icon{width:34px;height:34px;font-size:28px;border-radius:12px}.viewport-mobile .app-ui-navigation-bottom a>.app-nav-icon svg{width:28px;height:28px}.viewport-mobile .app-ui-navigation-bottom a.active>.app-nav-icon{background:#dceeff}.viewport-mobile .app-ui-navigation-bottom a>small{font-size:11px;font-weight:800}
.viewport-mobile .app-ui-header.has-status-bubble{grid-template-columns:24px minmax(0,1fr) auto;gap:7px}.viewport-mobile .app-ui-header>.app-ui-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;text-align:right}.viewport-mobile .app-ui-header-actions>a.app-ui-profile-action{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;background:#071426;color:#fff;border-radius:50%}.viewport-mobile .app-ui-header-actions>a.app-ui-profile-action svg{width:24px;height:24px}.viewport-mobile .app-ui-header-actions>a.app-ui-status-bubble{width:auto;min-width:108px;height:44px;display:flex;align-items:center;justify-content:center;gap:0;padding:5px 8px;background:#071426;color:#fff;border-radius:999px;box-shadow:0 8px 22px rgba(7,20,38,.16)}.viewport-mobile .app-ui-status-bubble>span{display:inline-flex;align-items:center;gap:4px;padding:0 7px;font:800 13px/1 "DM Sans",sans-serif;white-space:nowrap}.viewport-mobile .app-ui-status-bubble>span+span{border-left:1px solid rgba(255,255,255,.22)}.viewport-mobile .app-ui-status-bubble svg{width:17px!important;height:17px!important;flex:0 0 17px}.viewport-mobile .app-status-points svg{color:#6fc2ff}.viewport-mobile .app-status-streak svg{color:#c7f500;fill:currentColor;stroke-width:1.4}
.viewport-mobile .dashboard-variant-profile .dashboard-heading{min-height:92px;padding:24px 22px 16px;background:linear-gradient(135deg,#fff,#edf7ff)}.viewport-mobile .dashboard-variant-profile .dashboard-heading h2{font-size:24px}.viewport-mobile .dashboard-variant-profile .dashboard-heading-icon{width:50px;height:50px;flex-basis:50px;background:#071426;color:#fff}.viewport-mobile .dashboard-variant-profile .dashboard-widgets{padding:6px 14px 16px}.viewport-mobile .dashboard-variant-profile .widget-text{grid-column:1/-1;display:block;min-height:0;padding:15px 14px!important;border:0;border-radius:17px;background:#f6f8fb;overflow:visible}.viewport-mobile .dashboard-variant-profile .widget-text .dashboard-widget-copy{display:grid;gap:4px;width:100%}.viewport-mobile .dashboard-variant-profile .widget-text .dashboard-widget-copy>strong{font:700 15px/1.35 "DM Sans",sans-serif;white-space:normal;overflow-wrap:anywhere}.viewport-mobile .dashboard-variant-profile .widget-metric{min-height:128px}
.viewport-mobile .dashboard-variant-progress .dashboard-widgets{display:grid;grid-template-columns:1fr;padding:4px 14px 16px;gap:12px}.viewport-mobile .dashboard-variant-progress .dashboard-widget{grid-column:1/-1!important;border:0;border-radius:17px;background:#f6f8fb;overflow:visible}.viewport-mobile .dashboard-variant-progress .widget-week{padding:16px!important;background:#f4fad9}.viewport-mobile .dashboard-variant-progress .dashboard-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.viewport-mobile .dashboard-variant-progress .dashboard-week i{width:30px;height:30px}.viewport-mobile .dashboard-variant-progress .widget-progress{padding:17px!important}.viewport-mobile .dashboard-variant-progress .widget-action{background:#071426;color:#fff}
.viewport-mobile .page-block-links>.block-inner{padding:5px 0}.viewport-mobile .page-block-links h2{font:700 22px/1.2 "DM Sans",sans-serif;margin:0 2px 13px}.viewport-mobile .page-block-links .builder-link-grid{grid-template-columns:1fr;gap:0;margin:0;border:1px solid #e1e7ee;border-radius:20px;background:#fff;overflow:hidden}.viewport-mobile .page-block-links .builder-link{min-height:68px;padding:14px 17px;border:0;border-bottom:1px solid #edf0f3;border-radius:0}.viewport-mobile .page-block-links .builder-link:last-child{border-bottom:0}
.vb-mobile-existing-actions{display:flex;gap:7px}.vb-mobile-existing-actions[hidden]{display:none}
@media(max-width:700px){.vb-mobile-existing-actions{display:grid;grid-template-columns:1fr}.vb-mobile-existing-actions .button{width:100%}}
.viewport-mobile .app-ui-header.has-status-bubble>.app-ui-header-title{text-align:left;justify-items:start}.viewport-mobile .app-ui-header.has-status-bubble .app-ui-brand{justify-content:flex-start}.viewport-mobile .app-ui-header.has-status-bubble .app-ui-page-label{width:100%;text-align:center}
.viewport-mobile .app-ui-header.has-status-bubble{position:relative;grid-template-columns:1fr auto;gap:8px}.viewport-mobile .app-ui-header.has-status-bubble>.app-ui-header-spacer{display:none}.viewport-mobile .app-ui-header.has-status-bubble>.app-ui-header-title{position:absolute;left:50%;width:auto;transform:translateX(-50%);text-align:center;justify-items:center}.viewport-mobile .app-ui-header.has-status-bubble .app-ui-brand{justify-content:center}.viewport-mobile .app-ui-header.has-status-bubble>.app-ui-header-actions{grid-column:2;justify-self:end}
.viewport-mobile .app-ui-header.app-ui-header-modular{min-height:var(--app-header-height,82px);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;padding:8px var(--app-header-padding,16px)!important;background:var(--app-header-bg,#fff);border-bottom:1px solid var(--app-header-border,#e1e7ee);position:relative}.viewport-mobile .app-ui-header-modular>.app-header-slot{display:flex;align-items:center;gap:8px;min-width:0;text-align:initial}.viewport-mobile .app-header-slot-left{justify-content:flex-start}.viewport-mobile .app-header-slot-center{justify-content:center}.viewport-mobile .app-header-slot-right{justify-content:flex-end}.viewport-mobile .app-header-element{min-width:0;height:var(--header-element-height,40px);display:inline-flex;align-items:center;justify-content:center;gap:var(--header-element-gap,4px);padding-inline:var(--header-element-padding,0);border-radius:var(--header-element-radius,0);background:var(--header-element-bg,transparent);color:var(--header-element-color,#091630);font:800 var(--header-element-font-size,14px)/1 "DM Sans",sans-serif;white-space:nowrap;box-sizing:border-box}.viewport-mobile .app-header-element-brand{display:grid;grid-template-columns:auto auto;align-content:center;column-gap:1px;background:transparent;letter-spacing:-1.7px}.viewport-mobile .app-header-element-brand>strong{font:800 var(--header-element-font-size,24px)/1 "Libre Franklin",sans-serif}.viewport-mobile .app-header-element-brand>em{align-self:end;color:var(--header-element-accent,#1786ed);font:800 calc(var(--header-element-font-size,24px)*.56)/1 "Libre Franklin",sans-serif;font-style:normal}.viewport-mobile .app-header-element-brand>small{grid-column:1/-1;margin-top:3px;font:700 9px/1.1 "DM Sans",sans-serif;letter-spacing:.8px;text-align:center;text-transform:uppercase;opacity:.62}.viewport-mobile .app-header-element-icon{width:var(--header-element-height,40px);padding:0}.viewport-mobile .app-header-element-icon svg,.viewport-mobile .app-header-status-item svg{width:1em;height:1em;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.viewport-mobile .app-header-element-status{font-variant-numeric:tabular-nums;box-shadow:0 7px 20px rgba(7,20,38,.14)}.viewport-mobile .app-header-status-item{display:inline-flex;align-items:center;gap:2px;padding-inline:2px}.viewport-mobile .app-header-status-item+.app-header-status-item{border-left:1px solid rgba(255,255,255,.22);padding-left:5px}.viewport-mobile .app-header-status-item i{display:grid;place-items:center;color:var(--header-item-color,var(--header-element-accent,#1786ed));font-size:calc(var(--header-element-font-size,11px)*1.15);font-style:normal}.viewport-mobile .app-header-status-item strong{font:800 inherit/1 "DM Sans",sans-serif}
.viewport-mobile .app-header-status-item strong{font:inherit;font-weight:800}
