/* P.D. Technology V35.3 — adaptive premium interaction layer. Presentation only; never changes permissions/business rules. */
:root{--pd353-ink:#061426;--pd353-navy:#07192f;--pd353-blue:#2f7df4;--pd353-cyan:#68d8ff;--pd353-surface:#f7faff;--pd353-card:rgba(255,255,255,.88);--pd353-line:rgba(153,188,221,.45);--pd353-shadow:0 24px 70px rgba(7,36,67,.12);--pd353-radius:22px;--pd353-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html{background:var(--pd353-navy)}
body{font-family:var(--pd353-font);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
/* Brand lockups: explicit geometry eliminates baseline drift across browser/font metrics. */
.pd353-brand-lockup{display:grid!important;grid-template-columns:clamp(58px,5.2vw,78px) minmax(0,1fr)!important;align-items:center!important;column-gap:clamp(14px,2vw,24px)!important;min-width:0!important}
.pd353-brand-lockup .pd353-brand-mark{width:clamp(58px,5.2vw,78px)!important;aspect-ratio:1!important;border-radius:clamp(18px,1.8vw,24px)!important;display:grid!important;place-items:center!important;padding:clamp(10px,1.05vw,15px)!important;background:linear-gradient(145deg,#123d68,#184f82)!important;border:1px solid rgba(111,190,255,.48)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 42px rgba(0,0,0,.18)!important;overflow:hidden!important}
.pd353-brand-lockup .pd353-brand-mark img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:50% 50%!important;margin:0!important;padding:0!important;filter:brightness(0) invert(1) drop-shadow(0 7px 16px rgba(72,168,255,.22))!important}
.pd353-brand-copy{min-width:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-self:center!important;transform:none!important;margin:0!important;padding:0!important}
.pd353-brand-copy strong{font-size:clamp(23px,2.25vw,37px)!important;line-height:1.04!important;letter-spacing:-.035em!important;color:#f6fbff!important;margin:0!important;padding:0!important;white-space:nowrap!important}
.pd353-brand-copy small{display:block!important;margin:.42em 0 0!important;padding:0!important;font-size:clamp(10px,.9vw,14px)!important;line-height:1.15!important;letter-spacing:.25em!important;text-transform:uppercase!important;color:#8fb4d6!important;white-space:nowrap!important}
/* Main console: readable sizes, stable grid, no 7px control typography. */
body.pd-console{font-size:14px!important}
body.pd-console .sidebar{container-type:inline-size}
body.pd-console .navbtn{min-height:46px!important;font-size:13px!important;border-radius:14px!important}
body.pd-console .navicon{font-size:15px!important}
body.pd-console .navlabel{font-size:10px!important;letter-spacing:.18em!important}
body.pd-console .topbar h1,body.pd-console .top-header h1{font-size:clamp(30px,3.2vw,48px)!important;line-height:1!important;letter-spacing:-.05em!important}
body.pd-console .topbar p,body.pd-console .top-header p{font-size:13px!important;line-height:1.55!important}
body.pd-console .card,body.pd-console .panel{border-radius:20px!important;box-shadow:var(--pd353-shadow)!important}
@media(min-width:981px){
 body.pd-console.pd-sidebar-compact .sidebar .brand,body.pd-console.pd-cc-sidebar-compact .sidebar .brand{min-height:68px!important;height:auto!important;padding:8px 0!important;display:grid!important;place-items:center!important}
 body.pd-console.pd-sidebar-compact .sidebar .brand>:not(.brandmark):not(.brand-logo),body.pd-console.pd-cc-sidebar-compact .sidebar .brand>:not(.brandmark):not(.brand-logo){display:none!important}
 body.pd-console.pd-sidebar-compact .sidebar .brandmark,body.pd-console.pd-sidebar-compact .sidebar .brand-logo,body.pd-console.pd-cc-sidebar-compact .sidebar .brandmark,body.pd-console.pd-cc-sidebar-compact .sidebar .brand-logo{width:54px!important;height:54px!important;min-width:54px!important;margin:0!important;padding:11px!important;display:grid!important;place-items:center!important;overflow:hidden!important;border-radius:18px!important}
 body.pd-console.pd-sidebar-compact .sidebar .brandmark img,body.pd-console.pd-sidebar-compact .sidebar .brand-logo img,body.pd-console.pd-cc-sidebar-compact .sidebar .brandmark img,body.pd-console.pd-cc-sidebar-compact .sidebar .brand-logo img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important}
}
/* Demo Studio typography + spatial rhythm upgrade. */
body.pd-demo-studio-v352{font-size:14px!important;background:radial-gradient(circle at 86% -12%,rgba(57,146,255,.14),transparent 31%),linear-gradient(180deg,#f8fbff,#eef5fb 58%,#f6f9fc)!important}
body.pd-demo-studio-v352 .ds-shell{grid-template-columns:286px minmax(0,1fr)!important}
body.pd-demo-studio-v352 .ds-rail{padding:18px 14px!important}
body.pd-demo-studio-v352 .ds-brand{gap:14px!important;padding:6px!important;align-items:center!important}
body.pd-demo-studio-v352 .ds-brandmark{width:56px!important;height:56px!important;min-width:56px!important;padding:11px!important;border-radius:19px!important;display:grid!important;place-items:center!important;overflow:hidden!important}
body.pd-demo-studio-v352 .ds-brandmark img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important}
body.pd-demo-studio-v352 .ds-brandcopy b{font-size:15px!important;line-height:1.05!important;letter-spacing:-.02em!important}
body.pd-demo-studio-v352 .ds-brandcopy small{font-size:9px!important;line-height:1.15!important;margin-top:6px!important;letter-spacing:.19em!important}
body.pd-demo-studio-v352 .ds-context span,body.pd-demo-studio-v352 .ds-demo-block-head span{font-size:9px!important}
body.pd-demo-studio-v352 .ds-context select{font-size:12px!important;padding:11px 12px!important}
body.pd-demo-studio-v352 .ds-studio-nav button,body.pd-demo-studio-v352 .ds-rail-foot a{font-size:12.5px!important;min-height:46px!important;border-radius:14px!important}
body.pd-demo-studio-v352 .ds-demo-item b{font-size:12px!important}body.pd-demo-studio-v352 .ds-demo-item span{font-size:10px!important}
body.pd-demo-studio-v352 .ds-command-header{padding:18px 24px 17px!important;background:rgba(249,252,255,.86)!important;box-shadow:0 10px 34px rgba(7,40,74,.06)!important}
body.pd-demo-studio-v352 .ds-kicker{font-size:9px!important;letter-spacing:.18em!important}
body.pd-demo-studio-v352 .ds-heading h1{font-size:clamp(34px,3.1vw,50px)!important;margin:8px 0 7px!important}
body.pd-demo-studio-v352 .ds-heading p{font-size:13px!important;max-width:900px!important}
body.pd-demo-studio-v352 .ds-button{font-size:11px!important;min-height:40px!important;padding:9px 14px!important;border-radius:12px!important}
body.pd-demo-studio-v352 .ds-health{font-size:11px!important;padding:9px 12px!important}
body.pd-demo-studio-v352 .ds-stage-card,body.pd-demo-studio-v352 .ds-panel{border-radius:22px!important;box-shadow:var(--pd353-shadow)!important}
body.pd-demo-studio-v352 .ds-browser-strip,body.pd-demo-studio-v352 .ds-build-meta,body.pd-demo-studio-v352 .ds-live-strip{font-size:11px!important}
body.pd-demo-studio-v352 .ds-device-controls select,body.pd-demo-studio-v352 .ds-device-controls button,body.pd-demo-studio-v352 .ds-mode-controls button{font-size:11px!important;min-height:39px!important}
body.pd-demo-studio-v352 .ds-panel-head h2{font-size:21px!important;line-height:1.1!important}body.pd-demo-studio-v352 .ds-panel-head p{font-size:12px!important;line-height:1.6!important}
body.pd-demo-studio-v352 .ds-form label{font-size:10px!important}body.pd-demo-studio-v352 .ds-form input,body.pd-demo-studio-v352 .ds-form select,body.pd-demo-studio-v352 .ds-form textarea{font-size:12px!important;min-height:42px!important}
body.pd-demo-studio-v352 .ds-runtime-note b{font-size:11px!important}body.pd-demo-studio-v352 .ds-runtime-note span{font-size:10px!important}
body.pd-demo-studio-v352 .ds-code-workspace{grid-template-columns:190px minmax(0,1fr)!important}body.pd-demo-studio-v352 .ds-file{font-size:11px!important;padding:8px!important}body.pd-demo-studio-v352 .ds-editor textarea{font-size:12.5px!important;line-height:1.62!important}
body.pd-demo-studio-v352 .ds-feedback p{font-size:11px!important}body.pd-demo-studio-v352 .ds-pill{font-size:9px!important}body.pd-demo-studio-v352 .ds-feedback-controls select,body.pd-demo-studio-v352 .ds-feedback-controls textarea{font-size:11px!important}
body.pd-demo-studio-v352.ds-rail-compact .ds-shell{grid-template-columns:84px minmax(0,1fr)!important}
body.pd-demo-studio-v352.ds-rail-compact .ds-rail{padding:14px 9px!important}
body.pd-demo-studio-v352.ds-rail-compact .ds-brand{width:100%!important;padding:7px 0!important;justify-content:center!important;display:grid!important;place-items:center!important}
body.pd-demo-studio-v352.ds-rail-compact .ds-brandcopy{display:none!important}
body.pd-demo-studio-v352.ds-rail-compact .ds-brandmark{width:56px!important;height:56px!important;min-width:56px!important;margin:0 auto!important}
body.pd-demo-studio-v352.ds-rail-compact .ds-studio-nav button{width:56px!important;min-width:56px!important;height:48px!important;margin:4px auto!important;padding:0!important;justify-content:center!important}
body.pd-demo-studio-v352.ds-rail-compact .ds-studio-nav button span,body.pd-demo-studio-v352.ds-rail-compact .ds-studio-nav button b{display:none!important}
/* Tool dock */
.pd353-tool-dock{position:fixed;right:20px;bottom:20px;z-index:99960;display:flex;gap:8px;align-items:center;padding:8px;border:1px solid rgba(139,180,219,.45);border-radius:17px;background:rgba(6,25,47,.92);box-shadow:0 22px 60px rgba(0,0,0,.24);backdrop-filter:blur(18px)}
.pd353-tool-dock button,.pd353-tool-dock a{border:0;border-radius:11px;background:rgba(255,255,255,.07);color:#dff3ff;min-height:38px;padding:0 12px;font:800 11px var(--pd353-font);display:inline-flex;align-items:center;gap:7px;text-decoration:none;cursor:pointer}.pd353-tool-dock .primary{background:linear-gradient(135deg,#347cf4,#1aa9e8);color:#fff}
/* Adaptive engine only controls density classes after safe server model; responsive alignment remains deterministic. */
body.pd353-density-compact .ds-panel,body.pd353-density-compact .card{--pd353-radius:16px}body.pd353-density-compact .ds-panel{padding-top:0}
@media(max-width:1100px){.pd353-brand-copy strong{white-space:normal!important}.pd353-brand-copy small{white-space:normal!important}.pd353-tool-dock{right:10px;bottom:10px}}
@media(max-width:820px){body.pd-demo-studio-v352 .ds-shell,body.pd-demo-studio-v352.ds-rail-compact .ds-shell{grid-template-columns:1fr!important}body.pd-demo-studio-v352 .ds-code-workspace{grid-template-columns:1fr!important}.pd353-tool-dock{max-width:calc(100vw - 20px);overflow:auto}}
@media(max-width:620px){.pd353-brand-lockup{grid-template-columns:54px minmax(0,1fr)!important;column-gap:13px!important}.pd353-brand-lockup .pd353-brand-mark{width:54px!important;border-radius:17px!important;padding:10px!important}.pd353-brand-copy strong{font-size:21px!important}.pd353-brand-copy small{font-size:9px!important;letter-spacing:.19em!important}}
