/* EduSmart360 Frontend Rebuild — structural shell authority and authenticated product shell geometry.
   This file owns placement, shell sizing and compact interaction surfaces only.
   Colors and component paint remain in the canonical EDL. */

:root{
  --es360-desktop-nav:var(--edl-sidebar,238px);
  --es360-desktop-topbar:var(--edl-topbar,56px);
  --es360-tablet-rail:72px;
  --es360-mobile-nav-h:70px;
  --es360-touch-target:44px;
}

@media (min-width:1024px) and (max-width:1439px){:root{--es360-desktop-nav:var(--edl-sidebar-laptop,238px)}}

.app{min-width:0;min-height:100dvh}
.es360-mobile-toggle,.es360-mobile-actions-toggle,.es360-nav-backdrop,.es360-actions-backdrop,.es360-tablet-rail,.es360-bottom-nav,.es360-mobile-wordmark{display:none}
.es360-tablet-rail[hidden],.es360-bottom-nav[hidden]{display:none}
.es360-mobile-toggle,.es360-mobile-actions-toggle{width:var(--es360-touch-target);height:var(--es360-touch-target);align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;touch-action:manipulation}
.es360-nav-backdrop,.es360-actions-backdrop{position:fixed;inset:0;z-index:999}

.sidebar{display:flex;flex-direction:column;overflow:hidden;transition:transform var(--edl-mid) var(--edl-ease)}
.sidebar .menu{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.logo-area,.logo-row,.sf,.uc,.topbar,.tb-left,.tb-right,.main,.page{min-width:0}
.logo-row{align-items:center}.logo-row>div:last-child{min-width:0}
.uc,.uc>div{min-width:0}.un,.ur{max-width:100%}
.es360-drawer-lockup-copy{min-width:0}.es360-drawer-wordmark{white-space:nowrap}.es360-drawer-wordmark-main,.es360-drawer-wordmark-accent{display:inline}.es360-drawer-lockup-tag{white-space:normal}
.mi-ic{display:grid;place-items:center}
.es360-account-control{position:relative}
.es360-account-button{max-width:250px}.es360-account-copy{min-width:0}.es360-account-copy strong,.es360-account-copy span{max-width:180px}
.es360-account-menu[hidden]{display:none}
.es360-launcher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.es360-launcher-grid i{font-style:normal}
[data-es360-icon]{display:grid;place-items:center}[data-es360-icon] svg,.es360-report-icon svg,.es360-event-icon svg{width:100%;height:100%}.es360-report-icon,.es360-event-icon{display:inline-grid;place-items:center}
.as-chip[data-status]::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;background:currentColor}
.observer-banner{margin-bottom:18px}
body.observer-mode .main{min-width:0}

.es360-dialog-root{min-width:0}.es360-dialog{min-width:0}.es360-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.es360-dialog-heading{min-width:0;flex:1}.es360-dialog-body{display:grid;gap:14px;min-width:0}.es360-dialog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.es360-dialog-field{min-width:0}.es360-dialog-field.full{grid-column:1/-1}.es360-dialog-field-meta{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.es360-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.es360-dialog-check{display:flex;align-items:flex-start;gap:9px}.es360-dialog-check input{margin-top:3px}.es360-dialog-details{max-width:100%;overflow:auto}.es360-dialog[aria-busy="true"] .es360-dialog-close{pointer-events:none}

@media (min-width:1024px){
  .sidebar{position:fixed;left:0;top:0;width:var(--es360-desktop-nav);height:100dvh;transform:none}
  .topbar{position:fixed;left:var(--es360-desktop-nav);right:0;top:0;height:var(--es360-desktop-topbar);display:flex;align-items:center}
  .main{margin-left:var(--es360-desktop-nav);margin-top:var(--es360-desktop-topbar);min-height:calc(100dvh - var(--es360-desktop-topbar))}
  .es360-mobile-toggle,.es360-nav-backdrop{display:none}
}

@media (min-width:768px) and (max-width:1023px){
  body.es360-actions-open{overflow:hidden}
  body.es360-actions-open .es360-actions-backdrop{display:block}
  .topbar.es360-adaptive-topbar{display:grid;grid-template-columns:var(--es360-touch-target) minmax(0,1fr) var(--es360-touch-target);align-items:center;column-gap:10px}
  .es360-mobile-toggle{display:inline-flex;grid-column:1;grid-row:1}
  .tb-left{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;min-width:0}
  .tb-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
  .tb-bc,.tb-url{display:none}
  .es360-mobile-actions-toggle{display:inline-flex;grid-column:3;grid-row:1}
  .tb-right{position:fixed;right:14px;top:calc(var(--es360-desktop-topbar) + 10px);width:min(360px,calc(100vw - 28px));max-height:calc(100dvh - var(--es360-desktop-topbar) - 24px);overflow:auto;display:none;flex-direction:column;align-items:stretch;gap:8px;padding:12px;z-index:1001;border:1px solid var(--edl-line-strong);border-radius:16px;background:var(--edl-surface);box-shadow:var(--edl-shadow-2)}
  body.es360-actions-open .tb-right{display:flex}.tb-right>*{width:100%;max-width:100%}.tb-right>span{text-align:center;white-space:normal}
  .tb-right .es360-account-control{width:100%}.tb-right .es360-account-button{width:100%;max-width:none;justify-content:flex-start}.tb-right .es360-account-menu{position:static;width:100%;margin-top:8px;box-shadow:none}
  .sidebar{position:fixed;left:0;top:0;width:min(86vw,320px);height:100dvh;transform:translateX(-105%);z-index:1000}
  body.es360-nav-open .sidebar{transform:translateX(0)}
  body.es360-nav-open .es360-nav-backdrop{display:block}
  .es360-tablet-rail{position:fixed;left:0;top:0;bottom:0;width:var(--es360-tablet-rail);z-index:990;display:grid;grid-template-rows:repeat(5,minmax(52px,auto));align-content:center}
  .topbar{position:fixed;left:var(--es360-tablet-rail);right:0;top:0;height:var(--es360-desktop-topbar)}
  .main{margin-left:var(--es360-tablet-rail);margin-top:var(--es360-desktop-topbar);min-height:calc(100dvh - var(--es360-desktop-topbar))}
}

@media (max-width:767px){
  body.es360-actions-open{overflow:hidden}
  body.es360-actions-open .es360-actions-backdrop{display:block}
  .topbar.es360-adaptive-topbar{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;column-gap:8px;min-height:var(--es360-desktop-topbar);padding:8px 12px}
  .es360-mobile-toggle{display:none}
  .tb-left{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:flex-start;min-width:0}
  .tb-title{display:none}
  .es360-mobile-wordmark{display:inline-flex;align-items:baseline}
  .tb-bc,.tb-url{display:none}
  .es360-mobile-actions-toggle{display:inline-flex;grid-column:2;grid-row:1;width:44px;height:44px}
  .tb-right{position:fixed;right:12px;left:12px;bottom:calc(var(--es360-mobile-nav-h) + 12px + env(safe-area-inset-bottom,0px));max-height:min(62dvh,520px);overflow:auto;display:none;flex-direction:column;align-items:stretch;gap:8px;padding:12px;z-index:1001;border:1px solid var(--edl-line-strong);border-radius:18px;background:var(--edl-surface);box-shadow:var(--edl-shadow-3)}
  body.es360-actions-open .tb-right{display:flex}.tb-right>*{width:100%;max-width:100%}.tb-right>span{text-align:center;white-space:normal}
  .tb-right .es360-account-control{width:100%}.tb-right .es360-account-button{width:100%;max-width:none;min-height:56px;justify-content:flex-start;padding:8px}.tb-right .es360-account-copy{display:grid}.tb-right .es360-account-menu{position:static;left:auto;right:auto;top:auto;bottom:auto;width:100%;max-width:none;margin-top:8px;box-shadow:none}
  .sidebar{position:fixed;left:0;top:0;width:min(84vw,300px);height:100dvh;transform:translateX(-105%);z-index:1000}
  body.es360-nav-open .sidebar{transform:translateX(0)}
  body.es360-nav-open .es360-nav-backdrop{display:block}
  .topbar{position:fixed;left:0;right:0;top:0;height:var(--es360-desktop-topbar)}
  .main{margin-left:0;margin-top:var(--es360-desktop-topbar);min-height:calc(100dvh - var(--es360-desktop-topbar))}
  .es360-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:950;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:calc(var(--es360-mobile-nav-h) + env(safe-area-inset-bottom,0px));padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px))}
  .es360-dialog-grid{grid-template-columns:1fr}.es360-dialog-field.full{grid-column:auto}.es360-dialog-actions{flex-direction:column-reverse}.es360-dialog-actions>*{width:100%}
}

@media (max-width:480px){.es360-account-copy{display:none}.tb-right .es360-account-copy{display:grid}.es360-account-menu{position:fixed;left:12px;right:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:none}.tb-right .es360-account-menu{position:static;left:auto;right:auto;top:auto;bottom:auto;width:100%;max-width:none}}
@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}
@media print{.es360-mobile-toggle,.es360-mobile-actions-toggle,.es360-nav-backdrop,.es360-actions-backdrop,.es360-bottom-nav,.es360-tablet-rail{display:none}}
