:root {
  --jj-blue: #0069f6;
  --jj-deep: #0020b1;
  --jj-cyan: #3df1f9;
  --jj-ink: #14213d;
  --jj-muted: #667085;
  --jj-canvas: #f4f7fc;
  --jj-surface: #fff;
  --jj-line: #e4eaf3;
  --jj-success: #168a5b;
  --jj-warning: #b86e00;
  --jj-danger: #c63d4f;
  --blue: var(--jj-blue);
  --text: var(--jj-ink);
  --muted: var(--jj-muted);
  --line: var(--jj-line);
  --sidebar: 248px;
  --shadow: 0 10px 30px rgba(20, 33, 61, .07);
  --radius: 16px;
  --font-interface: Lato, "Segoe UI", Arial, sans-serif;
  --font-body: "Open Sans", "Segoe UI", Arial, sans-serif;
}

/* School schedule symbiosis: admin builder, teacher projection, customer projection */
.school-schedule-builder,.teacher-schedule-view,.customer-recurring-schedule{overflow:hidden}.school-schedule-builder>.panel-heading,.teacher-schedule-view>.panel-heading{align-items:flex-start}.school-schedule-builder>.panel-heading p,.teacher-schedule-view>.panel-heading p,.customer-recurring-schedule>.panel-heading p{max-width:760px;margin:.35rem 0 0;color:var(--muted)}
.schedule-school-picker{display:flex;align-items:end;padding:18px 24px 0}.schedule-school-picker label{display:grid;gap:6px;min-width:min(100%,420px);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.schedule-school-picker select{min-height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 14px;color:var(--text);font:inherit;font-weight:700}
.schedule-toolbar{display:grid;grid-template-columns:minmax(200px,1fr) auto auto;gap:18px;align-items:center;padding:18px 24px;border-bottom:1px solid var(--line)}.schedule-school-title{display:grid;gap:3px}.schedule-school-title span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.schedule-school-title strong{font-size:1.05rem}.weekday-tabs{display:flex;gap:6px;flex-wrap:wrap}.weekday-tabs a{padding:9px 12px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:.78rem;font-weight:750;text-decoration:none;background:#fff}.weekday-tabs a.active{color:#fff;background:var(--blue);border-color:var(--blue);box-shadow:0 5px 14px rgba(10,105,242,.2)}
.schedule-legend{display:flex;gap:14px;flex-wrap:wrap;padding:11px 24px;background:#f8fbff;border-bottom:1px solid var(--line)}.schedule-legend span{display:flex;align-items:center;gap:7px;font-size:.75rem;font-weight:700;color:var(--muted)}.schedule-legend i{width:10px;height:10px;border-radius:3px;background:var(--schedule-accent);box-shadow:0 0 0 3px var(--schedule-surface)}
.schedule-grid-wrap{overflow:auto;max-width:100%;background:#f8fafc}.schedule-grid{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;table-layout:fixed}.schedule-grid th,.schedule-grid td{border-right:1px solid #e4ebf5;border-bottom:1px solid #e4ebf5}.schedule-grid thead th{position:sticky;top:0;z-index:2;background:#fff;padding:13px 10px;text-align:left}.schedule-grid thead th:first-child{width:76px}.schedule-grid thead strong,.schedule-grid thead small{display:block}.schedule-grid thead small{margin-top:3px;color:var(--muted);font-weight:500}.schedule-grid tbody th{background:#fff;padding:12px 10px;color:var(--muted);font-size:.75rem;vertical-align:top}.schedule-grid td{height:78px;padding:6px;vertical-align:top;background:rgba(255,255,255,.68);transition:background .15s,box-shadow .15s}.schedule-grid.admin td.drag-over{background:#eaf3ff;box-shadow:inset 0 0 0 2px var(--blue)}.schedule-drop-hint{display:grid;place-items:center;height:100%;color:#a3afbf;font-size:.7rem;opacity:0}.schedule-grid.admin td:hover .schedule-drop-hint{opacity:1}
.schedule-slot{position:relative;display:grid;gap:2px;min-height:64px;padding:9px 28px 9px 13px;border-radius:10px;background:var(--schedule-surface);color:var(--schedule-text);box-shadow:inset 4px 0 0 var(--schedule-accent);cursor:default}.schedule-grid.admin .schedule-slot{cursor:grab}.schedule-grid.admin .schedule-slot:active{cursor:grabbing}.schedule-slot.dragging{opacity:.42}.schedule-slot span{font-size:.65rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:var(--schedule-accent)}.schedule-slot strong{font-size:.82rem;line-height:1.25}.schedule-slot small{font-size:.68rem;color:inherit;opacity:.72}.schedule-slot form{display:none}.schedule-slot .schedule-archive-form{display:block;position:absolute;right:5px;top:5px}.schedule-archive-form button{display:grid;width:21px;height:21px;place-items:center;padding:0;border:0;border-radius:6px;color:var(--schedule-text);background:rgba(255,255,255,.7);cursor:pointer;font-size:15px}.schedule-archive-form button:hover{background:#fff}.schedule-grid-footer{display:flex;justify-content:space-between;gap:16px;padding:12px 24px;color:var(--muted);font-size:.72rem;border-top:1px solid var(--line);background:#fff}
.schedule-admin-drawer{margin:18px 24px 24px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.schedule-admin-drawer>summary{cursor:pointer;padding:15px 18px;font-weight:800}.schedule-admin-drawer .portal-form{padding:0 18px 18px}.schedule-empty{display:grid;gap:5px;padding:24px;color:var(--muted);text-align:center}.schedule-empty strong{color:var(--text)}
.schedule-publication-bar{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(260px,1fr) minmax(300px,1.1fr);align-items:center;gap:22px;margin:18px 24px 0;padding:17px 19px;border:1px solid #cdddf4;border-radius:14px;background:linear-gradient(120deg,#f4f8ff,#fff)}.schedule-publication-bar>div:first-child,.schedule-published-seal{display:grid;gap:4px}.schedule-publication-bar>div:first-child>span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.schedule-publication-bar>div:first-child>strong{font-size:1rem}.schedule-publication-bar small{color:var(--muted);font-size:.7rem}.schedule-publication-bar ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none}.schedule-publication-bar li{position:relative;display:grid;justify-items:center;gap:5px;color:var(--muted);font-size:.68rem;font-weight:700}.schedule-publication-bar li:not(:last-child):after{position:absolute;z-index:0;top:13px;left:58%;width:84%;height:2px;background:#dce5f1;content:""}.schedule-publication-bar li b{position:relative;z-index:1;display:grid;width:28px;height:28px;place-items:center;border:2px solid #d5dfec;border-radius:50%;background:#fff}.schedule-publication-bar li.complete b{border-color:var(--blue);color:#fff;background:var(--blue)}.schedule-publication-bar form{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:7px}.schedule-publication-bar form input{min-height:40px;border:1px solid #cbd9e8;border-radius:10px;padding:0 11px}.schedule-publication-bar form small{grid-column:1/-1}.schedule-published-seal{grid-template-columns:34px 1fr;align-items:center}.schedule-published-seal>span{grid-row:1/3;display:grid;width:34px;height:34px;place-items:center;border-radius:50%;color:#fff;background:var(--jj-success)}
.schedule-admin-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 24px 24px}.schedule-admin-tools>.schedule-admin-drawer{margin:0;align-self:start}.schedule-admin-tools>.schedule-admin-drawer[open]{grid-column:1/-1}.schedule-lane-manager{display:grid;gap:16px;padding:0 16px 16px}.schedule-create-lane{padding:16px!important;border:1px dashed #b9cce5;border-radius:12px;background:#fff}.schedule-create-lane h3{margin:0;font-size:.88rem}.schedule-lane-list,.schedule-slot-editor,.schedule-version-list{display:grid;gap:12px;padding:0 16px 16px}.schedule-lane-list>article,.schedule-slot-editor>form,.schedule-version-list>article{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.schedule-lane-list>article>.portal-form,.schedule-slot-editor>.portal-form{padding:15px}.schedule-lane-list header,.schedule-slot-editor header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.schedule-lane-list header div,.schedule-slot-editor header div{display:grid;gap:3px}.schedule-lane-list header small,.schedule-slot-editor header small{color:var(--muted);font-size:.7rem}.schedule-lane-archive{padding:0 15px 14px}.schedule-lane-archive button{border:0;background:transparent;color:var(--jj-danger);font-size:.7rem;font-weight:800;cursor:pointer}.schedule-lane-boundary{display:block;padding:0 15px 14px;color:var(--muted);font-size:.68rem}.schedule-slot-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schedule-slot-fields>.button{align-self:end}.schedule-version-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px}.schedule-version-list article>div{display:grid;gap:3px}.schedule-version-list article>div>span{color:var(--blue);font-size:.67rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.schedule-version-list article small{color:var(--muted);font-size:.68rem}.school-schedule-builder .button,.substitution-review .button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:9px 14px;border:1px solid transparent;border-radius:10px;font:800 .75rem var(--font-interface);cursor:pointer}.school-schedule-builder .button.primary,.substitution-review .button.primary{color:#fff;border-color:var(--blue);background:var(--blue);box-shadow:0 5px 14px rgba(0,105,246,.18)}.school-schedule-builder .button.secondary,.substitution-review .button.secondary{color:var(--blue);border-color:#b8d0f3;background:#fff}.school-schedule-builder .button:hover,.school-schedule-builder .button:focus-visible,.substitution-review .button:hover,.substitution-review .button:focus-visible{filter:brightness(.97);outline:3px solid rgba(0,105,246,.14);outline-offset:2px}
.substitution-review{margin-top:20px}.substitution-list{display:grid}.substitution-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:16px 22px;border-top:1px solid var(--line)}.substitution-list article>div:first-child{display:grid;gap:3px}.substitution-list article span,.substitution-list article small{color:var(--muted);font-size:.76rem}.substitution-actions{display:flex;align-items:center;gap:8px}.substitution-actions form{display:flex;align-items:center;gap:6px}.substitution-actions input{min-height:38px;border:1px solid var(--line);border-radius:9px;padding:0 9px}.button.compact{min-height:36px;padding:7px 12px;font-size:.76rem}
.substitution-workspace{align-items:start}.form-boundary{display:block;margin-top:12px;color:var(--muted)}.schedule-contact-list{display:grid}.schedule-contact-list article{display:grid;grid-template-columns:minmax(200px,1fr) minmax(180px,1fr) minmax(150px,.7fr);gap:18px;align-items:center;padding:15px 22px;border-top:1px solid var(--line)}.schedule-contact-list article>div{display:grid;gap:3px}.schedule-contact-list span{font-size:.75rem;color:var(--muted)}.schedule-contact-list a{color:var(--blue);font-weight:700;text-decoration:none}
.customer-slot-grid{display:grid;gap:0}.customer-slot-grid article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 22px;border-top:1px solid var(--line)}.customer-slot-grid article>div{display:grid;gap:3px}.customer-slot-grid article span,.customer-slot-grid article small{color:var(--muted);font-size:.78rem}.instrument-dot{width:12px;height:38px;border-radius:8px;background:#4f46e5}.instrument-dot[data-instrument="Gitarre"]{background:#c2410c}.instrument-dot[data-instrument="Gesang"]{background:#be185d}.instrument-dot[data-instrument="Violine"]{background:#047857}.instrument-dot[data-instrument="Schlagzeug"]{background:#475569}
@media(max-width:1180px){.schedule-admin-tools{grid-template-columns:1fr 1fr}.schedule-publication-bar{grid-template-columns:1fr 1fr}.schedule-publication-bar form,.schedule-published-seal{grid-column:1/-1}}
@media(max-width:1000px){.schedule-toolbar{grid-template-columns:1fr}.schedule-toolbar .button{justify-self:start}.substitution-list>article{grid-template-columns:1fr auto}.substitution-actions{grid-column:1/-1}.schedule-contact-list article{grid-template-columns:1fr 1fr}.schedule-contact-list article>div{grid-column:1/-1}.schedule-admin-tools{grid-template-columns:1fr}}
@media(max-width:680px){.schedule-school-picker,.schedule-toolbar,.schedule-legend{padding-left:16px;padding-right:16px}.schedule-grid-footer{padding:11px 16px;display:grid}.weekday-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.weekday-tabs a{text-align:center;padding:8px}.substitution-list>article,.customer-slot-grid article{grid-template-columns:1fr}.substitution-list>article>.status,.customer-slot-grid article>.status{justify-self:start}.substitution-actions,.substitution-actions form{align-items:stretch;flex-direction:column;width:100%}.schedule-contact-list article{grid-template-columns:1fr}.schedule-contact-list article>div{grid-column:auto}.schedule-admin-drawer{margin:14px 16px 18px}.schedule-admin-tools{margin:14px 16px 18px}.schedule-publication-bar{grid-template-columns:1fr;margin:14px 16px 0}.schedule-publication-bar form{grid-template-columns:1fr}.schedule-publication-bar form .button{width:100%}.schedule-slot-fields{grid-template-columns:1fr}.schedule-version-list>article{grid-template-columns:1fr}.schedule-version-list article>.status{justify-self:start}}
@media print{.portal-sidebar,.portal-topbar,.mobile-topbar,.schedule-school-picker,.schedule-admin-drawer,.substitution-workspace,.substitution-review,.policy-banner,.schedule-contact-panel,.filter-bar,.metric-grid,.catalog-coverage-banner,.breadcrumb,.section-nav{display:none!important}.portal-main{padding:0!important;margin:0!important}.panel{box-shadow:none!important;border:0!important}.schedule-grid-wrap{overflow:visible}.schedule-grid{min-width:0;font-size:10px}.schedule-toolbar .button{display:none}.schedule-grid td{height:58px}.schedule-slot{min-height:45px}}

/* Final STEP-2 business-knowledge baseline */
.knowledge-header { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; }.knowledge-header > div:first-child { max-width:820px; }.knowledge-seal { display:grid; min-width:235px; gap:4px; padding:14px 16px; border:1px solid #b9d1f5; border-left:4px solid var(--jj-blue); border-radius:12px; background:linear-gradient(120deg,#edf5ff,#fff); }.knowledge-seal span { color:var(--jj-blue); font:800 8px var(--font-interface); letter-spacing:.08em; text-transform:uppercase; }.knowledge-seal strong { font:800 13px var(--font-interface); }.knowledge-seal small { color:var(--jj-muted); font-size:8.5px; }
.knowledge-boundary { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:13px; margin:18px 0; padding:15px 17px; border:1px solid #ecc9ce; border-left:4px solid var(--jj-danger); border-radius:12px; background:#fff8f8; }.knowledge-boundary > span { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; color:#fff; background:var(--jj-danger); font:800 13px var(--font-interface); }.knowledge-boundary strong { font:800 11px var(--font-interface); }.knowledge-boundary p { margin:5px 0 0; color:var(--jj-muted); font-size:9px; line-height:1.5; }.knowledge-boundary > small { max-width:230px; color:#9d3141; font:700 7px/1.4 var(--font-interface); overflow-wrap:anywhere; text-align:right; }
.metric-grid.six.knowledge-metrics { grid-template-columns:repeat(6,minmax(0,1fr)); }.knowledge-metrics .metric-card { min-height:112px; }.knowledge-policy-panel,.knowledge-policy-detail,.knowledge-source-status,.knowledge-disposition,.knowledge-boundaries,.knowledge-gates,.knowledge-provenance { overflow:hidden; }.knowledge-policy-panel .panel-heading p,.knowledge-boundaries .panel-heading p,.knowledge-gates .panel-heading p,.knowledge-provenance .panel-heading p { max-width:760px; margin:5px 0 0; color:var(--jj-muted); font-size:9px; line-height:1.5; }
.knowledge-policy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:18px; border-top:1px solid var(--jj-line); }.knowledge-policy-card { display:grid; min-height:204px; align-content:start; gap:10px; padding:15px; border:1px solid var(--jj-line); border-radius:11px; color:var(--jj-ink); background:#fff; text-decoration:none; transition:border-color .15s,box-shadow .15s,transform .15s; }.knowledge-policy-card:hover,.knowledge-policy-card:focus-visible,.knowledge-policy-card.active { border-color:#94b9ee; box-shadow:0 8px 24px rgba(27,71,135,.1); outline:none; transform:translateY(-1px); }.knowledge-policy-card.active { box-shadow:inset 3px 0 0 var(--jj-blue),0 8px 24px rgba(27,71,135,.1); }.knowledge-policy-card header,.knowledge-policy-card footer { display:flex; align-items:center; justify-content:space-between; gap:10px; }.knowledge-policy-card header > span { color:#b7c3d4; font:900 20px var(--font-interface); }.knowledge-policy-card > strong { font:800 11.5px/1.35 var(--font-interface); }.knowledge-policy-card p { margin:0; color:var(--jj-muted); font-size:9px; line-height:1.55; }.knowledge-policy-card footer { align-self:end; padding-top:10px; border-top:1px solid var(--jj-line); }.knowledge-policy-card footer small { color:var(--jj-muted); font-size:8px; }.knowledge-policy-card footer span { color:var(--jj-blue); font:800 8px var(--font-interface); }
.knowledge-policy-detail { margin-bottom:18px; }.knowledge-policy-detail .object-header { border-bottom:1px solid var(--jj-line); }.knowledge-rule-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0; padding:0; background:var(--jj-line); list-style:none; }.knowledge-rule-list li { display:grid; grid-template-columns:31px minmax(0,1fr); align-items:start; gap:11px; padding:15px 17px; background:#fff; }.knowledge-rule-list li > span { display:grid; width:28px; height:28px; place-items:center; border-radius:8px; color:var(--jj-blue); background:#edf4ff; font:800 9px var(--font-interface); }.knowledge-rule-list strong,.knowledge-rule-list small { display:block; }.knowledge-rule-list strong { font:750 9.5px/1.45 var(--font-interface); }.knowledge-rule-list small { margin-top:5px; color:var(--jj-muted); font-size:7px; overflow-wrap:anywhere; }
.knowledge-status-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:18px; margin-bottom:18px; }.knowledge-source-bars { display:grid; gap:11px; padding:18px 20px; border-top:1px solid var(--jj-line); }.knowledge-source-bars > div { display:grid; grid-template-columns:110px minmax(0,1fr) 22px; align-items:center; gap:10px; }.knowledge-source-bars span { color:#465570; font:700 8.5px var(--font-interface); }.knowledge-source-bars i { height:7px; overflow:hidden; border-radius:99px; background:#edf1f6; }.knowledge-source-bars i b { display:block; width:4%; height:100%; border-radius:99px; background:#8997aa; }.knowledge-source-bars i b.count-10 { width:71%; }.knowledge-source-bars i b.count-1 { width:7%; }.knowledge-source-bars i b.warning { background:var(--jj-warning); }.knowledge-source-bars i b.danger { background:var(--jj-danger); }.knowledge-source-bars i b.info { background:var(--jj-blue); }.knowledge-source-bars > div > strong { font:800 10px var(--font-interface); text-align:right; }.knowledge-zero-current { display:flex; align-items:center; gap:12px; margin:0 20px 18px; padding:12px 14px; border:1px solid #efc5cb; border-radius:10px; background:#fff8f8; }.knowledge-zero-current > b { color:var(--jj-danger); font:900 26px var(--font-interface); }.knowledge-zero-current span { font:800 9px/1.4 var(--font-interface); }.knowledge-zero-current small { color:var(--jj-muted); font:500 8px var(--font-interface); }
.knowledge-disposition > section { padding:15px 18px; border-top:1px solid var(--jj-line); }.knowledge-disposition h3 { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 11px; font:800 10px var(--font-interface); }.knowledge-disposition h3 span { color:var(--jj-blue); font-size:13px; }.knowledge-disposition section > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.knowledge-disposition article { min-height:70px; padding:11px; border:1px solid var(--jj-line); border-radius:9px; background:#fbfcfe; }.knowledge-disposition article strong,.knowledge-disposition article span { display:block; }.knowledge-disposition article strong { color:var(--jj-deep); font:900 20px var(--font-interface); }.knowledge-disposition article span { margin-top:5px; color:var(--jj-muted); font-size:8px; line-height:1.35; }
.knowledge-boundary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:18px; border-top:1px solid var(--jj-line); }.knowledge-boundary-grid > article { overflow:hidden; border:1px solid var(--jj-line); border-radius:11px; background:#fff; }.knowledge-boundary-grid header { display:flex; align-items:center; gap:10px; padding:12px 14px; background:#f7f9fc; }.knowledge-boundary-grid header span { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; color:#fff; background:var(--jj-warning); font:800 9px var(--font-interface); }.knowledge-boundary-grid header strong { font:800 10px var(--font-interface); }.knowledge-boundary-grid ul { display:grid; margin:0; padding:0; list-style:none; }.knowledge-boundary-grid li { display:grid; gap:4px; padding:10px 14px; border-top:1px solid var(--jj-line); }.knowledge-boundary-grid li span { font:700 9px/1.4 var(--font-interface); }.knowledge-boundary-grid li small { color:var(--jj-muted); font-size:7px; overflow-wrap:anywhere; }
.knowledge-gate-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--jj-line); border-top:1px solid var(--jj-line); }.knowledge-gate-grid article { position:relative; display:grid; grid-template-columns:32px minmax(0,1fr); gap:11px; padding:15px 17px 34px; background:#fff; }.knowledge-gate-grid article > span { display:grid; width:29px; height:29px; place-items:center; border-radius:50%; color:#986500; background:#fff0c2; font:800 8px var(--font-interface); }.knowledge-gate-grid strong { font:800 9.5px/1.4 var(--font-interface); }.knowledge-gate-grid p { margin:5px 0; color:var(--jj-muted); font-size:8.5px; line-height:1.45; }.knowledge-gate-grid small { color:#8290a4; font-size:6.8px; overflow-wrap:anywhere; }.knowledge-gate-grid article > b { position:absolute; right:14px; bottom:10px; padding:4px 6px; border-radius:5px; color:#8a5a00; background:#fff5d9; font:800 7px var(--font-interface); text-transform:uppercase; }
.knowledge-provenance { margin-top:18px; }.knowledge-provenance table { min-width:900px; }.knowledge-provenance td small { display:block; max-width:620px; color:var(--jj-muted); font-size:7.5px; overflow-wrap:anywhere; }.knowledge-authority { display:grid; grid-template-columns:170px minmax(0,1fr); align-items:center; gap:16px; padding:15px 18px; border-top:1px solid var(--jj-line); background:#f9fbfe; }.knowledge-authority > strong { font:800 10px var(--font-interface); }.knowledge-authority ol { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin:0; padding:0; list-style:none; }.knowledge-authority li { display:grid; grid-template-columns:22px minmax(0,1fr); align-items:center; gap:7px; }.knowledge-authority li > span { display:grid; width:21px; height:21px; place-items:center; border-radius:50%; color:#fff; background:var(--jj-blue); font:800 7px var(--font-interface); }.knowledge-authority li strong,.knowledge-authority li small { display:block; }.knowledge-authority li strong { font:750 7.5px/1.3 var(--font-interface); }.knowledge-authority li small { margin-top:2px; color:var(--jj-muted); font-size:5.5px; overflow-wrap:anywhere; }.knowledge-blocked { margin-top:18px; }

@media (max-width:1100px) { .metric-grid.six.knowledge-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }.knowledge-policy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.knowledge-authority { grid-template-columns:1fr; }.knowledge-authority ol { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:820px) { .knowledge-header { align-items:stretch; flex-direction:column; }.knowledge-seal { min-width:0; }.knowledge-boundary { grid-template-columns:34px 1fr; }.knowledge-boundary > small { grid-column:2; max-width:none; text-align:left; }.knowledge-status-grid { grid-template-columns:1fr; }.knowledge-gate-grid,.knowledge-rule-list { grid-template-columns:1fr; } }
@media (max-width:560px) { .metric-grid.six.knowledge-metrics { display:grid; grid-auto-flow:column; grid-auto-columns:72vw; grid-template-columns:none; overflow-x:auto; padding-bottom:6px; scroll-snap-type:x proximity; scrollbar-width:none; }.knowledge-metrics .metric-card { scroll-snap-align:start; }.knowledge-policy-grid,.knowledge-boundary-grid { grid-template-columns:1fr; padding:13px; }.knowledge-policy-card { min-height:0; }.knowledge-source-bars > div { grid-template-columns:88px minmax(0,1fr) 18px; }.knowledge-disposition section > div { grid-template-columns:1fr; }.knowledge-authority ol { grid-template-columns:1fr; }.knowledge-gate-grid article { padding-inline:13px; } }

/* System operations center */
.system-metrics .metric-card { min-height: 116px; }
.truth-ladder { display: grid; grid-template-columns: 150px minmax(0,1fr); align-items: center; gap: 20px; margin: 18px 0; padding: 17px 20px; border: 1px solid var(--jj-line); border-radius: 14px; background: #fff; box-shadow: var(--shadow); }
.truth-ladder > strong { color: var(--jj-deep); font: 800 12px var(--font-interface); }
.truth-ladder ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.truth-ladder li { position: relative; display: grid; grid-template-columns: 29px minmax(0,1fr); align-items: center; gap: 9px; min-width: 0; }
.truth-ladder li:not(:last-child)::after { position: absolute; top: 14px; right: 9px; left: 39px; height: 1px; background: #dce4ef; content: ''; }
.truth-ladder li > b { position: relative; z-index: 1; display: grid; width: 29px; height: 29px; place-items: center; border: 1px solid #cad5e5; border-radius: 50%; color: var(--jj-muted); background: #fff; font: 800 10px var(--font-interface); }
.truth-ladder li.complete > b { border-color: var(--jj-blue); color: #fff; background: var(--jj-blue); }
.truth-ladder li span { position: relative; z-index: 1; overflow: hidden; background: #fff; }
.truth-ladder li strong, .truth-ladder li small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.truth-ladder li strong { font: 800 10px var(--font-interface); }.truth-ladder li small { margin-top: 3px; color: var(--jj-muted); font-size: 9px; }
.system-table { min-width: 1280px; }.system-table td { vertical-align: top; }.system-table td:first-child { min-width: 170px; }.system-table td:nth-child(7) { min-width: 210px; }
.system-table td > strong, .system-table td > small, .audit-table td > strong, .audit-table td > small, .job-run-panel td > strong, .job-run-panel td > small { display: block; }
.system-table td > small, .audit-table td > small, .job-run-panel td > small { margin-top: 5px; color: var(--jj-muted); font-size: 9px; }
.freshness-dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #91a0b5; }.freshness-dot.current { background: var(--jj-success); }.freshness-dot.recent { background: var(--jj-blue); }.freshness-dot.stale { background: var(--jj-warning); }
.system-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.38fr); gap: 24px; padding: 23px 25px 26px; }
.system-detail-grid h3 { margin: 0 0 15px; font: 800 13px var(--font-interface); }
.connection-chain { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.connection-chain li { position: relative; display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 9px; min-height: 64px; padding-right: 12px; }
.connection-chain li:not(:last-child)::after { position: absolute; top: 15px; right: 3px; left: 42px; height: 1px; background: #d7dfeb; content: ''; }
.connection-chain li > b { position: relative; z-index: 1; display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #cad5e5; border-radius: 50%; color: var(--jj-muted); background: #fff; font: 800 10px var(--font-interface); }
.connection-chain li.done > b { border-color: var(--jj-blue); color: #fff; background: var(--jj-blue); }.connection-chain li.open > b { border-style: dashed; }
.connection-chain li span { position: relative; z-index: 1; overflow: hidden; padding-top: 2px; background: #fff; }.connection-chain strong, .connection-chain small { display: block; }.connection-chain strong { font: 800 10px/1.35 var(--font-interface); }.connection-chain small { margin-top: 4px; color: var(--jj-muted); font-size: 9px; line-height: 1.4; }
.system-next-step { display: grid; align-content: center; min-height: 146px; margin: 0; }.system-next-step span, .system-next-step strong, .system-next-step small { display: block; }.system-next-step span { color: var(--jj-muted); font: 800 9px var(--font-interface); letter-spacing: .08em; text-transform: uppercase; }.system-next-step strong { margin-top: 9px; font: 800 14px/1.4 var(--font-interface); }.system-next-step small { margin-top: 9px; color: var(--jj-muted); font-size: 10px; line-height: 1.5; }
.runtime-boundary { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 18px 0; padding: 15px 18px; border: 1px solid #cfdcf2; border-radius: 13px; background: #f5f8ff; }.runtime-boundary > div { display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 11px; }.runtime-boundary > div > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #fff; background: var(--jj-blue); font: 800 11px var(--font-interface); }.runtime-boundary p { margin: 0; color: var(--jj-muted); font-size: 11px; line-height: 1.5; }.runtime-boundary p strong { color: var(--jj-deep); }.runtime-boundary > small { min-width: max-content; color: var(--jj-deep); font: 800 10px var(--font-interface); }
.automation-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 0 0 18px; }.automation-card { display: grid; min-height: 260px; padding: 19px; border: 1px solid var(--jj-line); border-radius: 14px; color: var(--jj-ink); background: #fff; box-shadow: var(--shadow); text-decoration: none; }.automation-card:hover, .automation-card:focus-visible, .automation-card.active { border-color: var(--jj-blue); box-shadow: 0 0 0 2px rgba(0,105,246,.1); outline: none; }.automation-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.automation-card > small { margin-top: 14px; color: var(--jj-muted); font-size: 9px; }.automation-card > strong { margin-top: 7px; font: 800 13px/1.4 var(--font-interface); }.automation-card dl { display: grid; gap: 8px; margin: 15px 0 0; }.automation-card dl div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-top: 7px; border-top: 1px solid #edf1f6; }.automation-card dt { color: var(--jj-muted); font-size: 9px; }.automation-card dd { margin: 0; font: 700 9px var(--font-interface); text-align: right; }.card-action { align-self: end; margin-top: 16px; color: var(--jj-blue); font: 800 10px var(--font-interface); }.automation-facts .detail-list { grid-template-columns: repeat(2,minmax(0,1fr)); }.job-run-panel { scroll-margin-top: 20px; }
.audit-principles { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 18px 0; overflow: hidden; border: 1px solid var(--jj-line); border-radius: 13px; background: #fff; }.audit-principles article { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 10px; min-height: 82px; padding: 14px 17px; border-right: 1px solid var(--jj-line); }.audit-principles article:last-child { border-right: 0; }.audit-principles article > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; color: var(--jj-blue); background: #edf4ff; font: 800 9px var(--font-interface); }.audit-principles strong, .audit-principles small { display: block; }.audit-principles strong { font: 800 11px var(--font-interface); }.audit-principles small { margin-top: 4px; color: var(--jj-muted); font-size: 9px; }.audit-table { min-width: 980px; }.audit-decision-mark { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; color: #fff; font: 800 21px var(--font-interface); }.audit-decision-mark.allowed { background: var(--jj-success); }.audit-decision-mark.denied { background: var(--jj-warning); }.audit-decision-flow { display: grid; grid-template-columns: minmax(0,1fr) 28px minmax(0,1.2fr) 28px minmax(0,1fr); align-items: center; gap: 10px; padding: 23px 25px 26px; }.audit-decision-flow article { min-height: 112px; padding: 16px; border: 1px solid var(--jj-line); border-radius: 12px; background: #fbfcfe; }.audit-decision-flow article span, .audit-decision-flow article strong, .audit-decision-flow article small { display: block; }.audit-decision-flow article span { color: var(--jj-muted); font: 800 9px var(--font-interface); text-transform: uppercase; }.audit-decision-flow article strong { margin-top: 10px; font: 800 12px/1.4 var(--font-interface); }.audit-decision-flow article small { margin-top: 6px; color: var(--jj-muted); font-size: 9px; line-height: 1.45; }.audit-decision-flow > i { color: var(--jj-blue); font: 800 18px var(--font-interface); text-align: center; }

@media (max-width: 1100px) {
  .truth-ladder { grid-template-columns: 1fr; }.system-detail-grid { grid-template-columns: 1fr; }.automation-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.audit-principles { grid-template-columns: repeat(2,minmax(0,1fr)); }.audit-principles article:nth-child(2) { border-right: 0; }.audit-principles article:nth-child(-n+2) { border-bottom: 1px solid var(--jj-line); }
}
@media (max-width: 700px) {
  .metric-grid.five.system-metrics { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; scrollbar-width: none; }.system-metrics .metric-card { scroll-snap-align: start; }
  .truth-ladder { padding: 15px; }.truth-ladder ol, .connection-chain { grid-template-columns: 1fr; gap: 4px; }.truth-ladder li, .connection-chain li { min-height: 54px; }.truth-ladder li:not(:last-child)::after, .connection-chain li:not(:last-child)::after { top: 28px; right: auto; bottom: -5px; left: 14px; width: 1px; height: auto; }.truth-ladder li span, .connection-chain li span { overflow: visible; }.truth-ladder li strong, .truth-ladder li small { white-space: normal; }
  .automation-card-grid { grid-template-columns: 1fr; }.automation-card { min-height: 245px; }.runtime-boundary { align-items: flex-start; flex-direction: column; }.automation-facts .detail-list { grid-template-columns: 1fr; }
  .audit-principles { grid-template-columns: 1fr; }.audit-principles article { border-right: 0; border-bottom: 1px solid var(--jj-line); }.audit-principles article:last-child { border-bottom: 0; }.audit-decision-flow { grid-template-columns: 1fr; }.audit-decision-flow > i { transform: rotate(90deg); }
}

* { box-sizing: border-box; }
html { min-width: 320px; overflow-x: hidden; background: var(--jj-canvas); color: var(--jj-ink); font-family: var(--font-body); }
body { margin: 0; min-height: 100vh; overflow-x: hidden; }
a { color: inherit; }
button, input, select { font: inherit; }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 100; padding: 10px 16px; border-radius: 8px; color: #fff; background: var(--jj-deep); }
.skip-link:focus { top: 12px; }
.portal-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 10; display: flex; width: var(--sidebar); flex-direction: column; overflow-y: auto; padding: 22px 18px 18px; color: #fff; background: linear-gradient(175deg, #061b4e 0%, var(--jj-deep) 58%, #0437b8 100%); box-shadow: 8px 0 30px rgba(0, 32, 177, .12); }
.portal-brand { display: block; padding: 0 12px 14px; color: #fff; text-decoration: none; }
.portal-brand img { display: block; width: 154px; max-height: 50px; object-fit: contain; object-position: left center; }
.portal-brand span { display: block; margin-top: 5px; color: rgba(255,255,255,.68); font: 700 11px/1 var(--font-interface); letter-spacing: .18em; text-transform: uppercase; }
.primary-nav { display: flex; flex: 1; flex-direction: column; gap: 2px; }
.primary-nav > p { margin: 12px 12px 5px; color: rgba(255,255,255,.48); font: 700 9px/1 var(--font-interface); letter-spacing: .16em; text-transform: uppercase; }
.nav-item { display: grid; min-height: 38px; grid-template-columns: 27px 1fr auto; align-items: center; gap: 8px; padding: 5px 9px; border-radius: 9px; color: rgba(255,255,255,.78); font: 700 12.5px/1.2 var(--font-interface); text-decoration: none; transition: background .15s ease, color .15s ease; }
a.nav-item:hover, a.nav-item:focus-visible { color: #fff; background: rgba(255,255,255,.1); outline: none; }
.nav-item.active { color: #fff; background: rgba(255,255,255,.17); box-shadow: inset 3px 0 0 var(--jj-cyan); }
.nav-item > span:first-child { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 7px; font-size: 10px; }
.nav-item small { color: rgba(255,255,255,.4); font-size: 10px; font-weight: 600; }
.nav-item.disabled { cursor: not-allowed; opacity: .56; }
.sidebar-boundary { position: relative; display: grid; grid-template-columns: 12px 1fr; gap: 1px 9px; margin-top: 12px; padding: 11px 13px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(4,15,55,.26); }
.sidebar-boundary strong { font: 700 12px/1.3 var(--font-interface); }
.sidebar-boundary small { grid-column: 2; color: rgba(255,255,255,.58); font-size: 10px; }
.live-dot { width: 8px; height: 8px; margin-top: 3px; border-radius: 50%; background: var(--jj-cyan); box-shadow: 0 0 0 4px rgba(61,241,249,.12); }
.portal-stage { min-width: 0; min-height: 100vh; margin-left: var(--sidebar); overflow-x: hidden; }
.topbar { display: flex; height: 72px; align-items: center; justify-content: space-between; padding: 0 clamp(24px, 4vw, 56px); border-bottom: 1px solid var(--jj-line); background: rgba(255,255,255,.94); }
.topbar-context { display: flex; align-items: baseline; gap: 8px; }
.topbar-context span { color: var(--jj-muted); font-size: 12px; }
.topbar-context strong { font: 700 14px var(--font-interface); }
.topbar-tools { display: flex; align-items: center; gap: 14px; }
.prototype-chip { padding: 7px 10px; border: 1px solid #ccdaf8; border-radius: 999px; color: var(--jj-deep); background: #f2f6ff; font: 700 10px/1 var(--font-interface); letter-spacing: .09em; text-transform: uppercase; }
.avatar { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--jj-blue), var(--jj-deep)); font: 800 13px var(--font-interface); }
.account-menu { position: relative; }
.account-menu > summary { display: flex; min-width: 126px; align-items: center; gap: 9px; cursor: pointer; list-style: none; }
.account-menu > summary::-webkit-details-marker { display: none; }
.account-summary small,.account-summary strong { display: block; }
.account-summary small { color: var(--jj-muted); font-size: 8px; line-height: 1; }
.account-summary strong { margin-top: 4px; color: var(--jj-ink); font: 800 11px var(--font-interface); }
.account-menu > summary:focus-visible { border-radius: 8px; outline: 3px solid rgba(0,105,246,.18); outline-offset: 3px; }
.account-popover { position: absolute; top: calc(100% + 12px); right: 0; z-index: 100; display: grid; width: 225px; padding: 15px; border: 1px solid var(--jj-line); border-radius: 13px; background: #fff; box-shadow: 0 18px 45px rgba(20,33,61,.18); }
.account-popover .account-preview-label { width: max-content; padding: 4px 6px; border-radius: 999px; color: #6f5513; background: #fff1c9; font: 800 7px var(--font-interface); letter-spacing: .06em; text-transform: uppercase; }
.account-popover > strong { margin-top: 10px; font: 800 13px var(--font-interface); }
.account-popover > small { margin-top: 4px; color: var(--jj-muted); font-size: 9px; }
.account-popover > a { margin-top: 13px; padding-top: 11px; border-top: 1px solid var(--jj-line); color: var(--jj-blue); font: 800 9px var(--font-interface); text-decoration: none; }
.account-popover > a:hover,.account-popover > a:focus-visible { text-decoration: underline; outline: none; }
.account-popover > form { margin-top: 13px; padding-top: 11px; border-top: 1px solid var(--jj-line); }
.account-popover > form button { width: 100%; padding: 9px 11px; border: 0; border-radius: 8px; color: #fff; background: var(--jj-deep); font: 800 9px var(--font-interface); cursor: pointer; }
.account-popover > form button:hover,.account-popover > form button:focus-visible { background: var(--jj-blue); outline: 3px solid rgba(0,105,246,.16); outline-offset: 2px; }
.mobile-brand { display: none; align-items: center; gap: 9px; font: 800 14px var(--font-interface); }
.mobile-brand img { width: 30px; height: 30px; }
.page { width: min(1480px, 100%); min-height: calc(100vh - 120px); margin: 0 auto; padding: 38px clamp(24px, 4vw, 56px) 52px; }
.page-header { margin-bottom: 26px; }
.split-header { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.split-header > div:first-child { max-width: 760px; }
.page-header h1 { margin: 4px 0 8px; color: #102048; font: 800 clamp(28px, 3vw, 40px)/1.12 var(--font-interface); letter-spacing: -.025em; }
.page-header p:not(.eyebrow) { margin: 0; color: var(--jj-muted); font-size: 14px; line-height: 1.65; }
.page-header.compact h1 { font-size: clamp(27px, 2.5vw, 36px); }
.eyebrow { margin: 0; color: var(--jj-blue); font: 800 10px/1.3 var(--font-interface); letter-spacing: .17em; text-transform: uppercase; }
.read-only-card { display: flex; min-width: 290px; max-width: 360px; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid #d8e3f8; border-radius: 12px; background: #f7faff; }
.read-only-card strong, .read-only-card small { display: block; }
.read-only-card strong { font: 800 12px var(--font-interface); }
.read-only-card small { margin-top: 3px; color: var(--jj-muted); font-size: 10px; line-height: 1.4; }
.lock-icon { display: grid; flex: 0 0 36px; height: 36px; place-items: center; border-radius: 10px; color: #fff; background: var(--jj-blue); font: 800 10px var(--font-interface); }
.warning-boundary { border-color: #f0d8a6; background: #fffaf0; }
.warning-boundary .lock-icon { background: var(--jj-warning); }
.metric-grid { display: grid; gap: 14px; margin-bottom: 20px; }
.metric-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric-grid.five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.metric-card { position: relative; display: flex; min-height: 128px; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 20px; border: 1px solid var(--jj-line); border-radius: var(--radius); color: var(--jj-ink); background: var(--jj-surface); box-shadow: 0 4px 16px rgba(20,33,61,.035); text-decoration: none; }
.metric-card::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: #d8e2f0; content: ""; }
.metric-card.featured { color: #fff; border-color: transparent; background: linear-gradient(135deg, var(--jj-blue), var(--jj-deep)); }
.metric-card.featured::before { width: 100%; background: radial-gradient(circle at 100% 0, rgba(61,241,249,.23), transparent 47%); }
.metric-card > * { position: relative; }
.metric-card span { color: var(--jj-muted); font: 700 12px var(--font-interface); }
.metric-card.featured span { color: rgba(255,255,255,.75); }
.metric-card strong { display: block; margin-top: 9px; font: 800 clamp(25px, 2.4vw, 34px)/1 var(--font-interface); letter-spacing: -.03em; }
.metric-card small { color: var(--jj-muted); font-size: 10px; }
.metric-card.featured small { color: var(--jj-cyan); }
a.metric-card:hover, a.metric-card:focus-visible { border-color: #adc8f7; box-shadow: var(--shadow); outline: none; transform: translateY(-1px); }
.metric-card.active { border-color: var(--jj-blue); box-shadow: 0 0 0 2px rgba(0,105,246,.12); }
.metric-card.green::before { background: var(--jj-success); }
.metric-card.conflict::before { background: var(--jj-danger); }
.metric-card.access_gap::before { background: var(--jj-warning); }
.positive-text { color: var(--jj-success) !important; }
.danger-text { color: var(--jj-danger); }
.panel { border: 1px solid var(--jj-line); border-radius: var(--radius); background: var(--jj-surface); box-shadow: var(--shadow); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr); gap: 20px; margin-bottom: 20px; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px 18px; border-bottom: 1px solid #edf1f7; }
.panel-heading h2 { margin: 4px 0 0; font: 800 20px/1.2 var(--font-interface); letter-spacing: -.015em; }
.panel-meta { color: var(--jj-muted); font-size: 11px; }
.count-badge { display: grid; min-width: 30px; height: 30px; place-items: center; border-radius: 50%; color: var(--jj-deep); background: #eaf1ff; font: 800 12px var(--font-interface); }
.chart { display: flex; height: 205px; align-items: flex-end; justify-content: space-around; gap: 12px; padding: 30px 24px 12px; border-bottom: 1px solid #edf1f7; background: linear-gradient(#fff, #fbfcff); }
.chart-column { display: grid; width: 13%; height: 100%; grid-template-rows: 20px 1fr 18px; gap: 6px; text-align: center; }
.chart-column strong { color: var(--jj-muted); font: 700 9px var(--font-interface); }
.chart-column span { color: var(--jj-muted); font-size: 10px; }
.chart-column progress { width: 100%; height: 100%; appearance: none; writing-mode: vertical-lr; direction: rtl; border: 0; border-radius: 7px; overflow: hidden; background: #edf3fb; }
.chart-column progress::-webkit-progress-bar { border-radius: 7px; background: #edf3fb; }
.chart-column progress::-webkit-progress-value { border-radius: 7px; background: linear-gradient(180deg, var(--jj-cyan), var(--jj-blue)); }
.chart-column progress::-moz-progress-bar { border-radius: 7px; background: var(--jj-blue); }
.segment-list { display: grid; gap: 12px; padding: 18px 24px 22px; }
.segment-list > div { display: grid; grid-template-columns: 145px minmax(80px,1fr) 80px; align-items: center; gap: 12px; font-size: 10px; }
.segment-list progress { width: 100%; height: 6px; appearance: none; border: 0; border-radius: 99px; overflow: hidden; }
.segment-list progress::-webkit-progress-bar { background: #edf2f8; }
.segment-list progress::-webkit-progress-value { background: var(--jj-deep); }
.segment-list strong { text-align: right; font: 800 11px var(--font-interface); }
.work-list a { display: grid; min-height: 67px; grid-template-columns: 7px 1fr auto 10px; align-items: center; gap: 12px; padding: 11px 20px; border-bottom: 1px solid #edf1f7; text-decoration: none; }
.work-list a:last-child { border-bottom: 0; }
.work-list a:hover, .work-list a:focus-visible { background: #f7faff; outline: none; }
.work-list strong, .work-list small { display: block; }
.work-list strong { font: 700 12px var(--font-interface); }
.work-list small { margin-top: 4px; color: var(--jj-muted); font-size: 9px; }
.work-list b { font: 800 15px var(--font-interface); }
.urgency { width: 6px; height: 32px; border-radius: 99px; background: #b8c1d0; }
.urgency.positive { background: var(--jj-success); }.urgency.warning { background: var(--jj-warning); }.urgency.danger { background: var(--jj-danger); }.urgency.info { background: var(--jj-blue); }
.operation-cards { display: grid; grid-template-columns: repeat(4,1fr); }
.operation-cards article, .operation-cards > a { display: flex; align-items: center; gap: 12px; padding: 20px 24px; border-right: 1px solid #edf1f7; text-decoration: none; }
.operation-cards article:last-child, .operation-cards > a:last-child { border: 0; }
.operation-cards > a:hover, .operation-cards > a:focus-visible { background: #f7faff; outline: none; }
.operation-cards strong, .operation-cards small, .operation-cards > a strong, .operation-cards > a small { display: block; }
.operation-cards strong { font: 800 12px var(--font-interface); }
.operation-cards small { margin-top: 4px; color: var(--jj-muted); font-size: 9px; line-height: 1.4; }
.mini-icon { display: grid; flex: 0 0 38px; height: 38px; place-items: center; border-radius: 11px; font: 800 12px var(--font-interface); }
.mini-icon.blue { color: var(--jj-blue); background: #eaf3ff; }.mini-icon.cyan { color: #087b8b; background: #e3fcfd; }.mini-icon.violet { color: #6745c6; background: #f0ebff; }.mini-icon.green { color: var(--jj-success); background: #e9f8f2; }
.compact-metrics .metric-card { min-height: 108px; }
.filter-bar { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 22px 0 14px; padding: 14px 16px; border: 1px solid var(--jj-line); border-radius: 14px; background: #fff; }
.filter-bar form { display: flex; align-items: end; gap: 12px; }
.filter-bar label, .field-sample { display: grid; gap: 5px; color: var(--jj-muted); font: 700 10px var(--font-interface); }
.filter-bar input, .filter-bar select, .field-sample input { height: 39px; min-width: 220px; padding: 0 12px; border: 1px solid #cfd8e6; border-radius: 9px; color: var(--jj-ink); background: #fff; font-size: 12px; }
.filter-bar select { min-width: 150px; }
.filter-bar button, .button-sample.primary { height: 39px; padding: 0 16px; border: 1px solid var(--jj-blue); border-radius: 9px; color: #fff; background: var(--jj-blue); font: 800 11px var(--font-interface); }
.filter-bar button:hover, .filter-bar button:focus-visible { background: var(--jj-deep); outline: 2px solid rgba(0,105,246,.22); outline-offset: 2px; }
.filter-bar a { padding: 10px 4px; color: var(--jj-muted); font-size: 11px; }
.filter-bar > span { color: var(--jj-muted); font-size: 11px; white-space: nowrap; }
.customer-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 18px; align-items: start; }
.table-panel { min-width: 0; overflow: hidden; contain: inline-size; }
.table-wrap { width: 100%; max-width: 100%; overflow-x: auto; contain: inline-size; }
.data-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.data-table th, .data-table td { padding: 14px 15px; border-bottom: 1px solid #edf1f7; text-align: left; vertical-align: middle; }
.data-table thead th { color: var(--jj-muted); background: #fafbfd; font: 800 9px var(--font-interface); letter-spacing: .06em; text-transform: uppercase; }
.data-table tbody th { min-width: 235px; }
.data-table tbody th a { text-decoration: none; }
.data-table tbody th a:hover strong { color: var(--jj-blue); }
.data-table strong, .data-table small { display: block; }
.data-table th strong { font: 800 11px var(--font-interface); }
.data-table small { margin-top: 4px; color: var(--jj-muted); font-size: 9px; }
.data-table .selected-row { background: #f4f8ff; box-shadow: inset 3px 0 0 var(--jj-blue); }
.status-chip { display: inline-flex; align-items: center; max-width: 220px; padding: 5px 8px; border: 1px solid #d7dfeb; border-radius: 999px; color: #526078; background: #f5f7fa; font: 800 8px/1.2 var(--font-interface); letter-spacing: .02em; }
.status-chip.positive { color: #0e7048; border-color: #bce5d4; background: #eaf8f2; }.status-chip.warning { color: #925600; border-color: #f2d7a6; background: #fff7e8; }.status-chip.danger { color: #a52c3c; border-color: #efc2c9; background: #fff0f2; }.status-chip.info { color: #0757c1; border-color: #bfd6f8; background: #edf5ff; }
.detail-card { position: sticky; top: 18px; overflow: hidden; }
.detail-identity { display: flex; gap: 13px; padding: 22px; border-bottom: 1px solid #edf1f7; background: linear-gradient(135deg,#f4f8ff,#fff); }
.detail-identity h2 { margin: 4px 0 8px; font: 800 16px/1.25 var(--font-interface); }
.customer-avatar { display: grid; flex: 0 0 48px; height: 48px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(135deg,var(--jj-blue),var(--jj-deep)); font: 800 18px var(--font-interface); }
.detail-list { margin: 0; padding: 8px 22px; }
.detail-list > div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid #edf1f7; }
.detail-list dt { color: var(--jj-muted); font-size: 9px; }.detail-list dd { margin: 0; text-align: right; font: 700 10px var(--font-interface); }
.next-step { display: grid; gap: 5px; margin: 14px 22px; padding: 14px; border-left: 3px solid var(--jj-cyan); border-radius: 8px; background: #f3fbfc; }
.next-step span, .next-step small { color: var(--jj-muted); font-size: 9px; }.next-step strong { font: 800 11px var(--font-interface); }
.tag-list { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 22px 14px; }.tag-list span { padding: 5px 8px; border-radius: 7px; color: var(--jj-deep); background: #eef3ff; font: 700 9px var(--font-interface); }
.privacy-note { margin: 0; padding: 14px 22px 20px; border-top: 1px solid #edf1f7; color: var(--jj-muted); font-size: 9px; line-height: 1.5; }
.empty-cell { padding: 28px !important; color: var(--jj-muted); text-align: center !important; }
.billing-workspace { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 18px; align-items: start; }
.billing-list { overflow: hidden; }.case-list { padding: 8px; }
.case-card { display: grid; gap: 7px; margin-bottom: 5px; padding: 14px; border: 1px solid transparent; border-radius: 11px; text-decoration: none; }
.case-card:hover, .case-card:focus-visible { background: #f7faff; outline: none; }.case-card.selected { border-color: #bdd3fb; background: #f2f7ff; }
.case-card > div, .case-card footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.case-card > div > span:first-child { color: var(--jj-blue); font: 800 9px var(--font-interface); letter-spacing: .08em; }.case-card > strong { font: 800 12px var(--font-interface); }.case-card > small, .case-card footer { color: var(--jj-muted); font-size: 9px; }.case-card footer { padding-top: 8px; border-top: 1px solid #e4ebf6; }
.billing-detail { overflow: hidden; }.detail-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; padding: 23px 25px; }.detail-heading h2 { margin: 5px 0 0; font: 800 20px var(--font-interface); }
.status-strip { display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid #e4eaf3; background: #f8faff; }.status-strip div { padding: 13px 18px; border-right: 1px solid #e4eaf3; }.status-strip div:last-child { border: 0; }.status-strip span, .status-strip strong { display: block; }.status-strip span { color: var(--jj-muted); font-size: 8px; text-transform: uppercase; }.status-strip strong { margin-top: 4px; font: 800 10px var(--font-interface); }
.detail-section { padding: 22px 25px; border-bottom: 1px solid #e8edf5; }.detail-section:last-child { border: 0; }.section-title { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 14px; }.section-title h3 { margin: 0; font: 800 14px var(--font-interface); }.section-title span { color: var(--jj-muted); font-size: 9px; }
.axis-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }.axis-grid article { min-height: 78px; padding: 12px; border: 1px solid #e1e8f1; border-radius: 10px; background: #fbfcfe; }.axis-grid span, .axis-grid strong { display: block; }.axis-grid span { color: var(--jj-muted); font-size: 8px; }.axis-grid strong { margin-top: 8px; font: 800 9px/1.4 var(--font-interface); }
.source-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }.source-list article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; border: 1px solid #e2e8f1; border-radius: 9px; }.source-list strong, .source-list small { display: block; }.source-list strong { font: 800 10px var(--font-interface); }.source-list small { max-width: 250px; margin-top: 3px; color: var(--jj-muted); font-size: 8px; }
.evidence-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }.evidence-list li { display: grid; grid-template-columns: 9px 1fr; gap: 11px; }.evidence-dot { width: 8px; height: 8px; margin-top: 3px; border-radius: 50%; background: #a9b4c6; }.evidence-dot.positive { background: var(--jj-success); }.evidence-dot.warning { background: var(--jj-warning); }.evidence-dot.danger { background: var(--jj-danger); }.evidence-list small, .evidence-list strong { display: block; }.evidence-list small { color: var(--jj-muted); font-size: 8px; }.evidence-list strong { margin-top: 4px; font: 800 10px var(--font-interface); }.evidence-list p { margin: 4px 0 0; color: var(--jj-muted); font-size: 9px; line-height: 1.5; }
.header-mark { width: 100px; height: 100px; object-fit: contain; }
.design-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; margin-bottom: 18px; }.brand-showcase { display: grid; min-height: 210px; place-items: center; padding: 25px; }.brand-showcase.dark { background: linear-gradient(135deg,#061b4e,var(--jj-deep)); }.brand-showcase.dark .eyebrow, .brand-showcase.dark small { color: rgba(255,255,255,.65); }.brand-showcase img { width: min(300px,80%); max-height: 90px; }.brand-showcase small { color: var(--jj-muted); font-size: 9px; }.token-panel, .component-panel { overflow: hidden; }
.swatches { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; padding: 20px 24px 24px; }.swatches > div { display: grid; grid-template-columns: 35px 1fr; grid-template-rows: 1fr 1fr; align-items: center; column-gap: 9px; }.swatch { grid-row: 1/3; width: 35px; height: 35px; border: 1px solid rgba(20,33,61,.1); border-radius: 9px; }.swatches strong { font: 800 9px var(--font-interface); }.swatches small { color: var(--jj-muted); font-size: 8px; }
.swatch-primary{background:#0069f6}.swatch-deep{background:#0020b1}.swatch-cyan{background:#3df1f9}.swatch-ink{background:#14213d}.swatch-muted{background:#667085}.swatch-canvas{background:#f4f7fc}.swatch-surface{background:#fff}.swatch-success{background:#168a5b}.swatch-warning{background:#b86e00}.swatch-danger{background:#c63d4f}
.component-panel { padding-bottom: 24px; }.component-row { display: flex; flex-wrap: wrap; gap: 9px; padding: 18px 24px 0; }.button-sample { display: inline-grid; height: 39px; place-items: center; padding: 0 16px; border-radius: 9px; font: 800 10px var(--font-interface); }.button-sample.secondary { color: var(--jj-blue); border: 1px solid #aac9fa; background: #fff; }.button-sample.ghost { color: var(--jj-muted); background: #f2f5f9; }.field-sample { margin: 18px 24px 0; }.principles-panel { overflow: hidden; }.principle-grid { display: grid; grid-template-columns: repeat(4,1fr); }.principle-grid article { padding: 22px 24px; border-right: 1px solid #e8edf5; }.principle-grid article:last-child { border: 0; }.principle-grid b { color: var(--jj-blue); font: 800 10px var(--font-interface); }.principle-grid strong { display: block; margin-top: 12px; font: 800 12px var(--font-interface); }.principle-grid p { margin: 7px 0 0; color: var(--jj-muted); font-size: 9px; line-height: 1.55; }
.portal-footer { display: flex; justify-content: space-between; gap: 15px; padding: 18px clamp(24px,4vw,56px); border-top: 1px solid var(--jj-line); color: var(--jj-muted); background: #fff; font-size: 9px; }

@media (max-width: 1180px) {
  :root { --sidebar: 214px; }
  .metric-grid.four { grid-template-columns: repeat(2,1fr); }.metric-grid.five { grid-template-columns: repeat(3,1fr); }
  .dashboard-grid, .customer-workspace { grid-template-columns: 1fr; }.detail-card { position: static; }.operation-cards { grid-template-columns: repeat(2,1fr); }.operation-cards article:nth-child(2) { border-right: 0; }.operation-cards article:nth-child(-n+2) { border-bottom: 1px solid #edf1f7; }
  .axis-grid { grid-template-columns: repeat(3,1fr); }.source-list { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .sidebar { position: static; width: 100%; padding: 15px 18px; }.portal-brand, .sidebar-boundary, .primary-nav > p, .nav-item.disabled { display: none; }.primary-nav { display: flex; flex-direction: row; overflow-x: auto; scrollbar-width: none; }.primary-nav::-webkit-scrollbar { display: none; }.nav-item { min-width: max-content; grid-template-columns: 26px 1fr; }.portal-stage { margin: 0; }.topbar { height: 58px; padding: 0 18px; }.topbar-context { display: none; }.mobile-brand { display: flex; }.page { padding: 25px 18px 38px; }.split-header { align-items: flex-start; flex-direction: column; }.read-only-card { width: 100%; min-width: 0; max-width: none; }.billing-workspace { grid-template-columns: 1fr; }.billing-list { max-height: 440px; }.design-grid { grid-template-columns: 1fr; }.principle-grid { grid-template-columns: repeat(2,1fr); }.principle-grid article:nth-child(2) { border-right: 0; }.principle-grid article:nth-child(-n+2) { border-bottom: 1px solid #e8edf5; }
  .account-menu > summary { min-width: 34px; }.account-summary { display: none; }.account-popover { position: fixed; top: 64px; right: 12px; width: min(250px,calc(100vw - 24px)); }
}
@media (max-width: 560px) {
  .metric-grid.four, .metric-grid.five { grid-template-columns: 1fr; }.metric-card { min-height: 105px; }.operation-cards, .status-strip, .axis-grid { grid-template-columns: 1fr; }.operation-cards article { border-right: 0; border-bottom: 1px solid #edf1f7; }.filter-bar, .filter-bar form { align-items: stretch; flex-direction: column; }.filter-bar input, .filter-bar select { width: 100%; }.chart { gap: 5px; padding-inline: 12px; }.chart-column strong { font-size: 7px; }.segment-list > div { grid-template-columns: 110px 1fr 70px; }.swatches { grid-template-columns: repeat(2,1fr); }.principle-grid { grid-template-columns: 1fr; }.principle-grid article { border-right: 0; border-bottom: 1px solid #e8edf5; }.portal-footer { flex-direction: column; }
}

/* STEP 3 source verification input integration */
.verification-header { align-items: flex-end; }.verification-header > div:first-child { max-width: 820px; }.verification-seal { min-width: 205px; padding: 14px 17px; border: 1px solid #c7d8ee; border-radius: 12px; background: linear-gradient(135deg,#f6f9fe,#fff); }.verification-seal span,.verification-seal strong,.verification-seal small { display: block; }.verification-seal span { color: var(--jj-muted); font-size: 8px; text-transform: uppercase; }.verification-seal strong { margin-top: 5px; font: 800 13px var(--font-interface); }.verification-seal small { margin-top: 4px; color: var(--jj-muted); font-size: 8px; }
.verification-boundary { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 18px; padding: 14px 17px; border: 1px solid #f0c7c9; border-left: 4px solid var(--jj-danger); border-radius: 11px; background: #fff7f7; }.verification-boundary > div { display: flex; align-items: flex-start; gap: 11px; }.verification-boundary > div > span { display: grid; width: 26px; height: 26px; flex: 0 0 26px; place-items: center; border-radius: 50%; color: #fff; background: var(--jj-danger); font: 800 13px var(--font-interface); }.verification-boundary p { margin: 0; color: var(--jj-muted); font-size: 9px; line-height: 1.5; }.verification-boundary p strong { display: block; margin-bottom: 3px; color: var(--jj-ink); font: 800 10px var(--font-interface); }.verification-boundary > small { max-width: 300px; color: #8d3d44; font-size: 7.5px; text-align: right; word-break: break-word; }
.metric-grid.six.verification-metrics { grid-template-columns: repeat(6,minmax(0,1fr)); }.verification-metrics .metric-card { min-height: 105px; }.verification-filter form { grid-template-columns: minmax(190px,.3fr) minmax(260px,1fr) auto; }
.verification-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }.verification-card { display: grid; min-width: 0; align-content: start; overflow: hidden; border: 1px solid var(--jj-line); border-top: 4px solid #d7a338; border-radius: 13px; background: #fff; box-shadow: 0 5px 18px rgba(20,40,70,.035); }.verification-card.danger { border-top-color: var(--jj-danger); }.verification-card.info { border-top-color: var(--jj-blue); }.verification-card.neutral { border-top-color: #8190a5; }.verification-card.selected { box-shadow: 0 0 0 2px rgba(0,102,204,.18),0 10px 30px rgba(0,80,170,.09); }.verification-card > header,.verification-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 15px; background: #fafbfd; }.verification-card > header > div:first-child { display: flex; align-items: center; gap: 8px; }.claim-id { color: var(--jj-blue); font: 800 9px var(--font-interface); }.claim-as-of { color: var(--jj-muted); font-size: 8px; }.claim-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }.verification-badge { padding: 4px 7px; border-radius: 999px; color: #634b08; background: #fff0c8; font: 800 7px var(--font-interface); letter-spacing: .03em; text-transform: uppercase; }.verification-badge.danger { color: #8a2730; background: #ffe3e5; }.verification-badge.info { color: #064f9e; background: #e4f0ff; }.verification-badge.neutral { color: #526174; background: #edf1f5; }.verification-card > h2 { min-height: 44px; margin: 0; padding: 15px 15px 9px; font: 800 12px/1.45 var(--font-interface); }.verification-axis { margin: 0 15px 10px; padding: 12px 13px; border-radius: 9px; }.verification-axis > span { display: block; margin-bottom: 6px; font: 800 7.5px var(--font-interface); letter-spacing: .05em; text-transform: uppercase; }.verification-axis p { margin: 0; font-size: 9px; line-height: 1.55; }.verification-axis.verified { border-left: 4px solid var(--jj-success); background: #eff9f4; }.verification-axis.verified > span { color: #14704d; }.verification-axis.boundary { border-left: 4px solid var(--jj-warning); background: #fff8e9; }.verification-axis.boundary > span { color: #845e0b; }.verification-axis ul { display: grid; gap: 5px; margin: 0; padding-left: 15px; }.verification-axis li { color: #695b3a; font-size: 8.5px; line-height: 1.45; }.verification-card > footer { align-self: end; border-top: 1px solid var(--jj-line); }.verification-card > footer span { color: var(--jj-muted); font-size: 8px; }.verification-card > footer a { color: var(--jj-blue); font: 800 8px var(--font-interface); text-decoration: none; }.verification-card > footer a:hover,.verification-card > footer a:focus-visible { text-decoration: underline; outline: none; }
.verification-detail { margin-bottom: 18px; overflow: hidden; }.verification-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; padding: 20px 22px; border-top: 1px solid var(--jj-line); }.verification-detail-grid > section { min-width: 0; padding: 16px 17px; border: 1px solid var(--jj-line); border-radius: 11px; background: #fbfcfe; }.verification-detail-grid h3,.verification-open-list h3 { margin: 0; font: 800 11px var(--font-interface); }.verification-detail-grid p { color: var(--jj-muted); font-size: 9px; line-height: 1.55; }.decision-lock { display: flex; gap: 10px; margin-top: 13px; padding: 12px; border-left: 4px solid var(--jj-danger); border-radius: 8px; background: #fff1f2; }.decision-lock > span { color: var(--jj-danger); font: 800 17px var(--font-interface); }.decision-lock strong,.decision-lock small { display: block; }.decision-lock strong { font: 800 9.5px var(--font-interface); }.decision-lock small { margin-top: 4px; color: var(--jj-muted); font-size: 8px; line-height: 1.45; }.provenance-list { display: grid; gap: 7px; margin: 13px 0 0; padding: 0; list-style: none; }.provenance-list li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3px 10px; padding: 9px 10px; border: 1px solid var(--jj-line); border-radius: 8px; background: #fff; }.provenance-list strong,.provenance-list small { display: block; min-width: 0; }.provenance-list strong { font: 800 9px var(--font-interface); }.provenance-list small { overflow: hidden; color: var(--jj-muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }.provenance-list span { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--jj-muted); font-size: 7.5px; }.verification-open-list { padding: 0 22px 21px; }.verification-open-list ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }.verification-open-list li { padding: 11px 12px; border: 1px solid #ead8aa; border-radius: 9px; background: #fffaf0; }.verification-open-list span,.verification-open-list strong { display: block; }.verification-open-list span { color: #85651d; font: 800 6.8px var(--font-interface); word-break: break-word; }.verification-open-list strong { margin-top: 5px; font: 700 8.5px/1.45 var(--font-interface); }
.blocked-action-panel { margin-bottom: 18px; overflow: hidden; }.blocked-action-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 18px 20px; border-top: 1px solid var(--jj-line); }.blocked-action-grid article { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px 12px; border: 1px solid #edcfd1; border-radius: 9px; background: #fff8f8; }.blocked-action-grid article > span { display: grid; width: 23px; height: 23px; flex: 0 0 23px; place-items: center; border-radius: 50%; color: #fff; background: var(--jj-danger); font: 800 12px var(--font-interface); }.blocked-action-grid strong,.blocked-action-grid small { display: block; }.blocked-action-grid strong { font: 800 9px var(--font-interface); }.blocked-action-grid small { margin-top: 3px; color: var(--jj-muted); font-size: 6.5px; word-break: break-word; }.blocked-action-panel > .privacy-note { margin: 0 20px 18px; }
@media (max-width: 1100px) { .metric-grid.six.verification-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }.verification-grid { grid-template-columns: 1fr; } }
@media (max-width: 820px) { .verification-header,.verification-boundary { align-items: stretch; flex-direction: column; }.verification-seal { min-width: 0; }.verification-boundary > small { max-width: none; text-align: left; }.verification-detail-grid,.verification-open-list ul,.blocked-action-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .metric-grid.six.verification-metrics { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; }.verification-filter form { grid-template-columns: 1fr; }.verification-card > header,.verification-card > footer { align-items: flex-start; flex-direction: column; }.claim-badges { justify-content: flex-start; }.verification-detail-grid { padding: 16px; }.verification-open-list { padding-inline: 16px; }.blocked-action-grid { padding: 14px; } }

/* Professional information architecture V2 */
.topbar-task-link { display: inline-flex; align-items: center; gap: 7px; color: var(--jj-muted); font: 700 12px var(--font-interface); text-decoration: none; }
.topbar-task-link b { display: grid; min-width: 23px; height: 23px; place-items: center; border-radius: 999px; color: var(--jj-deep); background: #eaf1ff; font-size: 10px; }
.topbar-task-link:hover, .topbar-task-link:focus-visible { color: var(--jj-blue); outline: none; }
.breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 15px; color: var(--jj-muted); font: 700 11px var(--font-interface); }
.breadcrumb a { color: var(--jj-blue); text-decoration: none; }
.context-bar { display: flex; align-items: center; gap: 0; margin: -8px 0 20px; border: 1px solid var(--jj-line); border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(20,33,61,.03); }
.context-bar > div { min-width: 180px; padding: 12px 18px; border-right: 1px solid var(--jj-line); }
.context-bar span, .context-bar strong { display: block; }
.context-bar > div span { color: var(--jj-muted); font-size: 10px; }
.context-bar > div strong { margin-top: 3px; font: 800 12px var(--font-interface); }
.scope-chip { display: flex !important; align-items: center; gap: 7px; margin-left: auto; padding: 0 18px; color: var(--jj-muted); font: 700 11px var(--font-interface); }
.scope-chip i { width: 8px; height: 8px; border-radius: 50%; background: var(--jj-cyan); box-shadow: 0 0 0 4px rgba(61,241,249,.16); }
.panel-link { color: var(--jj-blue); font: 800 11px var(--font-interface); text-decoration: none; }
.panel-link:hover, .panel-link:focus-visible { text-decoration: underline; outline: none; }
.metric-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.metric-card.warning::before { background: var(--jj-warning); }
.table-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; padding: 14px 18px; border-bottom: 1px solid var(--jj-line); background: #fbfcfe; }
.table-toolbar form { display: flex; flex: 1; align-items: flex-end; gap: 10px; }
.table-toolbar label { display: grid; gap: 5px; color: var(--jj-muted); font: 700 11px var(--font-interface); }
.table-toolbar .search-control { flex: 1; min-width: 210px; }
.table-toolbar input, .table-toolbar select { width: 100%; height: 40px; min-width: 130px; padding: 0 11px; border: 1px solid #cfd8e6; border-radius: 9px; color: var(--jj-ink); background: #fff; font-size: 13px; }
.table-toolbar button { height: 40px; padding: 0 16px; border: 1px solid var(--jj-blue); border-radius: 9px; color: #fff; background: var(--jj-blue); font: 800 12px var(--font-interface); }
.table-toolbar input:focus-visible, .table-toolbar select:focus-visible, .table-toolbar button:focus-visible { outline: 2px solid rgba(0,105,246,.22); outline-offset: 2px; }
.reset-link { padding: 12px 2px; color: var(--jj-muted); font: 700 11px var(--font-interface); white-space: nowrap; }
.table-pagination { display: flex; justify-content: space-between; padding: 13px 18px; color: var(--jj-muted); background: #fbfcfe; font-size: 11px; }
.numeric { text-align: right !important; font-variant-numeric: tabular-nums; }
.customer-object { margin-top: 18px; overflow: hidden; }
.customer-object .detail-identity { align-items: center; }
.close-detail { margin-left: auto; color: var(--jj-muted); font: 700 11px var(--font-interface); }
.object-tabs { display: flex; gap: 3px; overflow-x: auto; padding: 0 22px; border-block: 1px solid var(--jj-line); background: #fbfcfe; scrollbar-width: none; }
.object-tabs::-webkit-scrollbar { display: none; }
.object-tabs a { position: relative; min-width: max-content; padding: 14px 13px 12px; color: var(--jj-muted); font: 800 11px var(--font-interface); text-decoration: none; }
.object-tabs a::after { position: absolute; inset: auto 12px -1px; height: 2px; border-radius: 3px; background: transparent; content: ""; }
.object-tabs a:hover, .object-tabs a:focus-visible, .object-tabs a.active { color: var(--jj-deep); outline: none; }
.object-tabs a.active::after { background: var(--jj-blue); }
.object-content { padding: 22px; }
.object-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.55fr); gap: 22px; }
.object-grid .detail-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; padding: 0; }
.object-grid .detail-list > div { display: grid; justify-content: start; padding: 14px; border: 1px solid var(--jj-line); border-radius: 10px; }
.object-grid .detail-list dd { margin-top: 7px; text-align: left; }
.object-grid .next-step { margin: 0; }
.object-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.object-summary article { min-height: 105px; padding: 17px; border: 1px solid var(--jj-line); border-radius: 12px; background: #fbfcfe; }
.object-summary span, .object-summary strong, .object-summary small { display: block; }
.object-summary span { color: var(--jj-muted); font-size: 11px; }
.object-summary strong { margin-top: 8px; font: 800 16px/1.35 var(--font-interface); }
.object-summary small { margin-top: 6px; color: var(--jj-muted); font-size: 11px; }
.activity-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.activity-list li { display: grid; grid-template-columns: 10px 1fr; gap: 12px; }
.activity-list li > span { width: 9px; height: 9px; margin-top: 4px; border-radius: 50%; background: var(--jj-blue); box-shadow: 0 0 0 4px #eaf3ff; }
.activity-list strong, .activity-list small { display: block; }
.activity-list strong { font: 800 12px var(--font-interface); }
.activity-list small { margin-top: 4px; color: var(--jj-muted); font-size: 11px; }
.task-panel { overflow: hidden; }
.task-table a { display: grid; grid-template-columns: 34px 7px 1fr auto 38px 12px; align-items: center; gap: 14px; min-height: 78px; padding: 12px 20px; border-bottom: 1px solid var(--jj-line); text-decoration: none; }
.task-table a:last-child { border-bottom: 0; }
.task-table a:hover, .task-table a:focus-visible { background: #f6f9ff; outline: none; }
.task-rank { color: #a0aabd; font: 800 11px var(--font-interface); }
.task-table strong, .task-table small { display: block; }
.task-table strong { font: 800 13px var(--font-interface); }
.task-table small { margin-top: 5px; color: var(--jj-muted); font-size: 11px; }
.task-table > a > b { text-align: right; font: 800 16px var(--font-interface); }

/* Readability floor: dense, but never miniature. */
.eyebrow { font-size: 11px; }
.prototype-chip { font-size: 11px; }
.read-only-card small, .metric-card small, .panel-meta, .segment-list > div, .work-list small, .operation-cards small, .privacy-note { font-size: 11px; }
.work-list strong, .operation-cards strong { font-size: 13px; }
.chart-column strong { font-size: 10px; }.chart-column span { font-size: 11px; }
.data-table { font-size: 12px; }.data-table thead th { font-size: 10px; }.data-table th strong { font-size: 12px; }.data-table small { font-size: 10.5px; }
.status-chip { font-size: 10px; }
.detail-list dt, .next-step span, .next-step small { font-size: 11px; }.detail-list dd, .next-step strong { font-size: 12px; }
.case-card > div > span:first-child, .case-card > small, .case-card footer { font-size: 10px; }.case-card > strong { font-size: 13px; }
.status-strip span { font-size: 10px; }.status-strip strong { font-size: 11px; }
.section-title span { font-size: 11px; }.axis-grid span { font-size: 10px; }.axis-grid strong { font-size: 11px; }
.source-list strong { font-size: 11px; }.source-list small, .evidence-list small { font-size: 10px; }.evidence-list strong { font-size: 11px; }.evidence-list p { font-size: 11px; }
.portal-footer { font-size: 10px; }.portal-footer a { color: var(--jj-blue); }

@media (max-width: 1050px) {
  .context-bar { flex-wrap: wrap; }.scope-chip { min-height: 44px; margin-left: 0; }
  .table-toolbar, .table-toolbar form { align-items: stretch; flex-direction: column; }.table-toolbar label, .table-toolbar .search-control { width: 100%; }.reset-link { align-self: flex-start; }
  .object-grid { grid-template-columns: 1fr; }.object-summary { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 820px) {
  .topbar-task-link { display: none; }.metric-grid.three { grid-template-columns: 1fr; }
  .context-bar > div { flex: 1 1 50%; min-width: 0; }.scope-chip { flex: 1 1 100%; }
  .task-table a { grid-template-columns: 26px 7px 1fr 34px 10px; }.task-table .status-chip { display: none; }
}
@media (max-width: 560px) {
  .context-bar { display: grid; grid-template-columns: 1fr; }.context-bar > div { border-right: 0; border-bottom: 1px solid var(--jj-line); }
  .object-grid .detail-list, .object-summary { grid-template-columns: 1fr; }.object-content { padding: 16px; }.detail-identity { flex-wrap: wrap; }.close-detail { width: 100%; margin-left: 61px; }
}
@media (max-width: 820px) {
  .sidebar { position: fixed; inset: auto 0 0; z-index: 50; width: 100%; height: 74px; padding: 6px 8px; border-top: 1px solid rgba(255,255,255,.18); box-shadow: 0 -8px 24px rgba(0,32,177,.16); }
  .primary-nav { display: grid; width: 100%; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 3px; overflow: visible; }
  .primary-nav .nav-item:not(.mobile-core) { display: none; }
  .nav-item { display: flex; min-width: 0; min-height: 60px; flex-direction: column; justify-content: center; gap: 3px; padding: 4px 2px; text-align: center; font-size: 9.5px; }
  .nav-item > span:first-child { width: 26px; height: 26px; flex: 0 0 26px; }
  .nav-item.active { box-shadow: inset 0 3px 0 var(--jj-cyan); }
  .portal-stage { padding-bottom: 74px; }
}

/* Operational admin MVP V3 */
.mobile-area-menu { display: none; position: relative; }
.mobile-area-menu summary { cursor: pointer; list-style: none; padding: 8px 10px; border: 1px solid #cfdcf2; border-radius: 9px; color: var(--jj-deep); background: #f5f8ff; font: 800 11px var(--font-interface); }
.mobile-area-menu summary::-webkit-details-marker { display: none; }
.mobile-area-menu nav { position: absolute; top: calc(100% + 8px); right: 0; z-index: 80; display: grid; width: min(340px,calc(100vw - 24px)); grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; padding: 10px; border: 1px solid var(--jj-line); border-radius: 13px; background: #fff; box-shadow: 0 18px 45px rgba(20,33,61,.18); }
.mobile-area-menu nav a { padding: 11px 10px; border-radius: 8px; color: var(--jj-ink); font: 700 12px var(--font-interface); text-decoration: none; }
.mobile-area-menu nav a:hover, .mobile-area-menu nav a:focus-visible, .mobile-area-menu nav a[aria-current="page"] { color: var(--jj-deep); background: #edf4ff; outline: none; }
.section-nav { display: flex; width: max-content; max-width: 100%; gap: 3px; overflow-x: auto; margin: -5px 0 20px; padding: 4px; border: 1px solid var(--jj-line); border-radius: 11px; background: #fff; scrollbar-width: none; }
.section-nav::-webkit-scrollbar { display: none; }
.section-nav a { min-width: max-content; padding: 8px 13px; border-radius: 8px; color: var(--jj-muted); font: 800 11px var(--font-interface); text-decoration: none; }
.section-nav a:hover, .section-nav a:focus-visible, .section-nav a.active { color: var(--jj-deep); background: #edf4ff; outline: none; }
.quick-nav-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-top: 20px; }
.quick-nav-grid a { display: grid; min-height: 112px; grid-template-columns: 30px 1fr; align-content: center; column-gap: 10px; padding: 17px; border: 1px solid var(--jj-line); border-radius: 14px; background: #fff; box-shadow: 0 4px 16px rgba(20,33,61,.035); text-decoration: none; }
.quick-nav-grid a:hover, .quick-nav-grid a:focus-visible { border-color: #afcafa; box-shadow: var(--shadow); outline: none; transform: translateY(-1px); }
.quick-nav-grid span { grid-row: 1/3; color: var(--jj-blue); font: 800 11px var(--font-interface); }
.quick-nav-grid strong, .quick-nav-grid small { display: block; }
.quick-nav-grid strong { font: 800 13px var(--font-interface); }
.quick-nav-grid small { margin-top: 6px; color: var(--jj-muted); font-size: 11px; line-height: 1.4; }
.pipeline-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; margin-bottom: 20px; }
.pipeline-grid a { display: grid; min-height: 88px; grid-template-columns: 9px 1fr auto; align-items: center; gap: 8px; padding: 15px; border: 1px solid var(--jj-line); border-radius: 13px; background: #fff; text-decoration: none; }
.pipeline-grid a:hover, .pipeline-grid a:focus-visible, .pipeline-grid a.active { border-color: #aac9fa; box-shadow: 0 7px 22px rgba(0,105,246,.08); outline: none; }
.pipeline-grid small { color: var(--jj-muted); font: 700 10px/1.35 var(--font-interface); }
.pipeline-grid strong { font: 800 20px var(--font-interface); }
.pipeline-dot { width: 8px; height: 34px; border-radius: 99px; background: #acb6c6; }
.pipeline-dot.positive { background: var(--jj-success); }.pipeline-dot.warning { background: var(--jj-warning); }.pipeline-dot.danger { background: var(--jj-danger); }.pipeline-dot.info { background: var(--jj-blue); }
.record-detail { margin-top: 18px; overflow: hidden; }
.facts-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--jj-line); background: #f9fbfe; }
.facts-grid > div { min-height: 85px; padding: 18px 20px; border-right: 1px solid var(--jj-line); }
.facts-grid > div:last-child { border-right: 0; }
.facts-grid span, .facts-grid strong { display: block; }
.facts-grid span { color: var(--jj-muted); font-size: 10px; }
.facts-grid strong { margin-top: 8px; font: 800 13px/1.4 var(--font-interface); }
.record-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.6fr); gap: 22px; padding: 22px 25px; }
.record-body h3 { margin: 0 0 8px; font: 800 14px var(--font-interface); }
.record-body p { margin: 0; color: var(--jj-muted); font-size: 12px; line-height: 1.6; }
.readonly-action { display: grid; align-content: start; gap: 6px; padding: 15px; border-left: 3px solid var(--jj-cyan); border-radius: 9px; background: #f2fbfd; }
.readonly-action span, .readonly-action small { color: var(--jj-muted); font-size: 10px; }
.readonly-action strong, .readonly-action a { color: var(--jj-deep); font: 800 12px var(--font-interface); text-decoration: none; }
.readonly-action a:hover, .readonly-action a:focus-visible { color: var(--jj-blue); text-decoration: underline; outline: none; }
.cross-links { display: flex; flex-wrap: wrap; gap: 10px; padding: 17px 24px; border-top: 1px solid var(--jj-line); }
.cross-links a { padding: 9px 12px; border: 1px solid #c8daf8; border-radius: 9px; color: var(--jj-blue); background: #f7faff; font: 800 11px var(--font-interface); text-decoration: none; }
.cross-links a:hover, .cross-links a:focus-visible { color: #fff; background: var(--jj-blue); outline: none; }
.plain-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.plain-list a { color: var(--jj-blue); font: 700 11px var(--font-interface); text-decoration: none; }
.plain-list a:hover { text-decoration: underline; }
.mini-record-list { display: grid; margin-top: 16px; border: 1px solid var(--jj-line); border-radius: 11px; overflow: hidden; }
.mini-record-list > a { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 15px; border-bottom: 1px solid var(--jj-line); text-decoration: none; }
.mini-record-list > a:last-child { border-bottom: 0; }
.mini-record-list > a:hover, .mini-record-list > a:focus-visible { background: #f6f9ff; outline: none; }
.mini-record-list strong, .mini-record-list small { display: block; }
.mini-record-list strong { font: 800 12px var(--font-interface); }.mini-record-list small { margin-top: 5px; color: var(--jj-muted); font-size: 10px; }
.mini-record-list b { font: 800 13px var(--font-interface); white-space: nowrap; }
.aging-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 20px; }
.aging-grid article { min-height: 92px; padding: 16px 18px; border: 1px solid var(--jj-line); border-radius: 13px; background: #fff; }
.aging-grid span, .aging-grid strong, .aging-grid small { display: block; }.aging-grid span { color: var(--jj-muted); font-size: 10px; }.aging-grid strong { margin-top: 7px; font: 800 19px var(--font-interface); }.aging-grid small { margin-top: 5px; color: var(--jj-muted); font-size: 10px; }

@media (max-width: 1180px) {
  .pipeline-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .quick-nav-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .mobile-area-menu { display: block; }
  .mobile-area-menu nav { position: fixed; top: 52px; right: 12px; left: 12px; width: auto; }
  .prototype-chip { display: none; }
  .facts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .facts-grid > div:nth-child(2) { border-right: 0; }
  .facts-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--jj-line); }
  .record-body { grid-template-columns: 1fr; }
  .aging-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .pipeline-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quick-nav-grid { grid-template-columns: 1fr; }
  .facts-grid { grid-template-columns: 1fr; }
  .facts-grid > div { border-right: 0; border-bottom: 1px solid var(--jj-line); }
  .facts-grid > div:last-child { border-bottom: 0; }
  .aging-grid { grid-template-columns: 1fr; }
  .mobile-area-menu nav { grid-template-columns: 1fr; max-height: 70vh; overflow-y: auto; }
}

/* Comprehensive portal V4 */
.portal-switch { position: relative; }
.portal-switch summary { cursor: pointer; list-style: none; min-width: 120px; padding: 8px 11px; border: 1px solid #cfdcf2; border-radius: 9px; color: var(--jj-deep); background: #fff; font: 800 11px var(--font-interface); }
.portal-switch summary::-webkit-details-marker { display: none; }
.portal-switch nav { position: absolute; top: calc(100% + 8px); right: 0; z-index: 90; display: grid; width: 210px; gap: 4px; padding: 8px; border: 1px solid var(--jj-line); border-radius: 12px; background: #fff; box-shadow: 0 18px 45px rgba(20,33,61,.18); }
.portal-switch nav a { padding: 10px; border-radius: 8px; color: var(--jj-ink); font: 700 11px var(--font-interface); text-decoration: none; }
.portal-switch nav a:hover, .portal-switch nav a:focus-visible { color: var(--jj-deep); background: #edf4ff; outline: 2px solid rgba(0,105,246,.22); }
.truth-legend, .policy-banner { display: flex; flex-wrap: wrap; gap: 9px 18px; align-items: center; margin: 0 0 18px; padding: 14px 17px; border: 1px solid #c9ddfb; border-radius: 12px; color: #244262; background: #f4f8ff; font-size: 11px; line-height: 1.5; }
.truth-legend strong, .policy-banner strong { color: var(--jj-deep); font: 800 12px var(--font-interface); }
.policy-banner { align-items: flex-start; border-left: 4px solid var(--jj-cyan); }
.policy-banner span { flex: 1 1 520px; }
.comprehensive-table { min-width: 900px; }
.comprehensive-table td { max-width: 290px; }
.row-link { display: inline-block; padding: 7px 9px; border: 1px solid #c7daf8; border-radius: 8px; color: var(--jj-blue); background: #f7faff; font: 800 10px var(--font-interface); text-decoration: none; white-space: nowrap; }
.row-link:hover, .row-link:focus-visible { color: #fff; background: var(--jj-blue); outline: 2px solid rgba(0,105,246,.22); outline-offset: 2px; }
.record-inspector { margin-top: 18px; overflow: hidden; }
.detail-list-wide { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; padding: 0; border-top: 1px solid var(--jj-line); }
.detail-list-wide > div { min-height: 84px; padding: 16px 19px; border-right: 1px solid var(--jj-line); border-bottom: 1px solid var(--jj-line); }
.detail-list-wide dt { text-transform: capitalize; }
.detail-list-wide dd { margin-top: 8px; text-align: left; overflow-wrap: anywhere; }
.record-inspector .privacy-note { margin: 18px; }
.split-registers { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 18px; }
.edge-case-panel { margin-top: 20px; }
.integration-overview { margin-top: 20px; }
.self-service-header { padding-top: 6px; }
.self-service-boundary { margin-top: 20px; border-left-color: var(--jj-blue); }
.profile-card { overflow: hidden; }
.profile-card .detail-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; padding: 0; border-top: 1px solid var(--jj-line); }
.profile-card .detail-list > div { padding: 18px 22px; border-right: 1px solid var(--jj-line); border-bottom: 1px solid var(--jj-line); }
.dashboard-focus { margin-bottom: 20px; }
.operational-dashboard-grid { grid-template-columns: minmax(0,1.25fr) minmax(330px,.75fr); }
.priority-work-list a { min-height: 72px; }
.priority-work-list b { min-width: 42px; color: var(--jj-ink); font-size: 12px; }
.inbox-work-list a { min-height: 82px; grid-template-columns: 7px 1fr 12px; }
.inbox-work-list .inbox-type { margin: 0 0 4px; color: var(--jj-blue); font: 800 9px var(--font-interface); letter-spacing: .1em; text-transform: uppercase; }
.urgency.violet { background: #7557d7; }
.deadline-panel { margin-top: 0; }
.deadline-date { display: grid; width: 46px; height: 48px; flex: 0 0 46px; place-content: center; border: 1px solid #cdddf7; border-radius: 11px; color: var(--jj-deep); background: #f2f6ff; text-align: center; }
.deadline-date b, .deadline-date small { display: block; }
.deadline-date b { font: 800 12px var(--font-interface); }
.deadline-date small { margin-top: 2px; color: var(--jj-muted); font: 700 8px var(--font-interface); }
.dashboard-footer-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 17px; color: var(--jj-muted); font-size: 11px; }
.dashboard-footer-links a { padding: 7px 10px; border: 1px solid #d5e0f1; border-radius: 8px; color: var(--jj-deep); background: #fff; font: 700 11px var(--font-interface); text-decoration: none; }
.dashboard-footer-links a:hover, .dashboard-footer-links a:focus-visible { color: #fff; border-color: var(--jj-blue); background: var(--jj-blue); outline: 2px solid rgba(0,105,246,.18); outline-offset: 2px; }
.workbasket-focus-grid .metric-card { min-height: 112px; }
.workbasket-focus-grid .metric-card.active { border-color: var(--jj-blue); background: #f2f7ff; box-shadow: inset 0 0 0 1px var(--jj-blue); }
.workbasket-focus-grid .metric-card.active::before { background: var(--jj-blue); }
.workbasket-kind-nav { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; margin: -3px 0 18px; }
.workbasket-kind-nav a { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; border: 1px solid var(--jj-line); border-radius: 11px; color: var(--jj-muted); background: #fff; font: 800 10px/1.3 var(--font-interface); text-decoration: none; }
.workbasket-kind-nav b { display: grid; min-width: 25px; height: 25px; place-items: center; border-radius: 999px; color: var(--jj-deep); background: #edf3ff; font-size: 10px; }
.workbasket-kind-nav a:hover, .workbasket-kind-nav a:focus-visible, .workbasket-kind-nav a.active { color: var(--jj-deep); border-color: #a9c8fa; background: #f2f7ff; outline: none; }
.workbasket-table { min-width: 980px; }
.source-chip { display: inline-flex; padding: 5px 8px; border: 1px solid #d5deeb; border-radius: 7px; color: #526078; background: #f5f7fa; font: 800 9px var(--font-interface); white-space: nowrap; }
.source-chip.source-complaint { color: #a52c3c; border-color: #efc2c9; background: #fff0f2; }
.source-chip.source-callback { color: #925600; border-color: #f2d7a6; background: #fff7e8; }
.source-chip.source-inquiry { color: #0757c1; border-color: #bfd6f8; background: #edf5ff; }
.source-chip.source-application { color: #6745c6; border-color: #d6caf8; background: #f3efff; }
.source-chip.source-receivable { color: #0e7048; border-color: #bce5d4; background: #eaf8f2; }
.work-context-title { margin-top: 18px !important; }
.workbasket-boundary { margin-top: 16px; border: 1px solid var(--jj-line); border-left: 3px solid var(--jj-cyan); border-radius: 9px; background: #fff; }
.period-close-banner { display: grid; grid-template-columns: minmax(260px,.9fr) minmax(280px,1.1fr) auto; align-items: center; gap: 22px; margin-bottom: 18px; padding: 19px 21px; border: 1px solid #bfd6fa; border-left: 4px solid var(--jj-blue); border-radius: 14px; background: linear-gradient(105deg,#f3f8ff 0%,#fff 70%); box-shadow: 0 5px 18px rgba(20,33,61,.035); }
.period-close-banner span, .period-close-banner strong, .period-close-banner small { display: block; }.period-close-banner > div:first-child > span { color: var(--jj-blue); font: 800 10px var(--font-interface); letter-spacing: .08em; text-transform: uppercase; }.period-close-banner strong { margin-top: 6px; font: 800 17px/1.35 var(--font-interface); }.period-close-banner small { margin-top: 5px; color: var(--jj-muted); font-size: 11px; }
.period-close-progress { display: grid; gap: 8px; }.period-close-progress progress { width: 100%; height: 10px; overflow: hidden; border: 0; border-radius: 99px; background: #dbe7fa; }.period-close-progress progress::-webkit-progress-bar { border-radius: 99px; background: #dbe7fa; }.period-close-progress progress::-webkit-progress-value { border-radius: 99px; background: linear-gradient(90deg,var(--jj-blue),var(--jj-cyan)); }.period-close-progress progress::-moz-progress-bar { border-radius: 99px; background: var(--jj-blue); }.period-close-progress span { color: var(--jj-muted); font-size: 10px; }
.settlement-metrics .metric-card.active, .invoice-metrics .metric-card.active, .compact-metrics .metric-card.active { border-color: var(--jj-blue); box-shadow: inset 0 0 0 1px var(--jj-blue); }
.finance-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding: 15px 18px; }.finance-toolbar form { display: flex; align-items: flex-end; gap: 11px; }.finance-toolbar label { display: grid; min-width: 180px; gap: 6px; color: var(--jj-muted); font: 800 10px var(--font-interface); }.finance-toolbar .search-control { min-width: 280px; }.finance-toolbar input, .finance-toolbar select { min-height: 38px; padding: 8px 10px; border: 1px solid #cbd8eb; border-radius: 8px; color: var(--jj-ink); background: #fff; font: 600 11px var(--font-interface); }.finance-toolbar button { min-height: 38px; padding: 9px 15px; border: 0; border-radius: 8px; color: #fff; background: var(--jj-blue); font: 800 11px var(--font-interface); cursor: pointer; }
.settlement-workspace { display: grid; grid-template-columns: minmax(320px,.66fr) minmax(0,1.34fr); gap: 18px; align-items: start; }.settlement-queue { overflow: hidden; }.settlement-list { display: grid; }.settlement-card { display: grid; gap: 7px; padding: 15px 18px; border-bottom: 1px solid var(--jj-line); color: var(--jj-ink); text-decoration: none; }.settlement-card:last-child { border-bottom: 0; }.settlement-card:hover, .settlement-card:focus-visible, .settlement-card.selected { background: #f3f7ff; outline: none; }.settlement-card.selected { box-shadow: inset 4px 0 0 var(--jj-blue); }.settlement-card > div, .settlement-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.settlement-card > div > span:first-child { color: var(--jj-muted); font: 800 9px var(--font-interface); }.settlement-card > strong { font: 800 13px var(--font-interface); }.settlement-card > small, .settlement-card footer { color: var(--jj-muted); font-size: 10px; }.settlement-card footer b { color: var(--jj-ink); font: 800 12px var(--font-interface); white-space: nowrap; }
.settlement-detail { overflow: hidden; }.settlement-placeholder { display: grid; min-height: 270px; place-content: center; padding: 35px; text-align: center; }.settlement-placeholder span { color: var(--jj-blue); font: 800 10px var(--font-interface); text-transform: uppercase; }.settlement-placeholder strong { margin-top: 8px; font: 800 18px var(--font-interface); }.settlement-placeholder p { max-width: 420px; margin: 8px 0 0; color: var(--jj-muted); font-size: 12px; line-height: 1.55; }
.settlement-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--jj-line); background: #f9fbfe; }.settlement-facts article { min-height: 96px; padding: 17px 18px; border-right: 1px solid var(--jj-line); }.settlement-facts article:last-child { border-right: 0; }.settlement-facts span, .settlement-facts strong, .settlement-facts small { display: block; }.settlement-facts span { color: var(--jj-muted); font-size: 9px; text-transform: uppercase; }.settlement-facts strong { margin-top: 8px; font: 800 12px/1.35 var(--font-interface); }.settlement-facts small { margin-top: 5px; color: var(--jj-muted); font-size: 9.5px; line-height: 1.35; }
.settlement-process { padding: 21px 23px; border-bottom: 1px solid var(--jj-line); }.settlement-process ol { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; margin: 16px 0 0; padding: 0; list-style: none; }.settlement-process li { position: relative; display: grid; justify-items: center; gap: 6px; color: #8792a5; text-align: center; }.settlement-process li::before { position: absolute; top: 14px; right: 50%; left: -50%; z-index: 0; height: 2px; background: #dce4ef; content: ''; }.settlement-process li:first-child::before { display: none; }.settlement-process li > span { position: relative; z-index: 1; display: grid; width: 29px; height: 29px; place-items: center; border: 2px solid #d2dbe8; border-radius: 50%; background: #fff; font: 800 10px var(--font-interface); }.settlement-process li strong { font: 800 10px/1.3 var(--font-interface); }.settlement-process li small { font-size: 8.5px; }.settlement-process li.complete { color: var(--jj-success); }.settlement-process li.complete::before { background: #80d4b3; }.settlement-process li.complete > span { color: #fff; border-color: var(--jj-success); background: var(--jj-success); }.settlement-process li.current { color: var(--jj-deep); }.settlement-process li.current::before { background: #8cbafc; }.settlement-process li.current > span { color: #fff; border-color: var(--jj-blue); background: var(--jj-blue); box-shadow: 0 0 0 4px rgba(0,105,246,.12); }
.finance-register { min-width: 1000px; }.finance-register td > small { display: block; margin-top: 4px; color: var(--jj-muted); font-size: 9.5px; }.linked-finance-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; padding: 21px 24px; border-top: 1px solid var(--jj-line); }.linked-finance-grid h3 { margin: 0; font: 800 13px var(--font-interface); }.linked-finance-grid p { color: var(--jj-muted); font-size: 11px; }.finance-boundary { margin-top: 17px; padding: 12px 15px; border: 1px solid var(--jj-line); border-left: 3px solid var(--jj-cyan); border-radius: 9px; background: #fff; }
.customer-360-metrics .metric-card.active { border-color: var(--jj-blue); box-shadow: inset 0 0 0 1px var(--jj-blue); }.customer-360-table { min-width: 1120px; }.customer-360-table td > small { display: block; margin-top: 5px; color: var(--jj-muted); font-size: 9.5px; }.identity-statuses { display: flex; flex-wrap: wrap; gap: 6px; }.customer-360-object .object-tabs { padding-inline: 22px; }
.account-cockpit { display: grid; grid-template-columns: minmax(0,1fr) minmax(240px,.34fr); gap: 18px; align-items: stretch; }.account-cockpit .object-summary.four { grid-template-columns: repeat(4,minmax(0,1fr)); }.account-cockpit .next-step { align-content: center; margin: 0; }.account-cockpit .next-step a { margin-top: 5px; color: var(--jj-blue); font: 800 10px var(--font-interface); text-decoration: none; }.account-cockpit .next-step a:hover, .account-cockpit .next-step a:focus-visible { text-decoration: underline; outline: none; }
.account-overview-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.55fr); gap: 18px; margin-top: 18px; }.account-overview-grid .detail-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0; border: 1px solid var(--jj-line); border-radius: 12px; overflow: hidden; }.account-overview-grid .detail-list > div { padding: 17px 19px; border-right: 1px solid var(--jj-line); border-bottom: 1px solid var(--jj-line); }.account-overview-grid .detail-list > div:nth-child(2n) { border-right: 0; }.signal-panel { padding: 17px 19px; border: 1px solid var(--jj-line); border-radius: 12px; background: #fbfcfe; }.account-signal { display: grid; grid-template-columns: 8px 1fr; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--jj-line); }.account-signal:first-of-type { border-top: 0; }.account-signal > span { width: 8px; height: 28px; border-radius: 99px; background: #8ca2c1; }.account-signal strong { font: 800 11px var(--font-interface); }.account-signal.critical > span { background: var(--jj-danger); }.account-signal.attention > span { background: var(--jj-warning); }.account-signal.info > span { background: var(--jj-blue); }.account-signal.stable > span { background: var(--jj-success); }
.profile-tile-list { display: grid; gap: 8px; }.profile-tile-list article, .profile-tile-list > a { display: grid; min-height: 70px; grid-template-columns: 38px 1fr auto; align-items: center; gap: 11px; padding: 12px 14px; border: 1px solid var(--jj-line); border-radius: 11px; color: var(--jj-ink); background: #fbfcfe; text-decoration: none; }.profile-tile-list > a:hover, .profile-tile-list > a:focus-visible { border-color: #aac9fa; background: #f3f7ff; outline: none; }.profile-avatar { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(135deg,var(--jj-blue),var(--jj-deep)); font: 800 12px var(--font-interface); }.profile-tile-list strong, .profile-tile-list small { display: block; }.profile-tile-list strong { font: 800 11px var(--font-interface); }.profile-tile-list small { margin-top: 5px; color: var(--jj-muted); font-size: 9.5px; }
.relation-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 16px; }.relation-card-grid > a { display: grid; gap: 8px; min-height: 125px; padding: 15px 17px; border: 1px solid var(--jj-line); border-radius: 12px; color: var(--jj-ink); background: #fff; text-decoration: none; }.relation-card-grid > a:hover, .relation-card-grid > a:focus-visible { border-color: #aac9fa; background: #f7faff; outline: none; }.relation-card-grid > a > div, .relation-card-grid footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.relation-card-grid > a > div > span:first-child { color: var(--jj-muted); font: 800 9px var(--font-interface); }.relation-card-grid strong { font: 800 12px var(--font-interface); }.relation-card-grid small, .relation-card-grid footer { color: var(--jj-muted); font-size: 10px; }.relation-card-grid footer { margin-top: auto; }.relation-card-grid.compact { grid-template-columns: 1fr; }.relation-card-grid.compact > a { min-height: 105px; }
.finance-observation-banner { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)) auto; align-items: center; gap: 15px; margin-bottom: 18px; padding: 17px 19px; border: 1px solid #c9ddfb; border-left: 4px solid var(--jj-blue); border-radius: 12px; background: #f4f8ff; }.finance-observation-banner span, .finance-observation-banner strong { display: block; }.finance-observation-banner span { color: var(--jj-muted); font-size: 9px; }.finance-observation-banner strong { margin-top: 6px; font: 800 15px var(--font-interface); }.finance-observation-banner > small { color: var(--jj-muted); font-size: 9.5px; }
.account-timeline { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }.account-timeline li { position: relative; display: grid; grid-template-columns: 32px 1fr; gap: 12px; padding: 0 0 18px; }.account-timeline li::before { position: absolute; top: 31px; bottom: 0; left: 15px; width: 1px; background: var(--jj-line); content: ''; }.account-timeline li:last-child::before { display: none; }.timeline-origin { position: relative; z-index: 1; display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; color: #fff; background: var(--jj-blue); font: 800 9px var(--font-interface); }.timeline-origin.communication { background: #7652cc; }.account-timeline small, .account-timeline strong { display: block; }.account-timeline small { color: var(--jj-muted); font-size: 9px; }.account-timeline strong { margin-top: 4px; font: 800 11px var(--font-interface); }.account-timeline p { margin: 4px 0 0; color: var(--jj-muted); font-size: 10px; line-height: 1.45; }
.student-workspace { display: grid; grid-template-columns: minmax(330px,.64fr) minmax(0,1.36fr); gap: 18px; align-items: start; }.student-register, .student-detail { overflow: hidden; }.student-filter { display: grid; grid-template-columns: minmax(0,1fr) 130px auto; align-items: end; gap: 8px; padding: 13px 15px; border-bottom: 1px solid var(--jj-line); background: #fbfcfe; }.student-filter label { display: grid; gap: 5px; color: var(--jj-muted); font: 800 9px var(--font-interface); }.student-filter input, .student-filter select { min-width: 0; min-height: 36px; padding: 8px 9px; border: 1px solid #cbd8eb; border-radius: 8px; background: #fff; font: 600 10px var(--font-interface); }.student-filter button { min-height: 36px; padding: 8px 12px; border: 0; border-radius: 8px; color: #fff; background: var(--jj-blue); font: 800 10px var(--font-interface); }.student-list { display: grid; }.student-list > a { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 11px; padding: 14px 15px; border-bottom: 1px solid var(--jj-line); color: var(--jj-ink); text-decoration: none; }.student-list > a:last-child { border-bottom: 0; }.student-list > a:hover, .student-list > a:focus-visible, .student-list > a.selected { background: #f3f7ff; outline: none; }.student-list > a.selected { box-shadow: inset 4px 0 0 var(--jj-blue); }.student-list strong, .student-list small, .student-list div > span { display: block; }.student-list strong { font: 800 11px var(--font-interface); }.student-list small, .student-list div > span { margin-top: 4px; color: var(--jj-muted); font-size: 9px; }
.student-hero-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--jj-line); background: #f9fbfe; }.student-hero-facts article { min-height: 95px; padding: 17px 19px; border-right: 1px solid var(--jj-line); }.student-hero-facts article:last-child { border-right: 0; }.student-hero-facts span, .student-hero-facts strong, .student-hero-facts small { display: block; }.student-hero-facts span { color: var(--jj-muted); font-size: 9px; }.student-hero-facts strong { margin-top: 7px; font: 800 12px/1.4 var(--font-interface); }.student-hero-facts small { margin-top: 5px; color: var(--jj-muted); font-size: 9px; }.student-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(235px,.45fr); gap: 18px; padding: 20px 22px; }.student-detail-grid aside { padding-left: 18px; border-left: 1px solid var(--jj-line); }.student-detail-grid .detail-list { padding: 0; }
.teacher-ops-table { min-width: 1120px; }.teacher-ops-table td > small { display: block; margin-top: 5px; color: var(--jj-muted); font-size: 9.5px; }.teacher-object { margin-top: 18px; }.teacher-object .object-tabs { padding-inline: 22px; }
.capacity-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }.capacity-layout > section { padding: 18px 20px; border: 1px solid var(--jj-line); border-radius: 12px; background: #fbfcfe; }.capacity-hero { display: grid; justify-items: start; gap: 9px; margin-top: 18px; }.capacity-hero strong { font: 800 24px var(--font-interface); }.capacity-hero small { color: var(--jj-muted); font-size: 10px; }.capacity-layout .next-step { margin: 18px 0 0; }
.applicant-workspace { display: grid; grid-template-columns: minmax(330px,.62fr) minmax(0,1.38fr); gap: 18px; align-items: start; }.applicant-register, .applicant-detail { overflow: hidden; }.applicant-list { display: grid; }.applicant-list > a { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 11px; padding: 15px; border-bottom: 1px solid var(--jj-line); color: var(--jj-ink); text-decoration: none; }.applicant-list > a:last-child { border-bottom: 0; }.applicant-list > a:hover, .applicant-list > a:focus-visible, .applicant-list > a.selected { background: #f3f7ff; outline: none; }.applicant-list > a.selected { box-shadow: inset 4px 0 0 var(--jj-blue); }.applicant-list strong, .applicant-list small, .applicant-list div > span { display: block; }.applicant-list strong { font: 800 11px var(--font-interface); }.applicant-list small, .applicant-list div > span { margin-top: 4px; color: var(--jj-muted); font-size: 9px; }.applicant-avatar { background: linear-gradient(135deg,#7652cc,var(--jj-blue)); }
.application-process ol { grid-template-columns: repeat(6,minmax(0,1fr)); }.applicant-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 1px solid var(--jj-line); background: #f9fbfe; }.applicant-facts article { min-height: 96px; padding: 17px 19px; border-right: 1px solid var(--jj-line); }.applicant-facts article:last-child { border-right: 0; }.applicant-facts span, .applicant-facts strong, .applicant-facts small { display: block; }.applicant-facts span { color: var(--jj-muted); font-size: 9px; text-transform: uppercase; }.applicant-facts strong { margin-top: 7px; font: 800 12px/1.4 var(--font-interface); }.applicant-facts small { margin-top: 5px; color: var(--jj-muted); font-size: 9.5px; }.applicant-detail-grid { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr); gap: 20px; padding: 20px 22px; }.applicant-detail > .privacy-note { margin: 0 22px 20px; }
.channel-filter { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin: -2px 0 18px; }.channel-filter a { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 14px; border: 1px solid var(--jj-line); border-radius: 11px; color: var(--jj-muted); background: #fff; font: 800 10px var(--font-interface); text-decoration: none; }.channel-filter b { display: grid; min-width: 27px; height: 27px; place-items: center; border-radius: 50%; color: var(--jj-deep); background: #edf3ff; font-size: 10px; }.channel-filter a:hover, .channel-filter a:focus-visible, .channel-filter a.active { color: var(--jj-deep); border-color: #aac9fa; background: #f3f7ff; outline: none; }
.communication-workspace { display: grid; grid-template-columns: minmax(360px,.68fr) minmax(0,1.32fr); gap: 18px; align-items: start; }.communication-inbox, .communication-detail { overflow: hidden; }.communication-filter { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 9px; padding: 13px 15px; border-bottom: 1px solid var(--jj-line); background: #fbfcfe; }.communication-filter label { display: grid; gap: 5px; color: var(--jj-muted); font: 800 9px var(--font-interface); }.communication-filter input { min-height: 36px; min-width: 0; padding: 8px 10px; border: 1px solid #cbd8eb; border-radius: 8px; background: #fff; font: 600 10px var(--font-interface); }.communication-filter button { min-height: 36px; padding: 8px 13px; border: 0; border-radius: 8px; color: #fff; background: var(--jj-blue); font: 800 10px var(--font-interface); }
.communication-list { display: grid; }.communication-list > a { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 11px; min-height: 88px; padding: 14px 15px; border-bottom: 1px solid var(--jj-line); color: var(--jj-ink); text-decoration: none; }.communication-list > a:last-child { border-bottom: 0; }.communication-list > a:hover, .communication-list > a:focus-visible, .communication-list > a.selected { background: #f3f7ff; outline: none; }.communication-list > a.selected { box-shadow: inset 4px 0 0 var(--jj-blue); }.communication-list div > span, .communication-list strong, .communication-list small { display: block; }.communication-list div > span { color: var(--jj-blue); font: 800 8.5px var(--font-interface); text-transform: uppercase; }.communication-list strong { margin-top: 5px; font: 800 11px/1.35 var(--font-interface); }.communication-list small { margin-top: 5px; color: var(--jj-muted); font-size: 8.5px; }
.channel-mark { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: #fff; background: var(--jj-blue); font: 800 11px var(--font-interface); }.channel-mark.whatsapp { background: #12996a; }.channel-mark.phone { background: #7652cc; }.channel-mark.mailbox { background: #bf7600; }.channel-mark.detail-channel { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 14px; font-size: 14px; }
.communication-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--jj-line); background: #f9fbfe; }.communication-facts article { min-height: 94px; padding: 16px 18px; border-right: 1px solid var(--jj-line); }.communication-facts article:last-child { border-right: 0; }.communication-facts span, .communication-facts strong, .communication-facts small { display: block; }.communication-facts span { color: var(--jj-muted); font-size: 9px; text-transform: uppercase; }.communication-facts strong { margin-top: 7px; font: 800 11px/1.4 var(--font-interface); }.communication-facts small { margin-top: 5px; color: var(--jj-muted); font-size: 9px; }.communication-detail-grid { display: grid; grid-template-columns: minmax(240px,.7fr) minmax(0,1.3fr); gap: 20px; padding: 20px 22px; }.communication-next { margin: 14px 0 0; }.context-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }.context-links a, .object-reference a { color: var(--jj-blue); font: 800 10px var(--font-interface); text-decoration: none; }.context-links a { padding: 7px 9px; border: 1px solid #cbdcf7; border-radius: 8px; background: #f6f9ff; }.context-links a:hover, .context-links a:focus-visible, .object-reference a:hover, .object-reference a:focus-visible { text-decoration: underline; outline: none; }.communication-links { padding: 0 22px 20px; }.communication-detail > .privacy-note { margin: 0 22px 20px; }
.quality-policy { margin-top: -4px; }.quality-table { min-width: 1160px; }.quality-table td > small, .quality-table th > a > small { display: block; margin-top: 5px; color: var(--jj-muted); font-size: 9px; }.quality-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; padding: 14px 16px; border-bottom: 1px solid var(--jj-line); background: #fbfcfe; }.quality-toolbar form { display: flex; align-items: flex-end; gap: 9px; }.quality-toolbar label { display: grid; min-width: 150px; gap: 5px; color: var(--jj-muted); font: 800 9px var(--font-interface); }.quality-toolbar .search-control { min-width: 260px; }.quality-toolbar input, .quality-toolbar select { min-height: 37px; min-width: 0; padding: 8px 9px; border: 1px solid #cbd8eb; border-radius: 8px; background: #fff; font: 600 10px var(--font-interface); }.quality-toolbar button { min-height: 37px; padding: 8px 14px; border: 0; border-radius: 8px; color: #fff; background: var(--jj-blue); font: 800 10px var(--font-interface); cursor: pointer; }.quality-category.conflict { color: #a52c3c; border-color: #efc2c9; background: #fff0f2; }.quality-category.access_gap { color: #925600; border-color: #f2d7a6; background: #fff7e8; }.quality-category.allocation { color: #0757c1; border-color: #bfd6f8; background: #edf5ff; }.quality-category.matching { color: #6745c6; border-color: #d6caf8; background: #f3efff; }
.quality-detail { margin-top: 18px; overflow: hidden; }.quality-mark { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border-radius: 14px; color: #fff; background: #7652cc; font: 800 13px var(--font-interface); }.quality-mark.conflict { background: var(--jj-danger); }.quality-mark.access_gap { background: var(--jj-warning); }.quality-mark.allocation { background: var(--jj-blue); }.quality-axis-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--jj-line); background: #f9fbfe; }.quality-axis-grid article { min-height: 103px; padding: 18px 20px; border-right: 1px solid var(--jj-line); }.quality-axis-grid article:last-child { border-right: 0; }.quality-axis-grid span, .quality-axis-grid strong, .quality-axis-grid small { display: block; }.quality-axis-grid span { color: var(--jj-muted); font-size: 9px; text-transform: uppercase; }.quality-axis-grid strong { margin-top: 8px; font: 800 12px/1.4 var(--font-interface); }.quality-axis-grid small { margin-top: 5px; color: var(--jj-muted); font-size: 9.5px; }.quality-axis-grid .conflict-axis { box-shadow: inset 4px 0 0 var(--jj-danger); }.quality-axis-grid .conflict-axis.clear { box-shadow: inset 4px 0 0 #9aa8ba; }.quality-axis-grid .access-axis { box-shadow: inset 4px 0 0 var(--jj-warning); }.quality-axis-grid .access-axis.complete { box-shadow: inset 4px 0 0 var(--jj-success); }.quality-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; padding: 20px 22px; }.object-reference { min-height: 120px; padding: 16px 18px; border: 1px solid var(--jj-line); border-radius: 11px; background: #fbfcfe; }.object-reference strong { font: 800 12px var(--font-interface); }.object-reference p { margin: 7px 0 12px; color: var(--jj-muted); font-size: 10px; line-height: 1.5; }.quality-detail > .privacy-note { margin: 0 22px 20px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }

@media (max-width: 1180px) {
  .workbasket-kind-nav { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 1050px) {
  .detail-list-wide { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .split-registers { grid-template-columns: 1fr; }
  .operational-dashboard-grid { grid-template-columns: 1fr; }
  .settlement-workspace { grid-template-columns: 1fr; }
  .period-close-banner { grid-template-columns: 1fr 1fr; }.period-close-banner .scope-chip { grid-column: 1/-1; }
  .student-workspace { grid-template-columns: 1fr; }
  .applicant-workspace { grid-template-columns: 1fr; }
  .communication-workspace { grid-template-columns: 1fr; }
  .account-cockpit { grid-template-columns: 1fr; }.account-cockpit .object-summary.four { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .portal-switch { display: none; }
  .detail-list-wide { grid-template-columns: 1fr; }
  .finance-toolbar, .finance-toolbar form { align-items: stretch; flex-direction: column; }.finance-toolbar label, .finance-toolbar .search-control { min-width: 0; width: 100%; }.finance-toolbar .reset-link { align-self: flex-start; }
  .settlement-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }.settlement-facts article:nth-child(2) { border-right: 0; }.settlement-facts article:nth-child(-n+2) { border-bottom: 1px solid var(--jj-line); }
  .linked-finance-grid { grid-template-columns: 1fr; }
  .account-overview-grid { grid-template-columns: 1fr; }
  .finance-observation-banner { grid-template-columns: repeat(3,minmax(0,1fr)); }.finance-observation-banner > small { grid-column: 1/-1; }
  .student-detail-grid { grid-template-columns: 1fr; }.student-detail-grid aside { padding: 18px 0 0; border-top: 1px solid var(--jj-line); border-left: 0; }
  .capacity-layout, .applicant-detail-grid { grid-template-columns: 1fr; }
  .communication-detail-grid, .quality-detail-grid { grid-template-columns: 1fr; }
  .quality-toolbar, .quality-toolbar form { align-items: stretch; flex-direction: column; }.quality-toolbar label, .quality-toolbar .search-control { min-width: 0; width: 100%; }.quality-toolbar .reset-link { align-self: flex-start; }
}
@media (max-width: 560px) {
  .profile-card .detail-list { grid-template-columns: 1fr; }
  .truth-legend, .policy-banner { display: grid; }
  .workbasket-kind-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric-grid.five.workbasket-focus-grid { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; scrollbar-width: none; }
  .workbasket-focus-grid::-webkit-scrollbar { display: none; }
  .workbasket-focus-grid .metric-card { min-height: 105px; scroll-snap-align: start; }
  .period-close-banner { grid-template-columns: 1fr; }.period-close-banner .scope-chip { grid-column: auto; }
  .metric-grid.five.settlement-metrics, .metric-grid.five.invoice-metrics { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; scrollbar-width: none; }.settlement-metrics .metric-card, .invoice-metrics .metric-card { scroll-snap-align: start; }
  .settlement-facts { grid-template-columns: 1fr; }.settlement-facts article { border-right: 0; border-bottom: 1px solid var(--jj-line); }.settlement-facts article:last-child { border-bottom: 0; }
  .settlement-process { overflow-x: auto; }.settlement-process ol { min-width: 620px; }
  .metric-grid.five.customer-360-metrics { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; scrollbar-width: none; }.customer-360-metrics .metric-card { scroll-snap-align: start; }
  .account-cockpit .object-summary.four, .relation-card-grid { grid-template-columns: 1fr; }
  .account-overview-grid .detail-list { grid-template-columns: 1fr; }.account-overview-grid .detail-list > div { border-right: 0; }
  .finance-observation-banner { grid-template-columns: 1fr; }.finance-observation-banner > small { grid-column: auto; }
  .student-filter { grid-template-columns: 1fr; }.student-hero-facts { grid-template-columns: 1fr; }.student-hero-facts article { border-right: 0; border-bottom: 1px solid var(--jj-line); }.student-hero-facts article:last-child { border-bottom: 0; }
  .metric-grid.four[aria-label="Schülerkennzahlen"] { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; scrollbar-width: none; }.metric-grid.four[aria-label="Schülerkennzahlen"] .metric-card { scroll-snap-align: start; }
  .metric-grid.five.teacher-ops-metrics, .metric-grid.four.application-metrics { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; scrollbar-width: none; }.teacher-ops-metrics .metric-card, .application-metrics .metric-card { scroll-snap-align: start; }
  .application-pipeline { display: grid; grid-auto-flow: column; grid-auto-columns: 48vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 5px; scroll-snap-type: x proximity; }.application-pipeline a { scroll-snap-align: start; }
  .application-process { overflow-x: auto; }.application-process ol { min-width: 720px; }
  .applicant-facts { grid-template-columns: 1fr; }.applicant-facts article { border-right: 0; border-bottom: 1px solid var(--jj-line); }.applicant-facts article:last-child { border-bottom: 0; }
  .metric-grid.five.communication-metrics, .metric-grid.five.quality-metrics { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; scrollbar-width: none; }.communication-metrics .metric-card, .quality-metrics .metric-card { scroll-snap-align: start; }
  .channel-filter { display: grid; grid-auto-flow: column; grid-auto-columns: 48vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 5px; scroll-snap-type: x proximity; }.channel-filter a { scroll-snap-align: start; }
  .communication-facts, .quality-axis-grid { grid-template-columns: 1fr; }.communication-facts article, .quality-axis-grid article { border-right: 0; border-bottom: 1px solid var(--jj-line); }.communication-facts article:last-child, .quality-axis-grid article:last-child { border-bottom: 0; }
}

/* School, service catalog and calendar operations */
.location-metrics .metric-card, .catalog-metrics .metric-card, .calendar-metrics .metric-card { min-height: 114px; }
.catalog-coverage-banner { display: grid; grid-template-columns: minmax(0,1fr) minmax(240px,.35fr); align-items: center; gap: 24px; margin: 18px 0; padding: 17px 20px; border: 1px solid #c8daf7; border-left: 4px solid var(--jj-blue); border-radius: 13px; background: linear-gradient(100deg,#f3f8ff,#fff); }
.catalog-coverage-banner span, .catalog-coverage-banner strong, .catalog-coverage-banner small { display: block; }.catalog-coverage-banner > div:first-child > span { color: var(--jj-blue); font: 800 9px var(--font-interface); letter-spacing: .08em; text-transform: uppercase; }.catalog-coverage-banner strong { margin-top: 6px; font: 800 13px/1.4 var(--font-interface); }.catalog-coverage-banner small { margin-top: 5px; color: var(--jj-muted); font-size: 10px; line-height: 1.5; }
.coverage-track { height: 9px; overflow: hidden; border-radius: 99px; background: #dce8f9; }.coverage-track span { height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--jj-blue),var(--jj-cyan)); }
.school-table { min-width: 1260px; }.school-table td { vertical-align: top; }.school-table td:first-child { min-width: 205px; }.school-table td > strong, .school-table td > small, .offer-table td > strong, .offer-table td > small { display: block; }.school-table td > small, .offer-table td > small { margin-top: 5px; color: var(--jj-muted); font-size: 9px; line-height: 1.4; }
.location-avatar { background: linear-gradient(135deg,var(--jj-deep),var(--jj-blue)); }.location-facts, .offer-specification, .calendar-impact-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--jj-line); background: #f9fbfe; }.location-facts article, .offer-specification article, .calendar-impact-grid article { min-height: 98px; padding: 17px 19px; border-right: 1px solid var(--jj-line); }.location-facts article:last-child, .offer-specification article:last-child, .calendar-impact-grid article:last-child { border-right: 0; }.location-facts span, .location-facts strong, .location-facts small, .offer-specification span, .offer-specification strong, .offer-specification small, .calendar-impact-grid span, .calendar-impact-grid strong, .calendar-impact-grid small { display: block; }.location-facts span, .offer-specification span, .calendar-impact-grid span { color: var(--jj-muted); font-size: 9px; text-transform: uppercase; }.location-facts strong, .offer-specification strong, .calendar-impact-grid strong { margin-top: 7px; font: 800 12px/1.4 var(--font-interface); }.location-facts small, .offer-specification small, .calendar-impact-grid small { margin-top: 5px; color: var(--jj-muted); font-size: 9px; line-height: 1.4; }
.location-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(230px,.55fr); gap: 18px; padding: 21px 22px 24px; }.location-detail-grid > section { min-width: 0; }.location-detail-grid h3, .offer-detail-grid h3 { margin: 0; font: 800 12px var(--font-interface); }.location-next-step { display: grid; align-content: center; min-height: 180px; margin: 0; }.location-next-step span, .location-next-step strong, .location-next-step small { display: block; }.location-next-step span { color: var(--jj-muted); font: 800 9px var(--font-interface); letter-spacing: .07em; text-transform: uppercase; }.location-next-step strong { margin-top: 9px; font: 800 14px/1.4 var(--font-interface); }.location-next-step small { margin-top: 9px; color: var(--jj-muted); font-size: 9.5px; line-height: 1.5; }
.offer-table { min-width: 1120px; }.offer-table td { vertical-align: top; }.offer-avatar { background: linear-gradient(135deg,#7652cc,var(--jj-blue)); }.offer-detail-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.8fr); gap: 18px; padding: 21px 22px 24px; }.offer-detail-grid > section { padding: 17px 19px; border: 1px solid var(--jj-line); border-radius: 12px; background: #fbfcfe; }.offer-detail-grid p { margin: 9px 0 14px; color: var(--jj-muted); font-size: 10px; line-height: 1.55; }.offer-detail-grid p strong { color: var(--jj-ink); }
.calendar-policy { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 11px; margin: 18px 0; padding: 14px 17px; border: 1px solid #efd7a8; border-left: 4px solid var(--jj-warning); border-radius: 12px; color: #614a22; background: #fffaf0; }.calendar-policy > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fff; background: var(--jj-warning); font: 800 12px var(--font-interface); }.calendar-policy p { margin: 0; font-size: 10.5px; line-height: 1.55; }.calendar-workspace { display: grid; grid-template-columns: minmax(380px,.72fr) minmax(0,1.28fr); gap: 18px; align-items: start; }.calendar-agenda, .calendar-detail, .calendar-placeholder { overflow: hidden; }.calendar-event-list { display: grid; }.calendar-event-card { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 13px; min-height: 91px; padding: 13px 16px; border-bottom: 1px solid var(--jj-line); color: var(--jj-ink); text-decoration: none; }.calendar-event-card:last-child { border-bottom: 0; }.calendar-event-card:hover, .calendar-event-card:focus-visible, .calendar-event-card.selected { background: #f3f7ff; outline: none; }.calendar-event-card.selected { box-shadow: inset 4px 0 0 var(--jj-blue); }.calendar-date { display: grid; width: 46px; height: 50px; place-content: center; border: 1px solid #c8daf6; border-radius: 11px; color: var(--jj-deep); background: #f1f6ff; text-align: center; }.calendar-date b, .calendar-date small { display: block; }.calendar-date b { font: 800 15px var(--font-interface); }.calendar-date small { margin-top: 2px; font: 800 8px var(--font-interface); }.calendar-date.large { width: 50px; height: 54px; }.calendar-event-card > span:nth-child(2) > small, .calendar-event-card strong, .calendar-event-card em { display: block; }.calendar-event-card > span:nth-child(2) > small { color: var(--jj-blue); font: 800 8.5px var(--font-interface); text-transform: uppercase; }.calendar-event-card strong { margin-top: 5px; font: 800 11px/1.35 var(--font-interface); }.calendar-event-card em { margin-top: 5px; color: var(--jj-muted); font-size: 8.5px; font-style: normal; }.calendar-impact-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.calendar-decision { margin: 20px 22px 24px; padding: 18px 20px; border: 1px solid #c9daf6; border-left: 4px solid var(--jj-blue); border-radius: 12px; background: #f5f9ff; }.calendar-decision > span, .calendar-decision > strong { display: block; }.calendar-decision > span { color: var(--jj-blue); font: 800 9px var(--font-interface); text-transform: uppercase; }.calendar-decision > strong { margin-top: 8px; font: 800 14px/1.4 var(--font-interface); }.calendar-decision p { margin: 8px 0 13px; color: var(--jj-muted); font-size: 10px; line-height: 1.5; }.calendar-placeholder { display: grid; min-height: 320px; place-items: center; align-content: center; padding: 30px; text-align: center; }.calendar-placeholder h2 { margin: 13px 0 0; font: 800 16px var(--font-interface); }.calendar-placeholder p { max-width: 340px; margin: 8px 0 0; color: var(--jj-muted); font-size: 10px; line-height: 1.5; }

@media (max-width: 1100px) {
  .catalog-coverage-banner { grid-template-columns: 1fr; }.location-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.location-detail-grid .location-next-step { grid-column: 1/-1; }.calendar-workspace { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .location-facts, .offer-specification { grid-template-columns: repeat(2,minmax(0,1fr)); }.location-facts article:nth-child(2), .offer-specification article:nth-child(2) { border-right: 0; }.location-facts article:nth-child(-n+2), .offer-specification article:nth-child(-n+2) { border-bottom: 1px solid var(--jj-line); }.offer-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .metric-grid.five.location-metrics, .metric-grid.five.catalog-metrics, .metric-grid.five.calendar-metrics { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; scrollbar-width: none; }.location-metrics .metric-card, .catalog-metrics .metric-card, .calendar-metrics .metric-card { scroll-snap-align: start; }
  .location-detail-grid, .location-facts, .offer-specification, .calendar-impact-grid { grid-template-columns: 1fr; }.location-detail-grid .location-next-step { grid-column: auto; }.location-facts article, .offer-specification article, .calendar-impact-grid article { border-right: 0; border-bottom: 1px solid var(--jj-line); }.location-facts article:last-child, .offer-specification article:last-child, .calendar-impact-grid article:last-child { border-bottom: 0; }
  .calendar-event-card { grid-template-columns: 45px minmax(0,1fr); }.calendar-event-card > .status-chip { grid-column: 2; justify-self: start; }.calendar-policy { align-items: start; }.catalog-coverage-banner { padding: 15px 16px; }
}

/* Contract and document lifecycle */
.contract-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.contract-page-header > div { max-width: 760px; }
.page-header-note { display: grid; min-width: 255px; gap: 5px; padding: 14px 16px; border: 1px solid #c8daf7; border-left: 4px solid var(--jj-blue); border-radius: 11px; background: #f4f8ff; }
.page-header-note span, .page-header-note small { color: var(--jj-muted); font-size: 9px; }.page-header-note span { color: var(--jj-blue); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.page-header-note strong { font: 800 13px var(--font-interface); }
.contract-metrics .metric-card { min-height: 114px; }
.lifecycle-overview { margin-bottom: 18px; overflow: hidden; }
.lifecycle-lanes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--jj-line); }
.lifecycle-lanes a { position: relative; display: grid; min-height: 112px; grid-template-columns: 40px 1fr; align-content: center; column-gap: 11px; padding: 17px 19px; border-right: 1px solid var(--jj-line); color: var(--jj-ink); text-decoration: none; }
.lifecycle-lanes a:last-child { border-right: 0; }.lifecycle-lanes a::after { position: absolute; top: 36px; right: -5px; z-index: 2; width: 9px; height: 9px; border-top: 2px solid #c6d4e8; border-right: 2px solid #c6d4e8; background: #fff; content: ''; transform: rotate(45deg); }.lifecycle-lanes a:last-child::after { display: none; }
.lifecycle-lanes a:hover, .lifecycle-lanes a:focus-visible { background: #f5f9ff; outline: none; }.lifecycle-lanes strong, .lifecycle-lanes small { display: block; }.lifecycle-lanes strong { align-self: end; font: 800 12px var(--font-interface); }.lifecycle-lanes small { grid-column: 2; margin-top: 5px; color: var(--jj-muted); font-size: 9px; line-height: 1.4; }
.lifecycle-marker { display: grid; width: 38px; height: 38px; grid-row: 1/3; place-items: center; border-radius: 12px; color: #fff; background: var(--jj-blue); font: 800 13px var(--font-interface); }.lifecycle-marker.draft { background: #7652cc; }.lifecycle-marker.active { background: var(--jj-success); }.lifecycle-marker.paused { background: var(--jj-warning); }.lifecycle-marker.notice { background: var(--jj-danger); }
.contract-register { min-width: 1240px; }.contract-register td { vertical-align: top; }.contract-register td > strong, .contract-register td > small { display: block; }.contract-register td > small { margin-top: 5px; color: var(--jj-muted); font-size: 9px; line-height: 1.4; }
.contract-object, .document-object { overflow: hidden; }
.object-header { display: flex; align-items: center; gap: 15px; padding: 20px 22px; }
.object-header .detail-identity { flex: 1 1 auto; }.object-header .identity-statuses { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }.object-header .close-detail { width: auto; margin-left: 4px; }
.object-monogram { display: grid; width: 50px; height: 50px; flex: 0 0 50px; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(135deg,var(--jj-deep),var(--jj-blue)); font: 800 12px var(--font-interface); }.object-monogram.document-monogram { font-size: 9px; background: linear-gradient(135deg,#7652cc,var(--jj-blue)); }
.contract-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(245px,.32fr); border-top: 1px solid var(--jj-line); }.contract-detail-grid > div { min-width: 0; }.contract-process { border-bottom: 0; }.contract-process ol { grid-template-columns: repeat(4,minmax(0,1fr)); }.contract-process li::before { display: none; }.contract-detail-grid .facts-grid { border-bottom: 0; }
.contract-next-step { align-content: center; min-height: 100%; margin: 0; padding: 25px; border-left: 1px solid var(--jj-line); border-radius: 0; }.contract-next-step span, .contract-next-step strong, .contract-next-step small, .contract-next-step a { display: block; }.contract-next-step strong { margin-top: 9px; font-size: 15px; line-height: 1.4; }.contract-next-step small { margin-top: 8px; line-height: 1.5; }.contract-next-step a, .document-next-step a { margin-top: 14px; color: var(--jj-blue); font: 800 10px var(--font-interface); text-decoration: none; }.contract-next-step a:hover, .contract-next-step a:focus-visible { text-decoration: underline; outline: none; }
.contract-support-grid { margin: 0; padding: 21px 22px; border-top: 1px solid var(--jj-line); }.contract-support-grid > section { min-width: 0; }.contract-support-grid .mini-record-list { margin-top: 12px; }
.contract-activity-strip { display: grid; grid-template-columns: minmax(260px,.45fr) minmax(0,1fr); gap: 22px; align-items: center; margin: 0 22px 20px; padding: 16px 18px; border: 1px solid #d8e2f0; border-left: 3px solid var(--jj-cyan); border-radius: 11px; background: #fbfcfe; }.contract-activity-strip h3 { margin: 5px 0 0; font: 800 12px var(--font-interface); }.contract-activity-strip p:not(.eyebrow) { margin: 6px 0 0; color: var(--jj-muted); font-size: 9.5px; line-height: 1.5; }.contract-activity-strip .mini-record-list { margin: 0; }
.mini-static-record { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 15px; }.mini-static-record strong, .mini-static-record small { display: block; }.mini-static-record strong { font: 800 11px var(--font-interface); }.mini-static-record small { margin-top: 5px; color: var(--jj-muted); font-size: 9px; }
.contract-object > .privacy-note, .document-object > .privacy-note { margin: 0 22px 20px; }
.document-coverage-banner { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 18px 0; padding: 16px 19px; border: 1px solid #c8daf7; border-left: 4px solid var(--jj-blue); border-radius: 13px; background: linear-gradient(100deg,#f3f8ff,#fff); }.document-coverage-banner > div { display: flex; align-items: center; gap: 14px; }.document-coverage-banner strong { font: 800 12px var(--font-interface); }.document-coverage-banner p { max-width: 710px; margin: 5px 0 0; color: var(--jj-muted); font-size: 9.5px; line-height: 1.45; }.document-coverage-banner > a { color: var(--jj-blue); font: 800 10px var(--font-interface); text-decoration: none; white-space: nowrap; }.document-coverage-banner > a:hover, .document-coverage-banner > a:focus-visible { text-decoration: underline; outline: none; }
.coverage-ring { display: grid; width: 49px; height: 49px; flex: 0 0 49px; place-items: center; border: 4px solid #9cc2fa; border-radius: 50%; color: var(--jj-deep); background: #fff; font: 800 11px var(--font-interface); }
.document-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; padding: 18px; border-top: 1px solid var(--jj-line); }.document-card { display: grid; min-width: 0; gap: 7px; padding: 17px; border: 1px solid var(--jj-line); border-radius: 13px; color: var(--jj-ink); background: #fff; text-decoration: none; }.document-card:hover, .document-card:focus-visible, .document-card.selected { border-color: #a5c6f8; background: #f7faff; box-shadow: 0 8px 24px rgba(0,80,180,.07); outline: none; }.document-card.selected { box-shadow: inset 4px 0 0 var(--jj-blue); }.document-card-top, .document-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.document-icon { display: grid; width: 39px; height: 43px; place-items: center; border: 1px solid #c9d9f0; border-radius: 8px 8px 8px 3px; color: var(--jj-blue); background: #eff5ff; font: 800 8px var(--font-interface); }.document-card > strong { margin-top: 4px; font: 800 12px/1.4 var(--font-interface); }.document-card > small { color: var(--jj-muted); font-size: 9px; }.document-card dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 7px 0 0; border-block: 1px solid var(--jj-line); }.document-card dl div { padding: 10px 7px; border-right: 1px solid var(--jj-line); }.document-card dl div:last-child { border-right: 0; }.document-card dt { color: var(--jj-muted); font-size: 8px; }.document-card dd { margin: 4px 0 0; font: 800 10px var(--font-interface); }.document-card footer { padding-top: 6px; color: var(--jj-muted); font-size: 9px; }.document-card footer b { color: var(--jj-blue); font-size: 16px; }
.document-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding: 21px 22px; border-top: 1px solid var(--jj-line); }.document-detail-grid > section { min-width: 0; padding: 17px 18px; border: 1px solid var(--jj-line); border-radius: 12px; background: #fbfcfe; }.document-detail-grid .detail-list { margin-top: 14px; }.integrity-callout { display: grid; gap: 5px; margin-top: 14px; padding: 13px 15px; border-left: 4px solid #98a6b9; border-radius: 9px; background: #f3f5f8; }.integrity-callout.positive { border-left-color: var(--jj-success); background: #eef9f4; }.integrity-callout.warning { border-left-color: var(--jj-warning); background: #fff8e9; }.integrity-callout span, .integrity-callout small { color: var(--jj-muted); font-size: 9px; }.integrity-callout strong { font: 800 12px var(--font-interface); }
.document-link-chain { display: grid; grid-template-columns: minmax(0,1fr) 22px minmax(0,1fr); align-items: center; gap: 6px; margin-top: 14px; }.document-link-chain > a { display: grid; min-height: 100px; align-content: center; gap: 5px; padding: 14px; border: 1px solid #cbdcf5; border-radius: 10px; color: var(--jj-ink); background: #fff; text-decoration: none; }.document-link-chain > a:hover, .document-link-chain > a:focus-visible { border-color: var(--jj-blue); outline: none; }.document-link-chain > b { color: var(--jj-blue); text-align: center; }.document-link-chain span, .document-link-chain small { color: var(--jj-muted); font-size: 8.5px; }.document-link-chain strong { font: 800 11px/1.4 var(--font-interface); }.document-next-step { margin: 14px 0 0; }
.version-boundary { display: flex; align-items: center; gap: 14px; margin: 0 22px 20px; padding: 15px 17px; border: 1px solid #d7dfeb; border-radius: 11px; background: #fafbfd; }.version-boundary strong { font: 800 11px var(--font-interface); }.version-boundary p { margin: 5px 0 0; color: var(--jj-muted); font-size: 9px; line-height: 1.5; }

@media (max-width: 1100px) {
  .lifecycle-lanes { grid-template-columns: repeat(2,minmax(0,1fr)); }.lifecycle-lanes a:nth-child(2) { border-right: 0; }.lifecycle-lanes a:nth-child(-n+2) { border-bottom: 1px solid var(--jj-line); }.lifecycle-lanes a:nth-child(2)::after { display: none; }.document-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.contract-detail-grid { grid-template-columns: 1fr; }.contract-next-step { min-height: auto; border-top: 1px solid var(--jj-line); border-left: 3px solid var(--jj-cyan); }
}
@media (max-width: 820px) {
  .contract-page-header { align-items: stretch; flex-direction: column; }.page-header-note { min-width: 0; }.contract-activity-strip, .document-detail-grid { grid-template-columns: 1fr; }.document-coverage-banner { align-items: flex-start; flex-direction: column; }.object-header { align-items: flex-start; flex-wrap: wrap; }.object-header .identity-statuses { justify-content: flex-start; }.object-header .close-detail { width: 100%; margin-left: 65px; }
}
@media (max-width: 560px) {
  .metric-grid.five.contract-metrics { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; scrollbar-width: none; }.contract-metrics .metric-card { scroll-snap-align: start; }.lifecycle-lanes { grid-template-columns: 1fr; }.lifecycle-lanes a { border-right: 0; border-bottom: 1px solid var(--jj-line); }.lifecycle-lanes a:last-child { border-bottom: 0; }.lifecycle-lanes a::after { display: none; }.document-card-grid { grid-template-columns: 1fr; padding: 13px; }.document-link-chain { grid-template-columns: 1fr; }.document-link-chain > b { transform: rotate(90deg); }.contract-activity-strip, .contract-support-grid, .document-detail-grid { padding: 16px; }.contract-activity-strip, .version-boundary { margin-inline: 16px; }.object-header .close-detail { margin-left: 0; }
}

/* User, role and configuration governance */
.governance-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }.governance-header > div { max-width: 770px; }
.governance-metrics .metric-card { min-height: 114px; }
.owner-account-separation { overflow:hidden; }.owner-account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:18px; border-top:1px solid var(--jj-line); }.owner-account-grid article { overflow:hidden; border:1px solid #cbdcf5; border-radius:13px; background:#fff; }.owner-account-grid article > header { display:grid; grid-template-columns:46px 1fr auto; gap:12px; align-items:center; padding:16px 17px; background:linear-gradient(105deg,#f1f6ff,#fff); }.owner-account-grid article > header > span { display:grid; width:44px; height:44px; place-items:center; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--jj-deep),var(--jj-blue)); font:900 15px var(--font-interface); }.owner-account-grid header small { color:var(--jj-blue); font:800 8px var(--font-interface); text-transform:uppercase; letter-spacing:.06em; }.owner-account-grid h3 { margin:3px 0 0; font:850 15px var(--font-interface); }.owner-account-grid header p { margin:3px 0 0; color:var(--jj-muted); font-size:8.5px; }.owner-account-grid header b { padding:6px 9px; border-radius:999px; color:#157252; background:#e7f8f0; font:800 8px var(--font-interface); }.owner-account-grid dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0; background:var(--jj-line); }.owner-account-grid dl div { padding:11px 13px; background:#fff; }.owner-account-grid dt { color:var(--jj-muted); font:700 8px var(--font-interface); }.owner-account-grid dd { margin:4px 0 0; font:750 9px/1.35 var(--font-interface); }.owner-account-grid footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 13px; border-top:1px solid var(--jj-line); color:var(--jj-muted); font-size:8px; }.owner-account-grid footer code { color:var(--jj-deep); font:700 8px var(--font-interface); }.owner-separation-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--jj-line); border-top:1px solid var(--jj-line); }.owner-separation-checks > div { display:grid; gap:4px; padding:12px 15px; background:#f8faff; }.owner-separation-checks small { color:var(--jj-muted); font:700 8px var(--font-interface); text-transform:uppercase; }.owner-separation-checks strong { font:750 8.5px/1.4 var(--font-interface); }.owner-account-separation > .privacy-note { margin:14px 18px 17px; }
.role-matrix { margin-bottom: 18px; overflow: hidden; }.role-profile-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; padding: 18px; border-top: 1px solid var(--jj-line); }.role-profile-card { display: grid; min-width: 0; align-content: start; gap: 6px; padding: 16px; border: 1px solid var(--jj-line); border-radius: 12px; background: #fbfcfe; }.role-profile-card.unconfigured { border-style: dashed; background: #fffaf1; }.role-profile-card > div, .role-profile-card footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.role-profile-card > strong { margin-top: 5px; font: 800 12px/1.35 var(--font-interface); }.role-profile-card > small { color: var(--jj-muted); font-size: 9px; }.role-profile-card p { min-height: 42px; margin: 7px 0; color: var(--jj-muted); font-size: 9.5px; line-height: 1.5; }.role-profile-card footer { padding-top: 10px; border-top: 1px solid var(--jj-line); color: var(--jj-muted); font-size: 8.5px; }.role-profile-card footer b { color: var(--jj-ink); font-size: 8.5px; text-align: right; }.role-monogram { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(135deg,var(--jj-deep),var(--jj-blue)); font: 800 10px var(--font-interface); }.role-profile-card.unconfigured .role-monogram { background: var(--jj-warning); }
.governance-table { min-width: 1160px; }.governance-table td { vertical-align: top; }.governance-table td > strong, .governance-table td > small { display: block; }.governance-table td > small { margin-top: 5px; color: var(--jj-muted); font-size: 9px; line-height: 1.4; }.governance-table td:nth-child(4) small { max-width: 210px; overflow-wrap: anywhere; }
.governance-object { overflow: hidden; }.governance-monogram { font-size: 9px; background: linear-gradient(135deg,#7652cc,var(--jj-blue)); }.governance-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 19px; padding: 21px 22px; border-top: 1px solid var(--jj-line); }.governance-detail-grid > section { min-width: 0; padding: 17px 18px; border: 1px solid var(--jj-line); border-radius: 12px; background: #fbfcfe; }.governance-detail-grid .detail-list { margin-top: 14px; }.governance-next-step { margin: 14px 0 0; }.route-chip-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }.route-chip-list > span { padding: 6px 9px; border: 1px solid #cbdcf5; border-radius: 8px; color: var(--jj-deep); background: #f1f6ff; font: 700 9px var(--font-interface); }.route-chip-list > p { margin: 0; color: var(--jj-muted); font-size: 10px; }.governance-boundary { margin-top: 15px; padding: 13px 15px; border-left: 3px solid var(--jj-warning); border-radius: 9px; background: #fff8e9; }.governance-boundary strong { font: 800 11px var(--font-interface); }.governance-boundary p { margin: 6px 0 0; color: var(--jj-muted); font-size: 9px; line-height: 1.5; }.governance-object > .privacy-note { margin: 0 22px 20px; }
.scope-guard-panel { display: grid; grid-template-columns: minmax(260px,.38fr) minmax(0,1fr); gap: 24px; align-items: center; margin: 18px 0; padding: 19px 21px; border: 1px solid #c8daf7; border-left: 4px solid var(--jj-blue); border-radius: 14px; background: linear-gradient(100deg,#f3f8ff,#fff); }.scope-guard-panel h2 { margin: 5px 0 0; font: 800 15px var(--font-interface); }.scope-guard-panel > div:first-child > p:last-child { margin: 7px 0 0; color: var(--jj-muted); font-size: 9.5px; line-height: 1.5; }.scope-guard-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }.scope-guard-grid article { display: flex; min-width: 0; align-items: center; gap: 8px; padding: 9px 10px; border: 1px solid var(--jj-line); border-radius: 9px; background: #fff; }.scope-guard-grid strong, .scope-guard-grid small { display: block; }.scope-guard-grid strong { font: 800 9px var(--font-interface); }.scope-guard-grid small { margin-top: 3px; color: var(--jj-muted); font-size: 7.8px; }.guard-state { display: grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; border-radius: 50%; color: #fff; background: var(--jj-danger); font: 800 9px var(--font-interface); }.guard-state.ok { background: var(--jj-success); }
.control-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 18px; border-top: 1px solid var(--jj-line); }.control-card { display: grid; min-width: 0; gap: 6px; padding: 16px 17px; border: 1px solid var(--jj-line); border-radius: 12px; color: var(--jj-ink); background: #fff; text-decoration: none; }.control-card:hover, .control-card:focus-visible, .control-card.selected { border-color: #aac9fa; background: #f6f9ff; outline: none; }.control-card.selected { box-shadow: inset 4px 0 0 var(--jj-blue); }.control-card > div, .control-card footer { display: flex; align-items: center; justify-content: space-between; gap: 9px; }.control-card > small { margin-top: 3px; color: var(--jj-blue); font: 800 8px var(--font-interface); letter-spacing: .05em; text-transform: uppercase; overflow-wrap: anywhere; }.control-card > strong { font: 800 12px/1.4 var(--font-interface); }.control-card p { margin: 2px 0 7px; color: var(--jj-muted); font-size: 9.5px; line-height: 1.5; }.control-card footer { padding-top: 9px; border-top: 1px solid var(--jj-line); color: var(--jj-muted); font-size: 9px; }.control-card footer b { color: var(--jj-blue); font-size: 16px; }.control-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #fff; background: var(--jj-blue); font: 800 10px var(--font-interface); }
.blocked-capability-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }.blocked-capability-list span { padding: 7px 9px; border: 1px solid #efc5cb; border-radius: 8px; color: #9e3544; background: #fff2f4; font: 800 8px var(--font-interface); }.architecture-chain { display: grid; gap: 5px; margin: 14px 0 0; padding: 0; list-style: none; }.architecture-chain li { display: flex; align-items: center; gap: 9px; padding: 7px 9px; border: 1px solid var(--jj-line); border-radius: 8px; color: var(--jj-muted); background: #fff; }.architecture-chain li.active { color: var(--jj-deep); border-color: var(--jj-blue); background: #edf5ff; }.architecture-chain li span { display: grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; background: #edf1f6; font: 800 8px var(--font-interface); }.architecture-chain li.active span { color: #fff; background: var(--jj-blue); }.architecture-chain li strong { font: 800 8.5px var(--font-interface); }

@media (max-width: 1100px) {
  .role-profile-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.scope-guard-panel { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
  .governance-header { align-items: stretch; flex-direction: column; }.governance-detail-grid,.owner-account-grid { grid-template-columns: 1fr; }.scope-guard-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .metric-grid.five.governance-metrics { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; scrollbar-width: none; }.governance-metrics .metric-card { scroll-snap-align: start; }.role-profile-grid, .control-card-grid, .scope-guard-grid,.owner-separation-checks { grid-template-columns: 1fr; }.scope-guard-panel, .governance-detail-grid { padding: 16px; }.owner-account-grid { padding:13px; }.owner-account-grid article > header { grid-template-columns:42px 1fr; }.owner-account-grid header b { grid-column:2; justify-self:start; }.owner-account-grid dl { grid-template-columns:1fr; }.owner-account-grid footer { align-items:flex-start; flex-direction:column; }
}

/* Home-visit map, matching and intake operations */
.home-visit-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }.home-visit-header > div:first-child { max-width: 780px; }
.prototype-seal { display: grid; min-width: 245px; gap: 5px; padding: 14px 16px; border: 1px solid #b9d1f5; border-left: 4px solid var(--jj-blue); border-radius: 12px; background: linear-gradient(110deg,#eff6ff,#fff); }.prototype-seal span { color: var(--jj-blue); font: 800 8px var(--font-interface); letter-spacing: .1em; text-transform: uppercase; }.prototype-seal strong { font: 800 12px var(--font-interface); }.prototype-seal small { color: var(--jj-muted); font-size: 9px; }
.home-visit-boundary { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 18px 0; padding: 14px 17px; border: 1px solid #c7d8f1; border-radius: 13px; background: #f5f9ff; }.home-visit-boundary > div { display: flex; align-items: center; gap: 12px; }.home-visit-boundary p { margin: 0; color: var(--jj-muted); font-size: 10px; line-height: 1.5; }.home-visit-boundary p strong { color: var(--jj-deep); }.boundary-icon { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 50%; color: #fff; background: var(--jj-blue); font: 800 11px var(--font-interface); }
.home-visit-metrics .metric-card { min-height: 112px; }.metric-card.info { border-top: 3px solid var(--jj-blue); }.metric-card.conflict { border-top: 3px solid var(--jj-danger); }
.home-visit-pipeline { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 0 0 18px; overflow: hidden; border: 1px solid var(--jj-line); border-radius: 13px; background: #fff; box-shadow: var(--shadow); }.home-visit-pipeline a { position: relative; display: grid; min-height: 88px; grid-template-columns: 14px 1fr auto; align-items: center; gap: 9px; padding: 14px 17px; border-right: 1px solid var(--jj-line); color: var(--jj-ink); text-decoration: none; }.home-visit-pipeline a:last-child { border-right: 0; }.home-visit-pipeline a:hover, .home-visit-pipeline a:focus-visible, .home-visit-pipeline a.active { background: #f2f7ff; outline: none; }.home-visit-pipeline a.active { box-shadow: inset 0 -3px 0 var(--jj-blue); }.home-visit-pipeline small { color: var(--jj-muted); font-size: 9px; line-height: 1.35; }.home-visit-pipeline strong { color: var(--jj-deep); font: 800 16px var(--font-interface); }.home-visit-pipeline .pipeline-dot { width: 9px; height: 9px; border-radius: 50%; background: #92a0b3; }.home-visit-pipeline .pipeline-dot.positive { background: var(--jj-success); }.home-visit-pipeline .pipeline-dot.info { background: var(--jj-blue); }.home-visit-pipeline .pipeline-dot.warning { background: var(--jj-warning); }.home-visit-pipeline .pipeline-dot.danger { background: var(--jj-danger); }
.home-visit-filter-panel { margin-bottom: 18px; }.home-visit-filters { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: end; gap: 12px; padding: 18px 20px 20px; border-top: 1px solid var(--jj-line); }.home-visit-filters label, .home-visit-filters label > span { display: block; }.home-visit-filters label > span { margin-bottom: 6px; color: var(--jj-muted); font: 800 8.5px var(--font-interface); letter-spacing: .04em; text-transform: uppercase; }.home-visit-filters select, .home-visit-filters input[type="search"] { width: 100%; min-height: 40px; padding: 8px 34px 8px 11px; border: 1px solid #cad5e5; border-radius: 9px; color: var(--jj-ink); background: #fff; font-size: 10px; }.home-visit-filters input[type="search"] { padding-right: 11px; }.home-visit-filters button { grid-column: span 2; width: 100%; min-height: 40px; padding: 8px 17px; border: 0; border-radius: 9px; color: #fff; background: var(--jj-blue); font: 800 10px var(--font-interface); cursor: pointer; }.home-visit-filters button:hover, .home-visit-filters button:focus-visible { background: var(--jj-deep); outline: 2px solid #9fc4fb; outline-offset: 2px; }.map-layer-toggles { display: flex; grid-column: span 2; min-width: 0; min-height: 40px; align-items: center; justify-content: center; gap: 22px; margin: 0; padding: 7px 11px; border: 1px solid #cad5e5; border-radius: 9px; background: #fff; }.map-layer-toggles legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }.map-layer-toggles label { display: flex; align-items: center; gap: 5px; color: var(--jj-ink); font: 700 9px var(--font-interface); white-space: nowrap; }.map-layer-toggles label > span { margin: 0; color: inherit; font: inherit; letter-spacing: 0; text-transform: none; }.map-layer-toggles input { accent-color: var(--jj-blue); }
.home-visit-workspace { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(330px,.72fr); gap: 18px; margin-bottom: 18px; }.home-visit-map-panel, .home-visit-register { min-width: 0; overflow: hidden; }
.live-map-city-nav { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 11px 18px; border-top: 1px solid var(--jj-line); background: #fff; }.live-map-city-nav > span { color: var(--jj-muted); font: 900 8px var(--font-interface); letter-spacing: .08em; text-transform: uppercase; }.live-map-city-buttons { display: grid; width: min(520px,100%); grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }.live-map-city-buttons button { min-height: 32px; padding: 6px 12px; border: 1px solid #cfdbea; border-radius: 8px; color: #40516b; background: #fff; font: 800 9px var(--font-interface); cursor: pointer; transition: color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease; }.live-map-city-buttons button:hover { border-color: #92afd7; background: #f7faff; }.live-map-city-buttons button:focus-visible { outline: 2px solid #8cbaf8; outline-offset: 2px; }.live-map-city-buttons button[aria-pressed="true"] { color: #fff; border-color: var(--jj-blue); background: var(--jj-blue); box-shadow: 0 3px 9px rgba(0,105,246,.18); }.live-map-city-nav > small { color: #65758a; font-size: 8px; white-space: nowrap; }
.live-map-place-search { display: grid; grid-template-columns: minmax(300px,1fr) minmax(180px,.55fr) auto; align-items: center; gap: 12px; padding: 12px 18px; border-top: 1px solid var(--jj-line); background: #f8fbff; }
.live-map-place-search__field { display: grid; min-width: 0; gap: 5px; }
.live-map-place-search__field > span,.live-map-place-search__selection > span { color: var(--jj-muted); font: 900 7px var(--font-interface); letter-spacing: .08em; text-transform: uppercase; }
.live-map-place-search__field > small,.live-map-place-search__selection > small { color: #65758a; font-size: 7.5px; line-height: 1.35; }
.live-map-place-search [data-google-place-search-host] { position: relative; min-width: 0; min-height: 42px; }
.live-map-place-search [data-google-place-search-host] > input { box-sizing: border-box; width: 100%; min-height: 42px; padding: 0 42px 0 13px; border: 1px solid #cbd9ea; border-radius: 9px; color: var(--jj-ink); background: #fff; font: 700 10px var(--font-interface); outline: none; }
.live-map-place-search [data-google-place-search-host] > input:focus { border-color: var(--jj-blue); box-shadow: 0 0 0 3px rgba(0,105,235,.11); }
.live-map-place-search [data-google-place-search-host] > input::-webkit-search-cancel-button { cursor: pointer; }
.live-map-place-suggestions { position: absolute; top: calc(100% + 5px); right: 0; left: 0; z-index: 1200; max-height: 260px; overflow-y: auto; padding: 5px; border: 1px solid #cfdaea; border-radius: 10px; background: #fff; box-shadow: 0 15px 34px rgba(25,48,82,.2); }
.live-map-place-suggestions[hidden] { display: none; }
.live-map-place-suggestion { display: grid; width: 100%; gap: 3px; padding: 10px 11px; border: 0; border-radius: 7px; color: var(--jj-ink); background: transparent; cursor: pointer; text-align: left; }
.live-map-place-suggestion:hover,.live-map-place-suggestion:focus-visible,.live-map-place-suggestion[aria-selected="true"] { background: #edf5ff; outline: none; }
.live-map-place-suggestion strong { overflow: hidden; font: 800 9.5px var(--font-interface); text-overflow: ellipsis; white-space: nowrap; }
.live-map-place-suggestion small { overflow: hidden; color: #687991; font-size: 7.7px; text-overflow: ellipsis; white-space: nowrap; }
.live-map-place-search__selection { display: grid; min-width: 0; gap: 3px; padding: 8px 11px; border: 1px solid #f1b8b8; border-radius: 9px; background: #fff7f7; }
.live-map-place-search__selection[hidden] { display: none; }
.live-map-place-search__selection strong { overflow: hidden; color: var(--jj-ink); font: 800 9px var(--font-interface); text-overflow: ellipsis; white-space: nowrap; }
.live-map-place-search__clear { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #e7b2b2; border-radius: 50%; color: #b42335; background: #fff; font: 800 18px/1 var(--font-interface); cursor: pointer; }
.live-map-place-search__clear[hidden] { display: none; }
.live-map-place-search__clear:hover,.live-map-place-search__clear:focus-visible { border-color: #c83e50; background: #fff3f4; outline: none; }
.live-map-place-search__unavailable { display: grid; min-height: 42px; place-items: center start; padding: 0 12px; border: 1px dashed #cdd9e8; border-radius: 9px; color: #65758a; background: #fff; font-size: 9px; }
.map-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; padding: 11px 18px; border-top: 1px solid var(--jj-line); border-bottom: 1px solid var(--jj-line); background: #fbfcfe; }.map-legend > span { display: flex; align-items: center; gap: 6px; font: 700 9px var(--font-interface); }.map-legend i { display: block; width: 10px; height: 10px; border-radius: 50%; background: var(--jj-blue); }.map-legend i.teacher { border-radius: 3px; background: var(--jj-success); transform: rotate(45deg); }.map-legend i.school { border-radius: 2px; background: #7652cc; }.map-legend small { margin-left: auto; color: var(--jj-muted); font-size: 8.5px; }
.synthetic-map { position: relative; min-height: 460px; overflow: hidden; background-color: #edf2eb; background-image: linear-gradient(27deg,transparent 44%,rgba(204,218,202,.65) 45%,rgba(204,218,202,.65) 48%,transparent 49%), linear-gradient(118deg,transparent 52%,rgba(211,222,208,.7) 53%,rgba(211,222,208,.7) 57%,transparent 58%), radial-gradient(circle at 20% 25%,#dcebd9 0 7%,transparent 7.5%), radial-gradient(circle at 78% 74%,#d8e9d4 0 10%,transparent 10.5%), linear-gradient(90deg,rgba(255,255,255,.42) 1px,transparent 1px), linear-gradient(rgba(255,255,255,.42) 1px,transparent 1px); background-size: auto,auto,auto,auto,44px 44px,44px 44px; }.synthetic-map::after { position: absolute; inset: 0; border: 8px solid rgba(255,255,255,.45); pointer-events: none; content: ''; }
.map-watermark { position: absolute; top: 18px; left: 18px; z-index: 2; display: grid; gap: 2px; padding: 9px 12px; border: 1px solid rgba(159,177,160,.5); border-radius: 9px; background: rgba(255,255,255,.86); box-shadow: 0 4px 14px rgba(45,70,45,.08); }.map-watermark strong { color: #294d38; font: 800 10px var(--font-interface); }.map-watermark span { color: #6f8375; font-size: 8px; }
.map-road { position: absolute; z-index: 0; height: 10px; border-block: 2px solid rgba(193,199,191,.65); background: rgba(255,255,255,.75); transform-origin: center; }.road-a { top: 51%; left: -8%; width: 118%; transform: rotate(-13deg); }.road-b { top: 37%; left: -4%; width: 110%; transform: rotate(24deg); }.road-c { top: 66%; left: 17%; width: 92%; transform: rotate(-45deg); }
.map-pin { position: absolute; z-index: 3; display: grid; justify-items: center; color: var(--jj-ink); text-decoration: none; transform: translate(-50%,-50%); }.map-pin > span { display: grid; width: 30px; height: 30px; place-items: center; border: 3px solid #fff; border-radius: 50% 50% 50% 8px; color: #fff; background: var(--jj-blue); box-shadow: 0 5px 13px rgba(16,37,77,.24); font: 800 8px var(--font-interface); transform: rotate(-45deg); }.map-pin > span::first-letter { transform: rotate(45deg); }.map-pin > small { max-width: 106px; margin-top: 6px; overflow: hidden; padding: 3px 6px; border-radius: 5px; color: #33425c; background: rgba(255,255,255,.9); box-shadow: 0 2px 6px rgba(20,33,61,.08); font: 800 7.5px var(--font-interface); text-overflow: ellipsis; white-space: nowrap; }.map-pin:hover, .map-pin:focus-visible { z-index: 5; outline: none; }.map-pin:hover > span, .map-pin:focus-visible > span { box-shadow: 0 0 0 4px rgba(0,105,246,.17),0 6px 15px rgba(16,37,77,.28); }.map-pin.pin-teacher > span { border-radius: 8px; background: var(--jj-success); }.map-pin.pin-school > span { border-radius: 5px 5px 2px 2px; background: #7652cc; }
.map-pin.legacy-marker > span, .map-pin.legacy-marker.pin-teacher > span, .map-pin.legacy-marker.pin-school > span { width: 35px; height: 35px; border: 2px solid #fff; border-radius: 10px; color: var(--jj-ink); background: rgba(255,255,255,.94); font: 400 20px/1 var(--font-interface); transform: none; filter: drop-shadow(0 4px 5px rgba(16,37,77,.22)); }.map-pin.legacy-marker.pin-teacher > span { border-color: #9bd7bd; }.map-pin.legacy-marker.pin-school > span { border-color: #c8b7ed; }.map-detail-popover { position: absolute; z-index: 8; display: grid; width: 225px; gap: 6px; padding: 15px; border: 1px solid #c7d1df; border-radius: 12px; background: rgba(255,255,255,.98); box-shadow: 0 12px 30px rgba(20,33,61,.22); transform: translate(-50%,-118%); }.map-detail-popover > a:first-child { position: absolute; top: 7px; right: 9px; color: var(--jj-muted); font: 700 17px var(--font-interface); text-decoration: none; }.map-detail-popover > strong { padding-right: 18px; font: 800 11px var(--font-interface); }.map-detail-popover > span, .map-detail-popover > small { color: var(--jj-muted); font-size: 8.5px; line-height: 1.4; }.map-detail-popover .map-more-link { justify-self: start; margin-top: 3px; padding: 7px 10px; border-radius: 7px; color: #fff; background: var(--jj-blue); font: 800 8.5px var(--font-interface); text-decoration: none; }.map-detail-popover .map-more-link:hover, .map-detail-popover .map-more-link:focus-visible { background: var(--jj-deep); outline: none; }
.pin-x-27 { left: 27%; }.pin-x-31 { left: 31%; }.pin-x-39 { left: 39%; }.pin-x-43 { left: 43%; }.pin-x-46 { left: 46%; }.pin-x-48 { left: 48%; }.pin-x-54 { left: 54%; }.pin-x-58 { left: 58%; }.pin-x-61 { left: 61%; }.pin-x-64 { left: 64%; }.pin-x-69 { left: 69%; }.pin-x-77 { left: 77%; }
.pin-y-24 { top: 24%; }.pin-y-25 { top: 25%; }.pin-y-28 { top: 28%; }.pin-y-34 { top: 34%; }.pin-y-37 { top: 37%; }.pin-y-48 { top: 48%; }.pin-y-51 { top: 51%; }.pin-y-55 { top: 55%; }.pin-y-58 { top: 58%; }.pin-y-66 { top: 66%; }.pin-y-72 { top: 72%; }
.live-x-5 { left: 5%; }.live-x-10 { left: 10%; }.live-x-15 { left: 15%; }.live-x-20 { left: 20%; }.live-x-25 { left: 25%; }.live-x-30 { left: 30%; }.live-x-35 { left: 35%; }.live-x-40 { left: 40%; }.live-x-45 { left: 45%; }.live-x-50 { left: 50%; }.live-x-55 { left: 55%; }.live-x-60 { left: 60%; }.live-x-65 { left: 65%; }.live-x-70 { left: 70%; }.live-x-75 { left: 75%; }.live-x-80 { left: 80%; }.live-x-85 { left: 85%; }.live-x-90 { left: 90%; }.live-x-95 { left: 95%; }
.live-y-5 { top: 5%; }.live-y-10 { top: 10%; }.live-y-15 { top: 15%; }.live-y-20 { top: 20%; }.live-y-25 { top: 25%; }.live-y-30 { top: 30%; }.live-y-35 { top: 35%; }.live-y-40 { top: 40%; }.live-y-45 { top: 45%; }.live-y-50 { top: 50%; }.live-y-55 { top: 55%; }.live-y-60 { top: 60%; }.live-y-65 { top: 65%; }.live-y-70 { top: 70%; }.live-y-75 { top: 75%; }.live-y-80 { top: 80%; }.live-y-85 { top: 85%; }.live-y-90 { top: 90%; }.live-y-95 { top: 95%; }
.live-home-visit-metrics { margin-top: 18px; }.live-source-filter { border-color: #bfe2d2; box-shadow: 0 12px 32px rgba(22,138,91,.07); }.live-source-filter .home-visit-filters { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 14px; padding: 20px; background: linear-gradient(180deg,#fff 0%,#fbfdff 100%); }.live-source-filter .live-filter-field { display: grid; min-width: 0; grid-template-rows: auto 44px auto; }.live-source-filter .home-visit-filters label > span { margin-bottom: 7px; }.live-source-filter .home-visit-filters select,.live-source-filter .home-visit-filters input[type="search"] { min-height: 44px; border-color: #c8d5e7; border-radius: 10px; font-size: 10px; box-shadow: 0 1px 2px rgba(28,52,86,.03); transition: border-color .16s ease,box-shadow .16s ease; }.live-source-filter .home-visit-filters select:focus,.live-source-filter .home-visit-filters input[type="search"]:focus { border-color: #71a9f8; box-shadow: 0 0 0 3px rgba(0,105,246,.1); outline: none; }.live-source-filter .home-visit-filters label > small { display: block; min-height: 12px; margin-top: 6px; color: #65758a; font-size: 7.5px; line-height: 1.35; }.live-map-layer-toggles { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; min-height: 0; padding: 10px; border-color: #d7e1ee; background: #f5f8fc; }.live-map-layer-toggles label { position: relative; display: block; min-width: 0; }.live-map-layer-toggles label > input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }.live-map-layer-toggles label > span { display: flex; width: 100%; min-height: 40px; align-items: center; justify-content: center; gap: 9px; margin: 0; padding: 7px 12px; border: 1px solid #d3deec; border-radius: 9px; color: #40516b; background: #fff; font: 800 9px var(--font-interface); letter-spacing: 0; text-transform: none; cursor: pointer; transition: color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease; }.live-map-layer-toggles label > input:checked + span { color: var(--jj-deep); border-color: #9fc2f4; background: #eef5ff; box-shadow: inset 0 -2px 0 var(--jj-blue),0 1px 3px rgba(0,82,190,.08); }.live-map-layer-toggles label > input:focus-visible + span { outline: 2px solid #8cbaf8; outline-offset: 2px; }.live-map-layer-toggles label:hover > span { border-color: #9fb7d8; background: #f8fbff; }.live-map-layer-toggles i,.live-map-legend i { display: inline-block; width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; box-shadow: 0 0 0 2px #fff,0 0 0 3px currentColor; }.live-map-layer-toggles i.case,.live-map-legend i.case { color: #0875dc; background: #0875dc; }.live-map-layer-toggles i.teacher,.live-map-legend i.teacher { color: #6d4fd3; background: #6d4fd3; }.live-map-layer-toggles i.school,.live-map-legend i.school { color: #0b7f89; background: #0b7f89; }.live-coordinate-map { border: 1px solid #b9d9ca; background-color: #e8f4ec; background-image: linear-gradient(27deg,transparent 44%,rgba(151,196,166,.5) 45%,rgba(151,196,166,.5) 48%,transparent 49%),linear-gradient(118deg,transparent 52%,rgba(185,211,192,.62) 53%,rgba(185,211,192,.62) 57%,transparent 58%),radial-gradient(circle at 20% 25%,#cfe8d5 0 7%,transparent 7.5%),radial-gradient(circle at 78% 74%,#c9e5d1 0 10%,transparent 10.5%),linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px); }.live-coordinate-map .map-watermark strong { color: #126946; }.live-coordinate-map .map-pin { z-index: 4; }.live-home-visit-register .home-visit-case-list { max-height: 520px; overflow: auto; }.synthetic-workflow-note { margin-top: 22px; border-color: #eed9aa; background: #fffaf0; }
.google-live-map { position: relative; min-height: 600px; overflow: hidden; background: #e7eef7; }.google-map-fallback { position: absolute; inset: 0; display: grid; place-content: center; gap: 7px; padding: 30px; color: var(--jj-muted); text-align: center; }.google-map-fallback[hidden] { display: none; }.google-map-fallback strong { color: var(--jj-ink); font: 800 15px var(--font-interface); }.google-map-fallback span { font-size: 10px; }.jj-map-marker { --marker-color:#0875dc; position: relative; width: 42px; height: 50px; filter: drop-shadow(0 5px 5px rgba(20,37,63,.24)); transform-origin: 50% 100%; transition: transform .16s ease,filter .16s ease; }.jj-map-marker:hover,.jj-map-marker.is-selected { z-index: 3; filter: drop-shadow(0 8px 8px rgba(20,37,63,.3)); transform: translateY(-3px) scale(1.12); }.jj-map-marker__body { position: absolute; left: 4px; top: 1px; display: grid; width: 34px; height: 34px; place-items: center; border: 3px solid #fff; border-radius: 50% 50% 50% 8px; color: #fff; background: var(--marker-color); box-shadow: inset 0 -5px 10px rgba(0,0,0,.1); transform: rotate(-45deg); }.jj-map-marker__glyph { display: block; font: 19px/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif; filter: drop-shadow(0 1px 1px rgba(0,0,0,.18)); transform: rotate(45deg); }.jj-map-marker__badge { position: absolute; right: -4px; bottom: 0; min-width: 27px; padding: 3px 5px; border: 2px solid var(--marker-color); border-radius: 999px; color: var(--marker-color); background: #fff; font: 900 7px/1 var(--font-interface); letter-spacing: .03em; text-align: center; }.jj-map-marker--accepted { --marker-color:#168a5b; }.jj-map-marker--contract_active { --marker-color:#0069f6; }.jj-map-marker--open { --marker-color:#b86e00; }.jj-map-marker--waitlist { --marker-color:#7957b8; }.jj-map-marker--paused,.jj-map-marker--inactive,.jj-map-marker--closed { --marker-color:#65758a; }.jj-map-marker--teacher { --marker-color:#6d4fd3; }.jj-map-marker--school { --marker-color:#0b7f89; }.jj-map-marker.is-selected .jj-map-marker__body { box-shadow: 0 0 0 4px rgba(255,255,255,.9),0 0 0 7px var(--marker-color),inset 0 -5px 10px rgba(0,0,0,.1); }.google-map-info-card { display: grid; min-width: 210px; gap: 5px; padding: 4px 3px; color: var(--jj-ink); }.google-map-info-card__type { color: var(--jj-blue) !important; font: 900 7px var(--font-interface) !important; letter-spacing: .09em; text-transform: uppercase; }.google-map-info-card strong { font: 800 12px var(--font-interface); }.google-map-info-card span,.google-map-info-card small { color: var(--jj-muted); font-size: 9px; }.google-map-info-card a { margin-top: 5px; color: var(--jj-blue); font: 800 9px var(--font-interface); text-decoration: none; }.google-map-info-card a:hover,.google-map-info-card a:focus-visible { text-decoration: underline; }
.jj-map-marker { width: 38px; height: 38px; filter: drop-shadow(0 3px 3px rgba(20,37,63,.28)); transform-origin: 50% 50%; }.jj-map-marker:hover,.jj-map-marker.is-selected { z-index: 5; filter: drop-shadow(0 6px 5px rgba(20,37,63,.38)); transform: translateY(-2px) scale(1.2); }.jj-map-marker__body { position: static; display: grid; width: 38px; height: 38px; place-items: center; border: 0; border-radius: 0; color: inherit; background: transparent; box-shadow: none; transform: none; }.jj-map-marker__glyph { font-size: 31px; filter: none; transform: none; }.jj-map-marker.is-selected .jj-map-marker__body { border-radius: 0; background: transparent; box-shadow: none; }.google-map-info-card__selection { margin-top: 5px; color: var(--jj-blue) !important; font: 800 9px var(--font-interface) !important; }
.jj-map-marker__tooltip { position: absolute; left: 50%; bottom: calc(100% + 8px); z-index: 20; display: grid; width: max-content; max-width: 220px; gap: 3px; padding: 9px 11px; border: 1px solid #d4deec; border-radius: 9px; opacity: 0; color: var(--jj-ink); background: #fff; box-shadow: 0 8px 24px rgba(21,42,74,.2); pointer-events: none; transform: translate(-50%,5px) scale(.84); transform-origin: 50% 100%; transition: opacity .12s ease,transform .12s ease; }.jj-map-marker--teacher:hover .jj-map-marker__tooltip,.jj-map-marker--teacher:focus-within .jj-map-marker__tooltip { opacity: 1; transform: translate(-50%,0) scale(.84); }.jj-map-marker__tooltip strong { font: 800 9px var(--font-interface); }.jj-map-marker__tooltip b { color: #3f2e93; font: 900 10px var(--font-interface); }.jj-map-marker__tooltip small { color: #65758a; font-size: 7.5px; }.google-map-info-card__rate { margin-top: 3px; color: #3f2e93; font: 900 10px var(--font-interface); }.google-map-info-card__age { color: #2a6e54 !important; font-weight: 800; }.jj-comparison-marker { position: relative; width: 38px; height: 48px; filter: drop-shadow(0 5px 6px rgba(82,16,24,.3)); }.jj-comparison-marker__pin { position: absolute; left: 5px; top: 3px; width: 28px; height: 28px; border: 3px solid #fff; border-radius: 50% 50% 50% 8px; background: #d7192f; box-shadow: inset 0 -5px 8px rgba(91,0,13,.18); transform: rotate(-45deg); }.jj-comparison-marker__pin::after { position: absolute; left: 7px; top: 7px; width: 8px; height: 8px; border-radius: 50%; background: #fff; content: ""; }.jj-comparison-marker__close { position: absolute; right: -7px; top: -7px; z-index: 2; display: grid; width: 20px; height: 20px; place-items: center; padding: 0; border: 1px solid #d9a2a9; border-radius: 50%; color: #8b1c2a; background: #fff; box-shadow: 0 2px 7px rgba(46,20,24,.25); font: 900 13px/1 var(--font-interface); cursor: pointer; }
.map-caption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 15px; padding: 10px 17px; border-top: 1px solid var(--jj-line); color: var(--jj-muted); background: #fbfcfe; font-size: 8px; }.map-caption b { color: var(--jj-deep); font-weight: 800; }
.home-visit-case-list { display: grid; max-height: 550px; overflow-y: auto; padding: 10px; }.home-visit-case-list > a { display: grid; gap: 7px; padding: 13px; border: 1px solid transparent; border-bottom-color: var(--jj-line); border-radius: 10px; color: var(--jj-ink); text-decoration: none; }.home-visit-case-list > a[hidden] { display: none; }.home-visit-case-list > a:hover, .home-visit-case-list > a:focus-visible, .home-visit-case-list > a.selected { border-color: #b7d0f6; background: #f3f7ff; outline: none; }.home-visit-case-list > a.selected { box-shadow: inset 3px 0 0 var(--jj-blue); }.case-list-top { display: grid; grid-template-columns: 5px 1fr auto; align-items: center; gap: 8px; }.case-list-top strong { font: 800 10.5px var(--font-interface); }.priority-marker { width: 5px; height: 26px; border-radius: 99px; background: #91a0b5; }.priority-marker.high { background: var(--jj-danger); }.priority-marker.medium { background: var(--jj-warning); }.priority-marker.low { background: var(--jj-success); }.home-visit-case-list p { margin: 0; color: var(--jj-muted); font-size: 9.5px; }.home-visit-case-list > a > small { color: #465570; font-size: 8.5px; line-height: 1.4; }.case-list-signals { display: flex; flex-wrap: wrap; gap: 5px; }.case-list-signals span { padding: 4px 6px; border-radius: 5px; color: #59677c; background: #edf1f6; font-size: 7.5px; }.case-list-signals span.age { color: #176848; background: #eaf8f1; font-weight: 800; }.case-list-signals span.danger { color: #9d3040; background: #fff0f2; }.case-list-signals span.warning { color: #855400; background: #fff7e8; }
.home-visit-detail { margin-bottom: 18px; overflow: hidden; }.home-visit-detail .detail-heading { padding: 20px 22px; }.home-visit-status-axes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--jj-line); background: #f9fbfe; }.home-visit-status-axes article { min-height: 82px; padding: 16px 18px; border-right: 1px solid var(--jj-line); }.home-visit-status-axes article:last-child { border-right: 0; }.home-visit-status-axes span, .home-visit-status-axes strong { display: block; }.home-visit-status-axes span { color: var(--jj-muted); font-size: 8px; text-transform: uppercase; }.home-visit-status-axes strong { margin-top: 8px; font: 800 10px/1.4 var(--font-interface); }
.home-visit-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; padding: 20px 22px 0; }.home-visit-detail-grid > section { min-width: 0; padding: 17px 18px; border: 1px solid var(--jj-line); border-radius: 12px; background: #fbfcfe; }.home-visit-detail-grid .detail-list { margin-top: 13px; }.matching-grid { padding-top: 16px; }.match-list, .interest-list { display: grid; gap: 9px; margin-top: 13px; }.match-list article { padding: 13px 14px; border: 1px solid var(--jj-line); border-radius: 10px; background: #fff; }.match-list article > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.match-list strong { font: 800 10.5px var(--font-interface); }.match-list p { margin: 7px 0; color: var(--jj-muted); font-size: 8.5px; }.match-list ul { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; padding: 0; list-style: none; }.match-list li { padding: 4px 6px; border-radius: 5px; background: #eef3f9; color: #536177; font-size: 7.5px; }.match-list article > small { display: block; margin-top: 9px; color: var(--jj-warning); font: 700 8px var(--font-interface); }.interest-list article { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 10px; padding: 10px 11px; border: 1px solid var(--jj-line); border-radius: 10px; background: #fff; }.interest-list strong, .interest-list small { display: block; }.interest-list strong { font: 800 10px var(--font-interface); }.interest-list small { margin-top: 4px; color: var(--jj-muted); font-size: 8px; }.policy-lock { display: flex; align-items: flex-start; gap: 11px; margin-top: 13px; padding: 13px 14px; border-left: 4px solid var(--jj-warning); border-radius: 9px; background: #fff6e7; }.policy-lock > span { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 50%; color: #fff; background: var(--jj-warning); font: 800 15px var(--font-interface); }.policy-lock p { margin: 0; }.policy-lock strong, .policy-lock small { display: block; }.policy-lock strong { font: 800 10px var(--font-interface); }.policy-lock small { margin-top: 5px; color: var(--jj-muted); font-size: 8.5px; line-height: 1.5; }
.home-visit-audit { display: grid; grid-template-columns: minmax(230px,.3fr) minmax(0,1fr); gap: 18px; margin: 16px 22px 20px; padding: 15px 17px; border: 1px solid #c9d9ef; border-left: 4px solid var(--jj-cyan); border-radius: 11px; background: #f7faff; }.home-visit-audit > div span, .home-visit-audit > div strong, .home-visit-audit > div small { display: block; }.home-visit-audit > div span { color: var(--jj-muted); font-size: 8px; text-transform: uppercase; }.home-visit-audit > div strong { margin-top: 7px; font: 800 11px var(--font-interface); }.home-visit-audit > div small { margin-top: 5px; color: var(--jj-muted); font-size: 8px; }.home-visit-audit ol { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }.home-visit-audit li { display: grid; grid-template-columns: 120px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 6px 8px; border-radius: 7px; background: #fff; }.home-visit-audit li span, .home-visit-audit li small { color: var(--jj-muted); font-size: 7.5px; }.home-visit-audit li strong { font: 800 8px var(--font-interface); }
.home-visit-placeholder { display: grid; justify-items: center; gap: 7px; margin-bottom: 18px; padding: 25px; text-align: center; }.home-visit-placeholder > span { color: var(--jj-blue); font: 800 8px var(--font-interface); text-transform: uppercase; }.home-visit-placeholder > strong { font: 800 13px var(--font-interface); }.home-visit-placeholder p { max-width: 620px; margin: 0; color: var(--jj-muted); font-size: 9.5px; line-height: 1.5; }
.intake-readiness { margin-bottom: 18px; overflow: hidden; }.intake-flow { display: grid; grid-template-columns: minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr); align-items: center; gap: 5px; padding: 20px 22px; border-top: 1px solid var(--jj-line); }.intake-flow article { display: grid; min-height: 100px; align-content: center; gap: 5px; padding: 14px; border: 1px solid var(--jj-line); border-radius: 11px; background: #fbfcfe; }.intake-flow article span { color: var(--jj-blue); font: 800 8px var(--font-interface); }.intake-flow article strong { font: 800 10.5px var(--font-interface); }.intake-flow article small { color: var(--jj-muted); font-size: 8px; line-height: 1.4; }.intake-flow > i { color: var(--jj-blue); font: 800 18px var(--font-interface); text-align: center; }.intake-readiness > .privacy-note { margin: 0 22px 20px; }

@media (max-width: 1100px) {
  .home-visit-workspace { grid-template-columns: 1fr; }.home-visit-case-list { grid-template-columns: repeat(2,minmax(0,1fr)); max-height: none; }.home-visit-pipeline { grid-template-columns: repeat(5,minmax(150px,1fr)); overflow-x: auto; }.home-visit-filter-panel .home-visit-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }.live-source-filter .home-visit-search { grid-column: 1 / -1; }.intake-flow { grid-template-columns: repeat(5,minmax(145px,1fr)); overflow-x: auto; }.intake-flow > i { display: none; }
}
@media (max-width: 820px) {
  .home-visit-header { align-items: stretch; flex-direction: column; }.prototype-seal { min-width: 0; }.home-visit-boundary { align-items: flex-start; flex-direction: column; }.home-visit-detail-grid, .home-visit-audit { grid-template-columns: 1fr; }.home-visit-status-axes { grid-template-columns: repeat(2,minmax(0,1fr)); }.home-visit-status-axes article:nth-child(2) { border-right: 0; }.home-visit-status-axes article:nth-child(-n+2) { border-bottom: 1px solid var(--jj-line); }.live-map-city-nav { grid-template-columns: 1fr auto; }.live-map-city-buttons { grid-column: 1 / -1; grid-row: 2; width: 100%; }.live-map-place-search { grid-template-columns: 1fr auto; }.live-map-place-search__selection { grid-column: 1; }.synthetic-map { min-height: 410px; }.google-live-map { min-height: 500px; }.map-legend small { width: 100%; margin-left: 0; }
}
@media (max-width: 560px) {
  .metric-grid.five.home-visit-metrics { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; scrollbar-width: none; }.home-visit-metrics .metric-card { scroll-snap-align: start; }.home-visit-filter-panel .home-visit-filters, .home-visit-case-list, .home-visit-status-axes { grid-template-columns: 1fr; }.home-visit-filters button, .map-layer-toggles,.live-source-filter .home-visit-search { grid-column: span 1; }.map-layer-toggles { min-width: 0; justify-content: space-between; }.live-map-layer-toggles { grid-template-columns: 1fr; }.live-map-city-nav { gap: 9px; padding: 10px 13px; }.live-map-city-buttons { grid-template-columns: repeat(2,minmax(0,1fr)); }.live-map-place-search { padding: 10px 13px; }.live-map-place-search__field,.live-map-place-search__selection { grid-column: 1 / -1; }.live-map-place-search__clear { grid-column: 2; grid-row: 2; }.home-visit-status-axes article { border-right: 0; border-bottom: 1px solid var(--jj-line); }.home-visit-status-axes article:last-child { border-bottom: 0; }.home-visit-detail-grid { padding-inline: 15px; }.home-visit-audit { margin-inline: 15px; }.home-visit-audit li { grid-template-columns: 1fr; }.synthetic-map { min-height: 370px; }.google-live-map { min-height: 420px; }.map-pin > small { display: none; }.map-detail-popover { width: 190px; transform: translate(-50%,-112%); }.intake-flow { padding-inline: 15px; }.intake-readiness > .privacy-note { margin-inline: 15px; }
}

/* Authenticated admin projection foundation */
.projection-security-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }.projection-security-header > div { max-width: 780px; }
.projection-readiness-seal { display: grid; min-width: 250px; gap: 4px; padding: 14px 16px; border: 1px solid #b9d1f5; border-left: 4px solid var(--jj-blue); border-radius: 12px; background: linear-gradient(115deg,#edf5ff,#fff); }.projection-readiness-seal span { color: var(--jj-blue); font: 800 8px var(--font-interface); letter-spacing: .08em; text-transform: uppercase; }.projection-readiness-seal strong { font: 800 12px var(--font-interface); }.projection-readiness-seal small { color: var(--jj-muted); font-size: 9px; line-height: 1.4; }
.projection-security-boundary { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 13px; margin: 18px 0; padding: 14px 17px; border: 1px solid #efc6cc; border-left: 4px solid var(--jj-danger); border-radius: 12px; background: #fff7f8; }.projection-security-boundary > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fff; background: var(--jj-danger); font: 800 12px var(--font-interface); }.projection-security-boundary strong { font: 800 11px var(--font-interface); }.projection-security-boundary p { margin: 4px 0 0; color: var(--jj-muted); font-size: 9px; line-height: 1.5; }
.projection-security-metrics .metric-card { min-height: 112px; }
.identity-decision-panel { overflow: hidden; }.identity-decision-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin: 0 -1px; background: var(--jj-border); border-top: 1px solid var(--jj-border); border-bottom: 1px solid var(--jj-border); }.identity-decision-grid > article { position: relative; padding: 24px; background: #fff; }.identity-decision-index { position: absolute; top: 19px; right: 20px; color: #dbe4f8; font: 900 34px var(--font-interface); }.identity-decision-grid article > small { color: var(--jj-blue); font: 800 9px var(--font-interface); letter-spacing: .08em; }.identity-decision-grid h3 { margin: 8px 0 6px; font: 800 18px var(--font-interface); }.identity-decision-grid p { max-width: 560px; margin: 0 0 15px; color: var(--jj-muted); font-size: 10px; line-height: 1.55; }.identity-decision-grid dl { display: grid; gap: 7px; margin: 0; }.identity-decision-grid dl div { display: grid; grid-template-columns: 86px 1fr; gap: 10px; }.identity-decision-grid dt { color: var(--jj-muted); font: 700 9px var(--font-interface); }.identity-decision-grid dd { margin: 0; font: 700 9px var(--font-interface); }.identity-principle-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--jj-border); }.identity-principle-row > div { display: grid; gap: 4px; padding: 13px 16px; background: #f8faff; }.identity-principle-row small { color: var(--jj-muted); font: 700 8px var(--font-interface); text-transform: uppercase; letter-spacing: .05em; }.identity-principle-row strong { font: 700 9px/1.4 var(--font-interface); }.identity-gate-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--jj-border); }.identity-gate-grid article { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 11px; padding: 13px 16px; background: #fff; }.identity-gate-grid article > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #9c6b00; background: #fff1c7; font: 800 8px var(--font-interface); }.identity-gate-grid strong,.identity-gate-grid small { display: block; }.identity-gate-grid strong { font: 750 9px/1.35 var(--font-interface); }.identity-gate-grid small { margin-top: 3px; color: var(--jj-muted); font-size: 8px; }
.historical-technical-reference { margin:16px 0; border:1px solid var(--jj-border); border-radius:12px; background:#f8faff; }.historical-technical-reference > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 18px; cursor:pointer; list-style:none; }.historical-technical-reference > summary::-webkit-details-marker { display:none; }.historical-technical-reference > summary strong { font:800 10px var(--font-interface); }.historical-technical-reference > summary span { color:var(--jj-muted); font-size:8px; }.historical-technical-reference[open] > summary { border-bottom:1px solid var(--jj-border); }.historical-technical-reference > .panel { margin:14px; }
.oidc-adapter-panel { overflow:hidden; }.oidc-adapter-panel .panel-heading p { max-width:760px; margin:5px 0 0; color:var(--jj-muted); font-size:9px; line-height:1.5; }.oidc-adapter-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; border-block:1px solid var(--jj-line); background:var(--jj-line); }.oidc-adapter-summary article { display:grid; gap:4px; padding:14px 16px; background:#f9fbfe; }.oidc-adapter-summary span { color:var(--jj-muted); font:700 7.5px var(--font-interface); text-transform:uppercase; }.oidc-adapter-summary strong { color:var(--jj-deep); font:900 18px var(--font-interface); }.oidc-adapter-summary small { color:var(--jj-muted); font-size:7.5px; line-height:1.35; }.oidc-local-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0; padding:17px; list-style:none; }.oidc-local-flow li { display:grid; grid-template-columns:27px minmax(0,1fr); align-items:center; gap:9px; min-height:66px; padding:10px; border:1px solid var(--jj-line); border-radius:9px; background:#fff; }.oidc-local-flow li > span { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; color:#fff; background:var(--jj-blue); font:800 7px var(--font-interface); }.oidc-local-flow strong { font:750 8px/1.4 var(--font-interface); }.oidc-component-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--jj-line); border-top:1px solid var(--jj-line); }.oidc-component-grid article { display:grid; grid-template-columns:28px minmax(0,1fr); align-items:center; gap:9px; min-height:68px; padding:11px 13px; background:#fff; }.oidc-component-grid article > span { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; color:#fff; background:var(--jj-success); font:800 10px var(--font-interface); }.oidc-component-grid article.pending > span { color:#8a5b00; background:#fff0c2; }.oidc-component-grid strong,.oidc-component-grid small { display:block; }.oidc-component-grid strong { font:800 8.5px/1.35 var(--font-interface); }.oidc-component-grid small { margin-top:4px; color:var(--jj-muted); font-size:7px; line-height:1.35; }
.readiness-cockpit { overflow:hidden; }
.readiness-cockpit-head { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 22px; background:linear-gradient(120deg,#f8fbff,#fff); }
.readiness-cockpit-head h2 { margin:4px 0 5px; font:850 19px var(--font-interface); }
.readiness-cockpit-head p:not(.eyebrow) { max-width:720px; margin:0; color:var(--jj-muted); font-size:9px; line-height:1.55; }
.readiness-score { display:grid; min-width:116px; padding:13px 16px; border:1px solid #cfe0fa; border-radius:12px; background:#fff; text-align:center; }
.readiness-score strong { color:var(--jj-blue); font:900 25px var(--font-interface); }
.readiness-score strong span { color:#8fa1bb; font-size:13px; }
.readiness-score small { margin-top:3px; color:var(--jj-muted); font:700 7.5px var(--font-interface); text-transform:uppercase; }
.readiness-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; border-block:1px solid var(--jj-line); background:var(--jj-line); }
.readiness-summary article { display:grid; gap:3px; padding:13px 16px; background:#fbfcfe; }
.readiness-summary span { color:var(--jj-muted); font:750 7px var(--font-interface); text-transform:uppercase; }
.readiness-summary strong { color:var(--jj-deep); font:900 18px var(--font-interface); }
.readiness-summary small { color:var(--jj-muted); font-size:7px; }
.readiness-summary .ready strong { color:var(--jj-success); }.readiness-summary .conditional strong { color:#b97a00; }.readiness-summary .blocked strong { color:var(--jj-danger); }
.readiness-foundation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:17px; border-bottom:1px solid var(--jj-line); background:#f8faff; }
.readiness-foundation-grid > article { min-width:0; padding:15px; border:1px solid var(--jj-line); border-radius:11px; background:#fff; box-shadow:0 4px 12px rgba(35,58,96,.035); }
.readiness-foundation-grid header { display:flex; align-items:center; gap:10px; padding-bottom:11px; border-bottom:1px solid #edf1f7; }
.readiness-foundation-grid header > span { display:grid; width:32px; height:32px; flex:0 0 32px; place-items:center; border-radius:9px; color:#fff; background:linear-gradient(135deg,var(--jj-blue),#6e56cf); font:850 8px var(--font-interface); }
.readiness-foundation-grid header small,.readiness-foundation-grid header strong { display:block; }.readiness-foundation-grid header small { color:var(--jj-muted); font:700 7px var(--font-interface); text-transform:uppercase; }.readiness-foundation-grid header strong { margin-top:3px; overflow-wrap:anywhere; font:850 10px var(--font-interface); }
.readiness-foundation-grid dl { display:grid; gap:7px; margin:11px 0 0; }.readiness-foundation-grid dl div { display:grid; grid-template-columns:84px minmax(0,1fr); gap:9px; }.readiness-foundation-grid dt { color:var(--jj-muted); font:700 7.5px var(--font-interface); }.readiness-foundation-grid dd { margin:0; font:700 8px/1.4 var(--font-interface); }.danger-text { color:#a52e41; }
.readiness-area-grid { column-count:2; column-gap:12px; padding:17px 17px 5px; }
.readiness-area-grid > article { overflow:hidden; break-inside:avoid; margin:0 0 12px; border:1px solid var(--jj-line); border-radius:11px; background:#fff; }
.readiness-area-grid article > header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; border-bottom:1px solid var(--jj-line); background:#fafcff; }
.readiness-area-grid header small,.readiness-area-grid header strong { display:block; }.readiness-area-grid header small { color:var(--jj-blue); font:800 7px var(--font-interface); text-transform:uppercase; }.readiness-area-grid header strong { margin-top:3px; font:850 10px var(--font-interface); }.readiness-area-grid header > span { padding:5px 7px; border-radius:6px; color:#6c7788; background:#edf2f8; font:800 7px var(--font-interface); }
.readiness-area-grid ul { margin:0; padding:0; list-style:none; }.readiness-area-grid li { display:grid; grid-template-columns:10px minmax(0,1fr) auto; align-items:center; gap:9px; padding:10px 13px; border-bottom:1px solid #eef2f7; }.readiness-area-grid li:last-child { border-bottom:0; }.readiness-area-grid li strong,.readiness-area-grid li small { display:block; }.readiness-area-grid li strong { font:800 8.5px/1.35 var(--font-interface); }.readiness-area-grid li small { margin-top:3px; color:var(--jj-muted); font-size:7px; line-height:1.4; }.readiness-area-grid li > b { padding:4px 6px; border-radius:5px; font:800 6.5px var(--font-interface); white-space:nowrap; }.readiness-area-grid li > b.positive { color:#087854; background:#e4f7ef; }.readiness-area-grid li > b.warning { color:#8c5e00; background:#fff1c7; }.readiness-area-grid li > b.neutral { color:#586577; background:#edf2f8; }.readiness-area-grid li > b.danger { color:#a52e41; background:#ffe8eb; }
.status-dot { display:block; width:7px; height:7px; border-radius:50%; background:#8d9aab; }.status-dot.positive { background:var(--jj-success); }.status-dot.warning { background:#e3a51f; }.status-dot.danger { background:var(--jj-danger); }
.readiness-roadmap-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; padding:17px 20px 10px; border-top:1px solid var(--jj-line); }.readiness-roadmap-head h3 { margin:4px 0 0; font:850 13px var(--font-interface); }.readiness-roadmap-head > span { color:var(--jj-muted); font:700 7.5px var(--font-interface); }
.readiness-roadmap { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:0; padding:10px 17px 18px; list-style:none; }.readiness-roadmap li { position:relative; display:grid; grid-template-columns:25px minmax(0,1fr); align-items:start; gap:8px; min-height:81px; padding:11px; border:1px solid var(--jj-line); border-radius:9px; background:#fbfcfe; }.readiness-roadmap li > span { display:grid; width:23px; height:23px; place-items:center; border-radius:50%; color:#fff; background:var(--jj-blue); font:850 7px var(--font-interface); }.readiness-roadmap li.approval > span { color:#8c5e00; background:#fff0c2; }.readiness-roadmap small,.readiness-roadmap strong,.readiness-roadmap em { display:block; }.readiness-roadmap small { color:var(--jj-blue); font:800 6px var(--font-interface); text-transform:uppercase; }.readiness-roadmap strong { margin-top:4px; font:800 8px/1.35 var(--font-interface); }.readiness-roadmap em { margin-top:5px; color:var(--jj-muted); font:normal 6.5px/1.35 var(--font-interface); }
.projection-chain-panel { overflow: hidden; }.projection-chain { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); margin: 0; padding: 18px; list-style: none; }.projection-chain li { position: relative; display: grid; min-height: 106px; align-content: start; gap: 10px; padding: 13px 15px; border: 1px solid var(--jj-line); border-right: 0; background: #fbfcfe; }.projection-chain li:first-child { border-radius: 11px 0 0 11px; }.projection-chain li:last-child { border-right: 1px solid var(--jj-line); border-radius: 0 11px 11px 0; }.projection-chain li::after { position: absolute; top: 26px; right: -6px; z-index: 2; width: 11px; height: 11px; border-top: 1px solid var(--jj-line); border-right: 1px solid var(--jj-line); background: #fbfcfe; content: ''; transform: rotate(45deg); }.projection-chain li:last-child::after { display: none; }.projection-chain li > span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: #fff; background: #8b98aa; font: 800 9px var(--font-interface); }.projection-chain li.enforced > span { background: var(--jj-success); }.projection-chain strong,.projection-chain small { display: block; }.projection-chain strong { font: 800 10px/1.4 var(--font-interface); }.projection-chain small { margin-top: 5px; color: var(--jj-muted); font-size: 8px; line-height: 1.45; }
.projection-chain.auth-runtime-chain { grid-template-columns: repeat(7,minmax(0,1fr)); }
.projection-role-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; padding: 18px; border-top: 1px solid var(--jj-line); }.projection-role-grid > article { min-width: 0; padding: 15px; border: 1px solid var(--jj-line); border-radius: 11px; background: #fbfcfe; }.projection-role-grid header { display: flex; align-items: center; gap: 10px; }.projection-role-grid header > span { display: grid; width: 31px; height: 31px; flex: 0 0 31px; place-items: center; border-radius: 9px; color: #fff; background: linear-gradient(135deg,var(--jj-blue),#7652cc); font: 800 10px var(--font-interface); }.projection-role-grid strong,.projection-role-grid small { display: block; }.projection-role-grid strong { font: 800 10.5px var(--font-interface); }.projection-role-grid small { margin-top: 3px; color: var(--jj-muted); font-size: 8px; }.projection-role-grid p { margin: 13px 0 9px; color: var(--jj-muted); font-size: 9px; }.projection-role-grid p b { color: var(--jj-deep); font: 800 15px var(--font-interface); }.projection-role-grid article > div { display: flex; flex-wrap: wrap; gap: 5px; }.projection-role-grid article > div > span { max-width: 100%; overflow: hidden; padding: 4px 6px; border-radius: 5px; color: #536177; background: #edf2f8; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.projection-register { min-width: 1180px; }.projection-register th,.projection-register td { vertical-align: top; }.projection-register strong,.projection-register small { display: block; }.projection-register td small,.projection-register th small { max-width: 380px; margin-top: 5px; color: var(--jj-muted); font-size: 8.5px; line-height: 1.45; overflow-wrap: anywhere; }
.authorization-case-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 18px; border-top: 1px solid var(--jj-line); }.authorization-case-grid article { overflow: hidden; border: 1px solid var(--jj-line); border-left: 4px solid var(--jj-success); border-radius: 11px; background: #fff; }.authorization-case-grid article.denied { border-left-color: var(--jj-danger); }.authorization-case-grid header { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 10px; padding: 13px 14px; background: #fbfcfe; }.authorization-case-grid header > span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; color: #fff; background: var(--jj-success); font: 800 12px var(--font-interface); }.authorization-case-grid .denied header > span { background: var(--jj-danger); }.authorization-case-grid header strong,.authorization-case-grid header small { display: block; }.authorization-case-grid header strong { margin-top: 3px; font: 800 10.5px var(--font-interface); }.authorization-case-grid header small { color: var(--jj-muted); font-size: 7.5px; }.authorization-case-grid header b { color: var(--jj-success); font: 800 8px var(--font-interface); text-transform: uppercase; }.authorization-case-grid .denied header b { color: var(--jj-danger); }.authorization-case-grid p { margin: 0; padding: 10px 14px; color: var(--jj-muted); font-size: 9px; }.authorization-case-grid footer { display: flex; justify-content: space-between; gap: 12px; padding: 9px 14px; border-top: 1px solid var(--jj-line); background: #fbfcfe; }.authorization-case-grid footer span,.authorization-case-grid footer small { color: var(--jj-muted); font-size: 7.5px; }
.projection-blocked-panel { display: grid; grid-template-columns: minmax(260px,.42fr) minmax(0,1fr); gap: 22px; margin-bottom: 18px; padding: 20px 22px; border: 1px solid #efc5cb; border-radius: 13px; background: #fff8f8; }.projection-blocked-panel h2 { margin: 3px 0 7px; font: 800 14px var(--font-interface); }.projection-blocked-panel p { margin: 0; color: var(--jj-muted); font-size: 9px; line-height: 1.5; }.projection-blocked-panel > div:last-child { display: flex; align-content: flex-start; flex-wrap: wrap; gap: 7px; }.projection-blocked-panel > div:last-child span { padding: 6px 8px; border: 1px solid #efc5cb; border-radius: 7px; color: #9d3141; background: #fff; font: 800 7.5px var(--font-interface); }

@media (max-width: 1100px) {
  .projection-chain,.projection-chain.auth-runtime-chain { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }.projection-chain li,.projection-chain li:first-child,.projection-chain li:last-child { border: 1px solid var(--jj-line); border-radius: 9px; }.projection-chain li::after { display: none; }.projection-role-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.oidc-local-flow,.oidc-component-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.readiness-roadmap { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .projection-security-header { align-items: stretch; flex-direction: column; }.projection-readiness-seal { min-width: 0; }.projection-blocked-panel { grid-template-columns: 1fr; }.identity-decision-grid,.identity-gate-grid { grid-template-columns: 1fr; }.identity-principle-row { grid-template-columns: repeat(2,minmax(0,1fr)); }.oidc-adapter-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.readiness-cockpit-head { align-items:flex-start; }.readiness-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }.readiness-foundation-grid { grid-template-columns:1fr; }.readiness-area-grid { column-count:1; }
}
@media (max-width: 560px) {
  .metric-grid.five.projection-security-metrics { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; scrollbar-width: none; }.projection-security-metrics .metric-card { scroll-snap-align: start; }.projection-chain,.projection-role-grid,.authorization-case-grid { grid-template-columns: 1fr; }.projection-chain { padding: 13px; }.projection-role-grid,.authorization-case-grid { padding: 13px; }.authorization-case-grid header { grid-template-columns: 28px 1fr; }.authorization-case-grid header b { grid-column: 2; }.authorization-case-grid footer { align-items: flex-start; flex-direction: column; }.oidc-local-flow,.oidc-component-grid { grid-template-columns:1fr; }.oidc-local-flow { padding:13px; }.readiness-cockpit-head { flex-direction:column; }.readiness-score { min-width:0; width:100%; box-sizing:border-box; }.readiness-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.readiness-summary article:last-child { grid-column:1/-1; }.readiness-foundation-grid,.readiness-area-grid { padding:12px; }.readiness-foundation-grid dl div { grid-template-columns:72px minmax(0,1fr); }.readiness-area-grid li { grid-template-columns:9px minmax(0,1fr); }.readiness-area-grid li > b { grid-column:2; justify-self:start; }.readiness-roadmap-head { align-items:flex-start; flex-direction:column; }.readiness-roadmap { grid-template-columns:1fr; padding:10px 12px 16px; }
}
.native-persistence-panel{display:grid;gap:22px;overflow:hidden}
.native-persistence-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.native-persistence-summary article{padding:17px 18px;border:1px solid #dce7f4;border-radius:14px;background:linear-gradient(145deg,#f8fbff,#fff);display:grid;gap:3px}
.native-persistence-summary span,.native-persistence-summary small{color:#60738a;font-size:12px}
.native-persistence-summary strong{color:#102f55;font-size:26px;line-height:1.1}
.native-workstream-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.native-workstream-grid li{display:grid;grid-template-columns:46px 1fr;gap:13px;padding:18px;border:1px solid #dbe6f2;border-radius:15px;background:#fff}
.native-workstream-grid li:last-child{grid-column:1/-1}
.native-workstream-grid>li>span{width:42px;height:42px;border-radius:12px;background:#e8f7ef;color:#14734a;display:grid;place-items:center;font-size:13px;font-weight:800}
.native-workstream-grid div{display:grid;gap:4px}
.native-workstream-grid small{color:#168256;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.native-workstream-grid strong{color:#15375e;font-size:15px}
.native-workstream-grid p{margin:0;color:#617187;font-size:13px;line-height:1.5}
.native-approval-gate{display:grid;grid-template-columns:76px 1fr;gap:18px;padding:20px;border:1px solid #f0d6a1;border-radius:16px;background:linear-gradient(135deg,#fffaf0,#fff)}
.native-approval-gate>span{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#f3a925;color:#fff;font-weight:850;font-size:16px}
.native-approval-gate div{display:grid;align-content:center;gap:3px}
.native-approval-gate small{color:#a76300;font-weight:800;letter-spacing:.08em}
.native-approval-gate strong{color:#563c12;font-size:16px}
.native-approval-gate p{margin:0;color:#776546;font-size:13px}
@media(max-width:900px){.native-persistence-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.native-workstream-grid{grid-template-columns:1fr}.native-workstream-grid li:last-child{grid-column:auto}}
@media(max-width:600px){.native-persistence-summary{grid-template-columns:1fr 1fr}.native-persistence-summary article{padding:14px}.native-workstream-grid li{grid-template-columns:38px 1fr;padding:15px}.native-workstream-grid>li>span{width:36px;height:36px}.native-approval-gate{grid-template-columns:1fr}.native-approval-gate>span{width:auto;height:auto;border-radius:10px;padding:9px 12px;justify-self:start}}
/* STEP3 teacher and customer self-service portals */
.self-service-mode{display:flex;align-items:center;gap:14px;margin:0 0 22px;padding:12px 16px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;color:#193766;font-size:13px}.self-service-mode strong{flex:0 0 auto;color:#075fe4}.self-service-mode span{color:#526784}.command-feedback{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:14px 17px;border-radius:15px;border:1px solid}.command-feedback.positive{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.command-feedback.danger{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.command-feedback form{margin-left:auto}.command-feedback .button{white-space:nowrap}.self-service-metrics .metric-card{min-height:132px}.attention-card{border-color:#f5ca71!important;background:linear-gradient(145deg,#fff,#fffaf0)!important}.portal-two-column{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:22px;margin-bottom:22px}.panel+.panel{margin-top:0}.timeline-list,.attention-list,.schedule-stream,.message-thread,.absence-list{display:grid}.timeline-list article{display:grid;grid-template-columns:145px minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.timeline-list article:last-child{border-bottom:0}.timeline-list time{font-weight:700;color:#1e3a5f}.timeline-list article div{display:grid;gap:4px}.timeline-list article span:not(.status){font-size:13px;color:var(--muted)}.attention-list a{display:flex;align-items:center;gap:13px;padding:14px 0;color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}.attention-list a:last-child{border:0}.attention-list a:hover strong{color:var(--blue)}.attention-list a div{display:grid;gap:4px}.attention-list small{color:var(--muted)}.attention-icon,.message-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#e9f2ff;color:#075fe4;font-size:12px;font-weight:800}.event-card-grid,.document-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.event-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfdff}.event-card h3{margin:14px 0 6px;font-size:17px}.event-card p,.event-card small{margin:0;color:var(--muted)}.schedule-row{display:grid;grid-template-columns:145px minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 4px;border-bottom:1px solid var(--line)}.schedule-row:last-child{border-bottom:0}.schedule-row time{display:grid;gap:4px}.schedule-row time span{font-size:13px;color:var(--muted)}.schedule-row h3{margin:0 0 5px;font-size:17px}.schedule-row p{margin:0;color:var(--muted);font-size:14px}.schedule-row.secondary{background:#f8fbff;border-radius:12px;padding-inline:14px}.relation-grid,.opportunity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.relation-card,.opportunity-card{margin:0}.relation-history{margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.relation-history h3{margin:0 0 12px;font-size:14px}.relation-history p{display:flex;justify-content:space-between;margin:0;padding:9px 0;border-top:1px dashed #dce6f2;font-size:13px}.relation-history p span{color:var(--muted)}.submission-stage{margin-bottom:18px;padding:14px 18px;border:1px solid #cfdded;border-radius:16px;background:#fff}.submission-stage>div{display:flex;gap:6px}.submission-stage span{flex:1;padding:10px 12px;border-radius:10px;background:#f2f5f9;color:#8190a3;font-size:12px;font-weight:750;text-align:center}.submission-stage span.active{background:#eaf3ff;color:#075fe4}.submission-layout{align-items:start}.portal-form{display:grid;gap:15px}.portal-form label,.inline-command-form label{display:grid;gap:7px}.portal-form label>span,.inline-command-form label>span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#60748f}.portal-form input,.portal-form select,.portal-form textarea,.inline-command-form input,.inline-command-form select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd9e8;border-radius:11px;background:#fff;color:#142944;font:inherit}.portal-form textarea{resize:vertical}.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus,.inline-command-form input:focus,.inline-command-form select:focus{outline:3px solid rgba(11,111,255,.18);border-color:#0b6fff}.portal-form input:disabled{background:#f2f5f8;color:#74849a}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-actions{display:flex;justify-content:flex-end}.form-insight{display:flex;gap:18px;padding:12px 14px;border-radius:11px;background:#f4f8fc;color:#61738a;font-size:13px}.compact-command{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-top:18px;padding:16px;border:1px solid #bcd7ff;border-radius:14px;background:#f3f8ff}.compact-command strong{color:#075fe4}.compact-command p{margin:4px 0 0;color:var(--muted);font-size:13px}.locked-state{display:flex;align-items:center;gap:14px;padding:22px;border:1px solid #b7e4d3;border-radius:15px;background:#effbf6}.locked-state>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#0d9668;color:#fff}.locked-state p{margin:4px 0 0;color:#527064}.check-list{display:grid;gap:11px;margin:0;padding:0;list-style:none}.check-list li{position:relative;padding:10px 12px 10px 38px;border-radius:10px;background:#f5f7fa;color:#50647e}.check-list li:before{content:'·';position:absolute;left:14px;top:8px;font-size:22px}.check-list li.done{background:#effaf6;color:#176b52}.check-list li.done:before{content:'✓';font-size:15px;top:10px}.check-list li.attention{background:#fff8e8;color:#855b09}.boundary-box{margin-top:18px;padding:16px;border-radius:13px;background:#102d5b;color:#fff}.boundary-box p{margin:5px 0 0;color:#ccdaee;font-size:13px}.version-timeline{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}.version-timeline article{display:flex;align-items:center;gap:10px;min-width:180px;padding:13px;border:1px solid var(--line);border-radius:12px}.version-timeline article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#e9f2ff;color:#075fe4;font-weight:800}.version-timeline article div{display:grid;gap:3px}.version-timeline small{color:var(--muted)}.settlement-grid{display:grid;gap:15px}.settlement-grid>article{padding:18px;border:1px solid var(--line);border-radius:16px}.settlement-grid header{display:flex;justify-content:space-between;align-items:start}.settlement-grid header div{display:grid;gap:3px}.settlement-grid header strong{font-size:25px;color:#102d5b}.settlement-grid dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0 0}.settlement-grid dl div{padding:12px;border-radius:10px;background:#f5f8fc}.settlement-grid dt{font-size:11px;color:var(--muted)}.settlement-grid dd{margin:4px 0 0;font-size:13px;font-weight:700}.interest-state{display:flex;align-items:center;gap:12px;margin-top:17px;padding:13px;border-radius:12px;background:#effaf6}.interest-state>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#0d9668;color:#fff}.interest-state>div{display:grid;gap:2px;flex:1}.interest-state small{color:#527064}.message-thread article{display:flex;align-items:start;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}.message-thread article>div{display:grid;gap:6px;flex:1}.message-thread header{display:flex;justify-content:space-between;align-items:center;gap:10px}.message-thread p,.message-thread small{margin:0;color:var(--muted);font-size:13px}.profile-layout{align-items:start}.document-status-grid article{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:13px}.document-status-grid article>div{display:grid;gap:4px;flex:1}.document-status-grid small{color:var(--muted)}.document-icon{display:grid;place-items:center;width:35px;height:40px;border-radius:8px;background:#eaf3ff;color:#075fe4;font-weight:800}.upload-form{grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr) auto;align-items:end;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.upload-form label small{color:var(--muted);font-size:11px;text-transform:none;letter-spacing:0}.absence-list>article{padding:18px 0;border-bottom:1px solid var(--line)}.absence-list>article>div{display:flex;justify-content:space-between;gap:14px;margin-bottom:13px}.absence-list time{color:var(--muted)}.inline-command-form{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(220px,1fr) auto;align-items:end;gap:12px}.danger-button{background:#b42338!important;border-color:#b42338!important;color:#fff!important}.scope-chip{white-space:nowrap}
.family-list,.payment-list,.session-list{display:grid}.family-list article,.payment-list article,.session-list article{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid var(--line)}.family-list article:last-child,.payment-list article:last-child,.session-list article:last-child{border-bottom:0}.family-list article>div,.payment-list article>div,.session-list article>div{display:grid;gap:4px;flex:1}.family-list small,.payment-list small,.session-list small{color:var(--muted)}.family-avatar,.session-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e7f8f7;color:#07837c;font-weight:800}.student-grid,.contract-grid,.invoice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.student-card,.contract-card,.invoice-card{margin:0}.student-relation{display:grid;gap:4px;margin-top:16px;padding:14px;border-radius:12px;background:#f3f8ff}.student-relation span,.student-relation small{font-size:13px;color:var(--muted)}.lesson-request-list{display:grid;gap:18px}.lesson-request-card{margin:0}.lesson-event-summary{display:flex;justify-content:space-between;align-items:start;gap:18px}.lesson-event-summary h2{margin:4px 0 7px}.lesson-event-summary div>span{color:var(--muted)}.lesson-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.lesson-actions details,.request-drawer{border:1px solid #ccdbea;border-radius:13px;background:#fbfdff}.lesson-actions summary,.request-drawer summary{padding:13px 15px;color:#075fe4;font-weight:750;cursor:pointer}.lesson-actions form,.request-drawer form{padding:2px 15px 16px}.rule-preview{padding:13px;border-radius:11px;background:#fff8e8;color:#714e0c}.rule-preview p{margin:5px 0 0;font-size:13px}.request-received{display:flex;align-items:center;gap:13px;margin-top:18px;padding:14px;border-radius:12px;background:#effbf6}.request-received>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#0c9568;color:#fff}.request-received p{margin:4px 0 0;color:#527064}.rules-plain-language{margin:22px 0;padding:24px;border-radius:18px;background:#102d5b;color:#fff}.rules-plain-language h2{margin:0 0 17px}.rules-plain-language>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rules-plain-language article{padding:15px;border-radius:13px;background:rgba(255,255,255,.08)}.rules-plain-language p{margin:7px 0 0;color:#cfdaea;font-size:13px;line-height:1.5}.contract-documents{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.contract-documents h3{margin:0 0 11px;font-size:14px}.contract-documents>a{display:flex;align-items:center;gap:11px;padding:11px;border-radius:11px;background:#f3f8ff;color:inherit;text-decoration:none}.contract-documents>a div{display:grid;gap:3px}.contract-documents>a small{color:var(--muted)}.empty-inline{color:var(--muted);font-size:13px}.request-drawer{margin-top:16px}.finance-axis-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}.finance-axis-strip article{display:grid;gap:4px;padding:14px;border:1px solid #cfdded;border-radius:13px;background:#fff}.finance-axis-strip span{font-size:11px;font-weight:800;text-transform:uppercase;color:#71849b}.finance-axis-strip strong{font-size:14px}.invoice-card header{display:flex;justify-content:space-between;align-items:start}.invoice-card h2{margin:5px 0 0}.invoice-total{font-size:27px;color:#102d5b}.invoice-status-line{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}.invoice-status-line>span:not(.status){padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#60738a;font-size:12px}.invoice-positions{margin-top:16px;padding:13px;border-radius:12px;background:#f7f9fc}.invoice-positions p{display:flex;justify-content:space-between;margin:0;padding:7px 0;border-bottom:1px solid #e5ebf2}.invoice-positions p:last-child{border-bottom:0}.message-avatar.customer{background:#e8fbf5;color:#087b59}.portal-form label small{color:var(--muted);font-size:12px;line-height:1.45;text-transform:none;letter-spacing:0}.process-list{display:grid;gap:15px;margin:0;padding:0;list-style:none}.process-list li{display:flex;align-items:flex-start;gap:12px}.process-list li>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#e9f2ff;color:#075fe4;font-weight:800}.process-list p{margin:4px 0 0;color:var(--muted);font-size:13px}
@media(max-width:1050px){.portal-two-column,.relation-grid,.opportunity-grid,.student-grid,.contract-grid,.invoice-grid{grid-template-columns:1fr}.settlement-grid dl{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-form,.inline-command-form{grid-template-columns:1fr 1fr}.upload-form .button,.inline-command-form .button{grid-column:1/-1}.rules-plain-language>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.self-service-header{align-items:flex-start}.self-service-mode{align-items:flex-start;flex-direction:column}.timeline-list article,.schedule-row{grid-template-columns:1fr;gap:9px}.timeline-list article .status,.schedule-row .status{justify-self:start}.event-card-grid,.document-status-grid,.form-grid,.lesson-actions,.finance-axis-strip{grid-template-columns:1fr}.submission-stage{overflow-x:auto}.submission-stage>div{min-width:570px}.compact-command,.upload-form,.inline-command-form{grid-template-columns:1fr}.form-insight{flex-direction:column;gap:6px}.settlement-grid dl{grid-template-columns:1fr}.interest-state{align-items:flex-start;flex-wrap:wrap}.interest-state form{width:100%}.absence-list>article>div{flex-direction:column}.message-thread header,.lesson-event-summary{align-items:flex-start;flex-direction:column}.command-feedback{align-items:flex-start;flex-direction:column}.command-feedback form{margin:0;width:100%}.command-feedback .button{width:100%}.rules-plain-language>div{grid-template-columns:1fr}.invoice-card header{gap:10px;flex-direction:column}.invoice-total{font-size:23px}}
.self-service-login-page{margin:0;min-height:100vh;background:#f3f7fd;color:#081c3a;font-family:var(--font-body,Arial,sans-serif)}
.self-service-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(300px,.92fr) minmax(420px,1.08fr)}
.self-service-login-brand{background:linear-gradient(145deg,#061e58 0%,#0739bf 64%,#096cf1 100%);padding:clamp(42px,7vw,108px);color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.self-service-login-brand:after{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(255,255,255,.17);border-radius:50%;right:-210px;bottom:-170px;box-shadow:0 0 0 74px rgba(255,255,255,.035),0 0 0 150px rgba(255,255,255,.025)}
.self-service-login-brand img{width:min(310px,70%);height:auto;margin-bottom:70px;position:relative;z-index:1}
.self-service-login-brand p{font-size:13px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:#89cfff;margin:0 0 16px}
.self-service-login-brand h1{font-size:clamp(36px,4.8vw,68px);line-height:1.02;max-width:620px;margin:0 0 24px;letter-spacing:-.045em}
.self-service-login-brand span{font-size:18px;color:#d9e8ff;max-width:480px;line-height:1.6}
.self-service-login-card{align-self:center;justify-self:center;width:min(520px,calc(100% - 64px));background:#fff;border:1px solid #d9e4f3;border-radius:28px;padding:42px;box-shadow:0 24px 80px rgba(20,55,103,.13)}
.login-card-heading{display:flex;align-items:center;gap:18px;margin-bottom:28px}.login-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#0868ed;color:#fff;font-size:15px;font-weight:900}.login-card-heading p{font-size:11px;font-weight:900;letter-spacing:.16em;color:#0873f6;margin:0 0 5px}.login-card-heading h2{margin:0;font-size:29px}
.login-portal-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f2f6fc;padding:5px;border-radius:14px;margin:0 0 22px}.login-portal-tabs a{text-align:center;text-decoration:none;color:#52627a;font-weight:800;padding:11px;border-radius:10px}.login-portal-tabs a[aria-current=page]{background:#fff;color:#075fdc;box-shadow:0 3px 12px rgba(25,67,124,.11)}
.self-service-login-card form{display:grid;gap:17px}.self-service-login-card label{display:grid;gap:7px}.self-service-login-card label span{font-size:12px;font-weight:800;color:#263f62}.self-service-login-card input{height:50px;border:1px solid #c8d6e9;border-radius:12px;padding:0 14px;font:inherit;background:#fff}.self-service-login-card input:focus{outline:3px solid rgba(8,104,237,.14);border-color:#0868ed}.self-service-login-card button{justify-content:center;width:100%;height:50px;margin-top:3px}.self-service-login-card button:disabled{opacity:.48;cursor:not-allowed}
.login-config-note,.login-feedback{border-radius:11px;padding:11px 13px;font-size:13px;margin:0 0 17px}.login-config-note{background:#f2f6fc;color:#52627a}.login-feedback.positive{background:#eaf8f1;color:#0a6a43}.login-feedback.danger{background:#fff0f1;color:#a42132}.login-security-note{display:grid;gap:5px;margin-top:23px;padding:16px;border-radius:13px;background:#f7f9fc;color:#52627a;font-size:12px;line-height:1.5}.login-security-note strong{color:#153153}.login-demo-link{display:block;text-align:center;color:#0868ed;font-weight:800;font-size:13px;margin-top:19px;text-decoration:none}
@media(max-width:840px){.self-service-login-shell{grid-template-columns:1fr}.self-service-login-brand{min-height:230px;padding:38px}.self-service-login-brand img{width:190px;margin-bottom:30px}.self-service-login-brand h1{font-size:36px}.self-service-login-card{margin:30px auto;width:calc(100% - 36px);padding:28px;box-sizing:border-box}}
.admin-workflow-boundary{border-color:#cfe0f8}.workflow-metrics{margin-top:18px}.workflow-filter-panel{margin:18px 0;padding:18px 20px}.workflow-filter-form{display:grid;grid-template-columns:180px 190px minmax(240px,1fr) auto;align-items:end;gap:14px}.workflow-filter-form label{display:grid;gap:6px}.workflow-filter-form label>span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#60748f}.workflow-filter-form select,.workflow-filter-form input{height:44px;border:1px solid #d1ddeb;border-radius:11px;background:#fff;padding:0 12px;font:inherit;color:#172f50}.workflow-filter-form button{height:44px}.admin-workflow-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.admin-workflow-layout.has-detail{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);align-items:start}.workflow-queue,.workflow-detail{padding:0;overflow:hidden}.workflow-queue>.panel-heading,.workflow-detail>.panel-heading{padding:22px 24px;border-bottom:1px solid #e1e9f3}.workflow-queue-list>a{display:grid;grid-template-columns:5px 1fr;gap:16px;padding:18px 24px;text-decoration:none;color:inherit;border-bottom:1px solid #e8eef6;transition:background .16s ease}.workflow-queue-list>a:hover,.workflow-queue-list>a[aria-current=page]{background:#f4f8ff}.workflow-priority{border-radius:999px;background:#8ba0b9}.workflow-priority.high{background:#d43f52}.workflow-priority.normal{background:#0873f6}.workflow-queue-list header{display:flex;justify-content:space-between;gap:14px;align-items:center}.workflow-queue-list p{margin:6px 0;color:#4e617a}.workflow-queue-list small{color:#75859a}.workflow-empty{text-align:center;padding:62px 30px;color:#61728a}.workflow-empty>span{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#e8f8f0;color:#08764b;font-size:22px;margin:0 auto 16px}.workflow-empty h3{color:#193452;margin:0 0 8px}.workflow-empty p{max-width:540px;margin:0 auto 20px}.workflow-empty>div{display:flex;justify-content:center;gap:10px}.workflow-detail{position:sticky;top:86px}.workflow-detail-status{display:flex;gap:8px;padding:18px 24px 0}.workflow-detail .detail-list{padding:4px 24px 18px}.workflow-decision-form{padding:20px 24px 24px;border-top:1px solid #e4ebf4}.decision-result{margin:10px 24px 24px;padding:18px;border-radius:13px;background:#edf8f3;color:#28634f}.decision-result p{color:#375b50}.workflow-control-panels{margin-top:18px}.workflow-control-panels .panel{padding:22px}.workflow-control-panels .panel p{color:#607089;line-height:1.6}.workflow-control-panels .panel-heading>strong{font-size:26px;color:#0873f6}
@media(max-width:1120px){.workflow-filter-form{grid-template-columns:1fr 1fr}.workflow-search{grid-column:1/2}.admin-workflow-layout.has-detail{grid-template-columns:1fr}.workflow-detail{position:static}}
@media(max-width:660px){.workflow-filter-form{grid-template-columns:1fr}.workflow-search{grid-column:auto}.workflow-empty>div{flex-direction:column}.workflow-queue-list header{align-items:flex-start;flex-direction:column}.workflow-queue-list>a{padding:16px}.workflow-queue>.panel-heading,.workflow-detail>.panel-heading{padding:18px}}
.projection-gap-panel{margin:-10px 0 22px;border:1px solid #d9e3f3;border-radius:14px;background:#fff;color:#425878}.projection-gap-panel summary{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;cursor:pointer;font-size:13px;font-weight:750}.projection-gap-panel summary span{display:inline-grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:#edf4ff;color:#075dde}.projection-gap-panel ul{margin:0;padding:0 34px 16px;font-size:13px;line-height:1.65}.projection-gap-panel li::marker{color:#d39b16}
.invoice-workspace-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.invoice-workspace-summary article{display:grid;gap:5px;min-width:0;padding:17px 18px;border:1px solid #d7e2ef;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(31,63,105,.05)}.invoice-workspace-summary article:nth-child(4){border-color:#b9d6ff;background:#f4f8ff}.invoice-workspace-summary span{color:#63758c;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.invoice-workspace-summary strong{overflow:hidden;color:#102d5b;font-size:18px;text-overflow:ellipsis}.invoice-workspace-summary small{color:#7a889a;font-size:11px}.billing-profile-layout{align-items:stretch}.invoice-toolbar-panel{margin:18px 0;padding:17px 19px}.invoice-toolbar{display:grid;grid-template-columns:190px 190px minmax(220px,1fr) auto;align-items:end;gap:13px}.invoice-toolbar label{display:grid;gap:6px}.invoice-toolbar label>span{color:#60748f;font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.invoice-toolbar input,.invoice-toolbar select{width:100%;height:44px;padding:0 12px;border:1px solid #cad8e8;border-radius:11px;background:#fff;color:#172f50;font:inherit}.invoice-entry-list{display:grid;gap:14px}.invoice-entry-card{margin:0;padding:0;overflow:hidden}.invoice-entry-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:19px 21px}.invoice-entry-card h2{margin:4px 0 6px;font-size:20px}.invoice-entry-card header>div>span{color:#63748a;font-size:13px}.invoice-entry-amount{display:grid;justify-items:end;gap:7px;white-space:nowrap}.invoice-entry-amount>strong{color:#102d5b;font-size:22px}.invoice-entry-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-block:1px solid #e0e8f2;background:#e0e8f2}.invoice-entry-meta span{padding:10px 13px;background:#f7f9fc;color:#586a80;font-size:11px}.invoice-entry-actions{display:flex;align-items:center;gap:10px;padding:14px 20px;background:#fff}.invoice-entry-actions>.request-drawer{flex:1;margin:0}.invoice-entry-actions>form{margin-left:auto}.invoice-line-form .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.locked-state.compact{margin:14px 20px;padding:13px}.invoice-completion-layout,.invoice-validation-layout{align-items:start;margin-top:18px}.invoice-help details{padding:11px 0;border-bottom:1px solid #e5ebf3}.invoice-help details:last-child{border-bottom:0}.invoice-help summary{color:#17375d;font-weight:800;cursor:pointer}.invoice-help details p{margin:8px 0 0;color:#607189;font-size:13px;line-height:1.55}.validation-result-list{display:grid;gap:8px}.validation-result{display:flex;align-items:flex-start;gap:11px;padding:12px;border:1px solid #dbe4ee;border-left:4px solid #7d8da2;border-radius:10px;color:inherit;text-decoration:none;background:#fbfcfe}.validation-result.blocking_error{border-left-color:#c73b4b;background:#fff7f8}.validation-result.conflict_admin_review{border-left-color:#c48a16;background:#fffaf0}.validation-result>span{min-width:112px;color:#5e6f85;font-size:10px;font-weight:850;text-transform:uppercase}.validation-result>div{display:grid;gap:4px}.validation-result small{color:#6d7d91}.invoice-submit-card form+form{margin-top:12px}.button.wide{justify-content:center;width:100%}.admin-invoice-review{margin:0 24px 18px;padding:15px;border:1px solid #ccd9e9;border-radius:13px;background:#f8fbff}.admin-invoice-review>header{display:flex;justify-content:space-between;gap:12px}.admin-invoice-review>header div{display:grid;gap:4px}.admin-invoice-axis-note{margin:12px 0;padding:10px;border-radius:9px;background:#102d5b;color:#dbe8f9;font-size:11px;line-height:1.5}.admin-invoice-line{padding:12px 0;border-bottom:1px solid #dfe7f1}.admin-invoice-line:last-of-type{border-bottom:0}.admin-invoice-line>div{display:grid;gap:4px}.admin-invoice-line small,.admin-invoice-line>div>span{color:#66788e;font-size:11px}.admin-invoice-line details{margin-top:8px}.admin-invoice-line summary{color:#075fdc;font-size:11px;font-weight:800;cursor:pointer}.admin-invoice-line form{margin-top:10px}.admin-validation-summary{margin-top:12px;padding-top:10px;border-top:1px solid #dfe7f1}.admin-validation-summary summary{font-weight:800;cursor:pointer}.admin-validation-summary p{font-size:11px;line-height:1.5}.new-student-request{margin-top:22px}
@media(max-width:1180px){.invoice-workspace-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-toolbar{grid-template-columns:1fr 1fr}.invoice-search{grid-column:1/-1}.invoice-line-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.invoice-workspace-summary{display:grid;grid-auto-flow:column;grid-auto-columns:76vw;grid-template-columns:none;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}.invoice-workspace-summary article{scroll-snap-align:start}.invoice-toolbar{grid-template-columns:1fr}.invoice-search{grid-column:auto}.invoice-entry-card>header{flex-direction:column}.invoice-entry-amount{justify-items:start}.invoice-entry-meta{grid-template-columns:1fr 1fr}.invoice-entry-actions{align-items:stretch;flex-direction:column}.invoice-entry-actions>form,.invoice-entry-actions>.request-drawer{width:100%;margin:0}.invoice-entry-actions .button{justify-content:center;width:100%}.invoice-line-form .form-grid{grid-template-columns:1fr}.validation-result{flex-direction:column}.submission-stage>div{min-width:620px}}
@media(max-width:430px){.invoice-entry-meta{grid-template-columns:1fr}.invoice-entry-card>header{padding:16px}.invoice-entry-actions{padding:12px}.invoice-workspace-summary{grid-auto-columns:84vw}.admin-invoice-review{margin-inline:14px}.billing-profile-layout .panel,.invoice-validation-layout .panel{padding:16px}}
.invoice-submit-card{min-height:438px}
.schedule-contact-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.schedule-contact-columns>div{min-width:0}.schedule-contact-columns h3{margin:0 0 10px;color:#294463;font-size:13px}.contact-copy-status{min-height:18px;margin:13px 0 0;color:#08734f;font-size:12px;font-weight:750}
.assistant-boundary-strip{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:13px 16px;border:1px solid #cddcf0;border-radius:14px;background:#f4f8ff;color:#526780;font-size:13px}.assistant-boundary-strip strong{color:#0b5ed7}.assistant-admin-grid{align-items:start}.assistant-workspace,.assistant-full-page{padding:24px}.assistant-workspace form,.assistant-full-page form,.portal-assistant-drawer form{display:grid;gap:14px}.assistant-workspace label,.assistant-full-page label{display:grid;gap:7px}.assistant-workspace label>span,.assistant-full-page label>span{color:#53677f;font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.assistant-workspace textarea,.assistant-full-page textarea,.portal-assistant-drawer textarea{width:100%;box-sizing:border-box;padding:13px;border:1px solid #cbd8e8;border-radius:12px;background:#fff;color:#112d50;font:inherit;line-height:1.5;resize:vertical}.assistant-icon{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:14px;background:#0868ed;color:#fff;font-weight:900}.assistant-confirm{display:flex!important;align-items:flex-start;grid-template-columns:none!important;gap:9px}.assistant-confirm input{margin-top:2px}.assistant-confirm span{text-transform:none!important;letter-spacing:0!important;font-weight:650!important}.assistant-result{display:grid;gap:8px;margin-top:16px;padding:16px;border:1px solid #dae4ef;border-radius:13px;background:#f7f9fc;color:#52647b;line-height:1.55}.assistant-result p{margin:0;color:#263f5f}.assistant-result small{color:#718198}.assistant-result.positive{border-color:#b9e1ce;background:#f1fbf6}.assistant-result.warning{border-color:#ecd49b;background:#fff9ea}.assistant-result.danger{border-color:#efbdc5;background:#fff5f6;color:#a12b3c}.assistant-result ul{margin:0;padding-left:20px}.assistant-brief{display:grid;grid-template-columns:minmax(110px,.3fr) 1fr;gap:7px 13px;margin:4px 0 0}.assistant-brief dt{color:#60758f;font-size:10px;font-weight:900;text-transform:uppercase}.assistant-brief dd{margin:0;color:#203c5e;font-size:13px}.assistant-full-page{max-width:920px}.assistant-full-page form{margin-top:22px}.assistant-full-page .button{justify-self:start}.portal-assistant-dock{position:fixed;right:26px;bottom:24px;z-index:80}.portal-assistant-dock>summary{display:flex;align-items:center;gap:9px;padding:12px 17px;border-radius:999px;background:#0868ed;color:#fff;box-shadow:0 14px 36px rgba(3,55,136,.28);cursor:pointer;list-style:none}.portal-assistant-dock>summary::-webkit-details-marker{display:none}.portal-assistant-dock>summary>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff;color:#0868ed;font-weight:900}.portal-assistant-drawer{position:absolute;right:0;bottom:58px;width:min(410px,calc(100vw - 28px));box-sizing:border-box;padding:20px;border:1px solid #d4e0ef;border-radius:19px;background:#fff;box-shadow:0 24px 70px rgba(16,51,99,.22)}.portal-assistant-drawer header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.portal-assistant-drawer header div{display:grid;gap:3px}.portal-assistant-drawer header small{color:#0868ed;font-size:10px;font-weight:900;letter-spacing:.12em}.portal-assistant-drawer>p{color:#5e7188;font-size:13px;line-height:1.5}.portal-assistant-drawer .assistant-result{font-size:13px}.assistant-page-link{display:block;margin-top:14px;color:#0868ed;font-size:12px;font-weight:800;text-align:center;text-decoration:none}
@media(max-width:800px){.schedule-contact-columns{grid-template-columns:1fr}.assistant-boundary-strip{align-items:flex-start;flex-direction:column}.portal-assistant-dock{right:14px;bottom:14px}.portal-assistant-dock>summary strong{display:none}.assistant-brief{grid-template-columns:1fr}.assistant-workspace,.assistant-full-page{padding:18px}}
.source-readiness-panel{margin:18px 0 24px;padding:0;overflow:hidden}.source-readiness-panel>.panel-heading{padding:22px 24px;border-bottom:1px solid #dde7f2}.source-readiness-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:#dce6f2;border-bottom:1px solid #dce6f2}.source-readiness-summary article{display:grid;gap:4px;padding:16px 17px;background:#f8fafd}.source-readiness-summary article.positive{background:#effaf5}.source-readiness-summary article.warning{background:#fff9ec}.source-readiness-summary article.danger{background:#fff5f6}.source-readiness-summary span{color:#667990;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.source-readiness-summary strong{color:#112f56;font-size:26px}.source-readiness-summary small{color:#708198;font-size:10px;line-height:1.35}.source-readiness-gate{display:flex;gap:14px;margin:20px 24px;padding:16px 18px;border:1px solid #f0cf8a;border-radius:14px;background:#fff9e9}.source-readiness-gate>span{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:#b67a05;color:#fff;font-weight:900}.source-readiness-gate strong{color:#704b05}.source-readiness-gate p{margin:5px 0 0;color:#6d6045;font-size:12px;line-height:1.55}.source-readiness-gate.ready{border-color:#b9dfcf;background:#effaf5}.source-readiness-gate.ready>span{background:#138560}.source-readiness-gate.ready strong{color:#0d6248}.source-readiness-gate.ready p{color:#426c5e}.registry-foundation-strip{display:grid;grid-template-columns:1.7fr .55fr .55fr 1fr;gap:1px;margin:0 24px 20px;overflow:hidden;border:1px solid #d9e5f1;border-radius:12px;background:#d9e5f1}.registry-foundation-strip>div{display:grid;gap:5px;padding:12px 14px;background:#f7faff}.registry-foundation-strip span{color:#6d7f94;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.registry-foundation-strip strong{color:#24415f;font-size:11px;line-height:1.4}.source-readiness-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:4px 24px 24px}.source-readiness-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:13px;min-width:0;padding:17px;border:1px solid #d8e3ef;border-top:4px solid #d5a33b;border-radius:13px;background:#fff}.source-readiness-card.positive{border-top-color:#17966b}.source-readiness-card.neutral{border-top-color:#8292a8}.source-readiness-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.source-readiness-card header small{color:#74859a;font-size:8px;text-transform:uppercase}.source-readiness-card h3{margin:4px 0 0;color:#183657;font-size:16px}.source-readiness-card .status{max-width:125px;text-align:center}.source-readiness-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.source-readiness-card dl>div{padding:9px;border-radius:9px;background:#f5f8fc}.source-readiness-card dt{color:#718298;font-size:8px;font-weight:850;text-transform:uppercase}.source-readiness-card dd{margin:4px 0 0;color:#28415e;font-size:10px;font-weight:750}.source-readiness-card>p{margin:0;color:#5b6e84;font-size:11px;line-height:1.5}.source-readiness-card footer{padding-top:11px;border-top:1px solid #e5ebf3}.source-readiness-card footer strong,.source-readiness-card footer span{display:block}.source-readiness-card footer strong{color:#0b61dc;font-size:9px;text-transform:uppercase}.source-readiness-card footer span{margin-top:4px;color:#455c77;font-size:11px;line-height:1.45}.source-rollout{display:grid;grid-template-columns:minmax(180px,.28fr) 1fr;gap:24px;margin:0 24px 20px;padding:20px;border-radius:14px;background:#0b2d68;color:#fff}.source-rollout h3{margin:5px 0}.source-rollout ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.source-rollout li{display:flex;gap:9px;align-items:flex-start}.source-rollout li>span{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:50%;background:#0d6cf2;font-weight:900}.source-rollout li div{display:grid;gap:4px}.source-rollout li strong{font-size:10px}.source-rollout li small{color:#bdd2ee;font-size:9px;line-height:1.4}.source-readiness-panel>.privacy-note{margin:0;padding:12px 24px;border-top:1px solid #dde7f2;background:#f8fafd}
@media(max-width:1280px){.source-readiness-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.source-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-rollout{grid-template-columns:1fr}.source-rollout ol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.source-readiness-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.source-readiness-grid{grid-template-columns:1fr;padding-inline:15px}.source-readiness-gate,.source-rollout,.registry-foundation-strip{margin-inline:15px}.registry-foundation-strip{grid-template-columns:1fr 1fr}.source-rollout ol{grid-template-columns:1fr}.source-readiness-card header{flex-direction:column}.source-readiness-card .status{max-width:none}}
.profile-confirmation-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px;padding:18px 20px;border:1px solid #f0c56b;border-radius:16px;background:linear-gradient(135deg,#fffaf0,#fff);box-shadow:0 10px 28px rgba(132,91,9,.08)}.profile-confirmation-callout>div{display:grid;gap:4px}.profile-confirmation-callout>div>span{color:#9a6700;font-size:10px;font-weight:900;letter-spacing:.12em}.profile-confirmation-callout strong{color:#543800;font-size:17px}.profile-confirmation-callout p{margin:0;color:#80652e;font-size:13px}.teacher-profile-confirmation{scroll-margin-top:22px}.form-grid.three{grid-template-columns:2fr .7fr 1.2fr}.profile-confirmation-check{display:flex!important;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;padding:13px 14px;border:1px solid #d6e2ef;border-radius:12px;background:#f8fbff}.profile-confirmation-check input{width:18px!important;min-height:18px!important;margin-top:1px}.profile-confirmation-check span{font-size:13px!important;font-weight:650!important;letter-spacing:0!important;text-transform:none!important;color:#29405e!important}.profile-owner-lock{display:flex;align-items:center;gap:13px;padding:14px 16px;border-radius:13px;background:#102d5b;color:#fff}.profile-owner-lock>span{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:12px;background:#0b6fff;font-size:11px;font-weight:900}.profile-owner-lock>div{display:grid;gap:4px}.profile-owner-lock p{margin:0;color:#ccdaee;font-size:12px}
@media(max-width:760px){.profile-confirmation-callout{align-items:flex-start;flex-direction:column}.form-grid.three{grid-template-columns:1fr}}
