/* Shared application theme; login retains its own palette and sizing. */
.menu-toggle,.menu-close{display:none;width:40px;height:40px;flex:0 0 40px;align-items:center;justify-content:center;padding:8px;border:1px solid #cbdde7;border-radius:6px;background:#fff;color:#103968;cursor:pointer}
.menu-toggle svg,.menu-close svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round}
.sidebar-backdrop{display:none}
.app-shell .sidebar{scrollbar-width:none;-ms-overflow-style:none}
.app-shell .sidebar::-webkit-scrollbar{display:none}
body.navigation-open{overflow:hidden}
@media(max-width:880px){
  .app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}
  .app-shell .topbar{grid-column:1;grid-row:1;flex-wrap:nowrap;gap:8px;min-height:64px}
  .app-shell .dashboard-main{grid-column:1;grid-row:2}
  .menu-toggle,.menu-close{display:flex}
  .app-shell .sidebar{position:fixed;inset:0 auto 0 0;width:min(290px,calc(100vw - 36px));height:100dvh;margin:0;padding:58px 16px 24px 38px;z-index:120;overflow-y:auto;border:0;border-right:1px solid #cbdde7;border-radius:0;box-shadow:0 12px 40px rgba(16,57,104,.24);visibility:hidden;transform:translateX(-100%);transition:transform .2s ease,visibility .2s}
  .app-shell.menu-open .sidebar{visibility:visible;transform:translateX(0)}
  .app-shell .sidebar-avatar{display:flex}
  .app-shell .side-nav{grid-template-columns:1fr}
  .menu-close{position:absolute;top:10px;right:12px}
  .sidebar-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:rgba(16,40,65,.35);z-index:110}
}
@media(prefers-reduced-motion:reduce){.app-shell .sidebar{transition:none}}
.first-review{display:flex;align-items:center;gap:28px;width:min(580px,100%);margin:32px auto;padding:28px;background:#fff;border:1px solid #e1edf3;border-radius:8px;box-shadow:0 4px 18px rgba(23,60,88,.04)}
.first-review[hidden],.activity-feed-grid[hidden]{display:none}
.first-review-icon{display:grid;place-items:center;width:112px;height:112px;flex:0 0 112px;border-radius:50%;background:#e3f5fc;color:#124d89}
.first-review-icon svg{width:58px;height:58px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.first-review h2{margin:0 0 8px;font-size:22px;color:#123c65}
.first-review p{margin:0 0 18px;color:#5d7085;font-size:14px;line-height:1.55}
.first-review .toolbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:190px;background:#123c65}
.first-review .toolbar-btn span{font-size:24px;font-weight:400;line-height:1}
@media(max-width:560px){.first-review{gap:16px;padding:20px;align-items:flex-start}.first-review-icon{width:56px;height:56px;flex-basis:56px}.first-review-icon svg{width:32px;height:32px}.first-review .toolbar-btn{min-width:0;width:100%}}
:is(.app-shell,.modal,.register-modal,.soa-preview-dialog){
  --nav:#103968;--sara-blue:#164e77;--slate-blue:#61718c;
  --paper:#f2f9fb;--card-grey:#e6edf2;--soft-brown:#52647a;
  --charcoal:#203b56;--taupe:#718096;--blush:#e6edf2;--gold:#008e9e;
  --bg:#eaf7fb;--panel:#f8fbfd;--panel-2:#eaf2f6;--line:#cbdde7;
  --ink:#103968;--muted:#5b6780;--faint:#718195;
  --section-head:#cfe8ef;
  --brand:#123c65;--brand-2:#008e9e;--brand-soft:#e8f5f7;--login:#123c65;
  --shadow:0 2px 4px rgba(23,60,88,.05),0 5px 16px rgba(23,60,88,.08);
  --shadow-strong:0 16px 42px rgba(23,60,88,.16);
  color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;
}
:is(.app-shell,.modal,.register-modal,.soa-preview-dialog) :is(input,select,textarea,button){font-family:var(--font);letter-spacing:0}
:is(.app-shell,.modal,.register-modal,.soa-preview-dialog) :is(h1,h2,h3,h4){letter-spacing:0;overflow-wrap:anywhere}
.dashboard-main :is(.section-title,.register-head h1){font-size:28px;font-weight:700;line-height:1.25;color:var(--ink)}
.dashboard-main :is(.section-title,.register-head){border-bottom:1px solid var(--line);padding-bottom:12px}
:is(.app-shell,.modal,.register-modal) h2{font-size:22px;line-height:1.3}
:is(.app-shell,.modal,.register-modal) h3{font-size:18px;line-height:1.35}
:is(.app-shell,.modal,.register-modal) h4{font-size:16px;line-height:1.4}
.dashboard-main :is(.settings-meta,.adviser-count,.register-head p,.reviews-pagination,.register-pagination){color:var(--muted);font-size:13px}
.dashboard-main :is(.card,.empty-panel,.representative-detail,.representative-card,.compliance-rule-editor,.audit-section-nav){background:var(--panel);border-color:var(--line);border-radius:8px;box-shadow:var(--shadow)}
.dashboard-main :is(.compliance-card,.rule-criterion,.profile-value,.register-inline-body){background:var(--panel-2);border-color:var(--line);border-radius:8px}
:is(.app-shell,.modal,.register-modal) :is(.profile-section-title,.representative-detail-header,.register-inline-bar,.activity-card-head){background:var(--section-head);color:var(--ink);font-size:16px;font-weight:700;border-bottom:1px solid var(--line)}
:is(.representative-detail-header,.register-inline-bar,.activity-card-head) :is(h2,h3){color:var(--ink);font-size:20px}
.dashboard-main :is(.review-table,.register-table){font-size:14px;color:var(--ink)}
.dashboard-main :is(.review-table,.register-table) th{background:var(--section-head);color:var(--ink);font-size:14px;font-weight:700;text-transform:none;letter-spacing:0;border-color:var(--line)}
.dashboard-main :is(.review-table,.register-table) tbody tr:nth-child(even) td{background:#f1f6f9}
.dashboard-main :is(.review-table,.register-table) td{border-color:var(--line);line-height:1.45}
.dashboard-main :is(.review-table,.register-table) tr:hover td{background:#eff8fa;border-color:#c9dfe6}
.dashboard-main :is(.review-table,.register-table) a{color:#164e77}
:is(.app-shell,.modal,.register-modal,.soa-preview-dialog) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not(.status-select):not(.representative-risk-rating){font-size:14px;color:var(--ink);border-color:var(--line);background:#fff;border-radius:6px}
:is(.app-shell,.modal,.register-modal) :is(input,textarea)::placeholder{color:#718195;opacity:1}
:is(.app-shell,.modal,.register-modal) :is(input,select,textarea):focus-visible{outline:2px solid #008e9e;outline-offset:2px;box-shadow:none}
:is(.app-shell,.modal,.register-modal) :is(input,textarea)[readonly]{background:#f0f4f7;color:var(--muted)}
:is(.app-shell,.modal,.register-modal) :is(input[type=checkbox],input[type=radio]){accent-color:#008e9e}
:is(.app-shell,.modal,.register-modal) label{font-size:13px}
.dashboard-main :is(.toolbar-btn,.btn,.register-btn){font-size:13px;font-weight:600;box-shadow:none;border-radius:6px}
.dashboard-main :is(.toolbar-btn,.btn,.register-btn):hover:not(:disabled){filter:brightness(.95)}
:is(.app-shell,.modal,.register-modal) button:focus-visible{outline:2px solid #008e9e;outline-offset:3px}
:is(.app-shell,.modal,.register-modal) button:disabled{cursor:not-allowed}
.app-shell{
  background-color:#edf9fc;
  background-image:
    radial-gradient(ellipse 110% 120% at 112% -35%,transparent 66%,rgba(183,222,234,.34) 66.2%,rgba(183,222,234,.34) 78%,transparent 78.2%),
    radial-gradient(ellipse 100% 110% at -20% 135%,transparent 58%,rgba(196,231,240,.42) 58.2%,rgba(196,231,240,.42) 75%,transparent 75.2%),
    linear-gradient(180deg,#effafd,#e4f4f8);
  background-attachment:fixed;
  background-size:100vw 100vh;
}
.topbar{background:rgba(237,249,252,.96);border-color:#e1f1f6}
.dashboard-welcome{background:transparent;padding:16px 18px 24px;margin-bottom:8px}
.dashboard-welcome h1{font-size:32px;color:#103968}
.dashboard-welcome p{font-size:15px}
.activity-feed-grid{background:transparent;padding:0;gap:20px}
.activity-card{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}
.dashboard-main :is(.register-table-wrap,.register-inline-body){box-shadow:var(--shadow)}
.dashboard-main .register-card-table-wrap{box-shadow:none}
.activity-card-head{padding:12px 18px}
.activity-card-head h3{font-size:22px;font-weight:700}
.activity-card-head a{font-size:14px;font-weight:600;color:#103968;text-decoration:underline;white-space:nowrap}
.activity-list{gap:0;margin:10px 12px 12px;padding:0;min-height:0;border:1px solid #dce6ee;border-radius:8px;overflow:hidden}
.activity-row{font-size:14px;min-height:48px;padding:8px 12px;gap:12px;background:#fff;border:0;border-bottom:1px solid #e2eaf0;border-radius:0}
.activity-row:nth-child(even){background:#f1f6f9}
.activity-row:last-child{border-bottom:0}
.activity-row-link{color:#103968;font-weight:600}
.activity-row-meta,.activity-row-date{color:#5b6780}
.activity-status{font-size:12px;font-weight:700;padding:6px 10px}
.activity-status.in-progress{background:#dceaff;color:#17467c}
.side-item{font-size:15px;line-height:1.3;height:auto;min-height:38px;padding-block:8px}
.side-item span{min-width:0;overflow-wrap:anywhere}
.nav-group-label{color:#607b9e;font-size:11px;letter-spacing:0}
.icon-action{font-size:11px;color:#566382}
.dashboard-welcome p{color:#536f90}
.modal,.register-modal{background:#fff;border-radius:8px;border-color:#d9e3eb}
:is(.modal,.register-modal) :is(.modal-heading-row,.register-modal-head){border-bottom:1px solid var(--line);padding-bottom:12px}
:is(.modal,.register-modal) :is(.modal-heading-row,.register-modal-head) h3{font-size:20px;color:var(--ink)}
:is(.modal,.register-modal) :is(.profile-section-title,.register-inline-bar){background:var(--section-head);color:var(--ink)}
:is(.app-shell,.modal,.register-modal) :is(.representative-detail-actions button,.representative-back,.register-inline-bar .register-btn.secondary){color:var(--ink);border-color:#b7cedc;background:#fff}
:is(.app-shell,.modal,.register-modal) :is(.profile-field label,.register-detail-item b,.audit-section-progress){color:var(--muted);font-size:13px}
.register-modal :is(.register-detail-item,.register-document,.register-comment){background:#fff;border-color:var(--line)}
.register-modal :is(.register-readonly,.register-detail-item b){color:var(--muted)}
.register-modal :is(.register-form,.breach-assessment-form) label{font-weight:600}
.register-modal .register-btn{font-size:13px;font-weight:600;border-radius:6px}
.dashboard-main .compliance-observation-row:hover,.dashboard-main .compliance-observation-row:focus{background:#eff8fa;outline-color:#008e9e}
@media(max-width:560px){
  .dashboard-main :is(.section-title,.register-head h1){font-size:24px}
  .dashboard-main h2{font-size:20px}
  .activity-row{font-size:12px;gap:6px}
  .activity-card-head{padding:12px}
  .activity-card-head h3{font-size:18px}
  .activity-card-head a{font-size:12px}
  .activity-list{margin:8px}
  .activity-row{padding:8px;min-height:44px}
  .activity-status{font-size:11px;padding:5px}
  .dashboard-welcome h1{font-size:24px}
}
