.consulting-admin-shell { margin:0; height:100dvh; min-height:0; display:flex; flex-direction:column; overflow:hidden; background:#edf1f6; color:#15223a; font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif; }
.consulting-admin-shell [hidden] { display:none; }
.consulting-admin-shell .cas-header { flex:0 0 64px; background:#101d33; color:#fff; border:0; }
.consulting-admin-shell .cas-header > div { max-width:none; height:64px; padding:8px 16px; }
.consulting-admin-shell .cas-header h1 { font-size:18px; margin:0; }
.consulting-admin-shell .cas-header p { color:#b6c5dd; }
.consulting-admin-shell .cas-header a { white-space:nowrap; }
.consulting-admin-shell .cas-layout { display:grid; grid-template-columns:232px minmax(0,1fr); gap:12px; padding:12px; flex:1; min-height:0; min-width:0; }
.consulting-admin-shell .cas-rail { display:flex; flex-direction:column; gap:12px; background:#fff; border:1px solid #d7e0ec; border-radius:16px; padding:16px; min-height:0; min-width:0; }
.consulting-admin-shell .cas-rail-heading,.consulting-admin-shell .cas-context,.consulting-admin-shell .cas-panel-heading,.consulting-admin-shell .cas-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.consulting-admin-shell h2,.consulting-admin-shell h3 { font-weight:800; }
.consulting-admin-shell .cas-rail label { font-size:12px; color:#52627a; }
.consulting-admin-shell .cas-muted { font-size:12px; line-height:1.7; color:#52627a; overflow-wrap:anywhere; }
.consulting-admin-shell .cas-students { flex:1; overflow:auto; min-height:0; display:flex; flex-direction:column; gap:8px; }
.consulting-admin-shell .cas-students button { text-align:left; padding:12px; border:1px solid #d7e0ec; border-radius:10px; flex-shrink:0; }
.consulting-admin-shell .cas-students strong,.consulting-admin-shell .cas-students span,.consulting-admin-shell .cas-students small { display:block; overflow-wrap:anywhere; }
.consulting-admin-shell .cas-students span { font-size:11px; color:#52627a; }
.consulting-admin-shell .cas-students small { font-size:11px; color:#375571; }
.consulting-admin-shell .cas-students [aria-pressed="true"] { background:#e9f4fc; border-color:#31779b; }
.consulting-admin-shell .cas-workspace { display:grid; grid-template-rows:auto auto auto minmax(0,1fr); gap:8px; min-height:0; min-width:0; }
.consulting-admin-shell .cas-context { padding:0 4px; min-height:48px; }
.consulting-admin-shell .cas-context > div { min-width:0; }
.consulting-admin-shell .cas-context-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.consulting-admin-shell #shell-student-preview:disabled { cursor:not-allowed; }
.consulting-admin-shell #shell-context { font-size:16px; overflow-wrap:anywhere; }
.consulting-admin-shell button { cursor:pointer; }
.consulting-admin-shell button:disabled { cursor:wait; opacity:.6; }
.consulting-admin-shell button:focus-visible,.consulting-admin-shell a:focus-visible,.consulting-admin-shell [tabindex]:focus-visible { outline:3px solid #087ba1; outline-offset:3px; }
.consulting-admin-shell .cas-rail-heading button,.consulting-admin-shell .cas-context button,.consulting-admin-shell .cas-panel-heading button,.consulting-admin-shell .cas-overview-lists > article > button,.consulting-admin-shell .cas-dialog-heading button,.consulting-admin-shell #shell-retry { padding:8px 12px; border:1px solid #c4d0df; border-radius:8px; background:#fff; color:#263c57; font-size:12px; font-weight:700; white-space:nowrap; }
.consulting-admin-shell .cas-context .cas-primary { background:#1748a3; border-color:#1748a3; color:#fff; }
.consulting-admin-shell .cas-tabs { display:flex; gap:4px; border-bottom:1px solid #c4d0df; overflow-x:auto; flex-shrink:0; }
.consulting-admin-shell .cas-tabs button { padding:10px 16px; border-radius:8px 8px 0 0; font-size:13px; font-weight:800; white-space:nowrap; }
.consulting-admin-shell .cas-tabs [aria-selected="true"] { color:#fff; background:#182e50; }
.consulting-admin-shell .cas-load-state { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12px; color:#52627a; min-height:32px; }
.consulting-admin-shell [data-state="error"] { color:#b42335; }
.consulting-admin-shell .cas-panel { background:#fff; border:1px solid #d7e0ec; border-radius:16px; padding:16px; min-width:0; min-height:0; overflow:auto; }
.consulting-admin-shell .cas-panel-heading { margin-bottom:16px; }
.consulting-admin-shell .cas-panel section { box-shadow:none; border:0; padding:0; border-radius:0; }
.consulting-admin-shell .cas-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.consulting-admin-shell .cas-kpis article { border:1px solid #d7e0ec; border-radius:12px; padding:16px; background:linear-gradient(135deg,#f8fafc,#edf5fb); }
.consulting-admin-shell .cas-kpis h3 { color:#52627a; font-size:12px; }
.consulting-admin-shell .cas-kpis p { font-size:20px; font-weight:800; margin-top:12px; overflow-wrap:anywhere; }
.consulting-admin-shell .cas-kpis article:last-child p { font-size:15px; }
.consulting-admin-shell .cas-definition { margin:12px 0 16px; }
.consulting-admin-shell #shell-overview { display:grid; grid-template-rows:auto auto minmax(0,1fr); height:100%; min-height:0; }
.consulting-admin-shell #shell-students-toggle { display:none; }
.consulting-admin-shell .cas-overview-lists { min-height:0; }
.consulting-admin-shell .cas-overview-lists > article { display:flex; flex-direction:column; min-height:0; }
.consulting-admin-shell .cas-overview-lists > article > ul { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; }
.consulting-admin-shell .cas-overview-lists > article > button { flex-shrink:0; align-self:flex-start; }
.consulting-admin-shell .cas-overview-lists { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.consulting-admin-shell .cas-overview-lists article { border:1px solid #d7e0ec; padding:16px; border-radius:12px; }
.consulting-admin-shell .cas-overview-lists ul { margin:12px 0; }
.consulting-admin-shell .cas-overview-lists li { border-bottom:1px solid #e3eaf3; }
.consulting-admin-shell .cas-overview-lists li button { display:block; width:100%; text-align:left; padding:12px 0; }
.consulting-admin-shell .cas-overview-lists li strong,.consulting-admin-shell .cas-overview-lists li span { display:block; overflow-wrap:anywhere; font-size:13px; }
.consulting-admin-shell .cas-overview-lists li span { color:#52627a; font-size:11px; margin-top:4px; }
.consulting-admin-shell #shell-panel-resources > .overflow-x-auto { margin-top:0; }
.consulting-admin-shell .cas-workspace-host { min-width:0; }
.consulting-admin-shell .cas-shared-zone { margin-top:24px; padding-top:24px; border-top:1px solid #d7e0ec; }
.consulting-admin-shell #shell-panel-drive { overscroll-behavior:contain; }
.consulting-admin-shell .cas-load-state:has(> p + p) { flex-wrap:wrap; }
.consulting-admin-shell .cas-load-state:has(> .cas-load-notices) { flex-wrap:wrap; }
.consulting-admin-shell .cas-load-state:has(> .cas-load-notices) > #shell-load-message { flex:1 1 0; min-width:0; }
.consulting-admin-shell .cas-load-notices { flex:1 0 100%; min-width:0; max-height:45dvh; overflow-y:auto; display:flex; flex-direction:column; gap:8px; }
.consulting-admin-shell .cas-load-notices:not(:has(> :not([hidden]))) { display:none; }
.consulting-admin-shell #shell-panel-resources table { min-width:0; table-layout:fixed; }
.consulting-admin-shell #shell-panel-resources th:first-child { width:40%; }
.consulting-admin-shell #shell-panel-resources td { overflow-wrap:anywhere; }
.consulting-admin-shell .cas-response-layout { display:grid; grid-template-columns:minmax(240px,300px) minmax(0,1fr); gap:16px; height:100%; min-height:0; }
.consulting-admin-shell .cas-response-master,.consulting-admin-shell .cas-response-detail { min-height:0; min-width:0; overflow:auto; }
.consulting-admin-shell #assignment-list { display:flex; flex-direction:column; gap:8px; margin:0; }
.consulting-admin-shell #assignment-list article { padding:12px; border-radius:12px; }
.consulting-admin-shell #assignment-list [aria-current="true"] { border-color:#31779b; background:#e9f4fc; }
.consulting-admin-shell #response-detail { margin:0; padding:16px; border-radius:12px; }
.consulting-admin-shell #response-detail > div:first-child > div:last-child { flex-wrap:wrap; }
.consulting-admin-shell .cas-dialog { width:min(920px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid #c4d0df; border-radius:16px; color:#15223a; box-shadow:0 24px 80px #101d3340; }
.consulting-admin-shell .cas-dialog[open] { display:flex; flex-direction:column; }
.consulting-admin-shell .cas-dialog::backdrop { background:#101d3380; }
.consulting-admin-shell .cas-dialog-heading { padding:16px; border-bottom:1px solid #d7e0ec; flex-shrink:0; }
.consulting-admin-shell .cas-dialog-body { padding:16px; overflow:auto; min-height:0; }
.consulting-admin-shell .cas-dialog-body > section { border:0; padding:0; box-shadow:none; }
.consulting-admin-shell .cas-dialog .input { font-weight:500; }
.consulting-admin-shell .text-slate-400 { color:#52627a; }
.consulting-admin-shell .text-slate-300 { color:#52627a; }
@media(max-width:1100px) { .consulting-admin-shell .cas-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .consulting-admin-shell .cas-layout { grid-template-columns:216px minmax(0,1fr); } }
@media (min-width:768px) and (max-width:1100px) {
  .consulting-admin-shell .cas-response-layout { grid-template-columns:1fr; }
  .consulting-admin-shell .cas-response-detail { display:none; }
  .consulting-admin-shell .cas-detail-open .cas-response-master { display:none; }
  .consulting-admin-shell .cas-detail-open .cas-response-detail { display:block; }
}
@media(max-width:767px) {
  .consulting-admin-shell { height:auto; min-height:100dvh; overflow:visible; }
  .consulting-admin-shell .cas-header,.consulting-admin-shell .cas-header > div { height:auto; min-height:64px; }
  .consulting-admin-shell .cas-header > div { gap:8px; padding:8px 12px; }
  .consulting-admin-shell .cas-header a { font-size:10px; padding:8px; }
  .consulting-admin-shell .cas-header h1 { font-size:16px; }
  .consulting-admin-shell .cas-layout { grid-template-columns:1fr; padding:12px; }
  .consulting-admin-shell .cas-rail { padding:12px; gap:8px; }
  .consulting-admin-shell .cas-rail.is-collapsed > :not(.cas-rail-heading) { display:none; }
  .consulting-admin-shell #shell-students-toggle { display:block; margin-left:auto; }
  .consulting-admin-shell #shell-overview { display:block; height:auto; }
  .consulting-admin-shell .cas-overview-lists > article > ul { max-height:260px; }
  .consulting-admin-shell .cas-students { max-height:148px; }
  .consulting-admin-shell .cas-students button { padding:8px 12px; }
  .consulting-admin-shell .cas-workspace { display:flex; flex-direction:column; }
  .consulting-admin-shell .cas-load-notices { max-height:none; overflow:visible; }
  .consulting-admin-shell .cas-context { align-items:flex-start; flex-wrap:wrap; }
  .consulting-admin-shell .cas-context-actions { width:100%; justify-content:flex-start; }
  .consulting-admin-shell .cas-tabs { gap:0; }
  .consulting-admin-shell .cas-tabs button { flex:1; padding:10px 4px; font-size:12px; }
  .consulting-admin-shell .cas-panel { padding:12px; overflow:visible; }
  .consulting-admin-shell .cas-overview-lists { grid-template-columns:1fr; }
  .consulting-admin-shell .cas-kpis { gap:8px; }
  .consulting-admin-shell .cas-kpis article { padding:12px; }
  .consulting-admin-shell .cas-kpis p { font-size:18px; }
  .consulting-admin-shell .cas-response-layout { grid-template-columns:1fr; }
  .consulting-admin-shell .cas-response-detail { display:none; }
  .consulting-admin-shell .cas-detail-open .cas-response-master { display:none; }
  .consulting-admin-shell .cas-detail-open .cas-response-detail { display:block; }
  .consulting-admin-shell .cas-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
  .consulting-admin-shell .cas-dialog-heading { align-items:flex-start; flex-wrap:wrap; }
  .consulting-admin-shell #shell-panel-resources th,.consulting-admin-shell #shell-panel-resources td { padding:8px 4px; font-size:11px; }
}
@media (min-width:768px) and (max-height:600px) {
  .consulting-admin-shell { height:auto; min-height:100dvh; overflow:visible; }
  .consulting-admin-shell .cas-layout { min-height:480px; }
  .consulting-admin-shell .cas-students { max-height:360px; }
  .consulting-admin-shell .cas-panel { max-height:650px; }
}
