:root{
  --v524-bg:#f3f6fb;
  --v524-surface:#ffffff;
  --v524-surface-soft:#f8fbff;
  --v524-border:#e1e8f2;
  --v524-border-strong:#d3deec;
  --v524-text:#10213d;
  --v524-muted:#667792;
  --v524-blue:#2563eb;
  --v524-blue-dark:#174ea6;
  --v524-green:#159565;
  --v524-orange:#d97706;
  --v524-purple:#7c3aed;
  --v524-pink:#db2777;
  --v524-danger:#b91c1c;
  --v524-sidebar:248px;
  --v524-shadow-sm:0 8px 24px rgba(15,42,78,.06);
  --v524-shadow:0 14px 38px rgba(15,42,78,.08);
}

*{box-sizing:border-box}

html,
body{
  margin:0;
  min-height:100%;
  overflow-x:hidden;
  background:var(--v524-bg)!important;
  color:var(--v524-text)!important;
  font-family:"Segoe UI",Tahoma,Arial,sans-serif!important;
}

body::before,
body::after{
  display:none!important;
  content:none!important;
}

body > .archive-overlay,
body > .suspension-lock{
  max-width:none!important;
  margin:0!important;
}

.app{
  width:min(1180px,calc(100% - 36px));
  max-width:1180px!important;
  margin:0 auto!important;
  padding:20px 0 36px!important;
}

@media (min-width:1000px){
  body{
    padding-right:var(--v524-sidebar)!important;
  }
}

/* ---------- Header ---------- */
.top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 10px!important;
  padding:15px 18px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid var(--v524-border)!important;
  border-radius:18px!important;
  box-shadow:var(--v524-shadow-sm)!important;
}

.top .brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  color:var(--v524-text)!important;
  font-size:23px!important;
  font-weight:900!important;
  letter-spacing:-.35px;
}

.top .brand::before{
  content:"DZ";
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:linear-gradient(135deg,#2f80ed,#19b979);
  color:#fff;
  font-size:12px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(37,99,235,.18);
}

.top-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}

.account-chip,
.subscription-btn,
.top .badge{
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 11px!important;
  border-radius:10px!important;
  font-size:11.5px!important;
  font-weight:750!important;
  white-space:nowrap;
}

.account-chip{
  background:#f4f8fd!important;
  border:1px solid #dce5f1!important;
  color:#40536f!important;
}

.subscription-btn{
  background:#effcf6!important;
  border:1px solid #a7e7c5!important;
  color:#08734d!important;
}

.top .badge{
  background:#fff8ed!important;
  border:1px solid #f6d3a5!important;
  color:#a6550b!important;
}

.main-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  gap:5px!important;
  margin:0 0 16px!important;
  padding:5px!important;
  background:#f4f7fb!important;
  border:1px solid var(--v524-border)!important;
  border-radius:13px!important;
  box-shadow:none!important;
}

.main-nav-btn{
  min-height:37px!important;
  padding:0 15px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#52647d!important;
  font-size:12.5px!important;
  font-weight:750!important;
  cursor:pointer!important;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease!important;
}

.main-nav-btn:hover{
  transform:none!important;
  background:#fff!important;
  color:var(--v524-blue-dark)!important;
}

.main-nav-btn.active{
  background:var(--v524-text)!important;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(16,33,61,.16)!important;
}

/* ---------- Shared surfaces ---------- */
.card,
.dash-card,
.auth-box,
.pro-layout,
.family-layout{
  background:var(--v524-surface)!important;
  border:1px solid var(--v524-border)!important;
  border-radius:18px!important;
  box-shadow:var(--v524-shadow-sm)!important;
}

h1,h2,h3{
  color:var(--v524-text)!important;
  letter-spacing:-.25px;
}

button,
.button,
.primary,
.secondary,
.print-btn,
.pdf-btn,
.saved-btn,
.taught-btn,
.sync-btn,
.pro-btn,
.family-btn{
  font-family:inherit!important;
  font-weight:750!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}

button:not(:disabled):hover{
  transform:translateY(-1px);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible{
  outline:3px solid rgba(37,99,235,.18)!important;
  outline-offset:2px!important;
}

button:disabled{
  cursor:not-allowed!important;
}

input,
select,
textarea{
  min-height:44px;
  background:#fff!important;
  border:1px solid var(--v524-border-strong)!important;
  border-radius:11px!important;
  color:#14233c!important;
  font-family:inherit!important;
}

input:focus,
select:focus,
textarea:focus{
  outline:none!important;
  border-color:#76a2f5!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.10)!important;
}

/* ---------- Home ---------- */
.home-section{
  min-width:0;
}

.home-welcome{
  margin:0 0 12px!important;
  padding:15px 17px!important;
  background:linear-gradient(135deg,#f8fbff,#f0f5ff)!important;
  border:1px solid #cfe0fb!important;
  border-radius:16px!important;
  box-shadow:none!important;
}

.home-welcome h2{
  margin:0 0 4px!important;
  font-size:19px!important;
}

.home-welcome p{
  color:var(--v524-muted)!important;
  line-height:1.7!important;
}

.dashboard{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}

.dashboard>.dash-card{
  min-width:0!important;
  min-height:142px!important;
  padding:18px!important;
  display:flex!important;
  flex-direction:column!important;
}

.dash-card:hover{
  transform:translateY(-2px)!important;
  border-color:#c7d6e9!important;
  box-shadow:0 14px 32px rgba(20,55,105,.10)!important;
}

.dash-label{
  color:var(--v524-muted)!important;
  font-size:12px!important;
  font-weight:750!important;
}

.dash-value{
  margin-top:8px!important;
  color:var(--v524-text)!important;
  font-size:20px!important;
  font-weight:850!important;
  line-height:1.3!important;
}

.dash-sub{
  margin-top:5px;
  color:var(--v524-muted)!important;
  font-size:11px!important;
  line-height:1.65!important;
}

.dash-link{
  margin-top:auto!important;
  padding:8px 0 0!important;
  border:0!important;
  background:transparent!important;
  color:var(--v524-blue)!important;
  min-height:auto!important;
  text-align:right;
  font-size:11px!important;
  box-shadow:none!important;
}

.family-entry,
.pro-entry{
  box-shadow:none!important;
}

/* ---------- Create screen ---------- */
#createSection{
  min-width:0;
}

#createSection .grid{
  display:grid!important;
  grid-template-columns:minmax(500px,1.18fr) minmax(440px,1fr)!important;
  gap:20px!important;
  align-items:start!important;
}

#createSection .grid>.controls,
#createSection .grid>.card:not(.controls){
  min-width:0!important;
  background:#fff!important;
  border:1px solid var(--v524-border)!important;
  border-radius:20px!important;
  box-shadow:var(--v524-shadow)!important;
}

#createSection .grid>.controls{
  padding:24px!important;
}

#createSection .grid>.card:not(.controls){
  min-height:620px!important;
  padding:20px!important;
}

#createSection .controls h2{
  margin:0 0 18px!important;
  padding-bottom:13px!important;
  border-bottom:1px solid #edf1f7!important;
  color:var(--v524-text)!important;
  font-size:23px!important;
  font-weight:850!important;
}

#createSection .controls label{
  display:block!important;
  margin:12px 0 6px!important;
  color:#52647d!important;
  font-size:12.5px!important;
  font-weight:750!important;
}

#createSection .controls select,
#createSection .controls input{
  width:100%!important;
  min-height:45px!important;
  padding:9px 12px!important;
  border:1px solid #dbe4f0!important;
  border-radius:11px!important;
  background:#fbfdff!important;
  font-size:13.5px!important;
}

#createSection .controls .row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:11px!important;
}

#createSection .controls .types{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin:8px 0 16px!important;
}

#createSection .controls .type-btn{
  min-height:46px!important;
  padding:8px!important;
  border:1px solid #dbe4f0!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#30415e!important;
  box-shadow:none!important;
}

#createSection .controls .type-btn:hover{
  border-color:#9bbcf6!important;
  background:#f6f9ff!important;
}

#createSection .controls .type-btn.active{
  border-color:#76a2f5!important;
  background:#edf4ff!important;
  color:#1558c9!important;
  box-shadow:0 4px 12px rgba(46,102,206,.08)!important;
}

#createSection .curriculum-box,
#createSection .progress-card,
#createSection .manual-lesson-box{
  margin:11px 0!important;
  padding:12px 13px!important;
  border:1px solid #dfe8f5!important;
  border-radius:13px!important;
  background:#f7faff!important;
  box-shadow:none!important;
}

#createSection .manual-lesson-box summary{
  color:#1d4ed8!important;
  font-weight:750!important;
}

#createSection #generate,
#createSection #regenerate{
  width:100%!important;
  min-height:50px!important;
  border-radius:13px!important;
  font-size:15px!important;
}

#createSection #generate{
  margin-top:17px!important;
  border:0!important;
  background:linear-gradient(135deg,#2366d7,#347fe9)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(35,102,215,.20)!important;
}

#createSection #regenerate{
  margin-top:8px!important;
}

#academicYear,
#newClassYear{
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:center!important;
  font-variant-numeric:tabular-nums;
  font-weight:750!important;
  letter-spacing:.25px!important;
}

.output-head{
  align-items:flex-start!important;
  gap:12px!important;
  padding-bottom:14px!important;
  margin-bottom:13px!important;
  border-bottom:1px solid #edf1f7!important;
}

.output-head h2{
  margin:2px 0 0!important;
  font-size:21px!important;
  font-weight:850!important;
}

.output-head>div{
  min-width:0;
}

.tabs,
.print-actions,
.document-tools{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}

.print-actions,
.document-tools{
  margin-top:6px!important;
}

.tabs button,
.print-actions button,
.document-tools button{
  min-height:36px!important;
  padding:7px 10px!important;
  border-radius:9px!important;
  font-size:11px!important;
}

.meta{
  margin-bottom:10px!important;
  padding:9px 10px!important;
  border:1px solid var(--v524-border)!important;
  border-radius:9px!important;
  background:#f8fafc!important;
  color:var(--v524-muted)!important;
  line-height:1.65!important;
}

.paper{
  min-width:0!important;
  min-height:520px!important;
  border:1px solid #d8dee8!important;
  border-radius:10px!important;
  background:#fff!important;
}

.placeholder{
  color:#91a0b7!important;
}

/* ---------- Dialogs / archive / account ---------- */
.archive-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:10000!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(10,24,43,.52)!important;
  backdrop-filter:blur(4px);
}

.archive-overlay.hidden{
  display:none!important;
}

.archive-panel{
  width:min(800px,96vw)!important;
  max-height:min(86vh,900px)!important;
  overflow:auto!important;
  padding:20px!important;
  background:#fff!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:18px!important;
  box-shadow:0 28px 80px rgba(9,28,52,.26)!important;
  overscroll-behavior:contain;
}

.commerce-panel{
  width:min(860px,96vw)!important;
}

.family-panel,
.pro-panel{
  width:min(1040px,97vw)!important;
}

.archive-head{
  position:sticky;
  top:-20px;
  z-index:2;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 14px!important;
  padding:12px 0 11px!important;
  background:#fff;
  border-bottom:1px solid #edf1f7;
}

.archive-head h2{
  margin:0!important;
  font-size:20px!important;
}

.archive-toolbar{
  display:grid!important;
  grid-template-columns:minmax(180px,2fr) minmax(130px,1fr) minmax(130px,1fr)!important;
  gap:8px!important;
  margin-bottom:10px!important;
}

.archive-backup-actions,
.account-actions,
.family-actions,
.pro-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}

.archive-item{
  border-color:var(--v524-border)!important;
  border-radius:12px!important;
  background:#fff!important;
}

.auth-box{
  margin-bottom:12px!important;
  padding:15px!important;
  border-radius:14px!important;
  box-shadow:none!important;
}

.auth-tabs{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
}

.auth-tab{
  min-height:40px!important;
  border-radius:10px!important;
}

.auth-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}

.auth-grid .full{
  grid-column:1/-1!important;
}

.plans-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}

.plan-card,
.commerce-status,
.commerce-costs{
  border-radius:12px!important;
}

.pro-layout,
.family-layout{
  gap:12px!important;
  padding:0!important;
  box-shadow:none!important;
}

.pro-main,
.pro-side,
.family-main,
.family-side{
  min-width:0!important;
}

.pro-toolbar{
  grid-template-columns:minmax(180px,1fr) auto!important;
}

/* ---------- Status / account lock ---------- */
.suspension-lock{
  z-index:11000!important;
}

.suspension-lock-card{
  border-radius:20px!important;
  box-shadow:0 30px 90px rgba(0,0,0,.32)!important;
}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  #createSection .grid{
    grid-template-columns:minmax(440px,1.05fr) minmax(400px,.95fr)!important;
    gap:16px!important;
  }
}

@media (max-width:999px){
  body{
    padding-right:0!important;
    padding-bottom:82px!important;
  }

  .app{
    width:min(940px,calc(100% - 28px));
    padding-top:14px!important;
  }

  .main-nav{
    display:none!important;
  }

  #createSection .grid{
    grid-template-columns:1fr!important;
  }

  #createSection .grid>.controls{
    order:1;
  }

  #createSection .grid>.card:not(.controls){
    order:2;
    min-height:420px!important;
  }

  .dashboard{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:700px){
  .app{
    width:calc(100% - 22px)!important;
    padding:10px 0 22px!important;
  }

  .top{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    padding:13px!important;
    border-radius:16px!important;
  }

  .top .brand{
    font-size:20px!important;
  }

  .top .brand::before{
    width:34px;
    height:34px;
    border-radius:11px;
  }

  .top-actions{
    justify-content:flex-start!important;
    gap:6px!important;
  }

  .account-chip,
  .subscription-btn,
  .top .badge{
    min-height:32px!important;
    padding:0 9px!important;
    font-size:10.5px!important;
  }

  .home-welcome,
  .family-entry,
  .pro-entry{
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  .dashboard{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }

  .dashboard>.dash-card{
    min-height:138px!important;
    padding:13px 11px!important;
    border-radius:14px!important;
  }

  .dash-label{font-size:11px!important}
  .dash-value{font-size:17px!important}
  .dash-sub{font-size:10.5px!important}

  #createSection .grid{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    gap:12px!important;
  }

  #createSection .grid>.controls,
  #createSection .grid>.card:not(.controls){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    border-radius:16px!important;
  }

  #createSection .grid>.controls{
    order:1!important;
    padding:16px!important;
  }

  #createSection .grid>.card:not(.controls){
    order:2!important;
    min-height:320px!important;
    padding:16px!important;
  }

  #createSection .controls h2{
    margin-bottom:14px!important;
    font-size:20px!important;
  }

  #createSection .controls .types{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  #createSection .controls .row{
    grid-template-columns:1fr!important;
  }

  .output-head{
    display:block!important;
  }

  .output-head h2{
    margin-bottom:10px!important;
  }

  .tabs,
  .print-actions,
  .document-tools{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
  }

  .tabs button,
  .print-actions button,
  .document-tools button{
    width:100%!important;
    min-width:0!important;
    padding:7px 6px!important;
    font-size:10.5px!important;
  }

  .paper{
    min-height:300px!important;
    padding:17px!important;
    overflow-wrap:anywhere;
  }

  .archive-overlay{
    align-items:flex-end!important;
    padding:10px!important;
  }

  .archive-panel,
  .commerce-panel,
  .family-panel,
  .pro-panel{
    width:100%!important;
    max-width:none!important;
    max-height:calc(100dvh - 20px)!important;
    padding:15px!important;
    border-radius:18px 18px 12px 12px!important;
  }

  .archive-head{
    top:-15px;
    padding-top:10px!important;
  }

  .archive-toolbar,
  .auth-grid,
  .plans-grid,
  .pro-form,
  .family-form,
  .pro-layout,
  .family-layout{
    grid-template-columns:1fr!important;
  }

  .auth-grid .full,
  .pro-form .full,
  .family-form .full{
    grid-column:auto!important;
  }

  .archive-item,
  .family-review-item,
  .family-doc-item{
    align-items:flex-start!important;
    flex-direction:column!important;
  }

  .pro-metrics,
  .family-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .pro-toolbar{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:430px){
  .app{
    width:calc(100% - 16px)!important;
  }

  .top-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .top .badge{
    grid-column:1/-1;
  }

  .dashboard>.dash-card{
    min-height:132px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition:none!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}

/* V5.24 mobile dialog header refinement */
@media (max-width:700px){
  .family-panel .archive-head,
  .pro-panel .archive-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
  }

  .family-panel .archive-head>div:first-child,
  .pro-panel .archive-head>div:first-child{
    min-width:0;
  }

  .family-panel .archive-head .family-actions,
  .pro-panel .archive-head .pro-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    margin-top:2px!important;
  }

  .family-panel .archive-head .family-actions button,
  .pro-panel .archive-head .pro-actions button{
    width:100%!important;
    min-width:0!important;
  }
}

/* =========================================================
   V5.24.1 — visual polish + contextual create flow
   ========================================================= */
:root{
  --v524-bg:#f2f6fc;
  --v524-surface-glass:rgba(255,255,255,.90);
  --v524-shadow-sm:0 10px 28px rgba(15,42,78,.065);
  --v524-shadow:0 18px 48px rgba(15,42,78,.095);
  --v524-focus:0 0 0 4px rgba(37,99,235,.10);
}

html,body{
  background:
    radial-gradient(circle at 10% 8%,rgba(37,99,235,.075),transparent 28rem),
    radial-gradient(circle at 88% 86%,rgba(21,149,101,.055),transparent 30rem),
    linear-gradient(180deg,#f8fbff 0%,#f2f6fc 52%,#eef3fa 100%)!important;
  background-attachment:fixed!important;
}

.top{
  background:var(--v524-surface-glass)!important;
  border-color:rgba(214,225,239,.95)!important;
  box-shadow:0 12px 34px rgba(20,52,94,.075)!important;
  backdrop-filter:blur(14px) saturate(135%);
  -webkit-backdrop-filter:blur(14px) saturate(135%);
}

.top .brand::before{
  box-shadow:0 10px 24px rgba(37,99,235,.23)!important;
}

.card,
.dash-card,
.auth-box,
.pro-layout,
.family-layout,
.v524-quick-actions{
  border-color:rgba(218,228,240,.98)!important;
  box-shadow:0 12px 32px rgba(26,54,92,.065)!important;
}

#homeSection .home-welcome{
  background:linear-gradient(135deg,rgba(247,251,255,.98),rgba(241,247,255,.90))!important;
  border-color:#cfdef2!important;
  box-shadow:0 8px 24px rgba(37,99,235,.045)!important;
}

.dashboard>.dash-card{
  position:relative;
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}

.dashboard>.dash-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,rgba(37,99,235,.88),rgba(27,196,125,.72));
  opacity:.62;
}

@media (hover:hover){
  .dashboard>.dash-card:hover{
    transform:translateY(-2px);
    border-color:#cad9eb!important;
    box-shadow:0 16px 38px rgba(25,55,96,.10)!important;
  }
}

#createSection .grid>.controls{
  background:rgba(255,255,255,.96)!important;
}

#createSection .controls h2,
.output-head h2{
  position:relative;
  padding-bottom:12px!important;
}

#createSection .controls h2::after,
.output-head h2::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:42px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#2563eb,#22b884);
}

.v524-type-context-hidden{
  display:none!important;
}

#createSection .controls[data-create-type]::before{
  content:attr(data-create-type);
  display:inline-flex;
  align-items:center;
  min-height:25px;
  margin:0 0 8px;
  padding:3px 9px;
  border:1px solid #d6e5fb;
  border-radius:999px;
  background:#f1f7ff;
  color:#245fca;
  font-size:10.5px;
  font-weight:800;
}

#createSection select,
#createSection input,
.archive-panel input,
.archive-panel select,
.auth-box input,
.auth-box select{
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
  border-color:#d8e3ef!important;
  box-shadow:inset 0 1px 0 rgba(15,42,78,.018)!important;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}

#createSection select:hover,
#createSection input:hover{
  border-color:#bdcde0!important;
}

#createSection select:focus,
#createSection input:focus,
.archive-panel input:focus,
.archive-panel select:focus,
.auth-box input:focus,
.auth-box select:focus{
  outline:none!important;
  border-color:#5f91e9!important;
  box-shadow:var(--v524-focus)!important;
  background:#fff!important;
}

#generate.primary{
  position:relative;
  min-height:52px!important;
  border:0!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#2f72dd 0%,#245bc4 58%,#1b8f79 140%)!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:850!important;
  letter-spacing:.05px;
  box-shadow:0 12px 25px rgba(37,99,235,.20)!important;
}

#generate.primary:not(:disabled):hover{
  transform:translateY(-2px)!important;
  box-shadow:0 16px 30px rgba(37,99,235,.25)!important;
}

#generate.primary:active{
  transform:translateY(0)!important;
}

#createSection .grid>.card:not(.controls){
  background:linear-gradient(180deg,#fbfdff,#f5f8fc)!important;
}

#createSection .paper{
  position:relative;
  background:#fff!important;
  border-color:#d6e0eb!important;
  box-shadow:0 14px 34px rgba(26,50,82,.085)!important;
}

#createSection .paper::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}

@media (min-width:1000px){
  #createSection .grid>.card:not(.controls){
    padding:22px!important;
  }
}

@media (max-width:700px){
  html,body{
    background:linear-gradient(180deg,#f7faff 0%,#eef4fb 100%)!important;
  }

  .top{
    box-shadow:0 9px 24px rgba(20,52,94,.07)!important;
  }

  #createSection .controls[data-create-type]::before{
    margin-bottom:7px;
  }

  #generate.primary{
    min-height:50px!important;
    border-radius:12px!important;
  }

  #createSection .paper{
    box-shadow:0 10px 26px rgba(26,50,82,.075)!important;
  }
}

/* Contextual entry must override the legacy .types display rules. */
#createSection .controls #documentTypeLabel.v524-type-context-hidden,
#createSection .controls #documentTypeChooser.v524-type-context-hidden{
  display:none!important;
}


/* =========================================================
   V5.24.2 — explicit mobile back navigation for create flow
   ========================================================= */
.v524-create-mobile-head{
  display:block;
}

.v524-create-mobile-back{
  display:none!important;
}

@media (max-width:999px){
  .v524-create-mobile-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-bottom:2px!important;
  }

  .v524-create-mobile-head #createTitle{
    min-width:0!important;
    flex:1 1 auto!important;
    margin-bottom:8px!important;
  }

  .v524-create-mobile-back{
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:72px!important;
    min-height:36px!important;
    margin:0 0 8px!important;
    padding:7px 11px!important;
    border:1px solid #d5e1ef!important;
    border-radius:11px!important;
    background:linear-gradient(180deg,#ffffff,#f5f9ff)!important;
    color:#2457a7!important;
    box-shadow:0 4px 12px rgba(20,52,94,.06)!important;
    font-size:11px!important;
    font-weight:800!important;
    white-space:nowrap!important;
  }

  .v524-create-mobile-back:active{
    transform:translateY(1px)!important;
  }
}

@media (max-width:430px){
  .v524-create-mobile-head{
    gap:8px!important;
  }

  .v524-create-mobile-back{
    min-width:66px!important;
    padding-inline:9px!important;
  }
}
/* V5.24 navigation + quick actions */

.v524-sidebar{
  position:fixed;
  z-index:9000;
  top:0;
  right:0;
  bottom:0;
  width:var(--v524-sidebar,248px);
  padding:20px 15px 16px;
  display:flex;
  flex-direction:column;
  color:#eef5ff;
  background:
    radial-gradient(circle at 76% 3%,rgba(75,143,255,.30),transparent 28%),
    linear-gradient(180deg,#123960 0%,#0b2744 100%);
  box-shadow:-10px 0 34px rgba(13,39,70,.13);
}

.v524-brand{
  display:flex;
  align-items:center;
  gap:11px;
  padding:3px 7px 18px;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.v524-brand-logo{
  width:43px;
  height:43px;
  flex:0 0 43px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:linear-gradient(135deg,#3182f6,#1bc47d);
  color:#fff;
  font-size:13px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(0,0,0,.17);
}

.v524-brand strong{
  display:block;
  font-size:16px;
  line-height:1.35;
}

.v524-brand small{
  display:block;
  margin-top:3px;
  color:#b9cbe1;
  font-size:10.5px;
  line-height:1.5;
}

.v524-nav{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-top:15px;
}

.v524-nav-btn{
  width:100%;
  min-height:42px!important;
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 11px!important;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  color:#dce8f7!important;
  box-shadow:none!important;
  text-align:right;
  cursor:pointer;
  font-size:13px!important;
  font-weight:700!important;
}

.v524-nav-btn:hover{
  transform:none!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
}

.v524-nav-btn.is-active{
  background:linear-gradient(135deg,#2f70db,#275cb4)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(0,0,0,.15)!important;
}

.v524-nav-icon{
  width:24px;
  flex:0 0 24px;
  display:inline-flex;
  justify-content:center;
  font-size:15px;
}

.v524-side-footer{
  margin-top:auto;
  display:flex;
  align-items:center;
  gap:7px;
  padding:13px 8px 4px;
  color:#b9cbe1;
}

.v524-side-footer small{
  font-size:10px;
  line-height:1.5;
}

/* Quick actions */
.v524-quick-actions{
  margin:0 0 14px;
  padding:18px;
  background:#fff;
  border:1px solid var(--v524-border,#e1e8f2);
  border-radius:18px;
  box-shadow:var(--v524-shadow-sm,0 8px 24px rgba(15,42,78,.06));
}

.v524-quick-title span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  margin-bottom:3px;
  border-radius:999px;
  background:#eef5ff;
  color:#2563eb;
  font-size:10.5px;
  font-weight:800;
}

.v524-quick-title h2{
  margin:3px 0!important;
  font-size:20px!important;
}

.v524-quick-title p{
  margin:0 0 13px;
  color:#718096;
  font-size:11.5px;
  line-height:1.6;
}

.v524-action-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

.v524-action-card{
  --tone:#2563eb;
  min-width:0;
  min-height:142px!important;
  padding:14px!important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  position:relative;
  overflow:hidden;
  background:#fff!important;
  color:#15233b!important;
  border:1px solid #e2e9f2!important;
  border-radius:15px!important;
  box-shadow:none!important;
  text-align:right;
}

.v524-action-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:var(--tone);
}

.v524-action-card:hover{
  transform:translateY(-2px)!important;
  border-color:#cbd8e9!important;
  box-shadow:0 10px 24px rgba(24,56,104,.09)!important;
}

.v524-action-icon{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  margin-bottom:2px;
  border-radius:11px;
  background:#f5f8fc;
  font-size:19px;
}

.v524-action-card strong{font-size:14px}

.v524-action-card small{
  color:#718096;
  font-size:10.5px;
  line-height:1.5;
}

.v524-action-open{
  margin-top:auto;
  color:var(--tone);
  font-size:10.5px;
  font-weight:800;
}

.tone-blue{--tone:#2563eb}
.tone-green{--tone:#18a66a}
.tone-orange{--tone:#f59e0b}
.tone-purple{--tone:#7c3aed}
.tone-pink{--tone:#ec4899}

.v524-mobilebar{display:none}

@media (max-width:1180px) and (min-width:1000px){
  .v524-sidebar{
    width:232px;
  }
}

@media (max-width:999px){
  .v524-sidebar{display:none}

  .v524-mobilebar{
    position:fixed;
    z-index:9500;
    left:0;
    right:0;
    bottom:0;
    height:calc(66px + env(safe-area-inset-bottom,0px));
    padding-bottom:env(safe-area-inset-bottom,0px);
    display:grid;
    grid-template-columns:repeat(4,1fr);
    background:rgba(255,255,255,.97);
    border-top:1px solid #dfe7f1;
    box-shadow:0 -8px 28px rgba(30,56,88,.10);
    backdrop-filter:blur(12px);
  }

  .v524-mobilebar .v524-nav-btn{
    min-height:66px!important;
    padding:5px 3px!important;
    flex-direction:column;
    justify-content:center;
    gap:1px;
    border-radius:0!important;
    color:#4b607c!important;
    font-size:9.5px!important;
  }

  .v524-mobilebar .v524-nav-icon{
    width:auto;
    font-size:15px;
  }

  .v524-mobilebar .v524-nav-btn.is-active{
    background:#eef5ff!important;
    color:#2457ca!important;
    box-shadow:inset 0 2px 0 #5a8eea!important;
  }

  .v524-action-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:700px){
  .v524-quick-actions{
    margin-bottom:12px;
    padding:14px;
    border-radius:16px;
  }

  .v524-quick-title h2{
    font-size:18px!important;
  }

  .v524-action-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }

  .v524-action-card{
    min-height:126px!important;
    padding:12px!important;
    border-radius:13px!important;
  }

  .v524-action-icon{
    width:35px;
    height:35px;
    font-size:17px;
  }

  .v524-action-card:last-child:nth-child(odd){
    grid-column:1/-1;
    width:calc(50% - 4.5px);
    justify-self:center;
  }
}

/* =========================================================
   V5.24.1 — navigation polish + reliable mobile dock
   ========================================================= */
.v524-sidebar{
  background:
    radial-gradient(circle at 78% 4%,rgba(93,156,255,.34),transparent 29%),
    radial-gradient(circle at 20% 96%,rgba(27,196,125,.09),transparent 26%),
    linear-gradient(180deg,#143f6b 0%,#0d2d4f 58%,#0a2541 100%);
  box-shadow:-12px 0 38px rgba(10,34,61,.15);
}

.v524-nav-btn{
  transition:background .17s ease,color .17s ease,box-shadow .17s ease,transform .17s ease!important;
}

.v524-nav-btn.is-active{
  background:linear-gradient(135deg,#3579e5,#2861bd)!important;
  box-shadow:0 10px 24px rgba(2,18,38,.18)!important;
}

.v524-action-card{
  box-shadow:0 5px 15px rgba(22,50,88,.035)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}

@media (max-width:999px){
  body{
    padding-bottom:96px!important;
  }

  .v524-mobilebar{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:fixed!important;
    z-index:9500!important;
    left:10px!important;
    right:10px!important;
    bottom:max(8px,env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    height:64px!important;
    padding:4px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    overflow:hidden!important;
    border:1px solid rgba(207,220,236,.96)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.91)!important;
    box-shadow:0 12px 34px rgba(20,47,82,.18)!important;
    backdrop-filter:blur(18px) saturate(145%)!important;
    -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
    transform:translateZ(0)!important;
  }

  .v524-mobilebar .v524-nav-btn{
    min-height:54px!important;
    padding:5px 3px!important;
    border-radius:13px!important;
    background:transparent!important;
    color:#536780!important;
    font-size:9.5px!important;
  }

  .v524-mobilebar .v524-nav-btn.is-active{
    background:linear-gradient(180deg,#f1f6ff,#eaf2ff)!important;
    color:#2457ca!important;
    box-shadow:inset 0 0 0 1px #dbe8ff!important;
  }

  .v524-mobilebar .v524-nav-btn.is-active .v524-nav-icon{
    transform:translateY(-1px) scale(1.06);
  }
}

@media (max-width:430px){
  .v524-mobilebar{
    left:8px!important;
    right:8px!important;
    bottom:max(7px,env(safe-area-inset-bottom,0px))!important;
  }
}

/* =========================================================
   V5.25 — Algeria-inspired commercial dashboard redesign
   ========================================================= */
:root{
  --v525-navy:#0f3d69;
  --v525-navy-deep:#082d50;
  --v525-blue:#1677e8;
  --v525-blue-soft:#edf6ff;
  --v525-teal:#12a889;
  --v525-green:#20a36a;
  --v525-gold:#f0b43c;
  --v525-bg:#eef5fb;
  --v525-line:#d9e6f1;
  --v525-text:#123558;
  --v525-muted:#6d849b;
  --v525-card:#ffffff;
  --v525-sidebar:244px;
  --v525-shadow:0 12px 34px rgba(25,65,103,.09);
  --v525-shadow-soft:0 6px 20px rgba(25,65,103,.065);
}

html,body{
  background:
    radial-gradient(circle at 12% 8%,rgba(49,137,226,.08),transparent 28%),
    radial-gradient(circle at 84% 88%,rgba(18,168,137,.06),transparent 24%),
    linear-gradient(180deg,#f7fbff 0%,#edf4fa 100%)!important;
  color:var(--v525-text)!important;
}

@media (min-width:1000px){
  body{padding-right:var(--v525-sidebar)!important}
}

.app{
  width:min(1240px,calc(100% - 34px))!important;
  max-width:1240px!important;
  padding-top:18px!important;
}

/* Top identity */
.top{
  min-height:72px!important;
  margin-bottom:10px!important;
  padding:12px 16px!important;
  border:1px solid rgba(207,222,235,.9)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.91)!important;
  box-shadow:0 10px 28px rgba(23,67,108,.07)!important;
  backdrop-filter:blur(16px);
}
.top .brand{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  font-size:inherit!important;
}
.top .brand::before{display:none!important}
.brand-symbol{
  width:44px;height:44px;display:grid;place-items:center;
  border-radius:14px;background:linear-gradient(135deg,#eef7ff,#eafbf4);
  border:1px solid #cde3f6;font-size:24px;box-shadow:inset 0 1px 0 #fff;
}
.brand-copy{display:flex;flex-direction:column;gap:2px;text-align:right}
.brand-copy strong{font-size:22px;line-height:1.2;color:#10375d}
.brand-copy small{font-size:10.5px;color:#6b839a;font-weight:650}
.top .badge{background:#fff8e9!important;border-color:#f4cf8f!important;color:#9b6104!important}
.main-nav{margin-bottom:14px!important;background:rgba(255,255,255,.72)!important}

/* Sidebar */
.v525-sidebar{
  position:fixed;z-index:9000;top:0;right:0;bottom:0;width:var(--v525-sidebar);
  padding:18px 14px 16px;display:flex;flex-direction:column;color:#eef7ff;
  background:
    radial-gradient(circle at 78% 4%,rgba(77,169,238,.32),transparent 28%),
    radial-gradient(circle at 14% 93%,rgba(21,173,139,.16),transparent 23%),
    linear-gradient(180deg,#164d7d 0%,#0e3d69 48%,#092f54 100%);
  box-shadow:-12px 0 36px rgba(10,41,70,.14);
}
.v525-brand{display:flex;align-items:center;gap:11px;padding:4px 7px 14px;border-bottom:1px solid rgba(255,255,255,.11)}
.v525-brand-logo{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#1d91e8,#19bc86);font-size:13px;font-weight:900;color:#fff;box-shadow:0 10px 22px rgba(2,23,42,.22)}
.v525-brand strong{display:block;font-size:15.5px}.v525-brand small{display:block;margin-top:3px;color:#bfd2e5;font-size:10px}
.v525-local-pill{display:flex;align-items:center;gap:9px;margin:12px 2px 6px;padding:9px 10px;border:1px solid rgba(139,230,198,.22);border-radius:12px;background:rgba(17,158,124,.14)}
.v525-local-pill>span{font-size:18px}.v525-local-pill b{display:block;font-size:11px;color:#dffff4}.v525-local-pill small{display:block;margin-top:2px;font-size:8.8px;color:#b6ddd1}
.v525-nav{display:flex;flex-direction:column;gap:4px;padding-top:8px}
.v525-nav-btn{width:100%;min-height:42px!important;display:flex;align-items:center;gap:10px;padding:9px 11px!important;border:0!important;border-radius:11px!important;background:transparent!important;color:#dceaf7!important;box-shadow:none!important;font-size:12.5px!important;font-weight:750!important;cursor:pointer;text-align:right}
.v525-nav-btn:hover{transform:none!important;background:rgba(255,255,255,.08)!important;color:#fff!important}
.v525-nav-btn.is-active{background:linear-gradient(135deg,#2182e7,#1e69cc)!important;color:#fff!important;box-shadow:0 9px 22px rgba(4,31,57,.18)!important}
.v525-nav-icon{width:24px;flex:0 0 24px;text-align:center;font-size:15px}
.v525-side-help{margin-top:auto;padding:12px 9px 5px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:3px}
.v525-side-help b{font-size:10px;color:#dff7ef}.v525-side-help small{font-size:9px;color:#a9c3da}

/* Hero */
.v525-hero{
  position:relative;min-height:206px;margin:0 0 14px;padding:24px 26px;overflow:hidden;
  display:grid;grid-template-columns:minmax(340px,1.05fr) minmax(280px,.95fr);align-items:center;gap:20px;
  border:1px solid #cfe2f2;border-radius:22px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(245,251,255,.95) 48%,rgba(228,245,252,.9) 100%);
  box-shadow:var(--v525-shadow);
}
.v525-hero::after{content:"";position:absolute;inset:auto -70px -120px auto;width:360px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(27,163,135,.12),transparent 66%);pointer-events:none}
.v525-hero-copy{position:relative;z-index:4;align-self:start;padding-top:4px}
.v525-hero-kicker{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:5px 10px;border-radius:999px;background:#eef8ff;border:1px solid #d7eafa;color:#3b688c;font-size:10.5px;font-weight:800}
.v525-hero .home-welcome{margin:11px 0 8px!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.v525-hero .home-welcome h2{margin:0 0 4px!important;font-size:25px!important;color:#0f3d69!important}
.v525-hero .home-welcome p{max-width:540px;margin:0!important;font-size:12.5px!important;color:#637d95!important;line-height:1.75!important}
.v525-hero-pills{display:flex;gap:7px;flex-wrap:wrap}
.v525-hero-pills span{padding:4px 9px;border-radius:999px;background:#fff;border:1px solid #dce9f4;color:#4c6b87;font-size:9.5px;font-weight:750}
.v525-hero-art{position:relative;min-height:145px;align-self:stretch;isolation:isolate}
.v525-sun{position:absolute;top:7px;left:14%;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle,#fff7c8 0%,rgba(255,241,165,.5) 35%,transparent 68%)}
.v525-skyline{position:absolute;left:0;right:0;bottom:18px;height:78px;display:flex;align-items:flex-end;gap:8px;opacity:.7}
.v525-skyline i{display:block;flex:1;min-width:23px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#a9d2e9,#7bb8d7);box-shadow:inset 0 0 0 1px rgba(255,255,255,.34)}
.v525-skyline i:nth-child(1){height:38px}.v525-skyline i:nth-child(2){height:66px}.v525-skyline i:nth-child(3){height:50px}.v525-skyline i:nth-child(4){height:75px}.v525-skyline i:nth-child(5){height:43px}.v525-skyline i:nth-child(6){height:58px}
.v525-monument{position:absolute;right:43%;bottom:19px;width:74px;height:106px;z-index:3}
.v525-monument i{position:absolute;bottom:0;width:19px;height:94px;background:linear-gradient(180deg,#d9c6a3,#c2a67c);border-radius:15px 15px 3px 3px;transform-origin:bottom}
.v525-monument i:nth-child(1){right:9px;transform:rotate(-12deg)}.v525-monument i:nth-child(2){right:28px;height:106px}.v525-monument i:nth-child(3){right:47px;transform:rotate(12deg)}
.v525-school{position:absolute;left:9%;bottom:18px;font-size:48px;filter:saturate(.85);z-index:3}.v525-tree{position:absolute;bottom:14px;font-size:28px;z-index:4}.v525-tree.one{left:37%}.v525-tree.two{right:7%}
.v525-hero-library{position:absolute;z-index:6;right:26px;bottom:18px;display:flex;align-items:center;gap:9px;max-width:360px;padding:9px 12px;border:1px solid #ccebe0;border-radius:13px;background:rgba(239,252,247,.94);box-shadow:0 6px 18px rgba(17,126,99,.08)}
.v525-library-icon{font-size:22px}.v525-hero-library b{display:block;font-size:11px;color:#14805f}.v525-hero-library small{display:block;margin-top:2px;font-size:9px;color:#668879}

/* Grade strip */
.v525-grade-panel{margin-bottom:14px;padding:16px 17px 17px;border:1px solid #d8e5ef;border-radius:20px;background:rgba(255,255,255,.93);box-shadow:var(--v525-shadow-soft)}
.v525-section-head,.v525-dashboard-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:11px}
.v525-section-head span,.v525-dashboard-title span{color:#1981d8;font-size:9.5px;font-weight:850}.v525-section-head h2,.v525-dashboard-title h2{margin:1px 0 0!important;font-size:18px!important}.v525-section-head>small,.v525-dashboard-title>small{color:#7890a7;font-size:9.5px}
.v525-grade-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.v525-grade-card{position:relative;min-height:92px!important;padding:12px!important;display:grid!important;grid-template-columns:38px 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:9px;border:1px solid #dce8f2!important;border-radius:14px!important;background:linear-gradient(180deg,#fff,#f9fcff)!important;color:#173d61!important;box-shadow:none!important;text-align:right!important}
.v525-grade-card:hover,.v525-grade-card.is-active{transform:translateY(-2px)!important;border-color:#96c9ef!important;box-shadow:0 9px 20px rgba(27,97,153,.08)!important}.v525-grade-card.is-active{background:linear-gradient(180deg,#f5fbff,#edf8ff)!important}
.v525-grade-icon{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eff7fd;font-size:20px}.v525-grade-card b{font-size:13px}.v525-grade-card small{font-size:9.5px;color:#7690a7}.v525-grade-card i{grid-column:3;grid-row:1/3;font-style:normal;color:#4a91cb;font-size:13px}

/* Home workspace */
.v525-home-workspace{display:grid;grid-template-columns:.95fr 1.15fr .8fr;gap:12px;margin-bottom:16px}
.v525-local-panel,.v525-quick-panel,.v525-search-panel{min-width:0;padding:15px;border:1px solid #d9e6f0;border-radius:18px;background:rgba(255,255,255,.95);box-shadow:var(--v525-shadow-soft)}
.v525-panel-head{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:11px}.v525-panel-head>div{display:flex;align-items:center;gap:8px}.v525-panel-head>div>span{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:#eff7fd;font-size:16px}.v525-panel-head b{display:block;font-size:13px}.v525-panel-head small{display:block;margin-top:2px;font-size:9px;color:#7a91a6}.v525-text-btn{min-height:30px!important;padding:5px 8px!important;border:0!important;background:transparent!important;color:#2180d4!important;box-shadow:none!important;font-size:9.5px!important}
.v525-library-list{display:flex;flex-direction:column;gap:7px}.v525-library-list button{min-height:54px!important;display:grid!important;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:8px!important;border:1px solid #e1eaf2!important;border-radius:12px!important;background:#fbfdff!important;color:#173d61!important;text-align:right!important;box-shadow:none!important}.v525-library-list button:hover{background:#f5faff!important;border-color:#c9ddeb!important}.v525-file-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eef5ff}.v525-file-icon.orange{background:#fff6e8}.v525-file-icon.purple{background:#f5eeff}.v525-library-list b{display:block;font-size:11.5px}.v525-library-list small{display:block;margin-top:2px;font-size:8.7px;color:#7891a7}.v525-library-list i{font-style:normal;color:#4d8ec4}
.v525-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.v525-action-card{--tone:#1677e8;min-width:0;min-height:78px!important;padding:9px 7px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #dfeaf2!important;border-radius:13px!important;background:linear-gradient(180deg,#fff,#f9fcff)!important;color:#183e61!important;box-shadow:none!important;text-align:center!important}.v525-action-card:hover{transform:translateY(-2px)!important;border-color:color-mix(in srgb,var(--tone) 45%,#dfeaf2)!important;box-shadow:0 8px 18px rgba(20,82,129,.075)!important}.v525-action-card>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--tone) 9%,#fff);font-size:18px}.v525-action-card b{font-size:10.5px}.v525-action-card.tone-blue{--tone:#1677e8}.v525-action-card.tone-orange{--tone:#ef9a16}.v525-action-card.tone-green{--tone:#1fa36b}.v525-action-card.tone-purple{--tone:#7e5ce2}.v525-action-card.tone-pink{--tone:#e14b91}.v525-action-card.tone-slate{--tone:#60758c}
.v525-search-form{display:flex;gap:7px;margin-top:5px}.v525-search-form input{min-width:0;flex:1;height:42px!important}.v525-search-form button{min-width:64px!important;border:0!important;border-radius:10px!important;background:#1779dd!important;color:#fff!important;box-shadow:0 6px 14px rgba(23,121,221,.16)!important}.v525-trust-row{display:flex;flex-direction:column;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid #e5edf4}.v525-trust-row span{font-size:9.5px;color:#52738e;font-weight:700}

.v525-dashboard-title{margin:3px 2px 9px}.dashboard{gap:10px!important}.dashboard>.dash-card{min-height:126px!important;padding:15px!important;border-top:3px solid #78b7e9!important}.dashboard>.dash-card:nth-child(2){border-top-color:#7bd6b2!important}.dashboard>.dash-card:nth-child(3){border-top-color:#f1c16a!important}.dashboard>.dash-card:nth-child(4){border-top-color:#8bb2e9!important}

/* Create flow */
#createSection .grid{gap:18px!important}
#createSection .grid>.controls,#createSection .grid>.card:not(.controls){border-color:#d7e5f0!important;box-shadow:var(--v525-shadow)!important}
#createSection .controls{position:relative;background:linear-gradient(180deg,#fff,#fbfdff)!important}
.v524-create-mobile-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.v524-create-mobile-head #createTitle{position:relative;padding-bottom:12px!important;margin-bottom:8px!important;border-bottom:1px solid #e7eef5!important;font-size:23px!important}
.v524-create-mobile-head #createTitle::after{content:"";position:absolute;right:0;bottom:-1px;width:62px;height:3px;border-radius:99px;background:linear-gradient(90deg,#1b7ee0,#16ad8d)}
.v525-create-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:2px 0 18px;padding:0 5px}.v525-create-stepper>div{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;color:#88a0b5;font-size:9px;font-weight:700}.v525-create-stepper>div:not(:last-child)::after{content:"";position:absolute;top:13px;right:58%;width:84%;height:2px;background:#dce6ee;z-index:0}.v525-create-stepper i{position:relative;z-index:1;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#eef3f7;border:2px solid #fff;box-shadow:0 0 0 1px #d9e4ed;color:#7b94aa;font-style:normal;font-size:9px}.v525-create-stepper .is-done i,.v525-create-stepper .is-current i{background:#19a77f;color:#fff;box-shadow:0 0 0 1px #19a77f}.v525-create-stepper .is-done:not(:last-child)::after{background:#66cdb1}.v525-create-stepper .is-current{color:#24785f}.v525-create-stepper .is-current span{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v525-type-context-hidden{display:none!important}
#generate.primary{background:linear-gradient(135deg,#1782e8,#1267c7)!important;box-shadow:0 10px 22px rgba(17,108,207,.18)!important}
#createSection .output-head h2{position:relative}.output-head h2::after{content:"";display:block;width:38px;height:3px;margin-top:7px;border-radius:999px;background:linear-gradient(90deg,#1c83e4,#17a889)}

/* Mobile */
.v525-mobilebar{display:none}
@media(max-width:999px){
  .v525-sidebar{display:none}
  body{padding-right:0!important;padding-bottom:90px!important}
  .app{width:min(100%,430px)!important;padding:10px 8px 100px!important}
  .main-nav{display:none!important}
  .top{min-height:94px!important;padding:11px!important;display:grid!important;grid-template-columns:1fr!important;gap:9px!important;border-radius:18px!important}
  .top .brand{justify-content:center!important}.brand-copy strong{font-size:19px}.brand-copy small{font-size:9.5px}.brand-symbol{width:36px;height:36px;font-size:20px}.top-actions{justify-content:center!important}.top .badge{width:100%!important;min-height:29px!important}
  .v525-hero{min-height:232px;display:block;padding:16px 14px 92px;border-radius:19px}.v525-hero-copy{padding:0}.v525-hero-kicker{font-size:9.5px}.v525-hero .home-welcome{margin-top:8px!important}.v525-hero .home-welcome h2{font-size:20px!important}.v525-hero .home-welcome p{font-size:10.5px!important;line-height:1.6!important}.v525-hero-art{position:absolute;left:8px;right:8px;bottom:42px;height:80px;min-height:80px;opacity:.78}.v525-monument{right:45%;height:72px;bottom:5px;transform:scale(.67);transform-origin:bottom}.v525-skyline{height:50px;bottom:5px}.v525-school{font-size:30px;bottom:3px}.v525-tree{font-size:18px;bottom:2px}.v525-hero-pills{display:none}.v525-hero-library{left:14px;right:14px;bottom:9px;max-width:none;padding:7px 9px}.v525-hero-library b{font-size:10px}.v525-hero-library small{font-size:8px}
  .v525-grade-panel{padding:13px 12px;border-radius:17px;overflow:hidden}.v525-section-head,.v525-dashboard-title{align-items:flex-start}.v525-section-head>small,.v525-dashboard-title>small{display:none}.v525-section-head h2,.v525-dashboard-title h2{font-size:16px!important}.v525-grade-grid{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 5px;scroll-snap-type:x proximity}.v525-grade-card{flex:0 0 126px;min-height:76px!important;grid-template-columns:30px 1fr auto;padding:9px!important;scroll-snap-align:start}.v525-grade-icon{width:30px;height:30px;font-size:16px}.v525-grade-card b{font-size:11.5px}.v525-grade-card small{font-size:8.7px}
  .v525-home-workspace{grid-template-columns:1fr;gap:10px}.v525-local-panel{order:2}.v525-quick-panel{order:1}.v525-search-panel{order:3}.v525-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v525-action-card{min-height:72px!important}.v525-panel-head{margin-bottom:9px}.v525-library-list{display:grid;grid-template-columns:1fr}.v525-trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.v525-trust-row span{padding:6px 3px;border-radius:8px;background:#f4f9fd;text-align:center;font-size:7.8px}
  .dashboard{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard>.dash-card{min-height:132px!important;padding:13px!important}.dash-value{font-size:17px!important}
  .v525-mobilebar{display:grid!important;position:fixed!important;z-index:9500;left:8px!important;right:8px!important;bottom:max(7px,env(safe-area-inset-bottom,0px))!important;height:66px!important;padding:4px!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;border:1px solid rgba(204,220,234,.96)!important;border-radius:19px!important;background:rgba(255,255,255,.93)!important;box-shadow:0 14px 34px rgba(20,54,84,.2)!important;backdrop-filter:blur(18px) saturate(145%)!important;overflow:hidden}
  .v525-mobilebar .v525-nav-btn{min-height:56px!important;padding:4px 1px!important;display:flex!important;flex-direction:column;justify-content:center;gap:1px;border-radius:13px!important;color:#56738e!important;font-size:8.5px!important}.v525-mobilebar .v525-nav-icon{width:auto;font-size:15px}.v525-mobilebar .v525-nav-btn.is-active{background:linear-gradient(180deg,#eef7ff,#e7f2ff)!important;color:#126ecb!important;box-shadow:inset 0 0 0 1px #d8eaff!important}
  #createSection .grid{display:flex!important;flex-direction:column!important;gap:12px!important}#createSection .grid>.controls{order:1!important;width:100%!important;padding:15px!important;border-radius:18px!important}#createSection .grid>.card:not(.controls){order:2!important;width:100%!important;min-height:420px!important;padding:14px!important;border-radius:18px!important}
  .v524-create-mobile-head #createTitle{font-size:18px!important}.v524-create-mobile-back{display:inline-flex!important;min-width:74px!important;min-height:38px!important;border:1px solid #cfe0ee!important;border-radius:11px!important;background:#f4f9fd!important;color:#1d6cae!important;font-size:10px!important;box-shadow:none!important}.v525-create-stepper{margin-bottom:14px}.v525-create-stepper>div{font-size:8px}.v525-create-stepper i{width:23px;height:23px}.v525-create-stepper>div:not(:last-child)::after{top:11px}
}

@media(max-width:430px){
  .v525-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v525-action-card:last-child:nth-child(odd){grid-column:auto;width:auto}.v525-search-form{gap:5px}.v525-search-form button{min-width:58px!important}.v525-grade-card{flex-basis:118px}.v525-hero{padding-inline:12px}.v525-mobilebar{left:6px!important;right:6px!important}
}
