/* School home: layered color, editorial typography and fluid, movable cards. */
.main:has(.dashboard-scene){position:relative;background:radial-gradient(ellipse at 100% 0%,#edcedd8c 0,transparent 48%),radial-gradient(ellipse at 0% 22%,#dcd4f99c 0,transparent 45%);padding-top:18px}
:root[data-theme=dark] .main:has(.dashboard-scene){background:radial-gradient(ellipse at 100% 0%,#74315140,transparent 48%),radial-gradient(ellipse at 0% 22%,#5d45a440,transparent 45%)}
.main:has(.dashboard-scene) .topline{margin-bottom:10px;padding:10px 16px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 85%,transparent);box-shadow:0 5px 20px #23134104}
.main:has(.dashboard-scene) .school-identity img{height:35px;width:40px}.main:has(.dashboard-scene) .school-identity small{font-size:11px}
.main:has(.dashboard-scene) .workspace-toolbar{margin:0 0 14px;justify-content:flex-end;gap:8px}.main:has(.dashboard-scene) .workspace-toolbar button{font-size:11px;padding:5px 10px;background:transparent;border:0}.main:has(.dashboard-scene) .workspace-toolbar small{display:none}
.dashboard-scene{--scene-violet:#7049c8;--scene-rose:#d65d87;--scene-line:color-mix(in srgb,var(--scene-violet) 17%,var(--surface));position:relative}
.scene-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:8px 0 18px}.scene-kicker{font-size:10px;letter-spacing:.19em;font-weight:750;color:var(--muted);display:flex;gap:8px;align-items:center}.scene-kicker span{height:7px;width:7px;border-radius:50%;background:#bc4e83;box-shadow:0 0 0 4px #bc4e8315}.scene-heading h1{font-size:clamp(34px,4vw,54px);line-height:1.12;letter-spacing:-2px;margin:10px 0 8px;font-weight:760;color:var(--ink)}.scene-dot{color:var(--scene-rose)}.scene-heading p{font-size:13px;color:var(--muted);margin:0}.scene-actions{display:flex;gap:8px}.scene-actions button{border:1px solid var(--scene-line);border-radius:40px;font-size:12px;padding:10px 18px;color:var(--ink);background:color-mix(in srgb,var(--surface) 80%,transparent)}
.dashboard-scene .dashboard-layout-bar{padding:12px 0;margin:0 0 14px;border-top:1px solid var(--scene-line);gap:10px}.dashboard-scene .dashboard-layout-bar strong{font-weight:650;font-size:12px;color:var(--ink)}.dashboard-scene .dashboard-layout-bar small{font-size:11px;margin-top:2px}.dashboard-scene .dashboard-layout-bar button{border-radius:30px;font-size:11px;padding:8px 14px;background:var(--surface);border:1px solid var(--scene-line);color:var(--ink)}.dashboard-scene #layout-status{font-size:10px}
.dashboard-scene .dashboard-canvas{gap:22px;position:relative;isolation:isolate}.dashboard-scene .dashboard-canvas:before{content:'';pointer-events:none;position:absolute;inset:40px 5% auto;height:360px;border-radius:45%;background:linear-gradient(100deg,#a98be630,#e998ab35);filter:blur(60px);z-index:-1}
.dashboard-scene .dashboard-widget{border-radius:24px;border:1px solid var(--scene-line);box-shadow:0 12px 35px #29184509,0 2px 6px #29184504;transition:box-shadow .2s,outline-color .2s}
.dashboard-scene .dashboard-widget:hover{box-shadow:0 16px 40px #29184513,0 3px 8px #29184506}
.dashboard-scene .dashboard-widget.school-home-image:not(.school-logo-widget){background:linear-gradient(135deg,#f5f0fa,#ede5f5 45%,#f4e4eb)!important;padding:10px!important;border:1px solid #ffffffaa;box-shadow:0 14px 40px #3e27531a}
:root[data-theme=dark] .dashboard-scene .dashboard-widget.school-home-image:not(.school-logo-widget){background:linear-gradient(135deg,#3a2d4f,#30233c)!important;border-color:#6a527b}
.dashboard-scene .dashboard-widget.school-home-image:not(.school-logo-widget) .widget-content{border-radius:16px;background:transparent}
.dashboard-scene .school-home-image img{position:relative;z-index:1}
.dashboard-scene .dashboard-widget.school-logo-widget{background:radial-gradient(ellipse at 100% 0%,#9454a6,transparent 70%),linear-gradient(145deg,#302043,#5a337c)!important;border-color:#75508e;color:white;padding:0!important;box-shadow:0 16px 35px #4c2e7226}
.dashboard-scene .school-logo-widget:before{content:'';position:absolute;width:240px;height:240px;border:1px solid #ffffff1f;border-radius:50%;top:-120px;right:-100px;box-shadow:0 0 0 28px #ffffff07,0 0 0 58px #ffffff05;pointer-events:none}
.dashboard-scene .school-logo-widget .widget-content{display:flex;flex-direction:column;gap:14px;padding:22px!important;overflow:hidden}
.dashboard-scene .school-logo-widget img{flex:1;min-height:0;max-height:100%;width:100%;height:0!important;object-fit:contain!important;background:#fff;border-radius:15px;padding:12px;box-shadow:0 7px 24px #150d2f22}
.scene-brand-caption{flex:none;text-align:center;max-width:100%;position:relative;z-index:1}.scene-brand-caption span{display:block;font-size:9px;letter-spacing:.18em;color:#e5d5f2}.scene-brand-caption strong{display:block;font-size:19px;letter-spacing:.05em;font-weight:650;overflow-wrap:anywhere;margin-top:4px;color:white}
.dashboard-scene .dashboard-widget.welcome{background:radial-gradient(ellipse at 100% 110%,#ce5e8d90,transparent 64%),radial-gradient(ellipse at 0% 0%,#8c68cd88,transparent 60%),linear-gradient(120deg,#2d2045,#512f73)!important;border:1px solid #715085;color:white;box-shadow:0 16px 40px #4d2c6924}
.dashboard-scene .welcome .widget-content{padding:30px 34px}.dashboard-scene .welcome h2{font-size:clamp(24px,3vw,39px);line-height:1.22;letter-spacing:-1px;max-width:780px;text-wrap:balance}.dashboard-scene .welcome .eyebrow{font-size:10px;letter-spacing:.17em;color:#ebd6ff}.dashboard-scene .welcome .widget-content:after{content:'';height:230px;width:230px;border:1px solid #ffffff20;border-radius:50%;top:30%;right:-70px;transform:none;opacity:1;box-shadow:0 0 0 25px #ffffff05,0 0 0 52px #ffffff03}.dashboard-scene .welcome p{font-size:13px;line-height:1.6;color:#e4daed;position:relative;z-index:1}.dashboard-scene .welcome button{border-radius:30px;padding:11px 20px;background:#fff;color:#4b2c68;box-shadow:0 4px 15px #150c2f18;font-size:12px}
.dashboard-scene .dashboard-widget.card{border:1px solid var(--scene-line);background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface) 90%,#d9c8f0))!important}
.dashboard-scene .dashboard-widget.card:nth-of-type(even){background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface) 90%,#e9bdce))!important}
.dashboard-scene .card .widget-content{padding:25px;gap:10px}.dashboard-scene .card .icon{background:linear-gradient(135deg,#eee5fb,#e2d4f5);color:#694398;border:1px solid #ffffffb0;border-radius:13px;box-shadow:0 4px 9px #7c4fa313;width:40px;height:40px}.dashboard-scene .card strong{font-size:clamp(32px,3.8vw,48px);font-weight:730;letter-spacing:-1.7px;color:var(--ink)}.dashboard-scene .card .muted{font-size:12px}.stat-footnote{font-size:10px;letter-spacing:.02em;color:var(--muted);border-top:1px solid var(--scene-line);padding-top:9px;margin-top:auto}
.dashboard-scene .panel h2{font-size:19px;letter-spacing:-.4px}.dashboard-scene .panel .section-title button,.dashboard-scene .row-list button{border-radius:30px;border:1px solid var(--scene-line);background:var(--surface);color:var(--ink)}.dashboard-scene .panel .row-list:last-child{border-bottom:0}.dashboard-scene .row-list b{font-size:13px}.dashboard-scene .row-list .muted{font-size:11px}
.dashboard-scene .widget-tools{border-radius:0;background:var(--soft);color:var(--ink);position:relative;z-index:3}.dashboard-scene .widget-resize{z-index:4;border-radius:10px 0 20px 0;background:var(--surface)}
@media(max-width:700px){.scene-heading{align-items:flex-start;flex-direction:column;gap:14px}.scene-heading h1{font-size:36px}.scene-actions{align-self:flex-end}.dashboard-scene .dashboard-canvas{gap:14px}.dashboard-scene .dashboard-widget{border-radius:18px}.dashboard-scene .school-logo-widget .widget-content{padding:12px!important;gap:8px}.scene-brand-caption strong{font-size:13px}.scene-brand-caption span{font-size:8px}.dashboard-scene .welcome .widget-content{padding:24px}.dashboard-scene .card .widget-content{padding:18px}.main:has(.dashboard-scene){padding-top:12px}}
@media(prefers-reduced-motion:reduce){.dashboard-scene .dashboard-widget{transition:none}}
/* Four coordinated palettes, independent of the readable light/dark surfaces. */
:root[data-scene=midnight] .dashboard-scene{--scene-violet:#4767ad;--scene-rose:#8287dd}
:root[data-scene=emerald] .dashboard-scene{--scene-violet:#277c72;--scene-rose:#ac8237}
:root[data-scene=sunset] .dashboard-scene{--scene-violet:#a54d55;--scene-rose:#bb643a}
:root[data-scene=midnight] .dashboard-scene .dashboard-widget.welcome,:root[data-scene=midnight] .dashboard-scene .dashboard-widget.school-logo-widget{background:radial-gradient(ellipse at 100% 0%,#7b70bbaa,transparent 65%),linear-gradient(130deg,#172941,#324f81)!important;border-color:#536a91}
:root[data-scene=emerald] .dashboard-scene .dashboard-widget.welcome,:root[data-scene=emerald] .dashboard-scene .dashboard-widget.school-logo-widget{background:radial-gradient(ellipse at 100% 0%,#a18e4e80,transparent 65%),linear-gradient(130deg,#163c39,#286b5d)!important;border-color:#4c8070}
:root[data-scene=sunset] .dashboard-scene .dashboard-widget.welcome,:root[data-scene=sunset] .dashboard-scene .dashboard-widget.school-logo-widget{background:radial-gradient(ellipse at 100% 0%,#e0a47788,transparent 65%),linear-gradient(130deg,#572b3e,#944956)!important;border-color:#a86d76}
:root[data-scene=midnight] .main:has(.dashboard-scene){background:radial-gradient(ellipse at 100% 0%,#bfcce82e,transparent 50%),radial-gradient(ellipse at 0% 22%,#a3b6e938,transparent 50%)}
:root[data-scene=emerald] .main:has(.dashboard-scene){background:radial-gradient(ellipse at 100% 0%,#d4b9822e,transparent 50%),radial-gradient(ellipse at 0% 22%,#8ec4af38,transparent 50%)}
:root[data-scene=sunset] .main:has(.dashboard-scene){background:radial-gradient(ellipse at 100% 0%,#eab6a12e,transparent 50%),radial-gradient(ellipse at 0% 22%,#dba1b038,transparent 50%)}
:root:not([data-scene=atelier]) .dashboard-scene .card .icon{background:color-mix(in srgb,var(--scene-violet) 14%,var(--surface));color:var(--ink);border-color:var(--scene-line)}

/* Welcome can be a compact banner: decorations never create scrollbars. */
.dashboard-scene .dashboard-widget.welcome{min-height:80px;container-type:inline-size;display:flex;flex-direction:column}
.dashboard-scene .dashboard-widget.welcome .widget-content{overflow:hidden;min-height:0;flex:1;max-height:none;padding:clamp(8px,3cqw,30px);overflow-wrap:anywhere}
.dashboard-scene .dashboard-widget.welcome h2{font-size:clamp(16px,4cqw,39px);letter-spacing:-.025em}
.dashboard-scene .dashboard-widget.welcome .widget-content:after{overflow:hidden;max-width:100%;pointer-events:none}
.dashboard-scene .layout-editing .dashboard-widget.welcome{min-height:80px}
.dashboard-scene .layout-editing .welcome .widget-tools{flex:none;padding:4px;gap:2px}
.dashboard-scene .layout-editing .welcome .widget-drag span{display:none}


.guides-widget .widget-content{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,var(--surface)),var(--surface))}.guide-widget-search{display:flex;align-items:flex-end;gap:10px;margin:16px 0}.guide-widget-search label{flex:1;min-width:0}.guides-widget .actions{flex-wrap:wrap}.guides-widget h2{color:var(--ink)}
