/* V69: shared workspace finish; specialized canvases retain their own geometry. */
.app-shell-body {
  --workspace-line:#dce6ed;
  --workspace-ink:#19384c;
  --workspace-muted:#5a7384;
  --workspace-accent:#096e94;
  --workspace-soft:#edf6fa;
}
.pa-admin-content,.public-main {min-width:0}
.pa-admin-content {max-width:1680px;width:100%;margin-inline:auto}
.pa-admin-content :is(.page-title,.lp-page-head) h1 {margin:0;overflow-wrap:anywhere}
.pa-admin-content :is(.page-title,.lp-page-head) {align-items:center}
.pa-admin-content :is(.simple-page-actions,.lp-page-actions,.toolbar,.form-actions,.inline-actions,.filters) {gap:8px;flex-wrap:wrap;min-width:0}
.pa-admin-content :is(.simple-page-actions,.lp-page-actions) {display:flex}
.pa-admin-content :is(.panel,.lp-section) {border:1px solid var(--workspace-line);border-radius:18px;padding:20px;background:#fff;margin-bottom:16px}
.pa-admin-content :is(.toolbar,.lp-section-head) {display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.pa-admin-content :is(.toolbar,.lp-section-head) h2 {font-size:1.08rem;line-height:1.35;margin:0;letter-spacing:-.02em}
.pa-admin-content :is(.panel,.lp-section)>h2 {font-size:1.1rem;line-height:1.4;margin-top:0}
.pa-admin-content .form-grid>.full {grid-column:1/-1}
.pa-admin-content .form-grid>.advanced-settings {grid-column:1/-1}
.pa-admin-content .advanced-settings {border:1px solid var(--workspace-line);border-radius:12px;padding:0;background:#fbfdfe}
.pa-admin-content .advanced-settings>summary {padding:12px 14px;font-size:.9rem;font-weight:700;cursor:pointer}
.pa-admin-content .advanced-settings-body {padding:4px 14px 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pa-admin-content :is(.label,.form-group>span:first-child) {font-size:.82rem;line-height:1.45;font-weight:700}
.pa-admin-content :is(.input,.select,.textarea) {min-width:0;font-size:.92rem;border-radius:10px;padding:10px 12px}
.pa-admin-content :is(input[type=checkbox],input[type=radio]) {accent-color:var(--workspace-accent);width:18px;height:18px;vertical-align:middle;flex:none}
.pa-admin-content .textarea {resize:vertical;min-height:100px}
.pa-admin-content :is(.form-actions,.form-group.full.form-actions) {display:flex;flex-wrap:wrap;align-items:center;padding-top:12px}
.pa-admin-content .btn {font-size:.86rem;border-radius:10px;min-height:40px;line-height:1.35}
.pa-admin-content .btn-sm {font-size:.78rem;min-height:34px}
.pa-admin-content :is(.btn,.input,.select,.textarea,summary):focus-visible {outline:3px solid #1685ad;outline-offset:3px}
.pa-admin-content .btn:disabled {opacity:.55;cursor:not-allowed;transform:none}
.pa-admin-content .lp-create-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pa-admin-content :is(.lp-create-card,.lp-work-card) {display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;min-height:136px;border:1px solid var(--workspace-line);border-radius:16px;box-shadow:0 3px 12px #19384c06}
.pa-admin-content :is(.lp-create-card,.lp-work-card)>span:last-child {margin-top:auto;font-size:.8rem;color:var(--workspace-accent);font-weight:700}
.pa-admin-content :is(.lp-create-icon,.lp-icon) {width:38px;height:38px;display:grid;place-items:center;background:var(--workspace-soft);color:var(--workspace-accent);border-radius:11px;margin:0}
.pa-admin-content :is(.lp-create-icon,.lp-icon) svg {width:21px;height:21px}
.pa-admin-content :is(.lp-create-card,.lp-work-card):hover {border-color:#99c8d9;box-shadow:0 8px 24px #19384c0c}
.pa-admin-content .rich-learning-tools>summary {display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font-size:.92rem}
.pa-admin-content .rich-learning-tools>summary span {color:var(--workspace-muted);font-size:.75rem}
.pa-admin-content .lp-session-row {display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #edf1f4}
.pa-admin-content .lp-session-row:last-child {border-bottom:0}
.pa-admin-content .lp-session-row small {display:block;font-size:.78rem;color:var(--workspace-muted)}
.pa-admin-content .lp-session-row strong {font-size:.9rem}
.pa-admin-content :is(.resource-item,.lp-session-row)>div:first-child {min-width:0;overflow-wrap:anywhere}
.pa-admin-content .resource-item small {display:block;color:var(--workspace-muted);font-size:.78rem}
.pa-admin-content :is(.pager,.pagination) {display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:16px}
.pa-admin-content .table-wrap {border-radius:12px;max-width:100%;overflow:auto;overscroll-behavior-x:contain}
.pa-admin-content .table th {font-size:.72rem;white-space:nowrap}
.pa-admin-content .table td {font-size:.86rem;line-height:1.5}
.pa-admin-content :is(.row-title,.row-subtitle) {display:block}
.pa-admin-content .row-title {font-weight:700;color:var(--workspace-ink)}
.pa-admin-content .row-subtitle {font-size:.76rem;color:var(--workspace-muted)}
.pa-admin-content .table :is(.inline-actions,.card-actions) {align-items:center}
.workspace-row-actions {min-width:100px}
.workspace-row-actions>summary {display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--workspace-line);border-radius:9px;background:#fff;font-size:.78rem;font-weight:700;cursor:pointer;list-style:none;min-height:34px}
.workspace-row-actions>summary::-webkit-details-marker {display:none}
.workspace-row-actions>summary::after {content:'⌄';color:#4d7287}
.workspace-row-actions[open]>summary {color:var(--workspace-accent);border-color:#8abed2;margin-bottom:8px}
.workspace-row-actions>.inline-actions {display:flex;flex-direction:column;align-items:stretch;gap:6px;max-width:210px}
.workspace-row-actions>.inline-actions :is(.btn,form) {width:100%}
.workspace-metadata {border:1px solid var(--workspace-line);border-radius:14px;background:#fff;margin-bottom:16px}
.workspace-metadata>summary {padding:13px 18px;cursor:pointer;font-size:.88rem;font-weight:700}
.workspace-metadata>.ucd-identity {margin:0;border:0;box-shadow:none}
.pa-nav-tree-body a[aria-current=page] {background:rgba(255,255,255,.13);color:#fff;font-weight:800;border-radius:8px}
.public-main .resource-item {gap:12px;min-width:0}
.public-main .resource-item strong {overflow-wrap:anywhere}
.public-main :is(.grid,.form-grid)>* {min-width:0}
.public-main :is(.input,.select,.textarea) {max-width:100%}
.public-main :is(.btn,.input,.select,summary):focus-visible {outline:3px solid #1685ad;outline-offset:3px}
.public-main :is(.card,.resource-item) {border-color:var(--workspace-line)}
@media(max-width:1100px) {
  .pa-admin-content .lp-create-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px) {
  .pa-admin-content :is(.panel,.lp-section) {padding:15px;border-radius:14px}
  .pa-admin-content :is(.page-title,.lp-page-head) {align-items:stretch;gap:12px}
  .pa-admin-content :is(.simple-page-actions,.lp-page-actions) {overflow:visible;width:100%;flex-wrap:wrap}
  .pa-admin-content :is(.lp-create-grid,.advanced-settings-body) {grid-template-columns:minmax(0,1fr)}
  .pa-admin-content :is(.toolbar,.lp-section-head) {gap:10px;align-items:flex-start}
  .pa-admin-content :is(.btn,.btn-sm,.input,.select) {min-height:44px}
  .pa-admin-content :is(.lp-create-card,.lp-work-card) {min-height:112px;padding:15px}
  .pa-admin-content .rich-learning-tools>summary {align-items:flex-start}
  .pa-admin-content .rich-learning-tools>summary span {display:none}
  .pa-admin-content .lp-session-row {grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .pa-admin-content .lp-session-row>div:first-child {grid-column:1/-1}
  .pa-admin-content .lp-session-row>.btn {grid-column:1/-1}
  .pa-admin-content .table-wrap>.table {min-width:600px}
  /* Existing responsive-table renderer uses cards; don't reintroduce minimum width. */
  .pa-admin-content .table-wrap>.responsive-table {min-width:0}
  .pa-admin-content :is(.resource-item,.lp-admin-console-banner) {flex-wrap:wrap;gap:10px}
  .pa-admin-content .form-actions>.btn {flex:1 1 auto}
  .workspace-row-actions>summary {min-height:44px}
  .public-main :is(.btn,.input,.select) {min-height:44px}
}
@media(prefers-reduced-motion:reduce) {
  .app-shell-body :is(.btn,.lp-create-card,.lp-work-card) {transition:none;transform:none}
}
@media print {
  .workspace-row-actions {display:none}
  .workspace-metadata:not([open]) {display:none}
  .pa-admin-content :is(.panel,.lp-section) {box-shadow:none;border-color:#aaa}
}
/* Access screens share the same control rhythm without changing authentication. */
.login-shell .login-card {border-radius:22px;border-color:#dce6ed;box-shadow:0 16px 48px #19384c12}
.login-shell .login-card h1 {font-size:1.65rem;line-height:1.2;letter-spacing:-.035em;margin:24px 0 10px}
.login-shell .login-card .brand {font-size:.92rem;line-height:1.4}
.login-shell .login-card .btn {width:100%;min-height:46px;border-radius:10px}
.login-shell .login-card :is(.input,.select) {min-height:46px;border-radius:10px}
.login-shell .login-card :is(.btn,.input,a):focus-visible {outline:3px solid #1685ad;outline-offset:3px}
.login-shell .login-links {padding-top:16px;text-align:center;font-size:.82rem}
.student-surface .student-task-card {border:1px solid #dce6ed;border-radius:14px;box-shadow:0 3px 12px #19384c05}
.student-surface .student-task-card :is(strong,small) {overflow-wrap:anywhere}
.student-surface .student-progress-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.student-surface .student-progress-card {border-radius:14px;border-color:#dce6ed}
@media(max-width:760px) {
  .student-surface .student-progress-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .student-surface .student-workspace-head {position:static}
}
