/* ===== inline ===== */

  .v23-badge{display:none!important;position:fixed;left:10px;top:10px;z-index:999999;background:#111;color:#fff;padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px;opacity:.75}
  .v23-btn-green{width:100%;border:none;border-radius:14px;padding:12px 14px;font-weight:900;cursor:pointer;margin-top:10px;background:#0f9d58;color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.18);}
  .v23-ov{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:9999999;padding:14px;}
  .v23-card{width:min(920px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:18px;padding:14px;direction:rtl;text-align:right;box-shadow:0 12px 36px rgba(0,0,0,.30);}
  .v23-title{font-weight:900;font-size:16px;margin:0 0 10px;}
  .v23-meta{font-size:13px;opacity:.8;display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
  .v23-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .v23-tpl{border:1px solid #e6e6e6;border-radius:14px;padding:12px;cursor:pointer;font-weight:900;background:#fff;}
  .v23-tpl small{display:block;font-weight:700;opacity:.7;margin-top:6px;}
  .v23-stepq{font-weight:900;margin-bottom:10px;}
  .v23-prog{font-weight:900;opacity:.7;margin-bottom:8px;font-size:13px;}
  .v23-input{width:100%;min-height:84px;padding:10px;border-radius:12px;border:1px solid #ddd;margin-bottom:12px;}
  .v23-nav{display:flex;gap:10px;flex-wrap:wrap;}
  .v23-nav button{flex:1;border:none;border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer;}
  .v23-prev{background:rgba(0,0,0,.07);}
  .v23-next{background:#111;color:#fff;}
  .v23-close{background:rgba(0,0,0,.07);}
  .v23-admin{margin-top:12px;padding:12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);}
  .v23-admin label{display:block;font-weight:900;margin-bottom:6px;opacity:.9}
  .v23-admin select,.v23-admin textarea{width:100%;padding:10px;border-radius:12px;border:1px solid #d9d9d9;font-weight:800;direction:rtl}
  .v23-admin textarea{min-height:180px;line-height:1.7;font-weight:700}
  .v23-admin .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
  .v23-admin .row .pill{padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.06);font-weight:900;font-size:12px}
  .v23-admin .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
  .v23-admin .actions button{border:none;border-radius:12px;padding:10px 12px;font-weight:900;cursor:pointer}
  .v23-save{background:#0f9d58;color:#fff}
  .v23-reset{background:#d93025;color:#fff}
  .v23-load{background:rgba(0,0,0,.07)}

/* === Board green button: open student docs inside Grades list (no flashback) === */
.board-docs-btn{
  width:100%;
  margin-top:12px;
  padding:16px 14px;
  border:none;
  border-radius:12px;
  background: linear-gradient(90deg, var(--accent2,#2e7d32), color-mix(in srgb,var(--accent2,#43a047) 80%,#fff 20%));
  color:#fff;
  font-size:1.1em;
  font-weight:900;
  cursor:pointer;
  box-shadow: var(--shadow);
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
}
.board-docs-btn:active{ transform: scale(0.98); }


/* v23 header fields */
.v23-hdr-fields{margin-top:10px; display:flex; flex-direction:column; gap:10px;}
.v23-hrow{display:flex; gap:10px; flex-wrap:wrap;}
.v23-hrow input{flex:1; min-width:180px; padding:10px 12px; border-radius:12px; border:1px solid rgba(0,0,0,.15); outline:none; font-family:inherit;}
@media(max-width:600px){
  .v23-hrow input{min-width:140px;}
}

  /* Ultra Pro: V23 style controls (icon-only, compact, scoped) */
  .v23-stylebar{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
    overflow:auto;
    padding:6px 4px;
    margin:8px 0 6px;
    -webkit-overflow-scrolling: touch;
  }
  .v23-stylebar::-webkit-scrollbar{ height:6px; }
  .v23-stylebar::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.18); border-radius:999px; }
  .v23-style-sep{ width:10px; height:1px; background:rgba(0,0,0,.16); flex:0 0 auto; }
  body.dark-mode .v23-stylebar::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.18); }
  body.dark-mode .v23-style-sep{ background:rgba(255,255,255,.18); }
  .v23-ico{
    flex:0 0 auto;
    width:40px;
    height:40px;
    border:1px solid rgba(0,0,0,.12);
    border-radius:12px;
    background:linear-gradient(180deg,#ffffff 0%, #f1f3f5 100%);
    color:#111827;
    font-weight:900;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    user-select:none;
    position:relative;
    white-space:nowrap;
    text-shadow:none;
    box-shadow:0 6px 14px rgba(0,0,0,.10);
  }
  .v23-ico:hover{
    background:linear-gradient(180deg,#ffffff 0%, #e9edf3 100%);
    border-color:rgba(0,0,0,.18);
  }
  body.dark-mode .v23-ico{
    border-color:rgba(255,255,255,.08);
    background:rgba(255,255,255,.10);
    color:#fff;
    box-shadow:0 8px 18px rgba(0,0,0,.18);
  }
  body.dark-mode .v23-ico:hover{
    background:rgba(255,255,255,.16);
    border-color:rgba(255,255,255,.14);
  }
  .v23-ico:active{ transform:translateY(1px); }
  .v23-ico.is-on{ outline:2px solid rgba(246,196,83,.85); background:rgba(246,196,83,.20); }
  .v23-ico[data-badge]::after{
    content: attr(data-badge);
    position:absolute;
    top:-6px;
    left:-6px;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    background:#111;
    color:#fff;
    font-size:11px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 18px rgba(0,0,0,.25);
  }
  .v23-stylebar{scroll-snap-type:x proximity;}
  .v23-ico{scroll-snap-align:start;}
  #v23AlignJustify,#v23DirRTL,#v23DirLTR{font-weight:900;letter-spacing:.2px;}

