:root{--brand:#4f46e5;--brand-soft:#eef2ff;--bg:#f8fafc;--card:#fff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--card-border:#cbd5e1;--picked:#e0e7ff;--ok:#16a34a;--ok-soft:#dcfce7;--warn:#b45309;--warn-soft:#fef3c7;--radius:12px;--tabbar-h:64px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}.shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:10;padding:calc(env(safe-area-inset-top) + 14px) 16px 14px;background:var(--brand);color:#fff;font-size:18px;font-weight:600;position:sticky;top:0}.content{width:100%;max-width:720px;padding:16px 16px calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 16px);flex:1;margin:0 auto}.tabbar{z-index:10;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:12px;text-decoration:none;display:flex}.tab-icon{font-size:18px}.tab.active{color:var(--brand);font-weight:600}.page-title{margin:4px 0 16px;font-size:22px}.path{margin-bottom:24px}.path-title{color:var(--muted);margin:0 0 10px;font-size:15px;font-weight:600}.card-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);gap:10px;padding:14px;display:grid}.card-row{align-items:center;gap:12px;display:flex}.seq{background:var(--brand-soft);width:32px;height:32px;color:var(--brand);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.card-main{flex:1;min-width:0}.card-title{font-weight:600}.card-meta{color:var(--muted);margin-top:2px;font-size:13px}.badge{background:var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:4px 8px;font-size:11px}.badge.done{background:var(--ok-soft);color:var(--ok)}.badge.progress-badge{background:var(--warn-soft);color:var(--warn)}.progress{background:var(--border);border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:var(--brand);height:100%;transition:width .3s}.muted{color:var(--muted)}.error{color:#b91c1c}.center-screen{place-items:center;min-height:100dvh;padding:24px;display:grid}.signin-card{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:360px;padding:32px 24px}.signin-card h1{margin:12px 0 4px}.signin-logo{border-radius:16px}.signin-hint{margin:12px 0 0;font-size:13px}.signin-alt{color:var(--brand);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:8px;font-size:14px;text-decoration:underline}.btn-primary,.btn-secondary{cursor:pointer;border-radius:10px;width:100%;padding:12px 16px;font-size:16px;font-weight:600}.btn-primary{background:var(--brand);color:#fff;border:none;margin-top:16px}.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border);margin-top:16px}.profile{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0}.profile dt{color:var(--muted)}.profile dd{word-break:break-word;margin:0;font-weight:500}.card-link{color:inherit;text-decoration:none}.back-link{color:var(--brand);margin:0 0 12px;font-weight:600;text-decoration:none;display:inline-block}.player-frame{aspect-ratio:16/9;background:#000;margin:0 -16px}.player-video{background:#000;width:100%;height:100%;display:block}@media (width>=720px){.player-frame{border-radius:var(--radius);margin:0;overflow:hidden}}.player-title{margin:14px 0 12px;font-size:18px}.video-notes{margin-bottom:12px}.video-notes-text{white-space:pre-line;overflow-wrap:anywhere;margin:6px 0 0;font-size:15px;line-height:1.5}.video-notes-toggle{padding:6px 0 0}.hint{color:var(--muted);margin:0;font-size:13px}.done-banner{border-radius:var(--radius);background:var(--ok-soft);color:var(--ok);text-align:center;margin-top:12px;padding:14px;font-weight:600}.btn-link{text-align:center;text-decoration:none;display:block}:root{--fail:#b91c1c;--fail-soft:#fee2e2}.badge.fail-badge{background:var(--fail-soft);color:var(--fail)}.text-ok{color:var(--ok);font-weight:600}.text-fail{color:var(--fail);font-weight:600}.card-group{display:grid}.card-group>.card:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.quiz-cta{text-align:center;background:var(--brand);color:#fff;border-radius:0 0 var(--radius) var(--radius);padding:12px 14px;font-weight:600;text-decoration:none;display:block}.quiz-cta:active{opacity:.85}.quiz-panel{margin-top:12px}.quiz-panel-btn{margin-top:0}.done-banner .btn-link{margin-top:12px}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--brand);margin:0;font-size:12px;font-weight:700}.facts{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:500}.quiz-rules{margin:16px 0 0}.notice{border-radius:var(--radius);background:var(--warn-soft);color:var(--warn);margin-top:16px;padding:14px;font-weight:500}.question{min-width:0}.question-count{color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:600}.question-text{margin:18px 0 6px;padding:0;font-size:19px;font-weight:600;line-height:1.35}.question-img,.option-img{border-radius:8px;max-width:100%;margin-top:8px;display:block}.options{gap:10px;margin-top:12px;display:grid}.option{cursor:pointer;border-radius:var(--radius);background:var(--card);border:2px solid var(--border);-webkit-tap-highlight-color:transparent;align-items:flex-start;gap:12px;min-height:52px;padding:14px;display:flex}.option input{width:20px;height:20px;accent-color:var(--brand);flex:none;margin:1px 0 0}.option-text{flex:1;line-height:1.4}.option.selected{border-color:var(--brand);background:var(--brand-soft)}.quiz-nav{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));background:var(--bg);grid-template-columns:1fr 2fr;gap:10px;margin:16px -16px 0;padding:12px 16px;display:grid;position:sticky}.quiz-nav button{margin-top:0}button:disabled{opacity:.45;cursor:not-allowed}.result-hero{border-radius:var(--radius);align-items:center;gap:16px;padding:18px;display:flex}.result-hero.pass{background:var(--ok-soft);color:var(--ok)}.result-hero.fail{background:var(--fail-soft);color:var(--fail)}.score-ring{--size:84px;width:var(--size);height:var(--size);background:conic-gradient(currentColor calc(var(--pct) * 1%), #00000014 0);border-radius:50%;flex:none;place-items:center;display:grid}.score-ring span{width:calc(var(--size) - 16px);height:calc(var(--size) - 16px);background:var(--card);color:var(--text);border-radius:50%;place-items:center;font-size:18px;font-weight:700;display:grid}.result-title{font-size:20px;font-weight:700}.result-sub{color:var(--text);opacity:.8;margin-top:2px;font-size:14px}.result-actions{gap:0;display:grid}.result-actions .notice{margin-bottom:0}.review-title{margin-top:28px}.review{gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.review-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);border-left-width:4px;padding:12px 14px}.review-item.ok{border-left-color:var(--ok)}.review-item.bad{border-left-color:var(--fail)}.review-q{gap:8px;font-weight:600;display:flex}.review-mark{flex:none}.review-item.ok .review-mark{color:var(--ok)}.review-item.bad .review-mark{color:var(--fail)}.review-answers{gap:4px;margin:8px 0 0 22px;padding:0;font-size:14px;list-style:none;display:grid}.review-answers .right{color:var(--ok)}.review-answers .chosen{color:var(--muted)}.tag{background:var(--border);color:var(--muted);vertical-align:1px;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px;display:inline-block}.tag-ok{background:var(--ok-soft);color:var(--ok)}:root{--input-h:46px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.center{text-align:center}.admin-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-head .page-title{overflow-wrap:anywhere;min-width:0}.admin-head .btn-small{margin-top:4px}.admin-tile{align-items:center;gap:12px;display:flex}.admin-tile .card-title,.admin-tile .card-meta{display:block}.admin-tile-icon{text-align:center;flex:none;width:40px;font-size:24px}.chev{color:var(--muted);flex:none;font-size:22px}.btn-small{cursor:pointer;background:var(--brand);color:#fff;white-space:nowrap;border:none;border-radius:10px;flex:none;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn-danger{cursor:pointer;background:var(--fail);color:#fff;border:none;border-radius:10px;width:100%;margin-top:16px;padding:12px 16px;font-size:16px;font-weight:600}.link-btn{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:15px;font-weight:600}.link-btn.danger{color:var(--fail)}.icon-btn{cursor:pointer;background:var(--card);border:1px solid var(--border);width:40px;height:40px;color:var(--text);border-radius:10px;flex:none;font-size:16px}.card.dim{opacity:.6}.card-warn{border-color:var(--fail);background:snow}.strip-link{color:var(--brand);background:var(--brand-soft);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);border-top:none;padding:10px 14px;font-size:14px;font-weight:600;text-decoration:none;display:block}.search,.filters select,.filters input,.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea,.add-row select{width:100%;min-height:var(--input-h);font:inherit;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:16px}.form textarea{resize:vertical;line-height:1.4}.search:focus,.filters :is(input,select):focus,.form :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand)}.chips{gap:8px;margin:12px 0;display:flex;overflow-x:auto}.chip{cursor:pointer;border:1px solid var(--border);background:var(--card);min-height:36px;color:var(--text);border-radius:999px;flex:none;padding:0 14px;font-size:14px}.chip.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.filters{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:12px;display:grid}.row-actions{align-items:center;gap:8px;display:flex}.spacer{flex:1}.empty{text-align:center;color:var(--muted);padding:16px 0}.q-list{margin-top:12px}.q-head .card-title{font-weight:600;line-height:1.35}.key-list{color:var(--muted);gap:4px;margin:0;padding:0 0 0 44px;font-size:14px;list-style:none;display:grid}.key-list .right{color:var(--ok);font-weight:600}.form{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.form-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;margin:0;padding:12px 14px 14px;display:grid}.form-section legend{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 6px;font-size:13px;font-weight:700}.field{grid-template-columns:minmax(0,1fr);align-content:start;gap:6px;min-width:0;display:grid}.form select,.filters select,.add-row select{text-overflow:ellipsis;min-width:0;max-width:100%}.field>label{font-size:14px;font-weight:600}.field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.input-with-button{align-items:stretch;gap:8px;display:flex}.input-with-button>input,.input-with-button>select{flex:1;min-width:0}.input-with-button .btn-small{min-height:var(--input-h)}.switch-row{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:flex}.switch-text{flex:1;gap:2px;font-size:15px;font-weight:600;display:grid}.switch-text .hint{font-weight:400}.switch{appearance:none;cursor:pointer;background:var(--border);border-radius:999px;flex:none;width:50px;height:30px;margin:0;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--brand)}.switch:checked:after{transform:translate(20px)}.switch:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.lookup-result{color:var(--ok);align-items:center;gap:10px;font-size:14px;display:flex}.lookup-result img{border-radius:6px;flex:none;width:96px}.answer-edit{gap:8px;margin:0;padding:0;list-style:none;display:grid}.answer-edit li{border:2px solid var(--border);border-radius:var(--radius);background:var(--card);align-items:center;gap:8px;padding:6px 6px 6px 12px;display:flex}.answer-edit li.correct{border-color:var(--ok);background:var(--ok-soft)}.answer-edit input[type=radio],.answer-edit input[type=checkbox]{width:22px;height:22px;accent-color:var(--ok);flex:none;margin:0}.form .answer-edit .answer-text{background:0 0;border:none;flex:1;min-width:0;padding:8px 4px}.form .answer-edit .answer-text:focus{outline:none}.saved{color:var(--ok);margin:0;font-weight:600}.save-bar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:5;background:var(--bg);border-top:1px solid var(--border);gap:8px;margin:0 -16px;padding:12px 16px;display:grid;position:sticky}.save-bar .btn-primary,.save-bar .btn-secondary{margin-top:0}.save-bar .error,.save-bar .hint{margin:0}.two-buttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.result-line{gap:2px;display:grid}.result-video{font-size:14px;font-weight:600}.history{border-collapse:collapse;width:100%;font-size:13px}.history th,.history td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 4px}.history th{color:var(--muted);font-weight:600}.history tr.reset td{color:var(--muted);text-decoration:line-through}.history tr.reset .tag{text-decoration:none;display:inline-block}.sheet{width:100%;max-width:480px;padding:20px 16px calc(16px + env(safe-area-inset-bottom));background:var(--card);color:var(--text);border:none;border-radius:16px 16px 0 0;margin:auto auto 0}.sheet::backdrop{background:#0f172a73}.sheet-title{margin:0 0 8px;font-size:18px}.sheet-body p{margin:0 0 8px}.sheet-actions{display:grid}.sheet-actions button{margin-top:10px}@media (width>=720px){.sheet{border-radius:16px;margin:auto}}.field-label{align-items:center;gap:6px;min-width:0;font-size:14px;font-weight:600;display:inline-flex}.field-label>label{font-size:inherit;font-weight:inherit}.field,.switch-row{position:relative}.tip{display:inline-flex}.tip-btn{cursor:help;border:1px solid var(--muted);background:var(--card);width:18px;height:18px;color:var(--muted);border-radius:50%;place-items:center;padding:0;font:italic 700 11px/1 Georgia,serif;display:grid}.tip-btn:hover,.tip-btn:focus-visible{border-color:var(--brand);color:var(--brand);outline:none}.tip-text{z-index:30;background:var(--text);color:#fff;text-transform:none;letter-spacing:0;pointer-events:none;border-radius:8px;width:max-content;max-width:min(320px,100%);padding:8px 10px;font-size:13px;font-weight:400;line-height:1.4;display:none;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 4px 14px #0f172a40}.tip:hover .tip-text,.tip-btn:focus+.tip-text{display:block}.switch-row .tip-text{bottom:calc(100% + 2px)}.readonly,.form input.readonly{background:var(--bg);color:var(--muted);cursor:default;border-style:dashed}.form input.readonly:focus{border-color:var(--border);outline:none}.preview-frame{aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden}.preview .error{margin:8px 0 0}.preview-empty{aspect-ratio:16/9;border:2px dashed var(--border);background:var(--bg);text-align:center;color:var(--muted);border-radius:10px;place-content:center;justify-items:center;gap:6px;padding:12px;font-size:14px;display:grid}.preview-empty span{opacity:.5;font-size:28px}.preview-empty p,.lookup-result{margin:0}.filter-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.chips .count{color:var(--muted);white-space:nowrap;align-self:center;margin-left:auto;font-size:13px}.filters .chips{margin:0}.card.picked{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);background:var(--picked)}.card:has(>.q-pick.picked){border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);background:var(--picked)}.q-pick{color:inherit;gap:10px;text-decoration:none;display:grid}.section-title{color:var(--muted);margin:20px 0 8px;font-size:15px}.form-cols,.form-col{grid-template-columns:minmax(0,1fr);align-content:start;gap:14px;display:grid}.split-detail,.split.has-detail .split-list{display:none}.split.has-detail .split-detail{display:block}.admin-nav{display:none}.pick-hint{text-align:center;min-height:60vh;color:var(--muted);place-content:center;justify-items:center;gap:12px;display:grid}.pick-hint-icon{opacity:.6;font-size:40px}.pick-hint p{max-width:320px;margin:0}@media (width>=1024px){.topbar{height:var(--topbar-h);align-items:center;padding:0 24px;display:flex}.tabbar{height:var(--topbar-h);z-index:11;background:0 0;border:none;gap:4px;padding:0;inset:0 16px auto auto}.tab{color:#ffffffc7;flex-direction:row;flex:none;gap:8px;padding:0 14px;font-size:15px}.tab.active{color:#fff;box-shadow:inset 0 -3px #fff}.tab-icon{font-size:13px}.content{padding-bottom:32px}.save-bar,.quiz-nav{bottom:0}.shell.wide .content{max-width:none;min-height:0;height:calc(100dvh - var(--topbar-h));flex:none;padding:0;overflow:hidden}.admin-shell{flex-direction:column;height:100%;display:flex}.admin-nav{background:var(--card);border-bottom:1px solid var(--border);flex:none;gap:4px;padding:0 24px;display:flex}.admin-nav-link{color:var(--muted);border-bottom:2px solid #0000;padding:13px 14px 11px;font-size:14px;font-weight:600;text-decoration:none}.admin-nav-link:hover{color:var(--text)}.admin-nav-link.on{color:var(--brand);border-bottom-color:var(--brand)}.admin-main{flex:1;min-height:0}.admin-main>.notice,.admin-main>.muted{margin:24px}.admin-page{height:100%;padding:24px 32px;position:relative;overflow:auto}.tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1100px}.tile-grid .admin-tile{height:100%;padding:20px}.split{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(360px,420px) minmax(0,1fr);height:100%;display:grid}.split-list,.split.has-detail .split-list{border-right:1px solid var(--border);padding:20px 20px 32px;display:block;position:relative;overflow:auto}.split-detail,.split.has-detail .split-detail{background:var(--card);padding:20px 32px 0;display:block;position:relative;overflow:auto}.split-list .back-link,.split-detail .back-link{display:none}.split-detail .form-section{background:var(--bg)}.split-detail .save-bar{background:var(--card);margin:16px -32px 0;padding:12px 32px}.split-detail .save-bar .btn-primary{justify-self:end;width:auto;min-width:220px}.split-detail .two-buttons{justify-content:flex-end;display:flex}.split-detail .two-buttons button{width:auto;min-width:180px}.detail-page{max-width:1200px}.detail-page .form-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.detail-page>.form:not(:has(.form-cols)){max-width:760px}.split-detail .card-list .card{background:var(--card)}.split-detail .history{font-size:14px}.split-detail .history td,.split-detail .history th{padding:8px 6px}.detail-page .sheet-actions button{margin-top:10px}.split-detail .save-bar>div:not(.two-buttons){justify-self:end}.split-detail .save-bar>div>.btn-primary{width:auto;min-width:220px}}.badge.role-badge{background:var(--brand-soft);color:var(--brand)}.pill-stack{flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.person-meta{overflow-wrap:anywhere}.saved-note{border-radius:var(--radius);background:var(--ok-soft);color:var(--ok);overflow-wrap:anywhere;margin:0 0 16px;padding:12px 14px;line-height:1.45}.signin-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.form-section .link-btn{justify-self:start}.change-facts{overflow-wrap:anywhere;font-size:13px}.path-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 10px;display:flex}.path-head .path-title{margin:0}.path-tags{flex-wrap:wrap;gap:6px;display:flex}.path-overdue .path-title{color:var(--fail)}.btn-ghost{color:var(--brand);border:1px solid var(--border);background:0 0}.golive{gap:8px;margin-bottom:12px;display:grid}.golive p{margin:0}.golive .btn-primary{margin-top:4px}.assign-card{gap:10px;display:grid}.reach-line{gap:4px;display:grid}.segmented{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.seg{border:1px solid var(--border);background:var(--card);min-height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:8px 6px;font-size:14px}.seg.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand);box-shadow:0 0 0 1px var(--brand);font-weight:600}.form select.person-pick{height:auto;padding:4px}.form select.person-pick option{padding:6px}.reach-head{font-size:14px}.reach-list{margin:4px 0 0;padding:0;list-style:none;display:grid}.reach-row{border-bottom:1px solid var(--border);color:inherit;align-items:center;gap:10px;padding:10px 0;text-decoration:none;display:flex}.reach-row:hover .reach-name{color:var(--brand)}.reach-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;font-weight:600;display:grid}.reach-name .card-meta{font-weight:400}.reach-pct{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.chip-alert:not(.on){border-color:var(--fail);color:var(--fail)}.inline-check{color:var(--muted);align-items:center;gap:8px;min-height:32px;font-size:14px;display:flex}.inline-check input{width:18px;height:18px;accent-color:var(--brand)}.admin-head .btn-ghost{margin-top:4px}.progress-path{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);gap:8px;margin:0 0 16px;padding:14px;display:grid}.progress-path.is-overdue{border-color:var(--fail)}.progress-path-title{margin:0;font-size:16px}.from-line{overflow-wrap:anywhere}.table-wrap{overflow-x:auto}.items-table td:first-child{width:28px;color:var(--muted)}.items-table .block{display:block}.items-table tr.locked-row td{color:var(--muted)}@media (width<=480px){.hide-sm{display:none}}.home-progress{max-width:1100px;margin-top:24px}.home-progress .section-title{margin-top:0}.dept-bars{gap:4px;margin:12px 0 0;padding:0;list-style:none;display:grid}.dept-bar{color:inherit;grid-template-columns:minmax(0,1fr) 90px;grid-template-areas:"name pct""bar bar";align-items:center;gap:4px 12px;padding:8px 0;text-decoration:none;display:grid}.dept-bar .dept-name{grid-area:name;font-size:14px;font-weight:600}.dept-bar .progress{grid-area:bar}.dept-bar .card-meta{text-align:right;grid-area:pct;margin:0}@media (width>=720px){.dept-bar{grid-template-columns:200px minmax(0,1fr) 140px;grid-template-areas:"name bar pct"}}a.link-btn{text-decoration:none;display:inline-block}.seg{background:var(--seg-bg,#7f7f7f1f);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;margin:4px 0 12px;padding:4px;display:grid}.seg-btn{min-height:40px;color:var(--muted);text-align:center;border-radius:9px;justify-content:center;align-items:center;padding:6px 10px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.seg-btn.on{background:var(--brand);color:#fff}.usage{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:0;display:grid}.usage div{background:#7f7f7f14;border-radius:10px;padding:10px 12px}.usage dt{color:var(--muted);font-size:13px}.usage dd{margin:2px 0 0;font-size:20px;font-weight:700}.form>.link-btn{justify-self:start}.card,.card-group>.strip-link{border-color:var(--card-border)}.card.picked+.strip-link{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.split-detail .card-list .card.picked{background:var(--picked)}.ws-tabs{border-bottom:1px solid var(--border);gap:4px;margin:0 0 16px;display:flex;overflow-x:auto}.ws-tab{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px 9px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.ws-tab:hover{color:var(--text)}.ws-tab.on{color:var(--brand);border-bottom-color:var(--brand)}.ws-count{text-align:center;background:var(--brand-soft);min-width:22px;color:var(--brand);border-radius:999px;padding:1px 7px;font-size:12px}.split-rail{display:none}@media (width>=1024px){.split{grid-template-columns:minmax(360px,420px) 16px minmax(0,1fr)}.split.nested{grid-template-columns:minmax(320px,380px) 16px minmax(0,1fr)}.split.collapsed,.split.nested.collapsed{grid-template-columns:0 36px minmax(0,1fr)}.split.collapsed>.split-list{display:none}.split>.split-list{grid-column:1}.split>.split-rail{grid-column:2}.split>.split-detail{grid-column:3}.split>*{grid-row:1}.split-list,.split.has-detail .split-list{border-right:none}.split-rail{border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--bg);color:var(--muted);cursor:pointer;font:inherit;flex-direction:column;align-items:center;gap:12px;margin:0;padding:14px 0 0;display:flex}.split-rail:hover,.split-rail:focus-visible{background:var(--brand-soft);color:var(--brand);outline:none}.split-rail-icon{background:var(--card);border:1px solid var(--card-border);border-radius:999px;place-items:center;width:22px;height:22px;font-size:16px;font-weight:700;line-height:1;display:grid}.split-rail-label{writing-mode:vertical-rl;letter-spacing:.02em;font-size:13px;font-weight:600}.split>.split-detail:has(>.workspace){padding:0;overflow:hidden}.split.has-detail>.split-detail:has(>.workspace){padding:0;overflow:hidden}.workspace{flex-direction:column;height:100%;display:flex}.workspace>.ws-tabs{background:var(--card);flex:none;margin:0;padding:8px 32px 0}.workspace>.ws-body{flex:1;min-height:0;padding:16px 32px 0;overflow:auto}.workspace>.ws-body:has(>.split){padding:0;overflow:hidden}.ws-body>.split{height:100%}.ws-body>.split>.split-list{background:var(--bg)}}.my-training .page-title{margin-bottom:2px}.mt-summary{margin:0 0 4px;font-size:14px}.my-training .chips{margin:12px 0 18px}.chip{align-items:center;gap:6px;display:inline-flex}.chip-n{text-align:center;background:var(--brand-soft);min-width:20px;color:var(--brand);border-radius:999px;padding:0 6px;font-size:12px;font-weight:600;line-height:18px}.chip.on .chip-n{color:#fff;background:#ffffff38}.lp{margin-bottom:26px}.lp-head{gap:8px;margin:0 0 10px;display:grid}.lp-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.lp-title{margin:0;font-size:17px;font-weight:700}.lp .path-overdue .lp-title,.lp.path-overdue .lp-title{color:var(--fail)}.lp-progress{align-items:center;gap:10px;display:flex}.lp-progress .progress{flex:1}.lp-count{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.my-training .card{gap:10px;padding:14px}.my-training .card-title{font-weight:700;line-height:1.3}.my-training .card-link{min-height:64px}.seq-done{background:var(--ok-soft);color:var(--ok)}.card.locked .seq{font-size:14px}.strip-link{align-items:center;min-height:44px;display:flex}.strip-static{cursor:default}.strip-muted{color:var(--muted)}.strip-alert{color:var(--fail)}.up-next{letter-spacing:.06em;text-transform:uppercase;color:var(--brand);justify-self:start;margin-bottom:-4px;font-size:11px;font-weight:700}.card.locked{opacity:.6}.empty-state{text-align:center;color:var(--muted);justify-items:center;gap:8px;padding:40px 16px;display:grid}.empty-state span{font-size:36px}.empty-state p{max-width:280px;margin:0}@media (width>=1024px){.split.learn>.split-list{background:var(--bg)}.split.learn>.split-detail{padding-bottom:32px}.split.learn>.split-detail>section{max-width:900px;margin:0 auto}.split.learn .quiz-nav{background:var(--card);margin:16px -32px 0;padding:12px 32px}.split.learn .my-training .card.picked{background:var(--picked)}}.dash-card{align-items:center;gap:12px;margin:12px 0 0;display:flex}.dash-card .card-title,.dash-card .card-meta{display:block}.dash-card-score{background:var(--brand-soft);min-width:56px;height:44px;color:var(--brand);font-variant-numeric:tabular-nums;border-radius:10px;flex:none;place-items:center;padding:0 8px;font-size:17px;font-weight:700;display:grid}.dash .page-title{margin-bottom:14px}.dash-next{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px;display:grid}.stat{border-radius:var(--radius);background:var(--card);border:1px solid var(--card-border);align-content:start;gap:2px;padding:12px 14px;display:grid}.stat dt{color:var(--muted);font-size:13px}.stat dd{font-variant-numeric:tabular-nums;margin:0;font-size:24px;font-weight:700}.stat-sub{color:var(--muted);font-size:12px}.dash-charts{gap:12px;display:grid}.dash-chart{border-radius:var(--radius);background:var(--card);border:1px solid var(--card-border);margin:0;padding:14px}.dash-chart figcaption{gap:2px;margin-bottom:10px;display:grid}.dash-chart-title{font-weight:700}.dash-chart-cap{color:var(--muted);font-size:13px}.hbars{gap:4px;margin:0;padding:0;list-style:none;display:grid}.hbar{border-radius:8px;outline:none;grid-template-columns:minmax(0,1fr) max-content;grid-template-areas:"name val""bar bar";align-items:center;gap:4px 10px;padding:6px 4px;display:grid;position:relative}.hbar:hover,.hbar:focus-visible{background:var(--bg)}.hbar-name{text-overflow:ellipsis;white-space:nowrap;grid-area:name;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.hbar-track{background:var(--border);border-radius:4px;grid-area:bar;height:10px;overflow:hidden}.hbar-fill{background:var(--brand);border-radius:0 4px 4px 0;height:100%;display:block}.hbar-val{text-align:right;font-variant-numeric:tabular-nums;color:var(--text);grid-area:val;font-size:14px;font-weight:600}.hbar-val.none{color:var(--muted);font-size:13px;font-weight:400}.hbar[data-tip]:hover:after,.hbar[data-tip]:focus-visible:after{content:attr(data-tip);z-index:20;background:var(--text);color:#fff;pointer-events:none;border-radius:8px;max-width:min(340px,100%);padding:7px 10px;font-size:12px;line-height:1.4;position:absolute;bottom:calc(100% + 2px);left:4px;box-shadow:0 4px 14px #0f172a40}.dash-path{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--card);margin-bottom:8px}.dash-path summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;min-height:44px;padding:12px 14px;display:flex}.dash-path-name{font-weight:600}.dash-table{margin:0 0 6px}.dash-table th:first-child,.dash-table td:first-child{width:32px;padding-left:14px}.dash-table td:last-child,.dash-table th:last-child{padding-right:14px}.tag-fail{background:var(--fail-soft);color:var(--fail)}@media (width>=720px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1280px){.dash-charts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.danger-text{color:var(--fail)}.tag-chip{background:var(--brand-soft);min-height:32px;color:var(--brand);border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:0 4px 0 10px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.tag-chip.small{cursor:pointer;min-height:30px;padding:0 10px;font-size:13px}.tag-chip.small.on{background:var(--brand);color:#fff}.tag-x{width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;font-size:18px;line-height:1}.tag-x:hover,.tag-x:focus-visible{background:#4f46e526}.tag-box{min-height:var(--input-h);background:var(--card);border:1px solid var(--border);cursor:text;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.tag-box:focus-within{outline:2px solid var(--brand);outline-offset:-1px;border-color:var(--brand)}.form .tag-box input:not([type=checkbox]):not([type=radio]){background:0 0;border:none;outline:none;flex:140px;width:auto;min-width:0;min-height:32px;padding:4px}.tag-suggest{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.tag-suggest .chip{min-height:34px;padding:0 12px}.chip-new{color:var(--brand);border-style:dashed}.library .page-title{margin-bottom:2px}.lib-sub{margin:0 0 12px;font-size:14px}.lib-search{margin:0}.lib-selected,.lib-tags{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.lib-selected .chip.on{gap:8px}.lib-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:18px 0 0;font-size:12px;font-weight:700}.lib-results-head{justify-content:space-between;align-items:baseline;gap:8px;margin:22px 0 10px;display:flex}.lib-results-head .lib-label{margin:0}.lib-results-head .count{color:var(--muted);font-size:13px}.library .card-title{font-weight:700;line-height:1.3}.library .card-link{min-height:64px}.library .card .progress{margin-top:8px}.lib-access{font-style:italic}.lib-lock{color:var(--muted);flex:none;font-size:16px}.lib-card-tags{background:var(--card);flex-wrap:wrap;gap:6px;padding:8px 10px}.card-list.is-loading{opacity:.55;transition:opacity .15s}.library .card.locked{opacity:.7}.card-tags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.card-tags span{color:var(--brand);font-size:12px;font-weight:600}@media (width>=1024px){.shell.lib-wide .content{max-width:1100px}.library .card-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.lib-filters{margin:10px 0 0}.lib-filters select.on{border-color:var(--brand);color:var(--brand);background:var(--brand-soft);font-weight:600}.lib-filters select:disabled{color:var(--muted)}@media (width>=1024px){.admin-page.library>*{max-width:1100px}.lib-filters .filter-row{max-width:640px}}.header-actions{align-items:center;gap:8px;display:inline-flex}.pd-phone-toggle.on{background:var(--brand);color:#fff;border-color:var(--brand)}.pd-phone{margin:0 0 16px}@media (width>=1024px){.pd-phone-toggle,.pd-phone{display:none}}.pd{--pd-idle:#94a3b8;--pd-brand-soft:#a5b4fc;gap:16px;padding-bottom:32px;display:grid}.pd-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.pd-head h2{margin:2px 0 0;font-size:20px}.pd-ok{--c:var(--ok)}.pd-brand{--c:var(--brand)}.pd-idle{--c:var(--pd-idle)}.pd-fail{--c:var(--fail)}.pd-warn{--c:#f59e0b}.pd-brand-soft{--c:var(--pd-brand-soft)}.pd-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pd-tile{text-align:left;font:inherit;color:var(--text);border-radius:var(--radius);background:var(--card);border:1px solid var(--card-border);align-content:start;gap:2px;padding:12px 14px;display:grid}.pd-tile.clickable{cursor:pointer;transition:border-color .15s,transform .15s}.pd-tile.clickable:hover{border-color:var(--brand);transform:translateY(-1px)}.pd-tile.alert{border-color:var(--fail);background:var(--fail-soft)}.pd-tile.alert .pd-tile-value{color:var(--fail)}.pd-tile-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:700}.pd-tile-value{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.2}.pd-tile-sub{color:var(--muted);font-size:12px}.pd-meter{background:var(--brand-soft);border-radius:3px;height:6px;margin:4px 0 2px;display:block;overflow:hidden}.pd-meter span{background:var(--brand);border-radius:3px;height:100%;display:block}.pd-grid{gap:16px;display:grid}.pd-panel{border-radius:var(--radius);background:var(--card);border:1px solid var(--card-border);min-width:0;margin:0;padding:16px}.pd-panel figcaption{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-bottom:12px;display:flex}.pd-title{font-weight:700}.pd-cap{color:var(--muted);font-size:13px}.pd-empty{margin:0}.pd-donut-wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 24px;display:flex}.pd-donut{flex:none;width:180px;height:180px;overflow:visible}.pd-donut-track{stroke:var(--bg)}.pd-slice{stroke:var(--c);cursor:pointer;outline:none;transition:stroke-width .15s}.pd-donut-big{fill:var(--text);font-size:30px;font-weight:700}.pd-donut-small{fill:var(--muted);font-size:12px}.pd-legend{gap:4px;min-width:180px;margin:0;padding:0;list-style:none;display:grid}.pd-legend button{width:100%;font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.pd-legend button:hover{background:var(--bg)}.pd-legend-val{font-variant-numeric:tabular-nums;font-weight:700}.pd-legend-val small{color:var(--muted);font-weight:400}.pd-swatch{background:var(--c);border-radius:3px;flex:none;width:12px;height:12px;display:inline-block}.pd-legend-row{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:13px;display:flex}.pd-legend-row li{align-items:center;gap:6px;display:inline-flex}.pd-legend-row b{color:var(--text)}.pd-stack{gap:2px;min-width:0;height:14px;display:flex}.pd-stack-tall{height:32px}.pd-seg{background:var(--c);color:#fff;flex-basis:0;place-items:center;min-width:4px;font-size:12px;display:grid;position:relative}.pd-seg:first-child{border-radius:4px 0 0 4px}.pd-seg:last-child{border-radius:0 4px 4px 0}.pd-seg:only-child{border-radius:4px}.pd-seg.clickable{cursor:pointer}.pd-seg.pd-brand-soft,.pd-seg.pd-warn{color:var(--text)}.pd [data-tip]:hover:after,.pd [data-tip]:focus-visible:after{content:attr(data-tip);background:var(--text);color:#fff;white-space:nowrap;pointer-events:none;z-index:5;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.pd-cols{grid-template-columns:repeat(6,1fr);align-items:end;gap:6px;height:170px;display:grid}.pd-col{text-align:center;grid-template-rows:auto 1fr auto;height:100%;display:grid;position:relative}.pd-col-val{min-height:18px;font-size:13px;font-weight:700}.pd-col-bar{background:var(--brand);border-radius:4px 4px 0 0;place-self:end center;width:min(36px,80%)}.pd-col-label{color:var(--muted);border-top:1px solid var(--border);white-space:nowrap;padding-top:6px;font-size:11px}.pd-groups{gap:2px;margin:0;padding:0;list-style:none;display:grid}.pd-group{width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;grid-template-columns:minmax(90px,1.1fr) 2fr auto;align-items:center;gap:12px;padding:8px;display:grid}.pd-group:disabled{cursor:default}.pd-group:not(:disabled):hover{background:var(--bg)}.pd-group-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.pd-flag{background:var(--fail-soft);color:var(--fail);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600}.pd-group-val{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:700}.pd-group-val small{color:var(--muted);font-weight:400}.pd-activity-total{color:var(--muted);margin:0 0 8px;font-size:14px}.pd-activity-total b{color:var(--text);margin-right:2px;font-size:22px}.pd-spark{border-bottom:1px solid var(--border);align-items:flex-end;gap:3px;height:90px;display:flex}.pd-spark-bar{background:var(--pd-brand-soft);border-radius:3px 3px 0 0;flex:1;position:relative}.pd-spark-bar.today,.pd-spark-bar:hover{background:var(--brand)}.pd-spark-axis{color:var(--muted);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.pd-leaders{gap:2px;margin:0;padding:0;list-style:none;display:grid}.pd-leader{color:var(--text);border-radius:8px;grid-template-columns:28px minmax(0,1.2fr) 1fr auto;align-items:center;gap:10px;padding:6px 8px;text-decoration:none;display:grid}.pd-leader:hover{background:var(--bg)}.pd-rank{text-align:center;color:var(--muted);font-size:18px;font-weight:700}.pd-leader-name{min-width:0;font-size:14px;font-weight:600;display:grid}.pd-leader-name small{color:var(--muted);font-size:12px;font-weight:400}.pd-leader-bar{background:var(--brand-soft);border-radius:4px;height:8px;overflow:hidden}.pd-leader-bar span{background:var(--brand);border-radius:4px;height:100%;display:block}.pd-leader-val{color:var(--muted);white-space:nowrap;font-size:13px}@media (width>=720px){.pd-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1280px){.pd-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}.pd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-wide{grid-column:1/-1}}@media (width<=480px){.pd-group{grid-template-columns:1fr auto}.pd-group .pd-stack{grid-area:2/1/auto/-1}.pd-group-name{white-space:normal}.pd-leader{grid-template-columns:28px 1fr auto}.pd-leader-bar{display:none}}@media (width>=1024px){.phone-only{display:none}}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.plain-list{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.audit-list li{font-size:14px}.btn-secondary.danger-outline{color:var(--fail);border-color:var(--fail)}.sheet-body textarea{width:100%;font:inherit;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;margin-top:6px;padding:10px 12px}.segmented.two{grid-template-columns:repeat(2,minmax(0,1fr))}.add-admin{border:1px dashed var(--border);border-radius:12px;gap:12px;padding:12px;display:grid}.add-admin .link-btn{justify-self:start}.admin-people li{border-bottom:1px solid var(--border);flex-wrap:wrap;padding:6px 0}.admin-people li:last-child{border-bottom:none}.admin-person{overflow-wrap:anywhere;min-width:0}.add-admin .segmented .seg{background:var(--card);color:var(--text);border-radius:10px;margin:0;padding:8px 6px;display:block}.add-admin .segmented .seg.on{background:var(--brand-soft);color:var(--brand)}.schema-filters{grid-template-columns:minmax(0,1fr)}@media (width>=720px){.schema-filters{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.schema-bar{flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 10px;font-size:14px;display:flex}.schema-list{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.schema-bar-actions{gap:14px;display:flex}.schema-table{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--card);min-width:0;scroll-margin-top:80px}.schema-table>summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:12px 14px;list-style:none;display:flex}.schema-table>summary::-webkit-details-marker{display:none}.schema-table>summary:before{content:"›";color:var(--muted);width:12px;font-size:20px;transition:transform .15s}.schema-table[open]>summary:before{transform:rotate(90deg)}.schema-table[open]>summary{border-bottom:1px solid var(--border)}.schema-name{word-break:break-word;flex:1;font-weight:600}.schema-badges{flex-wrap:wrap;gap:6px;display:flex}.schema-body{min-width:0;padding:8px 14px 14px}.schema-cols code{color:var(--muted);font-size:12px}.schema-col-name{white-space:nowrap;font-weight:600}.schema-keys{flex-wrap:wrap;gap:4px;display:inline-flex}.schema-fk{cursor:pointer;font:inherit;border:none;font-size:12px}.schema-fk:hover{text-decoration:underline}.schema-refs{flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:10px 0 0;font-size:14px;display:flex}.schema-ref{padding:2px 0;font-size:14px}.schema-sample{border-top:1px dashed var(--border);margin-top:14px;padding-top:10px}.schema-sample-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:14px;display:flex}.schema-top{min-height:36px;font:inherit;border:1px solid var(--border);background:var(--card);border-radius:8px;padding:4px 8px;font-size:14px}.schema-rows-wrap{border:1px solid var(--border);border-radius:8px;max-height:420px;overflow:auto}.schema-rows-wrap.is-loading{opacity:.55}.schema-rows{font-size:12px}.schema-rows th{background:var(--bg);z-index:1;position:sticky;top:0}.schema-rows th,.schema-rows td{white-space:nowrap;text-overflow:ellipsis;max-width:260px;padding:6px 8px;overflow:hidden}.schema-view{margin:0 0 12px}.erd{gap:6px;display:grid}.erd-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.erd-chips{margin:0}.erd-check{cursor:pointer;align-items:center;gap:6px;font-size:14px;display:inline-flex}.erd-check input{width:18px;height:18px}.erd-hint{margin:0;font-size:13px}.erd-canvas{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--card);height:max(460px,100dvh - 330px);position:relative;overflow:hidden}.erd-markers{width:0;height:0;position:absolute}.erd-node{background:var(--card);border:1.5px solid var(--card-border);border-radius:10px;font-size:12px;transition:opacity .15s;overflow:hidden;box-shadow:0 1px 3px #0f172a14}.erd-node.shared{border-style:dashed}.erd-node.focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.erd-node.dim{opacity:.25}.erd-head{background:var(--brand);color:#fff;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-size:13px;font-weight:700;display:flex}.erd-node.shared .erd-head{background:#64748b}.erd-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.erd-count{opacity:.85;flex:none;font-size:11px;font-weight:500}.erd-cols{margin:0;padding:4px 0;list-style:none}.erd-cols li{white-space:nowrap;align-items:center;gap:6px;padding:0 10px;display:flex;position:relative}.erd-cols li.pk .erd-col{font-weight:700}.erd-key{width:18px;color:var(--muted);flex:none;font-size:9px;font-weight:700}.erd-cols li.pk .erd-key{color:var(--ok)}.erd-cols li.fk .erd-key{color:var(--brand)}.erd-col{text-overflow:ellipsis;flex:1;overflow:hidden}.erd-type{color:var(--muted);flex:none;font-family:ui-monospace,monospace;font-size:11px}.erd-handle{background:0 0!important;border:none!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important}.erd-edge .react-flow__edge-path{stroke:#94a3b8;stroke-width:1.4px}.erd-edge.on .react-flow__edge-path{stroke:var(--brand);stroke-width:2px}.erd-edge.dim{opacity:.15}.erd .react-flow__node{cursor:pointer}@media (width<=719px){.erd-minimap{display:none}.erd-canvas{height:calc(100dvh - 300px);min-height:380px}}.bulk-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bulk-file{overflow-wrap:anywhere}.form textarea.bulk-text{white-space:pre;tab-size:16;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;overflow-x:auto}.hint.bulk-bad{color:var(--fail);font-weight:600}.bulk-notice{margin:0 0 16px}.bulk-notice .link-btn{padding:0}.bulk-notice .hint{color:inherit;margin-top:6px;font-weight:400}.bulk-section{margin:0 0 20px}.bulk-section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.bulk-section .section-title{margin:0 0 8px;font-size:16px}.bulk-table td:first-child{width:44px;color:var(--muted);font-variant-numeric:tabular-nums}.bulk-table .block{display:block}.bulk-email{overflow-wrap:anywhere}.bulk-actions{gap:0;display:grid}.btn-primary.bulk-link{text-align:center;box-sizing:border-box;text-decoration:none;display:block}@media (width>=720px){.bulk-actions{grid-template-columns:1fr 1fr;gap:12px}}:root{--brand:#4f46e5;--brand-hover:#4338ca;--brand-2:#7c3aed;--brand-soft:#eef2ff;--brand-ring:#4f46e538;--picked:#eef0ff;--bg:#f5f6fa;--card:#fff;--text:#0f172a;--muted:#5b6477;--border:#e3e6ee;--card-border:#e3e6ee;--input-border:#d5dae4;--shadow-sm:0 1px 2px #0f172a0d, 0 1px 3px #0f172a0a;--shadow-md:0 4px 12px #0f172a12, 0 2px 4px #0f172a0a;--shadow-lg:0 12px 28px #0f172a1a, 0 4px 8px #0f172a0d;--radius:14px;--radius-sm:10px;--ease:cubic-bezier(.2, .7, .2, 1);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{background:var(--bg);line-height:1.45}::selection{background:var(--brand-ring)}:where(a,button,[role=switch],summary,[tabindex]):focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:8px}.icon{flex:none;display:block}.topbar{background:linear-gradient(100deg, var(--brand) 0%, var(--brand-2) 100%);letter-spacing:-.01em;box-shadow:inset 0 1px #ffffff14,0 2px 10px #312e812e}.brand{align-items:center;gap:10px;font-weight:700;display:inline-flex}.brand-mark{background:#ffffff2e;border-radius:8px;place-items:center;width:28px;height:28px;display:grid;box-shadow:inset 0 0 0 1px #ffffff40}.brand-mark .icon{fill:currentColor;stroke:none;margin-left:1px}.tabbar{-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border-top-color:var(--border);background:#ffffffeb}.tab{transition:color .15s var(--ease);font-weight:500}.tab-icon{width:44px;height:28px;transition:background .15s var(--ease);border-radius:999px;place-items:center;display:grid}.tab.active .tab-icon{background:var(--brand-soft)}@media (width>=1024px){.tabbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;align-items:center;gap:2px}.tab{color:#ffffffd1;border-radius:10px;height:38px;padding:0 12px;font-size:14px;font-weight:500}.tab:hover{color:#fff;background:#ffffff1a}.tab.active{color:#fff;background:#ffffff2e;font-weight:600;box-shadow:inset 0 0 0 1px #ffffff38}.tab-icon,.tab.active .tab-icon{background:0 0;width:auto;height:auto}.tab-icon .icon{width:16px;height:16px}}@media (width>=1024px) and (width<=1279px){.tab{padding:0 9px;font-size:13px}}@media (width>=1024px){.admin-nav{scrollbar-width:none;box-shadow:0 1px 0 var(--border);background:#fffffff5;border-bottom:none;gap:2px;padding:0 20px;overflow-x:auto}.admin-nav::-webkit-scrollbar{display:none}.admin-nav-link{white-space:nowrap;transition:color .15s var(--ease);border-bottom:none;padding:14px 12px 12px;font-weight:500;position:relative}.admin-nav-link:after{content:"";height:3px;transition:background .15s var(--ease);background:0 0;border-radius:3px 3px 0 0;position:absolute;bottom:0;left:10px;right:10px}.admin-nav-link.on{font-weight:600}.admin-nav-link.on:after{background:var(--brand)}.admin-page{padding:28px 36px}}.page-title{letter-spacing:-.02em;font-size:24px;font-weight:700}.eyebrow{letter-spacing:.09em;font-size:11.5px}.section-title{color:var(--text);font-size:16px;font-weight:700}.path-title,.lib-label{letter-spacing:.02em}@media (width>=1024px){.admin-page>.page-title{margin-bottom:20px;font-size:28px}}.card{border-color:var(--card-border);box-shadow:var(--shadow-sm);transition:box-shadow .18s var(--ease), transform .18s var(--ease), border-color .18s var(--ease)}.card-title{letter-spacing:-.005em}.card-meta{color:var(--muted);line-height:1.45}.card-link:active{background:var(--brand-soft)}@media (hover:hover){a.card-link:hover,.card-link.card:hover{box-shadow:var(--shadow-md);border-color:#d4d8f5;transform:translateY(-1px)}a.card-link:hover .chev{color:var(--brand);transform:translate(2px)}}.chev{color:#a0a7b8;transition:color .15s var(--ease), transform .15s var(--ease);place-items:center;display:grid}.card.picked{box-shadow:0 0 0 1px var(--brand), var(--shadow-md)}.card:has(>.q-pick.picked){box-shadow:0 0 0 1px var(--brand), var(--shadow-md)}.seq{background:var(--brand-soft);font-size:14px}.strip-link{border-color:var(--card-border)}.admin-tile{gap:14px}.admin-tile-icon{--tone:var(--brand);--tone-soft:var(--brand-soft);width:44px;height:44px;color:var(--tone);background:var(--tone-soft);border-radius:12px;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #0f172a0a}.admin-tile-icon[data-tone=indigo]{--tone:#4f46e5;--tone-soft:#eef2ff}.admin-tile-icon[data-tone=sky]{--tone:#0284c7;--tone-soft:#e0f2fe}.admin-tile-icon[data-tone=violet]{--tone:#7c3aed;--tone-soft:#f3e8ff}.admin-tile-icon[data-tone=rose]{--tone:#e11d48;--tone-soft:#ffe4e6}.admin-tile-icon[data-tone=emerald]{--tone:#059669;--tone-soft:#d1fae5}.admin-tile-icon[data-tone=amber]{--tone:#d97706;--tone-soft:#fef3c7}.admin-tile-icon[data-tone=teal]{--tone:#0d9488;--tone-soft:#ccfbf1}.admin-tile-icon[data-tone=slate]{--tone:#475569;--tone-soft:#f1f5f9}.admin-tile .card-title{font-size:16px}.admin-tile .card-meta{margin-top:3px;font-size:13.5px}.admin-tile{position:relative}.admin-tile>.badge{position:absolute;top:12px;right:12px}.admin-tile:has(>.badge) .card-title{padding-right:88px}.home-progress{border-radius:var(--radius);background:var(--card);border:1px solid var(--card-border);max-width:1240px;box-shadow:var(--shadow-sm);padding:18px 20px 12px}.dept-bar{border-radius:8px}@media (hover:hover){.dept-bar:hover .dept-name{color:var(--brand)}}@media (width>=1024px){.tile-grid{gap:16px;max-width:1240px}.tile-grid .admin-tile{align-items:flex-start;padding:20px 18px}.tile-grid .admin-tile .chev{align-self:center}}@media (width>=1600px){.tile-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1320px}}.badge{letter-spacing:.01em;padding:4px 9px;font-weight:600}.chip{border-color:var(--input-border);transition:background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);font-weight:500}.chip:hover:not(.on){color:var(--brand);border-color:#b9bff0}.chip.on{box-shadow:0 1px 2px #4f46e54d}.btn-primary,.btn-small{background:var(--brand);transition:background .15s var(--ease), box-shadow .15s var(--ease), transform .1s var(--ease);box-shadow:0 1px 2px #312e8140,inset 0 1px #ffffff1f}.btn-primary:hover:not(:disabled),.btn-small:hover{background:var(--brand-hover);box-shadow:0 4px 12px #4f46e547}.btn-primary:active:not(:disabled),.btn-small:active{transform:translateY(1px)}.btn-small.btn-ghost{color:var(--brand);border:1px solid var(--input-border);box-shadow:none;background:0 0}.btn-small.btn-ghost:hover{background:var(--brand-soft);box-shadow:none}.btn-secondary{border-color:var(--input-border);box-shadow:var(--shadow-sm);transition:background .15s var(--ease)}.btn-secondary:hover:not(:disabled){background:#f8f9fc}.btn-danger:hover:not(:disabled){filter:brightness(.94)}.icon-btn{border-color:var(--input-border)}.icon-btn:hover{background:var(--bg)}.link-btn:hover{text-underline-offset:3px;text-decoration:underline}.search,.filters select,.filters input,.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea,.add-row select,.tag-box,.sheet-body textarea{border-color:var(--input-border);transition:border-color .15s var(--ease), box-shadow .15s var(--ease)}:is(.search,.filters select,.filters input,.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea,.add-row select):hover{border-color:#bcc3d1}.search:focus,.filters :is(input,select):focus,.form :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus,.tag-box:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring);outline:none}.form .answer-edit .answer-text:focus{box-shadow:none}.readonly,.form input.readonly{background:#f7f8fb}.field>label,.field-label{color:#1e293b}.tip-btn{border-color:#aab1c0}.form-section{border-color:var(--border);box-shadow:var(--shadow-sm);padding:14px 16px 16px}.form-section legend{letter-spacing:.08em;color:#6b7386;font-size:11.5px}@media (width>=1024px){.split-detail .form-section{background:var(--card)}.split-detail{background:#fbfbfd}}.switch{background:#cfd5e1}.switch:checked{background:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}@media (width>=1024px){.split-list{background:var(--bg)}.split-rail{background:#eef0f5}.ws-tabs,.workspace>.ws-tabs{border-bottom-color:var(--border)}.split-detail .save-bar{box-shadow:0 -4px 12px #0f172a0a}}.ws-tab{font-weight:500}.ws-tab.on{font-weight:600}.save-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f5f6fae6}.stat,.dash-chart,.dash-path,.pd-panel,.pd-tile,.progress-path,.dash-next,.signin-card{box-shadow:var(--shadow-sm);border-color:var(--card-border)}.progress{background:#e7e9f2}.progress-fill,.hbar-fill,.pd-meter span,.pd-leader-bar span{background:linear-gradient(90deg, var(--brand), var(--brand-2))}.sheet{box-shadow:var(--shadow-lg)}.sheet::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a80}.notice{border:1px solid #b453092e}.signin-card{border-radius:20px;padding:36px 28px}@media (width>=1024px) and (hover:hover){.split-list,.split-detail,.ws-body,.admin-page{scrollbar-width:thin;scrollbar-color:#cdd2dd transparent}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}.brand{min-width:0}.tenant-logo{background:#fff;border-radius:8px;flex:none;place-items:center;max-width:132px;height:34px;padding:4px 8px;display:grid;box-shadow:0 1px 3px #0f172a2e}.tenant-logo img{object-fit:contain;width:auto;max-width:116px;height:auto;max-height:26px;display:block}.brand-text{min-width:0;line-height:1.1;display:grid}.brand-company{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.brand-app{letter-spacing:.04em;opacity:.78;font-size:11px;font-weight:500}@media (width<=380px){.brand-app{display:none}}@media (width>=1024px){.topbar .brand{max-width:calc(100% - 560px)}}.signin-tenant-logo{max-width:220px;height:64px;box-shadow:var(--shadow-sm);border:1px solid var(--border);margin:0 auto;padding:8px 14px}.signin-tenant-logo img{max-width:192px;max-height:48px}.logo-preview{gap:6px;display:grid}.logo-preview-bar{color:#fff;background:linear-gradient(100deg, var(--brand) 0%, var(--brand-2) 100%);border-radius:10px;align-items:center;gap:10px;min-height:56px;padding:0 14px;display:flex}.logo-preview-bar .error{color:#fff;background:#b91c1cd9;border-radius:6px;padding:4px 8px;font-size:13px}.credit{color:var(--muted);text-align:center;margin:0;font-size:12.5px}.credit a{color:var(--brand);font-weight:600;text-decoration:none}.credit a:hover{text-underline-offset:3px;text-decoration:underline}.signin-credit{margin-top:20px}.center-screen{align-content:center}.profile-credit{margin-top:28px}.page-credit{display:none}@media (width>=1024px){.shell:not(.wide) .page-credit{padding:32px 0 8px;display:block}.admin-page>.page-credit,.shell.wide .page-credit{display:none}.shell.wide .content{position:relative}.shell.wide .page-credit{z-index:4;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd9;border-radius:999px;padding:3px 10px;font-size:11.5px;display:block;position:fixed;bottom:8px;left:16px}}.signin-card .pw-form{text-align:left;gap:12px;margin-top:12px}.pw-field{gap:6px;display:grid}.pw-field input,.pw-input input{box-sizing:border-box;width:100%;min-height:44px;font-size:16px}.pw-input{display:block;position:relative}.pw-input input{padding-right:64px}.pw-toggle{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:8px;font-size:13px;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pw-show{color:var(--muted,#6b7280);align-items:center;gap:8px;font-size:14px;display:flex}.pw-rules{color:var(--muted,#6b7280);gap:2px;margin:-4px 0 0;padding:0;font-size:13px;list-style:none;display:grid}.pw-rules li.ok{color:#15803d}.pw-form .btn-primary{width:100%;margin-top:4px}.pw-form .link-btn,.pw-form .signin-alt{justify-self:center}.error-text{color:#b91c1c}.signin-second{width:100%;margin-top:10px}.profile-password{margin-top:16px;padding:16px}.profile-password .section-title{margin:0 0 10px;font-size:16px}.profile-password .pw-form{max-width:420px}.otp-card{border:1px dashed var(--border);border-radius:14px;gap:10px;padding:14px;display:grid}.otp-who{overflow-wrap:anywhere;margin:0}.otp-password{letter-spacing:.06em;text-align:center;background:var(--brand-soft,#eef2ff);-webkit-user-select:all;user-select:all;word-break:break-all;border-radius:10px;margin:0;padding:12px;font-size:26px}.otp-actions{flex-wrap:wrap;gap:8px;display:flex}.otp-actions>*{text-align:center;flex:auto;text-decoration:none}.btn-compact{width:auto;margin-top:0;padding:8px 12px;font-size:14px}.otp-download{width:100%;margin:4px 0 12px}.otp-list{gap:6px;max-height:40vh;display:grid;overflow:auto}.otp-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.pw-missing{background:#fffbeb;border:1px solid #fcd34d;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 12px;padding:10px 14px;display:flex}.pw-missing p{margin:0;font-size:14px}.auth-choice{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.auth-option{text-align:left;cursor:pointer;border:1.5px solid var(--border);background:var(--card,#fff);color:inherit;font:inherit;border-radius:12px;gap:4px;padding:12px 14px;display:grid}.auth-option span{color:var(--muted,#6b7280);font-size:13px}.auth-option.on{border-color:var(--brand);box-shadow:0 0 0 3px #4f46e526}.auth-option:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.warn-note{background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;margin:0;padding:10px 12px;font-size:14px}.move-btn{width:36px;height:36px;color:var(--brand);background:var(--card);border:1px solid var(--input-border);border-radius:10px;place-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-grid}.move-btn:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand)}.move-btn:disabled{color:#c3c7d4;border-color:var(--border);cursor:default;background:0 0}.hint-with-insights{gap:16px;display:grid}.hint-with-insights .pick-hint{min-height:0;padding-block:20px}.insights{gap:12px;display:grid}.insights-note{margin:0;font-size:13px}.insight-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.insight-grid{gap:12px;display:grid}@media (width>=760px){.insight-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.hbar-btn{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.hbar-pct{color:var(--muted);margin-left:4px;font-size:12px;font-weight:400}@media (width>=1024px){.insights-link{display:none}}.icon{vertical-align:-.2em;flex:none}.pick-hint-icon{background:var(--brand-soft);width:64px;height:64px;color:var(--brand);opacity:1;border-radius:18px;place-items:center;font-size:0;display:inline-grid}.back-link,.strip-link,.bulk-file{align-items:center;gap:4px;display:inline-flex}.strip-link{display:flex}.empty-state>span[aria-hidden]{color:var(--brand);place-items:center;display:inline-grid}.tag-x{place-items:center;display:inline-grid}.pw-rules li .icon{vertical-align:-.15em}.pw-rules li:not(.ok) .icon{color:#c3c7d4}.seq .icon{vertical-align:middle}.hbar-fill{background:var(--brand)}.donut-slice{transition:stroke-width .15s}.donut-slice.clickable{cursor:pointer}.pd-legend button.static,.pd-legend button:disabled{cursor:default;color:var(--text);opacity:1}.pd-legend button.static:hover{background:0 0}.insight-chart .pd-donut-wrap{justify-content:flex-start}.insight-cols{height:160px}.area-wrap{width:100%;min-height:40px;position:relative}.area-svg{touch-action:pan-y;display:block}.area-grid{stroke:var(--border);stroke-width:1px}.area-axis{fill:var(--muted);font-size:11px}.area-fill{fill:var(--brand);opacity:.12}.area-line{fill:none;stroke:var(--brand);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.area-cross{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.area-dot{fill:var(--brand);stroke:var(--card);stroke-width:2px}.area-tip{background:var(--text);color:#fff;white-space:nowrap;pointer-events:none;border-radius:6px;padding:4px 8px;font-size:12px;position:absolute;top:0;transform:translate(-50%)}:root{--topbar-h:48px}.topbar{padding-top:calc(env(safe-area-inset-top) + 10px);background:#0f1115;padding-bottom:10px;font-size:17px;box-shadow:inset 0 1px #ffffff0f,0 2px 8px #0000002e}@media (width>=1024px){.topbar{padding-top:0;padding-bottom:0}.tab{height:34px}}.topbar .brand-mark{width:26px;height:26px}.btn-small.icon-only{place-items:center;width:36px;height:36px;padding:0;display:inline-grid}.btn-small.icon-only:disabled{opacity:.45;cursor:default}.segmented .seg{background:var(--card);color:var(--text);text-align:center;white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin:0;padding:10px 6px;line-height:1.2;display:flex}.segmented .seg .icon{color:var(--muted)}.segmented .seg.on{background:var(--brand-soft);color:var(--brand)}.segmented .seg.on .icon{color:var(--brand)}.from-item .icon,.card-meta .icon,.eyebrow .icon{vertical-align:-.15em}.icon{display:inline-block}.speed-row{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 4px;display:flex}.speed-row .muted{margin-right:2px;font-size:13px}.speed-row .chip{min-height:32px;padding:4px 12px}.library-note{background:var(--brand-soft);color:var(--text);border-radius:10px;margin:8px 0 12px;padding:10px 12px;font-size:14px;line-height:1.5;display:block}.library-note .icon{color:var(--brand);margin-right:4px}.library-watch .back-link.link-btn{margin-bottom:8px;padding:0}
