/* FactorPrint CMS unified theme — CSS Snapshot 2026; version 0.1.5. */
@layer reset,tokens,base,components,utilities;
@layer reset {
 *,*::before,*::after{box-sizing:border-box}
 html{scroll-behavior:smooth}body{margin:0}button,input,textarea,select{font:inherit}img{max-width:100%;height:auto}a{color:inherit}
}
@layer tokens {
 :root{color-scheme:light;--fp-navy:#232b39;--fp-deep:#151d29;--fp-blue:#1685bb;--fp-blue-dark:#086b9a;--fp-surface:#fff;--fp-canvas:#f4f7fa;--fp-line:#dce3ea;--fp-text:#253241;--fp-muted:#728195;--fp-danger:#b53140;--fp-shadow:0 14px 34px rgb(27 43 63 / 13%);--fp-radius:10px;--fp-radius-sm:6px;--fp-focus:0 0 0 3px rgb(22 133 187 / 20%);--fp-space:clamp(16px,2.4vw,32px);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
}
@layer base {
 body{background:var(--fp-canvas);color:var(--fp-text);font-size:15px;line-height:1.5}h1,h2,h3{line-height:1.22;margin:0 0 15px}h1{font-size:clamp(24px,3vw,34px)}h2{font-size:22px}h3{font-size:17px}p{margin:0 0 13px}
 button,a,input,select,textarea{transition:border-color .15s,background .15s,box-shadow .15s}a{text-decoration:none;color:var(--fp-blue-dark)}a:hover{text-decoration:underline}button{cursor:pointer}
 input:not([type='checkbox']),textarea,select{width:100%;min-height:42px;border:1px solid var(--fp-line);border-radius:var(--fp-radius-sm);padding:9px 12px;background:#fff;color:var(--fp-text)}textarea{min-height:92px;resize:vertical}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--fp-blue);outline-offset:2px}
 label{display:grid;gap:6px;font-size:13px;font-weight:600;margin-bottom:14px}code,pre{background:#eff3f7;border-radius:4px;padding:2px 5px;overflow-wrap:anywhere}pre{display:block;white-space:pre-wrap;padding:14px}
 .container{width:min(1200px,calc(100% - 36px));margin-inline:auto}.muted{color:var(--fp-muted);font-size:13px}.wide{width:100%}
}
@layer components {
 .button{background:var(--fp-blue);color:#fff!important;border:1px solid var(--fp-blue);border-radius:7px;padding:10px 16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none!important;min-height:40px}.button:hover{background:var(--fp-blue-dark)}.button-muted{background:#f1f5f8!important;color:var(--fp-text)!important;border-color:var(--fp-line)!important}.button-danger{background:#fff!important;color:var(--fp-danger)!important;border-color:#edcbd0!important}
 .panel{background:var(--fp-surface);border:1px solid var(--fp-line);border-radius:var(--fp-radius);padding:22px;margin-bottom:18px;min-width:0}.panel h2{font-size:17px}.notice{border:1px solid #c4e7d9;background:#f0faf5;border-radius:7px;padding:12px;color:#266448;font-size:13px}.notice-error{background:#fff1f2;border-color:#f8bdc4;color:var(--fp-danger)}.table-scroll{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:12px 13px;border-bottom:1px solid var(--fp-line);text-align:left;vertical-align:top}th{background:#f7f9fb;color:#526478;font-weight:650}
 .auth-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(130deg,#e8f3f9,#f6f8fb)}.auth-card{width:min(420px,calc(100% - 32px));background:#fff;border-radius:12px;padding:32px;box-shadow:var(--fp-shadow)}.brand{font-weight:850;letter-spacing:-.04em;color:#f9fbff;font-size:24px}.brand span{color:#46add6}.auth-card .brand{color:var(--fp-navy)}.brand small{font-size:12px;letter-spacing:0;color:#9fb2c5}
 .admin-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.admin-sidebar{background:var(--fp-navy);color:#e8f0f6;padding:26px 19px;display:flex;flex-direction:column;gap:26px}.admin-sidebar nav{display:grid;gap:4px}.admin-sidebar nav a,.sidebar-logout{display:block;width:100%;color:#d7e4ee;padding:11px 13px;border-radius:7px;background:none;border:0;text-align:left;text-decoration:none}.admin-sidebar nav a:hover,.sidebar-logout:hover{background:#344255;color:#fff}.sidebar-logout{margin-top:auto}.admin-main{min-width:0}.admin-header{padding:30px var(--fp-space) 18px;border-bottom:1px solid var(--fp-line);background:#fff}.admin-header h1{margin:0 0 5px}.admin-header p{color:var(--fp-muted);margin:0}.admin-content{padding:var(--fp-space);max-width:1560px;margin-inline:auto}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat-grid .panel{display:grid;gap:8px}.stat-grid .panel span{color:var(--fp-muted)}.stat-grid .panel strong{font-size:35px}.toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap}.toolbar form{display:flex;gap:8px;min-width:280px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}.editor-side{position:sticky;top:16px}.panel-title{display:flex;justify-content:space-between;align-items:start;gap:20px}.checkline{display:flex;align-items:center;gap:8px}.checkline input{width:auto}.menu-item-editor{padding:12px;border:1px solid var(--fp-line);border-radius:8px;margin-bottom:10px}.menu-item-editor summary{cursor:pointer;font-weight:600;display:flex;justify-content:space-between}.menu-item-editor form{padding-top:15px}.menu-item-editor form+form{margin-top:8px}
 .builder-block{border:1px solid var(--fp-line);border-radius:8px;margin:12px 0;background:#fafcfd}.builder-bar{background:#f2f6f9;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--fp-line)}.builder-fields{padding:14px}.builder-actions{display:flex;flex-wrap:wrap;gap:5px}.builder-tool{background:#fff;border:1px solid var(--fp-line);border-radius:5px;padding:6px 10px}.builder-tool:hover{background:#e3eef5}.builder-field{margin-bottom:12px}.builder-field textarea{min-height:180px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.builder-nested{border-left:3px solid #93cce6;margin:10px 0 10px 10px;padding-left:13px}.builder-add{display:flex;gap:8px;padding:10px 0}.builder-add select{width:auto}.builder-item{border:1px dashed #becbd6;padding:12px;border-radius:6px;margin:10px 0}.builder-table-row{display:flex;gap:5px;margin:5px 0;min-width:0}.builder-table-row input{min-width:0;flex:1}.builder-dialog{border:1px solid var(--fp-line);border-radius:10px;box-shadow:var(--fp-shadow);width:min(450px,90%)}.builder-dialog::backdrop{background:#16233691}
 .top-stripe{height:5px;background:var(--fp-deep)}.site-header{position:relative;z-index:10;background:white}.site-head-inner{width:min(1250px,calc(100% - 36px));min-height:93px;margin:auto;display:flex;align-items:center;gap:30px;justify-content:space-between}.site-logo{color:#293949;font-size:31px;font-weight:850;letter-spacing:-.055em;text-decoration:none!important}.site-logo strong{color:var(--fp-blue)}.site-contact{display:flex;gap:24px;color:var(--fp-muted);font-size:13px}.site-nav{background:var(--fp-navy);color:#eff6fb}.nav-inner{position:relative;width:min(1250px,calc(100% - 22px));margin:auto;display:flex;align-items:stretch;gap:0}.nav-entry{position:relative}.nav-entry:has(>.nav-grid){position:static}.nav-entry-head{display:flex;align-items:center}.nav-entry-head>a{padding:16px 12px;color:inherit;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.01em;white-space:nowrap;text-decoration:none}.nav-entry:hover .nav-entry-head,.nav-entry:focus-within .nav-entry-head,.nav-entry.is-open .nav-entry-head{background:#3c4a5b}.nav-expand{border:0;background:none;color:inherit;padding:10px 7px}.nav-panel{display:none;position:absolute;top:100%;left:0;min-width:290px;max-width:calc(100vw - 32px);background:#fff;color:var(--fp-text);border:1px solid var(--fp-line);border-radius:0 0 10px 10px;box-shadow:var(--fp-shadow);padding:22px}.nav-entry:hover>.nav-panel,.nav-entry:focus-within>.nav-panel,.nav-entry.is-open>.nav-panel{display:grid}.nav-panel.nav-grid{width:max-content;grid-template-columns:repeat(var(--menu-cols),minmax(130px,155px));gap:18px 14px}.nav-panel.nav-list{min-width:270px;padding:10px}.nav-child{color:var(--fp-text);font-size:13px;text-align:center;padding:8px 5px;border-radius:6px;min-height:40px}.nav-child:hover{background:#eff6fb;text-decoration:none}.nav-child img{width:100%;height:86px;object-fit:contain;display:block;margin-bottom:5px}.nav-list .nav-child{text-align:left;padding:10px 14px}.language-picker{margin-left:auto;display:flex;align-items:center;gap:11px;font-size:13px}.language-picker a{color:#fff}.site-menu-trigger{display:none}.site-main{min-height:55vh;background:#fff}.page-wrap{padding-block:32px 55px}.page-heading{padding:15px 0 25px}.site-footer{background:#273342;color:#ebf1f6;padding:36px 0}.site-footer p{font-size:13px;color:#abbdd0;margin-top:10px}
 .content-block{margin:0 0 26px}.content-block figure{margin:0}.content-block figcaption{color:var(--fp-muted);font-size:12px;margin-top:6px}.content-block .richtext{max-width:100%;overflow-wrap:anywhere}.richtext p{margin-bottom:10px}.fp-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}.fp-gallery img,.fp-carousel img{width:100%;height:180px;object-fit:cover;border-radius:7px}.fp-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:15px}.fp-carousel figure{flex:0 0 min(280px,80vw);scroll-snap-align:start}.carousel-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.carousel-controls button{padding:6px 15px;border:1px solid var(--fp-line);background:#fff;border-radius:6px;font-size:22px}.fp-tabs [role=tablist]{display:flex;gap:8px;border-bottom:1px solid var(--fp-line);flex-wrap:wrap}.fp-tabs [role=tab]{padding:10px 15px;border:0;background:#f3f6f8;border-radius:7px 7px 0 0}.fp-tabs [role=tab][aria-selected=true]{background:var(--fp-blue);color:white}.fp-tabs [role=tabpanel]{padding:20px 5px}.fp-accordion details{border-bottom:1px solid var(--fp-line);padding:15px 10px}.fp-accordion summary{cursor:pointer;font-weight:600}.fp-accordion details>div{padding:15px}.fp-modal{border:0;border-radius:12px;padding:28px;width:min(780px,calc(100% - 28px));max-height:85vh;box-shadow:var(--fp-shadow)}.fp-modal::backdrop{background:#192631ae}.fp-modal-head{display:flex;justify-content:space-between;gap:18px}.fp-modal-head button{border:0;background:none;font-size:28px}.form-pending{background:#f8fafb;border:1px dashed #adbecb;border-radius:8px;padding:16px;color:var(--fp-muted)}
}
@layer utilities {
 [hidden]{display:none!important}
 @media(max-width:1100px){.nav-entry-head>a{padding:14px 8px;font-size:11px}.nav-panel.nav-grid{grid-template-columns:repeat(min(4,var(--menu-cols)),minmax(115px,1fr))}.site-contact{gap:12px}}
 @media(max-width:860px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;gap:13px;padding:14px}.admin-sidebar nav{display:flex;gap:7px;flex-wrap:wrap}.admin-sidebar nav a{width:auto;font-size:12px}.sidebar-logout{margin:0}.editor-layout{grid-template-columns:1fr}.editor-side{position:static}.site-contact{display:none}.site-menu-trigger{display:block;background:var(--fp-navy);border:0;color:white;border-radius:7px;padding:10px 14px}.site-head-inner{min-height:78px}.site-nav{display:none}.site-nav.nav-mobile-open{display:block}.nav-inner{display:block;width:100%}.nav-entry-head{justify-content:space-between;padding-inline:14px}.nav-entry-head>a{font-size:13px;padding:14px 0}.nav-expand{font-size:19px;padding:10px 19px}.nav-panel{position:static;width:100%!important;max-width:100%;box-shadow:none;border-radius:0;display:none!important}.nav-entry.is-open>.nav-panel{display:grid!important}.nav-panel.nav-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:13px}.nav-panel.nav-list{grid-template-columns:1fr}.nav-child img{height:70px}.language-picker{padding:14px}}
 @media(max-width:580px){.stat-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.panel{padding:16px}.admin-content{padding:14px}.admin-header{padding:19px 14px}.toolbar form{width:100%;min-width:0}.nav-panel.nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-logo{font-size:25px}}
 @media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
}
/* FactorPrint CMS — first-install wizard, version 0.1.1 / CSS Snapshot 2026 */
@layer components {
  .install-body{display:block;min-height:100vh;padding:35px 16px;background:#eef3f7}
  .install-layout{max-width:840px;margin:0 auto}
  .install-header{margin:10px 0 25px}.install-brand{font-size:27px;font-weight:850;letter-spacing:-.03em;color:#263747}.install-brand span{color:var(--fp-blue)}
  .install-header h1{font-size:30px;margin:8px 0}.install-header p,.install-subtitle,.install-hint{color:var(--fp-muted)}
  .install-card{padding:25px;margin-bottom:18px}.install-card h2{font-size:19px;margin:0 0 16px}
  .install-checks{display:grid;gap:7px}.install-check{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--fp-line);font-size:14px}
  .install-check small{font-size:12px;color:var(--fp-muted);text-align:right}.install-status{font-size:19px;font-weight:800}.install-status.is-ok{color:#27865e}.install-status.is-bad{color:#b83549}
  .install-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.install-actions button{cursor:pointer}.install-actions button:disabled{opacity:.4;cursor:not-allowed}
  .install-hint{font-size:12px;margin-top:14px}.install-success{font-size:23px;color:#246c4a;font-weight:800;margin-bottom:12px}
  .install-footer{text-align:center;padding:10px 0 30px;font-size:12px;color:#718396}
  .install-card label{font-size:13px;font-weight:600}.install-card label input{margin-top:6px}
}
@layer utilities {
  @media(max-width:650px){.install-check{grid-template-columns:22px 1fr}.install-check small{grid-column:2;text-align:left}.install-header h1{font-size:25px}.install-card{padding:17px}.install-actions button{width:100%}}
}

/* FactorPrint CMS — media library and picker, version 0.1.5; CSS Snapshot 2026. */
@layer components {
  .media-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:16px}
  .media-library-card{border:1px solid var(--fp-line);border-radius:var(--fp-radius-sm);overflow:hidden;background:var(--fp-surface);min-width:0}
  .media-library-card>img{display:block;width:100%;height:160px;object-fit:contain;background:var(--fp-canvas)}
  .media-library-info{padding:11px;display:grid;gap:8px;min-width:0}
  .media-library-info strong{font-size:13px;overflow-wrap:anywhere}
  .media-library-info small{font-size:12px;color:var(--fp-muted)}
  .media-library-copy{display:flex;gap:5px;flex-wrap:wrap}
  .media-library-copy input{flex:1;min-width:100px;font-size:12px}
  .media-select-button{margin-top:8px;font-size:12px;justify-self:start}
  .fp-media-dialog{width:min(950px,calc(100% - 24px));max-height:86vh;max-width:95vw;padding:22px}
  .fp-media-dialog-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}
  .fp-media-dialog h3{margin:0}
  .fp-media-dialog>input{margin-bottom:14px}
  .fp-media-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px;min-height:90px;overflow:auto;max-height:50vh}
  .fp-media-picker-item{border:1px solid var(--fp-line);border-radius:var(--fp-radius-sm);background:#fff;padding:7px;display:grid;gap:6px;min-width:0;text-align:left}
  .fp-media-picker-item:hover{border-color:var(--fp-blue);background:var(--fp-canvas)}
  .fp-media-picker-item img{width:100%;height:95px;object-fit:contain}
  .fp-media-picker-item span{font-size:11px;overflow-wrap:anywhere}
  .fp-media-picker-footer{margin-top:14px;display:flex;justify-content:flex-end}
}
/* FactorPrint CMS 0.1.6 — media management; CSS Snapshot 2026. */
@layer components {
 .fp-media-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
 .fp-media-tabs a{border-radius:7px;border:1px solid var(--fp-line);background:white;padding:10px 17px;font-weight:650;color:var(--fp-text)}
 .fp-media-tabs a.is-active{background:var(--fp-navy);color:white;border-color:var(--fp-navy)}
 .fp-media-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end}
 .fp-media-filters label{flex:1;min-width:180px}.fp-media-filters button{margin-bottom:14px}
 .fp-media-pagination,.fp-media-collections{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
 .fp-media-formats{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 18px}
 .fp-inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.fp-inline-form label{flex:1;min-width:220px}
 .fp-media-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:18px}
 .fp-media-preview{width:100%;max-height:450px;object-fit:contain;background:var(--fp-canvas);border-radius:8px}
 .fp-media-detail fieldset,.panel fieldset{border:1px solid var(--fp-line);border-radius:7px;margin:12px 0;padding:10px 16px}
 @media(max-width:820px){.fp-media-detail{grid-template-columns:1fr}}
}

/* FactorPrint CMS 0.1.8 — staging homepage; CSS Snapshot 2026. */
@layer components {
 .fp-staging-actions{display:flex;align-items:center;gap:15px;font-size:14px}
 .fp-staging-main{min-height:65vh;display:flex;align-items:center;background:radial-gradient(circle at 85% 20%,#e9f5fc 0,transparent 48%),#fff}
 .fp-staging-hero{max-width:760px;padding:clamp(45px,7vw,105px) 0}
 .fp-staging-hero h1{font-size:clamp(34px,5vw,62px);letter-spacing:-.04em;color:var(--fp-deep);margin:14px 0 20px}
 .fp-staging-hero>p{font-size:clamp(16px,1.8vw,20px);color:#526476;max-width:650px}
 .fp-staging-eyebrow{display:inline-block;letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700;color:var(--fp-blue-dark)}
 .fp-staging-hero .fp-staging-note{font-size:14px;color:#738393;max-width:590px;margin-top:25px}
 .fp-staging-links{display:flex;gap:12px;margin-top:24px}
}

/* FactorPrint CMS v0.1.14 — TinyMCE surface and shared Font Awesome / jQuery integration; CSS Snapshot 2026. */
@layer components {
 .fp-rich-editor{min-height:260px!important;resize:vertical;font:14px/1.5 ui-monospace,monospace}
 .fp-editor-fallback{border-color:var(--fp-blue);background:#f9fcff}
 .builder-field:has(.fp-rich-editor) {min-width:0}
 .builder-field .tox.tox-tinymce{border:1px solid var(--fp-line);border-radius:var(--fp-radius-sm);box-shadow:none}
 .builder-field .tox .tox-edit-area__iframe{background:#fff}
 .fp-html-content{line-height:1.55;overflow-wrap:anywhere}
 .fp-html-content img{max-width:100%;height:auto}
 .fp-html-content table{border-collapse:collapse;width:100%}
 .fp-html-content a{text-decoration:underline}
 .fp-html-content ul,.fp-html-content ol{margin:0 0 1rem;padding-inline-start:1.6rem}
 .fp-html-content blockquote{border-left:3px solid var(--fp-blue);margin:1rem 0;padding:8px 16px;background:var(--fp-canvas)}
 .fp-html-content pre{white-space:pre-wrap}
}

/* FactorPrint CMS v0.1.15 — product Mega Menu and admin layout. CSS Snapshot 2026. */
@layer components {
 .site-header{isolation:isolate}.site-head-inner{gap:clamp(12px,2.5vw,36px)}
 .site-contact i{color:var(--fp-blue);margin-inline-end:7px}
 .site-nav{background:#152b36}
 .nav-inner{width:min(1300px,calc(100% - 24px))}
 .nav-entry{position:relative}
 .nav-entry:has(>.nav-grid){position:static}
 .nav-entry-head>a{display:inline-flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap;padding:17px 10px}
 .nav-entry-head>a i{font-size:13px;opacity:.85}
 .nav-expand{min-height:44px;min-width:30px;display:grid;place-items:center}
 .nav-expand i{font-size:10px;transition:transform .18s}
 .nav-entry.is-open .nav-expand i{transform:rotate(180deg)}
 .nav-entry:has(>.nav-grid)>.nav-panel{left:0}
 .nav-panel{z-index:50;border:1px solid #dce3ea;box-shadow:0 22px 45px #142d3c22}
 .nav-panel.nav-grid{grid-template-columns:repeat(var(--menu-cols),minmax(0,1fr));width:min(1120px,calc(100vw - 42px));max-width:100%;gap:12px 15px;padding:22px 28px;max-height:min(75vh,660px);overflow:auto}
 .nav-panel.nav-list{max-height:min(75vh,660px);overflow:auto}
 .nav-child{display:flex;flex-direction:column;align-items:center;gap:6px;justify-content:start;text-align:center;min-width:0;padding:9px 6px}
 .nav-child-art{display:grid;place-items:center;width:100%;height:92px;min-width:0;color:#1685bb}
 .nav-child-art img{width:100%;height:88px;margin:0;object-fit:contain}
 .nav-child-art>i{font-size:32px}.nav-child-art>.nav-child-placeholder{opacity:.35;font-size:24px}
 .nav-child-copy{display:grid;gap:3px;min-width:0;max-width:100%}
 .nav-child-title{font-size:13px;font-weight:600;line-height:1.32;overflow-wrap:anywhere}
 .nav-child-description{font-size:11px;color:var(--fp-muted);line-height:1.35;overflow-wrap:anywhere}
 .nav-panel.nav-list .nav-child{flex-direction:row;text-align:left;align-items:center;gap:10px;min-height:44px}
 .nav-panel.nav-list .nav-list-icon{font-size:17px;min-width:24px;color:var(--fp-blue)}
 .language-picker a[aria-current]{font-weight:750;color:#fff}
 .fp-menu-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
 .fp-menu-preview-frame{display:block;width:100%;height:370px;border:1px solid var(--fp-line);border-radius:8px;background:#f6f8fb}
 .fp-menu-preview-content{min-height:260px;padding:22px 10px}
 .fp-menu-tree{display:grid;gap:10px}.fp-menu-group{border:1px solid var(--fp-line);border-radius:7px;overflow:hidden}
 .fp-menu-group-title,.fp-menu-tree-child{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 13px}
 .fp-menu-group-title{background:#f2f6f8}.fp-menu-group-title>form,.fp-menu-tree-child>form{margin-left:auto;display:flex;gap:5px}
 .fp-menu-tree-child{border-top:1px solid var(--fp-line);padding-left:27px}
 .fp-move-button{background:#fff;border:1px solid var(--fp-line);border-radius:5px;min-width:34px;height:32px;font-weight:800}
 .fp-move-button:hover{background:#e5f4fb}
 .fp-menu-editor-thumb{width:120px;height:80px;object-fit:contain;background:var(--fp-canvas);border:1px solid var(--fp-line);border-radius:6px}
}
@layer utilities {
 @media(max-width:1100px){.nav-entry-head>a{padding:14px 8px;font-size:11px}.nav-panel.nav-grid{grid-template-columns:repeat(min(4,var(--menu-cols)),minmax(0,1fr));width:min(820px,calc(100vw - 26px))}}
 @media(max-width:860px){
  .site-head-inner{min-height:74px;padding-right:105px}.site-header>.site-menu-trigger{position:absolute;top:23px;right:14px;display:inline-flex;align-items:center;gap:9px;z-index:5}
  .site-nav{display:none}.site-nav.nav-mobile-open{display:block}
  .nav-inner{display:block;width:100%}.nav-entry:has(>.nav-grid){position:relative}
  .nav-entry-head{padding:0 12px}.nav-entry-head>a{font-size:13px;white-space:normal;padding:14px 0;flex:1}
  .nav-expand{min-width:50px;min-height:48px}
  .nav-panel{position:static;display:none!important;width:100%!important;max-width:100%!important;max-height:none;overflow:visible;border:0;border-radius:0;box-shadow:none}
  .nav-entry.is-open>.nav-panel{display:grid!important}
  .nav-panel.nav-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:12px}
  .nav-child-art{height:68px}.nav-child-art img{height:65px}.nav-child-art>i{font-size:25px}
  .nav-panel.nav-list{padding:4px 12px 12px}.nav-child-title{font-size:12px}
  .fp-menu-preview-frame{height:460px}
 }
 @media(max-width:580px){.nav-panel.nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-menu-preview-frame{height:520px}}
 @media(hover:none){.nav-entry:hover:not(.is-open)>.nav-panel{display:none}}
}

/* FactorPrint CMS 0.1.16 — composable page layouts, template library and responsive preview; CSS Snapshot 2026. */
@layer components {
  .fp-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}
  .fp-template-card{display:flex;flex-direction:column;gap:8px;padding:22px;background:#fafcfe;border:1px solid var(--fp-line);border-radius:12px;min-height:215px}
  .fp-template-card h3{font-size:17px;margin:0}.fp-template-card p{font-size:13px;color:var(--fp-muted);line-height:1.55}.fp-template-card .muted{margin-top:auto}
  .fp-template-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;color:var(--fp-blue-dark);background:#e2f3fc;font-size:21px;margin-bottom:6px}
  .fp-layout-picker{padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:end;background:#f2f8fc;border:1px solid #d5e9f5;border-radius:9px}
  .fp-layout-picker label{margin:0}.fp-layout-picker>a{margin-bottom:10px;font-size:13px}
  .fp-live-preview-panel{min-width:0}.fp-preview-toolbar{display:flex;align-items:center;gap:8px;margin:16px 0;flex-wrap:wrap}
  .fp-live-preview{display:block;width:100%;height:580px;border:1px solid var(--fp-line);border-radius:10px;background:white;transition:width .2s ease;max-width:100%;margin-inline:auto}
  .fp-live-preview.fp-live-preview-mobile{width:390px}
  .fp-preview-body{margin:0;background:#fff}.fp-preview-body .site-main{min-height:100%}
  .fp-page{--fp-page-section-space:clamp(24px,3.3vw,48px)}
  .fp-page>.content-block{margin-block-end:var(--fp-page-section-space)}
  .fp-page.fp-page-knowledge_article,.fp-page.fp-page-content_page,.fp-page.fp-page-knowledge_topic_archive{max-width:1100px}
  .fp-page.fp-page-knowledge_article>.block-rich_text,.fp-page.fp-page-content_page>.block-rich_text{max-width:900px}
  .fp-hero{background:linear-gradient(125deg,#e5f3f9 0%,#f5fafd 55%,#eaf5fb 100%);border:1px solid #d8eaf4;border-radius:18px;padding:clamp(26px,4.5vw,70px);display:grid;grid-template-columns:minmax(0,1fr);min-height:300px;align-items:center;gap:34px;overflow:hidden}
  .fp-hero-with-image{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
  .fp-hero h1{font-size:clamp(29px,4vw,55px);line-height:1.12;letter-spacing:-.035em;color:#153c57;max-width:760px;margin:0 0 22px}
  .fp-hero-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:750;font-size:12px;color:var(--fp-blue-dark);margin-bottom:17px}
  .fp-hero-description{font-size:clamp(15px,1.6vw,19px);color:#476477;max-width:620px;margin:0 0 25px;line-height:1.65}
  .fp-hero-visual{height:100%;min-height:200px;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:#ffffff90}
  .fp-hero-visual>img{width:100%;height:100%;max-height:470px;object-fit:cover;display:block}
  .fp-columns{display:grid;grid-template-columns:repeat(var(--fp-cols,2),minmax(0,1fr));gap:22px}
  .fp-column{min-width:0;padding:clamp(15px,2.8vw,32px);border:1px solid var(--fp-line);border-radius:12px;background:#fff;box-shadow:0 6px 22px rgb(26 47 67 / 4%)}
  .fp-column h3{font-size:20px;color:#184b69;margin:0 0 17px}.fp-column .content-block:last-child{margin-bottom:0}
  .fp-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:18px}
  .fp-feature-card{display:flex;flex-direction:column;gap:10px;color:var(--fp-text);background:#fff;border:1px solid var(--fp-line);border-radius:12px;padding:20px;text-decoration:none!important;min-width:0;transition:box-shadow .15s,transform .15s}
  a.fp-feature-card:hover{box-shadow:0 12px 24px #1c58751a;transform:translateY(-2px)}
  .fp-feature-card img{width:100%;height:175px;object-fit:contain;display:block}
  .fp-feature-card h3{font-size:19px;margin:0;color:#1c4d6d}.fp-feature-card p{font-size:14px;color:var(--fp-muted);margin:0;line-height:1.55}
  .fp-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#193d54;color:white;padding:clamp(24px,4.5vw,56px);border-radius:16px}
  .fp-cta h2{font-size:clamp(22px,2.8vw,33px);color:white;margin:0 0 8px}.fp-cta p{color:#d0e4ed;font-size:16px;margin:0;max-width:730px}
  .fp-cta>.button{white-space:nowrap;background:#fff;color:#184762!important;border-color:#fff}.fp-cta>.button:hover{background:#e2f3fc}
}
@layer utilities {
 @media(max-width:970px){.fp-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-hero-with-image{grid-template-columns:1fr}.fp-hero-visual{max-height:340px}}
 @media(max-width:700px){.fp-layout-picker{grid-template-columns:1fr}.fp-layout-picker>a{margin:0}.fp-columns{grid-template-columns:1fr}.fp-hero{min-height:0;padding:27px 22px}.fp-hero h1{font-size:clamp(27px,7vw,40px)}.fp-cta{flex-direction:column;align-items:flex-start}.fp-feature-grid{grid-template-columns:1fr}}
 @media(prefers-reduced-motion:reduce){.fp-feature-card,.fp-live-preview{transition:none}}
}

/* FactorPrint CMS 0.1.17 — global components and theme options; CSS Snapshot 2026. */
@layer components {
 .fp-design-nav{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:20px}
 .fp-design-form{max-width:1080px}.fp-design-form .form-grid{margin-block:10px 17px}
 .fp-design-form input[type=color]{min-height:48px;padding:5px;width:min(100%,240px)}
 .fp-site-logo-image{display:block;width:auto;max-width:230px;max-height:65px;object-fit:contain}
 .fp-global-slot{background:#f6fafc;border-block:1px solid #e0eaf0;padding:clamp(15px,2vw,28px) 0}
 .fp-global-slot .fp-shared-section>.content-block:last-child,.fp-footer-extra .fp-shared-section>.content-block:last-child{margin-bottom:0}
 .fp-shared-section{min-width:0}.fp-slot-before-footer{background:#f1f8fc}
 .fp-footer-extra{margin-top:22px;padding-top:20px;border-top:1px solid #627b8c}
 .site-nav{background:var(--fp-site-nav,var(--fp-navy))}
 .top-stripe{background:var(--fp-blue)}
}
@layer utilities {
 @media(max-width:700px){.fp-site-logo-image{max-width:175px;max-height:52px}.fp-design-nav>a{flex:0 0 auto}}
}

/* FactorPrint CMS 0.1.18 — CSS Snapshot 2026: Ukrainian i18n module controls. */
.fp-language-toggle{display:flex;align-items:center;gap:.65rem;line-height:1.5;padding:.6rem 0;font-weight:600}
.fp-language-toggle input{width:1.2rem;height:1.2rem;flex:none;accent-color:var(--fp-blue,#1685bb)}
.admin-content form[id^="fp-i18n-"] input[type="text"]{width:100%;max-width:34rem}
@media(max-width:720px){.admin-content form[id^="fp-i18n-"] input[type="text"]{min-width:10rem!important}}

/* FactorPrint CMS 0.1.19 — CSS Snapshot 2026, template designer and safe block appearance. */
@layer components {
 .fp-page{width:min(var(--fp-template-max,1200px),calc(100% - 36px));max-width:var(--fp-template-max,1200px);background:var(--fp-template-bg,#fff);--fp-page-section-space:var(--fp-template-space,36px)}
 .fp-page.fp-page-content_page,.fp-page.fp-page-knowledge_article,.fp-page.fp-page-knowledge_topic_archive{max-width:var(--fp-template-max,1200px)}
 .fp-page>.content-block{margin-bottom:var(--fp-template-space,36px)}
 .fp-page .fp-columns{gap:var(--fp-template-grid-gap,22px)}
 .fp-page .fp-feature-grid{grid-template-columns:repeat(var(--fp-block-cols-desktop,var(--fp-template-cols-desktop,3)),minmax(0,1fr));gap:var(--fp-template-grid-gap,22px)}
 .fp-page .fp-columns{grid-template-columns:repeat(var(--fp-block-cols-desktop,var(--fp-cols,2)),minmax(0,1fr))}
 .fp-visual-bg-white{background:#fff}.fp-visual-bg-muted{background:#eef4f7}.fp-visual-bg-brand{background:#e3f3fb}.fp-visual-bg-dark{background:#263747;color:#fff}.fp-visual-bg-dark h2,.fp-visual-bg-dark h3{color:#fff}
 .fp-visual-pad-small{padding:12px}.fp-visual-pad-medium{padding:26px}.fp-visual-pad-large{padding:clamp(32px,4vw,60px)}.fp-visual-pad-none{padding:0}
 .fp-visual-radius-small{border-radius:6px}.fp-visual-radius-medium{border-radius:14px}.fp-visual-radius-large{border-radius:26px}.fp-visual-radius-none{border-radius:0}
 .fp-visual-width-narrow{max-width:780px;margin-inline:auto}.fp-visual-width-full{width:100%}
 .fp-builder-appearance{margin:12px 0;border:1px solid var(--fp-line);padding:12px;border-radius:9px;background:#f9fcfe}.fp-builder-appearance summary{font-weight:700;cursor:pointer}.fp-builder-appearance .builder-field{margin:9px 0}
 .fp-font-list{display:grid;gap:12px;margin-top:17px}.fp-font-list>div{border-bottom:1px solid var(--fp-line);padding:8px 0}
}
@layer utilities {
 @media(max-width:970px){.fp-page .fp-columns,.fp-page .fp-feature-grid{grid-template-columns:repeat(var(--fp-block-cols-tablet,var(--fp-template-cols-tablet,2)),minmax(0,1fr))}}
 @media(max-width:700px){.fp-page .fp-columns,.fp-page .fp-feature-grid{grid-template-columns:repeat(var(--fp-block-cols-mobile,var(--fp-template-cols-mobile,1)),minmax(0,1fr))}}
}


/* FactorPrint CMS 0.1.20 — CSS Snapshot 2026: viewport-safe mobile pages and right-side off-canvas navigation. */
@layer components {
  .site-nav-backdrop, .site-nav-mobile-head {display:none}
  /* Flexible content should never enlarge the viewport to its min-content width. */
  .public-body .site-main, .public-body .page-wrap, .public-body .fp-page,
  .public-body .content-block, .public-body .fp-column,
  .public-body .fp-hero > *, .public-body .fp-cta > * {min-inline-size:0}
  .public-body :is(.richtext,.fp-html-content,.fp-page,.fp-staging-hero,
                    .fp-column,.fp-feature-card,.fp-global-slot) {overflow-wrap:anywhere}
  .public-body :is(.richtext,.fp-html-content) :is(img,video,iframe,svg,canvas,embed,object) {
    max-inline-size:100%;height:auto;
  }
  .public-body :is(.richtext,.fp-html-content) pre {white-space:pre-wrap;overflow-wrap:anywhere}
  .public-body :is(.richtext,.fp-html-content) table {max-inline-size:100%;overflow-wrap:anywhere}
}
@layer utilities {
  @media (max-width:860px) {
    /* Prevent transformed off-screen panels or wide imported content from creating page scroll. */
    html, body.public-body {max-inline-size:100%;overflow-x:clip}
    .public-body .container, .public-body .site-head-inner, .public-body .fp-page {
      min-inline-size:0;max-inline-size:100%;
    }
    .site-header{z-index:100;isolation:isolate}
    .site-head-inner{gap:12px;min-inline-size:0}
    .site-logo{min-inline-size:0;overflow-wrap:anywhere}
    .site-header>.site-menu-trigger{z-index:2}
    /* Fixed to viewport rather than participating in the header's layout. */
    .site-header>.site-nav{
      display:block;position:fixed;inset-block:0;inset-inline:auto 0;
      inline-size:min(390px,calc(100vw - 32px));max-inline-size:100vw;
      block-size:100vh;block-size:100dvh;overflow-y:auto;overflow-x:clip;
      overscroll-behavior:contain;background:var(--fp-site-nav,var(--fp-navy));
      transform:translate3d(100%,0,0);visibility:hidden;pointer-events:none;
      z-index:101;box-shadow:-14px 0 35px #06182440;
      transition:transform .24s ease,visibility 0s linear .24s;
    }
    .site-header>.site-nav.nav-mobile-open{
      transform:translate3d(0,0,0);visibility:visible;pointer-events:auto;
      transition:transform .24s ease,visibility 0s linear 0s;
    }
    .site-nav-backdrop:not([hidden]){
      display:block;position:fixed;inset:0;z-index:100;
      background:#081827b3;border:0;border-radius:0;padding:0;margin:0;
      inline-size:100vw;block-size:100vh;block-size:100dvh;
      cursor:pointer;
    }
    .site-nav-mobile-head{
      display:flex;align-items:center;justify-content:space-between;gap:12px;
      min-block-size:72px;padding:15px 18px;border-bottom:1px solid #ffffff29;
      color:#fff;font-size:18px;font-weight:700;
    }
    .site-nav-close{
      display:grid;place-items:center;inline-size:44px;block-size:44px;
      flex:none;border:1px solid #ffffff55;border-radius:8px;
      background:#ffffff14;color:#fff;font-size:20px;
    }
    .site-nav .nav-inner{display:flex;flex-direction:column;align-items:stretch;width:100%;padding-block:7px 24px}
    .site-nav .nav-entry{width:100%;min-width:0}
    .site-nav .nav-entry-head{gap:2px;border-bottom:1px solid #ffffff18}
    .site-nav .nav-entry-head>a{min-width:0;overflow-wrap:anywhere}
    .site-nav .nav-panel{min-width:0;max-width:100%!important;overflow-x:hidden}
    .site-nav .nav-child{min-width:0}
    .site-nav .nav-child-title{overflow-wrap:anywhere}
    .site-nav .language-picker{margin:8px 18px 0;padding:12px 0}
    html.fp-mobile-nav-open,html.fp-mobile-nav-open body{overflow:hidden;overscroll-behavior:none}
    .fp-staging-home .site-head-inner{min-width:0}
    .fp-staging-home .fp-staging-actions{min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:8px}
    .fp-staging-hero{min-width:0}
    .fp-staging-hero h1{overflow-wrap:anywhere}
  }
  @media (max-width:420px) {
    /* On the unpublished home screen the extra admin/language links need their own row. */
    .fp-staging-home .site-head-inner{flex-wrap:wrap;padding-block:12px;gap:8px}
    .fp-staging-home .site-logo{font-size:clamp(21px,6vw,25px)}
    .fp-staging-home .fp-staging-actions{width:100%;justify-content:flex-start}
  }
  @media (prefers-reduced-motion:reduce){.site-header>.site-nav{transition:none}}
}

/* FactorPrint CMS 1.0.0 — public typography, logo sizing and link-state palette; CSS Snapshot 2026. */
@layer utilities {
 .public-body .site-logo{min-width:0;max-width:min(100%,var(--fp-logo-width,230px));flex-shrink:1}
 .public-body .fp-site-logo-image{width:var(--fp-logo-width,230px);height:var(--fp-logo-height,65px);max-width:100%;max-height:200px;object-fit:contain}
 .public-body .site-main{color:var(--fp-text-color,#253241);font-size:var(--fp-text-size,16px)}
 .public-body .site-main h1{font-size:var(--fp-h1-size,42px)}
 .public-body .site-main h2{font-size:var(--fp-h2-size,32px)}
 .public-body .site-main h3{font-size:var(--fp-h3-size,26px)}
 .public-body .site-main h4{font-size:var(--fp-h4-size,22px)}
 .public-body .site-main h5{font-size:var(--fp-h5-size,18px)}
 .public-body .site-main h6{font-size:var(--fp-h6-size,16px)}
 .public-body .site-main :is(p,li,blockquote){font-size:inherit}
 .public-body .site-main a:link{color:var(--fp-link-color,#086b9a)}
 .public-body .site-main a:visited{color:var(--fp-link-visited-color,#68489a)}
 .public-body .site-main a:hover{color:var(--fp-link-hover-color,#1685bb)}
 .public-body .site-main a:active{color:var(--fp-link-active-color,#b53140)}
 @media(max-width:860px){.public-body .site-logo{max-width:min(100%,var(--fp-logo-width,230px))}.public-body .fp-site-logo-image{max-width:100%;height:min(var(--fp-logo-height,65px),120px)}}
}

/* FactorPrint CMS 1.0.1 — grouped Ukrainian admin navigation and draggable lists; CSS Snapshot 2026. */
@layer components {
 .admin-sidebar{gap:20px}.fp-admin-nav{display:grid;gap:8px}
 .admin-sidebar .fp-admin-link{display:flex;align-items:center;gap:11px;min-height:39px;padding:8px 12px;border-radius:8px;font-size:13px;line-height:1.35;color:#d7e4ee;text-decoration:none}
 .admin-sidebar .fp-admin-link>i{width:19px;text-align:center;opacity:.88}
 .admin-sidebar .fp-admin-link.is-current{background:#19577a;color:#fff;font-weight:700;box-shadow:inset 3px 0 #57c6f4}
 .admin-sidebar .fp-admin-link:hover{background:#344255;text-decoration:none;color:#fff}
 .fp-admin-group{min-width:0}.fp-admin-group summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;color:#9fc0d3;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;border-radius:8px}
 .fp-admin-group summary::-webkit-details-marker{display:none}.fp-admin-group summary>i:first-child{width:19px;text-align:center}
 .fp-admin-group summary:hover{background:#344255;color:#fff}.fp-group-chevron{margin-left:auto;font-size:10px;transition:transform .18s}.fp-admin-group[open] .fp-group-chevron{transform:rotate(180deg)}
 .fp-admin-group-links{padding:2px 0 5px 9px;display:grid;gap:2px}
 .sidebar-logout{display:flex;align-items:center;gap:10px;font-size:13px}
 .fp-content-toolbar form input{min-width:min(240px,70vw)}.fp-toolbar-buttons{display:flex;flex-wrap:wrap;gap:8px}
 .fp-content-table{min-width:920px}.fp-content-table th:last-child{min-width:212px}
 .fp-content-table .fp-col-handle{width:75px;text-align:center;padding-inline:5px}
 .fp-row-sort{display:flex;align-items:center;justify-content:center;gap:5px}
 .fp-sort-grip{cursor:grab;touch-action:none;color:#708ea0;padding:10px 3px;border-radius:5px;font-size:17px}
 .fp-sort-grip:active{cursor:grabbing}.fp-sort-steps{display:grid;gap:0}
 .fp-sort-steps button{width:25px;height:23px;background:none;border:0;color:#71879a;border-radius:4px;font-size:10px;display:grid;place-items:center}
 .fp-sort-steps button:hover{background:#e8f3f9;color:#086b9a}
 .fp-content-table tr.fp-row-dragging{opacity:.52;outline:2px dashed var(--fp-blue);background:#e6f5fc}
 .fp-content-title a{font-weight:700;color:#184967}.fp-content-title small,.fp-content-table .fp-qa-status{display:block;color:var(--fp-muted);margin-top:4px;font-size:11px}
 .fp-status{display:inline-block;border-radius:20px;padding:3px 8px;font-size:11px;font-weight:700;white-space:nowrap}
 .fp-status-published{color:#27664a;background:#e9f8ef}.fp-status-draft{color:#84662d;background:#fff5db}
 .fp-icon-actions{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}
 .fp-action-form{display:inline-flex;margin:0}.fp-icon-button{display:inline-grid;place-items:center;border:1px solid transparent;background:transparent;color:#466779;border-radius:7px;width:32px;height:34px;font-size:13px;cursor:pointer;padding:0;flex:none}
 .fp-icon-button:hover,.fp-icon-button:focus-visible{background:#e8f5fd;border-color:#b7def4;color:#04638f;text-decoration:none}
 .fp-icon-button.fp-icon-danger:hover{background:#fff0f1;border-color:#f1c7d0;color:#ad2435}
 .fp-list-feedback{margin:8px 0 13px;border-left:3px solid #55a4c2;padding:7px 11px;background:#f0f8fc;font-size:13px;color:#184e6d}
 .fp-list-feedback.fp-list-error{border-color:#b53140;background:#fff3f4;color:#922333}
 @media(max-width:900px){.admin-shell{grid-template-columns:minmax(0,1fr)}.admin-sidebar{padding:14px;gap:12px}.admin-sidebar .brand{margin-bottom:4px}.admin-sidebar .fp-admin-nav{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:7px}.fp-admin-group-links{padding-left:0}.editor-layout{grid-template-columns:minmax(0,1fr)}.editor-side{position:static}}
 @media(prefers-reduced-motion:reduce){.fp-group-chevron{transition:none}}
}
@layer utilities {
 @media(max-width:700px){
   .fp-content-toolbar form{min-width:0;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto}
   .fp-content-toolbar form input{min-width:0;width:100%}
   .fp-content-toolbar .button{padding:8px 10px}
   .fp-content-list{padding:14px}
   .fp-toolbar-buttons{width:100%}
   .admin-content{padding:12px}.admin-header{padding:18px 12px}
 }
}

/* FactorPrint CMS 1.0.2 — media library adapted from FPrint 2.77; CSS Snapshot 2026. */
.fp-media-topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.fp-media-toolbar-actions,.fp-media-view-buttons,.fp-media-filter-buttons,.fp-media-upload-bottom{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.fp-media-tabs{display:flex;align-items:center;gap:.2rem;flex-wrap:wrap;border-bottom:1px solid var(--border,#dce4eb);margin-bottom:1.25rem}
.fp-media-tabs a{color:inherit;text-decoration:none;padding:.75rem 1rem;border-bottom:2px solid transparent;font-weight:600}
.fp-media-tabs a.is-active{color:var(--accent,#096eae);border-color:currentColor}
.fp-media-upload[hidden]{display:none!important}
.fp-media-dropzone{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.8rem;text-align:center;min-height:166px;padding:1.2rem;border:2px dashed #9db4c8;border-radius:12px;background:#f8fbfd;cursor:pointer}
.fp-media-dropzone:hover,.fp-media-dropzone.is-dragover{border-color:#197fbe;background:#eaf5ff}
.fp-media-dropzone>i{font-size:2rem;color:#197fbe}
.fp-media-dropzone span{display:flex;flex-direction:column;gap:.35rem}
.fp-media-dropzone small{font-weight:400;color:#667586}
.fp-media-dropzone input{max-width:100%;font-size:.9rem}
.fp-media-upload-bottom{justify-content:space-between;margin-top:.9rem}
.fp-media-filters{margin-bottom:1rem}
.fp-media-filter-grid{display:grid;grid-template-columns:minmax(175px,1.6fr) repeat(3,minmax(130px,1fr)) auto;gap:12px;align-items:end}
.fp-media-filter-grid>label{min-width:0;display:flex;flex-direction:column;gap:5px}
.fp-media-filter-grid input,.fp-media-filter-grid select,.fp-media-view-buttons select,.fp-media-bulk-bar select{max-width:100%;width:100%;min-width:0}
.fp-media-extra-filters{margin-top:1rem}
.fp-media-extra-filters summary{font-weight:650;cursor:pointer;list-style-position:inside}
.fp-media-extra-filters .fp-media-filter-grid{margin-top:.9rem;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.fp-media-list-heading,.fp-media-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}
.fp-media-view-buttons select{width:auto;max-width:220px}
.fp-media-view-buttons .is-active{background:#1c3146;color:#fff}
.fp-media-bulk-bar{justify-content:flex-start;background:#fff;border:1px solid #dce4eb;padding:.65rem .85rem;border-radius:10px}
.fp-media-bulk-bar select{max-width:205px;width:auto}
.fp-media-selection-hint{font-size:.8rem;margin-left:auto}
.fp-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,205px),1fr));gap:1rem}
.fp-media-card{min-width:0;position:relative;background:#fff;border:1px solid #dce4eb;border-radius:10px;overflow:hidden;box-shadow:0 3px 10px rgb(20 42 62 / 4%);transition:box-shadow .16s,border-color .16s}
.fp-media-card:hover{border-color:#a4bcd2;box-shadow:0 6px 20px rgb(20 42 62 / 10%)}
.fp-media-card.is-selected,.fp-media-table tr.is-selected{background:#e9f5fe;border-color:#2389c9}
.fp-media-card-check{position:absolute;top:.55rem;left:.55rem;z-index:3;background:#fff;border:1px solid #dce4eb;border-radius:6px;box-shadow:0 2px 8px #0002;min-width:32px;min-height:32px;display:grid;place-items:center;cursor:pointer}
.fp-media-card-check input,.fp-media-table input[data-media-checkbox]{width:18px;height:18px;accent-color:#197fbe;cursor:pointer}
.fp-media-card-image{width:100%;height:165px;background:#f1f5f8;display:flex;justify-content:center;align-items:center;overflow:hidden}
.fp-media-card-image img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.fp-media-card-body{padding:.8rem;display:grid;gap:.4rem}
.fp-media-card-body strong{font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fp-media-card-body small{color:#607383;font-size:.77rem}
.fp-media-card-meta{display:flex;gap:.45rem;flex-wrap:wrap;font-size:.72rem;color:#63798b}
.fp-media-card-meta span{background:#f1f6f9;padding:.15rem .35rem;border-radius:4px}
.fp-media-card-actions{display:flex;align-items:center;gap:.4rem}
.fp-media-card-actions .button{padding:.35rem .65rem;line-height:1.2}
.fp-media-table-wrap{overflow-x:auto;max-width:100%;border-radius:10px;border:1px solid #dce4eb}
.fp-media-table{width:100%;min-width:750px;border-collapse:collapse;background:#fff}
.fp-media-table th,.fp-media-table td{padding:.55rem .7rem;border-bottom:1px solid #edf1f4;text-align:left;vertical-align:middle}
.fp-media-table th{font-size:.8rem;background:#f4f7fa}
.fp-media-table-thumb{max-width:64px;max-height:56px;object-fit:contain}
.fp-media-caption{display:block;font-size:.75rem;color:#607383;margin-top:.2rem}
.fp-media-pagination{display:flex;gap:.7rem;align-items:center;justify-content:center;margin:1.3rem auto;flex-wrap:wrap}
.fp-media-collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}
.fp-media-collection{border:1px solid #dce4eb;border-radius:10px;padding:1.1rem;display:flex;align-items:center;gap:.8rem;text-decoration:none;color:inherit}
.fp-media-collection>i{font-size:1.5rem;color:#197fbe}
.fp-media-collection span{display:flex;flex-direction:column;gap:.25rem}
.fp-media-collection small{color:#607383}
@media(max-width:1100px){.fp-media-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-media-filter-buttons{align-self:end}}
@media(max-width:560px){.fp-media-filter-grid{grid-template-columns:minmax(0,1fr)}.fp-media-view-buttons{width:100%}.fp-media-bulk-bar select{max-width:100%;width:100%}.fp-media-selection-hint{margin-left:0}.fp-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.fp-media-card-image{height:125px}.fp-media-card-body{padding:.55rem}.fp-media-topbar,.fp-media-list-heading{align-items:stretch}}
@media(max-width:360px){.fp-media-grid{grid-template-columns:minmax(0,1fr)}}

/* FactorPrint CMS 1.0.3 — CSS Snapshot 2026: maintenance cards and progress */
.fp-media-maintenance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;margin:1.25rem 0}
.fp-maintenance-card{min-width:0;padding:1rem;border:1px solid var(--border,#d7dde4);border-radius:12px;background:var(--surface,#fff)}
.fp-maintenance-card h3{margin:.1rem 0 .65rem}.fp-maintenance-card p{overflow-wrap:anywhere;font-size:.92rem}
.fp-maintenance-progress{margin:1rem 0;padding:1rem;border-radius:10px;background:var(--surface-soft,#f6f7f9)}
.fp-maintenance-progress progress{display:block;width:100%;height:1rem}.fp-maintenance-duplicate-group{padding:.8rem 0;border-top:1px solid #dde2e8}
.fp-maintenance-duplicate-group ul{margin:.5rem 0;padding-left:1.5rem;overflow-wrap:anywhere}

/* FactorPrint CMS 1.0.4 — CSS Snapshot 2026: contemporary admin controls, visual columns and bottom publisher. */
.admin-body{--fp-admin-focus:#257cce;--fp-admin-bg:#f3f7fb;--fp-admin-border:#dbe5ee;--fp-admin-tint:#eaf4fd;background:var(--fp-admin-bg)}
.admin-body .admin-content{max-width:1680px;min-width:0}
.admin-body .panel{min-width:0;border:1px solid var(--fp-admin-border);border-radius:16px;box-shadow:0 5px 18px rgb(18 53 84 / 4%)}
.admin-body .button,.admin-body .builder-tool,.admin-body .fp-icon-button{border-radius:10px;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.admin-body .button{font-size:13px;letter-spacing:.005em;box-shadow:0 2px 6px rgb(24 74 110 / 6%)}
.admin-body .button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 5px 13px rgb(21 71 104 / 11%)}
.admin-body .button-muted{background:#fff!important;color:#385369!important;border-color:#d5e2ed!important}
.admin-body .button-muted:hover{background:#eef6fd!important;border-color:#9cbdd5!important}
.admin-body .button:disabled,.admin-body .builder-tool:disabled{opacity:.52;cursor:not-allowed;transform:none}
.admin-body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border:1px solid #cad8e5;border-radius:10px;background:#fff;min-width:0;max-width:100%;transition:border-color .15s,box-shadow .15s}
.admin-body :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{outline:2px solid transparent;border-color:var(--fp-admin-focus);box-shadow:0 0 0 3px rgb(38 126 206 / 13%)}
.admin-body :is(input[type=checkbox],input[type=radio]){accent-color:var(--fp-admin-focus)}
.admin-body :is(.fp-media-filters,.fp-content-toolbar,.fp-media-topbar){background:#fff;border:1px solid var(--fp-admin-border);border-radius:14px;padding:14px;box-shadow:0 3px 12px rgb(23 54 85 / 3%)}
.admin-body .fp-media-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid #dce6ee;background:#edf3f8;border-radius:12px;margin-block:12px}
.admin-body .fp-media-tabs a{border-radius:9px;transition:background .15s,color .15s}
.admin-body .fp-media-tabs a.is-active{background:#fff;box-shadow:0 2px 8px rgb(25 75 112 / 12%)}
.admin-body .fp-media-filter-grid{gap:12px}.admin-body .fp-media-filter-grid>label{font-size:12px;font-weight:650;color:#38566d}
.admin-body .fp-media-card{border-radius:15px;box-shadow:0 4px 15px rgb(20 45 65 / 5%)}
.admin-body .fp-media-card:hover{border-color:#83b1d5;box-shadow:0 12px 28px rgb(24 58 90 / 11%)}
.admin-body .fp-media-card-image{background:#f0f5f9}
.admin-body .fp-media-card-actions .button{min-height:34px}
.admin-body .fp-media-bulk-bar{border-radius:12px;background:#f1f7fc;border-color:var(--fp-admin-border)}
/* Preserve full editor width; the publication controls float over the bottom viewport. */
.admin-body .editor-layout{display:block;min-width:0;padding-bottom:125px}
.admin-body .editor-main{min-width:0}
.admin-body .fp-publish-dock{position:fixed;z-index:70;bottom:12px;left:max(264px,calc((100vw - 1680px) / 2 + 264px));right:14px;width:auto;max-width:calc(100vw - 278px)}
.admin-body .fp-publish-dock>.panel{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;padding:11px 17px;background:rgb(255 255 255 / 96%);border:1px solid #c7dae9;box-shadow:0 12px 50px rgb(16 46 74 / 24%);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);margin:0;border-radius:16px}
.admin-body .fp-publish-dock :is(h2,.fp-publish-help){margin:0}
.admin-body .fp-publish-dock h2{margin-right:auto;font-size:15px;white-space:nowrap}
.admin-body .fp-publish-dock label{display:flex;align-items:center;gap:9px;margin:0;font-size:12px;font-weight:600;white-space:nowrap}
.admin-body .fp-publish-dock label select{width:145px;min-height:36px;padding:6px 28px 6px 10px;font-size:13px}
.admin-body .fp-publish-dock .fp-publish-save{white-space:nowrap;min-height:38px}
.admin-body .fp-publish-dock a.button{min-height:36px;padding:8px 10px;font-size:12px;white-space:nowrap}
.admin-body .fp-publish-dock .fp-publish-help{display:none}
.admin-body .fp-publish-dock .notice{margin:0}
/* Render column groups as real side-by-side editor columns. Nesting is still stored unchanged. */
.admin-body .fp-builder-columns{display:grid;grid-template-columns:repeat(var(--fp-editor-col-count,2),minmax(0,1fr));gap:14px;align-items:start;min-width:0}
.admin-body .fp-builder-column{min-width:0;margin:0;padding:14px;border:1px solid #cce0ed;border-radius:12px;background:#f6fafd;box-shadow:inset 0 2px 0 #add1e9}
.admin-body .fp-builder-column>.builder-field{display:block;min-width:0}
.admin-body .fp-builder-column .builder-block{min-width:0}
.admin-body .fp-builder-column .builder-bar{flex-wrap:wrap;gap:6px}
.admin-body .fp-builder-column .builder-actions{margin-left:auto}
.admin-body .fp-builder-columns .builder-field input,.admin-body .fp-builder-columns .builder-field textarea{width:100%}
.admin-body .fp-builder-column .tox{max-width:100%;min-width:0}
/* Menu reorder is constrained to sibling lists: no accidental hierarchy changes. */
.admin-body .fp-menu-tree,.admin-body .fp-menu-children{min-width:0}
.admin-body .fp-menu-children{display:grid}
.admin-body .fp-menu-group{border-radius:13px;border-color:#cfdfeb;background:#fff}
.admin-body .fp-menu-group-title{background:#eef5fb}
.admin-body .fp-menu-tree-child{padding-left:18px}
.admin-body .fp-menu-grip{width:32px;height:34px;display:grid;place-items:center;background:#fff;border:1px solid #cadbe9;border-radius:8px;color:#527590;cursor:grab;flex:none;touch-action:none}
.admin-body .fp-menu-grip:active{cursor:grabbing}
.admin-body [data-menu-sort-item].is-dragging{opacity:.5;outline:2px dashed #268acd;outline-offset:-2px}
.admin-body .fp-menu-save-state{min-height:1.4em;color:#317552;margin:5px 0}
.admin-body .fp-menu-save-state.is-error{color:#bb283a}
.admin-body .fp-menu-group-title>form,.admin-body .fp-menu-tree-child>form{margin-left:auto}
/* Shared modal: searchable, paginated, with direct upload and accessible selection. */
.admin-body .fp-media-chooser{width:min(1040px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:90dvh;overflow-y:auto;border-radius:18px;padding:20px;border:1px solid #cbddea;box-shadow:0 24px 90px rgb(7 34 57 / 31%)}
.admin-body .fp-media-chooser::backdrop{background:rgb(9 33 56 / 68%);backdrop-filter:blur(2px)}
.admin-body .fp-media-modal-tools{display:grid;grid-template-columns:minmax(0,2fr) minmax(135px,1fr);gap:12px;margin:12px 0}
.admin-body .fp-media-modal-status{min-height:1.5em}
.admin-body .fp-media-chooser .fp-media-picker-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));max-height:calc(90dvh - 240px);min-height:100px;gap:12px}
.admin-body .fp-media-chooser .fp-media-picker-item{padding:9px;border-radius:12px;border-color:#d7e3ed;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.admin-body .fp-media-chooser .fp-media-picker-item:hover{border-color:#3d97d4;box-shadow:0 4px 14px rgb(25 93 143 / 13%)}
.admin-body .fp-media-chooser .fp-media-picker-item img{height:108px;object-fit:contain;width:100%}
.admin-body .fp-media-chooser .fp-media-picker-item>span{font-size:12px;overflow-wrap:anywhere}
.admin-body .fp-media-chooser .fp-media-picker-footer{justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:9px}
.admin-body .fp-media-modal-upload{position:relative;overflow:hidden;cursor:pointer}
.admin-body .fp-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;clip-path:inset(50%);padding:0!important}
@media(max-width:1180px){
 .admin-body .fp-publish-dock{left:14px;right:14px;max-width:none}
 .admin-body .fp-publish-dock>.panel{gap:8px}
 .admin-body .fp-builder-columns{grid-template-columns:repeat(min(var(--fp-editor-col-count,2),2),minmax(0,1fr))}
}
@media(max-width:700px){
 .admin-body .editor-layout{padding-bottom:195px}
 .admin-body .fp-publish-dock{left:8px;right:8px;bottom:8px}
 .admin-body .fp-publish-dock>.panel{justify-content:space-between;padding:9px;gap:8px}
 .admin-body .fp-publish-dock .fp-publish-title{display:none}
 .admin-body .fp-publish-dock label{flex:1 1 135px;min-width:0;display:block}
 .admin-body .fp-publish-dock label select{margin-top:3px;width:100%}
 .admin-body .fp-publish-dock .fp-publish-save{flex:1 1 100%}
 .admin-body .fp-publish-dock a.button{flex:1 1 auto}
 .admin-body .fp-builder-columns{grid-template-columns:1fr}
 .admin-body .fp-media-modal-tools{grid-template-columns:1fr}
 .admin-body .fp-media-chooser{padding:13px}
 .admin-body .fp-media-chooser .fp-media-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.admin-body .button,.admin-body .builder-tool{transition:none}}
/* Fixed publication bar must not inherit top:16px from the former sticky sidebar. */
.admin-body .editor-side.fp-publish-dock{top:auto;height:auto;min-height:0}


/* FactorPrint CMS 1.0.5 — CSS Snapshot 2026: compact right off-canvas publisher, settings, service pages. */
.admin-body .editor-layout{display:block;min-width:0}
.admin-body .editor-layout .editor-main{min-width:0;width:100%}
.admin-body .editor-layout > aside.editor-side.fp-publish-right-drawer{
 position:fixed!important;inset:0 0 0 auto!important;z-index:115;width:min(380px,calc(100vw - 18px))!important;
 max-width:none!important;min-height:0!important;height:100dvh!important;
 padding:78px 16px 24px;background:#f7fbfe;border-left:1px solid #d7e5f0;
 box-shadow:-18px 0 56px rgb(13 41 68 / 19%);overflow-y:auto;
 transform:translateX(calc(100% + 30px));visibility:hidden;
 transition:transform .28s cubic-bezier(.22,.7,.2,1),visibility .28s;
}
.admin-body .editor-layout.fp-publisher-open > aside.editor-side.fp-publish-right-drawer{visibility:visible;transform:translateX(0)}
.admin-body .fp-publish-right-drawer>.panel{display:grid;align-items:stretch;justify-content:stretch;gap:14px;padding:22px;box-shadow:none;border-radius:18px}
.admin-body .fp-publish-right-drawer h2{display:block!important;font-size:21px;margin:0 0 8px}
.admin-body .fp-publish-right-drawer label{display:grid!important;gap:6px;font-size:14px;white-space:normal}
.admin-body .fp-publish-right-drawer label select{width:100%;min-height:42px}
.admin-body .fp-publish-right-drawer :is(.fp-publish-help){display:block!important}
.admin-body .fp-publish-right-drawer .fp-publish-save{width:100%;min-height:44px}
.admin-body .fp-publish-right-drawer a.button{width:100%;justify-content:center;font-size:14px}
.admin-body .fp-publish-edge-toggle{
 position:fixed;z-index:116;right:0;top:43%;width:44px;padding:15px 8px;border:1px solid #2276a6;border-right:0;
 background:#146f9d;color:white;border-radius:13px 0 0 13px;box-shadow:-5px 7px 24px #17375046;
 display:flex;flex-direction:column;align-items:center;gap:9px;cursor:pointer;transition:right .28s cubic-bezier(.22,.7,.2,1);
}
.admin-body .fp-publish-edge-toggle span{font-size:11px;font-weight:700;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.04em}
.admin-body .fp-publish-edge-toggle:hover{background:#075d89}
.admin-body .fp-publish-edge-toggle:focus-visible{outline:3px solid #ffc84e;outline-offset:3px}
.admin-body .fp-publisher-open .fp-publish-edge-toggle{right:min(380px,calc(100vw - 18px))}
.admin-body .fp-system-settings{display:grid;gap:18px}
.admin-body .fp-system-settings .panel{display:grid;gap:15px}
.admin-body .fp-system-settings .panel h2{margin:0;display:flex;align-items:center;gap:9px}
.admin-body .fp-system-settings label{display:grid;gap:7px}
.admin-body .fp-system-settings .checkline{display:flex;align-items:center;gap:11px}
.admin-body .fp-system-settings .checkline input{width:auto}
.admin-body .fp-system-icon-row{display:flex;gap:10px;align-items:center}
.admin-body .fp-system-icon-row input{min-width:0;flex:1}
.admin-body .fp-service-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.admin-body .fp-system-save{display:flex;justify-content:flex-end;position:sticky;bottom:10px;z-index:10}
.admin-body .fp-system-save button{box-shadow:0 8px 28px #10394b27}
.public-body :is(.fp-hero-description,.fp-cta-description,.fp-feature-description) :is(p,ul,ol){margin:.35em 0 .8em}
.public-body :is(.fp-hero-description,.fp-cta-description,.fp-feature-description) p:last-child{margin-bottom:0}
.fp-service-body{margin:0;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 15% 16%,#e2f4ff 0,transparent 38%),linear-gradient(140deg,#f8fbfe,#e8f2fa);color:#17324b;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;position:relative;overflow-x:hidden}
.fp-service-body:after{content:'';position:absolute;right:-170px;top:-220px;width:570px;height:570px;border:1px solid #a7d4ee;border-radius:50%;pointer-events:none}
.fp-service-glow{position:absolute;width:44vw;height:44vw;min-width:330px;min-height:330px;left:-17vw;bottom:-24vw;border-radius:50%;background:#b9e4fa;filter:blur(90px);opacity:.45;pointer-events:none}
.fp-service-main{position:relative;z-index:1;min-height:100vh;min-height:100dvh;width:min(1140px,100%);margin:auto;padding:32px clamp(16px,4vw,48px);display:flex;flex-direction:column;gap:40px;box-sizing:border-box}
.fp-service-brand{display:flex;align-items:center;gap:13px;font-weight:850;font-size:18px;letter-spacing:-.03em}
.fp-service-brand-mark{display:grid;place-items:center;background:#087ab3;color:white;width:42px;height:42px;border-radius:13px;box-shadow:0 8px 22px #127fb944}
.fp-service-card{margin:auto 0;max-width:720px;padding:clamp(26px,5.5vw,68px);border:1px solid rgb(255 255 255 / 90%);background:rgb(255 255 255 / 84%);backdrop-filter:blur(12px);box-shadow:0 24px 80px #173e5618;border-radius:clamp(20px,3vw,32px)}
.fp-service-icon{width:70px;height:70px;border-radius:20px;display:grid;place-items:center;color:#0876aa;background:#e2f2fc;font-size:30px;margin-bottom:28px}
.fp-service-eyebrow{color:#1176a4;font-weight:850;font-size:12px;letter-spacing:.12em}
.fp-service-card h1{max-width:680px;font-size:clamp(32px,5vw,56px);letter-spacing:-.05em;line-height:1.12;margin:16px 0 22px;color:#152d42}
.fp-service-card p{font-size:clamp(16px,2vw,19px);line-height:1.75;color:#486075;margin:0;overflow-wrap:anywhere}
.fp-service-actions{margin-top:32px;display:flex;align-items:center;flex-wrap:wrap;gap:20px}
.fp-service-button{display:inline-flex;align-items:center;gap:10px;background:#0878ae;color:white;text-decoration:none;padding:13px 19px;border-radius:11px;font-weight:700}
.fp-service-button:hover{background:#005d90;color:white}
.fp-service-soon{font-size:14px;color:#58718b;font-weight:650;display:flex;align-items:center;gap:10px}
.fp-service-soon span{width:9px;height:9px;border-radius:50%;background:#35a98c;box-shadow:0 0 0 5px #35a98c20}
.fp-service-hint,.fp-service-footer{font-size:13px;color:#7690a3}
.fp-service-footer{padding-top:20px}
@media(max-width:700px){.admin-body .fp-service-setting-grid{grid-template-columns:1fr}.admin-body .fp-system-icon-row{flex-wrap:wrap}.admin-body .fp-system-icon-row input{flex-basis:100%}.admin-body .fp-publish-right-drawer>.panel{padding:15px}.fp-service-main{gap:28px}.fp-service-card{margin:auto 0}.admin-body .fp-publish-edge-toggle{top:47%}}
@media(prefers-reduced-motion:reduce){.admin-body .fp-publish-edge-toggle,.admin-body .fp-publish-right-drawer{transition:none}}
/* FactorPrint CMS 1.0.5 — prevent decorative 403/404/503 circles from expanding root scroll width. CSS Snapshot 2026. */
html:has(>body.fp-service-body){overflow-x:clip}

/* FactorPrint CMS 1.0.5 — standalone service icon readable without external icon fonts. */
.fp-service-icon span{font-weight:900;font-size:26px;letter-spacing:-.04em}

/* FactorPrint CMS 1.0.5 — standalone card link when rich description has its own links. */
.fp-feature-card-link{display:inline-flex;margin-top:12px;font-weight:750;text-decoration:underline}

/* FactorPrint CMS 1.0.5 — compact rich editors for short visual block descriptions. */
.admin-body .fp-rich-description{min-height:145px!important;font-size:13px}

/* FactorPrint CMS 1.0.6 — CSS Snapshot 2026: visual block layout matches the public grid. */
.admin-body .fp-builder-feature-grid{display:grid;grid-template-columns:repeat(var(--fp-editor-feature-count,3),minmax(0,1fr));gap:14px;align-items:start;min-width:0}
.admin-body .fp-builder-feature-card{min-width:0;margin:0;padding:14px;border:1px solid #c6dbea;background:#f9fcff;border-radius:13px;box-shadow:0 3px 12px rgb(12 48 75 / 5%)}
.admin-body .fp-builder-feature-card>strong{display:block;border-bottom:1px solid #d9e6f0;padding-bottom:10px;margin-bottom:12px}
.admin-body :is(.fp-builder-feature-card,.fp-builder-column,.fp-builder-images-grid .builder-item,.fp-builder-tabs-grid .builder-nested) :is(input,select,textarea,.tox,.builder-fields){max-width:100%;min-width:0;box-sizing:border-box}
.admin-body :is(.fp-builder-feature-card,.fp-builder-column) .tox-tinymce{min-width:0;max-width:100%;width:100%}
.admin-body :is(.fp-builder-feature-card,.fp-builder-column) .tox-editor-header{max-width:100%}
.admin-body .fp-builder-images-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr));gap:12px;align-items:start}
.admin-body .fp-builder-images-grid>.builder-item{margin:0;min-width:0}
.admin-body .fp-builder-tabs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px;align-items:start}
.admin-body .fp-builder-tabs-grid>.builder-nested{margin:0;padding:12px;border-left:3px solid #93cce6;border-radius:8px;background:#f8fbfe;min-width:0}
.admin-body .fp-rich-description{min-height:220px!important}
.admin-body .builder-fields{min-width:0}
.admin-body .builder-fields>.fp-builder-feature-grid .builder-field{display:block;min-width:0}
@media(max-width:1199px){.admin-body .fp-builder-feature-grid{grid-template-columns:repeat(min(var(--fp-editor-feature-count,3),2),minmax(0,1fr))}}
@media(max-width:700px){.admin-body .fp-builder-feature-grid{grid-template-columns:1fr}}

/* FactorPrint CMS 1.0.7 — Knowledge directory and clean admin LCP-friendly heading. CSS Snapshot 2026. */
.fp-kb-admin{min-width:0}.fp-kb-tabs{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1.25rem}.fp-kb-locale{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem}.fp-kb-admin-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:1.2rem}.fp-kb-list{min-width:0}.fp-kb-edit-item{border:1px solid #dce5f0;border-radius:14px;margin-bottom:.75rem;padding:1rem;background:#fff}.fp-kb-edit-item summary{cursor:pointer;font-weight:650;display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.fp-kb-edit-item summary small{margin-left:auto;color:#65758a;font-weight:400}.fp-kb-editor{display:grid;gap:.7rem;margin-top:.85rem;min-width:0}.fp-kb-editor label{display:grid;gap:.3rem}.fp-kb-editor input,.fp-kb-editor select,.fp-kb-editor textarea{max-width:100%;width:100%}.fp-kb-editor .fp-inline-check{display:flex;align-items:center;gap:.5rem}.fp-kb-inline-check input,.fp-inline-check input{width:auto}.fp-kb-add{background:#f8faff;border:1px solid #dce5f0;border-radius:14px;padding:1rem;margin-top:0;align-content:start}.fp-kb-delete{margin-top:.65rem}.fp-kb-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.fp-kb-public{padding-block:2.2rem 5rem}.fp-kb-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;color:#667892;margin-bottom:1.4rem;font-size:.91rem}.fp-kb-breadcrumbs span[aria-current]{font-weight:600;color:#15283f}.fp-kb-breadcrumbs a{text-decoration:none}.fp-kb-hero{border-radius:22px;padding:clamp(1.7rem,4vw,3.4rem);background:linear-gradient(130deg,#e9f5ff,#fff 70%);border:1px solid #dceaf5;margin-bottom:2rem}.fp-kb-hero h1{margin:.35rem 0 .7rem}.fp-kb-hero p{max-width:65ch;margin:0;color:#50647a}.fp-kb-eyebrow{color:#006fa3;font-weight:700;letter-spacing:.07em;text-transform:uppercase;font-size:.8rem}.fp-kb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.fp-kb-card{min-width:0;text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;gap:.8rem;background:#fff;border:1px solid #dce5f0;border-radius:16px;padding:1.35rem;box-shadow:0 6px 22px rgba(35,55,82,.035);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.fp-kb-card:hover,.fp-kb-card:focus-visible{transform:translateY(-3px);border-color:#8ac2e6;box-shadow:0 12px 28px rgba(35,55,82,.09)}.fp-kb-card strong{font-size:1.15rem;color:#172b42}.fp-kb-card-description{font-size:.95rem;line-height:1.55;color:#536881}.fp-kb-card-icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:12px;background:#edf6fd;color:#1177ab}.fp-kb-card-action{margin-top:auto;font-weight:700;color:#0b6597;font-size:.9rem}.fp-kb-empty{padding:2rem;background:#f7f9fc;border:1px dashed #c8d5e5;border-radius:12px;color:#536881}
@media(max-width:940px){.fp-kb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-kb-admin-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.fp-kb-grid{grid-template-columns:minmax(0,1fr)}.fp-kb-public{padding-block:1.2rem 2rem}.fp-kb-card{padding:1.1rem}.fp-kb-hero{border-radius:14px}}
@media(prefers-reduced-motion:reduce){.fp-kb-card{transition:none}.fp-kb-card:hover{transform:none}}

/* FPrint 2.77-inspired hierarchical support navigation, CSS Snapshot 2026. */
.fp-kb-section-tabs-wrap{background:#172b3c;overflow-x:auto}.fp-kb-section-tabs{display:flex;align-items:center;gap:.25rem;min-width:max-content}.fp-kb-section-tab{color:#ebf5fd;padding:1rem 1.15rem;text-decoration:none;border-bottom:3px solid transparent;display:inline-flex}.fp-kb-section-tab:hover,.fp-kb-section-tab.is-active{color:#fff;border-bottom-color:#49b5eb;background:#fff1}.fp-kb-category-tabs-wrap{background:#f1f5fa;border-bottom:1px solid #dce5f0;overflow-x:auto}.fp-kb-category-tabs{display:flex;align-items:center;gap:.55rem;min-width:max-content;padding-block:.55rem}.fp-kb-category-tab{display:inline-flex;padding:.6rem .85rem;text-decoration:none;border-radius:8px;color:#2c4960;font-weight:600;white-space:nowrap}.fp-kb-category-tab:hover,.fp-kb-category-tab.is-active{background:#fff;color:#0b6296;box-shadow:0 1px 4px #182d421a}.fp-kb-reader-layout{display:grid;grid-template-columns:minmax(210px,280px) minmax(0,1fr);align-items:start;gap:1.4rem}.fp-kb-article-nav{border:1px solid #dce5f0;border-radius:13px;display:grid;overflow:hidden;background:#fff;position:sticky;top:1.1rem}.fp-kb-article-nav strong{padding:1rem 1.2rem;background:#f1f6fa;border-bottom:1px solid #dce5f0}.fp-kb-article-nav a{padding:.9rem 1.1rem;text-decoration:none;display:flex;align-items:baseline;gap:.55rem;color:#30516c;border-bottom:1px solid #edf2f6}.fp-kb-article-nav a:hover{background:#edf6ff;color:#036da5}.fp-kb-reader-main{min-width:0}.fp-kb-reader-main h2{margin:.2rem 0}.fp-kb-grid-list{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.fp-kb-reader-layout{grid-template-columns:minmax(0,1fr)}.fp-kb-article-nav{position:static}.fp-kb-grid-list{grid-template-columns:minmax(0,1fr)}}

.fp-kb-reader-page{padding-block:1.5rem 3rem}.fp-kb-reader-page .fp-kb-reader-main .page-wrap{width:100%;max-width:none;margin:0;padding:0}.fp-kb-article-nav a.is-active{background:#eaf5ff;color:#086b9a;font-weight:700}.fp-kb-reader-page .fp-kb-breadcrumbs{margin-top:0}
