@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@400;500;600;700;800&family=Cormorant+Garamond:wght@600;700&family=Geist+Mono:wght@400;500;600&display=swap";:root{--p4-orange:#f26b2c;--p4-orange-600:#e25a1c;--p4-orange-50:#fef1ea;--p4-bg:#f7f7f5;--p4-bg-2:#f3f2ee;--p4-surface:#fff;--p4-border:#e8e7e2;--p4-border-strong:#d9d7d0;--p4-ink:#1a1a18;--p4-ink-2:#2a2a26;--p4-muted:#6b6a63;--p4-muted-2:#8e8c84;--p4-faint:#b7b5ac;--p4-green:#16a34a;--p4-green-soft:#d8f0dd;--p4-amber:#e0a52a;--p4-amber-soft:#fbe8c2;--p4-blue:#3b82f6;--p4-blue-soft:#dce7fb;--p4-red:#dc4b3a;--p4-red-soft:#f8dad3;--p4-violet:#8b5cf6;--p4-violet-soft:#e6dcfb;--p4-cat-program:#6366f1;--p4-cat-safety:#e0a52a;--p4-cat-service:#16a34a;--p4-cat-product:#3b82f6;--p4-cat-ops:#6b6a63;--p4-font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--p4-font-mono:"JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace;--p4-r-sm:6px;--p4-r-md:8px;--p4-r-lg:10px;--p4-r-xl:14px;--p4-shadow-xs:0 1px 0 #14120c0a;--p4-shadow-sm:0 1px 2px #14120c0f, 0 1px 0 #14120c08;--p4-shadow-md:0 4px 16px #14120c14, 0 1px 2px #14120c0a}body{font-family:var(--p4-font-sans);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01"}.p4-logo{color:var(--p4-ink);font-family:var(--p4-font-sans);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:8px;font-size:15px;font-weight:700;line-height:1;display:inline-flex}.p4-logo-mark{background:var(--p4-ink);width:18px;height:18px;color:var(--p4-surface);letter-spacing:-.04em;border-radius:5px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.p4-logo-word span{color:var(--p4-orange)}.p4-avatar{color:var(--p4-surface);flex:none;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex}.p4-avatar-sm{border-radius:var(--p4-r-sm);width:28px;height:28px;font-size:11.5px}.p4-avatar-md{border-radius:var(--p4-r-md);width:36px;height:36px;font-size:13px}.p4-avatar-lg{border-radius:var(--p4-r-lg);width:44px;height:44px;font-size:15px}.p4-chip{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;height:22px;padding:0 8px;font-size:11.5px;font-weight:500;line-height:1;display:inline-flex}.p4-chip-dot{background:currentColor;border-radius:999px;width:6px;height:6px}.p4-chip-green{background:var(--p4-green-soft);color:#176b36}.p4-chip-amber{background:var(--p4-amber-soft);color:#8a6112}.p4-chip-blue{background:var(--p4-blue-soft);color:#1e51c7}.p4-chip-red{background:var(--p4-red-soft);color:#b0382a}.p4-chip-violet{background:var(--p4-violet-soft);color:#5b3db8}.p4-chip-ghost{background:var(--p4-bg-2);color:var(--p4-muted)}.p4-category-tag{background:var(--p4-bg-2);height:22px;color:var(--p4-ink-2);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px 0 10px;font-size:10.5px;font-weight:600;line-height:1;display:inline-flex;position:relative;overflow:hidden}.p4-category-tag:before{content:"";background:var(--p4-cat-program);width:3px;position:absolute;inset:0 auto 0 0}.p4-category-program:before{background:var(--p4-cat-program)}.p4-category-safety:before{background:var(--p4-cat-safety)}.p4-category-service:before{background:var(--p4-cat-service)}.p4-category-product:before{background:var(--p4-cat-product)}.p4-category-ops:before{background:var(--p4-cat-ops)}.p4-progress{background:var(--p4-bg-2);border-radius:999px;height:6px;position:relative;overflow:hidden}.p4-progress-fill{border-radius:inherit;transition:width .4s cubic-bezier(.2,.7,.3,1);position:absolute;inset:0 auto 0 0}.p4-button{border-radius:var(--p4-r-md);font-family:var(--p4-font-sans);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-weight:500;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex}.p4-button:disabled{cursor:not-allowed;opacity:.6}.p4-button:active:not(:disabled),.learner-tab:active,.program-card-button:active:not(:disabled) .program-card{transform:translateY(1px)}.p4-button:focus-visible,.learner-tab:focus-visible,.learner-search input:focus-visible,.program-card-button:focus-visible,.roadmap-view-all:focus-visible{outline:2px solid var(--p4-orange-600);outline-offset:2px}.p4-button-md{height:32px;padding:0 12px;font-size:13px}.p4-button-lg{height:40px;padding:0 16px;font-size:14px}.p4-button-primary{background:var(--p4-orange);border-color:var(--p4-orange-600);color:var(--p4-surface);box-shadow:inset 0 1px #fff3}.p4-button-primary:hover{background:var(--p4-orange-600)}.p4-button-secondary{background:var(--p4-surface);border-color:var(--p4-border);color:var(--p4-ink-2);box-shadow:var(--p4-shadow-xs)}.p4-button-secondary:hover{background:var(--p4-bg-2);border-color:var(--p4-border-strong)}.p4-button-ghost{color:var(--p4-muted);background:0 0;border-color:#0000}.p4-button-ghost:hover{background:var(--p4-bg-2);color:var(--p4-ink)}.p4-card{background:var(--p4-surface);border:1px solid var(--p4-border);border-radius:var(--p4-r-lg);box-shadow:var(--p4-shadow-xs)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.learner-home{background:var(--p4-bg);min-height:100vh;color:var(--p4-ink-2);font-family:var(--p4-font-sans);flex-direction:column;display:flex}.staff-dashboard-page{--staff-bg:#f4f3ef;--staff-surface:#fff;--staff-border:#e6e3dc;--staff-border-soft:#efede7;--staff-ink:#1a1612;--staff-ink-2:#4a443b;--staff-ink-3:#847b6e;--staff-ink-4:#b5ac9d;--staff-orange:#e8773a;--staff-orange-2:#d9651e;--staff-orange-soft:#fce8dc;--staff-green:#1f8a5b;--staff-hero-bg:#16120e;--staff-hero-bg-2:#221b14;--staff-shadow-card:0 1px 2px #14100c0a, 0 8px 24px #14100c0d;background:var(--staff-bg);min-height:calc(100vh - 60px);color:var(--staff-ink);-webkit-font-smoothing:antialiased;justify-content:center;padding:32px 24px 64px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45;display:flex}.staff-dashboard-page button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none}.staff-shell{flex-direction:column;gap:22px;width:100%;max-width:980px;display:flex}.staff-page-head{justify-content:space-between;align-items:flex-start;gap:24px;padding:4px 4px 6px;display:flex}.staff-welcome{color:var(--staff-ink);letter-spacing:0;margin:0 0 4px;font-size:30px;font-weight:800}.staff-welcome-sub{color:var(--staff-ink-3);margin:0;font-size:13.5px}.staff-welcome-sub strong{color:var(--staff-ink-2);font-weight:600}.staff-dot-sep{color:var(--staff-ink-4);margin:0 8px}.staff-due-pill{border:1px solid var(--staff-border);background:var(--staff-surface);box-shadow:var(--staff-shadow-card);color:var(--staff-ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:8px 14px 8px 10px;font-size:13px;display:inline-flex}.staff-due-pill strong{color:var(--staff-ink);font-weight:600}.staff-due-icon{background:var(--staff-orange-soft);width:26px;height:26px;color:var(--staff-orange-2);border-radius:6px;justify-content:center;align-items:center;display:flex}.staff-hero-card{background:linear-gradient(180deg, var(--staff-hero-bg-2) 0%, var(--staff-hero-bg) 100%);color:#fff;border-radius:16px;padding:24px 26px 20px;position:relative;overflow:hidden;box-shadow:0 1px 2px #14100c0f,0 12px 32px #14100c1a}.staff-hero-bg-glow{pointer-events:none;background:radial-gradient(circle,#e8773a73 0%,#e8773a00 65%);width:320px;height:320px;position:absolute;top:-60px;right:-60px}.staff-hero-top{justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:22px;display:flex;position:relative}.staff-hero-top-left{flex:1;min-width:0}.staff-hero-eyebrow{color:#ffffff8c;letter-spacing:.16em;align-items:center;gap:8px;margin-bottom:12px;font-size:10.5px;font-weight:600;display:inline-flex}.staff-hero-title-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.staff-level-chip{color:#ffffffc7;letter-spacing:.14em;border:1px solid #ffffff38;border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:700}.staff-hero-title{letter-spacing:0;margin:0;font-size:26px;font-weight:800}.staff-hero-modules-count{color:#ffffff80;font-size:13.5px}.staff-hero-desc{color:#ffffffad;max-width:560px;margin:0;font-size:13.5px}.staff-hero-top-right{z-index:1;text-align:right;position:relative}.staff-hero-count{letter-spacing:0;font-size:36px;font-weight:800;line-height:1}.staff-hero-count-slash{color:#ffffff59;margin:0 4px;font-weight:500}.staff-hero-count-total{color:#ffffff8c}.staff-hero-count-label{color:#ffffff80;letter-spacing:.14em;margin-top:6px;font-size:10.5px;font-weight:600}.staff-stepper{background:#ffffff08;border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;margin:0 -26px;padding:22px 60px 26px;position:relative}.staff-stepper-steps{z-index:2;justify-content:space-between;align-items:flex-start;display:flex;position:relative}.staff-stepper-track,.staff-stepper-track-fill{border-radius:2px;height:2px;position:absolute;top:36px;left:60px;right:60px}.staff-stepper-track{background:#ffffff1a}.staff-stepper-track-fill{background:var(--staff-green);max-width:calc(100% - 120px);right:auto}.staff-step{flex-direction:column;align-items:center;min-width:60px;display:flex}.staff-step-dot{border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:12px;display:flex}.staff-step-number{font-size:14px;font-weight:700}.staff-lock-muted{opacity:.6}.staff-step-label{color:#fff;text-align:center;font-size:13.5px;font-weight:600}.staff-step-sub{letter-spacing:.14em;margin-top:3px;font-size:10px;font-weight:700}.staff-hero-foot{justify-content:space-between;align-items:center;gap:16px;padding-top:18px;display:flex}.staff-hero-foot-eyebrow{color:#ffffff80;letter-spacing:.16em;margin-bottom:6px;font-size:10.5px;font-weight:600}.staff-hero-foot-title{font-size:16px}.staff-hero-foot-title strong{font-weight:700}.staff-hero-foot-title .muted{color:#ffffff8c;font-weight:400}.staff-hero-foot-meta{color:#fff9;align-items:center;gap:6px;margin-top:4px;font-size:12.5px;display:inline-flex}.staff-hero-foot-meta .bullet{opacity:.5}.staff-hero-foot-waiting{color:#ffffff80;flex-shrink:0;font-size:13px;font-style:italic}.staff-btn-primary{border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .12s;display:inline-flex;box-shadow:0 1px #0000001a,inset 0 1px #ffffff1f;background:var(--staff-orange)!important;color:#fff!important}.staff-btn-primary:hover{background:var(--staff-orange-2)!important}.staff-path-card{border:1px solid var(--staff-border);background:var(--staff-surface);box-shadow:var(--staff-shadow-card);border-radius:14px;padding:16px 20px 14px;position:relative;overflow:hidden}.staff-path-card-accent{background:linear-gradient(90deg,#1f8a5b 0%,#2fa972 50%,#1f8a5b 100%);height:3px;position:absolute;top:0;left:0;right:0}.staff-path-card-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.staff-path-card-title{color:var(--staff-ink);letter-spacing:0;margin:0;font-size:14px;font-weight:700}.staff-path-card-meta{color:var(--staff-ink-3);font-size:11.5px}.staff-path-row{grid-template-columns:repeat(5,1fr);align-items:start;gap:8px;padding:2px 0 8px;display:grid}.staff-path-tile{text-align:center;border-radius:10px;flex-direction:column;align-items:center;width:100%;padding:8px 6px;transition:transform .16s;display:flex;position:relative}.staff-path-tile.is-current{background:linear-gradient(#fdf1e7 0%,#fbe4d2 100%);border:1px solid #f4d5b8;padding-top:6px}.staff-path-tile.is-current:hover{transform:translateY(-1px)}.staff-path-tile-inner{justify-content:center;align-items:center;height:78px;display:flex}.staff-medallion{transition:filter .2s}.staff-path-tile-label{color:var(--staff-ink);text-align:center;margin-top:6px;font-size:11.5px;font-weight:600;line-height:1.2}.staff-path-tile-status{letter-spacing:.04em;margin-top:3px;font-size:10px}.staff-path-tile-status.current{color:var(--staff-orange-2);font-style:italic;font-weight:600}.staff-path-tile-status.locked{border:1px solid var(--staff-border-soft);color:var(--staff-ink-4);background:#f1eee8;border-radius:999px;align-items:center;gap:4px;padding:2px 7px 2px 6px;font-size:9.5px;display:inline-flex}.staff-path-tile-status.complete{color:var(--staff-green);font-weight:600}.staff-path-divider{background:repeating-linear-gradient(90deg, var(--staff-border) 0 4px, transparent 4px 8px);height:1px;margin:4px 0 10px}.staff-path-foot{align-items:center;gap:10px;padding:2px;display:flex}.staff-path-foot-icon{border:1px solid var(--staff-border);width:28px;height:28px;color:var(--staff-ink-2);background:#f4f2ec;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.staff-path-foot-text{flex:1;min-width:0}.staff-path-foot-title{color:var(--staff-ink);font-size:12px;font-weight:600}.staff-path-foot-sub{color:var(--staff-ink-3);margin-top:1px;font-size:11px}.staff-path-foot-link{color:var(--staff-ink-2);white-space:nowrap;align-items:center;gap:4px;font-size:12px;font-weight:500;display:inline-flex}.staff-path-foot-link:hover,.staff-page-foot button:hover{color:var(--staff-ink)}.staff-page-foot{color:var(--staff-ink-3);justify-content:space-between;padding:6px 4px 0;font-size:12.5px;display:flex}@media (width<=720px){.staff-page-head{flex-direction:column;align-items:stretch}.staff-hero-top{flex-direction:column}.staff-hero-top-right{text-align:left}.staff-stepper{margin:0 -26px;padding:16px 20px}.staff-stepper-track,.staff-stepper-track-fill{display:none}.staff-stepper-steps{gap:12px;display:grid}.staff-step{flex-direction:row;align-items:center;gap:12px;min-width:0}.staff-step-dot{flex-shrink:0;margin-bottom:0}.staff-step-label,.staff-step-sub{text-align:left}.staff-path-row{grid-template-columns:repeat(3,1fr)}.staff-hero-foot,.staff-path-foot,.staff-page-foot{flex-direction:column;align-items:stretch}.staff-btn-primary,.staff-path-foot-link{justify-content:center}.staff-due-pill{white-space:normal;align-self:stretch}}.learner-home main{flex:1}.learner-home .container{max-width:1180px;margin:0 auto;padding:28px 28px 60px}.learner-greeting{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.learner-greeting h1{color:var(--p4-ink);letter-spacing:-.03em;margin:0 0 6px;font-size:30px;font-weight:600;line-height:1.12}.learner-greeting p{color:var(--p4-muted);margin:0;font-size:14px;line-height:1.45}.learner-greeting b{color:var(--p4-ink-2);font-weight:600}.learner-greeting-streak{background:var(--p4-orange-50);height:32px;color:var(--p4-orange-600);white-space:nowrap;border:1px solid #fad8c2;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:600;line-height:1;display:none}.learner-demo-note{border:1px solid var(--p4-border);border-radius:var(--p4-r-md);background:var(--p4-surface);color:var(--p4-muted);box-shadow:var(--p4-shadow-xs);margin:-8px 0 18px;padding:9px 12px;font-size:12.5px;line-height:1.4}.learner-nav{z-index:100;background:var(--p4-surface);border-bottom:1px solid var(--p4-border);align-items:center;gap:18px;height:60px;padding:0 28px;display:flex;position:sticky;top:0}.learner-nav-divider{background:var(--p4-border);flex:none;width:1px;height:22px;margin:0 6px}.learner-tabs{align-items:center;gap:2px;display:flex}.learner-tab{color:var(--p4-muted);cursor:pointer;font-family:var(--p4-font-sans);white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;line-height:1;transition:background-color .15s,color .15s,transform .15s;display:inline-flex}.learner-tab:hover{background:var(--p4-bg-2);color:var(--p4-ink)}.learner-tab-active{background:var(--p4-bg-2);color:var(--p4-ink);font-weight:600}.learner-tab-badge{background:var(--p4-border);min-width:18px;color:var(--p4-muted);border-radius:999px;justify-content:center;align-items:center;padding:2px 6px;font-size:10.5px;font-weight:600;line-height:1;display:inline-flex}.learner-tab-active .learner-tab-badge{background:var(--p4-orange);color:var(--p4-surface)}.learner-nav-spacer{flex:auto;min-width:16px}.learner-search{flex:none;width:240px;position:relative}.learner-search svg{color:var(--p4-muted-2);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.learner-search input{border:1px solid var(--p4-border);border-radius:var(--p4-r-md);background:var(--p4-surface);width:100%;height:32px;color:var(--p4-ink);font:500 13px/1 var(--p4-font-sans);padding:0 10px 0 32px}.learner-search input::placeholder{color:var(--p4-muted-2)}.learner-search input:focus{border-color:var(--p4-orange)}.learner-streak{background:var(--p4-orange-50);height:32px;color:var(--p4-orange-600);white-space:nowrap;border:1px solid #fad8c2;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:600;line-height:1;display:inline-flex}.learner-bell{width:32px;height:32px;padding:0;position:relative}.learner-bell-dot{background:var(--p4-orange);width:6px;height:6px;box-shadow:0 0 0 2px var(--p4-surface);border-radius:999px;position:absolute;top:6px;right:7px}.learner-logout{white-space:nowrap}.resume-hero{border-radius:var(--p4-r-xl);color:#fff;background:linear-gradient(135deg,#1a1a18 0%,#2a2a26 100%);margin-bottom:26px;padding:22px 26px;position:relative;overflow:hidden}.resume-hero-flourish{pointer-events:none;background:radial-gradient(circle,#f26b2c33 0%,#0000 65%);width:200px;height:200px;position:absolute;top:-30px;right:120px}.resume-hero-content{z-index:1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:26px;display:grid;position:relative}.resume-hero-left{flex-direction:column;gap:8px;min-width:0;display:flex}.resume-hero-kicker{color:#ffffff8c;letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.resume-hero-meta{color:#ffffff8c;align-items:center;gap:10px;font-size:11.5px;line-height:1;display:flex}.resume-hero-tag{color:#fff;background:#ffffff1a}.resume-hero h2{color:#fff;letter-spacing:-.025em;margin:2px 0 0;font-size:22px;font-weight:600;line-height:1.18}.resume-hero p{color:#ffffffb3;margin:0;font-size:13.5px;line-height:1.45}.resume-hero-progress{align-items:center;gap:14px;max-width:460px;margin-top:4px;display:flex}.resume-hero-track{background:#ffffff1f;border-radius:999px;flex:1;height:6px;position:relative;overflow:hidden}.resume-hero-track span{border-radius:inherit;background:var(--p4-orange);transition:width .4s cubic-bezier(.2,.7,.3,1);position:absolute;inset:0 auto 0 0}.resume-hero-progress>span{color:#ffffffb3;font-family:var(--p4-font-mono);font-size:12px;line-height:1}.resume-hero-cta{height:44px;padding:0 22px;font-size:14px}.quick-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:28px;display:grid}.quick-stat-card{flex-direction:column;gap:10px;padding:16px 18px;display:flex}.quick-stat-header{align-items:center;gap:10px;display:flex}.quick-stat-tile{border-radius:var(--p4-r-md);justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.quick-stat-tile-orange{background:var(--p4-orange-50);color:var(--p4-orange)}.quick-stat-tile-blue{background:var(--p4-blue-soft);color:var(--p4-blue)}.quick-stat-tile-green{background:var(--p4-green-soft);color:var(--p4-green)}.stat-label{color:var(--p4-muted);font:600 10.5px/1 var(--p4-font-sans);letter-spacing:.07em;text-transform:uppercase}.quick-stat-value{color:var(--p4-ink);letter-spacing:-.025em;font-size:26px;font-weight:600;line-height:1}.quick-stat-value small{color:var(--p4-muted);font-size:13px;font-weight:500}.quick-stat-faint{color:var(--p4-faint);font-size:18px;font-weight:500}.quick-stat-card p{color:var(--p4-muted);align-items:center;gap:4px;margin:0;font-size:12px;line-height:1.35;display:inline-flex}.quick-stat-warning{color:var(--p4-amber)!important}.quick-stat-strip{gap:3px;display:flex}.quick-stat-strip span{background:var(--p4-bg-2);border-radius:999px;flex:1;height:6px}.quick-stat-strip .filled{background:var(--p4-orange)}.roadmap{margin-bottom:28px}.roadmap-header{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.roadmap-header h2{color:var(--p4-ink);letter-spacing:-.02em;margin:0;font-size:18px;font-weight:600;line-height:1.2}.roadmap-header p{color:var(--p4-muted);margin:4px 0 0;font-size:12.5px;line-height:1.35}.roadmap-view-all{flex:none;height:30px;padding:0 10px}.roadmap-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.roadmap-empty{border:1px solid var(--p4-border);border-radius:var(--p4-r-lg);background:var(--p4-surface);min-height:180px;color:var(--p4-muted);box-shadow:var(--p4-shadow-xs);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.roadmap-empty h3{color:var(--p4-ink);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.roadmap-empty p{color:var(--p4-muted);margin:0;font-size:13px}.program-card-tooltip-wrap{display:block}.program-card-button{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;display:block}.program-card-button-locked{pointer-events:none}.program-card-button-locked .program-card{opacity:.6}.program-card{flex-direction:column;min-height:245px;padding:0;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;overflow:hidden}.program-card-button:not(.program-card-button-locked):hover .program-card{border-color:var(--p4-border-strong);box-shadow:var(--p4-shadow-sm);transform:translateY(-1px)}.program-card-band{flex:none;height:6px;display:block}.program-card-body{flex-direction:column;flex:1;gap:10px;padding:16px 16px 14px;display:flex}.program-card-main-row{align-items:flex-start;gap:10px;display:flex}.program-card-icon{background:var(--p4-bg-2);border-radius:9px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.program-card-copy{flex-direction:column;flex:1;min-width:0;display:flex}.program-card-copy .p4-category-tag{width:fit-content;margin-bottom:6px}.program-card-title{color:var(--p4-ink);letter-spacing:-.01em;margin-bottom:3px;font-size:14.5px;font-weight:600;line-height:1.25}.program-card-subtitle{color:var(--p4-muted);text-wrap:pretty;font-size:12px;line-height:1.45}.program-card-spacer{flex:1}.program-card-status-row{align-items:center;gap:8px;display:flex}.program-card-lesson-count{color:var(--p4-muted);margin-left:auto;font-size:11.5px;line-height:1}.program-card-lesson-count strong,.program-card-lesson-count span{font-family:var(--p4-font-mono)}.program-card-lesson-count strong{color:var(--p4-ink);font-weight:700}.program-card-progress{background:var(--p4-bg-2);border-radius:999px;height:6px;display:block;position:relative;overflow:hidden}.program-card-progress span{border-radius:inherit;transition:width .4s cubic-bezier(.2,.7,.3,1);position:absolute;inset:0 auto 0 0}.program-card-footer{align-items:center;gap:8px;margin-top:4px;display:flex}.program-card-duration{color:var(--p4-muted);align-items:center;gap:4px;font-size:11.5px;line-height:1;display:inline-flex}.program-card-action{border:1px solid var(--p4-border);border-radius:var(--p4-r-md);background:var(--p4-surface);height:30px;color:var(--p4-ink-2);box-shadow:var(--p4-shadow-xs);justify-content:center;align-items:center;gap:5px;margin-left:auto;padding:0 10px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.program-card-action-in-progress{border-color:var(--p4-orange-600);background:var(--p4-orange-50);color:var(--p4-orange)}.program-card-action-locked{color:var(--p4-muted)}.learner-bottom-row{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:14px;display:grid}.learner-bottom-row-single{grid-template-columns:1fr}.manager-announcement,.expiring-cert-card{padding:18px 20px}.manager-announcement-header,.expiring-cert-header,.manager-announcement-footer{align-items:center;gap:8px;display:flex}.manager-announcement-header,.expiring-cert-header{margin-bottom:10px}.bottom-row-tile{border-radius:var(--p4-r-sm);justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.bottom-row-tile-orange{background:var(--p4-orange-50);color:var(--p4-orange)}.bottom-row-tile-amber{background:var(--p4-amber-soft);color:#8a6112}.bottom-row-spacer{flex:1}.manager-announcement-time{color:var(--p4-faint);white-space:nowrap;font-size:11.5px;line-height:1}.manager-announcement h2,.expiring-cert-card h2{color:var(--p4-ink);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600;line-height:1.25}.manager-announcement h2{margin-bottom:6px}.manager-announcement p{color:var(--p4-muted);text-wrap:pretty;margin:0 0 12px;font-size:13px;line-height:1.55}.manager-announcement-name{color:var(--p4-ink-2);font-size:12.5px;font-weight:500;line-height:1}.manager-announcement-dot{color:var(--p4-faint);font-size:12px}.manager-announcement-role{color:var(--p4-muted);font-size:12px}.manager-announcement-empty{place-items:center;min-height:174px;display:grid}.manager-empty-state{color:var(--p4-muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.expiring-cert-card{background:linear-gradient(#fef6e8 0%,#fff 60%)}.expiring-cert-card h2{margin-bottom:4px;font-size:14.5px}.expiring-cert-card p{color:var(--p4-muted);margin:0 0 12px;font-size:12.5px;line-height:1.45}.expiring-cert-card strong{color:var(--p4-ink-2);font-weight:600}.expiring-cert-cta{width:100%}.learner-home-placeholder{grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:16px;display:grid}.learner-home-placeholder .p4-card{padding:18px}.learner-home-placeholder h2{color:var(--p4-ink);letter-spacing:-.015em;margin:0 0 8px;font-size:16px;font-weight:600}.learner-home-placeholder p{color:var(--p4-muted);margin:0;font-size:13.5px;line-height:1.5}@media (width<=980px){.learner-nav{flex-wrap:wrap;gap:10px 14px;height:auto;min-height:60px;padding:12px 20px}.learner-tabs{order:3;width:100%;padding-bottom:2px;overflow-x:auto}.learner-nav-divider{display:none}.learner-search{width:min(240px,36vw)}}@media (width<=1024px){.quick-stats,.roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learner-bottom-row{grid-template-columns:1fr}}@media (width<=768px){.learner-home .container{padding:24px 18px 48px}.learner-search{order:4;width:32px;transition:width .18s}.learner-logout{order:5;width:100%}.learner-search:focus-within{width:100%}.learner-search input{color:#0000;cursor:pointer;padding-right:0}.learner-search input::placeholder{color:#0000}.learner-search:focus-within input{color:var(--p4-ink);cursor:text;padding-right:10px}.learner-search:focus-within input::placeholder{color:var(--p4-muted-2)}.learner-streak{display:none}.learner-greeting-streak{display:inline-flex}.learner-home-placeholder{grid-template-columns:1fr}.resume-hero{padding:20px}.resume-hero-flourish{display:none}.resume-hero-content{grid-template-columns:1fr;gap:18px}.resume-hero-cta{width:100%}.manager-announcement-footer{flex-wrap:wrap;align-items:flex-start}.manager-announcement-footer .p4-button{width:100%}}@media (width<=640px){.quick-stats,.roadmap-grid{grid-template-columns:1fr}.roadmap-header{flex-direction:column;align-items:flex-start}}.rv-main{max-width:660px;font-family:var(--p4-font-sans);margin:0 auto;padding:28px 20px 64px}.rv-header h1{color:var(--p4-ink);margin:0 0 4px;font-size:24px}.rv-header p{color:var(--p4-muted);margin:0 0 24px;font-size:14.5px}.rv-error{color:var(--p4-red);margin:12px 0;font-size:14px}.rv-empty,.rv-flow-done{background:var(--p4-surface);border:1px solid var(--p4-border);border-radius:var(--p4-r-lg);box-shadow:var(--p4-shadow-xs);text-align:center;padding:36px 28px}.rv-empty h2,.rv-flow-done h2{color:var(--p4-ink);margin:12px 0 6px;font-size:18px}.rv-empty p,.rv-flow-done p{max-width:420px;color:var(--p4-muted);margin:0 auto;font-size:14px;line-height:1.55}.rv-empty-icon{background:var(--p4-green-soft);width:48px;height:48px;color:var(--p4-green);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.rv-primary{border-radius:var(--p4-r-md);background:var(--p4-orange);color:var(--p4-surface);cursor:pointer;border:none;margin-top:18px;padding:10px 20px;font-size:14px;font-weight:600}.rv-primary:hover{background:var(--p4-orange-600)}.rv-flow-meta{color:var(--p4-muted);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12.5px;display:flex}.rv-conf-chip{border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:600}.rv-conf-chip.review{background:var(--p4-orange-50);color:var(--p4-orange-600)}.rv-conf-chip.help{background:var(--p4-red-soft);color:var(--p4-red)}.rv-card{background:var(--p4-surface);border:1px solid var(--p4-border);border-radius:var(--p4-r-lg);box-shadow:var(--p4-shadow-xs);padding:26px 26px 22px}.rv-card-module{background:var(--p4-bg-2);color:var(--p4-muted);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;margin-bottom:10px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-block}.rv-card h2{color:var(--p4-ink);margin:0 0 10px;font-size:19px}.rv-card-body{color:var(--p4-ink);white-space:pre-line;margin:0 0 14px;font-size:14.5px;line-height:1.6}.rv-card-takeaway,.rv-card-example{color:var(--p4-muted);border-left:3px solid var(--p4-orange);margin:0 0 8px;padding-left:12px;font-size:13.5px;line-height:1.5}.rv-rate-row{gap:10px;margin-top:14px;display:flex}.rv-rate-btn{border:1px solid var(--p4-border);border-radius:var(--p4-r-md);background:var(--p4-surface);color:var(--p4-ink);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:7px;padding:11px 8px;font-size:13.5px;font-weight:600;display:inline-flex}.rv-rate-btn:disabled{opacity:.6;cursor:default}.rv-rate-got-it:hover:not(:disabled){border-color:var(--p4-green);color:var(--p4-green);background:var(--p4-green-soft)}.rv-rate-review:hover:not(:disabled){border-color:var(--p4-orange);color:var(--p4-orange-600);background:var(--p4-orange-50)}.rv-rate-help:hover:not(:disabled){border-color:var(--p4-red);color:var(--p4-red);background:var(--p4-red-soft)}.rv-missed{margin-top:32px}.rv-missed h3{color:var(--p4-ink);margin:0 0 4px;font-size:16px}.rv-missed-sub{color:var(--p4-muted);margin:0 0 12px;font-size:13px}.rv-missed-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.rv-missed-row{border:1px solid var(--p4-border);border-radius:var(--p4-r-md);background:var(--p4-surface);width:100%;box-shadow:var(--p4-shadow-xs);cursor:pointer;text-align:left;color:var(--p4-muted);align-items:center;gap:14px;padding:13px 16px;display:flex}.rv-missed-row:hover{border-color:var(--p4-orange)}.rv-missed-count{background:var(--p4-red-soft);min-width:30px;height:30px;color:var(--p4-red);border-radius:999px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.rv-missed-info{flex-direction:column;flex:1;gap:2px;display:flex}.rv-missed-info b{color:var(--p4-ink);font-size:14px}.rv-missed-info small{color:var(--p4-muted);font-size:12px}.rv-flow-done{margin-top:8px}@media (width<=560px){.rv-rate-row{flex-direction:column}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--p4s-signal:#ff5a1f;--p4s-signal-600:#e84f18;--p4s-signal-700:#c03f11;--p4s-signal-50:#ffeee5;--p4s-signal-100:#ffd6c2;--p4s-ink:#0f1419;--p4s-ink-700:#1a2028;--p4s-ink-50:#e8eaec;--fg-1:#0f1419;--fg-2:#3a4049;--fg-3:#6f7480;--fg-4:#a8aeb8;--fg-inverse:#fafaf7;--paper:#fff;--bone:#fafaf7;--bg-app:#fafaf7;--bg-surface:#fff;--bg-subtle:#f2f1ec;--bg-muted:#edeae2;--border-1:#e6e4dd;--border-2:#d4d2cb;--border-strong:#b5b3ab;--surface:var(--paper);--surface-2:var(--bg-subtle);--surface-3:var(--bg-muted);--bg-page:var(--bg-app);--border:var(--border-1);--text:var(--fg-1);--text-h:var(--fg-1);--muted:var(--fg-3);--orange:var(--p4s-signal);--color-error:var(--danger);--color-warning:var(--warning);--color-warning-bg:var(--warning-bg);--radius-sm:var(--r-sm);--cat-safety-bg:#fff4d6;--cat-safety-fg:#7a5300;--cat-service-bg:#d6f4e8;--cat-service-fg:#00734f;--cat-product-bg:#dce7ff;--cat-product-fg:#1e40af;--cat-menu-bg:#dce7ff;--cat-menu-fg:#1e40af;--cat-operations-bg:#e8e6de;--cat-operations-fg:#3a4049;--cat-general-bg:#e8e6de;--cat-general-fg:#3a4049;--cat-compliance-bg:#ede0fa;--cat-compliance-fg:#5b21b6;--cat-safety:#f5b700;--cat-service:#00b07c;--cat-product:#3f7cff;--cat-operations:#3a4049;--cat-compliance:#8b5cf6;--success:#00b07c;--success-bg:#d6f4e8;--warning:#f5b700;--warning-bg:#fff4d6;--danger:#e5484d;--danger-bg:#ffe0e1;--info:#3f7cff;--info-bg:#dce7ff;--r-xs:2px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:10px;--r-2xl:16px;--r-pill:999px;--shadow-xs:0 1px 0 #0f14190a;--shadow-sm:0 1px 2px #0f14190d, 0 1px 3px #0f14190a;--shadow-md:0 2px 4px #0f14190d, 0 6px 16px -4px #0f141914;--shadow-lg:0 4px 8px #0f14190f, 0 16px 32px -6px #0f14191f;--shadow-focus:0 0 0 3px #ff5a1f38;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--ease-out:cubic-bezier(.2, .7, .2, 1);--dur-fast:.12s;--dur-base:.18s;--dur-slow:.28s;--font-sans:"Inter Tight", -apple-system, system-ui, sans-serif;--font-display:"Inter Tight", -apple-system, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--t-display:44px;--t-display-lh:1;--t-display-w:700;--t-display-tk:-.04em;--t-h1:28px;--t-h1-lh:1.05;--t-h1-w:700;--t-h1-tk:-.035em;--t-h2:22px;--t-h2-lh:1.2;--t-h2-w:700;--t-h2-tk:-.025em;--t-h3:16px;--t-h3-lh:1.3;--t-h3-w:650;--t-h3-tk:-.018em;--t-body-lg:15px;--t-body-lg-lh:1.55;--t-body-lg-w:400;--t-body:13.5px;--t-body-lh:1.5;--t-body-w:400;--t-small:12.5px;--t-small-lh:1.45;--t-small-w:400;--t-meta:11.5px;--t-meta-lh:1.4;--t-meta-w:500;--t-stat:30px;--t-stat-lh:1;--t-stat-w:700;--t-overline:10px;--t-overline-lh:1.4;--t-overline-w:600}.p4s-display{font-family:var(--font-display);font-size:var(--t-display);line-height:var(--t-display-lh);font-weight:var(--t-display-w);letter-spacing:var(--t-display-tk);color:var(--fg-1)}.p4s-h1{font-family:var(--font-display);font-size:var(--t-h1);line-height:var(--t-h1-lh);font-weight:var(--t-h1-w);letter-spacing:var(--t-h1-tk);color:var(--fg-1)}.p4s-h2{font-family:var(--font-display);font-size:var(--t-h2);line-height:var(--t-h2-lh);font-weight:var(--t-h2-w);letter-spacing:var(--t-h2-tk);color:var(--fg-1)}.p4s-h3{font-family:var(--font-display);font-size:var(--t-h3);line-height:var(--t-h3-lh);font-weight:var(--t-h3-w);letter-spacing:var(--t-h3-tk);color:var(--fg-1)}.p4s-body-lg{font-family:var(--font-sans);font-size:var(--t-body-lg);line-height:var(--t-body-lg-lh);color:var(--fg-2)}.p4s-body{font-family:var(--font-sans);font-size:var(--t-body);line-height:var(--t-body-lh);color:var(--fg-2)}.p4s-small{font-family:var(--font-sans);font-size:var(--t-small);line-height:var(--t-small-lh);color:var(--fg-3)}.p4s-meta{font-family:var(--font-sans);font-size:var(--t-meta);line-height:var(--t-meta-lh);font-weight:var(--t-meta-w);color:var(--fg-3)}.p4s-stat{font-family:var(--font-display);font-size:var(--t-stat);line-height:var(--t-stat-lh);font-weight:var(--t-stat-w);color:var(--fg-1);font-variant-numeric:tabular-nums;letter-spacing:-.025em}.p4s-overline{font-family:var(--font-mono);font-size:var(--t-overline);line-height:var(--t-overline-lh);font-weight:var(--t-overline-w);color:var(--fg-3);text-transform:uppercase;letter-spacing:.06em}.p4s-mono{font-family:var(--font-mono);color:var(--fg-2);letter-spacing:.02em;font-size:11.5px}.p4s-app{background:var(--bg-app);color:var(--fg-1);font-family:var(--font-sans);font-size:var(--t-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.p4s-stat-row{border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--bg-surface);gap:0;display:flex;overflow:hidden}.p4s-stat-tile{padding:var(--s-4) var(--s-5);text-align:left;border-right:1px solid var(--border-1);flex:1;min-width:120px}.p4s-stat-tile:last-child{border-right:none}.p4s-stat-tile .p4s-overline{margin-top:6px}.lp-page{gap:var(--s-6);display:grid}.lp-page-header{justify-content:space-between;align-items:flex-end;gap:var(--s-6);display:flex}.lp-page-title h1{margin:var(--s-2) 0 var(--s-2);font-family:var(--font-display);font-size:var(--t-h1);line-height:var(--t-h1-lh);font-weight:var(--t-h1-w);letter-spacing:var(--t-h1-tk);color:var(--fg-1)}.lp-page-title p{max-width:620px;font-size:var(--t-body);color:var(--fg-2);margin:0}.lp-stat-row{border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);display:flex;overflow:hidden}.lp-stat-row div{min-width:96px;padding:var(--s-3) var(--s-4);border-right:1px solid var(--border-1)}.lp-stat-row div:last-child{border-right:0}.lp-stat-row strong{font-size:var(--t-stat);line-height:var(--t-stat-lh);color:var(--fg-1);font-variant-numeric:tabular-nums;display:block}.lp-stat-row span{margin-top:var(--s-2);font-family:var(--font-mono);font-size:var(--t-overline);text-transform:uppercase;color:var(--fg-3);display:block}.lp-shell{gap:var(--s-6);grid-template-columns:296px minmax(0,1fr);align-items:start;display:grid}.lp-role-rail{top:calc(var(--s-16) + var(--s-5));gap:var(--s-2);display:grid;position:sticky}.lp-rail-head,.lp-detail-header,.lp-modules-head,.lp-module-tools,.lp-detail-actions{align-items:center;display:flex}.lp-rail-head{justify-content:space-between}.lp-role-list{gap:var(--s-2);display:grid}.lp-role-row{gap:var(--s-1);width:100%;padding:var(--s-3);border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);display:grid}.lp-role-row:hover{border-color:var(--border-strong)}.lp-role-row.active{border-color:var(--p4s-signal);background:var(--p4s-signal-50)}.lp-role-initials{width:var(--s-8);height:var(--s-8);border-radius:var(--r-md);background:var(--bg-subtle);color:var(--fg-1);font-family:var(--font-mono);font-size:var(--t-overline);font-weight:var(--t-overline-w);justify-content:center;align-items:center;display:none}.lp-role-name{font-size:var(--t-body);color:var(--fg-1);font-weight:700}.lp-role-meta{font-size:var(--t-small);color:var(--fg-3);font-variant-numeric:tabular-nums}.lp-mini-bar{gap:var(--s-1);margin-top:var(--s-1);grid-template-columns:repeat(5,1fr);display:grid}.lp-mini-bar i{border-radius:var(--r-pill);background:var(--bg-muted);height:5px}.lp-mini-bar i.live{background:var(--p4s-signal)}.lp-mini-bar i.locked{background:var(--border-strong)}.lp-role-row.active .lp-mini-bar i{box-shadow:var(--shadow-focus)}.lp-role-row:focus-visible,.lp-level-card:focus-visible,.lp-module-row:focus-visible,.lp-drag-button:focus-visible,.lp-icon-button:focus-visible,.lp-add-slot:focus-visible,.lp-page .btn:focus-visible,.lp-overflow-menu button:focus-visible{box-shadow:var(--shadow-focus);outline:none}.lp-detail-pane{min-width:0;padding:var(--s-6);border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--paper)}.lp-detail-header{justify-content:space-between;gap:var(--s-4);padding-bottom:var(--s-5);border-bottom:1px solid var(--border-1)}.lp-detail-header h2{margin:var(--s-1) 0;font-size:var(--t-h2);line-height:var(--t-h2-lh);font-weight:var(--t-h2-w);color:var(--fg-1);letter-spacing:var(--t-h2-tk)}.lp-detail-header p,.lp-modules-head p{color:var(--fg-3);font-size:var(--t-body);margin:0}.lp-detail-actions,.lp-module-tools{gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end}.lp-level-rail{gap:var(--s-3);margin:var(--s-5) 0 var(--s-6);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.lp-level-card{min-height:calc(var(--s-12) * 2);align-content:start;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);text-align:left;cursor:pointer;display:grid;position:relative}.lp-level-card:not(:last-child):after{content:"";top:var(--s-12);right:calc(-1 * var(--s-3) - 1px);width:var(--s-3);background:var(--border-1);height:1px;position:absolute}.lp-level-card:hover{border-color:var(--border-strong)}.lp-level-card.active{border-color:var(--p4s-signal);background:var(--p4s-signal-50);box-shadow:var(--shadow-focus)}.lp-level-card.locked{background:var(--bg-subtle)}.lp-level-eyebrow{align-items:center;gap:var(--s-1);font-family:var(--font-mono);font-size:var(--t-overline);text-transform:uppercase;color:var(--fg-3);display:flex}.lp-level-card strong{font-size:var(--t-body);color:var(--fg-1)}.lp-level-card>span:last-child{font-size:var(--t-small);color:var(--fg-3);font-variant-numeric:tabular-nums}.lp-modules-block{gap:var(--s-4);display:grid}.lp-modules-head{justify-content:space-between;gap:var(--s-4)}.lp-modules-head h3{margin:0 0 var(--s-1);font-size:var(--t-h3);line-height:var(--t-h3-lh);font-weight:var(--t-h3-w);letter-spacing:var(--t-h3-tk);color:var(--fg-1)}.lp-module-list{gap:var(--s-2);display:grid}.lp-module-row{grid-template-columns:14px var(--s-2) minmax(0, 1fr) auto;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);display:grid}.lp-module-row:hover{border-color:var(--border-strong);background:var(--bone)}.lp-module-row.locked{background:var(--bg-app)}.lp-drag-button{width:calc(var(--s-3) + var(--s-1));height:calc(var(--s-3) + var(--s-1));opacity:0;color:var(--fg-3);cursor:grab;transition:opacity var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.lp-module-row:hover .lp-drag-button,.lp-drag-button:focus-visible,.lp-drag-button.grabbed{opacity:1}.lp-drag-button.grabbed{color:var(--p4s-signal);cursor:grabbing}.lp-category-dot{width:var(--s-2);height:var(--s-2);background:var(--cat-operations);border-radius:50%}.lp-category-dot.safety{background:var(--cat-safety)}.lp-category-dot.service{background:var(--cat-service)}.lp-category-dot.product{background:var(--cat-product)}.lp-category-dot.operations{background:var(--cat-operations)}.lp-category-dot.compliance{background:var(--cat-compliance)}.lp-module-main{min-width:0}.lp-module-title-line{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.lp-module-title-line strong{min-width:0;font-size:var(--t-body);line-height:var(--t-body-lh);color:var(--fg-1)}.lp-module-meta{margin-top:var(--s-1);font-size:var(--t-small);color:var(--fg-3);font-variant-numeric:tabular-nums}.lp-module-meta.planned{font-style:italic}.lp-status-pill,.lp-required-tag{height:var(--s-5);padding:0 var(--s-2);border-radius:var(--r-sm);font-size:var(--t-overline);text-transform:uppercase;align-items:center;font-weight:700;display:inline-flex}.lp-status-pill.published{background:var(--success-bg);color:var(--success)}.lp-status-pill.draft{background:var(--warning-bg);color:var(--cat-safety-fg)}.lp-status-pill.planned{background:var(--bg-muted);color:var(--fg-3)}.lp-required-tag{background:var(--p4s-signal-50);color:var(--p4s-signal-700);font-family:var(--font-mono)}.lp-module-actions{align-items:center;gap:var(--s-2);display:flex}.lp-icon-button{width:calc(var(--s-6) + var(--s-1));height:calc(var(--s-6) + var(--s-1));border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);color:var(--fg-2);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.lp-icon-button:hover{border-color:var(--border-strong);color:var(--fg-1)}.lp-overflow-wrap{position:relative}.lp-overflow-menu{top:calc(100% + var(--s-2));z-index:20;min-width:140px;padding:var(--s-1);border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);box-shadow:var(--shadow-md);position:absolute;right:0}.lp-overflow-menu button{width:100%;padding:var(--s-2);border-radius:var(--r-sm);text-align:left;color:var(--fg-2);font-size:var(--t-small);cursor:pointer;background:0 0;border:0}.lp-overflow-menu button:hover{background:var(--bg-subtle);color:var(--fg-1)}.lp-overflow-menu button.danger{color:var(--danger)}.lp-overflow-menu button.danger:hover{background:var(--danger-bg)}.lp-overflow-menu button:disabled{opacity:.45;cursor:not-allowed}.lp-add-slot{min-height:var(--s-12);border:1px dashed var(--border-2);border-radius:var(--r-md);color:var(--fg-3);justify-content:center;align-items:center;gap:var(--s-2);cursor:pointer;background:0 0;display:inline-flex}.lp-add-slot:hover{border-color:var(--p4s-signal);background:var(--p4s-signal-50);color:var(--p4s-signal-700)}.lp-empty-state,.lp-add-module-panel{border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--bg-app)}.lp-empty-state{align-content:center;place-items:center;gap:var(--s-2);min-height:180px;padding:var(--s-6);text-align:center;color:var(--fg-3);display:grid}.lp-empty-state strong{color:var(--fg-1);font-size:var(--t-body)}.lp-empty-state span{max-width:360px;font-size:var(--t-body)}.lp-add-module-panel{gap:var(--s-3);padding:var(--s-4);display:grid}.lp-add-module-panel .form-group{margin:0}.lp-checkbox-row{align-items:center;gap:var(--s-2);font-size:var(--t-body);color:var(--fg-2);display:flex}.lp-form-actions{gap:var(--s-2);display:flex}.lp-inline-error,.lp-row-error{color:var(--danger);font-size:var(--t-small);margin:0}.lp-row-error{grid-column:3/-1}@media (width<=920px){.lp-page-header,.lp-detail-header,.lp-modules-head{flex-direction:column;align-items:flex-start}.lp-shell{grid-template-columns:1fr}.lp-role-rail{position:static}.lp-role-list{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}.lp-role-row{padding:var(--s-2);justify-items:center}.lp-role-initials{display:inline-flex}.lp-role-name,.lp-role-meta{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lp-level-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-level-card:after{display:none}.lp-module-row{grid-template-columns:14px 8px minmax(0,1fr)}.lp-module-actions{flex-wrap:wrap;grid-column:3;justify-content:flex-start}}body{font-family:var(--p4-font-sans,var(--font-sans));background:var(--bg-app);color:var(--fg-2);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01";min-height:100vh;font-size:var(--t-body);line-height:var(--t-body-lh)}.page-wrapper{flex-direction:column;min-height:100vh;display:flex}.navbar{background:var(--bg-surface);border-bottom:1px solid var(--border-1);padding:0 var(--s-6);z-index:100;justify-content:space-between;align-items:center;height:64px;display:flex;position:sticky;top:0}.navbar-brand{font-family:var(--font-display);color:var(--fg-1);letter-spacing:-.025em;align-items:center;gap:10px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.navbar-brand .brand-accent{color:var(--p4s-signal)}.navbar-right{align-items:center;gap:var(--s-4);display:flex}.navbar-user{font-size:var(--t-small);color:var(--fg-3);font-weight:500}.main-content{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:2rem}.status-page{min-height:100vh;padding:var(--s-6);background:var(--bg-app);justify-content:center;align-items:center;display:flex}.status-card{width:100%;max-width:460px;padding:var(--s-8);background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--r-lg);box-shadow:var(--shadow-md);text-align:center}.status-icon{width:48px;height:48px;margin:0 auto var(--s-4);border-radius:var(--r-lg);background:var(--warning-bg);color:var(--cat-safety-fg);justify-content:center;align-items:center;display:flex}.status-icon-danger{background:var(--danger-bg);color:var(--danger)}.status-code{font-family:var(--font-mono);font-size:var(--t-overline);letter-spacing:.08em;color:var(--fg-3);text-transform:uppercase;margin-bottom:var(--s-2);font-weight:600}.status-card h1{font-family:var(--font-display);font-size:var(--t-h1);line-height:var(--t-h1-lh);color:var(--fg-1);margin-bottom:var(--s-3)}.status-card p:not(.status-code){color:var(--fg-2);line-height:1.55}.status-actions{justify-content:center;gap:var(--s-3);margin-top:var(--s-6);flex-wrap:wrap;display:flex}.auth-page{background:var(--bg-app);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex;position:relative;overflow:hidden}.auth-wash{pointer-events:none;border-radius:50%;position:absolute}.auth-wash-tl{background:radial-gradient(circle,#ff5a1f14,#0000 60%);width:600px;height:600px;top:-200px;left:-200px}.auth-wash-br{background:radial-gradient(circle,#0f14190f,#0000 60%);width:700px;height:700px;bottom:-240px;right:-240px}.auth-top-bar{z-index:1;justify-content:space-between;align-items:center;padding:22px 32px;display:flex;position:absolute;top:0;left:0;right:0}.auth-bar-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.auth-bar-wordmark{font-family:var(--font-display);letter-spacing:-.025em;color:var(--fg-1);font-size:15px;font-weight:700}.auth-bar-hint{font-family:var(--font-mono);color:var(--fg-3);font-size:11px}.auth-bar-hint-link{color:var(--p4s-signal);font-weight:600;text-decoration:none}.auth-bar-hint-link:hover{text-decoration:underline}.auth-card{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--r-xl);z-index:1;width:100%;max-width:420px;padding:36px 36px 28px;position:relative;box-shadow:0 1px #0f14190a,0 4px 8px #0f14190f,0 24px 48px -12px #0f14192e}.auth-eyebrow{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);font-size:10px}.auth-heading{font-family:var(--font-display);letter-spacing:var(--t-h1-tk);color:var(--fg-1);margin:8px 0 0;font-size:28px;font-weight:700;line-height:1.05}.auth-subheading{font-size:var(--t-body);color:var(--fg-3);margin:8px 0 0}.auth-form{flex-direction:column;gap:14px;margin-top:24px;display:flex}.auth-pw-row{justify-content:space-between;align-items:center;display:flex}.auth-forgot{font-family:var(--font-mono);color:var(--p4s-signal);font-size:11px;font-weight:500;text-decoration:none}.auth-forgot:hover{text-decoration:underline}.auth-submit-btn{margin-top:var(--s-1);justify-content:center;width:100%;padding:11px 14px}.auth-divider{align-items:center;gap:12px;margin:22px 0 16px;display:flex}.auth-divider span:not(.auth-divider-label){background:var(--border-1);flex:1;height:1px}.auth-divider-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);white-space:nowrap;font-size:10px;font-weight:600}.auth-register-staff{border-radius:var(--r-md);background:var(--p4s-signal-50);color:var(--p4s-signal-700);font-size:var(--t-body);border:1px solid var(--p4s-signal-100);transition:background var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-weight:600;text-decoration:none;display:flex}.auth-register-staff:hover{background:var(--p4s-signal-100)}.auth-footnote{text-align:center;font-family:var(--font-mono);color:var(--fg-4);letter-spacing:.06em;z-index:1;font-size:10px;position:absolute;bottom:18px;left:0;right:0}.auth-form-legacy{flex-direction:column;gap:1rem;display:flex}.form-group{gap:var(--s-1);flex-direction:column;display:flex}.form-group label{color:var(--fg-2);font-size:12px;font-weight:600}.form-group input,.form-group textarea,.form-group select{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--r-md);font-size:var(--t-body);font-family:var(--font-sans);color:var(--fg-1);box-sizing:border-box;width:100%;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);outline:none;padding:10px 12px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--fg-4)}.form-group textarea{resize:vertical}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--p4s-signal);box-shadow:var(--shadow-focus)}.form-group input.input-error,.form-group textarea.input-error,.form-group select.input-error{border-color:var(--danger)}.form-group .field-help{font-size:var(--t-meta);color:var(--fg-3);margin-top:var(--s-1)}.form-group .field-error{font-size:var(--t-meta);color:var(--danger);margin-top:var(--s-1)}.error-msg{background:var(--danger-bg);color:var(--danger);border-radius:var(--r-md);padding:.75rem 1rem;font-size:.875rem;font-weight:500}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{color:var(--fg-1);font-size:2rem;font-weight:800}.dashboard-header p{color:var(--fg-3);margin-top:.25rem}.progress-banner{background:var(--p4s-ink);border-radius:var(--r-lg);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.5rem 2rem;display:flex}.progress-banner h2{margin-bottom:.25rem;font-size:1.1rem;font-weight:700}.progress-banner p{opacity:.85;font-size:.875rem}.progress-stat{text-align:center;min-width:80px}.progress-stat .stat-num{font-size:2.5rem;font-weight:900;line-height:1}.progress-stat .stat-label{opacity:.8;margin-top:.2rem;font-size:.75rem}.modules-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.module-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);cursor:pointer;color:inherit;border:2px solid #0000;flex-direction:column;gap:.75rem;padding:1.5rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.module-card:hover{border-color:var(--p4s-signal);transform:translateY(-4px);box-shadow:0 12px 32px #0000001f}.module-card-icon{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.module-card h3{color:var(--fg-1);font-size:1.1rem;font-weight:700}.module-card p{color:var(--fg-3);font-size:.875rem;line-height:1.5}.module-category{border-radius:var(--r-sm);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:var(--t-overline-lh);align-items:center;gap:6px;padding:3px 9px 3px 8px;display:inline-flex}.cat-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.module-status{align-items:center;gap:.5rem;margin-top:.25rem;font-size:.8rem;font-weight:600;display:flex}.status-dot{border-radius:50%;width:8px;height:8px}.module-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;display:flex}.module-card-meta{color:var(--fg-3);font-size:.78rem}.module-card-cta{margin-top:.25rem;font-size:.82rem;font-weight:700}.training-cta{color:var(--p4s-signal)}.dashboard-tabs{background:var(--bg-muted);border-radius:var(--r-md);align-self:flex-start;gap:4px;width:fit-content;margin-bottom:1.75rem;padding:3px;display:flex}.dashboard-tab{border-radius:var(--r-sm);font-family:var(--font-sans);color:var(--fg-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:none;padding:6px 14px;font-size:12.5px;font-weight:500}.dashboard-tab:hover{color:var(--fg-1)}.dashboard-tab.active{background:var(--bg-surface);color:var(--fg-1);font-weight:600;box-shadow:0 1px 2px #0f14190f}.assessment-banner{background:var(--p4s-ink)}.assessment-card:hover{border-color:var(--p4s-ink)}.assessment-cta{color:var(--p4s-ink)}.assessment-locked{cursor:default;pointer-events:none}.assessment-locked a{pointer-events:all}.assessment-lock-block{background:var(--bg-subtle);border-radius:8px;align-items:flex-start;gap:.6rem;padding:.6rem .75rem;display:flex}.assessment-lock-icon{flex-shrink:0;margin-top:1px;font-size:1rem}.assessment-lock-detail{flex-direction:column;flex:1;gap:.2rem;display:flex}.assessment-lock-title{color:var(--fg-2);font-size:.82rem;font-weight:700}.assessment-lock-sub{color:var(--fg-3);font-size:.77rem}.assessment-steps-bar{background:var(--border-2);border-radius:999px;height:4px;margin-top:.35rem;overflow:hidden}.assessment-steps-fill{background:var(--p4s-signal);border-radius:999px;height:100%;transition:width .3s}.assessment-score-block{flex-direction:column;gap:.5rem;display:flex}.assessment-score-row{flex-wrap:wrap;gap:.75rem;display:flex}.assessment-score-item{flex-direction:column;flex:1;gap:.1rem;min-width:60px;display:flex}.assessment-score-label{color:var(--fg-3);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:600}.assessment-score-value{color:var(--fg-1);font-size:1rem;font-weight:800}.assessment-score-value.score-pass{color:var(--cat-service-fg)}.assessment-score-value.score-fail{color:var(--danger)}.assessment-result-badge{border-radius:4px;align-self:flex-start;padding:.25rem .65rem;font-size:.75rem;font-weight:700;display:inline-block}.assessment-result-badge.pass{background:var(--success-bg);color:var(--cat-service-fg)}.assessment-result-badge.fail{background:var(--danger-bg);color:var(--danger)}.assessment-type-badge{background:var(--bg-subtle);color:var(--fg-2);border-radius:4px;padding:.2rem .6rem;font-size:.72rem;font-weight:700}.assessment-meta-row{flex-wrap:wrap;gap:.75rem;display:flex}.assessment-meta-item{color:var(--fg-3);font-size:.78rem}.empty-state{text-align:center;color:var(--fg-3);padding:4rem 2rem}.empty-state-icon{color:var(--fg-3);justify-content:center;margin-bottom:1rem;display:flex}.empty-state p{font-size:.95rem}.back-btn{color:var(--p4s-signal);align-items:center;gap:.4rem;margin-bottom:1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.back-btn:hover{text-decoration:underline}.module-header{background:var(--p4s-ink);border-radius:var(--r-lg);color:#fff;margin-bottom:2rem;padding:2rem}.module-header h1{margin-bottom:.5rem;font-size:1.75rem;font-weight:800}.module-header p{opacity:.9;font-size:.95rem}.lessons-list{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.lesson-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:1.5rem}.lesson-card h3{color:var(--fg-1);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:1rem;font-weight:700;display:flex}.lesson-num{background:var(--p4s-signal);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:flex}.lesson-card p{color:var(--fg-3);font-size:.95rem;line-height:1.7}.quiz-cta{background:var(--p4s-ink);border-radius:var(--r-lg);color:#fff;text-align:center;padding:2rem}.quiz-cta h2{margin-bottom:.5rem;font-size:1.4rem;font-weight:800}.quiz-cta p{opacity:.9;margin-bottom:1.25rem}.quiz-header{background:var(--p4s-ink);border-radius:var(--r-lg);color:#fff;margin-bottom:2rem;padding:1.5rem 2rem}.quiz-header h1{font-size:1.5rem;font-weight:800}.quiz-counter{opacity:.85;margin-top:.25rem;font-size:.875rem}.quiz-progress-bar{background:#ffffff4d;border-radius:999px;height:8px;margin-top:.75rem;overflow:hidden}.quiz-progress-fill{background:#fff;border-radius:999px;height:100%;transition:width .3s}.question-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:2rem}.question-num{color:var(--p4s-signal);text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem;font-size:.8rem;font-weight:600}.question-text{color:var(--fg-1);margin-bottom:1.5rem;font-size:1.15rem;font-weight:700;line-height:1.5}.options-list{flex-direction:column;gap:.75rem;display:flex}.option-btn{border:2px solid var(--border-1);border-radius:var(--r-md);text-align:left;cursor:pointer;color:var(--fg-2);background:#fff;width:100%;padding:1rem 1.25rem;font-size:.95rem;font-weight:500;transition:all .15s}.option-btn:hover:not(:disabled){border-color:var(--p4s-signal);background:var(--p4s-signal-50)}.option-btn.selected{border-color:var(--p4s-signal);background:var(--p4s-signal-50);color:var(--p4s-signal);font-weight:700}.quiz-nav{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.results-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);text-align:center;max-width:480px;margin:2rem auto;padding:3rem 2rem}.results-emoji{margin-bottom:1rem;font-size:4rem;display:block}.results-card h1{margin-bottom:.5rem;font-size:2rem;font-weight:800}.results-card p{color:var(--fg-3);margin-bottom:1.5rem}.score-circle{border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:120px;height:120px;margin:1.5rem auto;font-weight:900;display:flex}.score-circle .score-pct{font-size:2rem;line-height:1}.score-circle .score-label{opacity:.8;margin-top:.1rem;font-size:.7rem}.results-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.btn{font-family:var(--font-sans);border-radius:var(--r-md);cursor:pointer;letter-spacing:-.01em;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);white-space:nowrap;border:1px solid #0000;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--p4s-ink);color:var(--fg-inverse)}.btn-primary:hover:not(:disabled){background:var(--p4s-ink-700)}.btn-primary:active:not(:disabled){background:var(--p4s-ink);opacity:.9}.btn-primary .btn-dot{background:var(--p4s-signal);border-radius:50%;flex-shrink:0;width:6px;height:6px}.btn-signal{background:var(--p4s-signal);color:var(--paper);box-shadow:0 1px 2px #c03f1140,inset 0 1px #ffffff29}.btn-signal:hover:not(:disabled){background:var(--p4s-signal-600)}.btn-signal:active:not(:disabled){background:var(--p4s-signal-700)}.btn-secondary{background:var(--bg-surface);color:var(--fg-1);border-color:var(--border-1)}.btn-secondary:hover:not(:disabled){background:var(--bg-subtle)}.btn-secondary:active:not(:disabled){background:var(--bg-muted)}.btn-ghost{color:var(--fg-1);border-color:var(--border-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-subtle)}.btn-ghost:active:not(:disabled){background:var(--bg-muted)}.btn-link{color:var(--p4s-signal);background:0 0;padding:4px 8px}.btn-link:hover:not(:disabled){background:var(--p4s-signal-50)}.btn-outline{border:1px solid var(--p4s-signal);color:var(--p4s-signal);background:0 0}.btn-outline:hover:not(:disabled){background:var(--p4s-signal-50)}.btn-success{background:var(--success);color:var(--fg-inverse);border-color:var(--success)}.btn-success:hover:not(:disabled){background:var(--success);filter:brightness(.92)}.btn-danger{background:var(--bg-surface);color:var(--danger);border-color:var(--border-1)}.btn-danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger)}.btn-purple{background:var(--fg-2);color:var(--fg-inverse)}.dc-module-list{flex-direction:column;gap:.5rem;max-height:360px;margin-top:1rem;display:flex;overflow-y:auto}.dc-module-row{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.dc-module-info{align-items:center;gap:.75rem;min-width:0;display:flex}.dc-module-title{color:var(--fg-2);font-size:.9rem;font-weight:700}.dc-module-meta{color:var(--fg-3);margin-top:.1rem;font-size:.75rem}.btn-sm{font-size:var(--t-small);border-radius:var(--r-md);padding:5px 12px}.nav-dropdown-wrapper{position:relative}.nav-user-btn{border:1.5px solid var(--border-1);cursor:pointer;color:var(--fg-2);background:0 0;border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .75rem .3rem .35rem;transition:border-color .15s,background .15s;display:flex}.nav-user-btn:hover{border-color:var(--p4s-signal);background:var(--p4s-signal-50)}.nav-avatar{background:var(--p4s-signal);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;font-weight:800;display:flex}.nav-user-name{font-size:.875rem;font-weight:600}.nav-chevron{color:var(--fg-3);flex-shrink:0;transition:transform .2s}.nav-chevron.open{transform:rotate(180deg)}.nav-dropdown{background:var(--bg-surface);border:1px solid var(--border-1);z-index:200;border-radius:12px;min-width:200px;animation:.15s modal-in;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 32px #0000001f}.nav-dropdown-header{padding:.875rem 1rem .75rem}.nav-dropdown-name{color:var(--fg-1);font-size:.9rem;font-weight:700}.nav-dropdown-role{color:var(--fg-3);margin-top:.1rem;font-size:.78rem}.nav-dropdown-divider{background:var(--bg-subtle);height:1px;margin:0}.nav-dropdown-item{color:var(--fg-2);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;width:100%;padding:.7rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .12s;display:flex}.nav-dropdown-item:hover{background:var(--bg-subtle)}.nav-dropdown-signout{color:var(--danger)}.nav-dropdown-signout:hover{background:var(--danger-bg)}.logout-btn{border:2px solid var(--border-1);border-radius:var(--r-md);cursor:pointer;color:var(--fg-3);background:0 0;padding:.4rem .9rem;font-size:.85rem;font-weight:600;transition:all .15s}.logout-btn:hover{border-color:var(--p4s-signal);color:var(--p4s-signal)}.loading-wrapper{color:var(--fg-3);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem;display:flex}.spinner{border:4px solid var(--border-1);border-top-color:var(--p4s-signal);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.training-mode-toggle{background:var(--bg-subtle);border-radius:10px;gap:2px;margin-bottom:2rem;padding:4px;display:inline-flex}.training-mode-btn{cursor:pointer;color:var(--fg-3);background:0 0;border:none;border-radius:8px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .15s}.training-mode-btn.active{background:var(--bg-surface);color:var(--fg-1);box-shadow:0 1px 4px #0000001f}.scenario-wrapper{background:var(--bg-surface);border:2px solid var(--border-1);border-radius:var(--r-lg);margin-bottom:2rem;overflow:hidden}.scenario-header-bar{background:var(--p4s-ink);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.scenario-title{color:#fff;margin-bottom:.2rem;font-size:1rem;font-weight:800}.scenario-subtitle{color:#ffffff8c;align-items:center;gap:.75rem;font-size:.8rem;display:flex}.scenario-count{background:#ffffff26;border-radius:4px;padding:.15rem .6rem;font-size:.72rem;font-weight:700}.scenario-idle{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.scenario-loading{color:var(--fg-3);align-items:center;gap:.75rem;padding:2rem 1.5rem;font-size:.9rem;display:flex}.scenario-exchange{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.scenario-question-label{text-transform:uppercase;letter-spacing:.5px;color:var(--fg-3);margin-bottom:.5rem;font-size:.72rem;font-weight:700}.scenario-question-bubble{background:var(--bg-subtle);border:1.5px solid var(--cat-product-bg);color:var(--fg-1);border-radius:4px 12px 12px;padding:1.1rem 1.25rem;font-size:.97rem;line-height:1.6}.scenario-answer-wrap{flex-direction:column;gap:.75rem;display:flex}.scenario-answer-label{text-transform:uppercase;letter-spacing:.5px;color:var(--fg-3);font-size:.72rem;font-weight:700}.scenario-textarea{border:2px solid var(--border-1);border-radius:var(--r-md);resize:vertical;width:100%;min-height:110px;color:var(--fg-1);outline:none;padding:.9rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .15s}.scenario-textarea:focus{border-color:var(--p4s-signal)}.scenario-answer-actions{justify-content:space-between;align-items:center;display:flex}.scenario-hint{color:var(--fg-3);font-size:.75rem}.scenario-answer-recap{background:var(--bg-subtle);border-radius:var(--r-md);padding:1rem 1.25rem}.scenario-answer-text{color:var(--fg-2);margin-top:.4rem;font-size:.92rem;font-style:italic;line-height:1.5}.scenario-feedback-box{border-radius:var(--r-md);border:2px solid;padding:1.1rem 1.25rem}.scenario-verdict{text-transform:uppercase;letter-spacing:.5px;margin-bottom:.6rem;font-size:.85rem;font-weight:800}.scenario-feedback-text{color:var(--fg-2);font-size:.92rem;line-height:1.6}.scenario-feedback-actions{justify-content:flex-end;gap:.75rem;display:flex}.cat-safety{background:var(--cat-safety-bg);color:var(--cat-safety-fg)}.cat-service{background:var(--cat-service-bg);color:var(--cat-service-fg)}.cat-product{background:var(--cat-product-bg);color:var(--cat-product-fg)}.cat-menu{background:var(--cat-menu-bg);color:var(--cat-menu-fg)}.cat-operations{background:var(--cat-operations-bg);color:var(--cat-operations-fg)}.cat-general{background:var(--cat-general-bg);color:var(--cat-general-fg)}.cat-compliance{background:var(--cat-compliance-bg);color:var(--cat-compliance-fg)}.status-pill{border-radius:var(--r-pill);font-family:var(--font-sans);font-size:var(--t-overline);font-weight:var(--t-overline-w);line-height:var(--t-overline-lh);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.status-pill-dot{border-radius:var(--r-pill);flex-shrink:0;width:6px;height:6px}.status-pill.pill-active{background:var(--success-bg);color:var(--cat-service-fg)}.status-pill.pill-active .status-pill-dot{background:var(--success)}.status-pill.pill-pending{background:var(--warning-bg);color:var(--cat-safety-fg)}.status-pill.pill-pending .status-pill-dot{background:var(--warning)}.status-pill.pill-overdue{background:var(--danger-bg);color:var(--danger)}.status-pill.pill-overdue .status-pill-dot{background:var(--danger)}.status-pill.pill-draft{background:var(--bg-subtle);color:var(--fg-2)}.status-pill.pill-draft .status-pill-dot{background:var(--fg-4)}.icon-safety{background:var(--warning-bg)}.icon-service{background:var(--success-bg)}.icon-product{background:var(--cat-product-bg)}.icon-operations{background:var(--info-bg)}.impersonate-banner{background:var(--p4s-ink);color:var(--fg-4);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:var(--s-2);flex-wrap:wrap;padding:8px 22px;font-size:11px;display:flex}.impersonate-banner-left{align-items:center;gap:var(--s-2);opacity:.95;display:flex}.impersonate-dot{border-radius:var(--r-pill);background:var(--p4s-signal);flex-shrink:0;width:8px;height:8px}.impersonate-exit-btn{color:var(--p4s-signal);font-family:var(--font-mono);cursor:pointer;align-items:center;gap:var(--s-1);transition:opacity var(--dur-fast) var(--ease-out);white-space:nowrap;background:0 0;border:none;padding:0;font-size:11px;font-weight:500;display:inline-flex}.impersonate-exit-btn:hover{opacity:.75}.ta-back-superadmin-wrap{padding:8px var(--s-4) 0}.ta-back-superadmin-btn{align-items:center;gap:var(--s-2);border-radius:var(--r-md);border:1px solid var(--border-1);width:100%;color:var(--p4s-signal);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);background:0 0;padding:7px 10px;font-size:12px;font-weight:500;display:flex}.ta-back-superadmin-btn:hover{background:var(--bg-hover)}.ta-back-superadmin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-header{justify-content:space-between;align-items:flex-start;gap:var(--s-6);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.admin-header h1{font-family:var(--font-display);font-size:var(--t-h1);line-height:var(--t-h1-lh);font-weight:var(--t-h1-w);letter-spacing:var(--t-h1-tk);color:var(--fg-1)}.admin-header p{color:var(--fg-3);margin-top:var(--s-2)}.admin-stat-row{gap:var(--s-3);flex-wrap:wrap;display:flex}.admin-stat{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5);text-align:left;box-shadow:var(--shadow-xs);flex-direction:column;flex:1;gap:0;min-width:90px;display:flex}.admin-stat-num{font-family:var(--font-display);font-size:var(--t-stat);font-weight:var(--t-stat-w);line-height:var(--t-stat-lh);color:var(--fg-1);font-variant-numeric:tabular-nums}.admin-stat-num.stat-accent{color:var(--p4s-signal)}.admin-stat-label{font-family:var(--font-mono);font-size:var(--t-overline);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);margin-top:var(--s-2);font-weight:600}.admin-table-wrapper{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.admin-table{border-collapse:collapse;width:100%;font-size:var(--t-body);font-variant-numeric:tabular-nums}.admin-table th{background:var(--bg-subtle);padding:var(--s-3) var(--s-5);text-align:left;font-family:var(--font-mono);font-size:var(--t-overline);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);border-bottom:1px solid var(--border-1);white-space:nowrap;font-weight:600}.admin-table td{padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--bg-subtle);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--bg-app)}.table-actions{flex-wrap:nowrap;align-items:center;gap:.4rem;display:flex}.user-name-cell{align-items:center;gap:.75rem;font-weight:600;display:flex}.user-avatar{background:var(--p4s-signal);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.9rem;font-weight:800;display:flex}.muted-cell{color:var(--fg-3)}.progress-cell{align-items:center;gap:.75rem;display:flex}.mini-bar{background:var(--border-1);border-radius:999px;flex:1;max-width:100px;height:8px;overflow:hidden}.mini-bar-fill{background:var(--success);border-radius:999px;height:100%;transition:width .3s}.prog-bar{background:var(--border-1);border-radius:4px;flex-shrink:0;height:5px;overflow:hidden}.prog-bar-thick{height:8px}.prog-bar-fill{background:var(--p4s-signal);border-radius:4px;height:100%;transition:width .3s}.admin-empty{text-align:center;color:var(--fg-3);background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:1rem;padding:4rem;display:flex}.onboarding-banner{background:var(--bg-muted);border:1px solid var(--border);border-left:4px solid var(--p4s-gold);border-radius:var(--r-lg);color:var(--fg-1);align-items:flex-start;gap:.85rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.onboarding-banner-icon{color:var(--p4s-gold);flex-shrink:0;margin-top:1px}.onboarding-banner-title{margin-bottom:.2rem;font-size:.9rem;font-weight:700}.onboarding-banner-desc{color:var(--fg-2);margin:0;font-size:.82rem}.activating-banner{background:var(--p4s-ink);border-radius:var(--r-lg);color:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;padding:1.25rem 1.75rem;display:flex}.activating-banner-body{flex:1;min-width:0}.activating-banner-title{align-items:center;gap:.45rem;margin-bottom:.3rem;font-size:.95rem;font-weight:700;display:flex}.activating-banner-desc{opacity:.72;margin:0;font-size:.82rem}.activating-checklist{flex-direction:column;gap:.45rem;min-width:220px;margin:0;padding:0;list-style:none;display:flex}.activating-checklist-item{opacity:.5;align-items:center;gap:.4rem;font-size:.82rem;display:flex}.activating-checklist-item.done{opacity:1;color:var(--warning)}.activating-checklist-link{color:var(--paper);cursor:pointer;font-size:inherit;text-underline-offset:2px;opacity:.9;background:0 0;border:none;padding:0;text-decoration:underline}.activating-checklist-link:hover{opacity:1}.admin-tabs{background:var(--bg-muted);border-radius:var(--r-md);width:fit-content;margin-bottom:var(--s-6);align-self:flex-start;gap:4px;max-width:100%;padding:3px;display:flex;overflow-x:auto}.admin-tab{border-radius:var(--r-sm);font-family:var(--font-sans);color:var(--fg-2);cursor:pointer;align-items:center;gap:var(--s-2);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:none;padding:6px 14px;font-size:12.5px;font-weight:500;display:inline-flex}.admin-tab svg,.btn svg{stroke-width:1.6px;flex-shrink:0}.admin-tab:hover{color:var(--fg-1)}.admin-tab.active{background:var(--bg-surface);color:var(--fg-1);font-weight:600;box-shadow:0 1px 2px #0f14190f}.superadmin-page{background:var(--bg-app);min-height:100vh}.superadmin-page .main-content{width:auto;max-width:none;height:100vh;margin:0 0 0 232px;padding:72px 28px 28px;overflow:auto}.superadmin-sidebar{background:var(--paper);border-right:1px solid var(--border-1);z-index:180;flex-direction:column;width:232px;display:flex;position:fixed;inset:0 auto 0 0}.sa-sidebar-backdrop{display:none}.sa-brand-row{align-items:center;gap:var(--s-3);padding:18px var(--s-4);border-bottom:1px solid var(--border-1);display:flex}.sa-logo-mark{border-radius:var(--r-lg);background:var(--p4s-ink);flex-shrink:0;width:32px;height:32px;position:relative;overflow:hidden}.sa-logo-bar{border-radius:var(--r-pill);background:var(--paper);width:3px;position:absolute}.sa-logo-bar-knife{height:18px;top:7px;left:11px}.sa-logo-bar-fork{height:14px;top:10px;left:18px}.sa-logo-accent{border-radius:var(--r-pill);background:var(--p4s-signal);width:14px;height:3px;position:absolute;bottom:8px;left:9px}.sa-wordmark{font-family:var(--font-display);letter-spacing:-.025em;color:var(--fg-1);font-size:15px;font-weight:700;line-height:1}.sa-wordmark span{color:var(--p4s-signal)}.sa-workspace-switcher{margin:var(--s-3);align-items:center;gap:var(--s-2);border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--bg-subtle);color:var(--fg-1);cursor:pointer;text-align:left;padding:8px 10px;display:flex}.sa-workspace-mark{border-radius:var(--r-sm);background:var(--p4s-ink);width:24px;height:24px;color:var(--p4s-signal);font-family:var(--font-mono);letter-spacing:.02em;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:inline-flex}.sa-workspace-copy{flex:1;gap:1px;min-width:0;display:grid}.sa-workspace-label{color:var(--fg-1);font-size:12.5px;font-weight:600}.sa-workspace-meta{color:var(--fg-3);font-family:var(--font-mono);font-size:11px;line-height:1.2}.sa-sidebar-body{min-height:0;padding:0 var(--s-3);flex:1;overflow-y:auto}.sa-section-label{padding:10px var(--s-1);color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600;line-height:1.2}.sa-section-label-workspace{margin-top:var(--s-3)}.sa-nav-list{gap:2px;display:grid}.sa-nav-item{border-radius:var(--r-md);width:100%;color:var(--fg-2);font-family:var(--font-sans);cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:10px;padding:7px 10px;font-size:13px;font-weight:500;line-height:1.3;display:flex;position:relative}.sa-nav-item svg{color:var(--fg-3);stroke-width:1.6px;flex-shrink:0}.sa-nav-item:hover{background:var(--bg-subtle);color:var(--fg-1)}.sa-nav-item.active{background:var(--bg-subtle);color:var(--fg-1);font-weight:600}.sa-nav-item.active:before{content:"";background:var(--p4s-signal);border-radius:2px;width:2px;position:absolute;top:6px;bottom:6px;left:-8px}.sa-nav-item.active svg{color:var(--fg-1)}.sa-nav-label{flex:1;min-width:0}.sa-nav-count{color:var(--fg-3);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px;font-weight:500}.sa-nav-count.alert{color:var(--p4s-signal);font-weight:600}.sa-nav-secondary .sa-nav-label{padding-right:var(--s-3)}.sa-sidebar-footer{border-top:1px solid var(--border-1);align-items:center;gap:10px;padding:10px 12px;display:flex}.sa-footer-avatar{border-radius:var(--r-pill);background:var(--p4s-ink);width:26px;height:26px;color:var(--paper);font-family:var(--font-mono);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:inline-flex}.sa-footer-user{flex:1;gap:1px;min-width:0;display:grid}.sa-footer-name{color:var(--fg-1);font-size:12.5px;font-weight:600;line-height:1.2}.sa-footer-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--fg-3);font-family:var(--font-mono);font-size:11px;line-height:1.2;overflow:hidden}.sa-signout-btn{border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);width:28px;height:28px;color:var(--fg-3);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.sa-signout-btn:hover{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.superadmin-topbar{height:48px;padding:0 var(--s-6);align-items:center;gap:var(--s-3);background:var(--paper);border-bottom:1px solid var(--border-1);z-index:170;display:flex;position:fixed;top:0;left:232px;right:0}.sa-mobile-menu-btn{border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);width:30px;height:30px;color:var(--fg-1);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:none}.sa-breadcrumb{align-items:center;gap:var(--s-2);color:var(--fg-3);font-family:var(--font-mono);text-transform:lowercase;font-size:12.5px;line-height:1;display:inline-flex}.sa-breadcrumb strong{color:var(--fg-1);font-weight:600}.sa-breadcrumb-sep{color:var(--fg-4)}.sa-topbar-spacer{flex:1}.sa-search-button{align-items:center;gap:var(--s-2);border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--bg-subtle);min-width:240px;color:var(--fg-3);font-family:var(--font-sans);cursor:pointer;padding:5px 8px 5px 10px;font-size:12.5px;display:inline-flex}.sa-search-button span{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sa-search-button kbd{border:1px solid var(--border-1);border-radius:var(--r-sm);background:var(--paper);color:var(--fg-3);font-family:var(--font-mono);padding:1px 5px;font-size:10px;font-weight:500;line-height:1.3}.sa-notification-btn{border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);color:var(--fg-2);cursor:pointer;justify-content:center;align-items:center;padding:6px;display:inline-flex;position:relative}.sa-notification-btn.unread:after{content:"";border-radius:var(--r-pill);background:var(--p4s-signal);width:6px;height:6px;position:absolute;top:5px;right:5px}.sa-page-header{justify-content:space-between;align-items:baseline;gap:var(--s-6);margin-bottom:22px;display:flex}.sa-page-header h1{font-family:var(--font-display);letter-spacing:-.035em;color:var(--fg-1);font-size:30px;font-weight:700;line-height:1.05}.sa-page-header p{color:var(--fg-3);margin-top:6px;font-size:14px;line-height:1.35}.sa-page-actions{align-items:baseline;gap:var(--s-3);flex-shrink:0;display:flex}.sa-page-btn{align-items:center;gap:var(--s-2);border-radius:var(--r-md);font-family:var(--font-sans);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:8px 12px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.sa-page-btn svg{stroke-width:1.6px;flex-shrink:0}.sa-page-btn-secondary{background:var(--paper);border:1px solid var(--border-2);color:var(--fg-1)}.sa-page-btn-secondary:hover{background:var(--bg-subtle)}.sa-page-btn-primary{background:var(--p4s-signal);border:1px solid var(--p4s-signal);color:var(--paper);box-shadow:inset 0 1px #ffffff2e}.sa-page-btn-primary:hover{background:var(--p4s-signal-600);border-color:var(--p4s-signal-600)}.sa-kpi-grid{gap:var(--s-4);margin-bottom:var(--s-5);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.sa-kpi-card{background:var(--paper);border:1px solid var(--border-1);border-radius:var(--r-xl);min-width:0;box-shadow:var(--shadow-xs);flex-direction:column;gap:6px;padding:16px 18px;display:flex}.sa-kpi-label{color:var(--fg-3);font-size:12px;font-weight:500;line-height:1.3}.sa-kpi-value-row{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.sa-kpi-value{color:var(--fg-1);font-family:var(--font-display);letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1}.sa-kpi-sparkline{flex-shrink:0;width:80px;height:28px;overflow:visible}.sa-kpi-sparkline polyline{fill:none;stroke:var(--p4s-signal);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.sa-kpi-sparkline circle{fill:var(--p4s-signal)}.sa-kpi-footer{align-items:center;gap:var(--s-2);color:var(--fg-3);font-size:12px;line-height:1.35;display:flex}.sa-kpi-delta{color:var(--success);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600}.sa-rest-toolbar{margin-bottom:var(--s-3);align-items:center;gap:10px;display:flex}.sa-rest-search{align-items:center;gap:var(--s-2);border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);min-width:220px;max-width:360px;color:var(--fg-3);flex:1;padding:8px 12px;display:inline-flex}.sa-rest-search svg{stroke-width:1.6px;flex-shrink:0}.sa-rest-search input{width:100%;min-width:0;color:var(--fg-1);font-family:var(--font-sans);background:0 0;border:0;outline:0;font-size:13px}.sa-rest-search input::placeholder{color:var(--fg-3)}.sa-filter-chip{border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);color:var(--fg-2);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:500;line-height:1;display:inline-flex;position:relative}.sa-filter-chip:hover{border-color:var(--border-2);background:var(--bg-subtle)}.sa-filter-chip span{color:var(--fg-4)}.sa-filter-chip strong{color:var(--fg-1);font-weight:600}.sa-filter-chip svg{stroke-width:1.6px;flex-shrink:0}.sa-toolbar-spacer{flex:1}.sa-filter-wrap{display:inline-flex;position:relative}.sa-status-popover,.sa-row-menu{z-index:80;min-width:136px;padding:var(--s-1);border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);box-shadow:var(--shadow-md);position:absolute}.sa-status-popover{top:calc(100% + 6px);left:0}.sa-status-popover button,.sa-row-menu button{border-radius:var(--r-sm);width:100%;color:var(--fg-2);font-family:var(--font-sans);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:7px 9px;font-size:12.5px;font-weight:500}.sa-status-popover button:hover,.sa-status-popover button.active,.sa-row-menu button:hover{background:var(--bg-subtle)}.sa-row-menu button.danger{color:var(--danger)}.sa-row-menu-sep{height:1px;margin:var(--s-1) 0;background:var(--border-1)}.sa-restaurant-stack{gap:var(--s-2);display:grid;overflow-x:auto}.sa-restaurant-row{gap:var(--s-4);border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--paper);min-width:980px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);grid-template-columns:minmax(200px,1.6fr) 130px 110px 100px 110px 100px auto;align-items:center;padding:14px 16px;display:grid}.sa-restaurant-row:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.sa-row-identity{align-items:center;gap:var(--s-3);min-width:0;display:flex}.sa-row-metrics-panel{display:contents}.sa-row-avatar{border-radius:var(--r-md);width:28px;height:28px;color:var(--paper);font-family:var(--font-display);text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:inline-flex}.sa-row-avatar.palette-0{background:var(--p4s-signal)}.sa-row-avatar.palette-1{background:var(--success)}.sa-row-avatar.palette-2{background:var(--info)}.sa-row-avatar.palette-3{background:var(--cat-compliance)}.sa-row-avatar.palette-4{background:var(--warning)}.sa-row-identity-copy{min-width:0}.sa-row-title-line{align-items:center;gap:var(--s-2);min-width:0;display:flex}.sa-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--fg-1);font-size:14px;font-weight:600;overflow:hidden}.sa-row-status{color:var(--fg-3);flex-shrink:0;align-items:center;gap:5px;font-size:12px;font-weight:500;display:inline-flex}.sa-row-status span{border-radius:var(--r-pill);background:var(--fg-4);width:6px;height:6px}.sa-row-status.active span{background:var(--success);box-shadow:0 0 0 3px #00b07c24}.sa-row-status.setup span{background:var(--warning)}.sa-row-status.paused span{background:var(--fg-4)}.sa-row-status.suspended{color:var(--danger)}.sa-row-status.suspended span{background:var(--danger);box-shadow:0 0 0 3px #d645501f}.sa-row-meta{color:var(--fg-3);align-items:center;gap:6px;min-width:0;margin-top:4px;font-size:12px;display:flex}.sa-row-meta code{background:var(--bg-subtle);color:var(--fg-2);font-family:var(--font-mono);border-radius:3px;padding:1px 5px;font-size:11px;line-height:1.35}.sa-row-metric{gap:4px;min-width:0;display:grid}.sa-row-overline{color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;font-weight:600;line-height:1.1}.sa-row-value{min-width:0;color:var(--fg-1);align-items:baseline;gap:4px;font-size:14px;font-weight:600;line-height:1.25;display:flex}.sa-row-value>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sa-row-sub{color:var(--fg-4);font-size:11.5px;font-weight:500}.sa-row-progress{border-radius:var(--r-pill);background:var(--bg-muted);width:100%;max-width:60px;height:3px;overflow:hidden}.sa-row-progress span{border-radius:inherit;background:var(--p4s-signal);height:100%;display:block}.sa-row-progress span.good{background:var(--success)}.sa-row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex;position:relative}.sa-row-view,.sa-row-manage,.sa-row-more,.sa-row-expand{border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--paper);color:var(--fg-1);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.sa-row-view:hover,.sa-row-manage:hover,.sa-row-more:hover{background:var(--bg-subtle)}.sa-row-view{color:var(--p4s-signal);border-color:var(--p4s-signal);gap:5px;padding:6px 10px;font-size:12px;font-weight:600}.sa-row-view:disabled{opacity:.4;cursor:not-allowed;color:var(--fg-muted);border-color:var(--border)}.sa-row-manage{gap:6px;padding:6px 10px;font-size:12px;font-weight:600}.sa-row-more{width:30px;height:28px;padding:0}.sa-row-expand{display:none}.sa-row-menu{top:calc(100% + 6px);right:0}.sa-row-view svg,.sa-row-manage svg,.sa-row-more svg{stroke-width:1.6px;flex-shrink:0}.sa-table-empty{justify-items:center;gap:var(--s-2);padding:var(--s-12) var(--s-4);border:1px dashed var(--border-1);border-radius:var(--r-lg);background:var(--paper);color:var(--fg-2);font-size:14px;display:grid}.sa-table-empty svg{color:var(--fg-4);stroke-width:1.5px}.sa-table-empty button{color:var(--p4s-signal);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:600}.sa-command-overlay{z-index:300;background:#0f14193d;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.sa-command-palette{border:1px solid var(--border-1);border-radius:var(--r-xl);background:var(--paper);width:min(560px,100vw - 32px);box-shadow:var(--shadow-md);overflow:hidden}.sa-command-search{align-items:center;gap:var(--s-2);padding:var(--s-3);border-bottom:1px solid var(--border-1);color:var(--fg-3);display:flex}.sa-command-search input{min-width:0;color:var(--fg-1);font-family:var(--font-sans);background:0 0;border:0;outline:0;flex:1;font-size:14px}.sa-command-search kbd{border:1px solid var(--border-1);border-radius:var(--r-sm);background:var(--bg-subtle);color:var(--fg-3);font-family:var(--font-mono);padding:1px 6px;font-size:10px}.sa-command-results{max-height:360px;padding:var(--s-1);overflow-y:auto}.sa-command-results button{align-items:center;gap:var(--s-3);border-radius:var(--r-md);width:100%;padding:9px var(--s-3);cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0;grid-template-columns:76px 1fr auto;display:grid}.sa-command-results button:hover{background:var(--bg-subtle)}.sa-command-type,.sa-command-meta{color:var(--fg-3);font-family:var(--font-mono);font-size:10.5px}.sa-command-label{color:var(--fg-1);font-size:13px;font-weight:600}.sa-command-empty{padding:var(--s-6);text-align:center;color:var(--fg-3);font-size:13px}.tenant-admin-page{background:var(--bg-app);min-height:100vh}.tenant-admin-page .main-content{width:auto;max-width:none;height:100vh;margin:0 0 0 240px;padding:72px 28px 28px;overflow:auto}.tenant-admin-sidebar{background:var(--paper);border-right:1px solid var(--border-1);z-index:180;flex-direction:column;width:240px;display:flex;position:fixed;inset:0 auto 0 0}.ta-brand-row{align-items:center;gap:var(--s-3);padding:18px var(--s-4);border-bottom:1px solid var(--border-1);display:flex}.ta-tenant-picker-wrap{margin:var(--s-3);position:relative}.ta-tenant-switcher{align-items:center;gap:var(--s-2);border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--paper);width:100%;box-shadow:var(--shadow-xs);color:var(--fg-1);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:10px;display:flex}.ta-tenant-switcher:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.ta-tenant-switcher.single{cursor:default}.ta-tenant-switcher.single:hover{border-color:var(--border-1);box-shadow:var(--shadow-xs)}.ta-tenant-avatar{border-radius:var(--r-md);background:var(--info);width:28px;height:28px;color:var(--paper);font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:inline-flex}.ta-tenant-copy{flex:1;gap:3px;min-width:0;display:grid}.ta-tenant-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--fg-1);font-size:13px;font-weight:600;overflow:hidden}.ta-tenant-meta{min-width:0;color:var(--fg-3);font-family:var(--font-mono);text-transform:lowercase;align-items:center;gap:5px;font-size:10.5px;line-height:1.2;display:inline-flex}.ta-tenant-meta span{border-radius:var(--r-pill);background:var(--success);width:6px;height:6px;box-shadow:0 0 0 3px #00b07c24}.ta-tenant-dropdown{z-index:90;padding:var(--s-1);border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-md);position:absolute;top:calc(100% + 6px);left:0;right:0}.ta-tenant-dropdown button{align-items:center;gap:var(--s-2);width:100%;padding:var(--s-2);border-radius:var(--r-md);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0;display:flex}.ta-tenant-dropdown button:hover{background:var(--bg-subtle)}.ta-tenant-dropdown strong{color:var(--fg-1);font-size:12.5px;display:block}.ta-tenant-dropdown small{color:var(--fg-3);font-family:var(--font-mono);font-size:10.5px;display:block}.ta-sidebar-body{min-height:0;padding:0 var(--s-3);flex:1;overflow-y:auto}.ta-section-label-resources{margin-top:var(--s-3)}.ta-muted-nav{color:var(--fg-3)}.sa-nav-count.alert-badge{border-radius:var(--r-pill);background:var(--p4s-signal-50);color:var(--p4s-signal);padding:2px 6px;font-size:10.5px;font-weight:700}.ta-sidebar-footer{border-top:1px solid var(--border-1);align-items:center;gap:10px;padding:10px 12px;display:flex}.ta-footer-avatar{border-radius:var(--r-pill);background:var(--p4s-ink);width:28px;height:28px;color:var(--paper);font-family:var(--font-mono);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:inline-flex}.tenant-admin-topbar{height:48px;padding:0 var(--s-6);align-items:center;gap:var(--s-3);background:var(--paper);border-bottom:1px solid var(--border-1);z-index:170;display:flex;position:fixed;top:0;left:240px;right:0}.tenant-admin-page button:focus-visible,.tenant-admin-page input:focus-visible,.tenant-admin-page [role=button]:focus-visible{outline-offset:2px;outline:2px solid #ff5a1f4d}.ta-notification-wrap{position:relative}.ta-notifications-panel{z-index:95;width:320px;padding:var(--s-2);border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-md);position:absolute;top:calc(100% + 8px);right:0}.ta-panel-title{color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:6px 8px 8px;font-size:10.5px;font-weight:600}.ta-notifications-panel button{align-items:flex-start;gap:var(--s-2);border-radius:var(--r-md);width:100%;color:var(--fg-2);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:8px;display:flex}.ta-notifications-panel button:hover{background:var(--bg-subtle)}.ta-notifications-panel svg{color:var(--p4s-signal);flex:none;margin-top:2px}.ta-notifications-panel strong,.ta-notifications-panel small{display:block}.ta-notifications-panel strong{color:var(--fg-1);font-size:12.5px;font-weight:600}.ta-notifications-panel small,.ta-panel-empty{color:var(--fg-3);font-family:var(--font-mono);font-size:11px}.ta-panel-empty{padding:var(--s-4);text-align:center}.legacy-hidden{display:none!important}.ta-team-page-header{justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin-bottom:22px;display:flex}.ta-team-page-header h1{color:var(--fg-1);font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:30px;font-weight:700;line-height:1.05}.ta-team-page-header p{color:var(--fg-3);margin:6px 0 0;font-size:14px}.ta-team-actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.ta-team-btn{justify-content:center;align-items:center;gap:var(--s-2);border-radius:var(--r-md);min-height:34px;font-family:var(--font-sans);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:8px 12px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.ta-team-btn.secondary{border:1px solid var(--border-2);background:var(--paper);color:var(--fg-1)}.ta-team-btn.secondary:hover:not(:disabled){background:var(--bg-subtle)}.ta-team-btn.primary{border:1px solid var(--p4s-signal);background:var(--p4s-signal);color:var(--paper);box-shadow:inset 0 1px #ffffff2e}.ta-team-btn.primary:hover:not(:disabled){background:var(--p4s-signal-600);border-color:var(--p4s-signal-600)}.ta-team-btn:disabled{color:var(--fg-4);cursor:not-allowed;background:var(--bg-subtle);border-color:var(--border-1);box-shadow:none}.ta-team-kpi-grid{gap:var(--s-4);margin-bottom:var(--s-5);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ta-team-kpi-card{border:1px solid var(--border-1);border-radius:var(--r-xl);background:var(--paper);flex-direction:column;gap:6px;padding:16px 18px;display:flex}.ta-team-kpi-label{color:var(--fg-3);font-size:12px;font-weight:500}.ta-team-kpi-stat-row{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.ta-team-kpi-stat-wrap{align-items:baseline;gap:var(--s-2);min-width:0;display:inline-flex}.ta-team-kpi-stat{color:var(--fg-1);font-family:var(--font-display);letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1}.ta-team-kpi-sub{color:var(--fg-3);font-size:12px}.ta-team-sparkline{flex:0 0 80px;width:80px;height:28px}.ta-team-sparkline polyline{stroke:var(--success);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ta-team-sparkline circle{fill:var(--success)}.ta-team-sparkline.signal polyline{stroke:var(--p4s-signal)}.ta-team-sparkline.signal circle{fill:var(--p4s-signal)}.ta-team-sparkline.neutral polyline{stroke:var(--fg-4)}.ta-team-sparkline.neutral circle{fill:var(--fg-4)}.ta-team-kpi-delta{min-height:16px;color:var(--success);font-family:var(--font-mono);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:11.5px;font-weight:600;display:inline-flex}.ta-team-kpi-delta.signal{color:var(--p4s-signal)}.ta-team-kpi-delta.neutral{color:var(--fg-3)}.ta-team-alert{align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);border:1px solid var(--p4s-signal-100);border-radius:var(--r-lg);background:var(--p4s-signal-50);padding:12px 16px;display:flex}.ta-team-alert-icon{border-radius:var(--r-pill);border:1px solid var(--p4s-signal-100);background:var(--paper);width:28px;height:28px;color:var(--p4s-signal);flex:0 0 28px;justify-content:center;align-items:center;display:inline-flex}.ta-team-alert-copy{flex:1;gap:2px;min-width:0;display:grid}.ta-team-alert-copy strong{color:var(--p4s-signal-700);font-size:13px;font-weight:600}.ta-team-alert-copy span{color:var(--fg-2);font-size:12px}.ta-team-alert-actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.ta-team-alert-btn{border-radius:var(--r-md);cursor:pointer;min-height:30px;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:6px 12px;font-size:12px;font-weight:600}.ta-team-alert-btn.secondary{border:1px solid var(--p4s-signal);background:var(--paper);color:var(--p4s-signal)}.ta-team-alert-btn.secondary:hover{background:var(--p4s-signal-50)}.ta-team-alert-btn.primary{border:1px solid var(--p4s-signal);background:var(--p4s-signal);color:var(--paper);box-shadow:inset 0 1px #ffffff2e}.ta-team-alert-btn.primary:hover{background:var(--p4s-signal-600);border-color:var(--p4s-signal-600)}.ta-action-queue{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.ta-aq-item{border-radius:var(--r-lg);border:1px solid var(--border-1);background:var(--paper);cursor:pointer;text-align:left;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;display:flex}.ta-aq-item:hover{border-color:var(--border-2);background:var(--bg-subtle)}.ta-aq-icon{border-radius:var(--r-sm);justify-content:center;align-items:center;width:24px;height:24px;display:flex}.ta-aq-count{font-family:var(--font-display);letter-spacing:-.03em;color:var(--fg-1);font-size:22px;font-weight:700;line-height:1}.ta-aq-label{color:var(--fg-3);white-space:nowrap;font-size:12px;line-height:1.3}.ta-aq-item--warning .ta-aq-icon{background:var(--warning-bg);color:#7a5300}.ta-aq-item--neutral .ta-aq-icon{background:var(--bg-muted);color:var(--fg-2)}.ta-aq-item--danger .ta-aq-icon{background:var(--danger-bg);color:var(--danger)}.ta-aq-item--success .ta-aq-icon{background:var(--success-bg);color:#00734f}.ta-aq-item--signal .ta-aq-icon{background:var(--p4s-signal-50);color:var(--p4s-signal-700)}.ta-aq-item--warning.active{border-color:var(--warning);background:var(--warning-bg)}.ta-aq-item--neutral.active{border-color:var(--border-strong);background:var(--bg-muted)}.ta-aq-item--danger.active{border-color:var(--danger);background:var(--danger-bg)}.ta-aq-item--success.active{border-color:var(--success);background:var(--success-bg)}.ta-aq-item--signal.active{border-color:var(--p4s-signal);background:var(--p4s-signal-50)}.ta-aq-item--warning.active .ta-aq-count{color:#7a5300}.ta-aq-item--danger.active .ta-aq-count{color:var(--danger)}.ta-aq-item--success.active .ta-aq-count{color:#00734f}.ta-aq-item--signal.active .ta-aq-count{color:var(--p4s-signal-700)}@media (width<=760px){.ta-action-queue{grid-template-columns:repeat(2,minmax(0,1fr))}.ta-aq-label{white-space:normal}}.ta-team-toolbar{align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex;position:relative}.ta-team-search{align-items:center;gap:var(--s-2);border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);max-width:320px;min-height:34px;color:var(--fg-3);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex:260px;padding:8px 12px;display:inline-flex}.ta-team-search:focus-within{border-color:var(--border-2);box-shadow:var(--shadow-xs)}.ta-team-search input{min-width:0;color:var(--fg-1);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:13px}.ta-team-search input::placeholder{color:var(--fg-3)}.ta-status-segments{border-radius:var(--r-pill);background:var(--bg-subtle);align-items:center;gap:2px;padding:2px;display:inline-flex}.ta-status-segment{border-radius:var(--r-sm);min-height:28px;color:var(--fg-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:5px 10px;font-size:12px;font-weight:500}.ta-status-segment span{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11px}.ta-status-segment:hover{background:var(--bg-muted)}.ta-status-segment.active{background:var(--paper);color:var(--fg-1);font-weight:600;box-shadow:0 1px 2px #0f14190f}.ta-role-filter-wrap{position:relative}.ta-role-filter{align-items:center;gap:var(--s-2);border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);min-height:34px;color:var(--fg-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:7px 12px;font-size:12.5px;display:inline-flex}.ta-role-filter:hover{border-color:var(--border-2);background:var(--bg-subtle)}.ta-role-filter i{border-radius:var(--r-pill);background:var(--fg-4);width:3px;height:3px}.ta-role-filter strong{color:var(--fg-1);font-weight:600}.ta-role-popover{z-index:80;width:190px;padding:var(--s-1);border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-md);position:absolute;top:calc(100% + 6px);right:0}.ta-role-popover button{border-radius:var(--r-md);width:100%;min-height:30px;color:var(--fg-2);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:7px 9px;font-size:12.5px;font-weight:500}.ta-role-popover button:hover,.ta-role-popover button.active{background:var(--bg-subtle);color:var(--fg-1)}.ta-result-count{margin:0 0 var(--s-3);color:var(--fg-3);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px}.ta-staff-row-stack{gap:var(--s-2);display:grid}.ta-staff-row-card{align-items:center;gap:var(--s-4);border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--paper);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);grid-template-columns:minmax(220px,1.6fr) 130px 180px 130px 110px auto;padding:14px 16px;display:grid;position:relative}.ta-staff-row-card:hover,.ta-staff-row-card:focus-visible{border-color:var(--border-2);box-shadow:var(--shadow-sm);outline:0}.ta-staff-identity{align-items:center;gap:var(--s-3);min-width:0;display:flex}.ta-staff-avatar{border-radius:var(--r-pill);width:32px;height:32px;color:var(--paper);font-family:var(--font-display);letter-spacing:0;flex:0 0 32px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.ta-staff-avatar.role-server,.ta-staff-role-value i.role-server{background:var(--info)}.ta-staff-avatar.role-bartender,.ta-staff-role-value i.role-bartender{background:var(--cat-compliance)}.ta-staff-avatar.role-host,.ta-staff-role-value i.role-host{background:var(--warning)}.ta-staff-avatar.role-line-cook,.ta-staff-role-value i.role-line-cook{background:var(--success)}.ta-staff-avatar.role-sous-chef,.ta-staff-role-value i.role-sous-chef{background:var(--p4s-signal)}.ta-staff-avatar.role-unassigned,.ta-staff-role-value i.role-unassigned{background:var(--fg-4)}.ta-staff-copy{gap:2px;min-width:0;display:grid}.ta-staff-copy strong{min-width:0;color:var(--fg-1);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.25;overflow:hidden}.ta-staff-copy span{min-width:0;color:var(--fg-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.25;overflow:hidden}.ta-staff-role,.ta-staff-started{gap:6px;min-width:0;display:grid}.ta-staff-overline{color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;font-weight:600;line-height:1}.ta-staff-role-value{align-items:center;gap:var(--s-2);min-width:0;color:var(--fg-2);font-size:13px;font-weight:500;line-height:1.25;display:inline-flex}.ta-staff-role-value i{border-radius:var(--r-pill);flex:0 0 6px;width:6px;height:6px}.ta-staff-progress{gap:8px;min-width:0;display:grid}.ta-staff-progress-top{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.ta-staff-progress-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;line-height:1}.ta-staff-progress-count strong{color:var(--fg-1);font-weight:600}.ta-staff-progress-count em{color:var(--fg-4);font-style:normal}.ta-staff-bar{border-radius:var(--r-pill);background:var(--bg-muted);height:6px;overflow:hidden}.ta-staff-bar span{border-radius:inherit;background:var(--p4s-signal);height:100%;transition:background var(--dur-fast) var(--ease-out);display:block}.ta-staff-bar span.complete{background:var(--success)}.ta-staff-bar span.behind{background:var(--warning)}.ta-staff-bar span.not-started{background:var(--fg-4)}.ta-staff-status{border-radius:var(--r-pill);align-items:center;gap:6px;width:fit-content;padding:3px 9px 3px 7px;font-size:11.5px;font-weight:600;line-height:1.25;display:inline-flex}.ta-staff-status i{border-radius:var(--r-pill);background:currentColor;width:5px;height:5px}.ta-staff-status.complete{background:var(--success-bg);color:var(--success)}.ta-staff-status.in-progress{background:var(--info-bg);color:var(--info)}.ta-staff-status.behind{background:var(--warning-bg);color:var(--warning)}.ta-staff-status.not-started{background:var(--bg-muted);color:var(--fg-3)}.ta-staff-status.not-started i{background:var(--fg-4)}.ta-staff-started span:last-child{color:var(--fg-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12.5px}.ta-staff-started span.empty{color:var(--fg-4)}.ta-staff-actions{justify-self:end;align-items:center;gap:6px;display:inline-flex}.ta-staff-expand{border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--paper);width:30px;height:28px;color:var(--fg-2);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:none}.ta-staff-mobile-detail{display:none}.ta-staff-action-btn,.ta-staff-more-btn{border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--paper);color:var(--fg-1);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.ta-staff-action-btn{gap:6px;min-height:28px;padding:6px 10px}.ta-staff-more-btn{width:30px;height:28px;padding:0}.ta-staff-action-btn:hover:not(:disabled),.ta-staff-more-btn:hover{background:var(--bg-subtle)}.ta-staff-action-btn:disabled{color:var(--fg-4);cursor:not-allowed}.ta-staff-menu-wrap{position:relative}.ta-staff-menu{z-index:85;width:168px;padding:var(--s-1);border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-md);position:absolute;top:calc(100% + 6px);right:0}.ta-staff-menu button{border-radius:var(--r-md);width:100%;min-height:30px;color:var(--fg-2);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0;padding:7px 9px;font-size:12.5px;font-weight:500}.ta-staff-menu button:hover:not(:disabled){background:var(--bg-subtle);color:var(--fg-1)}.ta-staff-menu button.danger{color:var(--danger)}.ta-staff-menu button:disabled{color:var(--fg-4);cursor:not-allowed}.ta-staff-empty{border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--paper);color:var(--fg-3);text-align:center;padding:40px 20px;font-size:13px}.ta-training-ai-btn{justify-content:center;align-items:center;gap:var(--s-2);border:1px solid var(--p4s-ink);border-radius:var(--r-md);background:var(--p4s-ink);min-height:34px;color:var(--paper);font-family:var(--font-sans);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:8px 12px;font-size:13px;font-weight:600;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffff1f}.ta-training-ai-btn svg{color:var(--p4s-signal)}.ta-training-ai-btn:hover{background:var(--p4s-ink-700);border-color:var(--p4s-ink-700)}.ta-training-ai-btn:disabled{background:var(--bg-subtle);border-color:var(--border-1);color:var(--fg-4);cursor:not-allowed;box-shadow:none}.ta-training-overline{color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:600;line-height:1}.ta-module-grid{gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ta-module-card{gap:var(--s-3);border:1px solid var(--border-1);border-radius:var(--r-xl);background:var(--paper);cursor:pointer;min-width:0;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex-direction:column;padding:18px;display:flex}.ta-module-card:hover,.ta-module-card:focus-visible{border-color:var(--border-2);box-shadow:var(--shadow-sm);outline:0}.ta-module-card-head{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.ta-module-chip-cluster{align-items:center;gap:var(--s-2);min-width:0;display:inline-flex}.ta-module-category{--cat-color:var(--fg-2);--cat-bg:var(--bg-muted);border-radius:var(--r-sm);background:var(--cat-bg);width:fit-content;color:var(--cat-color);align-items:center;gap:6px;padding:3px 9px 3px 7px;font-size:11px;font-weight:600;line-height:1.25;display:inline-flex}.ta-module-category i{border-radius:var(--r-pill);background:var(--cat-color);width:5px;height:5px}.ta-module-category.safety{--cat-color:var(--warning);--cat-bg:var(--warning-bg)}.ta-module-category.service{--cat-color:var(--success);--cat-bg:var(--success-bg)}.ta-module-category.product{--cat-color:var(--info);--cat-bg:var(--info-bg)}.ta-module-category.operations,.ta-module-category.general{--cat-color:var(--fg-2);--cat-bg:var(--bg-muted)}.ta-module-draft{border-radius:var(--r-pill);background:var(--bg-muted);color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;font-size:10.5px;font-weight:600;line-height:1.2}.ta-module-more{border-radius:var(--r-sm);width:26px;height:26px;color:var(--fg-3);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.ta-module-more:hover{background:var(--bg-subtle);color:var(--fg-1)}.ta-module-title-block{gap:7px;min-width:0;display:grid}.ta-module-title-block h3{color:var(--fg-1);font-family:var(--font-display);letter-spacing:-.018em;margin:0;font-size:16px;font-weight:650;line-height:1.25}.ta-module-meta{color:var(--fg-3);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;display:flex}.ta-module-meta i{border-radius:var(--r-pill);background:var(--fg-4);width:3px;height:3px}.ta-module-completion{gap:8px;display:grid}.ta-module-completion-top{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.ta-module-completion-top strong{color:var(--fg-1);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:600}.ta-module-bar{border-radius:var(--r-pill);background:var(--bg-muted);height:6px;overflow:hidden}.ta-module-bar span{border-radius:inherit;background:var(--p4s-signal);height:100%;display:block}.ta-module-bar span.success{background:var(--success)}.ta-module-unassigned{border-radius:var(--r-md);background:var(--bg-subtle);color:var(--fg-3);padding:9px 10px;font-size:12px}.ta-module-actions{margin-top:var(--s-1);align-items:center;gap:6px;display:flex}.ta-module-btn{border:1px solid var(--border-2);border-radius:var(--r-md);background:var(--paper);min-height:30px;color:var(--fg-1);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.ta-module-btn.compact{flex:none}.ta-module-btn:hover{background:var(--bg-subtle)}.ta-skeleton-row,.ta-skeleton-card{cursor:default;min-height:84px}.ta-skeleton-row span,.ta-skeleton-card span{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--bg-muted), var(--bg-subtle), var(--bg-muted));background-size:220% 100%;height:12px;animation:1.4s ease-out infinite ta-shimmer;display:block}.ta-skeleton-row span:first-child,.ta-skeleton-card span:first-child{width:180px}.ta-skeleton-row span:nth-child(2),.ta-skeleton-card span:nth-child(2){width:70%}.ta-skeleton-row span:nth-child(3),.ta-skeleton-card span:nth-child(3){width:45%}@keyframes ta-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (width<=960px){.tenant-admin-sidebar{transition:transform var(--dur-base) var(--ease-out);transform:translate(-100%)}.tenant-admin-page.sidebar-open .tenant-admin-sidebar{transform:translate(0)}.tenant-admin-page.sidebar-open .sa-sidebar-backdrop{display:block}.tenant-admin-page .main-content{margin-left:0}.tenant-admin-topbar{left:0}.ta-team-page-header{flex-direction:column;align-items:flex-start}.ta-team-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ta-status-segments{justify-content:flex-start;width:100%;overflow-x:auto}.ta-staff-row-card{grid-template-columns:minmax(220px,1.3fr) 180px 130px auto}.ta-staff-role,.ta-staff-started{display:none}.ta-staff-expand{display:inline-flex}.ta-staff-mobile-detail{gap:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--border-1);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:none}.ta-staff-mobile-detail.open{display:grid}.ta-staff-mobile-detail div{gap:5px;display:grid}.ta-staff-mobile-detail strong{color:var(--fg-1);font-size:12.5px;font-weight:600}.ta-module-grid{grid-template-columns:1fr}}@media (width<=600px){.ta-team-kpi-grid{grid-template-columns:1fr}}.superadmin-header-actions{align-items:center;gap:var(--s-5);flex-wrap:wrap;display:flex}.tenant-name{color:var(--fg-1);letter-spacing:-.01em;font-weight:700}.tenant-meta-row{align-items:center;gap:var(--s-2);margin-top:var(--s-1);flex-wrap:wrap;display:flex}.tenant-status,.sa-status,.sa-chip{white-space:nowrap;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-sm);align-items:center;padding:2px 7px;font-size:10.5px;font-weight:600;display:inline-flex}.tenant-status-setup,.tenant-status-onboarding,.sa-status-info{background:var(--info-bg);color:var(--info)}.tenant-status-active,.tenant-status-steady-state,.sa-status-success,.sa-chip-success{background:var(--success-bg);color:var(--success)}.tenant-status-suspended,.sa-status-danger,.sa-chip-danger{background:var(--danger-bg);color:var(--danger)}.tenant-status-activation{background:var(--warning-bg);color:var(--warning)}.sa-status-warning,.sa-chip-warning{background:var(--warning-bg);color:var(--fg-2)}.sa-status-muted,.sa-status-neutral{background:var(--bg-subtle);color:var(--fg-3)}.tenant-alert{font-size:var(--t-meta);color:var(--p4s-signal);font-weight:600}.capacity-limit{color:var(--fg-3);font-size:var(--t-small);font-family:var(--font-mono)}.sa-ai-badge{align-items:center;gap:var(--s-1);border-radius:var(--r-sm);background:var(--bg-subtle);color:var(--fg-2);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.sa-review-summary{background:var(--paper);border:1px solid var(--border-1);border-left:3px solid var(--p4s-ink);border-radius:var(--r-lg);padding:var(--s-4);margin-bottom:var(--s-5);box-shadow:var(--shadow-xs)}.sa-summary-header{justify-content:space-between;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.sa-summary-title{font-size:var(--t-body);color:var(--fg-1);font-weight:700}.sa-summary-meta,.sa-empty-note{font-size:var(--t-small);color:var(--fg-3)}.sa-summary-pills{gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.sa-summary-pill{align-items:center;gap:var(--s-1);border-radius:var(--r-pill);font-size:var(--t-small);padding:3px 9px;font-weight:600;display:inline-flex}.sa-summary-pill-success{background:var(--success-bg);color:var(--success)}.sa-summary-pill-warning{background:var(--warning-bg);color:var(--fg-2)}.sa-summary-pill-danger{background:var(--danger-bg);color:var(--danger)}.sa-issue-stack{gap:var(--s-2);display:grid}.sa-issue-group{--issue-bg:var(--bg-subtle);--issue-fg:var(--fg-2);border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--paper);overflow:hidden}.sa-issue-group.issue-info{--issue-bg:var(--info-bg);--issue-fg:var(--info)}.sa-issue-group.issue-warning{--issue-bg:var(--warning-bg);--issue-fg:var(--fg-2)}.sa-issue-group.issue-neutral{--issue-bg:var(--bg-subtle);--issue-fg:var(--fg-2)}.sa-issue-group.issue-danger{--issue-bg:var(--danger-bg);--issue-fg:var(--danger)}.sa-issue-group.issue-success{--issue-bg:var(--success-bg);--issue-fg:var(--success)}.sa-issue-toggle,.sa-issue-row{cursor:pointer;text-align:left;background:0 0;border:0;width:100%;display:flex}.sa-issue-toggle{align-items:center;gap:var(--s-2);padding:7px var(--s-3)}.sa-issue-label{font-size:var(--t-small);color:var(--fg-1);flex:1;font-weight:600}.sa-issue-count{border-radius:var(--r-sm);background:var(--issue-bg);min-width:20px;color:var(--issue-fg);font-family:var(--font-mono);text-align:center;padding:1px 7px;font-size:10px;font-weight:600}.sa-issue-count.is-error{background:var(--danger-bg);color:var(--danger)}.sa-issue-list{border-top:1px solid var(--border-1);max-height:240px;overflow-y:auto}.sa-issue-row{align-items:flex-start;gap:var(--s-2);padding:8px var(--s-3);border-bottom:1px solid var(--border-1)}.sa-issue-row:hover{background:var(--bg-subtle)}.sa-issue-row:last-child{border-bottom:0}.sa-issue-dot{border-radius:var(--r-pill);background:var(--warning);flex-shrink:0;width:7px;height:7px;margin-top:5px}.sa-issue-dot.is-error{background:var(--danger)}.sa-issue-meta{font-family:var(--font-mono);color:var(--fg-3);margin-bottom:2px;font-size:10px}.sa-issue-message{font-size:var(--t-small);color:var(--fg-1);word-break:break-word}.sa-ai-notice,.sa-warning-note,.sa-info-note{align-items:flex-start;gap:var(--s-2);border-radius:var(--r-md);margin-bottom:var(--s-3);font-size:var(--t-small);padding:10px 12px;line-height:1.45;display:flex}.sa-ai-notice{background:var(--bg-subtle);border:1px solid var(--border-2);color:var(--fg-2)}.sa-warning-note{background:var(--warning-bg);border:1px solid var(--warning);color:var(--fg-2)}.sa-warning-note svg{color:var(--warning)}.sa-info-note{background:var(--info-bg);border:1px solid var(--info);color:var(--info);align-items:center}.team-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.team-toolbar-title{color:var(--fg-1);font-size:1rem;font-weight:800}.team-toolbar-subtitle{color:var(--fg-3);margin-top:.15rem;font-size:.86rem}.pending-invites-strip{border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--bg-subtle);color:var(--fg-2);align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.invite-link-box{border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--bg-subtle);color:var(--fg-2);word-break:break-all;padding:.85rem;font-size:.8rem}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.settings-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.settings-card-title{color:var(--fg-1);font-size:1rem;font-weight:700}.settings-card-desc{color:var(--fg-3);margin-bottom:.5rem;font-size:.85rem}.gtm-panel{gap:1rem}.gtm-header,.gtm-source-strip,.gtm-action-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.gtm-header-copy{gap:.25rem;display:grid}.gtm-summary-bar{border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--bg-surface);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.gtm-summary-item{border-right:1px solid var(--border-1);color:var(--fg-2);font-size:var(--t-small);align-items:center;gap:.5rem;padding:.8rem 1rem;display:flex}.gtm-summary-item:last-child{border-right:0}.gtm-summary-item strong{color:var(--fg-1);margin-left:auto;font-size:1rem}.gtm-summary-ready svg{color:var(--success)}.gtm-summary-needs svg{color:var(--danger)}.gtm-summary-active svg{color:var(--info)}.gtm-source-strip{border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--bg-subtle);align-items:flex-end;padding:.85rem}.gtm-source-summary{gap:.2rem;min-width:220px;display:grid}.gtm-source-summary span{font-size:var(--t-meta);color:var(--fg-3);text-transform:uppercase;font-weight:700}.gtm-source-summary strong{color:var(--fg-1);font-size:.9rem}.gtm-source-control{flex:0 320px;min-width:240px}.gtm-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.gtm-tab{border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--bg-surface);color:var(--fg-2);cursor:pointer;align-items:center;gap:.5rem;padding:.6rem .85rem;font-weight:700;display:inline-flex}.gtm-tab:hover{border-color:var(--p4s-signal)}.gtm-tab.active{border-color:var(--p4s-ink);background:var(--p4s-ink);color:var(--fg-inverse)}.gtm-tab strong{text-align:center;border-radius:var(--r-pill);background:#0f141914;min-width:1.5rem;padding:.1rem .35rem}.gtm-tab.active strong{background:#ffffff29}.gtm-workspace{grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);gap:1rem;display:grid}.gtm-lesson-list{align-content:start;gap:.65rem;display:grid}.gtm-lesson-card{border:1px solid var(--border-1);border-radius:var(--r-lg);background:var(--bg-surface);box-shadow:var(--shadow-xs);grid-template-columns:auto 1fr;gap:.7rem;padding:.9rem;display:grid}.gtm-lesson-card.selected{border-color:var(--p4s-signal);box-shadow:var(--shadow-focus)}.gtm-lesson-card.needs-fixing{background:linear-gradient(#ffffffe6,#ffe0e147);border-color:#e5484d8c}.gtm-lesson-select{padding-top:.15rem}.gtm-lesson-body{gap:.65rem;min-width:0;display:grid}.gtm-lesson-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.gtm-lesson-header h4{color:var(--fg-1);font-size:.95rem;line-height:1.25}.gtm-lesson-title-btn{appearance:none;color:inherit;font:inherit;font-weight:800;line-height:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.gtm-lesson-title-btn:hover{color:var(--p4s-signal);text-underline-offset:2px;text-decoration:underline}.gtm-lesson-title-btn:focus-visible{outline:2px solid var(--p4s-signal);outline-offset:3px;border-radius:var(--r-sm)}.gtm-status-pill,.gtm-active-label{border-radius:var(--r-sm);font-size:var(--t-meta);white-space:nowrap;align-items:center;padding:.2rem .55rem;font-weight:800;display:inline-flex}.gtm-status-needs{background:var(--danger-bg);color:var(--danger)}.gtm-status-ready{background:var(--success-bg);color:var(--success)}.gtm-status-active{background:var(--info-bg);color:var(--info)}.gtm-active-label{background:var(--bg-subtle);color:var(--fg-2)}.quality-badge{border-radius:var(--r-sm);width:fit-content;font-size:var(--t-meta);white-space:nowrap;cursor:default;border:1px solid #0000;align-items:center;padding:.12rem .45rem;font-weight:800;line-height:1.2;display:inline-flex}.quality-clean{background:var(--bg-subtle);border-color:var(--border-1);color:var(--fg-3)}.quality-needs_review{background:var(--warning-bg);color:var(--cat-safety-fg);border-color:#f5b70061}.quality-needs_fixing{background:var(--danger-bg);color:var(--danger);border-color:#e5484d59}.quality-details{width:fit-content;display:inline-flex;position:relative}.quality-details summary{list-style:none}.quality-details summary::-webkit-details-marker{display:none}.quality-popover{z-index:5;border:1px solid var(--border-1);border-radius:var(--r-md);background:var(--surface);width:min(280px,78vw);box-shadow:var(--shadow-md);gap:.35rem;padding:.55rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0}.quality-issue{font-size:var(--t-small);color:var(--fg-2);line-height:1.35}.quality-issue-error{color:var(--danger)}.gtm-lesson-meta{color:var(--fg-3);font-size:var(--t-small);flex-wrap:wrap;gap:.4rem;display:flex}.gtm-lesson-meta span{border-radius:var(--r-pill);background:var(--bg-subtle);padding:.15rem .45rem}.gtm-issue-callout{border-radius:var(--r-md);background:var(--danger-bg);color:var(--danger);font-size:var(--t-small);border:1px solid #e5484d47;align-items:center;gap:.4rem;padding:.45rem .55rem;font-weight:700;display:flex}.gtm-card-actions,.gtm-action-bar-buttons{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.gtm-preview-panel{border-left:1px solid var(--border-1);min-height:260px;padding-left:1rem}.gtm-select-all-row{border-bottom:1px solid var(--border-1);background:var(--bg-subtle);border-radius:var(--r-md) var(--r-md) 0 0;align-items:center;padding:.35rem .5rem .35rem .75rem;display:flex}.gtm-select-all-btn{color:var(--p4s-signal);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:600;text-decoration:underline}.gtm-select-all-btn:hover{color:var(--p4s-signal-dark,var(--p4s-signal))}.gtm-empty-tab{color:var(--fg-3);border:1px dashed var(--border-2);border-radius:var(--r-lg);background:var(--bg-subtle);padding:1rem;font-size:.9rem}.gtm-action-bar{z-index:2;border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--bg-surface);box-shadow:var(--shadow-lg);align-items:center;padding:.8rem 1rem;position:sticky;bottom:1rem}.gtm-action-bar-count{color:var(--fg-2);font-size:.9rem}@media (width<=860px){.gtm-summary-bar,.gtm-workspace{grid-template-columns:1fr}.gtm-summary-item{border-right:0;border-bottom:1px solid var(--border-1)}.gtm-summary-item:last-child{border-bottom:0}.gtm-preview-panel{border-left:0;border-top:1px solid var(--border-1);padding-top:1rem;padding-left:0}}.settings-detail-row{border-bottom:1px solid var(--bg-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.settings-detail-row:last-of-type{border-bottom:none}.settings-detail-label{color:var(--fg-3);font-size:.8rem;font-weight:600}.settings-detail-value{color:var(--fg-1);font-size:.875rem;font-weight:500}.cm-sections{flex-direction:column;gap:1rem;display:flex}.cm-section{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);border:2px solid #0000;transition:border-color .2s;overflow:hidden}.cm-section.expanded{border-color:var(--p4s-signal)}.cm-section-header{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.5rem;display:flex}.cm-section-header:hover{background:var(--bg-app)}.cm-section-left{flex:1;align-items:center;gap:.875rem;min-width:0;display:flex}.cm-section-title{color:var(--fg-1);font-size:1rem;font-weight:700}.cm-section-desc{color:var(--fg-3);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.8rem;overflow:hidden}.cm-section-meta{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.cm-badge{background:var(--bg-subtle);color:var(--fg-3);white-space:nowrap;border-radius:4px;padding:.2rem .65rem;font-size:.75rem;font-weight:600}.cm-badge-green{background:var(--success-bg);color:var(--cat-service-fg)}.cm-badge-purple{background:var(--border-1);color:var(--fg-2)}.cm-badge-muted{background:var(--bg-subtle);color:var(--fg-4)}.assign-module-list{flex-direction:column;gap:.5rem;max-height:360px;padding-right:.25rem;display:flex;overflow-y:auto}.assign-module-row{border:1.5px solid var(--border-1);border-radius:var(--r-md);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:border-color .15s,background .15s;display:flex}.assign-module-row:hover{background:var(--bg-subtle);border-color:var(--border-2)}.assign-module-row.checked{background:var(--p4s-signal-50);border-color:var(--p4s-signal)}.assign-module-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--p4s-signal);cursor:pointer;flex-shrink:0}.assign-module-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.assign-module-title{color:var(--fg-1);font-size:.9rem;font-weight:700}.assign-module-desc{color:var(--fg-3);font-size:.78rem}.import-type-row{flex-wrap:wrap;gap:.75rem;margin-top:.25rem;display:flex}.import-type-btn{border:2px solid var(--border-1);background:var(--bg-surface);min-width:180px;color:var(--fg-2);cursor:pointer;text-align:center;border-radius:10px;flex:1;padding:.7rem 1rem;font-size:.875rem;font-weight:600;transition:border-color .15s,background .15s}.import-type-btn:hover{border-color:var(--p4s-signal)}.import-type-btn.active{border-color:var(--p4s-signal);color:var(--p4s-signal);background:#ff5a1f14}.import-file-label{border:2px dashed var(--border-2);border-radius:var(--r-md);color:var(--fg-3);cursor:pointer;align-items:center;gap:.4rem;padding:.45rem 1rem;font-size:.875rem;font-weight:600;transition:border-color .15s,color .15s;display:inline-flex}.import-file-label:hover{border-color:var(--p4s-signal);color:var(--p4s-signal)}.cm-submodules-list{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.cm-submodule{border:1.5px solid var(--border-1);border-radius:var(--r-md);background:var(--bg-app);overflow:hidden}.cm-submodule-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.cm-submodule-header:hover{background:var(--bg-subtle)}.cm-sub-dot{background:var(--p4s-signal);border-radius:50%;flex-shrink:0;width:8px;height:8px}.cm-submodule-left{flex:1;min-width:0}.cm-submodule-left strong{color:var(--fg-1);font-size:.9rem}.cm-submodule-left p{color:var(--fg-3);margin-top:.1rem;font-size:.78rem}.cm-submodule-body{border-top:1px solid var(--border-1);background:var(--bg-surface);padding:.75rem 1rem 1rem}.cm-icon-btn{border:1px solid var(--border-1);cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .5rem;font-size:.85rem;line-height:1;transition:background .12s,border-color .12s}.cm-icon-btn:hover{background:var(--bg-subtle);border-color:var(--border-2)}.cm-icon-btn-danger:hover{background:var(--danger-bg);border-color:var(--danger)}.cm-chevron{color:var(--fg-3);margin-left:.25rem;font-size:.7rem}.cm-section-body{border-top:1px solid var(--bg-subtle);padding:0 1.5rem 1.5rem}.cm-sub-header{justify-content:space-between;align-items:center;padding:1rem 0 .75rem;display:flex}.cm-sub-title{color:var(--fg-1);font-size:.875rem;font-weight:700}.cm-empty-hint{color:var(--fg-3);padding:.5rem 0 .25rem;font-size:.85rem}.cm-lesson-list{flex-direction:column;gap:.5rem;display:flex}.cm-lesson-row{background:var(--bg-subtle);border-radius:var(--r-md);align-items:flex-start;gap:.75rem;padding:.75rem 1rem;display:flex}.cm-lesson-text{flex:1;min-width:0}.cm-lesson-title{color:var(--fg-1);font-size:.875rem;font-weight:700}.cm-lesson-content{color:var(--fg-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.2rem;font-size:.8rem;line-height:1.5;display:-webkit-box;overflow:hidden}.cm-quiz-list{flex-direction:column;gap:.5rem;display:flex}.cm-quiz-row{background:var(--bg-subtle);border-radius:var(--r-md);align-items:flex-start;gap:.75rem;padding:.75rem 1rem;display:flex}.cm-quiz-num{color:var(--p4s-ink);background:var(--cat-product-bg);border-radius:4px;flex-shrink:0;margin-top:.1rem;padding:.2rem .5rem;font-size:.75rem;font-weight:800}.cm-quiz-q{color:var(--fg-1);margin-bottom:.4rem;font-size:.875rem;font-weight:600}.cm-quiz-options{flex-wrap:wrap;gap:.35rem;display:flex}.cm-option{background:var(--bg-subtle);color:var(--fg-3);border-radius:4px;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.cm-option.correct{background:var(--success-bg);color:var(--cat-service-fg);font-weight:700}.form-select{border:2px solid var(--border-1);border-radius:var(--r-md);cursor:pointer;background:#fff;outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.form-select:focus{border-color:var(--p4s-signal)}.navbar-tenant{background:var(--bg-subtle);color:var(--fg-3);vertical-align:middle;border-radius:4px;margin-left:.4rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.join-code-card{background:var(--bg-subtle);border:2px solid var(--border-1);border-radius:var(--r-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.25rem 1.5rem;display:flex}.join-code-label{color:var(--fg-3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.75rem;font-weight:700}.join-code-value{color:var(--fg-1);letter-spacing:1px;font-size:1.5rem;font-weight:900}.join-code-hint{color:var(--fg-3);margin-top:.2rem;font-size:.8rem}.join-code-badge{background:var(--bg-subtle);color:var(--fg-1);letter-spacing:.3px;border:1.5px solid var(--border-1);border-radius:4px;padding:.3rem .75rem;font-family:monospace;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-block}.modal-overlay{z-index:999;background:#00000073;justify-content:center;align-items:flex-start;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{background:var(--bg-surface);border-radius:10px;flex-direction:column;width:100%;max-width:460px;max-height:calc(100dvh - 2rem);margin:auto;animation:.2s modal-in;display:flex;box-shadow:0 24px 60px #0003}.modal-header{flex-shrink:0;padding:2rem 2rem 0}.modal-body{flex:1;padding:1rem 2rem 0;overflow-y:auto}.modal-header+.modal-body{padding-top:0}.modal-lg{max-width:860px}@keyframes modal-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-title{color:var(--fg-1);margin-bottom:.25rem;font-size:1.3rem;font-weight:800}.modal-subtitle{color:var(--fg-3);margin-bottom:1rem;font-size:.875rem}.modal-actions{border-top:1px solid var(--border-subtle,#eee);flex-shrink:0;justify-content:flex-end;gap:.75rem;margin-top:0;padding:1rem 2rem 2rem;display:flex}.import-layout{grid-template-columns:1fr 320px;gap:1.5rem;margin-top:1rem;display:grid}@media (width<=700px){.import-layout{grid-template-columns:1fr}}.json-textarea{border:2px solid var(--border-1);border-radius:var(--r-md);resize:vertical;width:100%;height:280px;color:var(--fg-2);outline:none;padding:.875rem 1rem;font-family:monospace;font-size:.82rem;transition:border-color .2s}.json-textarea:focus{border-color:var(--success)}.checkbox-label{color:var(--fg-3);cursor:pointer;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.85rem;display:flex}.import-guide{background:var(--bg-subtle);border-radius:var(--r-md);border:1px solid var(--border-1);padding:1rem;overflow:auto}.guide-title{text-transform:uppercase;letter-spacing:.5px;color:var(--fg-3);margin-bottom:.5rem;font-size:.75rem;font-weight:700}.guide-code{color:var(--fg-1);white-space:pre;font-family:monospace;font-size:.75rem;line-height:1.5}.guide-note{color:var(--fg-3);border-top:1px solid var(--border-1);margin-top:.75rem;padding-top:.75rem;font-size:.78rem;line-height:1.6}.landing-page{font-family:var(--font-sans);color:var(--fg-1);background:var(--bg-app);-webkit-font-smoothing:antialiased}.landing-container{max-width:1100px;margin:0 auto;padding:0 2rem}.landing-nav{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-1);background:#fafaf7f7;position:sticky;top:0}.landing-nav-inner{justify-content:space-between;align-items:center;max-width:1100px;height:60px;margin:0 auto;padding:0 2rem;display:flex}.landing-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.landing-logo-wordmark{font-family:var(--font-display);letter-spacing:-.025em;color:var(--fg-1);font-size:15px;font-weight:700}.landing-logo-img{object-fit:contain;width:auto;height:36px}.landing-nav-links{align-items:center;gap:24px;display:flex}.landing-nav-link{font-size:var(--t-body);color:var(--fg-2);transition:color var(--dur-fast) var(--ease-out);font-weight:500;text-decoration:none}.landing-nav-link:hover{color:var(--fg-1)}.landing-hero{background:var(--bg-app);justify-content:center;align-items:center;gap:80px;min-height:88vh;padding:96px 2rem 80px;display:flex;overflow:hidden}.landing-hero-inner{flex-shrink:0;max-width:560px}.landing-eyebrow{font-family:var(--font-mono);letter-spacing:.06em;color:var(--p4s-signal);margin-bottom:20px;font-size:11px;font-weight:500}.landing-headline{font-family:var(--font-display);letter-spacing:-.04em;color:var(--fg-1);margin-bottom:20px;font-size:clamp(2.6rem,5vw,4rem);font-weight:800;line-height:1.05}.landing-headline-accent{color:var(--p4s-signal)}.landing-subheadline{font-size:var(--t-body-lg);color:var(--fg-2);max-width:480px;margin-bottom:32px;line-height:1.6}.landing-hero-ctas{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.landing-cta-primary{font-size:var(--t-body);align-items:center;gap:8px;padding:11px 20px;font-weight:600;display:inline-flex}.landing-cta-secondary{font-size:var(--t-body);color:var(--fg-2);border-radius:var(--r-md);transition:color var(--dur-fast) var(--ease-out);align-items:center;gap:6px;padding:11px 16px;font-weight:500;text-decoration:none;display:inline-flex}.landing-cta-secondary:hover{color:var(--fg-1)}.landing-hero-bullets{flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px;padding:0;list-style:none;display:flex}.landing-check-chip{background:var(--cat-service-bg);color:var(--cat-service-fg);font-size:var(--t-small);border-radius:var(--r-sm);align-items:center;gap:6px;padding:5px 10px;font-weight:500;display:inline-flex}.landing-hero-visual{flex-shrink:0;justify-content:center;align-items:center;display:flex}.hero-card-stack{width:320px;height:340px;position:relative}.hero-mock-card{border-radius:var(--r-xl);background:var(--bg-surface);border:1px solid var(--border-1);width:300px;position:absolute}.hero-mock-card-back{background:var(--bg-subtle);height:300px;bottom:0;right:-18px;transform:rotate(4deg)}.hero-mock-card-mid{background:var(--bg-muted);height:300px;bottom:10px;left:-10px;transform:rotate(-3deg)}.hero-mock-card-front{box-shadow:var(--shadow-lg);z-index:3;border-left:3px solid var(--cat-service);padding:1.5rem;bottom:20px;left:0}.hero-mock-header{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.hero-mock-avatar{background:var(--p4s-ink);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.75rem;font-weight:700;display:flex}.hero-mock-name{font-family:var(--font-display);font-size:var(--t-body);color:var(--fg-1);font-weight:650}.hero-mock-role{font-family:var(--font-mono);color:var(--fg-3);font-size:11px}.hero-mock-progress-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);margin-bottom:.75rem;font-size:10px;font-weight:600}.hero-mock-modules{flex-direction:column;gap:.55rem;margin-bottom:1.25rem;display:flex}.hero-mock-module{font-size:var(--t-small);color:var(--fg-1);align-items:center;gap:.6rem;display:flex}.hero-mock-module-name{flex:1}.hero-mock-dot{background:var(--border-2);border-radius:50%;flex-shrink:0;width:7px;height:7px}.hero-mock-dot.done{background:var(--cat-service)}.hero-mock-check{color:var(--cat-service)}.hero-mock-bar-wrap{align-items:center;gap:.75rem;display:flex}.hero-mock-bar{background:var(--bg-muted);border-radius:999px;flex:1;height:4px;overflow:hidden}.hero-mock-bar-fill{background:var(--cat-service);border-radius:999px;height:100%}.hero-mock-pct{font-family:var(--font-mono);font-size:var(--t-small);color:var(--cat-service-fg);font-weight:600}.landing-trust-strip{background:var(--bg-subtle);text-align:center;border-bottom:1px solid var(--border-1);padding:20px 2rem}.landing-trust-strip p{font-size:var(--t-body);color:var(--fg-2);max-width:700px;margin:0 auto;line-height:1.6}.landing-section-label{font-family:var(--font-mono);font-size:var(--t-overline);letter-spacing:.06em;text-transform:uppercase;color:var(--p4s-signal);margin-bottom:12px;font-weight:600}.landing-section-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--fg-1);max-width:600px;margin-bottom:3rem;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;line-height:1.15}.landing-problem{background:var(--bg-subtle);padding:96px 2rem}.landing-pain-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.landing-pain-card{background:var(--bg-surface);border-radius:var(--r-lg);border:1px solid var(--border-1);box-shadow:var(--shadow-xs);padding:2rem}.landing-pain-card h3{font-family:var(--font-display);font-size:var(--t-h3);color:var(--fg-1);margin-bottom:.6rem;font-weight:650}.landing-pain-card p{font-size:var(--t-body);color:var(--fg-2);line-height:1.6}.landing-features{background:var(--bg-surface);padding:96px 2rem}.landing-features-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.landing-feature-card{border:1px solid var(--border-1);border-radius:var(--r-lg);transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);padding:2rem}.landing-feature-card:hover{border-color:var(--p4s-signal);box-shadow:var(--shadow-sm)}.landing-feature-icon{color:var(--p4s-signal);margin-bottom:16px}.landing-feature-card h3{font-family:var(--font-display);font-size:var(--t-h3);color:var(--fg-1);margin-bottom:.5rem;font-weight:650}.landing-feature-card p{font-size:var(--t-body);color:var(--fg-2);line-height:1.6}.landing-how{background:var(--bg-subtle);padding:96px 2rem}.landing-steps{flex-wrap:wrap;gap:0;display:flex}.landing-step{background:var(--bg-surface);border-radius:var(--r-lg);border:1px solid var(--border-1);border-top:3px solid var(--p4s-signal);min-width:240px;box-shadow:var(--shadow-xs);flex-direction:column;flex:1;gap:1rem;padding:2rem;display:flex}.landing-step-arrow{color:var(--fg-4);flex-shrink:0;justify-content:center;align-self:center;align-items:center;padding:0 .5rem;display:flex}.landing-step-num{font-family:var(--font-mono);color:var(--fg-1);opacity:.12;font-size:2rem;font-weight:600;line-height:1}.landing-step h3{font-family:var(--font-display);font-size:var(--t-h3);color:var(--fg-1);font-weight:650}.landing-step p{font-size:var(--t-body);color:var(--fg-2);line-height:1.6}.landing-quote{background:var(--p4s-ink);text-align:center;padding:80px 2rem}.landing-blockquote{font-family:var(--font-display);letter-spacing:-.02em;color:var(--fg-inverse);max-width:700px;margin:0 auto 1.25rem;font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:600;line-height:1.5}.landing-quote-attr{font-family:var(--font-mono);font-size:var(--t-meta);color:var(--p4s-signal);letter-spacing:.06em}.landing-cta-section{background:var(--bg-surface);padding:96px 2rem}.landing-cta-inner{text-align:center}.landing-cta-inner h2{font-family:var(--font-display);letter-spacing:-.03em;color:var(--fg-1);margin-bottom:1rem;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700}.landing-cta-inner>p{font-size:var(--t-body-lg);color:var(--fg-2);max-width:520px;margin:0 auto 2rem;line-height:1.7}.landing-cta-email{font-size:var(--t-small);color:var(--fg-3);margin-top:1.25rem}.landing-cta-email a{color:var(--p4s-signal);font-weight:600;text-decoration:none}.landing-cta-email a:hover{text-decoration:underline}.landing-footer{background:var(--p4s-ink);border-top:1px solid #ffffff14;padding:40px 2rem}.landing-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.landing-footer-brand{align-items:center;gap:10px;display:flex}.landing-footer-logo-img{object-fit:contain;filter:brightness(0)invert();width:auto;height:32px}.landing-footer-wordmark{font-family:var(--font-display);letter-spacing:-.025em;color:var(--fg-inverse);font-size:14px;font-weight:700}.landing-footer-links{gap:24px;display:flex}.landing-footer-links a{font-size:var(--t-small);color:#fafaf766;transition:color var(--dur-fast) var(--ease-out);text-decoration:none}.landing-footer-links a:hover{color:var(--fg-inverse)}.landing-footer-copy{font-family:var(--font-mono);color:#fafaf733;text-align:center;letter-spacing:.04em;width:100%;margin-top:.5rem;font-size:10px}.landing-hero-note{font-size:var(--t-small);color:var(--fg-4);margin-top:.5rem}.landing-bullet-list{flex-direction:column;gap:1rem;padding:0;list-style:none;display:flex}.landing-bullet-list li{font-size:var(--t-body);color:var(--fg-1);align-items:flex-start;gap:.75rem;line-height:1.5;display:flex}.landing-bullet-icon{color:var(--danger);flex-shrink:0;margin-top:.1rem}.landing-bullet-icon-green{color:var(--success)!important}.landing-solution{background:var(--bg-surface);padding:96px 2rem}.landing-solution-inner{flex-wrap:wrap;align-items:center;gap:80px;display:flex}.landing-solution-inner>div:first-child{flex:1;min-width:280px}.landing-solution-body{font-size:var(--t-body-lg);color:var(--fg-2);line-height:1.8}.landing-solution-stat-block{flex-direction:column;flex-shrink:0;gap:1.5rem;display:flex}.landing-solution-stat{background:var(--bg-subtle);border:1px solid var(--border-1);border-radius:var(--r-lg);text-align:center;min-width:160px;padding:1.5rem 2rem}.landing-solution-stat-num{font-family:var(--font-display);font-size:var(--t-stat);letter-spacing:-.025em;color:var(--fg-1);font-variant-numeric:tabular-nums;font-weight:700}.landing-solution-stat-label{font-family:var(--font-mono);font-size:var(--t-meta);color:var(--fg-3);margin-top:.25rem}.landing-scenario{background:var(--bg-subtle);padding:96px 2rem}.landing-scenario-intro{font-size:var(--t-body-lg);color:var(--fg-2);max-width:640px;margin-bottom:2.5rem;line-height:1.7}.landing-scenario-card{background:var(--bg-surface);border-radius:var(--r-xl);border:1px solid var(--border-1);box-shadow:var(--shadow-md);max-width:760px;overflow:hidden}.landing-scenario-header{background:var(--p4s-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1.5rem;display:flex}.landing-scenario-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;background:var(--p4s-signal);color:#fff;border-radius:999px;padding:.25rem .75rem;font-size:10px;font-weight:600}.landing-scenario-module{font-family:var(--font-mono);color:#fafaf766;font-size:11px}.landing-scenario-exchange{flex-direction:column;gap:1.5rem;padding:1.75rem 1.5rem;display:flex}.landing-scenario-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);margin-bottom:.6rem;font-size:10px;font-weight:600}.landing-scenario-bubble{border-radius:var(--r-lg);font-size:var(--t-body);max-width:90%;padding:1rem 1.25rem;line-height:1.5}.landing-scenario-bubble-guest{background:var(--bg-subtle);color:var(--fg-1);border:1px solid var(--border-1)}.landing-scenario-options{flex-direction:column;gap:.6rem;display:flex}.landing-scenario-option{border:1px solid var(--border-1);border-radius:var(--r-md);font-size:var(--t-body);color:var(--fg-1);transition:border-color var(--dur-fast) var(--ease-out);align-items:flex-start;gap:.75rem;padding:.85rem 1rem;line-height:1.4;display:flex}.landing-scenario-option.correct{border-color:var(--success);background:var(--success-bg)}.landing-scenario-option-letter{font-family:var(--font-mono);font-size:var(--t-meta);color:var(--fg-3);flex-shrink:0;width:18px;font-weight:600}.landing-scenario-option.correct .landing-scenario-option-letter{color:var(--success)}.landing-scenario-correct-badge{font-family:var(--font-mono);font-size:var(--t-meta);color:var(--success);white-space:nowrap;flex-shrink:0;margin-left:auto;font-weight:600}.landing-scenario-feedback{background:var(--success-bg);border-left:3px solid var(--success);border-radius:0 var(--r-md) var(--r-md) 0;font-size:var(--t-body);color:var(--cat-service-fg);padding:1rem 1.25rem;line-height:1.6}.landing-manager{background:var(--bg-surface);padding:96px 2rem}.landing-manager-inner{flex-wrap:wrap;align-items:center;gap:80px;display:flex}.landing-manager-text{flex:1;min-width:280px}.landing-manager-visual{flex-shrink:0}.landing-manager-card{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--r-lg);width:320px;box-shadow:var(--shadow-sm);padding:1.5rem}.landing-manager-card-title{font-family:var(--font-mono);font-size:var(--t-overline);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);margin-bottom:1.25rem;font-weight:600}.landing-manager-row{border-bottom:1px solid var(--border-1);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 0;display:flex}.landing-manager-row:last-child{border-bottom:none}.landing-manager-row-info{align-items:center;gap:.65rem;display:flex}.landing-manager-row-avatar{width:30px;height:30px;font-family:var(--font-mono);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.landing-manager-row-name{font-size:var(--t-body);color:var(--fg-1);font-weight:600}.landing-manager-row-role{font-family:var(--font-mono);color:var(--fg-3);font-size:11px}.landing-manager-row-right{align-items:center;gap:.5rem;display:flex}.landing-outcomes{background:var(--bg-subtle);padding:96px 2rem}.landing-outcomes-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.landing-outcome-card{background:var(--bg-surface);border-radius:var(--r-lg);border:1px solid var(--border-1);border-left:3px solid var(--success);box-shadow:var(--shadow-xs);align-items:flex-start;gap:1rem;padding:1.75rem;display:flex}.landing-outcome-check{color:var(--success);flex-shrink:0;margin-top:.1rem}.landing-outcome-card p{font-size:var(--t-body);color:var(--fg-1);line-height:1.6}@media (width<=768px){.landing-hero{min-height:unset;flex-direction:column;gap:3rem;padding:4rem 1.5rem 3rem}.landing-hero-visual{display:none}.landing-steps{flex-direction:column}.landing-step-arrow,.landing-nav-links .landing-nav-link{display:none}.landing-solution-inner{flex-direction:column;gap:2.5rem}.landing-solution-stat-block{flex-flow:wrap;justify-content:center}.landing-manager-inner{flex-direction:column;gap:2.5rem}.landing-manager-card{width:100%}}.training-experience{flex-direction:column;gap:1.5rem;max-width:760px;margin:0 auto;display:flex}.training-module-title h1{color:var(--fg-1);font-size:1.6rem;font-weight:900}.training-module-title p{color:var(--fg-3);margin-top:.25rem;font-size:.95rem;line-height:1.6}.training-body{min-height:480px}.phase-bar{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);align-items:center;gap:0;padding:.75rem 1.25rem;display:flex;overflow-x:auto}.phase-bar-item-wrap{flex:1;align-items:center;min-width:0;display:flex}.phase-bar-item{cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:.2rem;min-width:0;padding:.5rem .75rem;transition:background .15s;display:flex}.phase-bar-item:hover:not(:disabled):not(.active){background:var(--bg-subtle)}.phase-bar-item.active{background:var(--p4s-signal-50)}.phase-bar-item.done{cursor:pointer}.phase-bar-item.locked{opacity:.4;cursor:not-allowed}.phase-bar-icon{font-size:1.25rem;line-height:1}.phase-bar-item.active .phase-bar-icon{filter:none}.phase-bar-item.done .phase-bar-icon{color:var(--success);font-size:1.1rem;font-weight:900}.phase-bar-label{color:var(--fg-1);white-space:nowrap;font-size:.78rem;font-weight:700}.phase-bar-item.active .phase-bar-label{color:var(--p4s-signal)}.phase-bar-hint{color:var(--fg-3);white-space:nowrap;font-size:.65rem}.phase-bar-connector{background:var(--border-1);border-radius:999px;flex:1;min-width:12px;height:2px;transition:background .3s}.phase-bar-connector.done{background:var(--success)}.start-screen{text-align:center;background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.start-icon{font-size:3rem;line-height:1}.start-screen h2{color:var(--fg-1);font-size:1.6rem;font-weight:900}.start-desc{color:var(--fg-3);max-width:480px;font-size:.95rem;line-height:1.6}.start-stats{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin:.5rem 0 1rem;display:flex}.start-stat{background:var(--bg-subtle);border-radius:12px;flex-direction:column;align-items:center;gap:.25rem;min-width:80px;padding:1rem 1.25rem;display:flex}.start-stat span{color:var(--p4s-signal);font-size:1.6rem;font-weight:900}.start-stat small{color:var(--fg-3);text-transform:uppercase;letter-spacing:.5px;font-size:.72rem;font-weight:600}.btn-lg{font-size:var(--t-body-lg);padding:12px 24px}.phase-container{flex-direction:column;gap:1.25rem;display:flex}.phase-top-row{justify-content:space-between;align-items:center;display:flex}.phase-item-counter{color:var(--fg-3);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:700}.phase-dots{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;max-width:280px;display:flex}.phase-dot{background:var(--border-1);border-radius:50%;width:8px;height:8px;transition:background .2s}.phase-dot.active{background:var(--p4s-signal)}.phase-nav{justify-content:space-between;gap:.75rem;margin-top:.25rem;display:flex}.learn-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.learn-card-top{border-bottom:1px solid var(--bg-subtle);padding:1.75rem 1.75rem 1.25rem}.learn-item-name-row{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.learn-item-name{color:var(--fg-1);margin:0;font-size:1.4rem;font-weight:900}.learn-price-badge{background:var(--p4s-signal-50);color:var(--p4s-signal);border:1.5px solid var(--p4s-signal-100);white-space:nowrap;border-radius:4px;padding:.2rem .65rem;font-size:.85rem;font-weight:700}.learn-description{color:var(--fg-3);margin:0;font-size:.95rem;line-height:1.7}.learn-facts{flex-direction:column;gap:1rem;padding:1.25rem 1.75rem;display:flex}.learn-fact-row{align-items:flex-start;gap:1rem;display:flex}.learn-fact-label{color:var(--fg-3);flex-shrink:0;min-width:110px;padding-top:.25rem;font-size:.8rem;font-weight:700}.learn-chips{flex-wrap:wrap;gap:.4rem;display:flex}.learn-chip{background:var(--bg-subtle);color:var(--fg-1);border-radius:4px;padding:.25rem .75rem;font-size:.8rem;font-weight:600}.learn-chip-danger{background:var(--danger-bg);color:var(--danger)}.learn-chip-safe{background:var(--success-bg);color:var(--cat-service-fg)}.learn-chip-flavor{background:var(--cat-compliance-bg);color:var(--cat-compliance-fg)}.learn-chip-method{background:var(--p4s-signal-50);color:var(--p4s-signal)}.drill-type-label{color:var(--p4s-signal);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:700}.drill-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex}.drill-question{color:var(--fg-1);margin:0;font-size:1.15rem;font-weight:700;line-height:1.4}.drill-options{flex-direction:column;gap:.6rem;display:flex}.drill-option{border:2px solid var(--border-1);color:var(--fg-1);text-align:left;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:.9rem;padding:.85rem 1.1rem;font-size:.95rem;font-weight:500;transition:border-color .15s,background .15s;display:flex}.drill-option:hover:not(:disabled){border-color:var(--border-2);background:var(--bg-subtle)}.drill-option.correct{border-color:var(--success);background:var(--success-bg);color:var(--cat-service-fg);font-weight:700}.drill-option.wrong{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.drill-option-letter{background:var(--bg-subtle);width:26px;height:26px;color:var(--fg-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;display:flex}.drill-option.correct .drill-option-letter{background:var(--success);color:#fff}.drill-option.wrong .drill-option-letter{background:var(--danger);color:#fff}.drill-hint{background:var(--p4s-signal-50);border-left:3px solid var(--p4s-signal);color:var(--fg-2);border-radius:0 8px 8px 0;padding:.75rem 1rem;font-size:.88rem}.practice-result{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem;display:flex}.practice-result-icon{font-size:3rem;line-height:1}.practice-result h3{color:var(--fg-1);font-size:1.4rem;font-weight:900}.practice-result p{color:var(--fg-3);font-size:.95rem}.practice-score-bar{background:var(--border-1);border-radius:999px;width:100%;max-width:260px;height:10px;margin:.25rem 0 .75rem;overflow:hidden}.practice-score-fill{background:var(--p4s-signal);border-radius:999px;height:100%;transition:width .6s}.practice-empty{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem;display:flex}.practice-empty p{color:var(--fg-3);font-size:.95rem}.program-entry-card{gap:1.5rem;display:grid}.program-entry-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.program-entry-title{color:var(--fg-1);margin:0 0 .45rem;font-size:1.5rem;font-weight:900}.program-entry-desc{max-width:680px;color:var(--fg-3);margin:0;font-size:.95rem;line-height:1.6}.program-entry-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.program-practice-card{max-width:760px}.program-practice-footer{flex-wrap:wrap;justify-content:space-between;gap:.75rem;display:flex}.program-short-answer{gap:.75rem;display:grid}.program-short-answer textarea{border:1px solid var(--border-1);width:100%;min-height:100px;font:inherit;color:var(--fg-1);resize:vertical;border-radius:8px;padding:.85rem}.scenario-phase-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.scenario-phase-title{color:var(--fg-1);margin:0 0 .25rem;font-size:1.1rem;font-weight:800}.scenario-phase-desc{color:var(--fg-3);margin:0;font-size:.88rem;line-height:1.5}.scenario-count{background:var(--bg-subtle);color:var(--fg-3);white-space:nowrap;border-radius:4px;padding:.25rem .65rem;font-size:.75rem;font-weight:700}.scenario-idle{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem;display:flex}.scenario-idle-icon{font-size:2.5rem}.scenario-idle p{color:var(--fg-3);max-width:380px;font-size:.95rem;line-height:1.6}.scenario-idle-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.25rem;display:flex}.quiz-phase-header{flex-direction:column;gap:.5rem;display:flex}.quiz-phase-counter{color:var(--fg-3);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:700}.quiz-phase-bar{background:var(--border-1);border-radius:999px;height:6px;overflow:hidden}.quiz-phase-fill{background:var(--p4s-signal);border-radius:999px;height:100%;transition:width .4s}.quiz-phase-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex}.quiz-phase-question{color:var(--fg-1);margin:0;font-size:1.1rem;font-weight:700;line-height:1.5}.quiz-phase-options{flex-direction:column;gap:.6rem;display:flex}.quiz-phase-option{border:2px solid var(--border-1);color:var(--fg-1);text-align:left;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:.9rem;padding:.85rem 1.1rem;font-size:.95rem;font-weight:500;transition:border-color .15s,background .15s;display:flex;position:relative}.quiz-phase-option:hover:not(:disabled){border-color:var(--border-2);background:var(--bg-subtle)}.quiz-phase-option.selected{border-color:var(--p4s-signal);background:var(--p4s-signal-50)}.quiz-phase-option.correct{border-color:var(--success);background:var(--success-bg);color:var(--cat-service-fg);font-weight:700}.quiz-phase-option.wrong{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.quiz-option-letter{background:var(--bg-subtle);width:26px;height:26px;color:var(--fg-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;display:flex}.quiz-phase-option.selected .quiz-option-letter{background:var(--p4s-signal);color:#fff}.quiz-phase-option.correct .quiz-option-letter{background:var(--success);color:#fff}.quiz-phase-option.wrong .quiz-option-letter{background:var(--danger);color:#fff}.quiz-option-tick{color:var(--success);flex-shrink:0;margin-left:auto;font-size:.85rem;font-weight:900}.quiz-phase-hint{background:var(--p4s-signal-50);border-left:3px solid var(--p4s-signal);color:var(--fg-2);border-radius:0 8px 8px 0;padding:.75rem 1rem;font-size:.88rem}.quiz-phase-correct-msg{color:var(--success);padding:.5rem 0;font-size:.9rem;font-weight:700}.quiz-result-screen{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem;display:flex}.quiz-result-badge{background:var(--bg-subtle);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:3rem;line-height:1;display:flex}.quiz-result-badge.pass{background:var(--success-bg)}.quiz-result-badge.fail{background:var(--p4s-signal-50)}.quiz-result-screen h2{color:var(--fg-1);font-size:1.6rem;font-weight:900}.quiz-result-pct{color:var(--p4s-signal);margin:0;font-size:2.5rem;font-weight:900}.quiz-result-sub{color:var(--fg-3);font-size:.9rem}.quiz-breakdown{text-align:left;background:var(--bg-subtle);border-radius:12px;flex-direction:column;gap:1rem;width:100%;max-width:520px;margin-top:.5rem;padding:1.25rem;display:flex}.quiz-breakdown-title{text-transform:uppercase;letter-spacing:.5px;color:var(--fg-3);margin-bottom:.25rem;font-size:.75rem;font-weight:700}.quiz-breakdown-item{border-bottom:1px solid var(--border-1);flex-direction:column;gap:.4rem;padding-bottom:1rem;display:flex}.quiz-breakdown-item:last-child{border-bottom:none;padding-bottom:0}.quiz-breakdown-q{color:var(--fg-1);font-size:.9rem;font-weight:700;line-height:1.4}.quiz-breakdown-answers{flex-direction:column;gap:.25rem;display:flex}.quiz-breakdown-wrong{color:var(--danger);font-size:.82rem}.quiz-breakdown-correct{color:var(--cat-service-fg);font-size:.82rem;font-weight:700}.quiz-result-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem;display:flex}.ap-wrapper{flex-direction:column;gap:1rem;display:flex}.ap-header{flex-direction:column;gap:.4rem;display:flex}.ap-mastery-label{color:var(--fg-3);align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;display:flex}.ap-mastery-count{color:var(--fg-1);font-size:1rem;font-weight:900}.ap-wave-badge{background:var(--bg-subtle);color:var(--fg-3);border-radius:4px;margin-left:.25rem;padding:.15rem .5rem;font-size:.68rem;font-weight:700}.ap-mastery-bar{background:var(--border-1);border-radius:999px;height:8px;overflow:hidden}.ap-mastery-fill{background:var(--p4s-signal);border-radius:999px;height:100%;transition:width .5s}.ap-tracker{flex-wrap:wrap;gap:.4rem;display:flex}.ap-tracker-item{border:1.5px solid var(--border-1);background:var(--bg-subtle);border-radius:10px;flex-direction:column;align-items:center;gap:.25rem;min-width:0;padding:.45rem .65rem;transition:border-color .2s,background .2s;display:flex}.ap-tracker-item.conf-0{background:var(--bg-subtle);border-color:var(--border-1)}.ap-tracker-item.conf-1{background:var(--p4s-signal-50);border-color:var(--p4s-signal-100)}.ap-tracker-item.conf-2{background:var(--warning-bg);border-color:var(--warning-bg)}.ap-tracker-item.conf-3{background:var(--success-bg);border-color:var(--success)}.ap-tracker-item.ap-tracker-active{border-color:var(--p4s-signal);box-shadow:0 0 0 2px #ff6b352e}.ap-tracker-name{color:var(--fg-1);white-space:nowrap;text-overflow:ellipsis;max-width:90px;font-size:.68rem;font-weight:700;overflow:hidden}.ap-tracker-dots{gap:3px;display:flex}.ap-conf-dot{background:var(--border-1);border-radius:50%;width:6px;height:6px;transition:background .2s}.ap-conf-dot.filled{background:var(--p4s-signal)}.ap-tracker-item.conf-3 .ap-conf-dot.filled{background:var(--success)}.ap-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);border:2px solid #0000;flex-direction:column;gap:1.25rem;padding:1.75rem;transition:border-color .25s,background .25s;display:flex}.ap-card.ap-flash-correct{border-color:var(--success);background:var(--success-bg)}.ap-card.ap-flash-wrong{border-color:var(--danger);background:var(--danger-bg)}.ap-card-top{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ap-type-badge{text-transform:uppercase;letter-spacing:.5px;color:var(--p4s-signal);background:var(--p4s-signal-50);border:1px solid var(--p4s-signal-100);border-radius:4px;padding:.2rem .6rem;font-size:.72rem;font-weight:700}.ap-diff-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:.2rem .55rem;font-size:.68rem;font-weight:700}.ap-diff-badge.diff-1{background:var(--warning-bg);color:var(--cat-safety-fg);border:1px solid var(--warning-bg)}.ap-diff-badge.diff-2{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger)}.ap-question{color:var(--fg-1);margin:0;font-size:1.1rem;font-weight:700;line-height:1.5}.ap-mc-options{flex-direction:column;gap:.55rem;display:flex}.ap-mc-opt{border:2px solid var(--border-1);color:var(--fg-1);text-align:left;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:.85rem;padding:.8rem 1rem;font-size:.92rem;font-weight:500;transition:border-color .15s,background .15s;display:flex}.ap-mc-opt:hover:not(:disabled){border-color:var(--border-2);background:var(--bg-subtle)}.ap-mc-opt.selected{border-color:var(--p4s-signal);background:var(--p4s-signal-50)}.ap-mc-opt.correct{border-color:var(--success);background:var(--success-bg);color:var(--cat-service-fg);font-weight:700}.ap-mc-opt.wrong{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.ap-opt-letter{background:var(--bg-subtle);width:26px;height:26px;color:var(--fg-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;transition:background .15s;display:flex}.ap-mc-opt.selected .ap-opt-letter{background:var(--p4s-signal);color:#fff}.ap-mc-opt.correct .ap-opt-letter{background:var(--success);color:#fff}.ap-mc-opt.wrong .ap-opt-letter{background:var(--danger);color:#fff}.ap-opt-text{flex:1}.ap-opt-check{color:var(--success);flex-shrink:0;margin-left:auto;font-size:.85rem;font-weight:900}.ap-short-wrap{align-items:center;gap:.75rem;display:flex}.ap-short-input{border:2px solid var(--border-1);color:var(--fg-2);border-radius:10px;outline:none;flex:1;padding:.8rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}.ap-short-input:focus{border-color:var(--p4s-signal)}.ap-short-input.correct{border-color:var(--success);background:var(--success-bg)}.ap-short-input.wrong{border-color:var(--danger);background:var(--danger-bg)}.ap-feedback{border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.ap-feedback.correct{background:var(--success-bg)}.ap-feedback.wrong{background:var(--danger-bg)}.ap-feedback-verdict{white-space:nowrap;font-size:.9rem;font-weight:800}.ap-feedback.correct .ap-feedback-verdict{color:var(--cat-service-fg)}.ap-feedback.wrong .ap-feedback-verdict{color:var(--danger)}.ap-feedback-exp{color:var(--fg-2);flex:1;min-width:160px;font-size:.85rem;line-height:1.5}.ap-milestone{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem;display:flex}.ap-milestone-icon{font-size:3rem;line-height:1}.ap-milestone h3{color:var(--fg-1);font-size:1.4rem;font-weight:900}.ap-milestone p{color:var(--fg-3);font-size:.95rem}.ap-milestone-sub{color:var(--fg-3);font-size:.82rem}@media (width<=500px){.ap-card{padding:1.25rem}.ap-tracker-name{max-width:68px;font-size:.62rem}.ap-short-wrap{flex-direction:column;align-items:stretch}}.training-progress-bar-wrap{align-items:center;gap:.75rem;display:flex}.training-progress-bar{background:var(--border-1);border-radius:999px;flex:1;height:6px;overflow:hidden}.training-progress-fill{background:var(--p4s-signal);border-radius:999px;height:100%;transition:width .5s}.training-progress-label{color:var(--fg-3);white-space:nowrap;font-size:.72rem;font-weight:700}.apply-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.apply-question-block{border-bottom:1px solid var(--bg-subtle);flex-direction:column;gap:.75rem;padding:1.75rem 1.75rem 1.25rem;display:flex}.apply-question-label{text-transform:uppercase;letter-spacing:.8px;color:var(--fg-3);font-size:.7rem;font-weight:700}.apply-question{color:var(--fg-1);margin:0;font-size:1.1rem;font-weight:700;line-height:1.5}.apply-hint-chip{background:var(--p4s-signal-50);color:var(--p4s-signal-700);border:1px solid var(--p4s-signal-100);border-radius:4px;align-self:flex-start;padding:.3rem .75rem;font-size:.78rem;font-weight:600;display:inline-flex}.apply-answer-block{flex-direction:column;gap:.75rem;padding:1.5rem 1.75rem;display:flex}.apply-answer-label{text-transform:uppercase;letter-spacing:.5px;color:var(--fg-3);font-size:.72rem;font-weight:700}.apply-textarea{border:2px solid var(--border-1);resize:vertical;width:100%;color:var(--fg-2);box-sizing:border-box;border-radius:10px;outline:none;padding:.875rem 1rem;font-family:inherit;font-size:.95rem;line-height:1.6;transition:border-color .2s}.apply-textarea:focus{border-color:var(--p4s-signal)}.apply-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.apply-char-hint{color:var(--fg-3);font-size:.78rem}.apply-reveal-block{flex-direction:column;gap:1.25rem;padding:1.25rem 1.75rem 1.75rem;display:flex}.apply-your-answer{flex-direction:column;gap:.4rem;display:flex}.apply-answer-text{color:var(--fg-2);background:var(--bg-subtle);border-left:3px solid var(--border-2);border-radius:8px;padding:.85rem 1rem;font-size:.92rem;line-height:1.6}.apply-model-answer{flex-direction:column;gap:.4rem;display:flex}.apply-model-label{text-transform:uppercase;letter-spacing:.5px;color:var(--cat-service-fg);font-size:.72rem;font-weight:700}.apply-model-text{color:var(--fg-1);background:var(--success-bg);border-left:3px solid var(--success);border-radius:8px;padding:.85rem 1rem;font-size:.92rem;font-weight:500;line-height:1.6}.apply-self-rate{flex-direction:column;gap:.65rem;padding-top:.25rem;display:flex}.apply-self-rate-label{color:var(--fg-1);margin:0;font-size:.85rem;font-weight:700}.apply-self-rate-btns{gap:.75rem;display:flex}.apply-self-btn{cursor:pointer;border:2px solid #0000;border-radius:10px;flex:1;padding:.8rem 1rem;font-size:.9rem;font-weight:700;transition:background .15s,border-color .15s,transform .1s}.apply-self-btn:hover{transform:translateY(-1px)}.apply-self-btn-no{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.apply-self-btn-no:hover{background:var(--danger-bg);border-color:var(--danger)}.apply-self-btn-yes{background:var(--success-bg);color:var(--cat-service-fg);border-color:var(--success)}.apply-self-btn-yes:hover{background:var(--success-bg);border-color:var(--success)}.apply-result{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem;display:flex}.apply-result-icon{font-size:3rem;line-height:1}.apply-result h3{color:var(--fg-1);font-size:1.4rem;font-weight:900}.apply-result p{color:var(--fg-3);font-size:.95rem}.apply-result-hint{color:var(--fg-3);max-width:360px;margin-bottom:.25rem;font-size:.85rem;line-height:1.6}@media (width<=600px){.phase-bar{gap:0;padding:.5rem}.phase-bar-hint{display:none}.phase-bar-item{padding:.4rem .5rem}.learn-card-top,.learn-facts{padding-left:1.25rem;padding-right:1.25rem}.drill-card,.quiz-phase-card,.start-screen,.practice-result,.quiz-result-screen{padding:1.25rem}.learn-fact-label{min-width:80px;font-size:.72rem}.training-experience{gap:1rem}}.ob-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f0a1ed1;justify-content:center;align-items:center;padding:1rem;animation:.35s ob-fade-in;display:flex;position:fixed;inset:0}@keyframes ob-fade-in{0%{opacity:0}to{opacity:1}}.ob-overlay-exit{animation:.4s forwards ob-fade-out}@keyframes ob-fade-out{0%{opacity:1}to{opacity:0}}.ob-card{background:var(--bg-surface);border-radius:12px;flex-direction:column;width:100%;max-width:580px;animation:.4s cubic-bezier(.34,1.56,.64,1) ob-slide-up;display:flex;overflow:hidden;box-shadow:0 32px 80px #0006}@keyframes ob-slide-up{0%{opacity:0;transform:translateY(32px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ob-header{justify-content:space-between;align-items:center;padding:1.25rem 1.75rem 0;display:flex}.ob-logo{color:var(--fg-1);align-items:center;gap:.4rem;font-size:.9rem;font-weight:800;display:flex}.ob-logo-icon{font-size:1.1rem}.ob-header-right{align-items:center;gap:.6rem;display:flex}.ob-step-indicator{color:var(--fg-3);background:var(--bg-subtle);border-radius:4px;padding:.25rem .65rem;font-size:.72rem;font-weight:700}.ob-close-btn{background:var(--bg-subtle);width:30px;height:30px;color:var(--fg-3);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;transition:background .15s,color .15s;display:flex}.ob-close-btn:hover{background:var(--border-1);color:var(--fg-1)}.ob-dots{align-items:center;gap:.5rem;padding:1rem 1.75rem 0;display:flex}.ob-dot{background:var(--border-1);border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.ob-dot.active{background:var(--p4s-signal);transform:scale(1.3)}.ob-dot.done{background:var(--success)}.ob-body-section{flex:1;max-height:62vh;padding:1.5rem 1.75rem;overflow-y:auto}.ob-step-icon-lg{margin-bottom:.75rem;font-size:2.5rem;line-height:1}.ob-title{color:var(--fg-1);margin-bottom:1.25rem;font-size:1.5rem;font-weight:900;line-height:1.2}.ob-body{color:var(--fg-3);margin:0 0 1.25rem;font-size:.95rem;line-height:1.7}.ob-feature-list{flex-direction:column;gap:1rem;display:flex}.ob-feature-item{background:var(--bg-subtle);border:1px solid var(--bg-subtle);border-radius:12px;align-items:flex-start;gap:1rem;padding:.875rem 1rem;display:flex}.ob-feature-icon{flex-shrink:0;margin-top:.15rem;font-size:1.5rem;line-height:1}.ob-feature-item strong{color:var(--fg-1);margin-bottom:.25rem;font-size:.9rem;font-weight:700;display:block}.ob-feature-item p{color:var(--fg-3);margin:0;font-size:.83rem;line-height:1.5}.ob-steps{gap:0;padding-bottom:.5rem;display:flex;position:relative;overflow-x:auto}.ob-step{text-align:center;background:var(--bg-subtle);border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:.35rem;min-width:90px;padding:.875rem .5rem;display:flex;position:relative}.ob-step-num{color:var(--fg-3);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.62rem;font-weight:800;display:flex;position:absolute;top:6px;left:8px;box-shadow:0 1px 3px #0000001a}.ob-step-icon{margin-top:.5rem;font-size:1.6rem;line-height:1}.ob-step-label{color:var(--fg-1);font-size:.8rem;font-weight:800}.ob-step-desc{color:var(--fg-3);padding:0 .25rem;font-size:.68rem;line-height:1.4}.ob-step-arrow{color:var(--p4s-signal);flex-shrink:0;justify-content:center;align-self:center;align-items:center;padding:0 .25rem;font-size:1rem;font-weight:700;display:flex}.ob-benefits{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.ob-benefit-card{background:var(--bg-subtle);border:1px solid var(--bg-subtle);border-radius:12px;flex-direction:column;gap:.3rem;padding:1rem;display:flex}.ob-benefit-icon{font-size:1.4rem}.ob-benefit-title{color:var(--fg-1);font-size:.85rem;font-weight:800}.ob-benefit-body{color:var(--fg-3);font-size:.78rem;line-height:1.5}.ob-content-center{text-align:center;flex-direction:column;align-items:center;display:flex}.ob-ready-visual{margin-bottom:1.25rem}.ob-ready-ring{background:var(--p4s-signal-50);border:3px solid var(--p4s-signal);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto;font-size:2rem;display:flex}.ob-ready-tips{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1rem;display:flex}.ob-ready-tip{background:var(--bg-subtle);border:1px solid var(--border-1);color:var(--fg-2);border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.82rem;font-weight:600;display:flex}.ob-footer{border-top:1px solid var(--bg-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.75rem;display:flex}.ob-footer-right{align-items:center;gap:.75rem;display:flex}.ob-skip-btn{color:var(--fg-3);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:.25rem;font-family:inherit;font-size:.78rem;text-decoration:underline;transition:color .15s}.ob-skip-btn:hover{color:var(--fg-2)}.ob-back-btn,.ob-next-btn{border-radius:10px;min-width:110px;height:44px;padding:0 1.25rem;font-size:.9rem;font-weight:700}.ob-back-btn:disabled{opacity:0;pointer-events:none}.ob-finish-btn{background:var(--p4s-signal);border-radius:10px;min-width:160px;height:48px;font-size:.95rem;box-shadow:0 4px 14px #ff6b3559}.ob-card-v2{max-width:450px;min-height:360px;padding:0}.ob-top{align-items:center;gap:.75rem;padding:1.25rem 1.5rem 0;display:flex}.ob-bars{flex:1;gap:5px;display:flex}.ob-bar{background:var(--border-2);border-radius:2px;flex:1;height:3px;transition:background .25s}.ob-bar.done{background:var(--p4s-ink)}.ob-bar.active{background:var(--p4s-signal)}.ob-skip-link{color:var(--fg-3);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-family:inherit;font-size:.82rem;font-weight:600;transition:color .15s}.ob-skip-link:hover{color:var(--fg-1)}.ob-slide{flex:1;padding:1.75rem 1.75rem 1.25rem}.ob-slide-label{letter-spacing:.09em;color:var(--p4s-signal);text-transform:uppercase;margin-bottom:.55rem;font-size:.7rem;font-weight:700}.ob-slide-title{color:var(--fg-1);margin-bottom:.85rem;font-size:1.45rem;font-weight:800;line-height:1.2}.ob-slide-body{color:var(--fg-2);margin-bottom:1.1rem;font-size:.9rem;line-height:1.6}.ob-badge{color:var(--fg-2);background:var(--bg-subtle);border:1px solid var(--border-1);border-radius:6px;padding:.28rem .65rem;font-size:.78rem;font-weight:500;line-height:1.5;display:inline-block}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dashboard-tour-btn{color:var(--fg-3);border-color:var(--border-1);white-space:nowrap;flex-shrink:0;margin-top:.25rem;font-size:.78rem}.dashboard-tour-btn:hover{color:var(--p4s-signal);border-color:var(--p4s-signal)}@media (width<=500px){.ob-card{border-radius:16px}.ob-body-section{max-height:55vh;padding:1.25rem}.ob-header,.ob-dots,.ob-footer{padding-left:1.25rem;padding-right:1.25rem}.ob-title{font-size:1.25rem}.ob-benefits{grid-template-columns:1fr}.ob-steps{gap:.25rem}.ob-step{min-width:72px}.ob-step-desc{display:none}}.acv-root{padding:0}.acv-breadcrumb{color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:.375rem;margin-bottom:1.25rem;font-size:.8125rem;display:flex}.acv-breadcrumb-item{cursor:pointer;color:var(--p4s-signal);font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit;transition:opacity .15s}.acv-breadcrumb-item:hover{opacity:.75}.acv-breadcrumb-sep{color:var(--fg-3)}.acv-breadcrumb-current{color:var(--fg-2);font-weight:500}.acv-breadcrumb-btn{appearance:none;color:var(--p4s-signal);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.acv-breadcrumb-btn.active,.acv-breadcrumb-btn:disabled{color:var(--fg-2);cursor:default;font-weight:600}.acv-breadcrumb-btn:not(:disabled):hover{opacity:.75}.acv-program-section{margin-bottom:1.5rem}.acv-program-header{margin-bottom:.9rem}.acv-program-grid{margin-bottom:1.25rem}.acv-program-card{cursor:default;min-height:186px}.acv-program-card:hover{border-color:#0000001c;transform:none;box-shadow:0 2px 8px #00000012}.acv-module-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.acv-module-card{background:var(--bg-surface);cursor:pointer;text-align:left;border:1.5px solid #0000001c;border-radius:14px;padding:1.125rem 1.25rem 1rem;transition:border-color .2s,transform .15s,box-shadow .15s;box-shadow:0 2px 8px #00000012}.acv-module-card:hover{border-color:var(--p4s-signal);transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3524}.acv-module-icon{margin-bottom:.625rem;font-size:1.75rem;display:block}.acv-module-title{margin-bottom:.375rem;font-size:.9375rem;font-weight:600}.acv-module-desc{color:var(--fg-3);margin-bottom:.75rem;font-size:.8125rem;line-height:1.5}.acv-module-footer{color:var(--fg-3);border-top:1px solid var(--border-1);justify-content:space-between;align-items:center;padding-top:.75rem;font-size:.75rem;display:flex}.acv-sub-list{flex-direction:column;gap:.5rem;display:flex}.acv-sub-row{background:var(--bg-surface);border:1px solid var(--border-1);cursor:pointer;text-align:left;width:100%;color:var(--fg-2);border-radius:10px;align-items:center;gap:1rem;padding:.875rem 1.125rem;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.acv-sub-row:hover{border-color:var(--p4s-signal);background:#ff5a1f0a}.acv-sub-num{width:28px;height:28px;color:var(--p4s-signal);background:#ff6b351f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.acv-sub-info{flex:1;min-width:0}.acv-sub-title{font-size:.9rem;font-weight:600}.acv-sub-desc{color:var(--fg-3);white-space:nowrap;text-overflow:ellipsis;margin-top:.125rem;font-size:.78rem;overflow:hidden}.acv-sub-meta{color:var(--fg-3);white-space:nowrap;font-size:.75rem}.acv-sub-arrow{color:var(--fg-3);font-size:1rem}.acv-items-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;display:flex}.acv-items-title{font-size:1.0625rem;font-weight:700}.acv-items-meta{color:var(--fg-3);margin-top:.25rem;font-size:.8rem}.acv-table-wrap{overflow-x:auto}.acv-table{border-collapse:collapse;width:100%;font-size:.8375rem}.acv-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);border-bottom:1px solid var(--border-1);white-space:nowrap;padding:.5rem .75rem;font-size:.75rem;font-weight:600}.acv-table td{border-bottom:1px solid var(--border-1);vertical-align:middle;padding:.6rem .75rem}.acv-table tr:last-child td{border-bottom:none}.acv-table tr:hover td{background:#ffffff06}.acv-row-draft td{opacity:.6}.acv-td-num{color:var(--fg-3);font-size:.75rem}.acv-td-muted{color:var(--fg-3)}.acv-price-badge{color:var(--success);background:#00b07c1f;border-radius:6px;padding:.125rem .5rem;font-size:.775rem;font-weight:600;display:inline-block}.acv-item-name{font-weight:600}.acv-item-desc{color:var(--fg-3);white-space:nowrap;text-overflow:ellipsis;max-width:280px;margin-top:.2rem;font-size:.775rem;overflow:hidden}.acv-chips{flex-wrap:wrap;gap:.3rem;display:flex}.acv-chip{background:var(--surface-2,#ffffff12);border-radius:4px;padding:.125rem .5rem;font-size:.7rem;font-weight:500;display:inline-block}.acv-chip-warn{color:var(--p4s-signal);background:#ff5a1f26}.acv-chip-safe{color:var(--success);background:#00b07c1f}.acv-chip-tag{background:var(--cat-product-bg);color:var(--cat-product-fg)}.acv-chip-muted{background:var(--bg-subtle);color:var(--fg-3)}.acv-status{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-family:inherit;font-size:.72rem;font-weight:600;transition:opacity .15s;display:inline-flex}.acv-status:hover{opacity:.75}.acv-status.published{color:var(--success);background:#00b07c1a;border-color:#00b07c40}.acv-status.draft{background:var(--bg-subtle);color:var(--fg-3);border-color:var(--border-1)}.acv-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.acv-empty{color:var(--fg-3);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1rem;font-size:.9rem;display:flex}.acv-edit-modal{max-width:640px}.acv-modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:.25rem;display:flex}.acv-modal-status{margin-bottom:1.25rem}.acv-form-grid{grid-template-columns:1fr 1fr;gap:.875rem 1rem;margin-bottom:1.25rem;display:grid}.acv-form-field{flex-direction:column;gap:.3rem;display:flex}.acv-span-2{grid-column:1/-1}.acv-form-label{color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.acv-form-hint{color:var(--fg-3);margin-top:.15rem;font-size:.72rem}.form-input{background:var(--paper);border:1.5px solid var(--border-2);width:100%;color:var(--fg-1);resize:vertical;box-sizing:border-box;border-radius:8px;padding:.55rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.form-input:focus{border-color:var(--p4s-signal);outline:none}.form-input::placeholder{color:var(--fg-4)}.crm-select{background:var(--paper);border:1.5px solid var(--border-2);width:100%;color:var(--fg-1);cursor:pointer;box-sizing:border-box;border-radius:8px;padding:.55rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.crm-select:focus{border-color:var(--p4s-signal);outline:none}@media (width<=600px){.acv-module-grid,.acv-form-grid{grid-template-columns:1fr}.acv-span-2{grid-column:1}.acv-table th:nth-child(n+4),.acv-table td:nth-child(n+4){display:none}}.acv-module-card-top{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.acv-module-arrow{color:var(--fg-3);font-size:.9rem}.acv-sub-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.req-badge{background:var(--p4s-signal);min-width:18px;height:18px;color:var(--paper);vertical-align:middle;border-radius:9px;justify-content:center;align-items:center;margin-left:.4rem;padding:0 5px;font-size:.68rem;font-weight:700;display:inline-flex}.req-list{flex-direction:column;gap:.625rem;display:flex}.req-card{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:10px;transition:border-color .15s;overflow:hidden}.req-card:hover{border-color:#fff3}.req-card-done{opacity:.6}.req-card-header{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.125rem;display:flex}.req-card-left{flex-wrap:wrap;flex:1;align-items:center;gap:.625rem;min-width:0;display:flex}.req-card-right{flex-shrink:0;align-items:center;gap:.625rem;display:flex}.req-restaurant{white-space:nowrap;font-size:.875rem;font-weight:700}.req-type-label{color:var(--fg-3);white-space:nowrap;background:#ffffff14;border-radius:4px;padding:.15rem .45rem;font-size:.72rem}.req-subject{color:var(--fg-2);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.req-date{color:var(--fg-3);white-space:nowrap;font-size:.775rem}.req-chevron{color:var(--fg-3);font-size:.65rem}.req-status{border-radius:20px;padding:.175rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.req-status-pending{color:var(--warning);background:#f5b7002e}.req-status-progress{background:var(--info-bg);color:var(--info)}.req-status-done{color:var(--success);background:#00b07c1f}.req-card-body{border-top:1px solid var(--border-1);padding:1rem 1.125rem}.req-message{color:var(--fg-2);white-space:pre-wrap;margin-bottom:1rem;font-size:.875rem;line-height:1.65}.req-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}@media (width<=600px){.req-card-header{flex-direction:column;align-items:flex-start}.req-card-right{flex-wrap:wrap}}.job-role-pill{background:color-mix(in srgb, var(--role-color) 15%, transparent);color:var(--role-color);border:1px solid color-mix(in srgb, var(--role-color) 30%, transparent);white-space:nowrap;border-radius:20px;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-block}.sr-preview{border:1px solid var(--border-1);background:#ffffff0a;border-radius:10px;margin:1rem 0;padding:.875rem 1rem}.sr-preview-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.625rem;font-size:.8rem;font-weight:600;display:flex}.sr-toggle-label{cursor:pointer;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;display:flex}.sr-preview-list{flex-direction:column;gap:.35rem;list-style:none;display:flex}.sr-preview-item{align-items:center;gap:.5rem;font-size:.8375rem;display:flex}.sr-preview-empty{color:var(--fg-3);font-size:.8rem;font-style:italic}.sr-preview-note{color:var(--p4s-signal);margin-top:.625rem;font-size:.75rem}.mr-role-list{flex-direction:column;gap:.25rem;max-height:300px;display:flex;overflow-y:auto}.mr-role-row{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:.625rem;padding:.5rem .75rem;font-size:.875rem;transition:background .1s,border-color .1s;display:flex}.mr-role-row:hover{background:#ffffff0d}.mr-role-row.checked{background:#ff6b3512;border-color:#ff6b3533}.mr-role-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.mr-role-name{flex:1}.mr-note{color:var(--fg-3);margin-top:.625rem;font-size:.78rem;font-style:italic}.acv-role-tags{flex-wrap:wrap;align-items:center;gap:.3rem;margin:.5rem 0 .25rem;display:flex}.acv-role-pill{background:color-mix(in srgb, var(--role-color) 15%, transparent);color:var(--role-color);border:1px solid color-mix(in srgb, var(--role-color) 25%, transparent);border-radius:20px;padding:.125rem .45rem;font-size:.68rem;font-weight:600;display:inline-block}.acv-role-everyone{color:var(--fg-3);font-size:.7rem;font-style:italic}.acv-role-more{color:var(--fg-3);font-size:.68rem}.acv-role-edit-btn{cursor:pointer;color:var(--fg-3);background:0 0;border:none;border-radius:4px;margin-left:auto;padding:.1rem .3rem;font-size:.75rem;transition:color .15s,background .15s}.acv-role-edit-btn:hover{color:var(--fg-2);background:#ffffff14}.rtm-card{width:100%;max-width:720px}.rtm-layout{grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0;display:grid}.rtm-panel{border:1px solid var(--border-1);border-radius:10px;overflow:hidden}.rtm-panel-header{border-bottom:1px solid var(--border-1);background:#ffffff0a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.8rem;font-weight:600;display:flex}.rtm-count{color:var(--p4s-signal);font-size:.75rem;font-weight:500}.rtm-role-list,.rtm-module-list{max-height:280px;padding:.375rem;overflow-y:auto}.rtm-role-row,.rtm-module-row{cursor:pointer;border:1px solid #0000;border-radius:7px;align-items:center;gap:.5rem;padding:.45rem .625rem;font-size:.8375rem;transition:background .1s,border-color .1s;display:flex}.rtm-role-row:hover,.rtm-module-row:hover{background:#ffffff0d}.rtm-role-row.checked,.rtm-module-row.checked{background:#ff6b3512;border-color:#ff6b352e}.rtm-role-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.rtm-role-name{flex:1}.rtm-module-info{flex:1;align-items:center;gap:.4rem;min-width:0;display:flex}.rtm-module-title{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.rtm-auto-tag{color:var(--success);text-transform:uppercase;letter-spacing:.04em;background:#06d6a026;border-radius:4px;flex-shrink:0;padding:.1rem .35rem;font-size:.65rem;font-weight:700}.rtm-module-row.checked:not(.auto) .rtm-module-title{color:var(--p4s-signal)}@media (width<=600px){.rtm-layout{grid-template-columns:1fr}.rtm-card{max-width:100%}}.ap-override-btn{color:var(--fg-3);cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;margin-top:.625rem;padding:.3rem .75rem;font-family:inherit;font-size:.775rem;transition:border-color .15s,color .15s,background .15s;display:inline-block}.ap-override-btn:hover{border-color:var(--success);color:var(--success);background:#06d6a014}.scenario-override-btn{color:var(--fg-3);cursor:pointer;background:0 0;border:1px solid #00000026;border-radius:6px;margin-top:.75rem;padding:.3rem .75rem;font-family:inherit;font-size:.775rem;transition:border-color .15s,color .15s,background .15s;display:inline-block}.scenario-override-btn:hover{border-color:var(--cat-service-fg);color:var(--cat-service-fg);background:#15803d0f}.training-complete-screen{text-align:center;flex-direction:column;align-items:center;gap:0;padding:2.5rem 2rem 2rem;display:flex}.tc-icon{margin-bottom:1rem;font-size:4rem;animation:.6s tcBounce}@keyframes tcBounce{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}.training-complete-screen h2{color:var(--p4s-ink);margin-bottom:.5rem;font-size:1.9rem;font-weight:800}.tc-sub{color:var(--fg-3);margin-bottom:1.5rem;font-size:1rem}.tc-phases{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.tc-phase-badge{color:var(--success);background:#06d6a01f;border:1px solid #06d6a04d;border-radius:20px;padding:.3rem .85rem;font-size:.82rem;font-weight:600}.tc-divider{background:#00000014;width:100%;max-width:320px;height:1px;margin-bottom:1.25rem}.tc-cta-hint{color:var(--fg-3);margin-bottom:1rem;font-size:.9rem}.assessment-pass-screen{text-align:center;flex-direction:column;align-items:center;gap:0;padding:2.5rem 2rem 2rem;display:flex}.aps-icon{margin-bottom:1rem;font-size:4rem;animation:.6s tcBounce}.assessment-pass-screen h2{color:var(--p4s-ink);margin-bottom:.5rem;font-size:1.75rem;font-weight:800}.aps-score{color:var(--success);margin-bottom:.25rem;font-size:2.5rem;font-weight:800}.aps-sub{color:var(--fg-3);margin-bottom:1.75rem;font-size:.95rem}.aps-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.assessment-locked-screen{text-align:center;flex-direction:column;align-items:center;gap:0;padding:2.5rem 2rem 2rem;display:flex}.als-icon{margin-bottom:1rem;font-size:3.5rem}.assessment-locked-screen h2{color:var(--p4s-ink);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.assessment-locked-screen p{color:var(--fg-3);margin-bottom:1.5rem}.continue-section{margin-bottom:1.5rem}.continue-label{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:.6rem;font-size:.75rem;font-weight:700}.continue-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);border:2px solid #0000;align-items:center;gap:1rem;padding:1rem 1.25rem;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:flex}.continue-card:hover{border-color:var(--p4s-signal);box-shadow:0 6px 24px #0000001a}.continue-icon{flex-shrink:0;font-size:1.75rem}.continue-info{flex:1;min-width:0}.continue-title{color:var(--p4s-ink);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.continue-desc{color:var(--fg-3);margin-top:.15rem;font-size:.8rem}.continue-progress{color:var(--p4s-signal);margin-top:.2rem;font-size:.78rem;font-weight:600}.continue-cta{color:var(--p4s-signal);flex-shrink:0;font-size:.82rem;font-weight:700}@keyframes highlightPulse{0%{border-color:var(--p4s-signal);box-shadow:0 0 #ff5a1f80}50%{border-color:var(--p4s-signal);box-shadow:0 0 0 8px #ff5a1f00}to{box-shadow:var(--shadow-sm);border-color:#0000}}.card-highlight{animation:1.4s forwards highlightPulse}.banner-plan-label{color:#ffffffbf;margin-top:.2rem;font-size:.8rem}.asmnt-part-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.asmnt-part-label{letter-spacing:.07em;text-transform:uppercase;color:var(--p4s-ink);font-size:.78rem;font-weight:700}.asmnt-part-progress-wrap{flex:1;align-items:center;gap:.5rem;max-width:220px;display:flex}.asmnt-part-progress{background:#1b2b5e1f;border-radius:3px;flex:1;height:6px;overflow:hidden}.asmnt-part-progress-fill{background:var(--p4s-ink);border-radius:3px;height:100%;transition:width .3s}.asmnt-part-progress-txt{color:var(--fg-3);white-space:nowrap;font-size:.75rem}.asmnt-pre{text-align:center;max-width:640px;margin:0 auto;padding:.5rem 0 1.5rem}.asmnt-pre-badge{background:var(--p4s-ink);color:var(--paper);letter-spacing:.1em;text-transform:uppercase;border-radius:20px;margin-bottom:1rem;padding:.3rem .85rem;font-size:.72rem;font-weight:700;display:inline-block}.asmnt-pre-title{color:var(--p4s-ink);margin-bottom:.6rem;font-size:1.75rem;font-weight:800}.asmnt-pre-sub{color:var(--fg-3);max-width:480px;margin-bottom:1.75rem;margin-left:auto;margin-right:auto;line-height:1.6}.asmnt-pre-parts{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.75rem;display:flex}.asmnt-pre-part{background:var(--bg-surface);border-radius:var(--r-lg);text-align:center;border:2px solid #0f14191a;min-width:120px;padding:1rem 1.25rem}.asmnt-pre-part-num{background:var(--p4s-ink);width:32px;height:32px;color:var(--paper);border-radius:50%;justify-content:center;align-items:center;margin:0 auto .5rem;font-size:.9rem;font-weight:700;display:flex}.asmnt-pre-part-label{color:var(--p4s-ink);margin-bottom:.2rem;font-size:.85rem;font-weight:700}.asmnt-pre-part-pts{color:var(--fg-3);font-size:.75rem}.asmnt-pre-divider{color:var(--fg-3);font-size:1.2rem}.asmnt-pre-rules{border-radius:var(--r-md);text-align:left;background:#0f14190a;flex-direction:column;gap:.5rem;max-width:420px;margin-bottom:1.75rem;margin-left:auto;margin-right:auto;padding:1rem 1.25rem;display:flex}.asmnt-pre-rule{color:var(--fg-2);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.asmnt-begin-btn{min-width:200px}.asmnt-mc-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;padding:1.75rem}.asmnt-q-num{letter-spacing:.08em;text-transform:uppercase;color:var(--p4s-ink);margin-bottom:.75rem;font-size:.72rem;font-weight:700}.asmnt-mc-question{color:var(--p4s-ink);margin-bottom:1.25rem;font-size:1.1rem;font-weight:600;line-height:1.5}.asmnt-mc-options{flex-direction:column;gap:.6rem;display:flex}.asmnt-mc-option{border-radius:var(--r-md);background:var(--bg-surface);cursor:pointer;text-align:left;color:var(--fg-2);border:2px solid #1b2b5e1f;align-items:center;gap:.75rem;padding:.85rem 1rem;font-family:inherit;font-size:.93rem;transition:border-color .15s,background .15s;display:flex}.asmnt-mc-option:hover{border-color:var(--p4s-ink);background:#0f14190a}.asmnt-mc-option.selected{border-color:var(--p4s-ink);background:#0f141912}.asmnt-mc-letter{width:28px;height:28px;color:var(--p4s-ink);background:#1b2b5e14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.asmnt-mc-option.selected .asmnt-mc-letter{background:var(--p4s-ink);color:var(--paper)}.asmnt-mc-text{flex:1}.asmnt-no-feedback-note{color:var(--fg-3);text-align:center;margin-top:1rem;font-size:.75rem;font-style:italic}.asmnt-sa-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;padding:1.75rem}.asmnt-sa-question{color:var(--p4s-ink);margin-bottom:1.25rem;font-size:1.05rem;font-weight:600;line-height:1.55}.asmnt-sa-input-block{flex-direction:column;gap:.5rem;display:flex}.asmnt-sa-label{color:var(--fg-3);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:700}.asmnt-sa-textarea{border-radius:var(--r-md);width:100%;color:var(--fg-2);resize:vertical;background:var(--bg-surface);border:2px solid #1b2b5e26;padding:.9rem 1rem;font-family:inherit;font-size:.93rem;line-height:1.55;transition:border-color .15s}.asmnt-sa-textarea:focus{border-color:var(--p4s-ink);outline:none}.asmnt-sa-meta{justify-content:space-between;align-items:center;display:flex}.asmnt-sa-hint{color:var(--fg-3);font-size:.75rem;font-style:italic}.asmnt-transition{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1rem;display:flex}.asmnt-tr-check{width:56px;height:56px;color:var(--success);background:#00b07c1f;border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;font-size:1.5rem;font-weight:700;display:flex}.asmnt-transition h3{color:var(--p4s-ink);font-size:1.3rem;font-weight:700}.asmnt-transition p{color:var(--fg-3);max-width:400px}.asmnt-scenario-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:1.25rem;padding:1.75rem}.asmnt-scenario-label{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:.5rem;font-size:.72rem;font-weight:700}.asmnt-scenario-bubble{border-left:3px solid var(--p4s-ink);border-radius:0 var(--r-md) var(--r-md) 0;color:var(--p4s-ink);background:#1b2b5e0d;padding:1rem 1.25rem;font-size:.97rem;line-height:1.6}.asmnt-grading{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.asmnt-grading h3{color:var(--p4s-ink);font-size:1.3rem;font-weight:700}.asmnt-grading p{color:var(--fg-3)}.asmnt-result{text-align:center;flex-direction:column;align-items:center;max-width:640px;margin:0 auto;padding:.5rem 0 2rem;display:flex}.asmnt-result-badge{margin-bottom:.75rem;font-size:3.5rem;animation:.5s tcBounce}.asmnt-result h2{margin-bottom:.5rem;font-size:1.75rem;font-weight:800}.asmnt-result-pass h2{color:var(--p4s-ink)}.asmnt-result-fail h2{color:var(--cat-safety-fg)}.asmnt-result-score{margin-bottom:.25rem;font-size:3rem;font-weight:900;line-height:1}.asmnt-result-score span{color:var(--fg-3);font-size:1.2rem;font-weight:600}.asmnt-result-score.pass{color:var(--success)}.asmnt-result-score.fail{color:var(--danger)}.asmnt-result-sub{color:var(--fg-3);margin-bottom:1.5rem;font-size:.9rem}.asmnt-breakdown{background:var(--bg-surface);border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow-sm);text-align:left;margin-bottom:1.25rem;padding:1.25rem 1.5rem}.asmnt-breakdown-title{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:1rem;font-size:.72rem;font-weight:700}.asmnt-breakdown-row{grid-template-columns:1fr 2fr auto;align-items:center;gap:.75rem;margin-bottom:.75rem;display:grid}.asmnt-breakdown-row:last-child{margin-bottom:0}.asmnt-breakdown-label{color:var(--fg-2);font-size:.82rem;font-weight:600}.asmnt-breakdown-bar{background:#0f14191a;border-radius:4px;height:8px;overflow:hidden}.asmnt-breakdown-fill{background:var(--p4s-ink);border-radius:4px;height:100%;transition:width .5s}.asmnt-breakdown-pts{color:var(--p4s-ink);white-space:nowrap;font-size:.8rem;font-weight:700}.asmnt-sa-feedback{background:var(--bg-surface);border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow-sm);text-align:left;margin-bottom:1.25rem;padding:1.25rem 1.5rem}.asmnt-feedback-title{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3);margin-bottom:.9rem;font-size:.72rem;font-weight:700}.asmnt-sa-feedback-item{border-top:1px solid #0000000f;margin-top:.75rem;padding-top:.75rem}.asmnt-sa-feedback-item:first-of-type{border-top:none;margin-top:0;padding-top:0}.asmnt-saf-q{color:var(--fg-3);margin-bottom:.3rem;font-size:.82rem;font-style:italic}.asmnt-saf-score{color:var(--fg-2);font-size:.87rem;line-height:1.5}.asmnt-summary-grid{grid-template-columns:1fr 1fr;gap:1rem;width:100%;margin-bottom:1.5rem;display:grid}.asmnt-summary-col{border-radius:var(--r-md);text-align:left;padding:1rem}.asmnt-summary-col.strengths{background:#06d6a014;border:1px solid #06d6a033}.asmnt-summary-col.improve{background:#b8962a14;border:1px solid #b8962a33}.asmnt-summary-title{margin-bottom:.6rem;font-size:.75rem;font-weight:700}.asmnt-summary-col.strengths .asmnt-summary-title{color:var(--success)}.asmnt-summary-col.improve .asmnt-summary-title{color:var(--cat-safety-fg)}.asmnt-summary-item{color:var(--fg-2);margin-bottom:.3rem;font-size:.82rem;line-height:1.5}.asmnt-result-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}@media (width<=540px){.asmnt-summary-grid{grid-template-columns:1fr}.asmnt-breakdown-row{grid-template-columns:1fr auto}.asmnt-breakdown-bar{display:none}.asmnt-pre-parts{flex-direction:column;align-items:center}}.empty-state-rich{text-align:center;background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:3rem 1.5rem}.empty-state-rich .empty-state-icon{color:var(--fg-3);justify-content:center;margin-bottom:.75rem;display:flex}.empty-state-rich h3{color:var(--p4s-ink);margin-bottom:.4rem;font-size:1.15rem;font-weight:700}.empty-state-rich p{color:var(--fg-3);max-width:380px;margin:0 auto;font-size:.9rem}.empty-state-action{margin-top:1rem}.caught-up-banner{background:var(--p4s-ink);color:var(--paper);border-radius:var(--r-lg);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.1rem 1.5rem;display:flex}.caught-up-banner-gold{background:var(--cat-safety-fg)}.caught-up-icon{flex-shrink:0;font-size:2rem}.caught-up-body{flex:1;min-width:0}.caught-up-title{font-size:1rem;font-weight:700}.caught-up-sub{opacity:.85;margin-top:.15rem;font-size:.85rem}.user-status-badge{white-space:nowrap;border-radius:4px;align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.status-complete{color:var(--success);background:#00b07c1a}.status-failed{color:var(--danger);background:#dc26261a}.status-ready{color:var(--p4s-ink);background:#0f14191a}.status-inprogress{color:var(--cat-safety-fg);background:#ff5a1f1f}.status-notstarted{color:var(--fg-3);background:#6a74801a}.attention-strip{border-radius:var(--r-md);color:var(--danger);background:#dc262612;border:1px solid #dc262633;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.6rem 1rem;font-size:.85rem;display:flex}.attention-strip-icon{flex-shrink:0;font-size:1rem}.attention-strip-text{line-height:1.4}.asmnt-pre-kc{border-left:3px solid var(--fg-3)}.asmnt-pre-badge-kc{color:var(--fg-2);background:#6b72801f}.asmnt-pre-rule-warn{color:var(--cat-safety-fg);font-weight:600}.asmnt-char-count{color:var(--fg-3);font-size:.78rem}.asmnt-char-count.wc-ready{color:var(--success);font-weight:600}.asmnt-sa-section-desc{color:var(--fg-3);margin-bottom:1rem;font-size:.85rem;font-style:italic}.asmnt-breakdown-label-wrap{flex-direction:column;gap:.1rem;min-width:140px;display:flex}.asmnt-breakdown-sub{color:var(--fg-3);font-size:.72rem;font-weight:400}.asmnt-saf-pts{color:var(--p4s-ink);background:#1b2b5e14;border-radius:4px;margin-right:.4rem;padding:.1rem .4rem;font-size:.8rem;font-weight:700;display:inline-block}.assessment-score-row{flex-wrap:wrap}.navbar-cert-link{color:var(--p4s-ink);border-radius:var(--r-md);padding:.4rem .75rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s}.navbar-cert-link:hover{background:#0f141912}.cert-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.cert-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;border:2px solid #0000;flex-direction:column;gap:.6rem;width:100%;padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .15s;display:flex}.cert-card:hover{border-color:var(--p4s-signal);transform:translateY(-3px);box-shadow:0 10px 28px #0000001a}.cert-card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.cert-card-track{color:var(--fg-3);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.cert-card-level{color:var(--fg-1);font-size:1.1rem;font-weight:800}.cert-card-counts{color:var(--fg-3);font-size:.8rem}.cert-card-due{color:var(--p4s-signal);font-size:.78rem;font-weight:600}.cert-card-cta{color:var(--p4s-signal);margin-top:.25rem;font-size:.82rem;font-weight:700}.cert-status-badge{white-space:nowrap;border-radius:999px;padding:.2rem .65rem;font-size:.72rem;font-weight:700;display:inline-block}.cert-status-assigned{background:var(--bg-subtle);color:var(--fg-3)}.cert-status-progress{background:var(--warning-bg);color:var(--cat-safety-fg)}.cert-status-overdue{color:#c45000;background:#dc64001a;border:1px solid #dc640040}.cert-status-ready{background:var(--success-bg);color:var(--cat-service-fg)}.cert-status-passed{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}.cert-status-failed{background:var(--danger-bg);color:var(--danger)}.cert-progress-bar{background:var(--border-1);border-radius:999px;height:5px;overflow:hidden}.cert-progress-fill{background:var(--p4s-signal);border-radius:999px;height:100%;transition:width .4s}.cert-back-btn{color:var(--p4s-ink);cursor:pointer;background:0 0;border:none;margin-bottom:1.5rem;padding:0;font-size:.875rem;font-weight:600;display:inline-block}.cert-back-btn:hover{text-decoration:underline}.cert-detail-header{background:var(--p4s-ink);color:#fff;border-radius:var(--r-lg);flex-direction:column;gap:.5rem;margin-bottom:2rem;padding:1.75rem 2rem;display:flex}.cert-detail-track{text-transform:uppercase;letter-spacing:.06em;opacity:.75;font-size:.75rem;font-weight:600}.cert-detail-level{font-size:1.5rem;font-weight:800}.cert-detail-meta{flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.cert-detail-progress{opacity:.85}.cert-detail-due{color:var(--warning);background:#ff5a1f40;border-radius:999px;padding:.2rem .6rem;font-weight:600}.cert-mod-section{margin-bottom:2rem}.cert-mod-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);margin-bottom:.75rem;font-size:.8rem;font-weight:700}.cert-module-row{background:var(--bg-surface);border-radius:var(--r-md);border-left:3px solid var(--border-1);align-items:flex-start;gap:.75rem;margin-bottom:.5rem;padding:.9rem 1.1rem;transition:border-color .15s;display:flex;box-shadow:0 1px 6px #0000000d}.cert-module-row-done{border-left-color:var(--success)}.cert-module-row:not(.cert-module-row-done):hover{border-left-color:var(--p4s-signal)}.cert-module-check{color:var(--success);flex-shrink:0;margin-top:2px;font-size:1rem}.cert-module-row:not(.cert-module-row-done) .cert-module-check{color:var(--border-2)}.cert-module-body{flex:1;min-width:0}.cert-module-title{color:var(--fg-1);font-size:.95rem;font-weight:700}.cert-module-desc{color:var(--fg-3);margin-top:.15rem;font-size:.8rem;line-height:1.4}.cert-module-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.35rem;display:flex}.cert-mod-label{border-radius:999px;padding:.15rem .55rem;font-size:.7rem;font-weight:700}.cert-mod-complete{background:var(--success-bg);color:var(--cat-service-fg)}.cert-mod-partial{background:var(--warning-bg);color:var(--cat-safety-fg)}.cert-mod-incomplete{background:var(--bg-subtle);color:var(--fg-3)}.cert-module-cta{color:var(--p4s-signal);font-size:.78rem;font-weight:700;text-decoration:none}.cert-module-cta:hover{text-decoration:underline}.success-msg{background:var(--success-bg);color:var(--cat-service-fg);border-radius:var(--r-md);padding:.75rem 1rem;font-size:.875rem;font-weight:500}.cert-admin-assign-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);max-width:620px;padding:1.5rem 2rem}.cert-admin-assign-title{color:var(--fg-1);margin-bottom:1.25rem;font-size:1rem;font-weight:700}.cert-admin-assign-form{flex-direction:column;gap:1rem;display:flex}.cert-optional-label{color:var(--fg-3);font-size:.85em;font-weight:400}.cert-table-track{color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem;font-size:.72rem}.cert-table-level{color:var(--fg-1);font-size:.9rem;font-weight:700}.cert-attempts-list{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.cert-attempt-row{border:1px solid var(--border-1);border-radius:var(--r-md);flex-direction:column;gap:.5rem;padding:.85rem 1rem;display:flex}.cert-attempt-meta{align-items:center;gap:.75rem;display:flex}.cert-attempt-date{color:var(--fg-3);font-size:.8rem}.cert-attempt-scores{color:var(--fg-3);flex-wrap:wrap;gap:1rem;font-size:.82rem;display:flex}.cert-insights{margin-bottom:1.5rem}.cert-insights-stats{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;display:flex}.cert-ins-navy{color:var(--p4s-ink)}.cert-ins-gold{color:var(--p4s-signal)}.cert-ins-red{color:var(--danger)}.cert-ins-teal{color:var(--success)}.cert-ins-orange{color:var(--warning)}.cert-insight-panels{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.cert-insight-panel{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:1rem 1.25rem}.cert-insight-panel-title{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);border-bottom:2px solid var(--bg-subtle);margin-bottom:.6rem;padding-bottom:.4rem;font-size:.72rem;font-weight:700}.cert-insight-row{border-bottom:1px solid var(--bg-subtle);justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.4rem 0;font-size:.82rem;display:flex}.cert-insight-row:last-child{border-bottom:none}.cert-insight-row-main{color:var(--fg-1);font-weight:600;line-height:1.3}.cert-insight-row-sub{color:var(--fg-3);margin-top:.1rem;font-size:.72rem}.cert-insight-row-aside{color:var(--fg-3);text-align:right;flex-shrink:0;font-size:.75rem}.cert-insight-bottom{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.cert-insight-section{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:1rem 1.25rem}.cert-insight-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);margin-bottom:.75rem;font-size:.72rem;font-weight:700}.cert-insight-bar-row{align-items:center;gap:.75rem;margin-bottom:.55rem;display:flex}.cert-insight-bar-label{width:80px;color:var(--fg-1);flex-shrink:0;font-size:.82rem;font-weight:600}.cert-insight-bar-track{background:var(--bg-subtle);border-radius:999px;flex:1;height:7px;overflow:hidden}.cert-insight-bar-fill{border-radius:999px;height:100%;transition:width .4s}.cert-ins-bar-k{background:var(--p4s-ink)}.cert-ins-bar-a{background:var(--p4s-signal)}.cert-ins-bar-s{background:var(--cat-compliance)}.cert-insight-bar-pct{text-align:right;width:36px;color:var(--fg-3);font-size:.75rem}@media (width<=640px){.cert-insight-bottom{grid-template-columns:1fr}}.training-path-list{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.training-path-item{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);color:inherit;border-left:3px solid var(--border-1);align-items:center;gap:1rem;padding:.9rem 1.25rem;text-decoration:none;transition:border-left-color .2s,box-shadow .2s;display:flex}.training-path-item:hover{border-left-color:var(--p4s-signal);box-shadow:0 4px 12px #00000014}.training-path-item-done{border-left-color:var(--success)}.training-path-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1rem;display:flex}.training-path-body{flex:1;min-width:0}.training-path-title{color:var(--fg-1);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.training-path-desc{color:var(--fg-3);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.78rem;overflow:hidden}.training-path-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.3rem;display:flex}.training-path-status{font-size:.75rem;font-weight:600}.tp-status-done{color:var(--success)}.tp-status-progress{color:var(--warning)}.tp-status-todo{color:var(--fg-4)}.cert-assess-list{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.cert-assess-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);border-top:4px solid var(--border-1);flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.cert-assess-passed,.cert-assess-ready{border-top-color:var(--success)}.cert-assess-failed{border-top-color:var(--danger)}.cert-assess-blocked{border-top-color:var(--fg-4);opacity:.85}.cert-assess-locked{border-top-color:var(--border-1);opacity:.9}.cert-assess-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.cert-assess-track{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);margin-bottom:.2rem;font-size:.72rem;font-weight:700}.cert-assess-level{color:var(--fg-1);font-size:1.1rem;font-weight:800}.cert-assess-progress{flex-direction:column;gap:.3rem;display:flex}.cert-assess-progress-text{color:var(--fg-3);font-size:.8rem}.cert-assess-meta{color:var(--fg-3);flex-wrap:wrap;align-items:center;gap:1rem;font-size:.82rem;display:flex}.cert-assess-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.cert-assess-achieved{color:var(--p4s-signal);font-size:.9rem;font-weight:700}.cert-assess-note{color:var(--fg-3);font-size:.82rem}.cert-cta-block{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--r-lg);margin-bottom:1.5rem;padding:1rem 1.25rem}.cert-cta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.cert-cta-meta{color:var(--fg-3);gap:1.25rem;font-size:.82rem;display:flex}.cert-cta-note{color:var(--fg-3);margin:0;font-size:.85rem}.cert-assess-form{flex-direction:column;gap:0;display:flex}.cert-assess-load-err{color:var(--danger);align-items:center;gap:.5rem;margin-top:1.5rem;font-size:.9rem;display:flex}.cert-form-section{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--r-lg);margin-bottom:1.25rem;padding:1.5rem}.cert-form-section-title{color:var(--fg-1);align-items:center;gap:.6rem;margin:0 0 .35rem;font-size:1rem;font-weight:800;display:flex}.cert-form-section-num{background:var(--p4s-ink);width:1.5rem;height:1.5rem;color:var(--paper);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;display:inline-flex}.cert-form-section-pts{color:var(--fg-3);background:var(--bg-subtle);border-radius:999px;margin-left:auto;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.cert-form-section-desc{color:var(--fg-3);margin:0 0 1.25rem;font-size:.82rem;line-height:1.5}.cert-form-question{margin-bottom:1.5rem}.cert-form-question:last-child{margin-bottom:0}.cert-form-q-text{color:var(--fg-1);margin-bottom:.6rem;font-size:.9rem;font-weight:600;line-height:1.5}.cert-form-scenario-title{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);margin-bottom:.35rem;font-size:.8rem;font-weight:700}.cert-form-options{flex-direction:column;gap:.4rem;display:flex}.cert-form-option{border:1px solid var(--border-1);border-radius:var(--r-sm);cursor:pointer;color:var(--fg-2);background:var(--bg-page);align-items:flex-start;gap:.6rem;padding:.55rem .75rem;font-size:.88rem;transition:border-color .12s,background .12s;display:flex}.cert-form-option input[type=radio]{accent-color:var(--p4s-ink);flex-shrink:0;margin-top:2px}.cert-form-option:hover{border-color:var(--p4s-ink);background:var(--bg-subtle)}.cert-form-option-sel{border-color:var(--p4s-ink);background:var(--bg-subtle);color:var(--fg-1);font-weight:600}.cert-form-textarea{box-sizing:border-box;border:1px solid var(--border-1);border-radius:var(--r-sm);width:100%;color:var(--fg-1);background:var(--bg-page);resize:vertical;padding:.65rem .85rem;font-family:inherit;font-size:.88rem;line-height:1.55;transition:border-color .12s}.cert-form-textarea:focus{border-color:var(--p4s-ink);outline:none}.cert-form-submit-err{color:var(--danger);margin-bottom:.75rem;font-size:.85rem}.cert-form-submit-bar{justify-content:flex-end;padding:.5rem 0 1.5rem;display:flex}.cert-result{flex-direction:column;gap:0;display:flex}.cert-result-banner{border-radius:var(--r-lg);border:1.5px solid var(--border-1);align-items:center;gap:1rem;margin-bottom:1rem;padding:1.25rem 1.5rem;display:flex}.cert-result-banner-passed{background:var(--success-bg);border-color:var(--success);color:var(--success)}.cert-result-banner-failed{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.cert-result-banner-title{font-size:1.25rem;font-weight:800;line-height:1.2}.cert-result-banner-sub{opacity:.85;font-size:.9rem;font-weight:500}.cert-result-notice{background:var(--warning-bg);border:1px solid var(--warning);border-radius:var(--r-sm);color:var(--cat-safety-fg);margin-bottom:.75rem;padding:.65rem 1rem;font-size:.85rem}.cert-result-retry{color:var(--fg-3);margin-bottom:.5rem;padding:.5rem 0;font-size:.85rem}.cert-result-blocked{color:var(--danger)}.cert-result-scores{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--r-lg);flex-direction:column;gap:.85rem;margin-bottom:1.25rem;padding:1.25rem 1.5rem;display:flex}.cert-result-score-row{align-items:center;gap:.85rem;display:flex}.cert-result-score-label{width:80px;color:var(--fg-1);flex-shrink:0;font-size:.82rem;font-weight:700}.cert-result-score-bar{background:var(--bg-subtle);border-radius:999px;flex:1;height:8px;overflow:hidden}.cert-result-score-fill{background:var(--p4s-ink);border-radius:999px;height:100%;transition:width .4s}.cert-result-score-num{text-align:right;width:44px;color:var(--fg-3);flex-shrink:0;font-size:.8rem;font-weight:600}.cert-result-fb-section{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--r-lg);margin-bottom:1.25rem;padding:1.25rem 1.5rem}.cert-result-fb-title{color:var(--fg-1);text-transform:uppercase;letter-spacing:.04em;margin:0 0 1rem;font-size:.88rem;font-weight:800}.cert-result-fb-item{border-top:1px solid var(--border-1);padding:.75rem 0}.cert-result-fb-item:first-of-type{border-top:none;padding-top:0}.cert-result-fb-q{color:var(--fg-1);margin-bottom:.3rem;font-size:.82rem;font-weight:700}.cert-result-fb-text{color:var(--fg-2);font-size:.85rem;line-height:1.55}.cert-result-critical{color:var(--danger);background:var(--danger-bg);border-radius:3px;margin-bottom:.3rem;padding:.1rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.cert-tracks-list{flex-direction:column;gap:1.5rem;display:flex}.cert-track-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);border:2px solid var(--border-1);overflow:hidden}.cert-track-card-complete{border-color:var(--p4s-signal)}.cert-track-card-header{border-bottom:1px solid var(--border-1);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem 1rem;display:flex}.cert-track-card-meta{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.cert-track-card-name{color:var(--fg-1);align-items:center;gap:.4rem;margin:0;font-size:1.05rem;font-weight:800;display:flex}.cert-track-trophy{color:var(--p4s-signal)}.cert-track-role-tag{color:var(--p4s-ink);text-transform:uppercase;letter-spacing:.04em;background:#1b2b5e1a;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:700}.cert-track-summary{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.cert-track-progress-label{color:var(--fg-3);white-space:nowrap;font-size:.8rem}.cert-level-list{flex-direction:column;display:flex}.cert-level-row{border:none;border-bottom:1px solid var(--border-1);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:1rem;width:100%;padding:.9rem 1.5rem;transition:background .15s;display:flex}.cert-level-row:last-child{border-bottom:none}.cert-level-row:hover{background:var(--bg-subtle)}.cert-level-row-passed{background:var(--success-bg)}.cert-level-row-passed:hover{background:var(--success-bg);filter:brightness(.97)}.cert-level-row-num{background:var(--bg-subtle);border:2px solid var(--border-2);width:28px;height:28px;color:var(--fg-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.cert-level-row-passed .cert-level-row-num{color:#fff;background:0 0;border:none;width:40px;height:40px}.cert-badge-img{border-radius:50%;flex-shrink:0;display:block;overflow:hidden}.cert-badge-img--large{border-radius:50%;box-shadow:0 4px 16px #0000002e}.cert-track-badges{flex-wrap:wrap;gap:.5rem;padding:.85rem 1.5rem 0;display:flex}.cert-doc-badge-row{justify-content:center;margin-top:.5rem;display:flex}.cert-level-row-body{flex:1;min-width:0}.cert-level-row-name{color:var(--fg-1);font-size:.95rem;font-weight:700}.cert-level-row-cert{color:var(--p4s-signal);align-items:center;gap:.3rem;margin-top:.2rem;font-size:.78rem;font-weight:600;display:flex}.cert-level-row-progress{align-items:center;gap:.5rem;margin-top:.3rem;display:flex}.cert-level-row-counts{color:var(--fg-3);white-space:nowrap;font-size:.75rem}.cert-level-row-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.25rem;display:flex}.cert-level-row-due{color:var(--warning);font-size:.75rem;font-weight:600}.cert-level-row-arrow{color:var(--fg-3)}.cert-assess-results-list{flex-direction:column;gap:.5rem;margin:1.25rem 0;display:flex}.cert-assess-result-row{border-radius:var(--r-md);background:var(--bg-subtle);border-left:3px solid #0000;gap:.75rem;padding:.65rem .85rem;display:flex}.cert-assess-result-row.correct{border-left-color:var(--success)}.cert-assess-result-row.incorrect{border-left-color:var(--danger)}.cert-assess-result-num{color:var(--fg-3);flex-shrink:0;padding-top:1px;font-size:.75rem;font-weight:700}.cert-assess-result-body{flex:1;min-width:0}.cert-assess-result-verdict{font-size:.8rem;font-weight:700}.cert-assess-result-row.correct .cert-assess-result-verdict{color:var(--success)}.cert-assess-result-row.incorrect .cert-assess-result-verdict{color:var(--danger)}.cert-assess-result-answer{color:var(--fg-2);margin-top:.2rem;font-size:.8rem}.cert-assess-result-explanation{color:var(--fg-3);margin-top:.2rem;font-size:.78rem;font-style:italic}.cert-assess-q-list{flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;display:flex}.cert-view-cert-link{color:var(--success);white-space:nowrap;margin-left:auto;font-size:.82rem;font-weight:700;text-decoration:none}.cert-view-cert-link:hover{text-decoration:underline}.cert-detail-hint{color:var(--fg-3);background:var(--bg-subtle);border-radius:var(--r-md);margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem;line-height:1.5}.cert-earned-notice{background:var(--success-bg);color:var(--success);border:1px solid var(--success);border-radius:var(--r-md);align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.65rem 1rem;font-size:.88rem;font-weight:600;display:flex}.cert-page-shell{background:var(--bg-page);flex-direction:column;align-items:center;gap:1.25rem;min-height:100vh;padding:2rem 1rem 4rem;display:flex}.cert-page-toolbar{justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:780px;display:flex}.cert-print-btn{align-items:center;gap:.4rem;display:flex}.cert-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.cert-action-btn{align-items:center;gap:.4rem;display:flex}.cert-page-error{color:var(--fg-3);text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.cert-document{border:2px solid var(--p4s-signal,#b8962a);text-align:center;color:#1a1a2e;background:#fff;border-radius:12px;width:100%;max-width:780px;padding:3.5rem 3.5rem 3rem;position:relative;overflow:hidden;box-shadow:0 8px 40px #0000001f}.cert-doc-watermark{letter-spacing:.25em;color:#b8962a0d;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:7rem;font-weight:900;display:flex;position:absolute;inset:0;transform:rotate(-30deg)}.cert-doc-header{margin-bottom:2.5rem}.cert-doc-logo-row{margin-bottom:.5rem}.cert-doc-logo{object-fit:contain;height:48px}.cert-doc-brand{letter-spacing:.15em;text-transform:uppercase;color:var(--p4s-signal,#b8962a);margin-bottom:1rem;font-size:.85rem;font-weight:700}.cert-doc-headline{letter-spacing:.04em;color:var(--p4s-ink,#1b2b5e);text-transform:uppercase;font-size:1.9rem;font-weight:900}.cert-doc-body{margin-bottom:2.5rem}.cert-doc-preamble{color:#555;margin:0 0 .25rem;font-size:.95rem}.cert-doc-recipient{color:var(--p4s-ink,#1b2b5e);margin:.5rem 0;font-family:Georgia,Times New Roman,serif;font-size:2.2rem;font-weight:900}.cert-doc-program{color:#1a1a2e;margin:.75rem 0 .1rem;font-size:1.2rem;font-weight:800}.cert-doc-level-title{color:#555;margin:0 0 1rem;font-size:1rem;font-style:italic}.cert-doc-venue{color:#1a1a2e;margin:0 0 .4rem;font-size:1rem}.cert-doc-date{color:#777;margin:0;font-size:.9rem}.cert-doc-footer{border-top:1px solid #b8962a4d;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;padding-top:1.25rem;display:flex}.cert-doc-seal{text-transform:uppercase;letter-spacing:.08em;color:var(--p4s-signal,#b8962a);flex-direction:column;align-items:center;gap:.2rem;font-size:.7rem;font-weight:700;display:flex}.cert-doc-seal-icon{color:var(--p4s-signal,#b8962a)}.cert-doc-meta{text-align:left}.cert-doc-cert-num{color:#333;font-size:.78rem;font-weight:700}.cert-doc-verify-url{color:#777;word-break:break-all;font-size:.72rem}.cert-doc-qr{text-transform:uppercase;letter-spacing:.08em;color:#777;flex-direction:column;align-items:center;gap:.3rem;font-size:.62rem;font-weight:600;display:flex}.verify-badge-row{justify-content:center;margin-bottom:.25rem;display:flex}.cert-verify-strip{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--r-md);width:100%;max-width:780px;color:var(--fg-3);align-items:center;gap:.6rem;padding:.65rem 1rem;font-size:.82rem;display:flex}.cert-verify-sep{opacity:.4}.cert-verify-link{color:var(--p4s-signal);align-items:center;gap:.25rem;font-weight:600;text-decoration:none;display:flex}.cert-verify-link:hover{text-decoration:underline}.verify-page{background:var(--bg-page);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.verify-card{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:500px;padding:2.5rem 2rem;box-shadow:0 8px 40px #0000001a}.verify-brand{letter-spacing:.12em;text-transform:uppercase;color:var(--p4s-signal,#b8962a);margin-bottom:.5rem;font-size:.8rem;font-weight:700}.verify-title{color:var(--p4s-ink,#1b2b5e);margin:0 0 1.5rem;font-size:1.4rem;font-weight:800}.verify-result{flex-direction:column;align-items:center;gap:.75rem;display:flex}.verify-invalid{color:var(--danger,#e53e3e)}.verify-valid{color:inherit}.verify-shield{color:#16a34a}.verify-valid-label{color:#16a34a;font-size:1.05rem;font-weight:700}.verify-detail-grid{text-align:left;flex-direction:column;gap:.5rem;width:100%;margin-top:1rem;display:flex}.verify-row{border-bottom:1px solid var(--border-1);justify-content:space-between;gap:1rem;padding-bottom:.4rem;font-size:.88rem;display:flex}.verify-row span{color:var(--fg-3)}.verify-row:last-child{border-bottom:none}@media print{.no-print{display:none!important}body{background:#fff!important}.cert-page-shell{min-height:unset;background:#fff!important;padding:0!important}.cert-document{page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;max-width:100%!important;box-shadow:none!important;border:2px solid #b8962a!important;border-radius:0!important}}.rb-board{margin:1.1rem 0 1.4rem}.rb-board-head{margin-bottom:.7rem}.rb-board-head h2{color:var(--fg-1);margin:0;font-size:1.05rem;font-weight:800}.rb-board-head p{color:var(--fg-3);margin:.15rem 0 0;font-size:.8rem}.rb-columns{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;display:grid}@media (width<=1100px){.rb-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.rb-columns{grid-template-columns:1fr}}.rb-col{background:var(--bg-surface,#fff);border:1px solid var(--border-1,#e5e5e0);border-top:3px solid var(--border-1,#e5e5e0);border-radius:10px;padding:.6rem}.rb-col--ready{border-top-color:#16a34a}.rb-col--stuck{border-top-color:#dc4b3a}.rb-col--training{border-top-color:#b8962a}.rb-col--idle{border-top-color:#9c9c94}.rb-col-head{color:var(--fg-2);align-items:center;gap:.4rem;padding:.15rem .25rem .55rem;font-size:.78rem;font-weight:700;display:flex}.rb-col-head b{background:var(--bg-2,#f3f2ee);border-radius:999px;margin-left:auto;padding:.05rem .5rem;font-size:.78rem}.rb-col--ready .rb-col-head svg{color:#16a34a}.rb-col--stuck .rb-col-head svg{color:#dc4b3a}.rb-col--training .rb-col-head svg{color:#b8962a}.rb-col-cards{flex-direction:column;gap:.45rem;display:flex}.rb-col-empty{color:var(--fg-3);padding:.5rem .25rem;font-size:.75rem;font-style:italic}.rb-card{text-align:left;background:var(--bg-1,#fafaf8);border:1px solid var(--border-1,#e8e8e3);cursor:pointer;border-radius:8px;align-items:flex-start;gap:.55rem;width:100%;padding:.55rem .6rem;transition:border-color .12s;display:flex}.rb-card:hover{border-color:var(--p4s-signal,#b8962a)}.rb-avatar{background:var(--p4s-ink,#1b2b5e);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:.66rem;font-weight:700;display:inline-flex}.rb-card-body{flex-direction:column;flex:1;gap:.18rem;min-width:0;display:flex}.rb-card-name{color:var(--fg-1);font-size:.84rem;font-weight:700}.rb-card-meta{color:var(--fg-3);font-size:.72rem}.rb-progress{align-items:center;gap:.45rem;margin-top:.1rem;display:flex}.rb-progress-bar{background:var(--bg-2,#eeede8);border-radius:999px;flex:1;max-width:130px;height:5px;overflow:hidden}.rb-progress-bar i{background:#16a34a;border-radius:999px;height:100%;display:block}.rb-progress-label{color:var(--fg-3);font-size:.7rem;font-weight:600}.rb-reasons{color:#dc4b3a;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;display:inline-flex}.rb-last-seen{color:var(--fg-3);font-size:.68rem}.rb-help-chip{color:#dc4b3a;white-space:nowrap;background:#f8dad3;border-radius:999px;flex:none;align-self:center;padding:.15rem .5rem;font-size:.66rem;font-weight:700}.rb-card-arrow{color:var(--fg-3);flex:none;align-self:center}.enroll-settings-card{background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);max-width:640px;margin-top:1.5rem;padding:1.5rem 2rem}.enroll-toggle-row{color:var(--fg-1);cursor:pointer;align-items:center;gap:.6rem;margin:1rem 0;font-size:.9rem;font-weight:600;display:flex}.enroll-toggle-row input[type=checkbox]{cursor:pointer;flex-shrink:0;width:1.1rem;height:1.1rem}.enroll-pick-section{margin-top:1rem}.enroll-pick-title{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3);margin-bottom:.5rem;font-size:.78rem;font-weight:700}.enroll-check-list{border:1px solid var(--border-1);border-radius:var(--r-md);flex-direction:column;gap:.3rem;max-height:220px;padding:.5rem .75rem;display:flex;overflow-y:auto}.enroll-check-row{color:var(--fg-1);cursor:pointer;align-items:center;gap:.6rem;padding:.2rem 0;font-size:.85rem;display:flex}.enroll-check-row input[type=checkbox]{cursor:pointer;flex-shrink:0}.p4s-modules-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.p4s-module-card{background:var(--bg-surface);border:1px solid var(--border-1);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);color:inherit;transition:box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);flex-direction:column;gap:14px;padding:18px 18px 14px;text-decoration:none;display:flex;position:relative}.p4s-module-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.p4s-module-card:before{content:"";background:var(--p4s-mod-accent,var(--p4s-signal));border-radius:0 2px 2px 0;width:3px;position:absolute;top:14px;bottom:14px;left:0}.p4s-mod-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.p4s-mod-cat{border-radius:var(--r-sm);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--p4s-mod-cat-bg,var(--cat-general-bg));color:var(--p4s-mod-cat-fg,var(--cat-general-fg));align-items:center;gap:6px;padding:3px 9px 3px 8px;font-size:10px;font-weight:600;line-height:1.4;display:inline-flex}.p4s-mod-cdot{background:var(--p4s-mod-cat-dot,var(--fg-3));border-radius:50%;flex-shrink:0;width:5px;height:5px}.p4s-mod-status-meta{font-family:var(--font-mono);color:var(--fg-3);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:6px;font-size:10.5px;display:inline-flex}.p4s-mod-status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.p4s-mod-status-dot.done{background:var(--success);box-shadow:0 0 0 2px #00b07c2e}.p4s-mod-status-dot.active{background:var(--p4s-signal);box-shadow:0 0 0 2px #ff5a1f26}.p4s-mod-status-dot.todo{background:var(--fg-4)}.p4s-mod-title{font-family:var(--font-display);color:var(--fg-1);letter-spacing:-.018em;margin:0;font-size:15.5px;font-weight:650;line-height:1.25}.p4s-mod-desc{color:var(--fg-2);margin:4px 0 0;font-size:13px;line-height:1.5}.p4s-mod-stats{border-top:1px solid var(--border-1);border-bottom:1px solid var(--border-1);grid-template-columns:repeat(3,1fr);padding:12px 0 6px;display:grid}.p4s-mod-stat{border-right:1px solid var(--border-1);flex-direction:column;gap:4px;padding:0 12px;display:flex}.p4s-mod-stat:first-child{padding-left:0}.p4s-mod-stat:last-child{border-right:none;padding-right:0}.p4s-mod-stat-n{font-family:var(--font-display);color:var(--fg-1);letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:18px;font-weight:700;line-height:1}.p4s-mod-stat-l{font-family:var(--font-mono);color:var(--fg-3);letter-spacing:.06em;text-transform:uppercase;font-size:9.5px;font-weight:500}.p4s-mod-stat.warn .p4s-mod-stat-n{color:var(--warning)}.p4s-mod-stat.done-accent .p4s-mod-stat-n{color:var(--success)}.p4s-mod-progress{flex-direction:column;gap:6px;display:flex}.p4s-mod-prog-row{justify-content:space-between;align-items:baseline;font-size:11.5px;display:flex}.p4s-mod-prog-lbl{color:var(--fg-3);font-size:12px;font-weight:500}.p4s-mod-prog-val{color:var(--fg-1);font-variant-numeric:tabular-nums;font-weight:600;font-family:var(--font-mono);font-size:11px}.p4s-mod-bar{background:var(--bg-muted);border-radius:999px;height:4px;position:relative;overflow:hidden}.p4s-mod-bar>span{background:var(--p4s-mod-accent,var(--p4s-signal));transition:width var(--dur-slow) var(--ease-out);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.p4s-mod-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.p4s-mod-cta{font-family:var(--font-sans);color:var(--p4s-signal);border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease-out);align-items:center;gap:4px;margin-left:auto;padding:4px 8px;font-size:12px;font-weight:600;display:inline-flex}.p4s-mod-cta svg{width:12px;height:12px;transition:transform var(--dur-fast) var(--ease-out)}.p4s-module-card:hover .p4s-mod-cta{background:var(--p4s-signal-50)}.p4s-module-card:hover .p4s-mod-cta svg{transform:translate(2px)}.p4s-mod-done-badge{color:var(--success);align-items:center;gap:5px;font-size:11.5px;font-weight:600;display:inline-flex}.p4s-module-card.p4s-mod-safety{--p4s-mod-accent:var(--cat-safety);--p4s-mod-cat-bg:var(--cat-safety-bg);--p4s-mod-cat-fg:var(--cat-safety-fg);--p4s-mod-cat-dot:var(--cat-safety)}.p4s-module-card.p4s-mod-service{--p4s-mod-accent:var(--cat-service);--p4s-mod-cat-bg:var(--cat-service-bg);--p4s-mod-cat-fg:var(--cat-service-fg);--p4s-mod-cat-dot:var(--cat-service)}.p4s-module-card.p4s-mod-product,.p4s-module-card.p4s-mod-menu{--p4s-mod-accent:var(--cat-product);--p4s-mod-cat-bg:var(--cat-product-bg);--p4s-mod-cat-fg:var(--cat-product-fg);--p4s-mod-cat-dot:var(--cat-product)}.p4s-module-card.p4s-mod-operations{--p4s-mod-accent:var(--cat-operations);--p4s-mod-cat-bg:var(--cat-operations-bg);--p4s-mod-cat-fg:var(--cat-operations-fg);--p4s-mod-cat-dot:var(--cat-operations)}.p4s-module-card.p4s-mod-compliance{--p4s-mod-accent:var(--cat-compliance);--p4s-mod-cat-bg:var(--cat-compliance-bg);--p4s-mod-cat-fg:var(--cat-compliance-fg);--p4s-mod-cat-dot:var(--cat-compliance)}.p4s-module-card.p4s-mod-general{--p4s-mod-accent:var(--p4s-signal);--p4s-mod-cat-bg:var(--cat-general-bg);--p4s-mod-cat-fg:var(--cat-general-fg);--p4s-mod-cat-dot:var(--fg-3)}@media (width<=960px){.superadmin-sidebar{transition:transform var(--dur-base) var(--ease-out);transform:translate(-100%)}.superadmin-page.sidebar-open .superadmin-sidebar{transform:translate(0)}.sa-sidebar-backdrop{z-index:175;background:#0f141938;border:0;display:none;position:fixed;inset:0}.superadmin-page.sidebar-open .sa-sidebar-backdrop{display:block}.superadmin-topbar{left:0}.sa-mobile-menu-btn{display:inline-flex}.superadmin-page .main-content{margin-left:0}.sa-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-rest-toolbar{flex-wrap:wrap}}@media (width<=720px){.tenant-admin-page .main-content{padding:72px var(--s-4) var(--s-4)}.ta-team-actions,.ta-team-alert-actions{width:100%}.ta-team-btn,.ta-team-alert-btn{flex:1}.ta-team-kpi-grid{grid-template-columns:1fr}.ta-team-alert{flex-wrap:wrap;align-items:flex-start}.ta-team-search{flex-basis:100%;max-width:none}.ta-role-filter-wrap,.ta-role-filter{width:100%}.ta-role-popover{width:100%;left:0;right:auto}.ta-staff-row-card{grid-template-columns:minmax(0,1fr) auto}.ta-staff-progress,.ta-staff-status,.ta-staff-mobile-detail{grid-column:1/-1}.ta-staff-role,.ta-staff-started{display:none}.ta-staff-actions{place-self:start end}.ta-staff-action-btn{min-width:0}.admin-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table{min-width:720px}.superadmin-page .main-content{padding:var(--s-4)}.sa-page-header{align-items:flex-start;gap:var(--s-4);flex-direction:column}.sa-page-actions{flex-wrap:wrap;width:100%}.sa-page-btn{flex:1;justify-content:center}.sa-kpi-grid{grid-template-columns:1fr}.sa-search-button{width:42px;min-width:0;padding:7px}.sa-search-button span,.sa-search-button kbd{display:none}.sa-rest-search{flex-basis:100%;max-width:none}.sa-toolbar-spacer{display:none}.sa-restaurant-row{gap:var(--s-3);grid-template-columns:minmax(0,1fr) auto;min-width:0}.sa-row-metrics-panel{gap:var(--s-3);padding-top:var(--s-2);border-top:1px solid var(--border-1);grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:none}.sa-restaurant-row.expanded .sa-row-metrics-panel{display:grid}.sa-row-actions{align-self:start}.sa-row-more{display:none}.sa-row-expand{width:30px;height:28px;padding:0;display:inline-flex}.sa-restaurant-row.expanded .sa-row-expand svg{transform:rotate(180deg)}.superadmin-header-actions{width:100%}.superadmin-header-actions .btn{justify-content:center;width:100%}.navbar{height:auto;min-height:56px;padding:var(--s-3) var(--s-4);gap:var(--s-3);align-items:flex-start}.navbar-brand{min-width:0}.navbar-brand span:first-of-type,.nav-user-name,.navbar-tenant{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.navbar-right{gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end}.main-content{padding:var(--s-4)}.admin-header,.cm-section-header,.cm-submodule-header,.training-path-item,.cert-module-row{align-items:flex-start;gap:var(--s-3)}.admin-header,.cm-section-header,.cm-submodule-header{flex-direction:column}.cm-section-meta,.training-path-right,.cert-module-right{align-items:flex-start}.modal-card{width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow-y:auto}.status-card{padding:var(--s-6)}}.wip-page{background:var(--bone,#fafaf7);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.wip-card{background:var(--paper,#fff);border:1px solid var(--border,#e5e7eb);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:520px;padding:2.5rem 2rem;display:flex;box-shadow:0 4px 24px #0000000f}.wip-icon{flex-shrink:0}.wip-title{color:var(--p4-navy,#1b2b5e);margin:0;font-size:1.25rem;font-weight:700}.wip-body{color:var(--fg-2,#3a4049);margin:0;font-size:.9rem;line-height:1.6}.wip-btn{min-width:200px;margin-top:.5rem}.path-module-page{background:var(--bone,#fafaf7);flex-direction:column;min-height:100vh;display:flex}.pm-header{background:var(--paper,#fff);border-bottom:1px solid var(--border,#e5e7eb);z-index:10;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.pm-back-btn{cursor:pointer;color:var(--fg-3,#6f7480);white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.875rem}.pm-back-btn:hover{background:var(--bone,#f5f5f3)}.pm-header-titles{flex-direction:column;gap:.1rem;display:flex}.pm-level-label{color:var(--fg-3,#6f7480);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.pm-module-name{color:var(--p4-navy,#1b2b5e);margin:0;font-size:1rem;font-weight:700}.pm-mode-tabs{border-bottom:1px solid var(--border,#e5e7eb);background:var(--paper,#fff);display:flex}.pm-tab{cursor:pointer;color:var(--fg-3,#6f7480);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.875rem 1rem;font-size:.875rem;font-weight:600;transition:color .15s,border-color .15s}.pm-tab-check{color:var(--success,#16a34a);margin-left:.25rem}.pm-body{flex:1;width:100%;max-width:720px;margin:0 auto;padding:1.5rem}.pm-learn{flex-direction:column;gap:1.25rem;display:flex}.pm-learn-toolbar{justify-content:space-between;align-items:center;display:flex}.pm-progress-label{color:var(--fg-3,#6f7480);font-size:.8rem;font-weight:500}.pm-learn-actions{gap:.5rem;display:flex}.pm-progress-bar{background:var(--border,#e5e7eb);border-radius:4px;height:4px;overflow:hidden}.pm-progress-fill{background:var(--p4-navy,#1b2b5e);border-radius:4px;height:100%;transition:width .3s}.pm-card{background:var(--paper,#fff);border:1px solid var(--border,#e5e7eb);border-radius:12px;flex-direction:column;gap:1.25rem;padding:2rem 1.75rem;display:flex;box-shadow:0 2px 8px #0000000a}.pm-card-title{color:var(--p4-navy,#1b2b5e);margin:0;font-size:1.15rem;font-weight:700}.pm-card-takeaway,.pm-card-example{background:var(--bone,#fafaf7);border-left:3px solid var(--p4-gold,#b8962a);border-radius:0 8px 8px 0;flex-direction:column;gap:.35rem;padding:.875rem 1rem;display:flex}.pm-card-label{text-transform:uppercase;letter-spacing:.05em;color:var(--p4-gold,#b8962a);font-size:.72rem;font-weight:700}.pm-card-takeaway p,.pm-card-example p{color:var(--fg-2,#3a4049);margin:0;font-size:.875rem;line-height:1.6}.pm-learn-nav{justify-content:space-between;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.pm-learn-done{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.pm-done-icon{background:var(--success-bg,#dcfce7);width:56px;height:56px;color:var(--success,#16a34a);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.pm-learn-done h2{color:var(--p4-navy,#1b2b5e);font-size:1.25rem}.pm-learn-done p{color:var(--fg-2,#3a4049);margin:0;font-size:.9rem}.pm-train{flex-direction:column;gap:1.5rem;display:flex}.pm-train-intro{color:var(--fg-3,#6f7480);font-size:.85rem}.pm-question-block{background:var(--paper,#fff);border:1px solid var(--border,#e5e7eb);border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.pm-question-number{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3,#6f7480);font-size:.72rem;font-weight:700}.pm-question-prompt{color:var(--fg-1,#0f1419);font-size:.95rem;font-weight:600;line-height:1.55}.pm-multi-hint{color:var(--fg-3,#6f7480);font-size:.8rem;font-weight:400}.pm-options-tf{flex-direction:row;gap:.75rem}.pm-option{border:1.5px solid var(--border,#e5e7eb);cursor:pointer;color:var(--fg-1,#0f1419);border-radius:8px;align-items:center;gap:.625rem;padding:.6rem .875rem;font-size:.875rem;transition:border-color .12s,background .12s;display:flex}.pm-option:hover{border-color:var(--p4-navy,#1b2b5e)}.pm-option.selected{border-color:var(--p4-navy,#1b2b5e);background:#1b2b5e0d;font-weight:600}.pm-option input{accent-color:var(--p4-navy,#1b2b5e);flex-shrink:0}.pm-sequence-item{border:1.5px solid var(--border,#e5e7eb);background:var(--paper,#fff);color:var(--fg-1,#0f1419);border-radius:8px;align-items:center;gap:.625rem;padding:.6rem .875rem;font-size:.875rem;display:flex}.pm-sequence-number{background:var(--p4-navy,#1b2b5e);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.pm-sequence-text{flex:1}.pm-sequence-controls{flex-direction:column;gap:2px;display:flex}.pm-seq-btn{border:1px solid var(--border,#e5e7eb);cursor:pointer;color:var(--fg-2,#3a4049);background:0 0;border-radius:4px;padding:.1rem .3rem;font-size:.65rem}.pm-seq-btn:hover:not(:disabled){background:var(--bone,#f5f5f3)}.pm-train-submit-row{align-items:center;gap:1rem;padding-top:.5rem;display:flex}.pm-train-result{flex-direction:column;gap:1.5rem;display:flex}.pm-result-banner{border:1.5px solid;border-radius:12px;align-items:center;gap:1.25rem;padding:1.5rem;display:flex}.pm-result-big-icon{font-size:2rem;font-weight:700}.pm-result-banner.pass .pm-result-big-icon{color:var(--success,#16a34a)}.pm-result-banner.fail .pm-result-big-icon{color:#dc2626}.pm-result-banner h2{margin:0;font-size:1.1rem;font-weight:700}.pm-missed-section h3{color:var(--fg-1,#0f1419);font-size:.9rem;font-weight:600}.pm-result-card{border:1.5px solid;border-radius:8px;flex-direction:column;gap:.4rem;padding:.875rem 1rem;display:flex}.pm-result-header{align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.pm-result-card.correct .pm-result-icon{color:var(--success,#16a34a)}.pm-result-card.incorrect .pm-result-icon{color:#dc2626}.pm-result-explanation{color:var(--fg-2,#3a4049);margin:0;font-size:.8rem;line-height:1.55}.pm-loading,.pm-error,.pm-empty{text-align:center;color:var(--fg-3,#6f7480);padding:2rem 1rem;font-size:.875rem}.csv-import-page{max-width:760px;margin:0 auto;padding:32px 24px 64px;font-family:inherit}.csv-header{align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.csv-back-btn{color:var(--fg-2,#3a4049);background:var(--bg-surface,#fff);border:1px solid var(--border-1,#e6e4dd);border-radius:var(--r-md,6px);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;margin-top:4px;padding:6px 12px;font-size:.8rem;font-weight:500;display:inline-flex}.csv-back-btn:hover{background:var(--bg-subtle,#f2f1ec)}.csv-title{color:var(--fg-1,#0f1419);margin:0 0 4px;font-size:1.35rem;font-weight:700}.csv-subtitle{color:var(--fg-3,#6f7480);margin:0;font-size:.85rem}.csv-steps{background:var(--bg-surface,#fff);border:1px solid var(--border-1,#e6e4dd);border-radius:var(--r-lg,8px);align-items:center;gap:4px;margin-bottom:28px;padding:12px 16px;display:flex}.csv-step{color:var(--fg-4,#a8aeb8);align-items:center;gap:6px;font-size:.8rem;display:flex}.csv-step.active{color:var(--fg-1,#0f1419);font-weight:600}.csv-step.done{color:var(--success,#00b07c)}.csv-step-dot{background:var(--bg-muted,#edeae2);width:22px;height:22px;color:var(--fg-3,#6f7480);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.csv-step.active .csv-step-dot{background:var(--p4s-ink,#0f1419);color:#fff}.csv-step.done .csv-step-dot{background:var(--success-bg,#d6f4e8);color:var(--success,#00b07c)}.csv-step-arrow{color:var(--fg-4,#a8aeb8);margin:0 2px}.csv-step-label{white-space:nowrap}.csv-card{background:var(--bg-surface,#fff);border:1px solid var(--border-1,#e6e4dd);border-radius:var(--r-xl,10px);box-shadow:var(--shadow-sm);padding:28px}.csv-card-title{color:var(--fg-1,#0f1419);margin:0 0 6px;font-size:1.05rem;font-weight:700}.csv-card-desc{color:var(--fg-3,#6f7480);margin:0 0 24px;font-size:.85rem}.csv-card-footer{border-top:1px solid var(--border-1,#e6e4dd);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;display:flex}.csv-form-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.csv-field{flex-direction:column;gap:6px;display:flex}.csv-field-full{grid-column:1/-1}.csv-label{color:var(--fg-2,#3a4049);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.csv-select{border:1px solid var(--border-2,#d4d2cb);border-radius:var(--r-md,6px);background:var(--bg-surface,#fff);color:var(--fg-1,#0f1419);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A8AEB8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:8px 28px 8px 10px;font-size:.875rem}.csv-select:disabled{opacity:.5;cursor:not-allowed}.csv-select:focus{border-color:var(--p4s-ink,#0f1419);outline:none;box-shadow:0 0 0 3px #0f14191a}.csv-field-loading{padding:8px 0}.csv-radio-group{gap:10px;display:flex}.csv-radio{border:1px solid var(--border-2,#d4d2cb);border-radius:var(--r-md,6px);cursor:pointer;color:var(--fg-2,#3a4049);align-items:center;gap:8px;padding:10px 16px;font-size:.875rem;display:flex}.csv-radio.selected{border-color:var(--p4s-ink,#0f1419);background:var(--p4s-ink-50,#e8eaec);color:var(--p4s-ink,#0f1419);font-weight:600}.csv-radio input{display:none}.csv-dest-summary{background:var(--info-bg,#dce7ff);border-radius:var(--r-md,6px);color:var(--fg-2,#3a4049);align-items:flex-start;gap:6px;margin-bottom:4px;padding:10px 14px;font-size:.82rem;display:flex}.csv-dest-pill{background:var(--bg-subtle,#f2f1ec);border-radius:var(--r-pill,999px);color:var(--fg-2,#3a4049);align-items:center;gap:6px;margin-bottom:20px;padding:6px 12px;font-size:.8rem;display:inline-flex}.csv-back-link{color:var(--fg-3,#6f7480);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:16px;padding:0;font-size:.8rem;display:inline-flex}.csv-back-link:hover{color:var(--fg-1,#0f1419)}.csv-spec-hint{background:var(--bg-subtle,#f2f1ec);border-radius:var(--r-md,6px);color:var(--fg-2,#3a4049);margin-bottom:20px;padding:12px 14px;font-size:.8rem;line-height:1.5}.csv-spec-hint p{margin:0 0 4px}.csv-spec-hint p:last-child{margin:0}.csv-spec-note{color:var(--fg-3,#6f7480);font-style:italic}.csv-dropzone{border:2px dashed var(--border-2,#d4d2cb);border-radius:var(--r-xl,10px);text-align:center;cursor:pointer;background:var(--bg-surface,#fff);margin-bottom:16px;padding:32px 24px;transition:border-color .15s,background .15s}.csv-dropzone:hover{border-color:var(--p4s-ink,#0f1419);background:var(--bg-subtle,#f2f1ec)}.csv-dropzone.has-file{border-color:var(--success,#00b07c);background:var(--success-bg,#d6f4e8);cursor:default}.csv-dropzone-empty{flex-direction:column;align-items:center;gap:8px;display:flex}.csv-dropzone-icon{color:var(--fg-4,#a8aeb8)}.csv-dropzone-icon.ok{color:var(--success,#00b07c)}.csv-dropzone-prompt{color:var(--fg-1,#0f1419);font-size:.9rem;font-weight:500}.csv-dropzone-hint{color:var(--fg-3,#6f7480);font-size:.78rem}.csv-dropzone-file{justify-content:center;align-items:center;gap:12px;display:flex}.csv-dropzone-filename{color:var(--fg-1,#0f1419);font-size:.875rem;font-weight:600}.csv-dropzone-filesize{color:var(--fg-3,#6f7480);font-size:.78rem}.csv-dropzone-clear{color:var(--danger,#e5484d);cursor:pointer;background:0 0;border:none;font-size:.78rem;text-decoration:underline}.csv-alert{border-radius:var(--r-md,6px);margin-bottom:12px;padding:10px 14px;font-size:.85rem}.csv-alert-danger{background:var(--danger-bg,#ffe0e1);color:#7a0c0f;border:1px solid #ffc8ca}.csv-alert-success{background:var(--success-bg,#d6f4e8);color:#004d2e;border:1px solid #a8e6c9}.csv-preview{margin-top:24px}.csv-preview-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.csv-preview-title{color:var(--fg-1,#0f1419);align-items:center;gap:6px;margin:0;font-size:.95rem;font-weight:600;display:flex}.csv-icon-success{color:var(--success,#00b07c)}.csv-icon-danger{color:var(--danger,#e5484d)}.csv-revalidate-btn{color:var(--fg-3,#6f7480);cursor:pointer;background:0 0;border:none;font-size:.78rem;text-decoration:underline}.csv-badge-row{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.csv-badge{border-radius:var(--r-pill,999px);align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.csv-badge-success{background:var(--success-bg,#d6f4e8);color:var(--success,#00b07c)}.csv-badge-danger{background:var(--danger-bg,#ffe0e1);color:var(--danger,#e5484d)}.csv-badge-warning{background:var(--warning-bg,#fff4d6);color:#7a5300}.csv-type-breakdown{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.csv-type-pill{background:var(--bg-subtle,#f2f1ec);border-radius:var(--r-pill,999px);color:var(--fg-2,#3a4049);text-transform:capitalize;padding:3px 10px;font-size:.78rem;font-weight:500}.csv-type-critical{background:var(--warning-bg,#fff4d6);color:#7a5300}.csv-section{margin-bottom:12px}.csv-section-label{text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:5px;margin-bottom:6px;font-size:.78rem;font-weight:700;display:flex}.csv-section-danger{color:var(--danger,#e5484d)}.csv-section-warning{color:#7a5300}.csv-error-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.csv-error-item{background:var(--bg-subtle,#f2f1ec);border-radius:var(--r-sm,4px);align-items:baseline;gap:8px;padding:6px 10px;font-size:.82rem;display:flex}.csv-error-row{color:var(--fg-2,#3a4049);white-space:nowrap;flex-shrink:0;font-weight:600}.csv-error-msg{color:var(--fg-1,#0f1419)}.csv-error-more{color:var(--fg-3,#6f7480);font-style:italic}.csv-row-table-wrap{border:1px solid var(--border-1,#e6e4dd);border-radius:var(--r-md,6px);margin-bottom:16px;overflow-x:auto}.csv-preview-table{border-collapse:collapse;width:100%;font-size:.8rem}.csv-preview-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-3,#6f7480);background:var(--bg-subtle,#f2f1ec);border-bottom:1px solid var(--border-1,#e6e4dd);padding:8px 10px;font-size:.72rem;font-weight:700}.csv-preview-table td{border-bottom:1px solid var(--border-1,#e6e4dd);color:var(--fg-1,#0f1419);padding:6px 10px}.csv-preview-table tr:last-child td{border-bottom:none}.csv-preview-table tr.csv-row-invalid td{background:var(--danger-bg,#ffe0e1)}.csv-cell-num{text-align:center;font-variant-numeric:tabular-nums;color:var(--fg-3,#6f7480)}.csv-cell-prompt{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.csv-empty{color:var(--fg-4,#a8aeb8)}.csv-row-ok{color:var(--success,#00b07c)}.csv-row-err{color:var(--danger,#e5484d);cursor:help}.csv-type-tag{border-radius:var(--r-sm,4px);background:var(--bg-muted,#edeae2);text-transform:capitalize;padding:2px 7px;font-size:.75rem;font-weight:500;display:inline-block}.csv-result-card{text-align:center;padding:40px}.csv-result-icon{color:var(--success,#00b07c);margin-bottom:12px}.csv-result-title{color:var(--fg-1,#0f1419);margin:0 0 8px;font-size:1.3rem;font-weight:700}.csv-result-sub{color:var(--fg-3,#6f7480);margin:0 0 28px;font-size:.9rem}.csv-result-grid{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:24px;display:flex}.csv-result-stat{background:var(--bg-subtle,#f2f1ec);border-radius:var(--r-md,6px);min-width:90px;padding:14px 20px}.csv-result-stat-critical{background:var(--warning-bg,#fff4d6)}.csv-result-stat-value{color:var(--fg-1,#0f1419);font-size:1.5rem;font-weight:800}.csv-result-stat-label{color:var(--fg-3,#6f7480);text-transform:capitalize;margin-top:2px;font-size:.75rem}.csv-result-note{background:var(--info-bg,#dce7ff);border-radius:var(--r-md,6px);color:var(--fg-2,#3a4049);text-align:left;justify-content:center;align-items:flex-start;gap:6px;margin-bottom:28px;padding:10px 16px;font-size:.82rem;display:flex}.csv-result-actions{justify-content:center;gap:10px;display:flex}@media (width<=600px){.csv-form-grid{grid-template-columns:1fr}.csv-radio-group{flex-direction:column}.csv-steps{flex-wrap:wrap;gap:8px}.csv-step-arrow{display:none}.csv-result-grid{flex-direction:column;align-items:center}}.cim-export-row{background:var(--bg-1,#fafaf8);border:1px solid var(--border-1,#e8e8e3);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.9rem;padding:.55rem .7rem;display:flex}.cim-export-label{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-3);font-size:.72rem;font-weight:700}.cim-export-btn{color:var(--fg-2);background:var(--bg-surface,#fff);border:1px solid var(--border-1,#ddddd6);cursor:pointer;border-radius:6px;align-items:center;gap:.3rem;padding:.32rem .6rem;font-size:.76rem;font-weight:600;display:inline-flex}.cim-export-btn:hover:not(:disabled){border-color:var(--p4s-signal,#b8962a);color:var(--fg-1)}.cim-export-btn:disabled{opacity:.6;cursor:default}.cim-export-sep{background:var(--border-1,#ddddd6);width:1px;height:18px}.cim-export-hint{color:var(--fg-3);flex-basis:100%;font-size:.7rem}.cim-zones{grid-template-columns:1fr 1fr;gap:20px;padding:4px 0 8px;display:grid}.cim-zone{background:var(--bg-surface,#fff);border:1px solid var(--border,#e5e7eb);border-radius:10px;flex-direction:column;gap:10px;padding:16px;display:flex}.cim-zone-header{align-items:center;gap:7px;display:flex}.cim-zone-title{color:var(--fg-1,#111827);font-size:.92rem;font-weight:700}.cim-zone-icon.learn{color:#2563eb}.cim-zone-icon.train{color:#7c3aed}.cim-zone-columns{margin:-2px 0 2px}.cim-columns-hint{color:var(--muted,#6b7280);word-break:break-word;font-size:.68rem;line-height:1.5}.cim-mode-label{color:var(--fg-2,#374151);text-transform:uppercase;letter-spacing:.03em;font-size:.73rem;font-weight:600}.cim-mode-group{flex-wrap:wrap;gap:6px;display:flex}.cim-mode-option{border:1.5px solid var(--border,#e5e7eb);background:var(--bg-page,#f9fafb);cursor:pointer;color:var(--fg-2,#374151);-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.cim-mode-option input{display:none}.cim-mode-option.selected{border-color:var(--navy,#1b2b5e);background:var(--navy,#1b2b5e);color:#fff}.cim-mode-option.danger.selected{color:#fff;background:#dc2626;border-color:#dc2626}.cim-mode-option:hover:not(.selected){border-color:var(--navy,#1b2b5e);color:var(--navy,#1b2b5e)}.cim-dropzone{border:2px dashed var(--border,#d1d5db);text-align:center;cursor:pointer;background:var(--bg-page,#fafafa);border-radius:8px;justify-content:center;align-items:center;min-height:72px;padding:16px 12px;transition:border-color .15s,background .15s;display:flex}.cim-dropzone:hover,.cim-dropzone:focus-within{border-color:var(--navy,#1b2b5e);background:#f0f4ff}.cim-dropzone.has-file{cursor:default;background:#f0fdf4;border-style:solid;border-color:#16a34a}.cim-dropzone-empty{flex-direction:column;align-items:center;gap:6px;display:flex}.cim-dz-icon{color:var(--muted,#9ca3af)}.cim-dz-icon.ok{color:#16a34a}.cim-dz-prompt{color:var(--fg-2,#374151);font-size:.8rem;font-weight:500}.cim-dz-hint{color:var(--muted,#9ca3af);font-size:.7rem}.cim-dropzone-file{text-align:left;align-items:center;gap:10px;width:100%;display:flex}.cim-dz-meta{flex:1;min-width:0}.cim-dz-name{color:var(--fg-1,#111827);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.cim-dz-size{color:var(--muted,#9ca3af);font-size:.7rem}.cim-dz-remove{cursor:pointer;color:var(--muted,#9ca3af);background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:2px;display:flex}.cim-dz-remove:hover{color:#dc2626}.cim-zone-preview{flex-direction:column;gap:8px;display:flex}.cim-zone-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:8px 10px;font-size:.78rem}.cim-validation-status{border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;font-weight:600;display:flex}.cim-validation-status.ok{color:#15803d;background:#f0fdf4}.cim-validation-status.err{color:#dc2626;background:#fef2f2}.cim-badges{flex-wrap:wrap;gap:6px;display:flex}.cim-badge{border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.cim-badge.ok{color:#166534;background:#dcfce7}.cim-badge.err{color:#991b1b;background:#fee2e2}.cim-badge.warn{color:#854d0e;background:#fef9c3}.cim-error-section{flex-direction:column;gap:4px;display:flex}.cim-error-label{text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:4px;font-size:.7rem;font-weight:700;display:flex}.cim-error-label.cls-err{color:#dc2626}.cim-error-label.cls-warn{color:#d97706}.cim-error-list{flex-direction:column;gap:3px;max-height:140px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.cim-error-item{color:var(--fg-2,#374151);background:var(--bg-page,#f9fafb);border-radius:4px;gap:6px;padding:4px 6px;font-size:.72rem;display:flex}.cim-error-row{color:#dc2626;flex-shrink:0;min-width:38px;font-weight:700}.cim-error-msg{color:var(--fg-2,#374151)}.cim-error-more{color:var(--muted,#9ca3af);justify-content:center;font-style:italic}.cim-preview-wrap{border:1px solid var(--border,#e5e7eb);border-radius:6px;overflow-x:auto}.cim-preview-table{border-collapse:collapse;width:100%;font-size:.72rem}.cim-preview-table th{background:var(--bg-page,#f9fafb);color:var(--muted,#6b7280);text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--border,#e5e7eb);padding:5px 8px;font-weight:600}.cim-preview-table td{color:var(--fg-2,#374151);border-bottom:1px solid var(--border,#f3f4f6);vertical-align:top;padding:5px 8px}.cim-preview-table tr.invalid td{background:#fff5f5}.cim-preview-table tr:last-child td{border-bottom:none}.cim-preview-table td.num{font-variant-numeric:tabular-nums;width:36px;color:var(--muted,#6b7280)}.cim-preview-table td.mono{text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-family:monospace;font-size:.68rem;overflow:hidden}.cim-preview-table td.dim{color:var(--muted,#9ca3af)}.cim-preview-table td.prompt{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.cim-preview-table td.status{text-align:center;width:28px}.cim-preview-table .ok{color:#16a34a}.cim-preview-table .err{color:#dc2626}.cim-type-tag{background:var(--bg-page,#f3f4f6);color:var(--fg-2,#374151);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:.68rem;display:inline-block}.cim-preview-more{text-align:center;color:var(--muted,#9ca3af);border-top:1px solid var(--border,#e5e7eb);padding:5px 8px;font-size:.7rem}.cim-type-breakdown{flex-wrap:wrap;gap:6px;display:flex}.cim-type-pill{background:var(--bg-page,#f3f4f6);color:var(--fg-2,#374151);border-radius:12px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.cim-type-pill.critical{color:#991b1b;background:#fee2e2}.cim-create-notice{color:var(--fg-1,#111827);background:#eff6ff;border:1.5px solid #3b82f6;border-radius:8px;gap:10px;padding:10px 14px;font-size:.8rem;line-height:1.4;display:flex}.cim-cn-icon{color:#2563eb;flex-shrink:0;margin-top:2px}.cim-cn-list{color:#1d4ed8;flex-direction:column;gap:2px;margin:4px 0 0;padding-left:18px;font-family:monospace;font-size:.77rem;display:flex}.cim-replace-warning{background:#fff7ed;border:1.5px solid #f97316;border-radius:8px;gap:10px;padding:12px 14px;display:flex}.cim-rw-icon{color:#ea580c;flex-shrink:0;margin-top:1px}.cim-rw-body{color:var(--fg-1,#111827);flex-direction:column;gap:8px;font-size:.8rem;line-height:1.4;display:flex}.cim-rw-learners{color:#c2410c;font-weight:500}.cim-rw-confirm{cursor:pointer;align-items:flex-start;gap:7px;font-size:.78rem;font-weight:500;display:flex}.cim-rw-confirm input{cursor:pointer;accent-color:#ea580c;margin-top:1px}.cim-footer{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.cim-footer-right{align-items:center;gap:8px;display:flex}.cim-global-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:4px;padding:10px 14px;font-size:.82rem}.cim-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:8px 0 4px;display:flex}.cim-success-icon{color:#16a34a}.cim-success-sub{color:var(--fg-2,#374151);margin:0;font-size:.9rem}.cim-success-grid{justify-content:center;gap:24px;display:flex}.cim-success-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.cim-ss-value{color:var(--navy,#1b2b5e);font-size:1.8rem;font-weight:800}.cim-ss-label{color:var(--muted,#6b7280);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.cim-success-note{color:var(--muted,#6b7280);margin:0;font-size:.8rem}.cim-success-actions{margin-top:4px}.btn-ghost{color:var(--fg-2,#374151);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:.82rem}.btn-ghost:hover{background:var(--bg-page,#f3f4f6)}@media (width<=680px){.cim-zones{grid-template-columns:1fr}}.cim-routing-panel{border-top:1px solid #e5e7eb;margin-top:8px;padding:16px 0 2px}.cim-routing-title{color:#111827;align-items:baseline;gap:8px;margin-bottom:10px;font-size:.85rem;font-weight:600;display:flex}.cim-routing-hint{color:#6b7280;font-size:.75rem;font-weight:400}.cim-routing-rows{flex-direction:column;gap:6px;display:flex}.cim-routing-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.cim-routing-info{align-items:center;gap:5px;min-width:0;font-size:.82rem;display:flex;overflow:hidden}.cim-routing-role{color:#374151;white-space:nowrap;font-weight:500}.cim-routing-level{color:#6b7280;white-space:nowrap}.cim-routing-name{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.cim-routing-sep{color:#d1d5db;flex-shrink:0}.cim-routing-badge{white-space:nowrap;border-radius:99px;flex-shrink:0;padding:2px 8px;font-size:.7rem;font-weight:600}.cim-routing-badge.existing{color:#166534;background:#dcfce7}.cim-routing-badge.will_create{color:#92400e;background:#fef3c7}.cim-routing-badge.not_found{color:#991b1b;background:#fee2e2}.cim-routing-select{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:5px;max-width:280px;padding:4px 8px;font-size:.78rem}.cim-routing-select:focus{border-color:#1b2b5e;outline:none;box-shadow:0 0 0 2px #1b2b5e1a}.path-module-page{background:var(--bg-app);min-height:100vh;color:var(--fg-1);flex-direction:column;display:flex}.pm-app-header{z-index:40;background:var(--paper);border-bottom:1px solid var(--rule,var(--border-1));align-items:center;gap:18px;height:60px;padding:0 24px;display:flex;position:sticky;top:0}.pm-brand{color:var(--fg-1);align-items:center;gap:10px;display:inline-flex}.pm-brand-mark{border-radius:var(--r-md);background:var(--p4s-ink);width:28px;height:28px;font-family:var(--font-display);color:var(--fg-inverse);justify-content:center;align-items:center;font-size:14px;font-weight:800;display:inline-flex}.pm-brand-mark b,.pm-brand-word b{color:var(--p4s-signal)}.pm-brand-word{font-family:var(--font-display);letter-spacing:-.025em;font-size:15px;font-weight:760}.pm-app-nav{align-items:center;gap:6px;display:flex}.pm-nav-pill,.pm-ghost,.pm-primary,.pm-shortcuts-toggle{border-radius:var(--r-md);min-height:34px;font-family:var(--font-sans);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:650;display:inline-flex}.pm-nav-pill,.pm-ghost,.pm-shortcuts-toggle{color:var(--fg-2);background:0 0;border:1px solid #0000;padding:0 11px}.pm-nav-pill:hover,.pm-ghost:hover,.pm-shortcuts-toggle:hover,.pm-nav-pill.active{background:var(--bg-subtle);color:var(--fg-1)}.pm-app-spacer{flex:1}.pm-streak{border-radius:var(--r-pill);background:var(--p4s-signal-50);min-height:32px;color:var(--p4s-signal-700);font-family:var(--font-mono);align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:650;display:inline-flex}.pm-avatar{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7 55%,#ff5a1f);border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;font-weight:800;display:grid}.pm-signout:disabled,.pm-primary:disabled,.pm-ghost:disabled{opacity:.48;cursor:default;transform:none}.pm-sub-header{z-index:30;border-bottom:1px solid var(--rule,var(--border-1));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;position:sticky;top:60px}.pm-module-row{align-items:center;gap:16px;min-height:78px;padding:13px 24px 12px;display:flex}.pm-back-btn{border-radius:var(--r-md);min-height:34px;color:var(--fg-2);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:13px;font-weight:650;display:inline-flex}.pm-back-btn:hover{background:var(--bg-subtle);color:var(--fg-1)}.pm-header-divider{background:var(--rule,var(--border-1));width:1px;height:36px}.pm-header-titles{flex-direction:column;gap:5px;min-width:0;display:flex}.pm-level-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);align-items:center;gap:7px;font-size:10px;font-weight:700;display:inline-flex}.pm-level-label i,.pm-section-tag i,.pm-card-list-item i{background:var(--p4s-signal);border-radius:50%;flex:0 0 6px;width:6px;height:6px}.pm-module-name{color:var(--fg-1);font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:22px;font-weight:760;line-height:1.18}.pm-module-stats{align-items:center;gap:8px;margin-left:auto;display:flex}.pm-stat-chip{border:1px solid var(--rule,var(--border-1));border-radius:var(--r-md);background:var(--bone);min-height:32px;color:var(--fg-1);align-items:baseline;gap:7px;padding:0 10px;font-size:12px;font-weight:650;display:inline-flex}.pm-stat-chip b{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);font-size:9.5px}.pm-mode-tabs{background:0 0;border-bottom:0;padding:0 24px;display:flex}.pm-tab{min-width:160px;min-height:45px;color:var(--fg-3);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:760;display:inline-flex;position:relative}.pm-tab.active{color:var(--fg-1);border-bottom-color:var(--p4s-ink)}.pm-tab-num{border-radius:var(--r-pill);background:var(--bg-subtle);width:22px;height:22px;color:var(--fg-2);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.pm-tab.active .pm-tab-num{background:var(--p4s-ink);color:var(--fg-inverse)}.pm-tab small{font-family:var(--font-mono);color:var(--fg-3);font-size:10px}.pm-body{flex:1;width:100%;margin:0 auto;padding:32px 24px 80px}.pm-body.learn{max-width:880px}.pm-body.train{max-width:1100px}.pm-learn,.pm-train,.pm-train-result{flex-direction:column;gap:22px;display:flex}.pm-learn-toolbar{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.pm-progress-copy{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);flex:1;justify-content:space-between;gap:12px;font-size:11px;font-weight:700;display:flex}.pm-progress-copy b{color:var(--fg-1)}.pm-learn-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.pm-summary-pill{border-radius:var(--r-pill);min-height:28px;font-family:var(--font-mono);align-items:center;padding:0 9px;font-size:10px;font-weight:700;display:inline-flex}.pm-summary-pill.success{background:var(--success-bg);color:#00734f}.pm-summary-pill.warning{background:var(--warning-bg);color:#7a5300}.pm-summary-pill.danger{background:var(--danger-bg);color:var(--danger)}.pm-progress-bar{border-radius:var(--r-pill);background:var(--border-1);height:6px;position:relative;overflow:visible}.pm-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--p4s-ink), var(--p4s-signal));height:100%;transition:width .32s var(--ease-out)}.pm-progress-dots{justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0}.pm-progress-dot{border:2px solid var(--border-2);background:var(--paper);cursor:pointer;width:14px;height:14px;transition:transform .12s var(--ease-out), background .12s var(--ease-out), box-shadow .12s var(--ease-out);border-radius:50%}.pm-progress-dot.visited{background:var(--p4s-ink);border-color:var(--p4s-ink)}.pm-progress-dot.current{background:var(--p4s-signal);border-color:var(--p4s-signal);transform:scale(1.3);box-shadow:0 0 0 4px #ff5a1f38}.pm-progress-dot.rated.success{background:var(--success);border-color:var(--success)}.pm-progress-dot.rated.warning{background:var(--warning);border-color:var(--warning)}.pm-progress-dot.rated.danger{background:var(--danger);border-color:var(--danger)}.pm-card{border:1px solid var(--rule,var(--border-1));border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-md);animation:pm-card-in .24s var(--ease-out) both;flex-direction:column;gap:22px;padding:30px;display:flex}.pm-card.slide-back{animation-name:pm-card-in-back}@keyframes pm-card-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes pm-card-in-back{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}.pm-card-header{flex-direction:column;gap:10px;display:flex}.pm-section-tag{border-radius:var(--r-pill);background:var(--p4s-signal-50);min-height:25px;color:var(--p4s-signal-700);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;align-self:flex-start;align-items:center;gap:7px;padding:0 9px;font-size:10px;font-weight:750;display:inline-flex}.pm-card-title{color:var(--fg-1);font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:28px;font-weight:780;line-height:1.08}.pm-card-content{flex-direction:column;gap:14px;display:flex}.pm-card-body{color:var(--fg-2);white-space:pre-wrap;margin:0;font-size:15px;line-height:1.65}.pm-card-list{flex-direction:column;gap:8px;display:flex}.pm-card-list-item{border:1px solid var(--rule,var(--border-1));border-radius:var(--r-md);background:var(--bone);color:var(--fg-1);align-items:flex-start;gap:10px;padding:10px 12px;font-size:14px;line-height:1.45;display:flex}.pm-card-list-item i{margin-top:7px}.pm-callout{border-radius:var(--r-md);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.5;display:flex}.pm-callout.warn{background:var(--warning-bg);color:#7a5300;border:1px solid #f5d783}.pm-callout.info{background:var(--info-bg);color:#1e40af;border:1px solid #bcd0ff}.pm-card-takeaway{border-left:3px solid var(--p4s-signal);border-radius:0 var(--r-md) var(--r-md) 0;background:linear-gradient(90deg, var(--p4s-signal-50), #ffeee566);flex-direction:column;gap:7px;padding:14px 16px;display:flex}.pm-card-takeaway span,.pm-card-footer span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--p4s-signal-700);align-items:center;gap:6px;font-size:10px;font-weight:800;display:inline-flex}.pm-card-takeaway p{color:var(--fg-1);margin:0;font-size:14.5px;font-weight:650;line-height:1.5}.pm-card-footer{align-items:center;gap:8px;padding-top:2px;display:flex}.pm-card-footer span{color:var(--fg-3)}.pm-card-footer code{border-radius:var(--r-sm);background:var(--bg-subtle);color:var(--fg-1);font-family:var(--font-mono);padding:4px 7px;font-size:11px}.pm-card-confidence{border:1px solid var(--rule,var(--border-1));border-radius:var(--r-lg);background:var(--paper);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.pm-confidence-btn{border:1px solid var(--rule,var(--border-1));border-radius:var(--r-md);background:var(--paper);min-height:48px;color:var(--fg-1);cursor:pointer;justify-content:center;align-items:center;gap:9px;font-size:13px;font-weight:750;display:flex}.pm-confidence-btn kbd,.pm-shortcuts kbd{border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--bone);min-width:22px;height:22px;color:var(--fg-2);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.pm-confidence-btn.success:hover,.pm-confidence-btn.success.active{background:var(--success-bg);border-color:var(--success);color:#00734f}.pm-confidence-btn.warning:hover,.pm-confidence-btn.warning.active{background:var(--warning-bg);border-color:var(--warning);color:#7a5300}.pm-confidence-btn.danger:hover,.pm-confidence-btn.danger.active{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.pm-learn-nav{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.pm-learn-nav .pm-primary{justify-self:end}.pm-primary{border:1px solid var(--p4s-ink);background:var(--p4s-ink);color:var(--fg-inverse);padding:0 14px}.pm-primary:hover{transform:translateY(-1px)}.pm-primary.signal{border-color:var(--p4s-signal);background:var(--p4s-signal);color:#fff}.pm-shortcuts-toggle{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;justify-self:center;font-size:10.5px}.pm-shortcuts{color:var(--fg-3);font-family:var(--font-mono);text-transform:uppercase;justify-content:center;align-items:center;gap:7px;font-size:10.5px;display:flex}.pm-train-intro{color:var(--fg-3);margin:0;font-size:14px}.pm-questions{flex-direction:column;gap:32px;display:flex}.pm-question-block{border:1px solid var(--rule,var(--border-1));border-radius:var(--r-lg);background:var(--paper);max-width:674px;box-shadow:var(--shadow-xs);flex-direction:column;gap:16px;padding:26px 24px 24px;display:flex}.pm-question-number{font-family:var(--font-mono);letter-spacing:.06em;color:#48648a;font-size:11px;font-weight:800}.pm-fieldset{border:0;flex-direction:column;gap:12px;margin:0;padding:0;display:flex}.pm-question-prompt{color:var(--fg-1);margin:0;font-size:16px;font-weight:760;line-height:1.45}.pm-multi-hint{color:var(--fg-3);margin-left:6px;font-size:12px;font-weight:500}.pm-options{flex-direction:column;gap:9px;display:flex}.pm-option{border:1px solid var(--rule,var(--border-1));border-radius:var(--r-md);background:var(--paper);min-height:42px;color:var(--fg-1);cursor:pointer;align-items:center;gap:10px;padding:9px 13px;font-size:14.5px;display:flex}.pm-option:hover,.pm-option.selected{border-color:var(--p4s-ink);background:var(--bg-subtle)}.pm-option input{accent-color:var(--p4s-ink)}.pm-sequence-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pm-sequence-item{border:1px solid var(--rule,var(--border-1));border-radius:var(--r-md);background:var(--paper);align-items:center;gap:10px;padding:9px 12px;display:flex}.pm-sequence-number{background:var(--p4s-ink);color:#fff;width:24px;height:24px;font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.pm-sequence-text{color:var(--fg-1);flex:1;font-size:14px}.pm-sequence-controls{gap:4px;display:flex}.pm-seq-btn{border:1px solid var(--rule,var(--border-1));border-radius:var(--r-sm);background:var(--bone);width:28px;height:28px;color:var(--fg-2);cursor:pointer;place-items:center;display:grid}.pm-seq-btn:disabled{opacity:.4;cursor:default}.pm-train-submit-row{align-items:center;gap:12px;display:flex}.pm-submit-hint{color:var(--fg-3);font-size:13px}.pm-result-banner{border-radius:var(--r-lg);background:var(--paper);border:1px solid;align-items:center;gap:16px;padding:22px;display:flex}.pm-result-banner.pass{background:var(--success-bg);border-color:var(--success)}.pm-result-banner.fail{background:var(--danger-bg);border-color:var(--danger)}.pm-result-big-icon{border-radius:var(--r-md);background:#ffffffad;place-items:center;width:48px;height:48px;display:grid}.pm-result-banner h2{color:var(--fg-1);letter-spacing:-.02em;margin:0 0 4px;font-size:22px}.pm-result-banner p{color:var(--fg-2);margin:0;font-size:14px}.pm-result-critical-notice{border-radius:var(--r-md);background:var(--warning-bg);color:#7a5300;border:1px solid #f5d783;margin:0;padding:12px 14px}.pm-missed-section{flex-direction:column;gap:12px;display:flex}.pm-missed-section h3{color:var(--fg-1);margin:0;font-size:16px;font-weight:760}.pm-result-card{border:1px solid var(--rule,var(--border-1));border-radius:var(--r-lg);background:var(--paper);flex-direction:column;gap:9px;padding:16px;display:flex}.pm-result-card.correct{background:#d6f4e873;border-color:#00b07c59}.pm-result-card.incorrect{background:#ffe0e173;border-color:#e5484d59}.pm-result-header{color:var(--fg-1);align-items:center;gap:8px;font-size:13px;font-weight:750;display:flex}.pm-result-icon{color:currentColor;display:inline-flex}.pm-result-critical-badge,.pm-result-topic{border-radius:var(--r-pill);background:var(--bg-subtle);color:var(--fg-3);font-family:var(--font-mono);text-transform:uppercase;padding:2px 7px;font-size:10px}.pm-result-critical-badge{background:var(--danger-bg);color:var(--danger)}.pm-result-prompt,.pm-result-explanation{color:var(--fg-2);margin:0;font-size:14px;line-height:1.5}.pm-result-answers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pm-result-answers div{border-radius:var(--r-md);background:#ffffffb3;flex-direction:column;gap:4px;padding:10px;display:flex}.pm-result-answers b{color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.pm-review-btn{align-self:flex-start}.pm-preview-banner{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;margin-bottom:1rem;padding:.5rem .875rem;font-size:.8rem;font-weight:500}.pm-train-topbar{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.pm-train-overline{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);font-size:11px;font-weight:800;display:block}.pm-train-topbar p{color:var(--fg-3);margin:5px 0 0;font-size:13px}.pm-score-pills{align-items:center;gap:8px;display:flex}.pm-score-pills span{border-radius:var(--r-pill);min-height:30px;font-family:var(--font-mono);text-transform:uppercase;align-items:center;gap:6px;padding:0 10px;font-size:10.5px;font-weight:800;display:inline-flex}.pm-score-pills .correct{background:var(--success-bg);color:var(--success)}.pm-score-pills .wrong{background:var(--danger-bg);color:var(--danger)}.pm-train-segments{gap:3px;display:flex}.pm-train-segment{border-radius:var(--r-pill);background:var(--rule,var(--border-1));flex:1 1 0;height:6px}.pm-train-segment.current{background:var(--p4s-ink);box-shadow:0 0 0 3px #0f14191f}.pm-train-segment.correct{background:var(--success)}.pm-train-segment.wrong{background:var(--danger)}.pm-train-card{border:1px solid var(--rule,var(--border-1));border-radius:var(--r-lg);background:var(--paper);max-width:760px;box-shadow:var(--shadow-md);animation:pm-question-fade .2s var(--ease-out) both;flex-direction:column;gap:24px;padding:32px 36px;display:flex}@keyframes pm-question-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.pm-train-card-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.pm-train-card-head>span{color:var(--fg-1);font-family:var(--font-mono);letter-spacing:-.02em;font-size:20px;font-weight:800}.pm-flag-btn{border-radius:var(--r-md);min-height:32px;color:var(--fg-2);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:0 10px;font-size:12.5px;font-weight:700;display:inline-flex}.pm-flag-btn:hover{background:var(--bg-subtle);color:var(--fg-1)}.pm-flag-btn.flagged{border-color:var(--warning);background:var(--warning-bg);color:#7a5300}.pm-train-prompt{color:var(--fg-1);font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:780;line-height:1.35}.pm-train-options{flex-direction:column;gap:10px;display:flex}.pm-train-option{border:1px solid var(--rule,var(--border-1));border-radius:var(--r-md);background:var(--paper);min-height:56px;color:var(--fg-1);text-align:left;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);align-items:center;gap:12px;padding:16px 18px;font-size:15px;font-weight:600;display:flex}.pm-train-option:hover:not(:disabled){background:var(--bg-subtle);transform:translate(2px)}.pm-train-option:focus-visible,.pm-flag-btn:focus-visible,.pm-primary:focus-visible,.pm-ghost:focus-visible,.pm-shortcuts-toggle:focus-visible{box-shadow:var(--shadow-focus);outline:none}.pm-train-option kbd{border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--bone);width:28px;height:28px;color:var(--fg-2);font-family:var(--font-mono);flex:0 0 28px;justify-content:center;align-items:center;font-size:12px;font-weight:850;display:inline-flex}.pm-train-option span{flex:1}.pm-train-option.selected{border-color:var(--p4s-ink);box-shadow:0 0 0 3px #0f141914}.pm-train-option.selected kbd{background:var(--p4s-ink);border-color:var(--p4s-ink);color:var(--fg-inverse)}.pm-train-option.correct{border-color:var(--success);background:var(--success-bg);color:var(--fg-1);font-weight:800}.pm-train-option.wrong{border-color:var(--danger);background:var(--danger-bg);animation:.28s linear both pm-wrong-shake}.pm-train-option.muted{opacity:.55}.pm-outcome-icon{color:#fff;width:24px;height:24px;animation:pm-outcome-pop .28s var(--ease-out) both;border-radius:50%;flex:0 0 24px;justify-content:center;align-items:center;display:inline-flex}.pm-outcome-icon.correct{background:var(--success)}.pm-outcome-icon.wrong{background:var(--danger)}@keyframes pm-outcome-pop{0%{transform:scale(.96)}55%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes pm-wrong-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}}.pm-train-feedback{border-radius:var(--r-lg);align-items:flex-start;gap:12px;padding:16px;display:flex}.pm-train-feedback.correct{background:var(--success-bg);color:var(--success)}.pm-train-feedback.wrong{background:var(--danger-bg);color:var(--danger)}.pm-train-feedback>span{color:#fff;background:currentColor;border-radius:50%;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.pm-train-feedback h3{color:var(--fg-1);margin:0 0 4px;font-size:16px;font-weight:800}.pm-train-feedback p{color:var(--fg-2);margin:0;font-size:14px;line-height:1.5}.pm-train-footer{justify-content:space-between;align-items:flex-start;gap:16px;max-width:760px;display:flex}.pm-shortcuts.train{flex-wrap:wrap;justify-content:flex-start;margin-top:8px}.pm-results-screen{flex-direction:column;gap:20px;display:flex}.pm-results-hero{border-radius:var(--r-xl);color:var(--fg-inverse);background:linear-gradient(135deg, var(--p4s-ink), #4a2419);box-shadow:var(--shadow-lg);padding:34px;position:relative;overflow:hidden}.pm-results-hero.pass{background:linear-gradient(135deg, var(--p4s-ink), #14513a)}.pm-results-glow{pointer-events:none;background:radial-gradient(circle,#ff5a1f38,#0000 62%);border-radius:50%;width:600px;height:600px;position:absolute;top:-250px;right:-220px}.pm-results-hero.pass .pm-results-glow{background:radial-gradient(circle,#00b07c47,#0000 62%)}.pm-results-overline{z-index:1;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#fafaf7c7;align-items:center;gap:8px;font-size:11px;font-weight:850;display:flex;position:relative}.pm-results-overline i{background:var(--p4s-signal);border-radius:50%;width:7px;height:7px}.pm-results-hero.pass .pm-results-overline i{background:var(--success)}.pm-results-score{z-index:1;font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.04em;align-items:baseline;gap:4px;margin-top:14px;display:flex;position:relative}.pm-results-score span{font-size:80px;font-weight:850;line-height:.9}.pm-results-score b{color:var(--p4s-signal);font-size:44px;line-height:1}.pm-results-hero.pass .pm-results-score b{color:var(--success)}.pm-results-sub,.pm-results-body{z-index:1;color:#fafaf7c7;margin:8px 0 0;font-size:15px;position:relative}.pm-results-stats{z-index:1;flex-wrap:wrap;gap:10px;margin-top:22px;display:flex;position:relative}.pm-results-stats span{border-radius:var(--r-md);min-height:42px;color:var(--fg-inverse);font-family:var(--font-mono);background:#fafaf714;border:1px solid #fafaf72e;align-items:center;gap:10px;padding:0 13px;font-size:12px;display:inline-flex}.pm-results-stats b{color:#fafaf794;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.pm-results-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pm-review-list{border:1px solid var(--rule,var(--border-1));border-radius:var(--r-lg);background:var(--paper);overflow:hidden}.pm-review-list-head{border-bottom:1px solid var(--rule,var(--border-1));justify-content:space-between;align-items:baseline;gap:12px;padding:16px 18px;display:flex}.pm-review-list-head h3{color:var(--fg-1);margin:0;font-size:16px;font-weight:800}.pm-review-list-head span{color:var(--fg-3);font-family:var(--font-mono);text-transform:uppercase;font-size:11px}.pm-review-row{border-left:3px solid var(--success);border-bottom:1px solid var(--rule,var(--border-1));flex-direction:column;gap:7px;padding:15px 18px;display:flex}.pm-review-row:last-child{border-bottom:0}.pm-review-row.incorrect{border-left-color:var(--danger);background:#ffe0e12e}.pm-review-row-head{grid-template-columns:auto auto 1fr;align-items:center;gap:8px;display:grid}.pm-review-qid,.pm-review-time{font-family:var(--font-mono);color:var(--fg-3);font-size:11px;font-weight:800}.pm-review-time{justify-self:end}.pm-review-status{border-radius:var(--r-pill);font-family:var(--font-mono);text-transform:uppercase;padding:3px 8px;font-size:10px;font-weight:800}.pm-review-status.correct{background:var(--success-bg);color:var(--success)}.pm-review-status.incorrect{background:var(--danger-bg);color:var(--danger)}.pm-review-prompt{color:var(--fg-1);margin:0;font-size:14px;font-weight:750;line-height:1.45}.pm-review-answer{margin:0;font-size:13.5px;line-height:1.45}.pm-review-answer b{color:var(--fg-3)}.pm-review-answer.correct{color:var(--success)}.pm-review-answer.wrong{color:var(--danger);text-decoration:line-through}.pm-review-explain{color:var(--fg-2);margin:0;font-size:13px;font-style:italic;line-height:1.5}.pm-learn-done,.pm-learn-required,.pm-loading,.pm-error,.pm-empty{text-align:center;color:var(--fg-2);flex-direction:column;align-items:center;gap:12px;padding:48px 20px;display:flex}.pm-done-icon{background:var(--success-bg);width:56px;height:56px;color:var(--success);border-radius:50%;place-items:center;display:grid}.pm-learn-done h2,.pm-learn-required h2{color:var(--fg-1);letter-spacing:-.02em;margin:0;font-size:22px}.pm-learn-done p,.pm-learn-required p{margin:0}.pm-error{color:var(--danger)}@media (width<=760px){.pm-app-header{gap:10px;padding:0 14px}.pm-brand-word,.pm-app-nav,.pm-streak,.pm-signout span{display:none}.pm-module-row{flex-wrap:wrap;align-items:flex-start;padding:14px}.pm-header-divider{display:none}.pm-module-stats{width:100%;margin-left:0}.pm-mode-tabs{padding:0 14px}.pm-tab{flex:1;min-width:0}.pm-body{padding:24px 14px 64px}.pm-learn-toolbar{flex-direction:column;align-items:stretch}.pm-progress-copy{width:100%}.pm-card{padding:22px 18px}.pm-card-title{font-size:24px}.pm-card-confidence,.pm-learn-nav{grid-template-columns:1fr}.pm-learn-nav .pm-primary,.pm-shortcuts-toggle{justify-self:stretch}.pm-question-block{max-width:none;padding:20px 16px}.pm-result-answers{grid-template-columns:1fr}}
