/* V3.2.1 – full structural themes, with scoped accurate preview. */
body[data-ui-style]{--ui-radius:14px;--ui-shadow:0 8px 22px #15213b13;--ui-font:system-ui,-apple-system,Segoe UI,sans-serif;--ui-spacing:24px;--ui-border:#dce5f0;--ui-muted:#65758c;--ui-nav-text:#c7d6e9;font-family:var(--ui-font)!important;background:var(--theme-bg)!important;color:var(--theme-text)!important}
body[data-ui-style] header{background:var(--theme-nav)!important;color:var(--ui-nav-text)!important;border-bottom:1px solid var(--ui-border)}
body[data-ui-style] header .brand{color:var(--ui-nav-text)!important}
body[data-ui-style] header .brand small{color:var(--theme-accent)!important}
body[data-ui-style] aside{background:var(--theme-nav)!important;box-shadow:none}
body[data-ui-style] aside a{color:var(--ui-nav-text)!important;border-radius:calc(var(--ui-radius) * .55)}
body[data-ui-style] aside a.active,body[data-ui-style] aside a:hover{background:var(--theme-accent)!important;color:#fff!important}
body[data-ui-style] .content{background:var(--theme-bg)!important}
body[data-ui-style] .panel,body[data-ui-style] .metrics article,body[data-ui-style] .client-card,body[data-ui-style] .exercise-grid article,body[data-ui-style] .login-card{background:var(--theme-surface)!important;color:var(--theme-text)!important;border:1px solid var(--ui-border)!important;border-radius:var(--ui-radius)!important;box-shadow:var(--ui-shadow)!important}
body[data-ui-style] .panel{padding:var(--ui-spacing)}
body[data-ui-style] .page-head h1,body[data-ui-style] .metrics strong,body[data-ui-style] .panel h2{color:var(--theme-text)!important}
body[data-ui-style] .page-head p,body[data-ui-style] .metrics span,body[data-ui-style] .panel p{color:var(--ui-muted)}
body[data-ui-style] .metrics article{border-top:3px solid var(--theme-accent)!important}
body[data-ui-style] .primary,body[data-ui-style] button:not(.mobile-menu-toggle):not(.sidebar-backdrop):not(.theme-preset):not(.theme-secondary),body[data-ui-style] .preview-cta-v321{background:var(--theme-accent)!important;border-color:var(--theme-accent)!important;color:#fff!important;border-radius:calc(var(--ui-radius) * .55)}
body[data-ui-style] .button{border-radius:calc(var(--ui-radius) * .55)}
body[data-ui-style] .table .th{background:var(--theme-bg);color:var(--ui-muted)}
body[data-ui-style] .table .tr{border-bottom-color:var(--ui-border)}
body[data-ui-style] input,body[data-ui-style] select,body[data-ui-style] textarea{background:var(--theme-surface);color:var(--theme-text);border-color:var(--ui-border)}
body[data-ui-style="classic"]{--ui-radius:2px;--ui-shadow:none;--ui-spacing:19px;--ui-border:#d7dee9;--ui-muted:#65748b;--ui-nav-text:#233653}
body[data-ui-style="classic"] header{color:#22334e!important;border-bottom:3px solid var(--theme-accent)}
body[data-ui-style="classic"] aside{background:#fff!important;border-right:1px solid var(--ui-border);padding-top:25px}
body[data-ui-style="classic"] aside a{color:#334155!important;border-radius:2px}
body[data-ui-style="classic"] aside a.active{color:#fff!important}
body[data-ui-style="classic"] .panel,body[data-ui-style="classic"] .metrics article{border:1px solid var(--ui-border)!important;border-top:1px solid var(--ui-border)!important}
body[data-ui-style="classic"] .metrics article{border-left:4px solid var(--theme-accent)!important}
body[data-ui-style="classic"] .brand>span{border-radius:2px}
body[data-ui-style="executive"]{--ui-radius:10px;--ui-shadow:0 10px 28px #18222e13;--ui-spacing:27px;--ui-border:#e8ddc8;--ui-muted:#766d5f;--ui-nav-text:#e9dfcd}
body[data-ui-style="executive"] .page-head h1,body[data-ui-style="executive"] .panel h2{font-family:Georgia,serif;letter-spacing:-.02em}
body[data-ui-style="executive"] .metrics article{border-top:1px solid var(--ui-border)!important;border-bottom:4px solid var(--theme-accent)!important}
body[data-ui-style="executive"] .brand>span{background:linear-gradient(135deg,#dfbd77,#936b29)!important;color:#17212e}
body[data-ui-style="sport"]{--ui-radius:5px;--ui-shadow:5px 6px 0 #0005;--ui-spacing:24px;--ui-border:#3c4351;--ui-muted:#b5c0d0;--ui-nav-text:#e8ebf1}
body[data-ui-style="sport"] .page-head h1,body[data-ui-style="sport"] .metrics strong{font-family:Impact,'Arial Narrow',system-ui,sans-serif;letter-spacing:.025em;text-transform:uppercase}
body[data-ui-style="sport"] .metrics article{border-left:5px solid var(--theme-accent)!important;border-top:1px solid var(--ui-border)!important}
body[data-ui-style="sport"] .panel{border-left:3px solid var(--theme-accent)!important}
body[data-ui-style="sport"] .brand>span{transform:skew(-6deg)}
body[data-ui-style="modern"]{--ui-radius:19px;--ui-shadow:0 9px 30px #20447514;--ui-spacing:27px;--ui-border:#dae5f5;--ui-muted:#667c9a;--ui-nav-text:#e0eafb}
body[data-ui-style="modern"] .metrics article{border-top:1px solid var(--ui-border)!important}
body[data-ui-style="modern"] .metrics article strong{color:var(--theme-accent)!important}
body[data-ui-style="future"]{--ui-radius:23px;--ui-shadow:0 15px 42px #0006;--ui-spacing:28px;--ui-border:#38466a;--ui-muted:#aebddc;--ui-nav-text:#e3e9ff}
body[data-ui-style="future"] .content{background:radial-gradient(ellipse at 90% 2%,#45277a55,transparent 35%),radial-gradient(ellipse at 10% 90%,#0088b522,transparent 38%),var(--theme-bg)!important}
body[data-ui-style="future"] .panel,body[data-ui-style="future"] .metrics article{border-color:#45537c!important;box-shadow:0 16px 38px #0005, inset 0 1px #ffffff12!important}
body[data-ui-style="future"] .metrics article{border-top:1px solid #45537c!important}
body[data-ui-style="future"] .metrics strong{color:#67e8f9!important}
body[data-ui-style="future"] .brand>span{background:linear-gradient(135deg,#a78bfa,#22d3ee)!important;border-radius:15px}
/* Theme cards and live preview use same design tokens as app */
.style-options-v320{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:15px;margin:20px 0}
.style-choice-v320{display:block;cursor:pointer}.style-choice-v320 input{position:absolute;opacity:0;width:1px;height:1px}
.style-choice-body-v320{display:flex;flex-direction:column;gap:9px;padding:12px;border:2px solid var(--ui-border);border-radius:14px;min-height:192px}
.style-choice-v320 input:checked+.style-choice-body-v320{border-color:var(--theme-accent);box-shadow:0 0 0 3px #7b8faf33}
.style-choice-v320 input:focus-visible+.style-choice-body-v320{outline:3px solid var(--theme-accent);outline-offset:3px}
.style-choice-body-v320 small{font-size:12px;color:var(--ui-muted)}
.style-mini-v321,.style-preview-shell-v321{--p-accent:#3869e8;--p-nav:#122c52;--p-bg:#eef4fc;--p-card:#fff;--p-text:#172b4d;--p-muted:#667c9a;--p-radius:18px;--p-border:#dce6f3;--p-navtext:#e0eafb;color:var(--p-text)!important}
[data-style-preview="classic"]{--p-accent:#2563eb;--p-nav:#fff;--p-bg:#f1f5f9;--p-card:#fff;--p-text:#18243a;--p-muted:#65748b;--p-radius:2px;--p-border:#d7dee9;--p-navtext:#233653}
[data-style-preview="executive"]{--p-accent:#b58a3b;--p-nav:#18222e;--p-bg:#f7f3eb;--p-card:#fff;--p-text:#1d2939;--p-muted:#766d5f;--p-radius:10px;--p-border:#e8ddc8;--p-navtext:#e9dfcd}
[data-style-preview="sport"]{--p-accent:#ff334d;--p-nav:#0b0d13;--p-bg:#151820;--p-card:#232834;--p-text:#f7f9fc;--p-muted:#b5c0d0;--p-radius:5px;--p-border:#3c4351;--p-navtext:#e8ebf1}
[data-style-preview="modern"]{--p-accent:#3869e8;--p-nav:#122c52;--p-bg:#eef4fc;--p-card:#fff;--p-text:#172b4d;--p-muted:#667c9a;--p-radius:19px;--p-border:#dae5f5;--p-navtext:#e0eafb}
[data-style-preview="future"]{--p-accent:#a78bfa;--p-nav:#0a1022;--p-bg:#0b1226;--p-card:#17213a;--p-text:#f0f5ff;--p-muted:#aebddc;--p-radius:23px;--p-border:#38466a;--p-navtext:#e3e9ff}
.style-mini-v321{display:block;height:110px;overflow:hidden;border:1px solid var(--p-border);background:var(--p-bg);border-radius:var(--p-radius)}
.mini-top{height:24px;background:var(--p-nav);color:var(--p-navtext);display:flex;justify-content:space-between;align-items:center;padding:0 9px;font-size:8px;font-weight:900}
.mini-top i{font-style:normal;font-size:7px;opacity:.65}.mini-layout{display:flex;height:85px}.mini-nav{width:29%;background:var(--p-nav);border-right:1px solid var(--p-border);padding:9px 5px}.mini-nav b{display:block;height:7px;background:var(--p-navtext);opacity:.45;margin-bottom:9px;border-radius:var(--p-radius)}.mini-nav b:first-child{background:var(--p-accent);opacity:1}
.mini-work{flex:1;padding:10px}.mini-work>b{display:block;height:10px;width:65%;background:var(--p-text);opacity:.65;border-radius:3px}.mini-work>span{display:flex;gap:6px;margin-top:11px}.mini-work>span i{display:block;background:var(--p-card);border:1px solid var(--p-border);border-top:3px solid var(--p-accent);width:50%;height:29px;border-radius:var(--p-radius)}.mini-work>em{display:block;background:var(--p-accent);width:40%;height:7px;margin-top:9px;border-radius:var(--p-radius)}
.style-actions-v320{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.style-preview-shell-v321{border:1px solid var(--p-border);border-radius:var(--p-radius);overflow:hidden;background:var(--p-bg);margin:18px 0;min-height:345px;font-family:system-ui,sans-serif}
.preview-top-v321{height:51px;display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--p-nav);color:var(--p-navtext)}.preview-mark-v321{background:var(--p-accent);color:white;font-weight:900;border-radius:var(--p-radius);padding:6px 9px}.preview-user-v321{margin-left:auto;font-size:11px;opacity:.85}
.preview-body-v321{display:grid;grid-template-columns:165px minmax(0,1fr)}.preview-nav-v321{padding:18px 12px;background:var(--p-nav);color:var(--p-navtext);min-height:290px}.preview-nav-v321 strong{display:block;font-size:9px;letter-spacing:.08em;margin-bottom:12px;opacity:.6}.preview-nav-v321 span{display:block;padding:10px 9px;font-size:12px;border-radius:var(--p-radius);margin-bottom:5px}.preview-nav-v321 .selected{background:var(--p-accent);color:white}
.preview-main-v321{padding:24px;min-width:0}.preview-main-v321>small{font-size:10px;color:var(--p-accent);font-weight:800}.preview-main-v321 h3{margin:4px 0;font-size:22px;color:var(--p-text)}.preview-main-v321 p{color:var(--p-muted)!important;font-size:12px;margin:0 0 17px}.preview-metrics-v321{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.preview-metrics-v321 article{background:var(--p-card);border:1px solid var(--p-border);border-top:3px solid var(--p-accent);border-radius:var(--p-radius);padding:14px;min-width:0}.preview-metrics-v321 small,.preview-metrics-v321 em{display:block;color:var(--p-muted);font-size:10px;font-style:normal}.preview-metrics-v321 b{display:block;font-size:27px;color:var(--p-text)}.preview-bottom-v321{display:flex;align-items:center;gap:15px;justify-content:space-between;margin-top:16px}.preview-bottom-v321>div{background:var(--p-card);border:1px solid var(--p-border);border-radius:var(--p-radius);padding:12px;flex:1}.preview-bottom-v321 b,.preview-bottom-v321 span{display:block;font-size:11px}.preview-bottom-v321 span{color:var(--p-muted)}.preview-cta-v321{background:var(--p-accent);border-radius:var(--p-radius);color:#fff!important;padding:11px;font-size:11px;white-space:nowrap}
[data-style-preview="classic"] .preview-metrics-v321 article{border-top:1px solid var(--p-border);border-left:4px solid var(--p-accent)}
[data-style-preview="executive"] .preview-main-v321 h3{font-family:Georgia,serif}[data-style-preview="executive"] .preview-metrics-v321 article{border-top:1px solid var(--p-border);border-bottom:4px solid var(--p-accent)}
[data-style-preview="sport"] .preview-main-v321 h3,[data-style-preview="sport"] .preview-metrics-v321 b{font-family:Impact,system-ui,sans-serif;text-transform:uppercase}[data-style-preview="sport"] .preview-metrics-v321 article{border-left:4px solid var(--p-accent)}
[data-style-preview="future"] .preview-main-v321{background:radial-gradient(ellipse at top right,#45277a66,transparent 55%)}[data-style-preview="future"] .preview-metrics-v321 b{color:#67e8f9}
@media(max-width:760px){.preview-body-v321{grid-template-columns:90px minmax(0,1fr)}.preview-nav-v321{padding:12px 5px}.preview-nav-v321 span{font-size:9px;padding:9px 4px}.preview-main-v321{padding:12px}.preview-main-v321 h3{font-size:16px}.preview-metrics-v321{gap:5px}.preview-metrics-v321 article{padding:7px}.preview-metrics-v321 b{font-size:18px}.preview-metrics-v321 em{display:none}.preview-bottom-v321{flex-wrap:wrap}}
@media print{body[data-ui-style] .panel,body[data-ui-style] .metrics article{box-shadow:none!important}}
