:root{--ln-gold: #E7C182;--ln-purple: #762E7A;--ln-black: #000000;--ln-white: #FFFFFF;--color-bg: #f8f5f8;--color-surface: #ffffff;--color-surface-soft: #fbf8fb;--color-border: #e6dce6;--color-text: #181018;--color-muted: #6e6170;--color-primary: var(--ln-purple);--color-primary-strong: #4b1b4e;--color-primary-soft: #f5e8f6;--color-accent: var(--ln-gold);--color-danger: #b4233d;--color-success: #147a4b;--shadow-soft: 0 18px 40px rgba(24, 16, 24, .08);--radius-control: 8px;--radius-card: 8px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem}:root{color-scheme:light;font-family:Aptos,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: var(--color-bg);--surface: var(--color-surface);--surface-soft: var(--color-surface-soft);--border: var(--color-border);--text: var(--color-text);--muted: var(--color-muted);--primary: var(--color-primary);--primary-soft: var(--color-primary-soft);--accent: var(--color-accent);--danger: var(--color-danger);--shadow: var(--shadow-soft)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input,textarea,select{width:100%;padding:.82rem .95rem;border-radius:var(--radius-control);border:1px solid var(--border);background:#fff;color:var(--text)}textarea{resize:vertical}label{display:grid;gap:.45rem;font-size:.94rem;color:var(--muted)}.primary-button,.secondary-button,.danger-button,.link-button,.page-chip,.chip{border-radius:12px;border:1px solid transparent;padding:.78rem 1rem;transition:.18s ease}.primary-button{background:var(--primary);color:#fff}.primary-button:hover{background:var(--color-primary-strong)}.secondary-button,.page-chip,.chip{background:#fff;color:var(--text);border-color:var(--border)}.secondary-button:hover,.page-chip:hover,.chip:hover{background:var(--surface-soft)}.danger-button{background:#fff5f5;border-color:#f2c7cc;color:var(--danger)}.link-button{background:transparent;padding:0;color:var(--primary)}.screen-centered{min-height:100vh;display:grid;place-items:center;padding:2rem}.loading-panel,.empty-state{max-width:540px;background:#ffffffeb;backdrop-filter:blur(10px);border:1px solid rgba(214,218,227,.8);box-shadow:var(--shadow);border-radius:24px;padding:2rem;text-align:center}.spinner{width:44px;height:44px;border-radius:999px;border:4px solid #d6dae3;border-top-color:var(--primary);margin:0 auto 1rem;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}.sidebar{position:sticky;top:0;align-self:start;min-height:100vh;padding:1.1rem;background:#181018;color:#edf2f7;display:grid;grid-template-rows:auto auto 1fr;gap:1.1rem}.brand-block{display:flex;gap:.75rem;align-items:center;min-width:0}.brand-block h1{margin:.1rem 0 0;font-size:1.15rem}.brand-badge{width:56px;height:56px;border-radius:8px;display:grid;place-items:center;background:var(--ln-gold);color:var(--ln-black);font-weight:800;letter-spacing:.08em}.brand-block .brand-logo-img{flex:0 0 auto;width:48px;height:48px;object-fit:contain;background:transparent}.brand-copy{min-width:0}.brand-copy h1,.brand-copy .eyebrow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eyebrow{margin:0;color:#c6d5e2;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.nav-list{display:grid;gap:.55rem}.nav-item{display:flex;align-items:center;gap:.7rem;padding:.78rem .85rem;border-radius:10px;color:#dce8f2;background:transparent}.nav-item svg{flex:0 0 auto}.nav-item.active{background:#ffffff14;color:#fff}.sidebar-footnote{align-self:end;color:#bed0df;font-size:.88rem}.sidebar-collapse-button{flex:0 0 auto;width:34px;height:34px;margin-left:auto;display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0f;color:#edf2f7}.sidebar-collapse-button:hover{background:#ffffff1f}.sidebar-collapsed .sidebar{padding:.9rem .75rem}.sidebar-collapsed .brand-block{display:grid;justify-items:center;gap:.7rem}.sidebar-collapsed .brand-copy,.sidebar-collapsed .nav-item span,.sidebar-collapsed .sync-sidebar-status span,.sidebar-collapsed .sync-sidebar-error,.sidebar-collapsed .sidebar-footer-copy{display:none}.sidebar-collapsed .brand-block .brand-logo-img{width:42px;height:42px}.sidebar-collapsed .sidebar-collapse-button{margin-left:0}.sidebar-collapsed .nav-list{justify-items:center}.sidebar-collapsed .nav-item{width:44px;height:44px;justify-content:center;padding:0}.sidebar-collapsed .sidebar-footnote{display:grid;justify-items:center}.sidebar-collapsed .sync-sidebar-status{justify-items:center}.sidebar-collapsed .sync-sidebar-status .ui-button{display:none}.sync-sidebar-error{display:block;max-width:100%;color:#ffd9df;overflow-wrap:anywhere}.sync-sidebar-progress-text{display:block;max-width:100%;color:#f6e8ff;overflow-wrap:anywhere}.sync-sidebar-progress{height:8px;overflow:hidden;border-radius:999px;background:#ffffff29}.sync-sidebar-progress span{display:block;height:100%;border-radius:inherit;background:#f0c76b;transition:width .2s ease}.app-main{padding:1.5rem}.web-update-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 20px 0;padding:10px 14px;border:1px solid #d9b45f;background:#fff8e7;color:#4a3400}.web-update-banner.update-required{border-color:#d46a7e;background:#fff0f3;color:#791f32}.ui-button{min-height:42px;border-radius:var(--radius-control);border:1px solid transparent;padding:.72rem .95rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-weight:650;transition:.18s ease}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-button-primary{background:var(--color-primary);color:var(--ln-white)}.ui-button-primary:hover{background:var(--color-primary-strong)}.ui-button-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.ui-button-secondary:hover,.ui-button-ghost:hover{background:var(--color-surface-soft)}.ui-button-danger{background:#fff5f7;border-color:#f3c2cc;color:var(--color-danger)}.ui-button-ghost{background:transparent;color:var(--color-primary)}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:1.25rem}.section-description{margin:.2rem 0 0;color:var(--muted);font-size:.9rem}.ui-badge{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:.25rem .65rem;background:var(--color-primary-soft);color:var(--color-primary);font-size:.78rem;font-weight:700;text-transform:capitalize}.ui-badge-success{background:#eaf7f0;color:var(--color-success)}.ui-badge-warning{background:#fff7e7;color:#8a5a00}.ui-badge-danger{background:#fff0f3;color:var(--color-danger)}.ui-tabs{display:inline-flex;gap:.35rem;padding:.35rem;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.ui-tab{border:0;border-radius:8px;background:transparent;color:var(--muted);padding:.55rem .85rem}.ui-tab.active{background:var(--color-primary);color:var(--ln-white)}.ui-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-card)}.ui-table{width:100%;border-collapse:collapse;min-width:680px}.ui-table th,.ui-table td{padding:.78rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.ui-table th{background:var(--color-surface-soft);color:var(--muted);font-size:.8rem;text-transform:uppercase}.ui-table-empty{border:1px dashed var(--border);border-radius:var(--radius-card);padding:1rem;color:var(--muted)}.ui-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.ui-modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#1810187a}.ui-modal{width:min(640px,100%);max-height:calc(100vh - 2rem);overflow:auto;background:var(--surface);border-radius:var(--radius-card);box-shadow:0 24px 70px #00000038;border:1px solid var(--border)}.ui-modal-header,.ui-modal-footer{padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.ui-modal-header{border-bottom:1px solid var(--border)}.ui-modal-header h3{margin:0}.ui-modal-body{padding:1.25rem}.ui-modal-footer{border-top:1px solid var(--border);justify-content:flex-end}.ui-toast{position:fixed;right:1rem;bottom:1rem;z-index:100;border-radius:var(--radius-card);padding:.85rem 1rem;background:var(--color-success);color:var(--ln-white);box-shadow:var(--shadow)}.ui-toast-warning{background:#8a5a00}.ui-toast-danger{background:var(--color-danger)}.landing-page,.login-page{min-height:100vh;background:linear-gradient(135deg,#762e7af2,#181018eb),var(--ln-black);color:var(--ln-white)}.landing-hero,.login-shell{min-height:100vh;display:grid;align-items:center;padding:clamp(1.25rem,4vw,4rem)}.landing-hero-inner{width:min(1040px,100%);display:grid;gap:2rem}.landing-brand{display:flex;align-items:center;gap:1rem}.brand-logo-img,.brand-logo-placeholder{width:64px;height:64px;border-radius:8px;display:grid;place-items:center;object-fit:contain;background:var(--ln-gold);color:var(--ln-black);font-weight:900}.landing-brand .brand-logo-img{width:72px;height:72px;background:transparent}.landing-copy h1{max-width:820px;margin:0;font-size:clamp(2.2rem,6vw,5rem);line-height:1;letter-spacing:0}.landing-copy p{max-width:640px;color:#f3e5f4;font-size:1.15rem}.landing-contact{display:flex;flex-wrap:wrap;gap:.7rem;color:var(--ln-black)}.landing-contact span{background:var(--ln-gold);border-radius:999px;padding:.5rem .8rem;font-weight:700}.login-card{width:min(420px,100%);margin:auto;background:var(--surface);color:var(--text);border-radius:var(--radius-card);padding:1.5rem;box-shadow:var(--shadow);display:grid;gap:1rem}.login-card h1{margin:0 0 .25rem}.login-card .ui-button{width:100%;margin-top:.25rem}.password-field{display:grid;gap:.45rem}.password-field__label{font-size:.94rem;color:var(--muted)}.password-field__wrap{position:relative;display:flex;align-items:center}.password-field__wrap input{padding-right:4rem}.password-field__toggle{position:absolute;right:.55rem;border:0;background:transparent;color:var(--primary);font-weight:700;padding:.2rem .35rem}.password-field__toggle:hover{color:var(--accent)}.logo-preview{width:86px;height:86px;border-radius:var(--radius-card);display:grid;place-items:center;overflow:hidden;border:1px solid var(--border);background:var(--color-surface-soft);color:var(--muted);font-weight:800}.logo-preview img{width:100%;height:100%;object-fit:contain}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dashboard-metrics{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:1rem}.dashboard-metrics .ui-card{display:grid;gap:.35rem;box-shadow:none}.dashboard-metrics span{color:var(--muted)}.dashboard-metrics strong{font-size:2rem;color:var(--primary)}.admin-action-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:.75rem}.dashboard-sync-choice-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.95rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.dashboard-sync-choice-panel>div:first-child{display:grid;gap:.35rem}.dashboard-sync-choice-panel span,.dashboard-sync-choice-panel small{color:var(--muted)}.split-manager{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:1rem;align-items:start}.sequence-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:1rem}.document-command-bar{position:sticky;top:0;z-index:20;display:grid;gap:.65rem;padding:.75rem;background:#f8f5f8eb;backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius-card)}.document-command-bar.collapsed{padding:.58rem .75rem}.hint-text{margin:.75rem 0 0;color:var(--muted)}.simple-builder-layout{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(0,1.15fr);gap:1rem;align-items:start}.section-builder-list{display:grid;gap:1rem}.section-builder-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:1rem}.section-builder-card .section-header-inline span{display:block;color:var(--muted);font-size:.82rem;text-transform:capitalize}.simple-preview{min-height:70vh}.error-text{color:var(--danger)}@media(max-width:1180px){.dashboard-metrics,.admin-action-grid,.sequence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-manager,.simple-builder-layout,.template-builder-header,.template-builder-meta{grid-template-columns:1fr}.template-builder-controls{justify-items:stretch}.template-builder-actions,.template-builder-secondary-actions{justify-content:flex-start}}@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;min-height:auto}.dashboard-metrics,.admin-action-grid,.sequence-grid{grid-template-columns:1fr}}.page-layout{display:grid;gap:1.2rem}.page-header,.page-toolbar,.card,.builder-panel,.form-card{background:#ffffffeb;border:1px solid rgba(214,218,227,.85);border-radius:22px;box-shadow:var(--shadow)}.page-header{padding:1.4rem 1.5rem;display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;background:linear-gradient(135deg,#fffffff7,#f8fbfff5),#fff}.page-header h2{margin:.25rem 0 .45rem;font-size:1.8rem}.page-description{max-width:760px;color:var(--muted);margin:0}.header-actions,.toolbar-actions,.section-header-inline{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.builder-header-controls{display:grid;gap:1rem;min-width:min(520px,100%)}.builder-meta-card{display:grid;gap:.85rem;padding:1rem;border-radius:18px;border:1px solid rgba(214,218,227,.92);background:linear-gradient(180deg,#f8fbfff5,#fffffff5)}.builder-actions-right{justify-content:flex-end}.template-builder-header{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(420px,1fr);gap:.85rem;align-items:start;padding:.85rem;border:1px solid var(--border);border-radius:10px;background:#fff}.template-builder-meta{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(240px,1fr);gap:.7rem;align-items:end}.template-builder-meta input{min-height:40px;padding:.55rem .65rem;border-radius:7px}.template-builder-controls{display:grid;gap:.65rem;justify-items:end}.template-builder-actions{justify-content:flex-end;gap:.5rem}.template-builder-secondary-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.template-builder-secondary-actions select{width:min(420px,100%);min-height:38px;padding:.5rem .65rem;border-radius:7px}.template-builder-actions .primary-button,.template-builder-actions .secondary-button,.template-builder-actions .danger-button,.template-builder-secondary-actions .secondary-button,.template-pages-panel .secondary-button{min-height:38px;padding:.55rem .7rem;border-radius:7px}.template-builder-header+.page-toolbar{padding:.7rem .8rem}.save-indicator{display:inline-flex;align-items:center;gap:.55rem;padding:.7rem .9rem;border-radius:999px;background:#fff;border:1px solid var(--border);color:var(--muted);font-size:.92rem}.save-indicator.saved{color:#175c34;background:#f2fbf5;border-color:#bde3c8}.save-indicator.saving{color:#925b00;background:#fff8ed;border-color:#efd2a7}.save-indicator.error{color:#8f2130;background:#fff1f2;border-color:#f0bcc4}.save-dot{width:10px;height:10px;border-radius:999px;background:currentColor;opacity:.85}.page-toolbar{padding:.95rem 1.15rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.segmented-tabs{display:inline-flex;padding:.3rem;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border)}.segmented-tabs button{border:none;background:transparent;padding:.65rem 1rem;border-radius:999px}.segmented-tabs button.active{background:#fff;box-shadow:0 8px 14px #11182714}.search-row{display:flex;gap:1rem}.search-input{max-width:680px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.card,.builder-panel,.form-card{padding:1.2rem}.list-grid,.asset-grid,.line-item-grid{display:grid;gap:.9rem}.list-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dashboard-document-grid{grid-template-columns:repeat(auto-fill,minmax(240px,320px));justify-content:start}.list-grid.compact{grid-template-columns:1fr}.list-card{text-align:left;border:1px solid var(--border);background:#fff;border-radius:18px;padding:1rem;display:grid;gap:.3rem}.list-card.static{cursor:default}.list-card strong,.asset-meta strong{font-size:1rem}.list-card span,.asset-meta span,.group-block p,.panel-heading p,.hint-panel p{color:var(--muted)}.template-groups,.group-block,.stack-list{display:grid;gap:1rem}.builder-layout{display:grid;grid-template-columns:280px 1fr 320px;gap:1rem;min-height:860px}.builder-sidebar,.builder-center{min-width:0}.builder-sidebar{display:grid;gap:1rem;align-content:start;align-items:start;grid-auto-rows:max-content}.template-pages-panel{padding:.85rem}.template-pages-panel .panel-heading.compact{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.template-pages-panel .panel-heading.compact h3{margin:0}.template-pages-panel .page-list{gap:.45rem}.layers-panel{padding:.85rem}.layers-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.layers-panel-heading h3{margin:0 0 .15rem}.layers-list{display:grid;gap:.45rem}.layer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:center;padding:.45rem;border:1px solid var(--border);border-radius:8px;background:#fff}.layer-row.selected{border-color:var(--primary);background:var(--primary-soft)}.layer-select-button{min-width:0;display:grid;gap:.12rem;padding:.2rem .25rem;border:0;background:transparent;text-align:left}.layer-select-button strong,.layer-select-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-select-button span{color:var(--muted);font-size:.75rem;text-transform:capitalize}.layer-position-label{grid-column:2;grid-row:1;justify-self:end;min-width:44px;padding:.18rem .4rem;border-radius:999px;background:var(--surface-soft);color:var(--muted);text-align:center;font-size:.7rem;font-weight:750}.layer-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:.28rem;flex-wrap:nowrap}.layer-actions .icon-button:disabled{opacity:.35;cursor:not-allowed}.page-row{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:.35rem;align-items:stretch}.page-row .page-chip{display:grid;gap:.1rem;min-width:0;min-height:44px;padding:.48rem .58rem;border-radius:7px;text-align:left}.page-row .page-chip strong,.page-row .page-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-row .page-chip span{color:var(--muted);font-size:.76rem}.page-row.active .page-chip{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.page-row .icon-button:disabled{opacity:.35;cursor:not-allowed}.canvas-edit-toolbar{position:sticky;top:0;z-index:6;display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-bottom:.65rem;padding:.55rem;border:1px solid var(--border);border-radius:10px;background:#fffffff5}.palette-groups,.page-list{display:flex;flex-direction:column;gap:.9rem}.placeholder-list{display:flex;flex-wrap:wrap;gap:.7rem}.placeholder-controls{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:.55rem;margin-top:.7rem}.placeholder-list.compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;max-height:260px;overflow-y:auto;padding-right:.2rem;margin-top:.65rem}.placeholder-chip{min-width:0;min-height:62px;display:grid;align-content:center;gap:.2rem;text-align:left;padding:.65rem .7rem;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text)}.placeholder-chip:hover{background:var(--surface-soft)}.placeholder-chip span,.placeholder-chip small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placeholder-chip small{color:var(--muted);font-size:.76rem}.placeholder-empty{grid-column:1 / -1;padding:.85rem;border:1px dashed var(--border);border-radius:8px;color:var(--muted);text-align:center}.palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex-wrap:wrap;gap:.7rem}.palette-section{display:grid;gap:.8rem;padding:1rem;border-radius:20px;border:1px solid rgba(214,218,227,.85);background:linear-gradient(180deg,#fffffffa,#f7fafff5)}.palette-section.teal{background:linear-gradient(180deg,#f0fbf9fa,#fffffff5)}.palette-section.amber{background:linear-gradient(180deg,#fff9f0fa,#fffffff5)}.palette-section.navy{background:linear-gradient(180deg,#f1f6fcfa,#fffffff5)}.palette-section-header h4{margin:0 0 .25rem;font-size:1rem}.palette-section-header p{margin:0;color:var(--muted);font-size:.9rem}.palette-item{min-height:126px;text-align:left;padding:1rem;border-radius:22px;border:1px solid rgba(214,218,227,.92);background:linear-gradient(180deg,#fffffff5,#f7fafff5);display:grid;gap:.45rem;align-content:start;box-shadow:0 14px 24px #1118270a}.palette-item span{color:var(--muted);text-transform:none;font-size:.86rem;line-height:1.45}.palette-item:hover{transform:translateY(-2px);box-shadow:0 16px 30px #11182714}.palette-glyph{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:.8rem;font-weight:800;color:#0e3b5f;background:linear-gradient(135deg,#d8a25d3d,#0e3b5f24)}.canvas-stage{position:relative;min-height:860px;background:linear-gradient(90deg,rgba(214,218,227,.18) 1px,transparent 1px),linear-gradient(180deg,rgba(214,218,227,.18) 1px,transparent 1px),#eef1f6;background-size:32px 32px;border-radius:24px;border:1px solid rgba(214,218,227,.85);overflow:auto;padding:3rem 2rem 2rem}.canvas-ruler{position:absolute;background:#fffffff5;border:1px solid var(--border);z-index:1}.canvas-ruler.horizontal{left:70px;top:12px;right:18px;height:28px;border-radius:14px}.canvas-ruler.vertical{left:12px;top:70px;bottom:18px;width:28px;border-radius:14px}.canvas-page-wrap{transform-origin:top center;margin:0 auto;width:794px}.canvas-page,.document-page{position:relative;width:794px;height:1123px;background:#fff;border-radius:18px;box-shadow:0 24px 48px #1118271f;overflow:hidden}.page-print-area{position:absolute;border:1px dashed rgba(14,59,95,.28);border-radius:12px;pointer-events:none}.canvas-block{position:relative;width:100%;height:100%;box-sizing:border-box;overflow:hidden;outline:1px solid transparent;outline-offset:-1px}.canvas-block:hover{outline-color:#0e3b5f3d}.canvas-block.selected{outline-color:#0e3b5fb8;box-shadow:0 0 0 2px #0e3b5f3d}.canvas-block.flow{outline-style:dashed}.canvas-block.locked{opacity:.75}.canvas-block-header{position:absolute;top:4px;left:4px;right:4px;z-index:2;display:flex;justify-content:space-between;gap:.5rem;padding:.32rem .5rem;background:#ffffffe6;border:1px solid rgba(14,59,95,.12);border-radius:6px;font-size:.76rem;color:var(--muted);opacity:0;pointer-events:none;transition:opacity .12s ease}.canvas-block:hover .canvas-block-header,.canvas-block.selected .canvas-block-header{opacity:1}.canvas-block-body{width:100%;height:100%;box-sizing:border-box;padding:.75rem;overflow:hidden}.canvas-block.media .canvas-block-body{padding:0}.canvas-block.divider .canvas-block-body{display:flex;align-items:center;padding:0}.canvas-divider-line{display:block;width:100%;flex:0 0 auto}.canvas-block-body p{margin:0;color:inherit;font:inherit;line-height:inherit;text-align:inherit;white-space:pre-wrap}.canvas-table-preview{display:grid;gap:0;overflow:hidden;border:var(--canvas-table-border-width, 1px) var(--canvas-table-border-style, solid) var(--canvas-table-border-color, #e6dce6);border-radius:6px}.canvas-table-head,.canvas-table-row{height:18px;border-radius:0;background:var(--canvas-table-body-bg, #ffffff)}.canvas-table-head{width:100%;background:var(--canvas-table-header-bg, #eef2f7)}.canvas-table-row{border-top:var(--canvas-table-border-width, 1px) var(--canvas-table-border-style, solid) var(--canvas-table-border-color, #e6dce6)}.canvas-table-row.short{width:72%}.canvas-image-preview,.preview-placeholder,.pdf-thumb{width:100%;height:100%;min-height:110px;display:grid;place-items:center;color:var(--muted);background:linear-gradient(135deg,#eef2f7,#f9fbfd)}.properties-grid,.field-grid{display:grid;gap:.9rem}.properties-grid,.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.placeholder-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.panel-heading h3,.panel-heading h4,.card h3,.form-card h3{margin:0 0 .25rem}.panel-heading-actions{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.panel-heading.compact h4{margin-bottom:0}.panel-actions,.line-item-actions{display:flex;gap:.75rem;flex-wrap:wrap}.panel-actions.compact{gap:.55rem}.color-field{display:grid;grid-template-columns:56px 1fr;gap:.65rem}.color-field input[type=color]{min-height:46px;padding:.2rem}.table-style-panel{display:grid;gap:.75rem;padding:.85rem;border:1px solid rgba(214,218,227,.85);border-radius:8px;background:#f8fafcb8}.table-style-grid{gap:.75rem}.page-background-panel{display:grid;gap:.75rem}.selected-block-chip{display:inline-flex;align-items:center;gap:.7rem;padding:.45rem .55rem .45rem .85rem;border-radius:999px;background:linear-gradient(135deg,#0e3b5f14,#d8a25d1f);border:1px solid rgba(14,59,95,.12)}.selected-block-chip strong{color:#0e3b5f}.document-editor-layout{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);gap:.85rem;align-items:start}.editor-form-pane{display:grid;gap:.8rem;max-height:calc(100vh - 190px);overflow:auto;padding-right:.25rem}.editor-preview-pane{min-height:600px;background:#fff3;border-radius:24px;padding:1rem}.document-preview-scroller{display:grid;justify-items:center;gap:1rem;max-height:calc(100vh - 190px);overflow:auto;padding:.55rem 0 1.2rem}.document-preview-wrap{position:relative}.document-preview-scale{width:794px;transform-origin:top center}.document-block{position:absolute;box-sizing:border-box;overflow:hidden}.preview-divider-line{display:block;width:100%;flex:0 0 auto}.preview-text p{margin:0;line-height:inherit}.preview-text-section-header{font-weight:700}.table-preview table{width:100%;border-collapse:collapse;font-size:.8rem;line-height:1.18}.table-preview th,.table-preview td{border:var(--table-border-width, 1px) var(--table-border-style, solid) var(--table-border-color, var(--border));padding:.32rem .5rem;vertical-align:top}.table-preview th{background:var(--table-header-bg, #eef2f7);color:var(--table-header-color, inherit);text-align:left}.table-preview td{background:var(--table-body-bg, #fff);color:var(--table-body-color, inherit)}.table-preview .table-cell-number{text-align:right;white-space:nowrap}.table-preview tbody td.table-cell-number{vertical-align:bottom}.table-preview tr{break-inside:avoid;page-break-inside:avoid}.table-preview td small{display:block;margin-top:.08rem;color:var(--muted);line-height:1.18}.table-row-section td{background:#fbf4e8;color:#4b1b4e;font-weight:750}.table-row-cost-group td:last-child{text-align:right;vertical-align:bottom;white-space:nowrap}.table-row-detail td,.table-row-note td{color:var(--muted);font-size:.72rem;padding-left:1rem}.table-continuation-label{color:var(--muted);font-size:.72rem;margin-bottom:.35rem}.table-continuation-footer{margin-top:.35rem;text-align:right}.totals-box,.totals-summary-card{margin-top:.8rem;margin-left:auto;width:min(280px,100%);display:grid;gap:.55rem;break-inside:avoid;page-break-inside:avoid}.totals-box div,.totals-summary-card div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem .7rem;border-radius:12px;background:var(--totals-bg, var(--surface-soft));color:var(--totals-color, inherit)}.totals-box div.emphasis,.totals-summary-card div.emphasis{font-weight:750;border:1px solid var(--border)}.signature-preview-block{width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:.18rem}.preview-signature-image{width:100%;max-width:260px;height:auto;min-height:42px;max-height:calc(100% - 2.6rem);object-fit:contain;object-position:left center}.signature-line{display:block;width:min(190px,100%);height:1px;margin-bottom:.2rem;background:var(--text)}.signature-label{color:var(--muted);font-size:.72rem}.preview-image,.asset-thumb img{width:100%;height:100%;object-fit:cover}.preview-page-label{margin-top:1rem;text-align:center;color:var(--muted)}.line-item-card,.client-card,.stack-row{border:1px solid var(--border);border-radius:18px;padding:1rem;background:#fff}.line-item-footer,.stack-row{display:flex;justify-content:space-between;gap:.85rem;align-items:center;flex-wrap:wrap}.asset-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.asset-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}.asset-thumb{position:relative;min-height:170px;background:#f8f7f4}.asset-meta{padding:.95rem;display:grid;gap:.25rem}.swatch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem}.swatch-card{padding:.9rem;border-radius:18px;border:1px solid var(--border);background:#fff;display:grid;gap:.4rem}.swatch{height:80px;border-radius:16px}.hint-panel{margin-top:1rem;padding:1rem;border-radius:18px;background:var(--surface-soft)}.zoom-control{display:flex;align-items:center;gap:.7rem;white-space:nowrap}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.page-header,.page-toolbar,.document-command-bar,.document-filter-bar,.builder-panel,.form-card,.ui-card,.card{border-radius:10px}.document-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted)}.document-filter-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.document-search-input{width:min(260px,100%);min-height:38px}.filtered-document-strip{display:flex;gap:.65rem;overflow-x:auto;padding:.25rem 0 .1rem}.filtered-document-pill{min-width:210px;max-width:260px;display:grid;gap:.25rem;text-align:left;border:1px solid var(--border);border-radius:8px;background:#fff;padding:.7rem .8rem;flex:0 0 auto}.filtered-document-pill strong,.filtered-document-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filtered-document-pill.active{border-color:var(--primary);box-shadow:0 0 0 2px #762e7a1f}.document-command-bar{top:.75rem}.document-command-top,.document-command-body{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap}.document-command-body{align-items:flex-start}.document-command-primary,.document-command-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.document-command-body>select{width:min(360px,100%);min-width:230px;min-height:42px;max-height:48px;flex:0 1 360px}.template-recovery-notice{padding:.8rem .95rem;border:1px solid #efd2a7;border-radius:8px;background:#fff8ed;color:#6b3b00;font-size:.92rem;font-weight:700}.document-command-actions select{min-width:210px}.section-status-badge{white-space:nowrap}.selected-template-panel{display:grid;grid-template-columns:160px minmax(0,1fr);gap:.85rem;align-items:center;padding:.8rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.selected-template-panel>div:last-child,.template-choice-meta,.template-picker-preview-meta{display:grid;gap:.35rem}.selected-template-panel>div:last-child>span,.template-choice-meta>span,.template-picker-preview-meta>span{color:var(--muted)}.template-thumbnail{width:min(100%,var(--template-thumbnail-width, 220px));height:var(--template-thumbnail-height, 310px);position:relative;border-radius:8px;border:1px solid var(--border);background:#fff;overflow:hidden;box-shadow:0 10px 22px #1118271a;contain:layout paint;pointer-events:none}.template-thumbnail__preview{display:block;width:100%;height:100%;max-height:none;overflow:hidden;padding:0}.template-thumbnail__preview .document-preview-wrap{margin:0}.template-thumbnail__preview .document-preview-scale{transform-origin:top left}.template-thumbnail__preview .document-page{border-radius:0;box-shadow:none}.template-thumbnail__skeleton{width:100%;height:100%;background:#fff}.template-picker-modal{width:min(1120px,calc(100vw - 2rem))}.template-picker-layout{display:grid;grid-template-columns:minmax(320px,360px) minmax(0,1fr);gap:1rem;align-items:start}.template-picker-preview{position:sticky;top:0;display:grid;gap:.8rem;padding:.8rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.template-picker-preview .template-thumbnail{justify-self:center}.template-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem}.template-choice-card{display:grid;gap:.65rem;padding:.65rem;border:1px solid var(--border);border-radius:8px;background:#fff}.template-choice-card.selected{border-color:var(--primary);box-shadow:0 0 0 2px #762e7a1f}.template-choice-preview-button{display:grid;width:100%;gap:.65rem;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.template-choice-footer{display:flex;align-items:center;justify-content:space-between;gap:.55rem;flex-wrap:wrap}.template-choice-title-row,.template-choice-badges,.template-preview-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.template-choice-title-row{justify-content:space-between}.template-selected-badge{display:inline-flex;align-items:center;gap:.25rem}.signature-asset-preview{min-height:132px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden}.signature-asset-preview img{max-width:100%;max-height:132px;object-fit:contain}.signature-asset-preview>div,.signature-asset-preview>span{display:grid;place-items:center;gap:.4rem;color:var(--muted);text-align:center;padding:.8rem}.signature-asset-controls{display:grid;gap:.75rem}.signature-upload-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.form-section-card{padding:0;overflow:hidden}.form-section-details{display:grid}.form-section-summary{list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;cursor:pointer}.form-section-summary::-webkit-details-marker{display:none}.form-section-summary h3{margin:0}.form-section-summary-actions{display:flex;align-items:center;gap:.65rem}.form-section-chevron{width:10px;height:10px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .16s ease}.form-section-details[open] .form-section-chevron{transform:rotate(225deg)}.form-section-content{padding:0 1.1rem 1.1rem}.line-items-summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;padding:.85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.line-items-summary>div{display:grid;gap:.15rem}.line-items-summary span,.line-items-modal-toolbar span{color:var(--muted)}.line-items-modal{width:min(1760px,calc(100vw - .5rem))}.line-items-modal .ui-modal-body{padding:1rem}.line-items-modal-toolbar,.line-items-modal-totals,.line-items-row-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.line-items-modal-toolbar{justify-content:space-between;margin-bottom:.9rem}.line-items-add-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.line-items-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:8px}.line-items-card-list{display:grid;gap:.75rem;max-height:min(62vh,760px);overflow:auto;padding-right:.25rem}.line-item-row{display:grid;grid-template-columns:104px minmax(360px,1fr) 96px 110px 132px 140px;gap:12px;align-items:start;border:1px solid var(--border);border-radius:8px;background:#fff;padding:.8rem}.line-item-row--cost{background:#fffdf8}.line-item-row--title{background:#fbf4e8}.line-item-row.is-dragging{position:relative;z-index:3;box-shadow:0 10px 24px #1810181f}.line-items-modal .line-item-actions{display:flex;align-items:center;gap:.35rem;grid-column:1;grid-row:1;flex-wrap:nowrap}.line-item-main,.line-item-mini,.line-item-amount,.line-item-total,.line-item-details,.line-item-adjustments{min-width:0}.line-item-main,.line-item-mini,.line-item-amount,.line-item-total,.line-item-details{display:grid;gap:.45rem;align-content:start}.line-item-row--standard .line-item-main{grid-column:2;grid-row:1}.line-item-row--standard .line-item-total{grid-column:6;grid-row:1}.line-item-row--cost .line-item-main{grid-column:2 / 5;grid-row:1}.line-item-row--cost .line-item-amount{grid-column:5;grid-row:1}.line-item-row--cost .line-item-total{grid-column:6;grid-row:1}.line-item-row--title .line-item-main{grid-column:2 / -1;grid-row:1}.line-item-row--title input{font-weight:800}.line-items-modal .line-item-main,.line-items-modal .line-item-main label,.line-items-modal .line-item-mini,.line-items-modal .line-item-amount,.line-items-modal .line-item-total span,.line-items-modal .line-item-details label{color:var(--muted);font-size:.78rem;font-weight:750}.line-items-modal .line-item-main input,.line-items-modal .line-item-mini input,.line-items-modal .line-item-mini select,.line-items-modal .line-item-amount input,.line-items-modal .line-item-adjustments input:not([type=checkbox]),.line-items-modal .line-item-adjustments select{min-height:40px;padding:.5rem .62rem;border-radius:7px;color:var(--text);font-size:.94rem}.line-items-modal .line-item-details textarea{min-height:112px;padding:.62rem .7rem;color:var(--text);font-size:.94rem;line-height:1.35;border-radius:7px}.line-items-modal .line-item-mini input[type=number],.line-items-modal .line-item-amount input[type=number]{text-align:right}.line-item-total strong{display:flex;align-items:center;justify-content:flex-end;min-height:40px;padding:.5rem .62rem;overflow:hidden;border:1px solid var(--border);border-radius:7px;background:var(--surface-soft);color:var(--text);font-size:.94rem;line-height:1.15;text-align:right;text-overflow:ellipsis;white-space:nowrap}.line-item-details{margin-top:.2rem;padding-left:.85rem;border-left:2px solid var(--border)}.line-item-details .inline-icon-action{margin-top:.05rem}.line-item-adjustments{grid-column:2 / -1;display:flex;align-items:flex-end;gap:.5rem;flex-wrap:wrap;padding-top:.1rem}.line-item-adjustments .discount-control{width:min(220px,100%)}.line-item-inline-toggle,.line-items-toggle-group{display:inline-flex;align-items:center;gap:.45rem;color:var(--text);font-weight:650}.line-item-inline-toggle{width:100%;min-height:38px;padding:.45rem .6rem;border:1px solid var(--border);border-radius:8px;background:#fff;justify-content:flex-start;white-space:nowrap}.line-item-inline-toggle input{width:17px;height:17px;min-height:17px;accent-color:var(--primary)}.line-items-toggle-group{flex-wrap:wrap}.line-items-toggle-group .line-item-inline-toggle{width:auto}.line-item-adjustment-toggle{width:auto;min-width:132px}.line-items-table{width:100%;min-width:1280px;border-collapse:collapse}.line-items-table th,.line-items-table td{padding:.55rem;border-bottom:1px solid var(--border);vertical-align:top}.line-items-table th{background:var(--surface-soft);color:var(--muted);text-align:left;font-size:.78rem;text-transform:uppercase}.line-items-table input,.line-items-table textarea,.line-items-table select{min-height:38px;padding:.45rem .55rem}.line-item-description-cell{min-width:460px}.line-item-kind-row{width:140px;margin-bottom:.45rem}.line-item-content-stack,.line-item-subcategory-box{display:grid;gap:.45rem;margin-top:.45rem}.line-item-content-stack textarea,.line-item-subcategory-box textarea{line-height:1.35}.inline-icon-action{width:max-content;display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--primary);padding:.35rem .55rem;font-weight:700;font-size:.82rem}.inline-icon-action:hover{background:var(--surface-soft)}.detail-parent-picker{margin-top:.45rem}.line-items-editor-row.row-section_header{background:#fbf4e8}.line-items-editor-row.row-detail_line{background:#fbfbfd}.line-items-editor-row.row-cost_group{background:#fffdf8}.line-items-editor-row.is-dragging{position:relative;z-index:3;box-shadow:0 10px 24px #1810181f}.discount-control{display:grid;grid-template-columns:minmax(70px,1fr) 74px;gap:.35rem}.line-items-non-priced-cell,.muted-cell{color:var(--muted);font-size:.85rem}.line-items-actions-cell{width:124px}.line-items-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;flex-wrap:nowrap;white-space:nowrap}.line-items-modal-totals{justify-content:flex-end;margin-top:1rem}.line-items-modal-totals div{min-width:150px;display:grid;gap:.1rem;padding:.7rem;border:1px solid var(--border);border-radius:8px;background:#fff}.icon-button,.tool-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:34px;border-radius:7px;border:1px solid var(--border);background:#fff;color:var(--text);padding:.38rem .55rem;font-weight:650}.icon-button.compact{width:32px;height:32px;min-height:32px;padding:0;display:inline-grid;place-items:center}.drag-handle{cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.line-item-action-icon{position:relative;display:inline-block;width:16px;height:16px}.icon-drag:before{content:"";position:absolute;inset:1px 3px;background-image:radial-gradient(circle,currentColor 1.4px,transparent 1.6px);background-size:5px 5px;opacity:.8}.icon-duplicate:before,.icon-duplicate:after{content:"";position:absolute;width:10px;height:10px;border:1.7px solid currentColor;border-radius:2px}.icon-duplicate:before{left:2px;top:4px;opacity:.55}.icon-duplicate:after{right:2px;top:1px;background:#fff}.icon-trash:before{content:"";position:absolute;left:4px;right:4px;bottom:2px;height:10px;border:1.7px solid currentColor;border-top:0;border-radius:1px 1px 3px 3px}.icon-trash:after{content:"";position:absolute;left:3px;right:3px;top:2px;height:2px;border-radius:2px;background:currentColor;box-shadow:4px -2px 0 -1px currentColor}.icon-button:hover,.tool-button:hover{background:var(--surface-soft)}.icon-button.danger,.tool-button.danger{color:var(--danger);border-color:#f3c2cc}.icon-button.delete{color:#fff;background:var(--danger);border-color:var(--danger)}.icon-button.delete:hover{background:#b8153a;border-color:#b8153a}.tool-button:disabled{opacity:.45;cursor:not-allowed}.canvas-history-actions{display:inline-flex;align-items:center;gap:.35rem;padding-right:.2rem}.builder-selection-toolbar{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;padding:.4rem;border:1px solid var(--border);border-radius:8px;background:#fff}.builder-selection-toolbar strong{padding:0 .45rem;color:var(--primary)}.builder-toggle{display:inline-flex;grid-template-columns:auto;align-items:center;gap:.35rem;color:var(--text);font-weight:650}.builder-toggle input{width:auto;min-height:auto}.block-palette-panel{padding:.95rem}.palette-search{min-height:38px;margin:.65rem 0;padding:.5rem .6rem;border-radius:7px}.palette-starters{margin-bottom:0}.palette-starters h4{margin:0}.palette-starter-list{display:grid;gap:.45rem;padding:0 .65rem .65rem}.palette-starter{text-align:left;display:grid;gap:.15rem;border:1px solid var(--border);border-radius:8px;background:#fff;padding:.6rem .7rem}.palette-starter span{color:var(--muted);font-size:.78rem}.palette-groups{gap:.55rem}.palette-section{padding:0;border-radius:8px;background:#fff;overflow:hidden}.palette-section-header{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .75rem}.palette-section-header::-webkit-details-marker{display:none}.palette-section-header h4{margin:0}.palette-section-header span{color:var(--muted);font-size:.8rem}.palette-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:0 .65rem .65rem}.palette-grid.compact .palette-item{min-height:58px;padding:.5rem;border-radius:8px;gap:.25rem;box-shadow:none}.palette-grid.compact .palette-item:hover{transform:none}.palette-grid.compact .palette-glyph{width:28px;height:28px;border-radius:7px}.canvas-stage.show-guides{background-size:32px 32px}.canvas-stage:not(.show-guides){background:#eef1f6}.canvas-asset-image{width:100%;height:100%;display:block}.asset-binding-panel{display:grid;grid-template-columns:140px 1fr;gap:.85rem;padding:.8rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.asset-binding-preview,.asset-picker-thumb,.asset-thumb,.asset-preview{background:#f8f7f4}.asset-binding-preview{height:96px;display:grid;place-items:center;overflow:hidden;border-radius:8px;border:1px solid var(--border);color:var(--muted)}.asset-binding-preview img,.asset-picker-thumb img{width:100%;height:100%;object-fit:contain}.asset-binding-actions{display:grid;align-content:center;gap:.6rem}.asset-picker-modal,.asset-preview-modal{width:min(920px,calc(100vw - 2rem))}.asset-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.asset-picker-card{display:grid;gap:.45rem;text-align:left;border:1px solid var(--border);border-radius:8px;background:#fff;padding:.65rem}.asset-picker-thumb{height:110px;display:block;border-radius:8px;overflow:hidden}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(220px,280px));align-items:start}.asset-card{border-radius:8px}.asset-thumb{position:relative;width:100%;height:180px;border:0;border-bottom:1px solid var(--border);display:grid;place-items:center;padding:1rem;overflow:hidden}.asset-thumb img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;display:block}.asset-thumb-badges{position:absolute;left:.55rem;top:.55rem;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;z-index:1}.asset-thumb-badges span{width:auto;border-radius:999px;padding:.18rem .45rem;background:#ffffffe0;border:1px solid rgba(110,97,112,.16);color:var(--muted);font-size:.68rem;font-weight:700;line-height:1.2}.asset-meta{gap:.65rem}.asset-meta input,.asset-meta select{min-height:38px;padding:.5rem .6rem}.asset-preview{display:grid;gap:1rem;place-items:center;min-height:360px;padding:1rem;border-radius:8px}.asset-preview img{max-width:100%;max-height:520px;object-fit:contain}.asset-preview-meta{display:flex;gap:.75rem;flex-wrap:wrap;color:var(--muted)}.sync-sidebar-status,.sync-status-panel,.sync-settings-grid,.sync-issue-list,.sync-conflict-list{display:grid;gap:.75rem}.sync-sidebar-status{margin-bottom:.85rem}.sync-sidebar-status span,.sync-status-panel span,.sync-settings-grid small,.sync-issue-list small,.sync-conflict-list small{color:var(--muted)}.sync-status-panel{grid-template-columns:1fr auto;align-items:center;padding:.85rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.sync-progress-panel{display:grid;gap:.55rem;margin-top:.85rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.sync-progress-panel.blocked{border-color:#efd2a7;background:#fff8ed;color:#5d4300}.sync-progress-panel p{margin:0}.sync-progress-bar{height:10px;overflow:hidden;border-radius:999px;background:#efe5ef}.sync-progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .2s ease}.sync-status-panel>div{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sync-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sync-settings-grid .card,.sync-issue-list .card,.sync-conflict-list .card{gap:.45rem}.sync-settings-grid strong{font-size:1rem}.update-progress-panel{display:grid;gap:.45rem;margin-top:.85rem}.update-progress-bar{position:relative;height:12px;overflow:hidden;border-radius:999px;background:#f0e5ef}.update-progress-bar span{display:block;width:0;height:100%;border-radius:inherit;background:var(--primary);transition:width .18s ease}.update-progress-bar.indeterminate span{width:42%;animation:update-progress-slide 1.1s ease-in-out infinite}.update-progress-meta{display:flex;justify-content:space-between;gap:.75rem;color:var(--muted);font-size:.86rem}@keyframes update-progress-slide{0%{transform:translate(-120%)}to{transform:translate(260%)}}.orientation-advisory{display:none;padding:.85rem 1rem;border:1px solid var(--border);border-radius:8px;background:#fff8e6;color:#5d4300;font-weight:700}.preview-placeholder.sync-warning{color:#6b3b00;border:1px dashed #d69b24;background:#fff8e6;text-align:center;padding:.5rem}.sync-connection-form{display:grid;gap:.85rem;margin-top:1rem}.sync-issue-list{margin-top:1rem}.sync-issue-error{margin:.2rem 0;color:var(--danger);overflow-wrap:anywhere}.sync-issue-meta{display:flex;gap:.75rem;flex-wrap:wrap;color:var(--muted);font-size:.85rem}.conflict-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.conflict-summary-box{display:grid;gap:.25rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}@media print{@page{size:A4;margin:0}body{background:#fff}.app-shell,.app-main,.document-preview-scroller,.document-preview-wrap{display:block;padding:0;margin:0;overflow:visible;transform:none}.print-page{width:210mm;min-height:297mm;page-break-after:always;break-after:page;box-shadow:none;border-radius:0}}@media(max-width:1400px){.app-main{padding:1rem}.builder-layout,.document-editor-layout,.dashboard-grid{grid-template-columns:1fr}.editor-form-pane,.document-preview-scroller{max-height:none}}@media(max-width:1080px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;min-height:auto}.app-main{padding:1rem}.page-header,.page-toolbar{flex-direction:column;align-items:stretch}.field-grid.two,.properties-grid,.line-item-row,.template-picker-layout,.selected-template-panel{grid-template-columns:1fr}.line-item-row{gap:.7rem}.line-items-modal .line-item-actions,.line-item-row--standard .line-item-main,.line-item-row--standard .line-item-total,.line-item-row--cost .line-item-main,.line-item-row--cost .line-item-amount,.line-item-row--cost .line-item-total,.line-item-row--title .line-item-main,.line-item-adjustments{grid-column:1;grid-row:auto}.line-items-modal .line-item-actions{justify-content:flex-start}.palette-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.dashboard-sync-choice-panel,.sync-status-panel,.sync-settings-grid{grid-template-columns:1fr}}@media(max-width:760px)and (orientation:portrait){.orientation-advisory{display:block}.document-editor-layout,.builder-layout,.simple-builder-layout{display:none}}
