/* Teaching workbench using the shared cream, ink and teal site palette. */
#dashboard{--d-bg:var(--cream);--d-pane:#fff;--d-line:var(--line);--d-text:var(--ink);--d-muted:var(--muted);--d-accent:var(--teal);color:var(--d-text);background:var(--d-bg);border:1px solid var(--d-line);border-radius:12px;overflow:hidden;font:13px/1.55 system-ui,sans-serif}
.dashboard-mode{background:var(--cream)}.dashboard-mode .sidebar{background:linear-gradient(125deg,#1b4545,#153b3d)}.dashboard-mode .nav.active{background:#32615d;color:#fff}.dashboard-mode main{max-width:none;padding:16px 16px 10px}.dashboard-mode main>header,.dashboard-mode .demo-banner,.dashboard-mode footer{display:none}
#dashboard button,#dashboard input,#dashboard textarea,#dashboard select,#dashboard a{font:inherit}#dashboard button{border:1px solid var(--d-line);border-radius:5px;background:#f2f6ef;color:var(--d-text);padding:7px 10px}#dashboard button:hover{background:#e1eee3}#dashboard button:disabled{cursor:default;opacity:.5}#dashboard input,#dashboard textarea,#dashboard select{background:#fff;color:var(--d-text);border:1px solid #b5c7bc;border-radius:5px;padding:9px;max-width:100%;min-width:0}#dashboard input::placeholder,#dashboard textarea::placeholder{color:var(--muted)}#dashboard a{color:var(--teal)}#dashboard h2,#dashboard h3{font-family:var(--serif);letter-spacing:-.5px}#dashboard h2{font-size:24px;margin:1px 0}#dashboard h3{font-size:20px;margin:0 0 16px}#dashboard p{overflow-wrap:anywhere}#dashboard .dash-muted{color:var(--d-muted)}
.dash-top{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--d-line);gap:12px}.dash-eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted)}.dash-top-actions{display:flex;gap:7px;flex-wrap:wrap}.dash-grid{display:grid;grid-template-columns:236px minmax(0,1fr) 320px;min-height:660px;height:calc(100vh - 146px);max-height:1100px}.dash-explorer,.dash-center,.dash-agent{min-width:0;min-height:0}.dash-explorer{background:#f7f7f0;border-right:1px solid var(--d-line);overflow:auto;padding-bottom:16px}.dash-pane-title{height:43px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--d-line);padding:10px 14px;font-size:10px;letter-spacing:1.2px;color:var(--muted)}.dash-search{display:block;padding:12px 10px 8px}.dash-search input{width:100%}.dash-inline{display:flex;gap:5px;padding:6px 10px 12px}.dash-inline input{width:100%;min-width:0}.dash-folder{margin:4px 0}.dash-folder summary{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:10px;letter-spacing:.8px;color:var(--muted);padding:9px 12px;list-style:none}.dash-folder summary:before{content:'▾';color:var(--teal)}.dash-folder:not([open]) summary:before{content:'▸'}.dash-folder summary>span{display:none}.dash-folder summary small{margin-left:auto}#dashboard .dash-project-label{background:none;border:0;padding:0;text-align:left;overflow-wrap:anywhere;letter-spacing:0;font-weight:600;color:var(--ink)}#dashboard .dash-root,#dashboard .dash-tree-file{width:100%;text-align:left;background:none;border:0;border-radius:0;padding:8px 14px;overflow-wrap:anywhere;font-size:12px;line-height:1.5}#dashboard .dash-tree-file.nested{padding-left:25px;border-left:1px solid var(--line)}.dash-tree-actions{padding:0 14px 5px}#dashboard .dash-tree-actions button{padding:3px 8px;font-size:11px}.dash-explorer .dash-muted{padding:0 14px;font-size:12px}#dashboard .selected{background:#e1eee3;color:#235642}.dash-center{display:flex;flex-direction:column;background:#fff}.dash-tabs{display:flex;overflow-x:auto;flex-shrink:0;min-height:43px;border-bottom:1px solid var(--d-line);background:#f3f3ec}.dash-tab-wrap{display:flex;flex-shrink:0;border-right:1px solid var(--d-line)}#dashboard .dash-tab{border:0;border-radius:0;background:transparent;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;text-align:left;padding:12px}#dashboard .dash-tab[aria-selected=true]{box-shadow:inset 0 2px var(--teal);background:#e1eee3;color:#235642}#dashboard .dash-close{padding:3px 7px;background:transparent;border:0;border-radius:0}.dash-filebar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--d-line);gap:8px;padding:9px 13px;color:var(--muted);font-size:11px;flex-shrink:0}.dash-filebar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#dashboard #dash-link{font-size:10px;padding:4px 7px;flex-shrink:0}#dash-editor{overflow:auto;flex:1;padding:24px;min-height:0;overflow-wrap:anywhere}#dash-editor:focus{outline-offset:-3px}.dash-welcome{max-width:560px;margin:13vh auto 0;text-align:center}.dash-welcome-mark{display:block;font-size:45px;color:var(--d-accent);margin-bottom:20px}.dash-welcome-cards{display:flex;justify-content:center;gap:12px;margin-top:28px}.dash-welcome-cards p{border:1px solid var(--d-line);border-radius:8px;padding:13px;color:var(--muted)}.dash-document-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:20px}.dash-notice{padding:12px;border-left:2px solid #c48a31;background:#fff6e9;color:#655339;white-space:pre-wrap;font-size:12px}.dash-source{display:flex;gap:16px;margin:20px 0;border-bottom:1px solid var(--line);padding-bottom:14px}.dash-line-number{font:11px ui-monospace,monospace;color:var(--muted);min-width:25px;padding-top:2px}.dash-source-text{min-width:0}.dash-source-text small{color:var(--teal);font-size:11px}.dash-source-text p{white-space:pre-wrap;margin:7px 0;font-size:14px;line-height:1.8}.dash-material{display:flex;flex-direction:column;padding:16px;margin:10px 0;text-decoration:none;border:1px solid var(--d-line);border-radius:7px;background:#fcf9f2}.dash-material span{color:var(--muted);font-size:12px;margin-top:4px}.dash-task-form label{display:block;margin-bottom:20px;color:var(--ink)}.dash-task-form input,.dash-task-form textarea,.dash-task-form select{display:block;width:100%;margin-top:7px}.dash-task-form textarea{min-height:230px;resize:vertical}.dash-task-form button{margin-right:8px}.dash-agent{border-left:1px solid var(--d-line);display:flex;flex-direction:column;background:#fff}.dash-agent>.dash-pane-title>span:first-child{color:var(--teal)}#dash-agent-state{font-size:9px;letter-spacing:.6px;color:#235642}#dash-chat-project{font-size:12px;color:var(--muted);padding:0 14px;margin:12px 0;overflow-wrap:anywhere}.dash-context{border:1px solid var(--d-line);border-radius:5px;margin:0 12px;padding:9px;font-size:11px}.dash-context>span{font-size:9px;letter-spacing:1px;color:var(--teal)}.dash-context strong{display:block;font-weight:500;overflow-wrap:anywhere;margin:4px 0 7px;color:var(--ink)}.dash-context label{color:var(--muted);display:flex;align-items:center;gap:6px}.dash-context input{accent-color:var(--teal)}#dash-messages{flex:1;min-height:170px;overflow:auto;padding:12px;scrollbar-color:#b5c7bc transparent}.dash-agent-intro{padding:45px 12px 20px}.dash-agent-intro>span{font-size:27px;color:var(--teal)}.dash-agent-intro h3{font-size:18px!important;margin-top:12px!important}.dash-agent-intro p{line-height:1.8;font-size:12px}.dash-message{padding:12px;margin:10px 0;background:#f5f5f3;border:1px solid var(--line);border-radius:7px}.dash-message.teacher{background:#e7f1e9;border-color:#b5c7bc}.dash-message>small{font:9px ui-monospace,monospace;color:var(--muted);letter-spacing:.8px}.dash-message p{white-space:pre-wrap;font-size:12px;line-height:1.8;margin:6px 0}.dash-message .dash-message-context{display:block;color:var(--teal);overflow-wrap:anywhere}.dash-message button{font-size:10px!important;padding:4px 6px!important}.dash-error{color:#913f35}.dash-agent form{padding:12px 12px 0;border-top:1px solid var(--d-line)}#dash-message{width:100%;resize:vertical;min-height:100px;max-height:260px}.dash-chat-actions{display:flex;justify-content:space-between;margin-top:8px;gap:7px}#dashboard #dash-send{background:var(--teal);color:#fff;font-weight:650;border-color:var(--teal)}#dashboard #dash-clear{font-size:10px;padding:5px 7px}.dash-chat-note{font-size:10px;color:var(--muted);padding:0 12px 12px;margin:10px 0 0}.dash-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--d-line);background:#f2f6ef;font-size:10px;padding:8px 14px;color:var(--muted)}.dash-bottom>span:last-child{font-size:9px;white-space:nowrap;color:var(--teal)}
#dashboard #local-review{margin:0;padding:0;border:0}#dashboard #local-review h3{font-size:17px}#dashboard #local-review p{font-size:12px;color:var(--muted)}#dashboard #local-review fieldset{border-color:#b5c7bc}#dashboard #local-review legend{color:var(--teal);padding:0 7px}#dashboard #local-review label{color:var(--ink);font-size:12px}#dashboard #local-review textarea{min-height:85px}#dashboard #local-review>button{margin:10px 7px 15px 0}#dashboard #local-review pre{font-size:12px;color:var(--ink)}#dash-mobile-menu{display:none}
@media(min-width:1600px){.dash-grid{grid-template-columns:270px minmax(0,1fr) 360px}}
@media(max-width:1150px){.dash-grid{grid-template-columns:210px minmax(0,1fr);height:auto;max-height:none;min-height:690px}.dash-agent{grid-column:1/3;border-left:0;border-top:1px solid var(--d-line);max-height:650px;min-height:400px}.dash-center{height:650px}.dash-explorer{max-height:650px}.dash-filebar{flex-wrap:wrap}#dash-editor{padding:18px}}
@media(max-width:700px){.dashboard-mode main{padding:10px}.dash-top{padding:13px;align-items:flex-start;flex-wrap:wrap}.dash-top-actions{width:100%}#dashboard #dash-mobile-menu{display:inline-block;margin-right:5px}.dash-grid{display:flex;flex-direction:column;min-height:0}.dash-explorer{max-height:340px;border-right:0;border-bottom:1px solid var(--d-line)}.dash-center{height:620px}.dash-agent{min-height:530px;max-height:800px}.dash-bottom{flex-direction:column;gap:4px}.dash-welcome{margin:50px auto}.dash-welcome-cards{flex-wrap:wrap;gap:6px}.dash-welcome-cards p{margin:0;padding:10px}.dash-filebar{font-size:10px}#dash-editor{padding:15px}.dash-task-form textarea{min-height:180px}.dash-source{gap:9px}}
.dashboard-mode #local-shell{display:none}.dash-project-options{margin:8px 10px 12px;padding:7px;border:1px solid var(--d-line);border-radius:5px}.dash-project-options>summary{padding:3px!important;font-size:10px}.dash-project-options .dash-inline{padding:8px 0}.dash-project-options>button{font-size:10px!important;color:#913f35!important}

/* The center receives all space released by either side panel. */
@media(min-width:1151px){
 #dashboard.dash-hide-explorer .dash-grid{grid-template-columns:minmax(0,1fr) 320px}
 #dashboard.dash-hide-agent .dash-grid{grid-template-columns:236px minmax(0,1fr)}
 #dashboard.dash-hide-explorer.dash-hide-agent .dash-grid{grid-template-columns:minmax(0,1fr)}
}
@media(min-width:1600px){
 #dashboard.dash-hide-explorer .dash-grid{grid-template-columns:minmax(0,1fr) 360px}
 #dashboard.dash-hide-agent .dash-grid{grid-template-columns:270px minmax(0,1fr)}
 #dashboard.dash-hide-explorer.dash-hide-agent .dash-grid{grid-template-columns:minmax(0,1fr)}
}
@media(min-width:701px) and (max-width:1150px){
 #dashboard.dash-hide-explorer .dash-grid{grid-template-columns:minmax(0,1fr)}
 #dashboard.dash-hide-explorer .dash-agent{grid-column:1}
}
