:root{--pb-primary:#2563eb;--pb-secondary:#0f766e;--pb-dark:#0b1220;--pb-bg:#f4f7fb;--pb-card:#fff;--pb-text:#17202a;--pb-muted:#64748b;--pb-border:#dbe4ef;--pb-danger:#b42318}*{box-sizing:border-box}body.pbx-front-body{margin:0;background:var(--pb-bg);color:var(--pb-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.pbx-front{min-height:100vh}.pbx-front-header{height:68px;background:var(--pb-dark);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,56px);position:sticky;top:0;z-index:20}.pbx-brand{font-weight:800;letter-spacing:.04em}.pbx-user{display:flex;align-items:center;gap:12px;font-size:14px}.pbx-user a{color:#fff;text-decoration:none}.pbx-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 68px)}.pbx-side{background:#fff;border-right:1px solid var(--pb-border);padding:22px 14px}.pbx-side h2{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--pb-muted);padding:0 10px}.pbx-nav{display:grid;gap:4px}.pbx-nav a{display:flex;padding:10px 12px;border-radius:9px;color:#334155;text-decoration:none;font-weight:600}.pbx-nav a:hover,.pbx-nav a.active{background:#eef4ff;color:var(--pb-primary)}.pbx-main{padding:clamp(18px,3vw,42px);max-width:1500px;width:100%;margin:0 auto}.pbx-title h1{margin:0;font-size:clamp(26px,3vw,38px)}.pbx-title p{color:var(--pb-muted);margin:.5rem 0 1.5rem}.pbx-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pbx-card{background:var(--pb-card);border:1px solid var(--pb-border);border-radius:16px;padding:20px;box-shadow:0 6px 22px rgba(15,23,42,.05)}.pbx-kpi strong{display:block;font-size:30px;margin-top:8px}.pbx-kpi span{color:var(--pb-muted);font-size:13px}.pbx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.pbx-module h3{margin:0 0 8px}.pbx-module p{color:var(--pb-muted);min-height:42px}.pbx-button{display:inline-flex;border:0;border-radius:9px;padding:10px 14px;background:var(--pb-primary);color:#fff;text-decoration:none;font-weight:700;cursor:pointer}.pbx-button.secondary{background:#fff;color:var(--pb-text);border:1px solid var(--pb-border)}.pbx-table-wrap{overflow:auto}.pbx-table{width:100%;border-collapse:collapse}.pbx-table th,.pbx-table td{padding:10px;border-bottom:1px solid var(--pb-border);text-align:left;white-space:nowrap}.pbx-table th{font-size:12px;text-transform:uppercase;color:var(--pb-muted)}.pbx-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pbx-form-grid label{display:grid;gap:6px;font-weight:600}.pbx-form-grid input,.pbx-form-grid select,.pbx-form-grid textarea{width:100%;padding:10px 12px;border:1px solid var(--pb-border);border-radius:9px;background:#fff}.pbx-span-2{grid-column:1/-1}.pbx-login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,var(--pb-bg),#e8eef8)}.pbx-login{width:min(440px,100%);background:#fff;border:1px solid var(--pb-border);border-radius:20px;padding:30px;box-shadow:0 24px 80px rgba(15,23,42,.14)}.pbx-login h1{margin:0 0 8px}.pbx-login p{color:var(--pb-muted)}.pbx-login form{display:grid;gap:14px;margin-top:22px}.pbx-login label{display:grid;gap:6px;font-weight:600}.pbx-login input{padding:12px;border:1px solid var(--pb-border);border-radius:10px}.pbx-alert{padding:12px;border-radius:10px;background:#fff1f0;color:var(--pb-danger);margin:12px 0}.pbx-loading{padding:30px;color:var(--pb-muted)}@media(max-width:980px){.pbx-layout{grid-template-columns:1fr}.pbx-side{border-right:0;border-bottom:1px solid var(--pb-border);overflow:auto;padding:10px}.pbx-side h2{display:none}.pbx-nav{display:flex;min-width:max-content}.pbx-nav a{white-space:nowrap}.pbx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pbx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.pbx-kpis,.pbx-grid,.pbx-form-grid{grid-template-columns:1fr}.pbx-front-header{height:auto;min-height:62px;padding:12px 16px}.pbx-user span{display:none}.pbx-main{padding:16px}.pbx-span-2{grid-column:auto}}
.pbx-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.pbx-tabs button{border:1px solid #d6deea;background:#fff;border-radius:10px;padding:10px 14px;cursor:pointer;font:inherit}.pbx-tabs button.active{background:var(--pb-dark);color:#fff;border-color:var(--pb-dark)}.pbx-success{margin-top:12px;padding:10px 12px;border-radius:10px;background:#ecfdf5;color:#065f46}.pbx-feature-group{border:1px solid #d8e0eb;border-radius:10px;margin:12px 0;padding:14px}.pbx-feature-group legend{font-weight:700;padding:0 6px}.pbx-span-2{grid-column:1/-1}@media(max-width:760px){.pbx-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.pbx-tabs button{white-space:nowrap}}
.pbx-onboard-wrap{min-height:100vh;padding:42px 20px;background:radial-gradient(circle at 15% 0,#dfeaff 0,transparent 35%),linear-gradient(135deg,#f6f9ff,#eef3fb);display:flex;justify-content:center}.pbx-onboard{width:min(1040px,100%);background:#fff;border:1px solid var(--pb-border);border-radius:26px;padding:34px;box-shadow:0 28px 90px rgba(15,23,42,.14)}.pbx-onboard h1{font-size:clamp(32px,5vw,58px);line-height:1;letter-spacing:-.045em;margin:10px 0 14px}.pbx-onboard>p{color:var(--pb-muted);max-width:760px}.pbx-kicker{font-size:11px;letter-spacing:.14em;font-weight:900;color:var(--pb-primary);margin:18px 0 0!important}.pbx-account-types{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:28px}.pbx-account-type{display:flex;flex-direction:column;gap:9px;padding:20px;border:1px solid var(--pb-border);border-radius:16px;text-decoration:none;color:var(--pb-text);background:#fff;min-height:235px;transition:.2s ease}.pbx-account-type:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(15,23,42,.08);border-color:#b8caf8}.pbx-account-type>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf4ff;color:var(--pb-primary);font-size:12px;font-weight:900}.pbx-account-type strong{font-size:16px}.pbx-account-type small{color:var(--pb-muted);font-size:13px;line-height:1.45;flex:1}.pbx-account-type b{font-size:13px;color:var(--pb-primary)}.pbx-selected-type{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;background:#f8fafc;border:1px solid var(--pb-border);border-radius:12px;margin:20px 0}.pbx-selected-type a{color:var(--pb-primary);font-weight:700}.pbx-signup-form{display:grid;gap:18px}.pbx-consent{display:flex!important;grid-template-columns:none!important;gap:10px!important;align-items:flex-start;font-size:13px;font-weight:500!important;color:#475569}.pbx-consent input{width:auto!important;margin-top:3px}.pbx-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.pbx-success{padding:22px;border-radius:16px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.pbx-success code{display:inline-block;margin:8px 0;padding:6px 9px;background:#fff;border-radius:7px;border:1px solid #bbf7d0}.pbx-login-note{margin-top:20px!important;font-size:14px}.pbx-login-note a{font-weight:700;color:var(--pb-primary)}@media(max-width:980px){.pbx-account-types{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.pbx-onboard{padding:22px}.pbx-account-types{grid-template-columns:1fr}.pbx-account-type{min-height:auto}.pbx-onboard h1{font-size:38px}}
\n.pbx-operations-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:18px 0 28px;padding:24px}.pbx-operations-entry h2{margin:6px 0 8px}.pbx-operations-entry p{margin:0;color:var(--pb-muted)}.pbx-badge,.pbx-module-state{display:inline-flex;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8}.pbx-subtitle{margin-top:26px}.pbx-module-locked{background:#f8fafc;border-style:dashed;opacity:.86}.pbx-module-locked .pbx-module-state{color:#9a3412}@media(max-width:720px){.pbx-operations-entry{align-items:flex-start;flex-direction:column}}\n.pbx-kpi{display:block;text-decoration:none;color:inherit;transition:transform .16s ease,box-shadow .16s ease}.pbx-kpi:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,23,42,.09)}.pbx-kpi-warning{border-color:#f6d28b}.pbx-kpi-danger{border-color:#f2a9a0}.pbx-action-centre{margin-top:18px}.pbx-card-head h2{margin:6px 0}.pbx-card-head p{margin:0 0 14px;color:var(--pb-muted)}.pbx-action-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;margin-top:8px;border:1px solid var(--pb-border);border-radius:12px;text-decoration:none;color:var(--pb-text);background:#fbfdff}.pbx-action-row span{display:grid;gap:3px}.pbx-action-row small{color:var(--pb-muted)}.pbx-action-row b{min-width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eef4ff;color:var(--pb-primary)}.pbx-action-danger{border-color:#f2c2bd;background:#fffafa}.pbx-action-danger b{background:#feeceb;color:var(--pb-danger)}.pbx-empty-good{padding:14px;border-radius:12px;background:#ecfdf5;color:#065f46;font-weight:650}

/* v17.7.0 — unified Account URL (Sign In / Create Account / Recovery). */
.pbx-account-panel{position:relative}.pbx-account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:18px 0 24px;padding:5px;border:1px solid var(--pb-border);border-radius:13px;background:#f8fafc}.pbx-account-tabs a{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:9px;text-decoration:none;color:#475569;font-weight:800;font-size:14px}.pbx-account-tabs a.active{background:var(--pb-dark);color:#fff;box-shadow:0 5px 16px rgba(15,23,42,.14)}.pbx-password-policy{padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px dashed #cbd5e1;color:#475569;font-size:12px;line-height:1.45}.pbx-signup-form input[type=password]:focus,.pbx-login input[type=password]:focus{outline:3px solid rgba(37,99,235,.14);border-color:#93b4ff}.pbx-login .pbx-success{margin:14px 0}.pbx-account-panel code{word-break:break-all}

/* v17.7 — unified public account route: Sign In + Create Account share /printbox-account/. */
.pbx-unified-account-wrap{min-height:100vh;padding:42px 20px;background:radial-gradient(circle at 12% 0,#dfeaff 0,transparent 34%),linear-gradient(135deg,#f6f9ff,#eef3fb);display:flex;justify-content:center;align-items:flex-start}.pbx-unified-account{width:min(1240px,100%);background:#fff;border:1px solid var(--pb-border);border-radius:26px;padding:34px;box-shadow:0 28px 90px rgba(15,23,42,.14)}.pbx-unified-account-head{max-width:780px;margin-bottom:26px}.pbx-unified-account-head h1{font-size:clamp(32px,4vw,54px);line-height:1.02;letter-spacing:-.04em;margin:10px 0 12px}.pbx-unified-account-head>p{color:var(--pb-muted)}.pbx-unified-account-grid{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.65fr);gap:22px;align-items:start}.pbx-account-surface{border:1px solid var(--pb-border);border-radius:18px;padding:24px;background:#fff}.pbx-account-surface h2{margin:0 0 6px;font-size:25px}.pbx-account-surface>p{margin:0 0 18px;color:var(--pb-muted)}.pbx-login-surface{position:sticky;top:24px}.pbx-login-surface form{display:grid;gap:13px}.pbx-login-surface label{display:grid;gap:6px;font-weight:650}.pbx-login-surface input{width:100%;padding:12px;border:1px solid var(--pb-border);border-radius:10px;background:#fff}.pbx-login-surface .pbx-remember input{width:auto}.pbx-account-types-unified{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.pbx-account-types-unified .pbx-account-type{min-height:205px}.pbx-account-types-unified .pbx-account-type:last-child:nth-child(odd){grid-column:1/-1;min-height:auto}.pbx-unified-account :target{scroll-margin-top:22px;border-color:#9fbaf8;box-shadow:0 0 0 3px rgba(37,99,235,.08)}@media(max-width:920px){.pbx-unified-account-grid{grid-template-columns:1fr}.pbx-login-surface{position:static}.pbx-account-types-unified{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.pbx-unified-account{padding:22px}.pbx-unified-account-wrap{padding:20px 12px}.pbx-account-types-unified{grid-template-columns:1fr}.pbx-account-types-unified .pbx-account-type:last-child:nth-child(odd){grid-column:auto}.pbx-unified-account-head h1{font-size:37px}}

/* v17.9.0 — true unified account surface */
.pbx-inline-account-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.pbx-inline-account-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 15px;border:1px solid var(--pb-border);border-radius:999px;text-decoration:none;color:var(--pb-text);font-size:13px;font-weight:850;background:#fff}.pbx-inline-account-nav a:hover{border-color:#9fbaf8;color:var(--pb-primary)}.pbx-surface-badge{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;margin-bottom:12px;border-radius:999px;background:#edf4ff;color:var(--pb-primary);font-size:10px;font-weight:950;letter-spacing:.1em}.pbx-create-surface{min-width:0}.pbx-unified-signup-form{margin-top:18px}.pbx-unified-signup-form .pbx-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pbx-unified-signup-form label{display:grid;gap:6px;min-width:0;font-weight:700;font-size:13px}.pbx-unified-signup-form input,.pbx-unified-signup-form select,.pbx-unified-signup-form textarea{width:100%;min-width:0;padding:12px;border:1px solid var(--pb-border);border-radius:10px;background:#fff;color:var(--pb-text);font:inherit}.pbx-unified-signup-form input:focus,.pbx-unified-signup-form select:focus,.pbx-unified-signup-form textarea:focus{outline:3px solid rgba(37,99,235,.12);border-color:#93b4ff}.pbx-field-help{display:block;color:var(--pb-muted);font-size:12px;font-weight:500;line-height:1.45}.pbx-password-input{position:relative;display:block}.pbx-password-input input{padding-right:62px}.pbx-password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;border-radius:7px;background:#eef4ff;color:var(--pb-primary);padding:6px 8px;font-size:11px;font-weight:850;cursor:pointer}.pbx-password-policy{display:grid;gap:8px}.pbx-password-policy strong{font-size:12px;color:var(--pb-text)}.pbx-password-policy>span{font-size:12px}.pbx-password-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;margin:0;list-style:none}.pbx-password-checks li{position:relative;padding:7px 8px 7px 24px;border-radius:8px;background:#fff;border:1px solid #e2e8f0;font-size:11px}.pbx-password-checks li:before{content:'○';position:absolute;left:8px;color:#94a3b8;font-weight:900}.pbx-password-checks li.ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.pbx-password-checks li.ok:before{content:'✓';color:#16a34a}.pbx-conditional[hidden]{display:none!important}.pbx-account-safety{display:grid;gap:4px;margin-top:18px;padding:14px 15px;border-radius:12px;background:#f8fafc;border:1px solid var(--pb-border)}.pbx-account-safety strong{font-size:12px}.pbx-account-safety span{font-size:11px;line-height:1.5;color:var(--pb-muted)}.pbx-create-surface .pbx-success,.pbx-create-surface .pbx-alert,.pbx-login-surface .pbx-alert{margin:0 0 16px}.pbx-span-2{grid-column:1/-1}@media(max-width:720px){.pbx-unified-signup-form .pbx-form-grid,.pbx-password-checks{grid-template-columns:1fr}.pbx-span-2{grid-column:auto}.pbx-conditional.pbxs-span-2{grid-column:auto}}

.pbx-runtime-note{margin:0 0 16px;padding:12px 14px;border:1px solid #f4c86a;background:#fff9e8;color:#6a4a00;border-radius:12px;font-size:14px}.pbx-runtime-note strong{color:#3f2b00}

/* v17.14.0 — dashboard factory progress */
.pbx-factory-progress{margin-top:16px}.pbx-job-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.pbx-job-progress{border:1px solid var(--pb-border,#dce4ef);border-radius:14px;padding:14px;background:#fbfdff;display:grid;gap:10px}.pbx-job-progress-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.pbx-job-progress-head strong{display:block}.pbx-job-progress-head small{display:block;color:var(--pb-muted,#64748b);margin-top:2px}.pbx-job-risk{font-size:10px;font-weight:850;border-radius:999px;padding:4px 8px;background:#f1f5f9;color:#475569;white-space:nowrap}.pbx-job-risk.good{background:#dcfce7;color:#166534}.pbx-job-risk.warning{background:#ffedd5;color:#9a3412}.pbx-job-risk.danger{background:#fee2e2;color:#b91c1c}.pbx-job-progress-track{height:9px;background:#e7edf5;border-radius:99px;overflow:hidden}.pbx-job-progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--pb-primary,#2563eb),var(--pb-secondary,#0f766e));border-radius:inherit}.pbx-job-progress-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pbx-job-progress-meta span{display:grid;gap:2px;padding:7px;background:#fff;border-radius:9px;font-size:9px;color:var(--pb-muted,#64748b)}.pbx-job-progress-meta b{font-size:11px;color:var(--pb-text,#0f172a)}.pbx-job-progress a{font-size:11px;font-weight:800;color:var(--pb-primary,#2563eb);text-decoration:none}@media(max-width:640px){.pbx-job-progress-meta{grid-template-columns:1fr 1fr}}

/* PRINTBOX percentage utilities - CSP-safe dynamic progress */
.pbx-pct-0{width:0%}
.pbx-pct-1{width:1%}
.pbx-pct-2{width:2%}
.pbx-pct-3{width:3%}
.pbx-pct-4{width:4%}
.pbx-pct-5{width:5%}
.pbx-pct-6{width:6%}
.pbx-pct-7{width:7%}
.pbx-pct-8{width:8%}
.pbx-pct-9{width:9%}
.pbx-pct-10{width:10%}
.pbx-pct-11{width:11%}
.pbx-pct-12{width:12%}
.pbx-pct-13{width:13%}
.pbx-pct-14{width:14%}
.pbx-pct-15{width:15%}
.pbx-pct-16{width:16%}
.pbx-pct-17{width:17%}
.pbx-pct-18{width:18%}
.pbx-pct-19{width:19%}
.pbx-pct-20{width:20%}
.pbx-pct-21{width:21%}
.pbx-pct-22{width:22%}
.pbx-pct-23{width:23%}
.pbx-pct-24{width:24%}
.pbx-pct-25{width:25%}
.pbx-pct-26{width:26%}
.pbx-pct-27{width:27%}
.pbx-pct-28{width:28%}
.pbx-pct-29{width:29%}
.pbx-pct-30{width:30%}
.pbx-pct-31{width:31%}
.pbx-pct-32{width:32%}
.pbx-pct-33{width:33%}
.pbx-pct-34{width:34%}
.pbx-pct-35{width:35%}
.pbx-pct-36{width:36%}
.pbx-pct-37{width:37%}
.pbx-pct-38{width:38%}
.pbx-pct-39{width:39%}
.pbx-pct-40{width:40%}
.pbx-pct-41{width:41%}
.pbx-pct-42{width:42%}
.pbx-pct-43{width:43%}
.pbx-pct-44{width:44%}
.pbx-pct-45{width:45%}
.pbx-pct-46{width:46%}
.pbx-pct-47{width:47%}
.pbx-pct-48{width:48%}
.pbx-pct-49{width:49%}
.pbx-pct-50{width:50%}
.pbx-pct-51{width:51%}
.pbx-pct-52{width:52%}
.pbx-pct-53{width:53%}
.pbx-pct-54{width:54%}
.pbx-pct-55{width:55%}
.pbx-pct-56{width:56%}
.pbx-pct-57{width:57%}
.pbx-pct-58{width:58%}
.pbx-pct-59{width:59%}
.pbx-pct-60{width:60%}
.pbx-pct-61{width:61%}
.pbx-pct-62{width:62%}
.pbx-pct-63{width:63%}
.pbx-pct-64{width:64%}
.pbx-pct-65{width:65%}
.pbx-pct-66{width:66%}
.pbx-pct-67{width:67%}
.pbx-pct-68{width:68%}
.pbx-pct-69{width:69%}
.pbx-pct-70{width:70%}
.pbx-pct-71{width:71%}
.pbx-pct-72{width:72%}
.pbx-pct-73{width:73%}
.pbx-pct-74{width:74%}
.pbx-pct-75{width:75%}
.pbx-pct-76{width:76%}
.pbx-pct-77{width:77%}
.pbx-pct-78{width:78%}
.pbx-pct-79{width:79%}
.pbx-pct-80{width:80%}
.pbx-pct-81{width:81%}
.pbx-pct-82{width:82%}
.pbx-pct-83{width:83%}
.pbx-pct-84{width:84%}
.pbx-pct-85{width:85%}
.pbx-pct-86{width:86%}
.pbx-pct-87{width:87%}
.pbx-pct-88{width:88%}
.pbx-pct-89{width:89%}
.pbx-pct-90{width:90%}
.pbx-pct-91{width:91%}
.pbx-pct-92{width:92%}
.pbx-pct-93{width:93%}
.pbx-pct-94{width:94%}
.pbx-pct-95{width:95%}
.pbx-pct-96{width:96%}
.pbx-pct-97{width:97%}
.pbx-pct-98{width:98%}
.pbx-pct-99{width:99%}
.pbx-pct-100{width:100%}
