/* PDF Studio — administration theme v2.0.0
   Presentation only. Core behavior remains in foundation assets. */

:root{
  color-scheme:light dark;
  --font-ui:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --sidebar-w:272px;
  --topbar-h:74px;
  --radius-xs:8px;
  --radius-sm:11px;
  --radius-md:15px;
  --radius-lg:20px;
  --radius-xl:28px;
  --shadow-sm:0 1px 2px rgba(15,23,42,.05),0 8px 24px rgba(15,23,42,.04);
  --shadow-md:0 14px 40px rgba(15,23,42,.08),0 2px 8px rgba(15,23,42,.05);
  --shadow-lg:0 28px 80px rgba(3,7,18,.24);
  --primary:#625df5;
  --primary-strong:#4f46e5;
  --primary-soft:#eeedff;
  --accent:#12a594;
  --accent-soft:#e7f8f5;
  --warn:#c17b17;
  --warning:#c17b17;
  --warning-soft:#fff7e7;
  --bad:#d14343;
  --danger:#d14343;
  --danger-soft:#fff0f0;
  --ok:#15926f;
  --success:#15926f;
  --success-soft:#e9f8f2;
  --info:#3977d7;
  --canvas:#f3f5f8;
  --canvas-grid:rgba(78,91,122,.045);
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --surface-3:#eef2f7;
  --text:#172033;
  --text-strong:#0d1526;
  --muted:#687386;
  --muted-2:#8b95a5;
  --line:#dfe4ec;
  --line-strong:#cfd6e2;
  --sidebar:#0a1020;
  --sidebar-2:#10182b;
  --sidebar-text:#f4f7ff;
  --sidebar-muted:#8d9ab2;
  --sidebar-line:rgba(255,255,255,.08);
  --topbar:rgba(255,255,255,.88);
  --input:#fff;
  --input-focus:rgba(98,93,245,.18);
  --paper:#fff;
}
html[data-theme="dark"]{
  --primary:#8582ff;
  --primary-strong:#a3a1ff;
  --primary-soft:rgba(98,93,245,.16);
  --accent:#2ed2bd;
  --accent-soft:rgba(46,210,189,.12);
  --warn:#efb653;
  --warning:#efb653;
  --warning-soft:rgba(239,182,83,.12);
  --bad:#ff7777;
  --danger:#ff7777;
  --danger-soft:rgba(255,119,119,.11);
  --ok:#3cd3a6;
  --success:#3cd3a6;
  --success-soft:rgba(60,211,166,.11);
  --info:#7db3ff;
  --canvas:#090e18;
  --canvas-grid:rgba(168,180,205,.035);
  --surface:#111827;
  --surface-2:#151e2e;
  --surface-3:#1b2638;
  --text:#edf2fb;
  --text-strong:#fff;
  --muted:#9aa6b9;
  --muted-2:#718096;
  --line:#263247;
  --line-strong:#344159;
  --sidebar:#050912;
  --sidebar-2:#0b1220;
  --sidebar-text:#f6f8ff;
  --sidebar-muted:#7f8ba2;
  --sidebar-line:rgba(255,255,255,.075);
  --topbar:rgba(9,14,24,.86);
  --input:#0e1625;
  --input-focus:rgba(133,130,255,.22);
  --paper:#f7f8fb;
  --shadow-sm:0 1px 2px rgba(0,0,0,.18),0 8px 24px rgba(0,0,0,.14);
  --shadow-md:0 14px 40px rgba(0,0,0,.24),0 2px 8px rgba(0,0,0,.16);
}

*{box-sizing:border-box}
html{min-height:100%;background:var(--canvas);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{min-height:100vh;margin:0;background-color:var(--canvas);background-image:linear-gradient(var(--canvas-grid) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-grid) 1px,transparent 1px);background-size:32px 32px;color:var(--text);font:14px/1.5 var(--font-ui)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 82% -10%,rgba(98,93,245,.085),transparent 32%),radial-gradient(circle at 18% 110%,rgba(18,165,148,.06),transparent 28%);z-index:-1}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}::selection{background:rgba(98,93,245,.23)}
svg{display:block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-icon svg:first-child path:first-child:not([fill]){fill:none}
code,pre{font-family:var(--font-mono)}
pre{white-space:pre-wrap;overflow-wrap:anywhere}

/* Shell */
.admin-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr)}
.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:var(--sidebar-w);display:flex;flex-direction:column;z-index:1000;padding:20px 16px 16px;background:linear-gradient(180deg,var(--sidebar) 0%,var(--sidebar-2) 100%);color:var(--sidebar-text);border-inline-end:1px solid var(--sidebar-line);overflow:auto;overscroll-behavior:contain;box-shadow:10px 0 35px rgba(2,6,23,.12)}
.sidebar::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 10%,rgba(98,93,245,.18),transparent 24%),linear-gradient(160deg,transparent 72%,rgba(18,165,148,.06));mix-blend-mode:screen}
.sidebar>*{position:relative;z-index:1}
.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px 20px;border-bottom:1px solid var(--sidebar-line)}
.brand{display:flex;align-items:center;gap:12px;min-width:0;color:var(--sidebar-text)}
.brand-copy{display:grid;gap:1px;min-width:0}.brand-copy strong{font-size:14px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy small{font-size:9px;letter-spacing:.17em;text-transform:uppercase;font-weight:800;color:var(--sidebar-muted)}
.brand-symbol{position:relative;display:block;width:39px;height:42px;flex:0 0 auto}.brand-symbol i{position:absolute;width:27px;height:34px;border:1px solid rgba(255,255,255,.42);border-radius:5px;background:rgba(255,255,255,.07);box-shadow:0 8px 24px rgba(0,0,0,.13)}.brand-symbol i:nth-child(1){inset:1px auto auto 8px;transform:rotate(6deg)}.brand-symbol i:nth-child(2){inset:4px auto auto 3px;transform:rotate(-5deg);background:rgba(98,93,245,.36);border-color:rgba(166,163,255,.65)}.brand-symbol i:nth-child(3){inset:7px auto auto 6px;background:#f6f7fb;border-color:#fff}.brand-symbol i:nth-child(3)::after{content:"";position:absolute;top:6px;right:5px;width:8px;height:8px;border-top:2px solid #625df5;border-right:2px solid #625df5}
.sidebar-close{display:none!important}
.sidebar-nav{display:flex;flex-direction:column;gap:14px;padding:16px 0 16px;flex:1}.nav-group{display:grid;gap:5px}.nav-group-label{padding:0 12px 7px;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sidebar-muted)}
.nav-link{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:8px;min-height:42px;padding:7px 10px;border-radius:11px;color:#bac4d7;font-weight:650;transition:background .18s ease,color .18s ease,transform .18s ease}.nav-link:hover{background:rgba(255,255,255,.055);color:#fff}.nav-link.active{background:linear-gradient(100deg,rgba(98,93,245,.22),rgba(98,93,245,.09));color:#fff;box-shadow:inset 0 0 0 1px rgba(141,137,255,.16)}.nav-link.active::before{content:"";position:absolute;inset-block:9px;inset-inline-start:-16px;width:3px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,#9c99ff,#31d7c1);box-shadow:0 0 14px rgba(133,130,255,.8)}html[dir="rtl"] .nav-link.active::before{border-radius:4px 0 0 4px}
.nav-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;color:#8d9bb4;transition:.18s}.nav-icon svg{width:17px;height:17px}.nav-link:hover .nav-icon,.nav-link.active .nav-icon{color:#fff;background:rgba(255,255,255,.07)}.nav-arrow{opacity:0;transform:translateX(-4px);transition:.18s}.nav-arrow svg{width:13px;height:13px}.nav-link:hover .nav-arrow,.nav-link.active .nav-arrow{opacity:.55;transform:none}html[dir="rtl"] .nav-arrow{transform:rotate(180deg) translateX(-4px)}html[dir="rtl"] .nav-link:hover .nav-arrow,html[dir="rtl"] .nav-link.active .nav-arrow{transform:rotate(180deg)}
.sidebar-foot{display:flex;align-items:center;gap:10px;padding:14px 8px 4px;border-top:1px solid var(--sidebar-line)}.sidebar-runtime-dot{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.sidebar-runtime-dot>span{width:8px;height:8px;border-radius:50%;background:#32d6a1;box-shadow:0 0 0 4px rgba(50,214,161,.10),0 0 12px rgba(50,214,161,.35)}.sidebar-runtime-dot div{display:grid;min-width:0}.sidebar-runtime-dot strong{font-size:10px}.sidebar-runtime-dot small,.sidebar-version{font-size:9px;color:var(--sidebar-muted)}.sidebar-version{white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis}
.sidebar-backdrop{display:none;border:0;padding:0}
.main{grid-column:2;min-width:0;min-height:100vh}
.topbar{position:sticky;top:0;z-index:800;min-height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px clamp(18px,2.4vw,34px);background:var(--topbar);border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent);backdrop-filter:blur(18px) saturate(135%)}
.topbar-leading,.top-actions{display:flex;align-items:center;gap:10px;min-width:0}.page-context{display:grid;gap:1px;min-width:0}.page-context small{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-2)}.page-context strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-strong)}
.mobile-menu{display:none!important}.top-actions{justify-content:flex-end}.topbar-language{width:118px}.topbar-create{height:39px!important;padding-inline:13px!important}.topbar-create .btn-icon{font-size:16px}.topbar-maintenance{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border-radius:10px;background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warn) 25%,transparent);color:var(--warn);font-size:11px;font-weight:800}
.content{position:relative;z-index:0;isolation:isolate;width:min(1540px,100%);margin:0 auto;padding:clamp(20px,2.4vw,34px);min-height:calc(100vh - var(--topbar-h))}

/* Typography & page headers */
h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--text-strong);letter-spacing:-.025em}h1{font-size:clamp(24px,2.5vw,34px);line-height:1.12;margin-bottom:8px}h2{font-size:18px;line-height:1.25;margin-bottom:8px}h3{font-size:15px;margin-bottom:7px}p{color:var(--muted);margin-bottom:12px}.muted,small{color:var(--muted)}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head>div{min-width:0}.page-head p{max-width:780px;margin:0;font-size:13px}.eyebrow,.card-kicker{display:block;margin-bottom:6px;font-size:9px;line-height:1.2;text-transform:uppercase;letter-spacing:.16em;font-weight:850;color:var(--primary)}

/* Cards / metrics */
.card{position:relative;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 98%,var(--primary) 2%),var(--surface));box-shadow:var(--shadow-sm);margin-bottom:18px}.card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.25),transparent 28%);opacity:.45}html[data-theme="dark"] .card::before{opacity:.03}.card>*{position:relative}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.card-head h2{margin-bottom:5px}.card-head p{margin-bottom:0}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.stack{display:grid;gap:16px}.compact-stack{gap:11px}.box{padding:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metric{position:relative;min-height:112px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.metric::after{content:"";position:absolute;right:-28px;bottom:-45px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(98,93,245,.11),transparent 68%)}.metric:nth-child(2)::after{background:radial-gradient(circle,rgba(18,165,148,.12),transparent 68%)}.metric small{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.metric strong{font-size:26px;line-height:1.05;color:var(--text-strong);letter-spacing:-.035em;overflow-wrap:anywhere}.metric .status{align-self:flex-start}

/* Buttons */
.btn,.icon-button,.user-chip{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border-radius:11px;font-weight:760;font-size:12px;line-height:1.2;white-space:nowrap;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:none}.btn.primary{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-strong));box-shadow:0 8px 22px rgba(98,93,245,.20)}.btn.primary:hover{box-shadow:0 10px 28px rgba(98,93,245,.28)}.btn.secondary{color:var(--text);background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px rgba(15,23,42,.03)}.btn.secondary:hover{border-color:var(--line-strong);background:var(--surface-2)}.btn.danger{color:#fff;background:linear-gradient(135deg,#df5454,#c63c3c);box-shadow:0 8px 22px rgba(209,67,67,.16)}.btn.danger-soft{color:var(--bad);background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--bad) 20%,transparent)}.btn.compact{min-height:32px;padding:6px 10px;border-radius:9px;font-size:11px}.btn.full{width:100%}.btn[disabled]{cursor:not-allowed;opacity:.48;transform:none;box-shadow:none}.btn-icon{display:grid;place-items:center}.btn-icon svg{width:15px;height:15px}
.icon-button{display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:11px;color:var(--muted);background:var(--surface);border:1px solid var(--line);transition:.16s}.icon-button:hover{color:var(--text);background:var(--surface-2);border-color:var(--line-strong)}.icon-button svg{width:17px;height:17px}.icon-button.danger-soft{color:var(--bad);background:var(--danger-soft)}

/* Topbar profile */
.menu-wrap{position:relative}.user-chip{display:flex;align-items:center;gap:9px;max-width:230px;min-height:44px;padding:4px 8px 4px 5px;border-radius:13px;background:transparent;color:var(--text);transition:.16s}.user-chip:hover{background:var(--surface-2)}.user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:12px;font-weight:850;box-shadow:0 6px 18px rgba(98,93,245,.16)}.user-chip-copy{display:grid;text-align:start;min-width:0}.user-chip-copy strong{max-width:140px;overflow:hidden;text-overflow:ellipsis;font-size:11px;white-space:nowrap}.user-chip-copy small{font-size:9px}.user-chevron{font-size:16px;color:var(--muted)}
.dropdown{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;z-index:1500;min-width:190px;padding:7px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow-md)}.dropdown[data-floating="1"]{position:fixed!important;z-index:18000;max-width:calc(100vw - 16px)}.dropdown a,.dropdown button{display:flex;width:100%;align-items:center;min-height:36px;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:var(--text);text-align:start;font:inherit;font-weight:650;cursor:pointer}.dropdown a:hover,.dropdown button:hover{background:var(--surface-2)}

/* Forms */
form{margin:0}label{display:grid;gap:7px;color:var(--text);font-size:11px;font-weight:750}label>small{font-weight:500;line-height:1.45}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .span-2{grid-column:span 2}.form-actions,.actions,.sticky-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sticky-actions{position:sticky;bottom:14px;z-index:30;width:max-content;max-width:100%;padding:8px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:var(--shadow-md);backdrop-filter:blur(16px)}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;outline:none;background:var(--input);color:var(--text);box-shadow:inset 0 1px 1px rgba(15,23,42,.02);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}textarea{min-height:120px;line-height:1.55;resize:vertical}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--primary) 62%,var(--line));box-shadow:0 0 0 4px var(--input-focus)}input::placeholder,textarea::placeholder{color:var(--muted-2)}input[readonly],textarea[readonly],select[disabled]{background:var(--surface-2);color:var(--muted)}
input[type="file"]{padding:8px;background:var(--surface-2)}input[type="file"]::file-selector-button{margin-inline-end:10px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-weight:700;cursor:pointer}
input[type="checkbox"],input[type="radio"]{appearance:none;width:18px;height:18px;display:inline-grid;place-content:center;vertical-align:-4px;margin:0 6px 0 0;border:1.5px solid var(--line-strong);background:var(--input);transition:.14s;cursor:pointer}html[dir="rtl"] input[type="checkbox"],html[dir="rtl"] input[type="radio"]{margin:0 0 0 6px}input[type="checkbox"]{border-radius:6px}input[type="radio"]{border-radius:50%}input[type="checkbox"]::before{content:"";width:8px;height:4px;border-inline-start:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);transition:.12s}html[dir="rtl"] input[type="checkbox"]::before{transform:rotate(45deg) scale(0)}input[type="checkbox"]:checked,input[type="radio"]:checked{border-color:var(--primary);background:var(--primary);box-shadow:0 0 0 3px var(--input-focus)}input[type="checkbox"]:checked::before{transform:rotate(-45deg) scale(1)}html[dir="rtl"] input[type="checkbox"]:checked::before{transform:rotate(45deg) scale(1)}input[type="radio"]::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;transform:scale(0);transition:.12s}input[type="radio"]:checked::before{transform:scale(1)}.check{display:flex;align-items:center;gap:3px;font-size:12px;font-weight:600;color:var(--muted)}
.invalid-feedback,.form-error{padding:10px 12px;border:1px solid color-mix(in srgb,var(--bad) 22%,transparent);border-radius:10px;background:var(--danger-soft);color:var(--bad);font-size:11px}.js-form-message{font-size:11px}

/* Select2 */
.select2-container{font-size:12px;max-width:100%;z-index:auto}.select2-container--open{z-index:1800}.select2-container .select2-selection--single,.select2-container .select2-selection--multiple{min-height:42px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:var(--input)!important;box-shadow:none!important;transition:.16s}.select2-container--focus .select2-selection,.select2-container--open .select2-selection{border-color:color-mix(in srgb,var(--primary) 62%,var(--line))!important;box-shadow:0 0 0 4px var(--input-focus)!important}.select2-container .select2-selection--single .select2-selection__rendered{height:40px;line-height:40px;padding-inline:12px 34px;color:var(--text)!important}.select2-container .select2-selection--single .select2-selection__arrow{height:40px;inset-inline-end:6px}.select2-container .select2-selection--single .select2-selection__arrow b{border-color:var(--muted) transparent transparent!important}.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent var(--muted)!important}.select2-dropdown{overflow:hidden;border:1px solid var(--line)!important;border-radius:11px!important;background:var(--surface)!important;box-shadow:var(--shadow-md);z-index:1800}.select2-search--dropdown{padding:8px}.select2-search--dropdown .select2-search__field{min-height:36px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:var(--input)!important;color:var(--text)!important}.select2-results__option{padding:9px 11px;color:var(--text)}.select2-results__option--highlighted.select2-results__option--selectable{background:var(--primary)!important;color:#fff!important}.select2-results__option--selected{background:var(--primary-soft)!important;color:var(--primary-strong)!important}.select2-container--default .select2-selection--multiple .select2-selection__choice{margin:6px 0 0 6px;border:0!important;border-radius:7px!important;background:var(--primary-soft)!important;color:var(--primary-strong)!important}.topbar-language .select2-selection--single,.auth-toolbar .select2-selection--single{min-height:36px!important;background:var(--surface-2)!important;border-color:transparent!important}.topbar-language .select2-selection__rendered,.auth-toolbar .select2-selection__rendered{height:34px!important;line-height:34px!important;font-size:10px!important;font-weight:750}.topbar-language .select2-selection__arrow,.auth-toolbar .select2-selection__arrow{height:34px!important}

/* Tables / lists */
.table-card{padding:0;overflow:visible}.table-card>.table-scroll:first-child,.table-card>.card-head:first-child{margin-top:0}.table-scroll{width:100%;overflow:auto;border-radius:inherit}.responsive-table{width:100%;border-collapse:separate;border-spacing:0}.responsive-table th{padding:12px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;text-align:start;white-space:nowrap}.responsive-table td{padding:13px 14px;border-bottom:1px solid color-mix(in srgb,var(--line) 78%,transparent);vertical-align:middle;color:var(--text);font-size:12px}.responsive-table tbody tr{transition:background .14s}.responsive-table tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 40%,var(--surface))}.responsive-table tbody tr:last-child td{border-bottom:0}.responsive-table td strong{display:block;color:var(--text-strong)}.responsive-table td small{display:block;margin-top:2px}.responsive-table code{padding:3px 6px;border-radius:6px;background:var(--surface-2);color:var(--primary-strong);font-size:10px}.select-cell{width:42px;text-align:center}.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px}.action-menu{position:relative}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.list-search{min-width:min(340px,100%);flex:1}.list-search input{min-height:38px}.list-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.list-toolbar-actions .select2-container{min-width:110px}.list-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-top:1px solid var(--line)}.list-footer [data-list-pagination]{display:flex;gap:5px;flex-wrap:wrap}.list-footer [data-list-pagination] button{min-width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer}.list-footer [data-list-pagination] button.active{border-color:var(--primary);background:var(--primary);color:#fff}.list-inline-loader{display:flex;align-items:center;justify-content:center;gap:5px;padding:14px;color:var(--muted)}.list-inline-loader>span{width:6px;height:6px;border-radius:50%;background:var(--primary);animation:pdf-pulse 1s infinite}.list-inline-loader>span:nth-child(2){animation-delay:.15s}.list-inline-loader>span:nth-child(3){animation-delay:.3s}.list-inline-loader small{margin-inline-start:6px}
.empty-state{display:grid;place-items:center;min-height:150px;padding:28px;text-align:center;color:var(--muted)}.empty-state::before{content:"";display:block;width:42px;height:54px;margin-bottom:12px;border:1.5px solid var(--line-strong);border-radius:6px;background:linear-gradient(135deg,var(--surface) 78%,var(--surface-3) 78%);box-shadow:8px 8px 0 -3px var(--surface-2),8px 8px 0 -2px var(--line)}.empty-state.compact{min-height:110px}.empty-state.compact::before{width:30px;height:39px;margin-bottom:8px}

/* Status / tags */
.status,.tag{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:27px;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--line);background:var(--surface-2);color:var(--muted)}.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 12%,transparent)}.status.healthy,.status.ready,.status.pass,.status.ok,.status.installed{color:var(--ok);background:var(--success-soft);border-color:color-mix(in srgb,var(--ok) 22%,transparent)}.status.warning,.status.review_required,.status.optional{color:var(--warn);background:var(--warning-soft);border-color:color-mix(in srgb,var(--warn) 22%,transparent)}.status.blocked,.status.error,.status.failed,.status.no-go,.status.recovery_required{color:var(--bad);background:var(--danger-soft);border-color:color-mix(in srgb,var(--bad) 22%,transparent)}.status.info,.status.validated,.status.approved{color:var(--info);background:color-mix(in srgb,var(--info) 10%,var(--surface));border-color:color-mix(in srgb,var(--info) 20%,transparent)}

/* Global flash */
.flash-message{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm);font-size:12px}.flash-message strong{color:var(--text-strong)}.flash-message span{color:var(--muted)}.flash-success{border-color:color-mix(in srgb,var(--ok) 22%,var(--line));background:var(--success-soft);color:var(--ok)}.flash-error{border-color:color-mix(in srgb,var(--bad) 22%,var(--line));background:var(--danger-soft);color:var(--bad)}.flash-warning{border-color:color-mix(in srgb,var(--warn) 22%,var(--line));background:var(--warning-soft);color:var(--warn)}.flash-info{border-color:color-mix(in srgb,var(--info) 22%,var(--line));background:color-mix(in srgb,var(--info) 8%,var(--surface));color:var(--info)}

/* Blocking loader */
.foundation-loader{background:rgba(5,9,18,.58);backdrop-filter:blur(8px) saturate(110%)}.loader-card{width:min(390px,calc(100vw - 32px));display:grid;grid-template-columns:58px 1fr;align-items:center;gap:14px;padding:18px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:19px;background:color-mix(in srgb,var(--surface) 95%,transparent);box-shadow:var(--shadow-lg)}.loader-copy{display:grid;gap:2px}.loader-copy strong{font-size:13px;color:var(--text-strong)}.loader-copy small{font-size:10px}.loader-paper{position:relative;width:50px;height:52px}.loader-paper i{position:absolute;width:31px;height:41px;border-radius:5px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));background:var(--surface)}.loader-paper i:nth-child(1){left:13px;top:3px;transform:rotate(8deg);opacity:.52}.loader-paper i:nth-child(2){left:4px;top:6px;transform:rotate(-7deg);opacity:.72}.loader-paper i:nth-child(3){left:9px;top:8px;box-shadow:0 6px 18px rgba(98,93,245,.12)}.loader-paper span{position:absolute;left:15px;top:16px;width:19px;height:2px;border-radius:3px;background:var(--primary);box-shadow:0 7px 0 color-mix(in srgb,var(--primary) 38%,var(--line)),0 14px 0 color-mix(in srgb,var(--primary) 22%,var(--line));animation:pdf-paper-scan 1.25s ease-in-out infinite}.loader-progress{grid-column:1/-1;height:3px;overflow:hidden;border-radius:99px;background:var(--surface-3)}.loader-progress i{display:block;width:42%;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--accent));animation:pdf-loader 1.2s ease-in-out infinite}
@keyframes pdf-loader{0%{transform:translateX(-120%)}100%{transform:translateX(340%)}}@keyframes pdf-paper-scan{0%,100%{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(4px)}}@keyframes pdf-pulse{0%,70%,100%{opacity:.28;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}

/* SweetAlert2 */
.swal2-container{z-index:20000!important}.pdf-swal{width:min(460px,calc(100vw - 28px))!important;padding:22px!important;border:1px solid var(--line)!important;border-radius:20px!important;background:var(--surface)!important;color:var(--text)!important;box-shadow:var(--shadow-lg)!important}.pdf-swal-title{padding:0!important;margin:2px 0 8px!important;color:var(--text-strong)!important;font:800 19px/1.25 var(--font-ui)!important;letter-spacing:-.02em!important}.pdf-swal-body{padding:0!important;margin:0!important;color:var(--muted)!important;font:12px/1.6 var(--font-ui)!important;text-align:center!important}.pdf-swal-actions{gap:8px!important;margin:20px 0 0!important}.pdf-swal-confirm,.pdf-swal-cancel{min-height:40px!important;margin:0!important;padding:9px 15px!important;border:0!important;border-radius:11px!important;font:750 12px var(--font-ui)!important;box-shadow:none!important}.pdf-swal-confirm{background:linear-gradient(135deg,var(--primary),var(--primary-strong))!important;color:#fff!important}.pdf-swal-cancel{background:var(--surface-2)!important;color:var(--text)!important;border:1px solid var(--line)!important}.swal2-icon{transform:scale(.82);margin:2px auto 15px!important}.swal2-toast.pdf-swal{width:auto!important;min-width:320px!important;padding:12px 14px!important;border-radius:13px!important}.swal2-toast .pdf-swal-title{font-size:12px!important;margin:0!important}.swal2-timer-progress-bar{background:linear-gradient(90deg,var(--primary),var(--accent))!important}

/* Legacy dialog fallback if SweetAlert2 cannot load */
.dialog-backdrop{position:fixed;inset:0;z-index:19000;display:grid;place-items:center;padding:16px;background:rgba(5,9,18,.62);backdrop-filter:blur(8px)}.dialog-card{width:min(480px,100%);padding:20px;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow-lg)}.dialog-card h3{margin-bottom:8px}.dialog-body{color:var(--muted);font-size:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}

/* PDF module accents */
body:has(.page-head h1) .content>.page-head:first-child::before{content:"";display:block;position:absolute}.content>.page-head{position:relative}.content>.page-head::after{content:"";position:absolute;inset-inline-start:0;bottom:-10px;width:44px;height:2px;border-radius:9px;background:linear-gradient(90deg,var(--primary),var(--accent))}
.danger-card{border-color:color-mix(in srgb,var(--bad) 25%,var(--line));background:linear-gradient(180deg,var(--danger-soft),var(--surface))}
.runtime-summary-card,.settings-email-test{background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 35%,var(--surface)),var(--surface))}.runtime-pair{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.runtime-pair>div{display:grid;gap:2px;min-width:170px}.check-list{display:grid;gap:8px}.check-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.check-row:last-child{border-bottom:0}

/* Upload */
.foundation-file-upload{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;border:1px dashed color-mix(in srgb,var(--primary) 40%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 45%,var(--surface)),var(--surface));transition:.18s}.foundation-file-upload:hover,.foundation-file-upload.is-dragover{border-color:var(--primary);box-shadow:0 0 0 4px var(--input-focus)}.file-upload-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.file-upload-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:var(--primary);color:#fff;font-size:22px;font-weight:800;box-shadow:0 10px 25px rgba(98,93,245,.22)}.file-upload-copy{display:grid;gap:2px}.file-upload-copy strong{color:var(--text-strong)}.file-upload-copy span,.file-upload-copy small{color:var(--muted);font-size:10px}

/* Update manager / recovery */
.update-overview-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:18px;align-items:start}.update-upload-card,.update-safety-card{height:100%}.step-badge{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--primary-soft);color:var(--primary-strong);font-weight:850}.safety-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.safety-grid>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.safety-grid small,.safety-grid strong{display:block}.safety-grid strong{margin-top:3px;color:var(--text-strong);font-size:11px}.config-disclosure{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.config-disclosure summary{cursor:pointer;font-weight:750;color:var(--text)}.disclosure-body{margin-top:14px}.retention-card{margin-top:0}.update-processing-zone{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.update-processing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.pipeline-list{display:grid;gap:10px}.pipeline-item{padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.pipeline-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pipeline-item-head strong,.pipeline-item-head small{display:block}.pipeline-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:13px}.pipeline-step{display:grid;gap:5px;justify-items:center;text-align:center;color:var(--muted);font-size:9px;font-weight:800}.pipeline-step i{width:9px;height:9px;border-radius:50%;background:var(--line-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--line) 42%,transparent)}.pipeline-step.done{color:var(--ok)}.pipeline-step.done i{background:var(--ok)}.pipeline-step.current{color:var(--primary)}.pipeline-step.current i{background:var(--primary);box-shadow:0 0 0 4px var(--input-focus)}.pipeline-step.failed{color:var(--bad)}.pipeline-step.failed i{background:var(--bad)}.pipeline-step.optional{opacity:.58}.pipeline-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.recovery-grid,.recovery-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.detail-box{display:grid;gap:3px;padding:12px;margin:12px 0;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.operation-artifact-list{display:grid;gap:8px}.artifact-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.timeline{display:grid}.timeline-item{position:relative;padding:10px 0 10px 18px;border-inline-start:1px solid var(--line)}.timeline-item::before{content:"";position:absolute;inset-inline-start:-4px;top:16px;width:7px;height:7px;border-radius:50%;background:var(--primary)}

/* Builder */
.draft-list-head{align-items:flex-end}.draft-bulk-actions{display:flex;gap:8px;align-items:center}.draft-select-all{display:flex;align-items:center;padding:8px 0;color:var(--muted)}.draft-list{display:grid;gap:8px}.draft-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.draft-item>a{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}.draft-item>a:hover{border-color:color-mix(in srgb,var(--primary) 34%,var(--line));background:color-mix(in srgb,var(--primary-soft) 36%,var(--surface))}.draft-item.selected>a{border-color:var(--primary);box-shadow:0 0 0 3px var(--input-focus)}.draft-select{display:grid;place-items:center;width:30px}.builder-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px}.breadcrumbs{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:10px}.file-list,.operation-list{display:grid;gap:6px}.operation{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.op{font-size:9px;font-weight:850;text-transform:uppercase;color:var(--primary)}.operation-actions{display:flex;gap:6px;flex-wrap:wrap}.divider{height:1px;background:var(--line);margin:12px 0}.ide-backdrop{position:fixed;inset:0;z-index:17000;display:grid;place-items:center;padding:18px;background:rgba(5,9,18,.72);backdrop-filter:blur(8px)}.ide-shell{width:min(1320px,calc(100vw - 28px));height:min(88vh,900px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-lg)}.ide-searchbar{display:flex;gap:8px;padding:10px;border-bottom:1px solid var(--line);background:var(--surface-2)}.ide-editor{flex:1;min-height:0;background:#0b1020;color:#e7edf9}.ide-editor textarea{height:100%;border:0!important;border-radius:0!important;background:#0b1020!important;color:#e7edf9!important;font:12px/1.6 var(--font-mono);box-shadow:none!important}

/* Translation manager */
.translation-safety-note{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 45%,var(--surface)),var(--surface))}.translation-safety-note>div{display:grid;gap:3px}.translation-filter-card{display:flex;gap:16px;align-items:end;justify-content:space-between}.translation-filters{display:grid;grid-template-columns:minmax(200px,1fr) minmax(200px,1fr);gap:12px;flex:1}.translation-summary{display:flex;gap:7px;flex-wrap:wrap}.translation-summary span{min-width:76px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);display:grid}.translation-summary strong{font-size:17px;color:var(--text-strong)}.translation-summary span{font-size:9px;color:var(--muted);font-weight:800}.translation-table{table-layout:fixed}.translation-table th:nth-child(2){width:20%}.translation-table th:nth-child(3),.translation-table th:nth-child(4){width:27%}.translation-table th:nth-child(5){width:13%}.translation-table th:nth-child(6){width:110px}.translation-value{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;overflow-wrap:anywhere}.translation-value.source{color:var(--muted)}.translation-key{white-space:normal;overflow-wrap:anywhere}.translation-editor-backdrop{position:fixed;inset:0;z-index:17000;display:grid;place-items:center;padding:18px;background:rgba(5,9,18,.72);backdrop-filter:blur(8px)}.translation-editor-card{width:min(980px,calc(100vw - 28px));max-height:92vh;overflow:auto;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-lg);display:grid;gap:14px}.translation-editor-source{display:grid;gap:6px}.translation-editor-source pre{margin:0;max-height:180px;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted)}.translation-editor-card textarea{min-height:180px}.translation-editor-meta{display:flex;gap:12px;justify-content:space-between;align-items:center}

/* Roles / permissions */
.role-card{overflow:hidden}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-item{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.permission-item label{display:flex;align-items:flex-start;gap:8px;font-weight:650}.permission-item small{display:block;margin-top:2px}

/* Logs */
.runtime-logs-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.log-file-list{display:grid;gap:6px;max-height:620px;overflow:auto}.log-file-row{display:grid;gap:2px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:inherit;text-align:start;cursor:pointer}.log-file-row:hover,.log-file-row.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary-soft) 35%,var(--surface))}.runtime-log-output{min-height:440px;max-height:620px;overflow:auto;padding:13px;border:1px solid var(--line);border-radius:11px;background:#0b1020;color:#c9d3e7;font:11px/1.6 var(--font-mono);white-space:pre-wrap;word-break:break-word}

/* Administration states */
.foundation-state{display:flex;align-items:flex-start;justify-content:center;gap:10px;padding:26px 16px;color:var(--muted);text-align:start}.foundation-state strong{display:block;color:var(--text-strong)}.foundation-state small{display:block;margin-top:3px}.state-spinner{width:19px;height:19px;border:2px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:pdf-spin .75s linear infinite}.state-icon{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);font-weight:800}.state-error .state-icon{color:var(--bad)}.state-skeleton{display:grid;gap:8px;width:100%;padding:18px}.state-skeleton i{height:11px;border-radius:7px;background:linear-gradient(90deg,var(--surface-2),var(--line),var(--surface-2));background-size:200% 100%;animation:pdf-shimmer 1.2s infinite}.state-skeleton i:nth-child(2){width:82%}.state-skeleton i:nth-child(3){width:64%}@keyframes pdf-spin{to{transform:rotate(360deg)}}@keyframes pdf-shimmer{to{background-position:-200% 0}}

/* Impersonation */
.impersonation-banner{position:sticky;top:0;z-index:1200;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 18px;background:var(--warning-soft);border-bottom:1px solid color-mix(in srgb,var(--warn) 30%,var(--line));color:var(--text)}.impersonation-banner>div{display:grid}.impersonation-banner small{color:var(--muted)}body:has(.impersonation-banner) .sidebar{top:51px;height:calc(100vh - 51px)}

/* Auth */
.auth-page{overflow:auto;background:var(--canvas)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(420px,.92fr)}.auth-visual{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:38px clamp(34px,5vw,72px);background:linear-gradient(145deg,#070c18,#101a32 62%,#0d2630);color:#fff}.auth-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(98,93,245,.32),transparent 30%),radial-gradient(circle at 90% 80%,rgba(18,165,148,.22),transparent 32%),linear-gradient(rgba(255,255,255,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.027) 1px,transparent 1px);background-size:auto,auto,36px 36px,36px 36px}.auth-visual>*{position:relative;z-index:1}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand>div{display:grid}.auth-brand strong{font-size:14px}.auth-brand small{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#8fa0bd}.auth-visual-copy{max-width:560px}.auth-visual-copy>span{display:inline-flex;margin-bottom:14px;padding:6px 9px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.05);font-size:9px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:#a9b6cd}.auth-visual-copy h2{margin-bottom:14px;color:#fff;font-size:clamp(34px,4vw,58px);line-height:.99;letter-spacing:-.055em}.auth-visual-copy p{max-width:500px;color:#9cabbe;font-size:13px}.auth-paper-scene{position:absolute;right:-80px;top:50%;width:390px;height:440px;transform:translateY(-44%) rotate(5deg);opacity:.95}.paper-sheet{position:absolute;width:250px;height:354px;border-radius:10px;background:#f7f8fb;box-shadow:0 35px 90px rgba(0,0,0,.35)}.sheet-back{left:70px;top:20px;transform:rotate(10deg);opacity:.35}.sheet-mid{left:42px;top:35px;transform:rotate(-7deg);opacity:.55}.sheet-front{left:55px;top:46px;overflow:hidden}.sheet-front::before{content:"A4";position:absolute;right:20px;top:18px;color:#6c7591;font:800 10px var(--font-ui);letter-spacing:.16em}.sheet-front i{position:absolute;left:28px;height:4px;border-radius:4px;background:#625df5}.sheet-front i:nth-child(1){top:68px;width:120px}.sheet-front i:nth-child(2){top:82px;width:170px;background:#d8dce8}.sheet-front i:nth-child(3){top:94px;width:145px;background:#d8dce8}.sheet-front b{position:absolute;top:134px;width:58px;height:76px;border-radius:7px;background:#e9ecf3}.sheet-front b:nth-of-type(1){left:28px}.sheet-front b:nth-of-type(2){left:96px;background:#dad7ff}.sheet-front b:nth-of-type(3){left:164px;background:#dff4ef}.auth-spec-row{display:flex;gap:18px;flex-wrap:wrap;color:#8392aa;font:700 9px var(--font-mono);letter-spacing:.03em}.auth-panel{position:relative;display:flex;flex-direction:column;min-height:100vh;padding:24px clamp(26px,5vw,68px);background:var(--surface)}.auth-toolbar{display:flex;justify-content:flex-end;gap:8px;min-height:42px}.auth-toolbar .language-select{width:110px}.auth-card{width:min(440px,100%);margin:auto;padding:18px 0 46px}.auth-heading{margin-bottom:24px}.auth-heading .brand-mark{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:28px;margin-bottom:16px;padding:0 9px;border-radius:8px;background:var(--primary-soft);color:var(--primary-strong);font-size:10px;font-weight:900;letter-spacing:.1em}.auth-heading h1{font-size:30px}.auth-heading p{font-size:12px}.auth-card form{display:grid;gap:14px}.auth-link{display:block;margin-top:2px;text-align:center;color:var(--primary-strong);font-size:11px;font-weight:750}.auth-footer{text-align:center;color:var(--muted-2);font-size:9px}.auth-panel .card{box-shadow:none;background:var(--surface-2)}

/* Setup */
.setup-checks{display:grid}.setup-check{border-bottom-color:var(--line)!important}.setup-check:last-child{border-bottom:0!important}.auth-card details.card summary{font-size:12px;color:var(--text-strong)}

/* Responsive */
@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recovery-grid,.recovery-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.update-overview-grid{grid-template-columns:1fr}.builder-grid{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:980px){:root{--sidebar-w:284px}.admin-shell{display:block}.main{min-width:0}.sidebar{transform:translateX(calc(-100% - 16px));transition:transform .22s ease;box-shadow:0 24px 80px rgba(0,0,0,.36)}html[dir="rtl"] .sidebar{transform:translateX(calc(100% + 16px))}.sidebar.open{transform:none!important}.sidebar-close{display:grid!important;background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.08)!important;color:#fff!important}.sidebar-backdrop{position:fixed;inset:0;z-index:900;background:rgba(5,9,18,.52);backdrop-filter:blur(3px)}body:has(.sidebar.open) .sidebar-backdrop{display:block}.mobile-menu{display:grid!important}.topbar{padding-inline:16px}.content{padding:22px 16px}.user-chip-copy{display:none}.user-chip{padding:4px}.topbar-language{width:102px}.auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh}.auth-card{padding-top:40px}}
@media(max-width:760px){.topbar-create span:last-child{display:none}.topbar-create{width:39px!important;padding:0!important}.page-context small{display:none}.topbar-language{display:none}.content{padding:18px 12px}.page-head{display:grid;gap:12px}.page-head>.btn{justify-self:start}.grid-2,.form-grid,.permission-grid,.translation-safety-note,.translation-filters,.runtime-logs-layout{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{min-height:96px;padding:14px}.metric strong{font-size:21px}.card{padding:16px;border-radius:16px}.table-card{padding:0}.list-toolbar{display:grid}.list-toolbar-actions{align-items:stretch}.list-toolbar-actions>*{flex:1 1 120px}.foundation-file-upload{grid-template-columns:46px 1fr}.foundation-file-upload>.btn{grid-column:1/-1}.file-upload-icon{width:42px;height:42px}.pipeline-steps{grid-template-columns:1fr;justify-items:start}.pipeline-step{grid-template-columns:16px 1fr;justify-items:start;align-items:center;text-align:start}.pipeline-step i{grid-row:1}.translation-filter-card{display:grid;align-items:stretch}.translation-summary{display:grid;grid-template-columns:repeat(3,1fr)}.translation-summary span{min-width:0}.translation-table{table-layout:auto}.translation-editor-backdrop,.ide-backdrop{padding:0}.translation-editor-card,.ide-shell{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}.builder-grid{grid-template-columns:1fr}.sticky-actions{bottom:8px;width:100%;justify-content:stretch}.sticky-actions .btn{flex:1}.auth-panel{padding:18px}.auth-toolbar{min-height:36px}.auth-card{padding-top:24px}.recovery-grid,.recovery-metrics{grid-template-columns:1fr 1fr}.artifact-row{align-items:flex-start}}
@media(max-width:520px){.metric-grid{grid-template-columns:1fr}.top-actions{gap:6px}.theme-switch{display:none}.page-context strong{max-width:160px}.recovery-grid,.recovery-metrics{grid-template-columns:1fr}.safety-grid{grid-template-columns:1fr}.user-avatar{width:32px;height:32px}.content{padding-inline:10px}.card{padding:14px}.table-card{padding:0}.responsive-table th,.responsive-table td{padding:11px 10px}.auth-panel{padding-inline:16px}}

/* RTL detail */
html[dir="rtl"] .nav-link.active::before{inset-inline-start:-16px}html[dir="rtl"] .paper-sheet{direction:ltr}html[dir="rtl"] .auth-paper-scene{right:auto;left:-80px;transform:translateY(-44%) rotate(-5deg)}html[dir="rtl"] .swal2-popup{text-align:right}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:12px;padding-left:34px}

/* Foundation visual contracts retained by PDF Studio. */
.language-select{width:auto!important;min-width:86px}
.update-processing-zone[hidden]{display:none!important}
.ide-shell{height:min(94vh,1100px)}
.ide-shell .ide-editor,.ide-shell textarea[data-editor]{min-height:clamp(500px,68vh,860px)}

/* =========================================================
   Admin UI convergence — v1.0.4
   ========================================================= */

/* Global rhythm and compact utility surfaces */
.page-head{margin-bottom:26px}
.card{margin-bottom:22px}
.card-head{margin-bottom:18px}
.row-actions-start{justify-content:flex-start!important}
.form-actions-end{justify-content:flex-end!important}
.inline-action-form{display:inline-flex;margin:0}
.danger-soft{border-color:color-mix(in srgb,var(--danger) 28%,var(--line))!important;background:color-mix(in srgb,var(--danger-soft) 74%,var(--surface))!important;color:var(--danger)!important}
.dropdown-empty{display:block;min-width:190px;max-width:250px;padding:11px 13px;color:var(--muted);font-size:11px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.actions,.row-actions{gap:8px}
.table-card .responsive-table td,.table-card .responsive-table th{vertical-align:middle}

/* Recovery center: two readable cards, resilient text wrapping and proper spacing */
.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.recovery-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.recovery-grid>.card{min-width:0;margin-bottom:0}
.timeline{min-width:0}
.timeline-item{position:relative;display:grid;gap:5px;min-width:0;padding:14px 0 14px 22px;border-left:1px solid var(--line)}
.timeline-item::before{content:"";position:absolute;left:-5px;top:20px;width:9px;height:9px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px var(--surface)}
.timeline-item strong,.timeline-item small,.timeline-item p{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.timeline-item strong{line-height:1.4}
.timeline-item small{margin-top:1px;font-size:10px;line-height:1.45;color:var(--muted-2)}
.timeline-item p{margin:2px 0 0;line-height:1.62;color:var(--muted)}
.detail-box{min-width:0}
.detail-box strong,.detail-box small{display:block;overflow-wrap:anywhere;word-break:break-word}

/* PDF theme and brand forms */
.pdf-theme-install-card .foundation-file-upload{margin-top:6px}
.pdf-theme-upload-actions{justify-content:flex-end;padding-top:8px;margin-top:4px}
.brand-form-card .form-actions{margin-top:4px}
.brand-form-card .field-help{margin-top:6px}

/* Settings: one intentional full-width footer instead of a floating orphan button */
.settings-form{display:grid;gap:20px}
.settings-form>.card{margin-bottom:0}
.settings-card-head{margin-bottom:16px}
.settings-save-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:2px 0 22px;padding:15px 17px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 96%,var(--primary) 4%);box-shadow:var(--shadow-sm)}
.settings-save-copy{display:grid;gap:2px;min-width:0}
.settings-save-copy strong{font-size:12px;color:var(--text-strong)}
.settings-save-copy small{font-size:10px;line-height:1.45}
.settings-save-bar .btn{flex:0 0 auto}

/* Roles & permissions: role selector + category workbench */
.roles-workbench{display:grid;grid-template-columns:270px minmax(0,1fr);gap:20px;align-items:start}
.roles-sidebar{position:sticky;top:calc(var(--topbar-h) + 18px);padding:18px;max-height:calc(100vh - var(--topbar-h) - 38px);overflow:auto}
.roles-sidebar-head{margin-bottom:14px}
.role-switcher{display:grid;gap:8px}
.role-switch{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s}
.role-switch:hover{border-color:var(--line-strong);background:var(--surface)}
.role-switch.active{border-color:color-mix(in srgb,var(--primary) 48%,var(--line));background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}
.role-switch strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.role-switch small{grid-column:1/-1;font-size:9px;line-height:1.35}
.role-level{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:8px;font-weight:850;letter-spacing:.08em;color:var(--muted)}
.roles-editor-stack,.role-panel{min-width:0}
.role-panel[hidden]{display:none!important}
.role-panel{padding:22px}
.role-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.role-panel-head h2{margin-bottom:5px}
.role-permission-counter{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:10px;font-weight:800;color:var(--muted);white-space:nowrap}
.role-bypass-panel{display:grid;gap:12px;padding:18px;border:1px solid color-mix(in srgb,var(--success) 25%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--success-soft) 62%,var(--surface))}
.role-bypass-panel strong{color:var(--success)}
.permission-reference{margin-top:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}
.permission-reference>summary{padding:12px 14px;cursor:pointer;font-weight:800;color:var(--text-strong)}
.permission-reference>[data-reference-content]{padding:0 12px 12px}
.permission-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.permission-toolbar .search-box{flex:1 1 340px;max-width:620px}
.permission-toolbar-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.permission-category{overflow:hidden;margin-bottom:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.permission-category-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;background:var(--surface-2);border-bottom:1px solid var(--line)}
.permission-category.collapsed .permission-category-head{border-bottom:0}
.permission-category-toggle{display:flex;align-items:center;gap:9px;min-width:0;border:0;background:transparent;padding:2px 0;color:var(--text-strong);font-weight:850;cursor:pointer;text-align:left}
.permission-category-toggle::before{content:"⌄";display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--surface);border:1px solid var(--line);font-size:12px;transition:transform .15s}
.permission-category.collapsed .permission-category-toggle::before{transform:rotate(-90deg)}
.permission-category-toggle span{min-width:0;overflow-wrap:anywhere}
.permission-category-all{display:flex;align-items:center;gap:8px;flex:0 0 auto;font-size:10px;font-weight:750;color:var(--muted);cursor:pointer}
.permission-category-all input{margin:0}
.permission-category.collapsed [data-permission-category-body]{display:none!important}
.permission-category .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}
.permission-item{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:flex-start;min-width:0;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}
.permission-item:hover{border-color:var(--line-strong);background:var(--surface)}
.permission-item input{margin:3px 0 0}
.permission-item>span{display:grid;gap:2px;min-width:0}
.permission-item strong,.permission-item small,.permission-item code{overflow-wrap:anywhere;word-break:break-word}
.permission-item strong{font-size:11px}
.permission-item small{font-size:9px;line-height:1.4}
.permission-item code{margin-top:3px;font-size:8px;color:var(--muted-2)}
.permission-item[hidden]{display:none!important}
.role-save-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:13px 14px;border:1px solid var(--line-strong);border-radius:13px;background:color-mix(in srgb,var(--surface) 96%,var(--primary) 4%)}
.role-save-bar>div{display:grid;gap:2px;min-width:0}.role-save-bar small{font-size:9px}.role-save-bar .btn{flex:0 0 auto}

/* Translation manager polish */
.translation-safety-note>div{display:flex;align-items:flex-start;gap:12px;min-width:0}
.translation-note-icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:16px}
.translation-safety-note strong{display:block;margin-bottom:4px;color:var(--text-strong)}
.translation-filter-card{padding:20px}
.translation-list-card{overflow:hidden;padding:0}
.translation-list-head{padding:20px 20px 0;margin-bottom:4px}
.translation-toolbar{padding:14px 20px 16px}
.translation-table th,.translation-table td{padding-inline:18px}
.translation-table td{vertical-align:top}
.translation-table code{font-size:10px}
.translation-edit-btn{min-width:84px}
.translation-list-card .list-footer{padding:13px 18px;border-top:1px solid var(--line);background:var(--surface-2)}
.translation-domain-title{overflow-wrap:anywhere}

/* Secure integrated log visualizer */
.runtime-logs-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:660px;padding:0!important;overflow:hidden}
.runtime-log-sidebar{min-width:0;padding:20px;border-right:1px solid var(--line);background:var(--surface-2)}
.runtime-log-sidebar-head{margin-bottom:14px}.runtime-log-sidebar-head p{margin:0;font-size:11px}
.runtime-log-file-list{display:grid;gap:8px}
.runtime-log-file{width:100%;display:grid;gap:2px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface);text-align:left;cursor:pointer;color:var(--text)}
.runtime-log-file:hover{border-color:var(--line-strong)}
.runtime-log-file.active{border-color:color-mix(in srgb,var(--primary) 52%,var(--line));background:var(--primary-soft);box-shadow:inset 3px 0 0 var(--primary)}
.runtime-log-file strong{font:750 10px var(--font-mono);overflow-wrap:anywhere}.runtime-log-file small{font-size:9px}
.runtime-log-viewer{display:flex;flex-direction:column;min-width:0;min-height:0;padding:20px;background:var(--surface)}
.runtime-log-viewer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.runtime-log-viewer-title{min-width:0}.runtime-log-viewer-title strong{display:block;margin-bottom:3px;overflow-wrap:anywhere}.runtime-log-viewer-title small{font-size:9px}
.runtime-log-viewer-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.runtime-log-tools{display:grid;grid-template-columns:minmax(180px,1fr) 150px auto;gap:9px;margin-bottom:12px}
.runtime-log-screen{position:relative;display:flex;flex:1;min-height:460px;overflow:hidden;border:1px solid #263348;border-radius:14px;background:#08101d;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.runtime-log-output{width:100%;margin:0;padding:17px 18px;overflow:auto;overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;color:#c9d5e7;font:10px/1.68 var(--font-mono);tab-size:2;background:radial-gradient(circle at 85% 0%,rgba(98,93,245,.10),transparent 28%)}
.runtime-log-empty{margin:auto;padding:28px;color:#708198;text-align:center}
.runtime-log-badge{display:inline-flex;align-items:center;gap:5px;margin-left:7px;padding:3px 7px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.runtime-log-viewer.fullscreen{position:fixed;inset:14px;z-index:19050;min-height:0;padding:18px;border:1px solid var(--line-strong);border-radius:18px;background:var(--surface);box-shadow:0 30px 100px rgba(0,0,0,.36)}
.runtime-log-viewer.fullscreen .runtime-log-screen{min-height:0;flex:1}.runtime-log-viewer.fullscreen .runtime-log-output{max-height:none}
body.log-viewer-open{overflow:hidden}

/* All dropdowns and update history actions must remain above scroll containers. */
.dropdown[data-floating="1"]{z-index:19000!important;position:fixed!important}
.update-history-action-menu{display:inline-flex!important;position:relative;align-items:center;justify-content:center;min-width:38px;min-height:38px}
.update-history-action-menu>.icon-button{display:grid!important;visibility:visible!important;opacity:1!important;place-items:center;width:38px!important;height:38px!important;min-width:38px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:var(--surface)!important;color:var(--text-strong)!important;font-size:18px!important;line-height:1!important;box-shadow:var(--shadow-sm)}
.update-history-action-menu>.icon-button:hover{border-color:var(--line-strong)!important;background:var(--surface-2)!important}
.update-history-dropdown{min-width:220px;max-width:min(280px,calc(100vw - 24px))}
.update-history-dropdown button,.update-history-dropdown a{width:100%}

@media(max-width:1180px){
  .roles-workbench{grid-template-columns:230px minmax(0,1fr)}
  .runtime-logs-shell{grid-template-columns:250px minmax(0,1fr)}
}
@media(max-width:900px){
  .roles-workbench{grid-template-columns:1fr}.roles-sidebar{position:static;max-height:none}.role-switcher{display:flex;overflow:auto;padding-bottom:4px}.role-switch{min-width:190px}
  .runtime-logs-shell{grid-template-columns:1fr}.runtime-log-sidebar{border-right:0;border-bottom:1px solid var(--line)}.runtime-log-file-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recovery-grid{grid-template-columns:1fr}.recovery-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .permission-toolbar,.role-panel-head,.role-save-bar,.settings-save-bar,.runtime-log-viewer-head{align-items:stretch;display:grid}
  .permission-toolbar-actions,.runtime-log-viewer-actions{justify-content:flex-start}
  .permission-category .permission-grid{grid-template-columns:1fr}
  .runtime-log-tools{grid-template-columns:1fr}.runtime-log-file-list{grid-template-columns:1fr}
  .settings-save-bar .btn,.role-save-bar .btn{width:100%}
  .translation-toolbar{padding-inline:14px}.translation-list-head{padding-inline:14px}
}
@media(max-width:520px){.recovery-metrics{grid-template-columns:1fr}.permission-category-head{align-items:flex-start;display:grid}.permission-category-all{padding-left:29px}}

/* v1.0.4 viewer/permissions selector alignment */
.permission-search{display:grid;gap:5px;flex:1 1 340px;max-width:620px}.permission-search>span{font-size:9px;font-weight:800;color:var(--muted)}
.runtime-log-screen{flex-direction:column}.runtime-log-screen-bar{display:flex;align-items:center;gap:6px;min-height:32px;padding:7px 11px;border-bottom:1px solid #263348;background:#0b1625}.runtime-log-screen-bar small{margin-left:5px;color:#718198;font:700 8px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.runtime-log-dot{width:7px;height:7px;border-radius:50%;background:#64748b}.runtime-log-dot:nth-child(1){background:#ff7b72}.runtime-log-dot:nth-child(2){background:#f2cc60}.runtime-log-dot:nth-child(3){background:#56d364}.runtime-log-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.runtime-log-meta span{display:inline-flex;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:8px;font-weight:800;color:var(--muted)}.runtime-log-search,.runtime-log-limit{display:grid;gap:5px}.runtime-log-search span,.runtime-log-limit span{font-size:8px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.log-file-icon{display:grid;place-items:center;width:32px;height:24px;border-radius:7px;background:var(--surface-2);border:1px solid var(--line);color:var(--primary);font:850 8px var(--font-mono)}.runtime-log-file{grid-template-columns:32px minmax(0,1fr);align-items:center}.runtime-log-file>span:last-child{display:grid;min-width:0}.runtime-log-file>span:last-child strong,.runtime-log-file>span:last-child small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* v1.0.5 deterministic update-history action trigger.
   The inline SVG is the no-CSS fallback; these rules normalize the themed state. */
#updates-list td[data-label="Actions"]{min-width:72px;overflow:visible!important}
#updates-list td[data-label="Actions"]>.actions{min-width:44px;justify-content:flex-end;overflow:visible!important}
.update-history-menu-trigger{display:inline-grid!important;visibility:visible!important;opacity:1!important;place-items:center!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important;color:var(--text-strong,#172033)!important;background:var(--surface,#fff)!important;border:1px solid var(--line,#d9e1ec)!important;border-radius:11px!important;box-shadow:var(--shadow-sm,0 1px 2px rgba(15,23,42,.05))!important}
.update-history-menu-trigger svg{display:block!important;width:20px!important;height:20px!important;overflow:visible!important;pointer-events:none}
.update-history-menu-trigger:hover,.update-history-menu-trigger[aria-expanded="true"]{color:var(--primary-strong,#4f46e5)!important;border-color:color-mix(in srgb,var(--primary,#625df5) 38%,var(--line,#d9e1ec))!important;background:var(--primary-soft,#f0efff)!important}


/* v1.0.6 viewport stacking contract.
   Closed content controls must scroll below the sticky topbar; portalled menus may escape it. */
.topbar{isolation:isolate}
.content .select2-container:not(.select2-container--open){z-index:auto!important}
body>.dropdown[data-floating="1"]{position:fixed!important;z-index:19000!important}


/* =========================================================
   Admin UX convergence R3 — v1.0.7
   ========================================================= */

/* Page rhythm */
.content>.page-head{margin-bottom:28px}.content>.page-head p{max-width:920px;line-height:1.65}.content>.card+.card{margin-top:4px}
.card-head>div{min-width:0}.card-head h2,.card-head p{overflow-wrap:anywhere}.card-head p{margin-top:5px;line-height:1.55}

/* Recovery center — separate content from timestamps and never concatenate text visually */
#recovery-center{display:grid;gap:22px}.recovery-grid{gap:22px}.recovery-grid>.card{padding:22px}.recovery-grid>.card .card-head{gap:16px;margin-bottom:18px}.detail-box{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.timeline{display:grid;gap:0}.timeline-item{padding:15px 0 15px 22px}.timeline-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:start}.timeline-main strong{line-height:1.45}.timeline-main time{display:inline-flex;align-items:center;min-height:23px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted-2);font:700 8px var(--font-mono);white-space:nowrap}.timeline-item p{margin-top:7px!important;padding-right:4px}

/* Foundation uploader — one component, clear drop zone, separated action footer */
.foundation-file-upload{min-height:108px;padding:20px 22px;cursor:pointer}.foundation-file-upload.is-dragging,.foundation-file-upload.is-dragover{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 4px var(--input-focus)}.foundation-file-upload.has-file{border-style:solid;border-color:color-mix(in srgb,var(--success) 42%,var(--line));background:color-mix(in srgb,var(--success-soft) 45%,var(--surface))}.foundation-file-upload.has-error{border-style:solid;border-color:color-mix(in srgb,var(--danger) 48%,var(--line));background:color-mix(in srgb,var(--danger-soft) 45%,var(--surface))}.foundation-file-upload.has-error [data-file-upload-name]{color:var(--danger)}
.pdf-theme-install-card{padding:24px}.pdf-theme-upload-form{display:grid;gap:18px}.pdf-theme-upload-actions{justify-content:flex-end;margin:0;padding:16px 0 0;border-top:1px solid var(--line)}.pdf-theme-upload-actions .btn{min-width:150px}.pdf-theme-upload-actions .btn:disabled{opacity:.48;cursor:not-allowed}

/* Brand editor — stable footer instead of an orphan action */
.pdf-brand-form{display:grid;gap:18px}.brand-fields{margin:0}.brand-form-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px;border-top:1px solid var(--line)}.brand-form-footer>div{display:grid;gap:3px;min-width:0}.brand-form-footer strong{font-size:11px;color:var(--text-strong)}.brand-form-footer small{font-size:9px;line-height:1.5}.brand-form-footer .btn{min-width:140px}

/* Roles — compact authority workbench, explicit dirty state */
.roles-workbench{grid-template-columns:250px minmax(0,1fr);gap:22px}.roles-sidebar{padding:16px}.role-switcher{gap:7px}.role-switch{padding:10px 11px}.role-switch-copy{display:grid;gap:2px;min-width:0}.role-panel{padding:22px 24px}.role-panel-title{min-width:0}.role-panel-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.role-permission-counter{gap:3px}.role-permission-counter strong{font-size:13px;color:var(--text-strong)}
.permission-control-deck{display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:14px;margin-bottom:14px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.permission-toolbar-actions{align-items:center}.permission-toolbar-separator{width:1px;height:26px;background:var(--line)}.permission-category{margin-bottom:9px}.permission-category-title{display:grid;gap:2px;min-width:0}.permission-category-toggle{flex:1}.permission-category-toggle::before{content:"⌄"}.permission-category .permission-grid{gap:8px;padding:10px}.permission-item{padding:10px}.permission-item code{opacity:.52;transition:opacity .15s}.permission-item:hover code{opacity:.9}.permission-empty-filter{padding:24px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}
.role-save-bar{position:sticky;bottom:14px;z-index:120;box-shadow:0 16px 34px rgba(15,23,42,.10);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--surface) 92%,transparent)}.role-save-bar.is-dirty{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));box-shadow:0 16px 34px rgba(98,93,245,.14)}.role-save-bar .btn:disabled{opacity:.46;cursor:not-allowed}

/* Settings — keep the save action available on long forms without floating over fields */
.settings-save-bar{position:sticky;bottom:14px;z-index:110;margin:0 0 22px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);box-shadow:0 16px 34px rgba(15,23,42,.10)}

/* Translation manager — scope is visible and scope changes are deterministic */
.translation-filter-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end}.translation-filter-main{display:grid;gap:12px;min-width:0}.translation-scope-row{display:flex;align-items:center;gap:9px}.translation-scope-chip{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:9px;font-weight:800;color:var(--muted)}.translation-filter-card.is-scope-loading .translation-scope-chip{opacity:.55}.translation-list-card{box-shadow:var(--shadow-sm)}.translation-list-head{display:flex;align-items:start;justify-content:space-between}.translation-table .translation-value{line-height:1.5;overflow-wrap:anywhere}.translation-table .translation-key{white-space:normal;overflow-wrap:anywhere}.translation-edit-btn{justify-content:center}

/* Log viewer — readable terminal with user-controlled line wrapping */
.runtime-log-output.nowrap{white-space:pre;overflow-wrap:normal;word-break:normal}.runtime-log-viewer-actions .btn[aria-pressed="true"]{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));background:var(--primary-soft);color:var(--primary-strong)}.runtime-log-screen{min-height:520px}.runtime-log-output{scrollbar-gutter:stable both-edges}

@media(max-width:980px){.translation-filter-card{grid-template-columns:1fr}.translation-summary{justify-self:stretch}.permission-control-deck{grid-template-columns:1fr;align-items:stretch}.permission-toolbar-actions{justify-content:flex-start}.timeline-main{grid-template-columns:1fr}.timeline-main time{justify-self:start}}
@media(max-width:760px){.brand-form-footer{display:grid}.brand-form-footer .btn{width:100%}.pdf-theme-upload-actions .btn{width:100%}.role-panel{padding:16px}.role-save-bar,.settings-save-bar{bottom:8px}.permission-toolbar-separator{display:none}.translation-scope-row{align-items:stretch;display:grid;grid-template-columns:1fr auto}.translation-scope-chip{justify-content:center}}

/* v1.0.8 — dialog/select2 isolation + pipeline action spacing */
.swal2-popup .swal2-select + .select2-container{display:none!important}
.pipeline-actions>.btn{margin:0!important}

/* v1.0.11 — update history section spacing */
#updates-list>.table-card-head{padding:24px 26px 14px;margin:0}
#updates-list>.list-toolbar{padding:18px 26px 22px;gap:18px}
#updates-list>.list-footer{padding-inline:26px}
@media(max-width:760px){#updates-list>.table-card-head{padding:18px 16px 12px}#updates-list>.list-toolbar{padding:14px 16px 16px;gap:12px}#updates-list>.list-footer{padding-inline:16px}}
@media(max-width:520px){#updates-list>.table-card-head{padding:16px 12px 10px}#updates-list>.list-toolbar{padding:12px 12px 14px}#updates-list>.list-footer{padding-inline:12px}}


/* =========================================================
   v1.0.12 — deployment cycle + validation convergence
   Visual contract aligned with the Captivio deployment model,
   adapted to PDF Studio tokens and update semantics.
   ========================================================= */
.update-cycle-board.update-processing-zone{margin-top:22px;padding:30px;border-top:0;background:var(--surface);overflow:hidden}
.update-cycle-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.update-cycle-head>div:first-child{min-width:0}.update-cycle-head .card-kicker{display:block;margin-bottom:8px}.update-cycle-head h2{margin:0;color:var(--text-strong);font-size:25px;line-height:1.15;letter-spacing:-.035em}.update-cycle-head p{max-width:920px;margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.update-cycle-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.update-cycle-count{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 14px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);font-size:10px;font-weight:850;white-space:nowrap}
.update-cycle-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.72fr) minmax(250px,.72fr);gap:14px;align-items:stretch}.update-cycle-lane{min-width:0;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface-2) 72%,var(--surface));overflow:hidden}.update-cycle-lane-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:84px;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--surface)}.update-cycle-lane-head>div{display:grid;gap:3px;min-width:0}.update-cycle-lane-head strong{color:var(--text-strong);font-size:12px;line-height:1.2}.update-cycle-lane-head small{color:var(--muted);font-size:9px;line-height:1.35}.update-cycle-lane-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px}.update-cycle-lane-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.update-cycle-lane-icon.is-active{background:var(--primary-soft);color:var(--primary-strong)}.update-cycle-lane-icon.is-success{background:var(--success-soft);color:var(--success)}.update-cycle-lane-icon.is-error{background:var(--danger-soft);color:var(--danger)}.update-cycle-lane-count{display:grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border-radius:999px;background:var(--surface-2);color:var(--text-strong);font-size:10px;font-weight:850}.update-cycle-lane-body{display:grid;align-content:start;gap:10px;padding:14px;min-height:220px}
.cycle-active-card.pipeline-item{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm)}.cycle-active-head{gap:14px}.cycle-active-head>div{min-width:0}.cycle-active-head strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.cycle-version{margin-top:4px;color:var(--muted);font:700 9px/1.35 var(--font-mono);overflow-wrap:anywhere}.cycle-version span{color:var(--primary)}.cycle-active-head .status{flex:0 0 auto;align-self:start;min-height:28px;padding:5px 10px;font-size:8px}
.cycle-steps.pipeline-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:18px;align-items:start}.cycle-step{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:32px auto;justify-items:center;align-items:start;gap:8px;min-width:0;color:var(--muted);text-align:center}.cycle-step:not(:last-child)::after{content:"";position:absolute;z-index:0;top:15px;left:50%;width:100%;height:2px;border-radius:999px;background:var(--line)}.cycle-step.done:not(:last-child)::after{background:color-mix(in srgb,var(--success) 52%,var(--line))}.cycle-step.current:not(:last-child)::after{background:linear-gradient(90deg,color-mix(in srgb,var(--warning) 66%,var(--line)),var(--line) 72%)}.cycle-step-node{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--muted)}.cycle-step-node svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cycle-step-copy{position:relative;z-index:2;display:grid;gap:2px;min-width:0;width:100%;padding:0 6px;text-align:center}.cycle-step-copy strong{color:var(--text-strong);font-size:9px;line-height:1.2}.cycle-step-copy small{color:var(--muted);font-size:8px;line-height:1.25}.cycle-step.done .cycle-step-node{border-color:var(--success);background:var(--success);color:#fff}.cycle-step.done .cycle-step-copy small{color:var(--success)}.cycle-step.current .cycle-step-node{border-color:var(--warning);background:var(--warning-soft);color:var(--warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 10%,transparent)}.cycle-step.current .cycle-step-copy small{color:var(--warning)}.cycle-step.failed .cycle-step-node{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.cycle-step.failed .cycle-step-copy small{color:var(--danger)}
.cycle-actions.pipeline-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.cycle-action-primary{display:flex;align-items:center;gap:8px}.cycle-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 14px;border:1px solid transparent;border-radius:12px;font:800 10px/1 var(--font-ui);cursor:pointer;transition:.16s}.cycle-action svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cycle-action-review{border-color:color-mix(in srgb,var(--warning) 25%,var(--line));background:var(--warning-soft);color:color-mix(in srgb,var(--warning) 88%,#6c4b00)}.cycle-action-review:hover{border-color:var(--warning);transform:translateY(-1px)}.cycle-action-install{background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 18%,transparent)}.cycle-action-install:hover{transform:translateY(-1px);box-shadow:0 13px 28px color-mix(in srgb,var(--primary) 24%,transparent)}.cycle-action-abandon{margin-inline-start:auto;border-color:transparent;background:var(--danger-soft);color:var(--danger)}.cycle-action-abandon:hover{border-color:color-mix(in srgb,var(--danger) 28%,var(--line));transform:translateY(-1px)}
.update-cycle-recent-list{align-content:start}.cycle-recent-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.cycle-recent-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px}.cycle-recent-card.is-success .cycle-recent-icon{background:var(--success-soft);color:var(--success)}.cycle-recent-card.is-error .cycle-recent-icon{background:var(--danger-soft);color:var(--danger)}.cycle-recent-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cycle-recent-card>div{display:grid;gap:3px;min-width:0}.cycle-recent-card strong{color:var(--text-strong);font-size:10px;line-height:1.35;overflow-wrap:anywhere}.cycle-recent-card small{color:var(--muted);font:650 8px/1.45 var(--font-mono);overflow-wrap:anywhere}.cycle-recent-card p{margin:2px 0 0;color:var(--muted);font-size:9px;line-height:1.4;overflow-wrap:anywhere}.cycle-recent-card.is-success p{color:var(--success)}.cycle-recent-card.is-error p{color:var(--danger)}.cycle-empty{display:grid;place-items:center;min-height:150px;padding:22px;text-align:center;color:var(--muted);font-size:10px}.cycle-empty.errors{color:var(--muted)}

/* Update confirmations: branded, spacious, action-toned, no stray controls. */
.update-confirm-dialog.swal2-popup{width:min(820px,calc(100vw - 32px))!important;padding:42px 48px 36px!important;border-radius:28px!important;display:grid!important;grid-template-columns:86px minmax(0,1fr)!important;grid-template-areas:"icon title" "icon body" ". actions"!important;column-gap:26px!important;row-gap:8px!important;text-align:start!important;background:linear-gradient(145deg,color-mix(in srgb,var(--primary-soft) 18%,var(--surface)),var(--surface) 58%)!important}.update-confirm-dialog>.swal2-icon{grid-area:icon!important;align-self:start!important;display:grid!important;place-items:center!important;width:72px!important;height:72px!important;margin:0!important;border:0!important;border-radius:20px!important;transform:none!important;background:linear-gradient(145deg,var(--primary),color-mix(in srgb,var(--accent) 62%,var(--primary)))!important;color:#fff!important;box-shadow:0 18px 38px color-mix(in srgb,var(--primary) 20%,transparent)!important}.update-confirm-dialog>.swal2-icon .swal2-icon-content{font-size:34px!important;color:#fff!important}.update-confirm-dialog>.update-confirm-title{grid-area:title!important;margin:0!important;padding:1px 0 0!important;text-align:start!important;color:var(--text-strong)!important;font-size:26px!important;line-height:1.08!important;letter-spacing:-.035em!important}.update-confirm-dialog>.update-confirm-title::before{content:"PDF STUDIO";display:block;margin-bottom:8px;color:var(--primary);font-size:10px;line-height:1;letter-spacing:.18em;font-weight:900}.update-confirm-dialog>.update-confirm-body{grid-area:body!important;margin:2px 0 0!important;padding:0!important;text-align:start!important;color:var(--muted)!important;font-size:16px!important;line-height:1.55!important}.update-confirm-dialog>.update-confirm-actions{grid-area:actions!important;display:flex!important;justify-content:flex-end!important;gap:12px!important;margin:24px 0 0!important;padding:0!important}.update-confirm-dialog .update-confirm-button,.update-confirm-dialog .update-cancel-button{min-width:170px!important;min-height:50px!important;padding:12px 20px!important;border-radius:14px!important;font-size:13px!important;font-weight:850!important}.update-confirm-dialog .update-cancel-button{background:var(--surface-2)!important;color:var(--text-strong)!important;border:1px solid var(--line)!important}.update-confirm-dialog .update-confirm-button{background:linear-gradient(135deg,var(--primary),var(--primary-strong))!important;color:#fff!important;box-shadow:0 14px 30px color-mix(in srgb,var(--primary) 20%,transparent)!important}.update-confirm-dialog.update-confirm-review{border-color:color-mix(in srgb,var(--warning) 42%,var(--line))!important;background:linear-gradient(145deg,color-mix(in srgb,var(--warning-soft) 58%,var(--surface)),var(--surface) 62%)!important}.update-confirm-dialog.update-confirm-review>.swal2-icon{background:linear-gradient(145deg,#e49a0d,#f6bd48)!important;box-shadow:0 18px 38px rgba(228,154,13,.18)!important}.update-confirm-dialog.update-confirm-review>.update-confirm-title::before{color:var(--warning)}.update-confirm-dialog.update-confirm-review .update-confirm-button{background:linear-gradient(135deg,#e99b08,#f0b73e)!important;color:#fff!important;box-shadow:0 14px 30px rgba(228,154,13,.18)!important}.update-confirm-dialog.update-confirm-danger{border-color:color-mix(in srgb,var(--danger) 35%,var(--line))!important;background:linear-gradient(145deg,color-mix(in srgb,var(--danger-soft) 56%,var(--surface)),var(--surface) 62%)!important}.update-confirm-dialog.update-confirm-danger>.swal2-icon{background:linear-gradient(145deg,var(--danger),#ef7474)!important}.update-confirm-dialog.update-confirm-danger>.update-confirm-title::before{color:var(--danger)}.update-confirm-dialog.update-confirm-danger .update-confirm-button{background:linear-gradient(135deg,var(--danger),#b82f2f)!important}

@media(max-width:1180px){.update-cycle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.update-cycle-lane-active{grid-column:1/-1}}
@media(max-width:820px){.update-cycle-board.update-processing-zone{padding:20px}.update-cycle-head{display:grid}.update-cycle-head-actions{justify-content:flex-start}.update-cycle-grid{grid-template-columns:1fr}.update-cycle-lane-active{grid-column:auto}.cycle-steps.pipeline-steps{grid-template-columns:1fr;gap:8px}.cycle-step{grid-template-columns:32px 1fr;grid-template-rows:auto;justify-items:start;align-items:center;gap:10px;text-align:start}.cycle-step-copy{width:auto;padding:0;text-align:start}.cycle-step:not(:last-child)::after{top:16px;left:15px;width:2px;height:calc(100% + 8px)}.cycle-actions.pipeline-actions{align-items:stretch}.cycle-action,.cycle-action-primary{flex:1}.cycle-action-primary .cycle-action{width:100%}.update-confirm-dialog.swal2-popup{padding:28px!important;grid-template-columns:62px minmax(0,1fr)!important;column-gap:18px!important}.update-confirm-dialog>.swal2-icon{width:56px!important;height:56px!important;border-radius:16px!important}.update-confirm-dialog>.update-confirm-title{font-size:22px!important}.update-confirm-dialog>.update-confirm-body{font-size:14px!important}}
@media(max-width:560px){.update-cycle-board.update-processing-zone{padding:16px;border-radius:18px}.update-cycle-lane-head{grid-template-columns:40px minmax(0,1fr) auto;padding:14px}.update-cycle-lane-body{padding:10px}.cycle-active-card.pipeline-item{padding:14px}.cycle-active-head{display:grid}.cycle-active-head .status{justify-self:start}.cycle-actions.pipeline-actions{display:grid}.cycle-action-primary,.cycle-action{width:100%}.update-confirm-dialog.swal2-popup{padding:24px 20px!important;grid-template-columns:1fr!important;grid-template-areas:"icon" "title" "body" "actions"!important;text-align:center!important}.update-confirm-dialog>.swal2-icon{justify-self:center!important}.update-confirm-dialog>.update-confirm-title,.update-confirm-dialog>.update-confirm-body{text-align:center!important}.update-confirm-dialog>.update-confirm-actions{display:grid!important;width:100%!important}.update-confirm-dialog .update-confirm-button,.update-confirm-dialog .update-cancel-button{width:100%!important;min-width:0!important}}

/* Update recovery / rescue convergence */
.page-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;min-width:0}
.btn.rescue-entry{border-color:color-mix(in srgb,var(--warning) 34%,var(--line));background:color-mix(in srgb,var(--warning-soft) 72%,var(--surface));color:var(--warning)}
.btn.rescue-entry:hover{border-color:var(--warning);background:var(--warning-soft)}
@media(max-width:820px){.page-head-actions{width:100%;justify-content:flex-start}.page-head-actions>.btn{flex:0 1 auto}}


/* Dashboard administration launcher — core-feature discoverability */
.dashboard-tools-card{padding:22px}
.dashboard-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.dashboard-tool-link{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title arrow" "desc arrow";align-items:center;gap:3px 14px;min-height:78px;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);color:var(--text);transition:border-color .16s ease,transform .16s ease,background .16s ease}
.dashboard-tool-link:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--surface-2))}
.dashboard-tool-link strong{grid-area:title;font-size:13px;color:var(--text-strong)}
.dashboard-tool-link small{grid-area:desc;color:var(--muted);line-height:1.35}
.dashboard-tool-link>span{grid-area:arrow;font-size:18px;color:var(--accent);font-weight:800}
@media(max-width:720px){.dashboard-tool-grid{grid-template-columns:1fr}.dashboard-tools-card{padding:18px}}

/* PDF theme version lifecycle — v1.0.17 */
.pdf-theme-families{display:grid;gap:16px}.pdf-theme-family-card{overflow:hidden}.pdf-theme-family-head{align-items:flex-start;gap:18px}.pdf-theme-family-head>div:first-child{min-width:0}.pdf-theme-family-head code{font-size:10px}.pdf-theme-current-version{display:grid;justify-items:end;gap:5px;min-width:132px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.pdf-theme-current-version small{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.pdf-theme-current-version strong{font:800 15px/1 var(--font-mono);color:var(--text-strong)}
@media(max-width:760px){.pdf-theme-family-head{display:grid}.pdf-theme-current-version{justify-items:start;width:100%;min-width:0}.pdf-theme-family-card .row-actions{flex-wrap:wrap}}

/* PDF theme source editor — v1.0.21 */
.pdf-theme-editor-meta{display:flex;align-items:center;justify-content:space-between;gap:16px}.pdf-theme-editor-meta h2{margin:4px 0}.pdf-theme-editor-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:16px;align-items:start}.pdf-theme-editor-sidebar{padding:14px;position:sticky;top:86px;max-height:calc(100dvh - 110px);overflow:hidden}.pdf-theme-editor-file-list{display:grid;gap:6px;max-height:calc(100dvh - 210px);overflow:auto;padding-right:2px}.pdf-theme-editor-file{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:inherit}.pdf-theme-editor-file:hover,.pdf-theme-editor-file.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary-soft) 38%,var(--surface))}.pdf-theme-editor-file span{min-width:0}.pdf-theme-editor-file strong,.pdf-theme-editor-file small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-theme-editor-file small{margin-top:2px;color:var(--muted);font-size:9px}.pdf-theme-editor-file em{font-style:normal;font-size:9px;font-weight:850;color:var(--primary)}.pdf-theme-editor-workspace{padding:0;overflow:hidden}.pdf-theme-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;border-bottom:1px solid var(--line);background:var(--surface-2)}.pdf-theme-editor-toolbar h2{margin:3px 0;font-size:14px}.pdf-theme-editor-toolbar small{color:var(--muted)}.pdf-theme-editor-state{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:10px;font-weight:800;color:var(--muted);white-space:nowrap}.pdf-theme-editor-state.dirty{border-color:color-mix(in srgb,#d97706 50%,var(--line));color:#b45309;background:color-mix(in srgb,#f59e0b 10%,var(--surface))}.pdf-theme-editor-form{display:flex;min-height:0;flex-direction:column}.pdf-theme-source-editor{display:grid;grid-template-columns:52px minmax(0,1fr);height:clamp(520px,68vh,900px);background:#0b1020;color:#dbe5f5}.pdf-theme-editor-lines{margin:0;padding:14px 9px;overflow:hidden;border-right:1px solid #26324a;background:#080d19;color:#66738d;text-align:right;user-select:none;font:12px/1.6 var(--font-mono)}.pdf-theme-source-editor textarea{width:100%;height:100%;min-height:0;resize:none;margin:0;padding:14px 16px;border:0!important;border-radius:0!important;outline:0;background:#0b1020!important;color:#e7edf9!important;box-shadow:none!important;tab-size:2;white-space:pre;font:12px/1.6 var(--font-mono)}.pdf-theme-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);background:var(--surface-2)}.pdf-theme-editor-footer small{color:var(--muted)}
@media(max-width:900px){.pdf-theme-editor-layout{grid-template-columns:1fr}.pdf-theme-editor-sidebar{position:static;max-height:none}.pdf-theme-editor-file-list{max-height:220px}.pdf-theme-source-editor{height:62vh}.pdf-theme-editor-meta{align-items:flex-start}.pdf-theme-editor-toolbar{align-items:flex-start}.pdf-theme-editor-footer{align-items:stretch}.pdf-theme-editor-footer .btn{flex:0 0 auto}}
@media(max-width:560px){.pdf-theme-editor-meta,.pdf-theme-editor-toolbar,.pdf-theme-editor-footer{display:grid}.pdf-theme-source-editor{grid-template-columns:42px minmax(0,1fr);height:60vh}.pdf-theme-editor-lines{padding-left:5px;padding-right:5px}.pdf-theme-source-editor textarea{padding-left:10px;padding-right:10px}.pdf-theme-editor-state{justify-self:start}}

/* PDF theme source editor live A4 preview */
.pdf-theme-editor-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,470px);min-width:0}.pdf-theme-editor-code-column{min-width:0;border-right:1px solid var(--line)}.pdf-theme-editor-preview-column{display:flex;min-width:0;flex-direction:column;background:var(--surface)}.pdf-theme-editor-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}.pdf-theme-editor-preview-head h2{margin:3px 0 0;font-size:14px}.pdf-theme-editor-preview-status{margin:12px 14px 0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);font-size:10px;font-weight:800;color:var(--muted)}.pdf-theme-editor-preview-status.pending{color:var(--muted)}.pdf-theme-editor-preview-status.healthy{border-color:color-mix(in srgb,#16a34a 36%,var(--line));background:color-mix(in srgb,#16a34a 8%,var(--surface));color:#15803d}.pdf-theme-editor-preview-status.warning{border-color:color-mix(in srgb,#d97706 36%,var(--line));background:color-mix(in srgb,#d97706 8%,var(--surface));color:#b45309}.pdf-theme-editor-preview-status.failed{border-color:color-mix(in srgb,#dc2626 36%,var(--line));background:color-mix(in srgb,#dc2626 8%,var(--surface));color:#b91c1c}.pdf-theme-editor-preview-status.neutral{color:var(--muted)}.pdf-theme-editor-preview-frame-wrap{margin:12px 14px 0;min-height:420px;height:clamp(520px,68vh,900px);overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#dfe4ec;box-shadow:inset 0 0 0 1px rgba(15,23,42,.03)}.pdf-theme-editor-preview-frame{display:block;width:100%;height:100%;border:0;background:#eef1f6}.pdf-theme-editor-preview-help{margin:10px 14px 14px;color:var(--muted);font-size:10px;line-height:1.45}.pdf-theme-editor-preview-head .btn:disabled{opacity:.55;cursor:wait}
@media(max-width:1400px){.pdf-theme-editor-main-grid{grid-template-columns:1fr}.pdf-theme-editor-code-column{border-right:0;border-bottom:1px solid var(--line)}.pdf-theme-editor-preview-frame-wrap{height:640px}}
@media(max-width:900px){.pdf-theme-editor-preview-frame-wrap{height:560px;min-height:420px}.pdf-theme-editor-preview-head{align-items:flex-start}}
@media(max-width:560px){.pdf-theme-editor-preview-head{display:grid}.pdf-theme-editor-preview-head .btn{justify-self:start}.pdf-theme-editor-preview-frame-wrap{margin-left:10px;margin-right:10px;height:500px}.pdf-theme-editor-preview-status,.pdf-theme-editor-preview-help{margin-left:10px;margin-right:10px}}

/* PDF theme asset manager — v1.0.24 */
.pdf-theme-assets-upload-card{padding:20px}.pdf-theme-assets-upload-form{display:grid;grid-template-columns:220px minmax(280px,1fr) auto;gap:12px;align-items:end}.pdf-theme-assets-upload-form .field{margin:0}.pdf-theme-assets-upload-form .form-actions{margin:0}.pdf-theme-assets-file-field input[type=file]{min-height:42px;padding:8px}.pdf-theme-assets-card{overflow:hidden}.pdf-theme-assets-head{align-items:flex-start}.pdf-theme-assets-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 18px 18px}.pdf-theme-asset-item{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.pdf-theme-asset-preview{display:grid;place-items:center;height:160px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 80%,#dfe5ee)}.pdf-theme-asset-preview.is-image{padding:12px}.pdf-theme-asset-preview img{display:block;width:100%;height:100%;object-fit:contain}.pdf-theme-asset-preview.is-font span{font-size:52px;font-weight:700;color:var(--text-strong)}.pdf-theme-asset-body{display:grid;gap:7px;padding:13px}.pdf-theme-asset-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.pdf-theme-asset-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-theme-asset-path{display:block;overflow-wrap:anywhere;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:9px;color:var(--text-strong)}.pdf-theme-asset-body small{color:var(--muted)}.pdf-theme-asset-actions{display:flex;align-items:center;gap:7px;margin-top:auto;padding:0 13px 13px;flex-wrap:wrap}.pdf-theme-asset-replace{display:flex;align-items:center;gap:6px;min-width:0}.pdf-theme-asset-replace input[type=file]{width:min(190px,42vw);font-size:9px;color:var(--muted)}
@media(max-width:1180px){.pdf-theme-assets-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pdf-theme-assets-upload-form{grid-template-columns:200px minmax(220px,1fr)}}
@media(max-width:760px){.pdf-theme-assets-upload-form{grid-template-columns:1fr}.pdf-theme-assets-upload-form .form-actions .btn{width:100%}.pdf-theme-assets-grid{grid-template-columns:1fr;padding-left:14px;padding-right:14px}.pdf-theme-asset-preview{height:190px}}
@media(max-width:480px){.pdf-theme-asset-actions{display:grid}.pdf-theme-asset-replace{display:grid}.pdf-theme-asset-replace input[type=file]{width:100%}.pdf-theme-asset-actions .btn{width:100%}}

/* PDF theme source file manager */
.pdf-theme-editor-create{margin:0 0 10px}.pdf-theme-editor-create>summary{list-style:none;cursor:pointer;width:100%;justify-content:center}.pdf-theme-editor-create>summary::-webkit-details-marker{display:none}.pdf-theme-editor-create[open]>summary{margin-bottom:9px}.pdf-theme-editor-create-form{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.pdf-theme-editor-create-form .field{margin:0}.pdf-theme-editor-create-form small{color:var(--muted);font-size:9px;line-height:1.4}.pdf-theme-editor-create-form .btn{justify-self:start}.pdf-theme-editor-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pdf-theme-editor-toolbar-actions form{margin:0}
@media(max-width:560px){.pdf-theme-editor-toolbar-actions{justify-content:flex-start}.pdf-theme-editor-toolbar-actions .btn{width:100%}}

/* Direct ZIP HTML -> A4 PDF — v1.0.27 */
.pdf-direct-head .row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pdf-direct-upload-card{padding:20px}.pdf-direct-upload-form{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(320px,1.4fr) auto;gap:14px;align-items:end}.pdf-direct-upload-form .field{margin:0}.pdf-direct-file-field input[type=file]{min-height:44px;padding:8px}.pdf-direct-file-field small{display:block;margin-top:6px;color:var(--muted)}.pdf-direct-source-name{display:block;margin-top:3px;color:var(--muted);overflow-wrap:anywhere}.pdf-direct-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.pdf-direct-entry-card,.pdf-direct-generate-card{padding:20px}.pdf-direct-entry-form{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:end}.pdf-direct-entry-form .field{margin:0}.pdf-direct-entry-value{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.pdf-direct-entry-value code,.pdf-direct-generate-card code,.pdf-direct-summary-grid code{overflow-wrap:anywhere}.pdf-direct-generate-card>.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.pdf-direct-preview-wrap{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#dfe4ec;min-height:560px}.pdf-direct-preview{display:block;width:100%;height:680px;border:0;background:#fff}.pdf-direct-generate-card .status{white-space:nowrap}
@media(max-width:1180px){.pdf-direct-upload-form{grid-template-columns:1fr 1.2fr}.pdf-direct-upload-form .form-actions{grid-column:1/-1}.pdf-direct-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pdf-direct-preview{height:620px}}
@media(max-width:760px){.pdf-direct-upload-form,.pdf-direct-entry-form{grid-template-columns:1fr}.pdf-direct-upload-form .form-actions{grid-column:auto}.pdf-direct-upload-form .btn,.pdf-direct-entry-form .btn{width:100%}.pdf-direct-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pdf-direct-entry-value{align-items:flex-start;flex-direction:column}.pdf-direct-preview-wrap{min-height:420px}.pdf-direct-preview{height:520px}}


/* Direct ZIP -> A4 — visual convergence R1 / v1.0.28 */
.pdf-direct-head{align-items:flex-end;gap:22px}.pdf-direct-head-badges{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-sm)}.pdf-direct-head-badges>span{display:grid;min-width:72px;gap:1px;padding:7px 10px;border-radius:10px;background:var(--surface-2)}.pdf-direct-head-badges b{font-size:11px;color:var(--text-strong)}.pdf-direct-head-badges small{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pdf-direct-head-badges>i{font-style:normal;color:var(--muted-2)}.pdf-direct-head-badges .is-final{background:linear-gradient(135deg,var(--primary-soft),var(--accent-soft))}.pdf-direct-upload-card{position:relative;overflow:hidden;padding:0;border-color:color-mix(in srgb,var(--primary) 16%,var(--line));box-shadow:var(--shadow-md)}.pdf-direct-upload-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));pointer-events:none}.pdf-direct-upload-card::after{content:"";position:absolute;width:260px;height:260px;inset:-145px -90px auto auto;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--primary) 13%,transparent),transparent 70%);pointer-events:none}.pdf-direct-upload-card-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 26px 18px;border-bottom:1px solid var(--line)}.pdf-direct-upload-card-head h2{margin:3px 0 4px;font-size:19px}.pdf-direct-upload-card-head p{max-width:760px;margin:0;color:var(--muted);font-size:11px}.pdf-direct-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 12%,transparent)}.pdf-direct-upload-form{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.7fr);gap:0;align-items:stretch}.pdf-direct-import-main{display:grid;gap:15px;padding:24px 26px 20px}.pdf-direct-title-field{margin:0}.pdf-direct-title-field input{min-height:46px}.pdf-direct-foundation-upload{min-height:164px;grid-template-columns:70px minmax(0,1fr) auto;gap:18px;padding:25px;border-width:1.5px;border-radius:19px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 60%,var(--surface)),color-mix(in srgb,var(--accent-soft) 32%,var(--surface)))}.pdf-direct-foundation-upload:hover,.pdf-direct-foundation-upload.is-dragover{transform:translateY(-1px);box-shadow:0 0 0 4px var(--input-focus),0 18px 46px rgba(15,23,42,.08)}.pdf-direct-upload-icon{width:62px;height:62px;border-radius:18px;background:linear-gradient(145deg,var(--primary),var(--primary-strong));box-shadow:0 16px 34px rgba(98,93,245,.25)}.pdf-direct-upload-icon span{font-size:13px;letter-spacing:.08em;font-weight:900}.pdf-direct-foundation-upload .file-upload-copy{gap:4px}.pdf-direct-foundation-upload .file-upload-copy strong{font-size:14px}.pdf-direct-foundation-upload .file-upload-copy span{max-width:560px;font-size:10px}.pdf-direct-foundation-upload [data-file-upload-name]{display:inline-flex;width:max-content;max-width:100%;margin-top:5px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 88%,transparent);font-family:var(--font-mono);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-direct-contract{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:9px}.pdf-direct-contract-icon{display:grid;place-items:center;flex:0 0 auto;width:17px;height:17px;border-radius:50%;background:var(--success-soft);color:var(--success);font-size:9px;font-weight:900}.pdf-direct-flow-panel{position:relative;display:flex;flex-direction:column;gap:18px;padding:24px;border-inline-start:1px solid var(--line);background:linear-gradient(160deg,var(--surface-2),color-mix(in srgb,var(--primary-soft) 22%,var(--surface)))}.pdf-direct-flow-intro{display:grid;gap:4px}.pdf-direct-flow-intro>strong{font-size:12px;line-height:1.4;color:var(--text-strong)}.pdf-direct-flow-list{display:grid;gap:8px}.pdf-direct-flow-step{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 88%,transparent)}.pdf-direct-flow-step:not(:last-child)::after{content:"";position:absolute;left:28px;bottom:-9px;width:1px;height:9px;background:var(--line-strong)}[dir="rtl"] .pdf-direct-flow-step:not(:last-child)::after{left:auto;right:28px}.pdf-direct-flow-step>b{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--surface-3);color:var(--muted);font-size:9px}.pdf-direct-flow-step>div{display:grid;gap:1px}.pdf-direct-flow-step strong{font-size:10px;color:var(--text-strong)}.pdf-direct-flow-step small{font-size:8px;line-height:1.35;color:var(--muted)}.pdf-direct-flow-step.is-final{border-color:color-mix(in srgb,var(--success) 20%,var(--line));background:color-mix(in srgb,var(--success-soft) 48%,var(--surface))}.pdf-direct-flow-step.is-final>b{background:var(--success);color:#fff}.pdf-direct-import-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 26px;border-top:1px solid var(--line);background:var(--surface-2)}.pdf-direct-import-note{display:grid;gap:1px}.pdf-direct-import-note strong{font-size:10px;color:var(--text-strong)}.pdf-direct-import-note small{font-size:8px;color:var(--muted)}.pdf-direct-import-button{min-width:170px;min-height:42px}.pdf-direct-jobs-card{overflow:hidden}.pdf-direct-jobs-head{padding:20px 22px}.pdf-direct-count-badge{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--line));border-radius:12px;background:var(--primary-soft);color:var(--primary-strong);font-size:13px;font-weight:850}.pdf-direct-empty-state{display:grid!important;justify-items:center;gap:6px;padding:54px 20px!important;text-align:center}.pdf-direct-empty-state strong{color:var(--text-strong);font-size:12px}.pdf-direct-empty-state small{max-width:480px;color:var(--muted);font-size:9px}.pdf-direct-empty-icon{position:relative;width:62px;height:58px;margin-bottom:7px}.pdf-direct-empty-icon i{position:absolute;display:block;width:38px;height:46px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface)}.pdf-direct-empty-icon i:nth-child(1){left:19px;top:3px;transform:rotate(6deg);opacity:.55}.pdf-direct-empty-icon i:nth-child(2){left:7px;top:7px;transform:rotate(-7deg);opacity:.72}.pdf-direct-empty-icon i:nth-child(3){left:13px;top:9px;box-shadow:var(--shadow-sm)}

/* Shared styled uploader — all standard back-office upload inputs */
.foundation-file-upload-mini{min-height:36px;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:5px 6px;border-radius:9px;cursor:pointer}.foundation-file-upload-mini .file-upload-copy{min-width:0}.foundation-file-upload-mini .file-upload-copy small{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.foundation-file-upload-mini .btn{min-height:29px;padding:5px 8px;font-size:8px}.pdf-theme-assets-foundation-upload{min-height:88px}.pdf-theme-assets-upload-form{grid-template-columns:190px minmax(320px,1fr) auto;align-items:end}.pdf-theme-asset-replace{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:6px;align-items:center}.pdf-theme-asset-actions{align-items:stretch}.pdf-theme-asset-replace+.inline-action-form{align-self:center}

@media(max-width:1180px){.pdf-direct-head{align-items:flex-start}.pdf-direct-head-badges{display:none}.pdf-direct-upload-form{grid-template-columns:1fr}.pdf-direct-flow-panel{border-inline-start:0;border-top:1px solid var(--line)}.pdf-direct-flow-list{grid-template-columns:repeat(4,minmax(0,1fr))}.pdf-direct-flow-step{grid-template-columns:30px minmax(0,1fr)}.pdf-direct-flow-step:not(:last-child)::after{display:none}.pdf-theme-assets-upload-form{grid-template-columns:180px 1fr}.pdf-theme-assets-upload-form .form-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:760px){.pdf-direct-upload-card-head{padding:20px 16px 15px}.pdf-direct-upload-card-head>.status{display:none}.pdf-direct-import-main{padding:18px 16px}.pdf-direct-foundation-upload{min-height:190px;grid-template-columns:52px 1fr;padding:18px}.pdf-direct-foundation-upload>.btn{grid-column:1/-1;width:100%}.pdf-direct-upload-icon{width:48px;height:48px;border-radius:14px}.pdf-direct-flow-panel{padding:18px 16px}.pdf-direct-flow-list{grid-template-columns:1fr 1fr}.pdf-direct-import-footer{display:grid;padding:14px 16px}.pdf-direct-import-button{width:100%}.pdf-direct-jobs-head{padding:17px 16px}.pdf-theme-assets-upload-form{grid-template-columns:1fr}.pdf-theme-assets-foundation-upload{min-height:130px}.pdf-theme-asset-replace{grid-template-columns:1fr}.foundation-file-upload-mini .file-upload-copy small{max-width:none}}
@media(max-width:500px){.pdf-direct-flow-list{grid-template-columns:1fr}.pdf-direct-foundation-upload{grid-template-columns:1fr;justify-items:start}.pdf-direct-upload-icon{width:44px;height:44px}.pdf-direct-foundation-upload [data-file-upload-name]{width:100%}}

/* Direct ZIP -> real A4 PDF preview + upload hardening — v1.0.29 */
.pdf-direct-detail-head{margin-bottom:14px}.pdf-direct-summary-grid-detail .metric{position:relative;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.pdf-direct-summary-grid-detail .metric::before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:linear-gradient(var(--primary),var(--accent))}[dir="rtl"] .pdf-direct-summary-grid-detail .metric::before{left:auto;right:0}.pdf-direct-entry-card-polished{padding:0;overflow:hidden}.pdf-direct-entry-card-polished .card-head{padding:18px 20px;border-bottom:1px solid var(--line);background:var(--surface-2)}.pdf-direct-entry-card-polished .pdf-direct-entry-value,.pdf-direct-entry-card-polished .pdf-direct-entry-form,.pdf-direct-entry-card-polished>.flash-message{margin:16px 20px}.pdf-direct-entry-card-polished .pdf-direct-entry-value{justify-content:flex-start}.pdf-direct-render-card{padding:0;overflow:hidden;border-color:color-mix(in srgb,var(--primary) 18%,var(--line));box-shadow:var(--shadow-md)}.pdf-direct-render-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 24px 18px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--primary-soft) 24%,var(--surface)))}.pdf-direct-render-head h2{margin:4px 0 5px;font-size:20px}.pdf-direct-render-head p{max-width:760px;margin:0;color:var(--muted);font-size:10px;line-height:1.55}.pdf-direct-render-status{display:grid;justify-items:end;gap:5px;flex:0 0 auto}.pdf-direct-render-status small{max-width:220px;text-align:right;color:var(--muted);font-size:8px}.pdf-direct-render-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}.pdf-direct-preview-legend{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:9px}.pdf-direct-preview-live-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 13%,transparent)}.pdf-direct-preview-workspace{display:grid;grid-template-columns:46px minmax(0,1fr);min-height:780px;background:linear-gradient(135deg,#e8ebf1,#d9dee8)}[data-theme="dark"] .pdf-direct-preview-workspace{background:linear-gradient(135deg,#141923,#0e131c)}.pdf-direct-preview-ruler{display:flex;align-items:center;flex-direction:column;gap:10px;padding:18px 6px;border-inline-end:1px solid rgba(15,23,42,.12);background:rgba(255,255,255,.45);color:#586174}.pdf-direct-preview-ruler span{font:900 9px/1 var(--font-mono);letter-spacing:.08em}.pdf-direct-preview-ruler i{display:block;width:1px;min-height:90px;flex:1;background:repeating-linear-gradient(to bottom,currentColor 0 1px,transparent 1px 9px);opacity:.35}.pdf-direct-preview-ruler small{writing-mode:vertical-rl;transform:rotate(180deg);font:700 8px/1 var(--font-mono);white-space:nowrap}.pdf-direct-preview-surface{display:grid;place-items:stretch;padding:18px;min-width:0}.pdf-direct-preview-pdf{display:block;width:100%;height:860px;min-height:760px;border:1px solid rgba(15,23,42,.18);border-radius:10px;background:#525659;box-shadow:0 22px 55px rgba(15,23,42,.18)}.pdf-direct-generations-card{overflow:hidden}.pdf-direct-danger-card{border-color:color-mix(in srgb,var(--danger) 18%,var(--line))}
@media(max-width:900px){.pdf-direct-render-head{display:grid}.pdf-direct-render-status{justify-items:start}.pdf-direct-render-status small{text-align:start}.pdf-direct-render-actions{align-items:flex-start;flex-direction:column}.pdf-direct-preview-workspace{grid-template-columns:1fr;min-height:640px}.pdf-direct-preview-ruler{display:none}.pdf-direct-preview-surface{padding:10px}.pdf-direct-preview-pdf{height:720px;min-height:620px}.pdf-direct-render-actions .row-actions{width:100%}}
@media(max-width:560px){.pdf-direct-render-head{padding:18px 15px 14px}.pdf-direct-render-actions{padding:10px 12px}.pdf-direct-render-actions .row-actions{display:grid;grid-template-columns:1fr}.pdf-direct-render-actions .row-actions .btn,.pdf-direct-render-actions .row-actions form,.pdf-direct-render-actions .row-actions form .btn{width:100%}.pdf-direct-preview-pdf{height:620px;min-height:560px}.pdf-direct-entry-card-polished .card-head{padding:15px}.pdf-direct-entry-card-polished .pdf-direct-entry-value,.pdf-direct-entry-card-polished .pdf-direct-entry-form,.pdf-direct-entry-card-polished>.flash-message{margin:12px 15px}}

/* Direct PDF library polish + delete controls — v1.0.33 */
.pdf-direct-pipeline{min-width:520px;justify-content:space-between;padding:10px 12px;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 96%,var(--primary) 4%),color-mix(in srgb,var(--surface) 94%,var(--accent) 6%));box-shadow:0 12px 34px rgba(15,23,42,.08)}
.pdf-direct-pipeline>span{min-width:124px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:15px;background:color-mix(in srgb,var(--surface) 94%,transparent)}
.pdf-direct-pipeline>span b{font-size:13px;line-height:1.15}.pdf-direct-pipeline>span small{margin-top:3px;font-size:9px;letter-spacing:.14em}.pdf-direct-pipeline .is-final{border-color:color-mix(in srgb,var(--primary) 18%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 72%,var(--surface)),color-mix(in srgb,var(--accent-soft) 55%,var(--surface)))}
.pdf-direct-pipeline-arrow{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:var(--surface);border:1px solid var(--line);font-size:16px!important;color:var(--muted)!important}
.pdf-direct-jobs-card>.card-head,.pdf-direct-generations-card>.card-head{margin:0;padding:24px 28px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 98%,var(--primary) 2%),var(--surface))}
.pdf-direct-jobs-card>.table-scroll,.pdf-direct-generations-card>.table-scroll{border-radius:0}.pdf-direct-jobs-card .responsive-table,.pdf-direct-generations-card .responsive-table{min-width:920px}
.pdf-direct-jobs-card .responsive-table th,.pdf-direct-generations-card .responsive-table th{padding-top:14px;padding-bottom:14px}.pdf-direct-jobs-card .responsive-table td,.pdf-direct-generations-card .responsive-table td{padding-top:16px;padding-bottom:16px}
.pdf-direct-jobs-card .responsive-table td:first-child{min-width:245px}.pdf-direct-jobs-card .responsive-table td:nth-child(2){min-width:270px}.pdf-direct-jobs-card .responsive-table td:last-child,.pdf-direct-generations-card .responsive-table td:last-child{min-width:190px}
.pdf-direct-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.pdf-direct-row-actions form{margin:0}.pdf-direct-row-actions .btn{white-space:nowrap}
.pdf-direct-date{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);font:750 10px/1.2 var(--font-mono);color:var(--text)}
.pdf-direct-pdf-count,.pdf-direct-pages-badge{display:inline-grid;place-items:center;min-width:34px;height:30px;padding:0 9px;border-radius:9px;background:var(--primary-soft);color:var(--primary-strong);font-weight:850}
.pdf-direct-generations-card{padding:0!important;overflow:hidden}.pdf-direct-generations-head{align-items:center!important}.pdf-direct-generations-head .card-kicker{margin:0 0 7px!important;padding:0!important;line-height:1!important;overflow:visible!important}.pdf-direct-generations-head h2{margin:0 0 7px!important}.pdf-direct-generations-head p{margin:0!important}.pdf-direct-generations-scroll{overflow-x:auto}
.pdf-direct-danger-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px}.pdf-direct-danger-card h2{margin:0 0 4px}.pdf-direct-danger-card p{margin:0;color:var(--muted)}.pdf-direct-danger-card form{flex:0 0 auto}
@media(max-width:1180px){.pdf-direct-pipeline{display:flex!important;min-width:0;width:100%;max-width:680px;margin-top:4px}.pdf-direct-head{display:grid}.pdf-direct-head-badges.pdf-direct-pipeline{display:flex}.pdf-direct-pipeline>span{min-width:0;flex:1}}
@media(max-width:760px){.pdf-direct-pipeline{gap:6px;padding:8px}.pdf-direct-pipeline>span{padding:9px 10px}.pdf-direct-pipeline-arrow{width:24px;height:24px;flex-basis:24px}.pdf-direct-jobs-card>.card-head,.pdf-direct-generations-card>.card-head{padding:18px 16px 15px}.pdf-direct-danger-card{align-items:stretch;flex-direction:column}.pdf-direct-danger-card .btn{width:100%}}
@media(max-width:560px){.pdf-direct-pipeline{display:grid!important;grid-template-columns:1fr auto 1fr auto 1fr}.pdf-direct-pipeline>span{padding:9px 7px}.pdf-direct-pipeline>span b{font-size:10px}.pdf-direct-pipeline>span small{font-size:7px}.pdf-direct-pipeline-arrow{width:20px;height:20px;flex-basis:20px;font-size:12px!important}.pdf-direct-row-actions{justify-content:flex-start}}
