/* Responsive workspace: shared palette, clear surfaces in light and dark modes. */
.dashboard-layout-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.dashboard-layout-bar>div{margin-right:auto}.dashboard-layout-bar small{display:block;color:var(--muted);font-size:12px}.dashboard-layout-bar #layout-status{font-size:12px;color:var(--muted)}
.dashboard-canvas{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:start;padding-bottom:32px}.dashboard-widget{position:relative;min-width:0;min-height:190px;margin:0!important;border:1px solid var(--border);border-radius:var(--radius,18px);background:var(--surface);box-shadow:0 6px 24px #17112908;overflow:hidden;padding:0!important;transition:box-shadow .2s,border-color .2s}.widget-content{padding:24px;max-height:100%;overflow:auto;box-sizing:border-box}.dashboard-widget.card .widget-content{display:flex;flex-direction:column;gap:8px}.dashboard-widget.card strong{font-size:clamp(24px,3vw,38px);line-height:1.15;overflow-wrap:anywhere;letter-spacing:-1px}.dashboard-widget.card .icon{align-self:flex-start;border-radius:12px;width:40px;height:40px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent-ink)}.dashboard-widget.card{border-top:3px solid var(--accent)}.dashboard-widget[data-widget=income]{border-top-color:var(--secondary)}
.dashboard-widget.welcome{min-height:235px;background:radial-gradient(ellipse at 95% 10%,#e3428666,transparent 55%),linear-gradient(115deg,#2a164e,#6834ab);color:#fff;border:0;isolation:isolate}.dashboard-widget.welcome .widget-content{padding:36px;position:relative}.dashboard-widget.welcome .widget-content:after{content:'♫';position:absolute;right:8%;top:0;font-size:180px;line-height:1.4;opacity:.12;pointer-events:none;transform:rotate(-15deg)}.dashboard-widget.welcome h2{font-size:clamp(26px,3vw,42px);letter-spacing:-1px;margin:8px 0;position:relative;z-index:1}.dashboard-widget.welcome p{color:#f0e6ff}.dashboard-widget.welcome button{position:relative;z-index:1;background:#fff;color:#412164}.dashboard-widget.welcome .eyebrow{color:#f3d5ff}.dashboard-widget .section-title{gap:10px;flex-wrap:wrap}.dashboard-widget h2{font-size:20px;margin-top:0}.dashboard-widget .row-list{gap:12px;padding:13px 0}.dashboard-widget .row-list>div{min-width:0;overflow-wrap:anywhere}.dashboard-widget .row-list button{font-size:12px;padding:8px 10px}.dashboard-widget:hover{box-shadow:0 10px 32px #17112912}.school-home-image{border-radius:var(--radius);overflow:hidden}
.widget-tools{display:flex;align-items:center;gap:3px;padding:8px;background:var(--soft);border-bottom:1px dashed var(--border);color:var(--ink);flex-wrap:wrap}.widget-tools button{background:var(--surface);color:var(--ink);padding:5px 7px;font-size:12px;border:1px solid var(--border)}.widget-tools .widget-drag{cursor:grab;touch-action:none;flex:1;text-align:left}.widget-drag span{font-size:11px}.widget-resize{position:absolute;bottom:2px;right:2px;padding:4px 8px;background:var(--surface);color:var(--accent-ink);cursor:nwse-resize;touch-action:none;border:1px solid var(--border)}.widget-tools[hidden],.widget-resize[hidden]{display:none}.layout-editing .dashboard-widget{outline:1px dashed var(--accent);min-height:220px}.layout-editing .widget-content{max-height:calc(100% - 58px);padding-bottom:38px}.widget-moving{outline:3px solid var(--accent)!important;opacity:.8}.software-info{margin-top:24px}.software-info td{overflow-wrap:anywhere}.software-info .table-wrap{overflow:auto}
@media(max-width:900px){.dashboard-widget.card{grid-column:span 6!important}.dashboard-widget:not(.card):not(.school-home-image){grid-column:span 12!important}}@media(max-width:550px){.dashboard-canvas{gap:12px}.dashboard-widget{grid-column:span 12!important}.dashboard-widget:not(.school-home-image):not(.welcome){height:auto!important}.dashboard-widget.card{grid-column:span 6!important}.widget-content{padding:16px}.dashboard-widget.card strong{font-size:25px}.dashboard-widget.welcome .widget-content{padding:24px}.widget-tools .widget-drag span{display:none}}
@media(prefers-reduced-motion:reduce){.dashboard-widget{transition:none}}

.dashboard-widget.school-home-image{min-height:0}.dashboard-widget.school-home-image .widget-content{padding:0}.dashboard-widget.school-home-image img{display:block;width:100%;height:220px;object-fit:cover;object-position:center 40%;max-height:100%}.dashboard-widget.welcome:after{display:none}.main:has(.dashboard-canvas) .workspace-toolbar{margin-bottom:20px}.dashboard-widget .note-card{box-shadow:none}
.dashboard-widget.welcome .widget-content:after{font-size:130px;line-height:1;height:150px;top:30px;overflow:hidden}
/* The full photo fits the available widget area, without cropping. */
.dashboard-widget.school-home-image{display:flex;flex-direction:column;min-height:0}
.dashboard-widget.school-home-image .widget-content{flex:1;min-height:0;max-height:none;padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.dashboard-widget.school-home-image img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;display:block}
.dashboard-widget.school-home-image[style*="height:"] .widget-content{height:0}
.dashboard-widget.school-home-image[style*="height:"] img{height:100%;max-height:100%;min-height:0}
.layout-editing .dashboard-widget.school-home-image .widget-tools{flex:none}
.welcome-copy{white-space:pre-wrap}.technical-details{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3fr);gap:12px 20px}.technical-details dt{font-weight:700}.technical-details dd{margin:0;overflow-wrap:anywhere;padding-bottom:10px;border-bottom:1px solid var(--border)}
@media(max-width:550px){.technical-details{grid-template-columns:1fr;gap:4px}}
