/* Nexus Business Modern — Clase Graduanda PR visual system */
:root{
  --nb-bg:#f3f6f9;
  --nb-surface:#fff;
  --nb-surface2:#f8fafc;
  --nb-text:#0d2135;
  --nb-muted:#708093;
  --nb-line:#e4eaf0;
  --nb-navy:#071d2d;
  --nb-navy2:#0d3556;
  --nb-blue:#1565c0;
  --nb-gold:#d5a83f;
  --nb-gold2:#f0cb67;
  --nb-shadow:0 16px 45px rgba(8,29,45,.08);
}
*{box-sizing:border-box}
body.v2-ready{
  margin:0;
  background:
    radial-gradient(circle at 90% 0%,rgba(213,168,63,.07),transparent 26%),
    linear-gradient(180deg,#f8fafc 0,#eef3f7 100%);
  color:var(--nb-text);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Inter,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

/* APP SHELL — same language as Clase Graduanda PR */
body.v2-ready #appShell.app{
  display:grid;
  grid-template-columns:236px minmax(0,1fr);
  min-height:100vh;
  background:transparent;
}
body.v2-ready #appShell .sidebar{
  position:fixed;
  left:0;top:0;bottom:0;
  width:236px;
  z-index:40;
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:23px 16px 18px;
  background:linear-gradient(180deg,#061725,#08243a 55%,#0b2f4b);
  border-right:1px solid rgba(255,255,255,.07);
  box-shadow:18px 0 45px rgba(6,23,37,.08);
}
body.v2-ready #appShell .brand{
  display:flex;
  align-items:center;
  gap:11px;
  color:#fff;
  min-height:auto;
  padding:0 5px 22px;
  margin-bottom:5px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
body.v2-ready #appShell .brand-img{
  width:45px;height:45px;
  flex:0 0 45px;
  border-radius:13px;
  display:grid;place-items:center;
  overflow:hidden;
  background:#fff;
  color:#0a2943;
  font-weight:900;
}
body.v2-ready #appShell .brand-img img{width:100%;height:100%;object-fit:contain}
body.v2-ready #appShell .brand strong{display:block;color:#fff;font-size:15px;line-height:1.05}
body.v2-ready #appShell .brand span{display:block;margin-top:3px;color:#f0c65a;font-size:10px;font-weight:800}
body.v2-ready #sideNav{
  display:flex;
  flex-direction:column;
  gap:4px;
  overflow:auto;
  padding:0;
}
body.v2-ready #sideNav .v2-nav-group{display:none!important}
body.v2-ready #sideNav button{
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:0;
  border-radius:13px;
  background:transparent;
  color:#c1ced9;
  font-size:12px;
  font-weight:700;
  text-align:left;
  box-shadow:none;
}
body.v2-ready #sideNav button::before{
  content:attr(data-modern-icon);
  width:25px;height:25px;
  display:grid;place-items:center;
  flex:0 0 25px;
  border-radius:8px;
  background:rgba(255,255,255,.07);
  color:#f0ca68;
  font-size:14px;
}
body.v2-ready #sideNav button:hover{background:rgba(255,255,255,.06);color:#fff}
body.v2-ready #sideNav button.active{
  background:linear-gradient(100deg,rgba(32,103,164,.55),rgba(27,82,119,.28));
  color:#fff;
  box-shadow:inset 3px 0 0 #e7bb50;
}
body.v2-ready #appShell .side-plan{
  margin-top:auto;
  padding:13px;
  border-radius:15px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.08);
}
body.v2-ready #appShell .side-plan span,
body.v2-ready #appShell .side-plan small{color:#8ea2b3;font-size:9px}
body.v2-ready #appShell .side-plan strong{display:block;margin:3px 0;color:#fff;font-size:14px}
body.v2-ready #appShell .side-plan button{
  width:100%;min-height:34px;margin-top:8px;
  border:0;border-radius:10px;
  background:#f0c65a;color:#12283a;
  font-size:10px;font-weight:900;box-shadow:none;
}

body.v2-ready #appShell .main{
  grid-column:2;
  min-width:0;
  margin:0;
  padding:0 32px 48px;
  max-width:none;
}
body.v2-ready #appShell .topbar{
  min-height:116px;
  margin:0 -32px 28px;
  padding:24px 34px;
  display:flex;
  align-items:center;
  gap:16px;
  position:relative;
  top:auto;
  background:linear-gradient(115deg,var(--nb-navy),var(--nb-navy2));
  color:#fff;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:none;
  overflow:hidden;
}
body.v2-ready #appShell .topbar::after{
  content:"";
  position:absolute;
  width:360px;height:360px;
  right:-120px;top:-210px;
  border-radius:50%;
  border:70px solid rgba(213,168,63,.07);
  pointer-events:none;
}
body.v2-ready #appShell .topbar>div:nth-child(2){position:relative;z-index:1}
body.v2-ready #appShell .topbar h1{margin:3px 0;font-size:30px;letter-spacing:-.6px;color:#fff}
body.v2-ready #appShell .topbar p{margin:0;color:#cbd7e1;font-size:11px;font-weight:600}
body.v2-ready #mobileMenu{display:none}
body.v2-ready #appShell .top-actions{
  position:relative;z-index:1;
  margin-left:auto;
  display:flex;align-items:center;gap:8px;
  padding:0;background:transparent;border:0;box-shadow:none;
}
body.v2-ready #globalSearch{
  width:280px;min-height:42px;
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  background:rgba(255,255,255,.09);
  color:#fff;
  box-shadow:none;
}
body.v2-ready #globalSearch::placeholder{color:#afbfcc}
body.v2-ready #syncStatus{
  padding:7px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#d7e3ec;
  font-size:9px;font-weight:800;
}
body.v2-ready #logoutBtn{
  min-height:40px;padding:8px 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:11px;
  background:rgba(255,255,255,.08);
  color:#fff;box-shadow:none;font-size:10px;
}

/* LOGIN */
body.v2-ready .auth-screen{
  background:
    radial-gradient(circle at 80% 10%,rgba(214,174,77,.18),transparent 28%),
    radial-gradient(circle at 10% 85%,rgba(22,101,192,.22),transparent 32%),
    linear-gradient(155deg,#061624 0%,#0a2943 55%,#123f63 100%)!important;
}
body.v2-ready .auth-card.auth-card-premium{
  width:min(92vw,430px);
  padding:34px 30px 30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:30px;
  background:linear-gradient(180deg,rgba(12,43,68,.96),rgba(6,26,42,.97));
  box-shadow:0 34px 100px rgba(0,0,0,.38);
  color:#fff;
}
body.v2-ready .auth-logo img{max-height:86px}
body.v2-ready .auth-tagline{color:#c4d0db;font-size:13px}
body.v2-ready .auth-switch{background:rgba(255,255,255,.07);border-radius:12px}
body.v2-ready .auth-switch button{box-shadow:none}
body.v2-ready .auth-switch button.active{background:#f0c65a;color:#13283a}
body.v2-ready .auth-field{
  min-height:50px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:13px;
  background:rgba(255,255,255,.055);
}
body.v2-ready .auth-field input,
body.v2-ready .auth-field select{color:#fff;background:transparent}
body.v2-ready .auth-main-btn{
  min-height:50px;border-radius:13px;
  background:linear-gradient(100deg,#dca729,#f2ce69);
  color:#092238;box-shadow:none;
}

/* DASHBOARD — direct Clase Graduanda feel */
body.v2-ready #dashboard.view.active{display:block!important}
body.v2-ready #dashboard .dashboard-legacy-engine{display:none!important}
body.v2-ready #dashboard .school-home{max-width:1280px;margin:0 auto;display:grid;gap:20px}
body.v2-ready .school-home-hero{
  min-height:170px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:26px 28px;
  border:1px solid #e1e8ef;
  border-radius:24px;
  background:linear-gradient(115deg,#fff 0%,#f9fbfd 70%,#eef5fb 100%);
  box-shadow:var(--nb-shadow);
  color:var(--nb-text);
}
body.v2-ready .school-eyebrow{font-size:10px;letter-spacing:2px;color:#9a7828;font-weight:900}
body.v2-ready .school-home-copy h2{margin:8px 0 10px;font-size:37px;letter-spacing:-1.2px;color:#09233b}
body.v2-ready .school-home-copy p{margin:0;color:#6c7b8a;font-size:14px}
body.v2-ready .school-home-date{
  min-width:190px;padding:18px 20px;
  border:1px solid #dfe7ee;border-radius:18px;
  background:#fff;color:#0d2943;
}
body.v2-ready .school-home-date span{display:block;color:#9a7828;font-size:9px;font-weight:900;letter-spacing:.08em}
body.v2-ready .school-home-date strong{display:block;margin-top:4px;color:#17364d;font-size:15px}
body.v2-ready .school-home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
body.v2-ready .school-stat{
  min-height:96px!important;
  padding:18px 16px!important;
  display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:center;
  border:1px solid var(--nb-line)!important;border-radius:20px!important;
  background:#fff!important;box-shadow:0 10px 30px rgba(8,29,45,.045)!important;
  text-align:left;
}
body.v2-ready .school-stat-icon{
  width:36px;height:36px;display:grid;place-items:center;
  border-radius:11px;background:#eef5fb;font-size:18px;
}
body.v2-ready .school-stat-copy small{display:block;margin-bottom:5px;color:var(--nb-muted);font-size:10px;font-weight:700}
body.v2-ready .school-stat-copy strong{font-size:23px;color:#112b42}
body.v2-ready .school-home-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
body.v2-ready .school-panel{
  padding:22px;border:1px solid var(--nb-line);border-radius:22px;background:#fff;
  box-shadow:0 12px 36px rgba(8,29,45,.045);
}
body.v2-ready .school-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}
body.v2-ready .school-panel-head small{font-size:9px;letter-spacing:1.6px;color:#9a7828;font-weight:900}
body.v2-ready .school-panel-head h3{margin:4px 0 0;font-size:20px;color:#132c43}
body.v2-ready .school-shortcut-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.v2-ready .school-shortcut-grid button{
  min-height:88px!important;padding:14px!important;
  display:grid;grid-template-columns:36px 1fr;grid-template-areas:"i b" "i s";gap:1px 10px;align-content:center;
  border:1px solid #e8edf2!important;border-radius:15px!important;
  background:#fbfdff!important;color:#17364d!important;box-shadow:none!important;text-align:left;
}
body.v2-ready .school-shortcut-grid button>span{grid-area:i;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#eef5fb}
body.v2-ready .school-shortcut-grid button>b{grid-area:b;font-size:12px}
body.v2-ready .school-shortcut-grid button>small{grid-area:s;color:#8090a0;font-size:9.5px}
body.v2-ready .school-link-btn{background:#eef3f7!important;color:#17364d!important;box-shadow:none!important;font-size:10px!important}
body.v2-ready .school-pending-list{display:grid;gap:8px}
body.v2-ready .school-pending-item{
  width:100%;min-height:52px!important;padding:9px 10px!important;
  display:grid;grid-template-columns:30px 1fr 12px;gap:9px;align-items:center;
  border:1px solid #edf1f4!important;border-radius:13px!important;background:#fff!important;color:#17364d!important;box-shadow:none!important;text-align:left;
}
body.v2-ready .school-pending-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#eef5fb;color:#1565c0;font-weight:900}
body.v2-ready .school-pending-item b{display:block;font-size:11px}
body.v2-ready .school-pending-item small{display:block;margin-top:2px;color:#7c8c9b;font-size:9px}
body.v2-ready .school-empty{min-height:150px;display:grid;place-items:center;align-content:center;gap:5px;color:#7d8c9a;text-align:center}

/* MODULES */
body.v2-ready #appShell .view:not(#dashboard).active{
  display:block!important;
  max-width:1280px;
  margin:0 auto 30px!important;
}
body.v2-ready .school-module-hero{
  min-height:110px;
  display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:15px;
  padding:20px 22px;margin:0 0 18px;
  border:1px solid #e1e8ef;border-radius:22px;
  background:linear-gradient(115deg,#fff 0%,#f9fbfd 70%,#eef5fb 100%);
  box-shadow:var(--nb-shadow);
}
body.v2-ready .school-module-icon{
  width:58px;height:58px;display:grid;place-items:center;
  border-radius:18px;background:#eef5fb;color:#1565c0;font-size:24px;
}
body.v2-ready .school-module-copy small{display:block;font-size:9px;letter-spacing:1.8px;color:#9a7828;font-weight:900}
body.v2-ready .school-module-copy h2{margin:4px 0 4px;font-size:25px;letter-spacing:-.6px;color:#0d2943}
body.v2-ready .school-module-copy p{margin:0;color:#758596;font-size:11px}
body.v2-ready .school-module-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
body.v2-ready .school-module-primary,
body.v2-ready .school-module-secondary{
  min-height:40px!important;padding:9px 13px!important;border-radius:12px!important;font-size:10px!important;font-weight:900!important;box-shadow:none!important;
}
body.v2-ready .school-module-primary{background:linear-gradient(135deg,#0d3c61,#175f91)!important;color:#fff!important}
body.v2-ready .school-module-secondary{background:#eef3f7!important;color:#17364d!important}
body.v2-ready .school-module-limit{
  display:inline-flex!important;align-items:center;min-height:36px;padding:7px 10px!important;
  border:1px solid #e0e7ed!important;border-radius:11px!important;background:#fff!important;color:#718293!important;font-size:9px!important;
}
body.v2-ready .school-module-card{
  padding:22px!important;
  border:1px solid var(--nb-line)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 12px 36px rgba(8,29,45,.045)!important;
  max-width:none!important;
}
body.v2-ready .school-module-card>.school-inner-head{display:none!important}
body.v2-ready .v2-flow-strip{display:none!important}
body.v2-ready .v2-command-hint{display:none!important}

/* Forms */
body.v2-ready form.form-grid.v2-collapsible{display:none!important}
body.v2-ready form.form-grid.v2-collapsible.v2-form-open{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 18px!important;padding:18px!important;
  border:1px solid #e6ecf1;border-radius:18px;
  background:#f8fafc;
}
body.v2-ready form.form-grid.v2-collapsible>div{grid-column:auto!important}
body.v2-ready form.form-grid.v2-collapsible>.wide{grid-column:span 2!important}
body.v2-ready form.form-grid.v2-collapsible>.full{grid-column:1/-1!important}
body.v2-ready form.form-grid label{
  display:block;margin-bottom:6px;
  color:#374f63;font-size:10px;font-weight:800;text-transform:none;letter-spacing:0;
}
body.v2-ready form.form-grid input,
body.v2-ready form.form-grid select,
body.v2-ready form.form-grid textarea,
body.v2-ready .directory-toolbar input,
body.v2-ready .directory-toolbar select,
body.v2-ready .report-center-tools input,
body.v2-ready .report-center-tools select{
  width:100%;min-height:44px;padding:11px 12px;
  border:1px solid #d6e0e8;border-radius:12px;
  background:#fbfdff;color:#1e3245;outline:none;box-shadow:none;
}
body.v2-ready form.form-grid textarea{min-height:88px}
body.v2-ready form.form-grid input:focus,
body.v2-ready form.form-grid select:focus,
body.v2-ready form.form-grid textarea:focus{
  border-color:#5f9dcc;box-shadow:0 0 0 4px rgba(30,95,138,.09);background:#fff;
}
body.v2-ready .v2-create-btn{display:none!important}

/* tables = Clase Graduanda lists */
body.v2-ready .table-wrap{
  overflow:auto;
  margin:0!important;
  border:1px solid #edf1f4!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.v2-ready table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px;background:#fff;font-size:13px}
body.v2-ready th,body.v2-ready td{text-align:left;padding:13px 14px!important;border-bottom:1px solid #eef2f5!important}
body.v2-ready th{
  position:static!important;
  background:#f7f9fb!important;
  color:#5b6d7d!important;
  font-size:10px!important;
  text-transform:uppercase;letter-spacing:.5px;
}
body.v2-ready tr:last-child td{border-bottom:0!important}
body.v2-ready tbody tr:hover td{background:#fbfdff!important}
body.v2-ready td b{color:#18334b}
body.v2-ready td .muted{color:#7a8998;font-size:10px}
body.v2-ready .actions{display:flex;flex-wrap:wrap;gap:6px!important}
body.v2-ready .actions button{
  min-height:30px!important;padding:6px 9px!important;
  border:0!important;border-radius:9px!important;
  background:#eef3f7!important;color:#17364d!important;
  font-size:9.5px!important;font-weight:800!important;box-shadow:none!important;
}
body.v2-ready .actions button.primary{background:#175f91!important;color:#fff!important}
body.v2-ready .actions button.danger{background:#fff0f0!important;color:#a42020!important}

/* secondary tools */
body.v2-ready .v2-secondary-tool{
  margin:0 0 18px!important;padding:18px!important;
  border:1px solid #e4eaf0!important;border-radius:18px!important;background:#f8fafc!important;box-shadow:none!important;
}
body.v2-ready .v2-secondary-hidden,
body.v2-ready .v2-toolbar-hidden{display:none!important}

/* directory */
body.v2-ready .directory-toolbar{
  display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:center;
  margin:0 0 16px;padding:12px;border:1px solid #e4eaf0;border-radius:16px;background:#f8fafc;
}
body.v2-ready .directory-list{display:grid;gap:12px}
body.v2-ready .directory-card{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;
  padding:16px;border:1px solid #e4eaf0;border-radius:18px;background:#fff;box-shadow:none;
}

/* reports/plans/settings */
body.v2-ready .report-center-tools{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:14px;padding:12px;border:1px solid #e4eaf0;border-radius:16px;background:#f8fafc}
body.v2-ready .report-option{border:1px solid #e4eaf0!important;border-radius:14px!important;background:#fff!important;color:#17364d!important}
body.v2-ready .report-option.selected{border-color:#6ba3cd!important;background:#eef6fc!important;color:#0f5d96!important}
body.v2-ready .plan{border:1px solid #e4eaf0!important;border-radius:20px!important;box-shadow:none!important;background:#fff!important}
body.v2-ready .plan.featured{border-color:#d8b860!important;box-shadow:0 14px 32px rgba(213,168,63,.10)!important}

/* mobile behaves like Clase Graduanda PR */
@media(max-width:860px){
  body.v2-ready #appShell.app{display:block}
  body.v2-ready #appShell .sidebar{
    top:auto;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));
    width:auto;height:72px;
    flex-direction:row;justify-content:space-around;align-items:center;gap:2px;
    padding:7px 6px;
    border:1px solid rgba(9,39,62,.09);
    border-radius:22px;
    background:rgba(255,255,255,.94);
    box-shadow:0 16px 50px rgba(4,25,42,.18);
    backdrop-filter:blur(20px);
  }
  body.v2-ready #appShell .brand,
  body.v2-ready #appShell .side-plan{display:none!important}
  body.v2-ready #sideNav{width:100%;flex-direction:row;justify-content:space-around;gap:2px;overflow-x:auto}
  body.v2-ready #sideNav button{
    flex:1;min-width:62px;
    min-height:56px;padding:6px 4px;
    flex-direction:column;justify-content:center;gap:3px;
    border-radius:14px;color:#66798a;font-size:9px;text-align:center;
  }
  body.v2-ready #sideNav button::before{width:26px;height:24px;background:transparent;color:#0d4169;font-size:15px}
  body.v2-ready #sideNav button.active{background:#edf5fb;color:#0f5d96;box-shadow:none}
  body.v2-ready #appShell .main{padding:0 14px calc(104px + env(safe-area-inset-bottom));margin:0}
  body.v2-ready #appShell .topbar{
    min-height:104px;margin:0 -14px 18px;padding:18px;
    border-radius:0 0 26px 26px;
  }
  body.v2-ready #appShell .topbar h1{font-size:22px}
  body.v2-ready #appShell .topbar p{font-size:10px}
  body.v2-ready #appShell .top-actions{display:none}
  body.v2-ready #mobileMenu{display:none!important}
  body.v2-ready .school-home-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.v2-ready .school-home-grid{grid-template-columns:1fr}
  body.v2-ready .school-home-hero{min-height:auto;padding:22px 20px;border-radius:21px}
  body.v2-ready .school-home-copy h2{font-size:27px}
  body.v2-ready .school-home-date{display:none}
  body.v2-ready .school-module-hero{grid-template-columns:48px 1fr;min-height:auto;padding:17px;border-radius:20px}
  body.v2-ready .school-module-icon{width:48px;height:48px;border-radius:15px;font-size:20px}
  body.v2-ready .school-module-actions{grid-column:1/-1;justify-content:flex-start}
  body.v2-ready form.form-grid.v2-collapsible.v2-form-open{grid-template-columns:1fr}
  body.v2-ready form.form-grid.v2-collapsible>.wide,
  body.v2-ready form.form-grid.v2-collapsible>.full{grid-column:1!important}
  body.v2-ready .school-module-card{padding:16px!important;border-radius:19px!important}
  body.v2-ready .directory-toolbar,
  body.v2-ready .report-center-tools{grid-template-columns:1fr}
  body.v2-ready .directory-card{grid-template-columns:1fr}
}
@media(max-width:430px){
  body.v2-ready .school-home-stats{grid-template-columns:1fr}
  body.v2-ready .school-shortcut-grid{grid-template-columns:1fr}
}
@media print{
  body.v2-ready #appShell .sidebar,
  body.v2-ready #appShell .topbar,
  body.v2-ready .school-module-hero{display:none!important}
  body.v2-ready #appShell .main{padding:0!important;margin:0!important}
}


/* V8 — iPad/Desktop refinement from real screenshot */
body.v2-ready #appShell.app{
  grid-template-columns:210px minmax(0,1fr);
}
body.v2-ready #appShell .sidebar{
  width:210px;
  padding:18px 12px 14px;
}
body.v2-ready #appShell .brand{
  padding:0 4px 16px;
  margin-bottom:2px;
}
body.v2-ready #appShell .brand-img{
  width:38px;height:38px;flex-basis:38px;border-radius:11px;
}
body.v2-ready #appShell .brand strong{font-size:13px}
body.v2-ready #appShell .brand span{font-size:9px}
body.v2-ready #sideNav{gap:2px}
body.v2-ready #sideNav button{
  min-height:39px;
  padding:8px 9px;
  gap:9px;
  border-radius:11px;
  font-size:11px;
}
body.v2-ready #sideNav button::before{
  width:22px;height:22px;flex-basis:22px;
  border-radius:7px;
  font-size:12px;
}
body.v2-ready #appShell .side-plan{
  padding:10px;
  border-radius:13px;
}
body.v2-ready #appShell .side-plan strong{font-size:12px}

body.v2-ready #appShell .main{
  grid-column:2;
  padding:0 22px 38px;
}
body.v2-ready #appShell .topbar{
  min-height:88px;
  margin:0 -22px 20px;
  padding:17px 24px;
}
body.v2-ready #appShell .topbar h1{
  font-size:24px;
  margin:0 0 2px;
}
body.v2-ready #appShell .topbar p{
  font-size:10px;
}
body.v2-ready #syncStatus{
  padding:6px 8px;
  font-size:8px;
}
body.v2-ready #logoutBtn{
  min-height:34px;
  padding:6px 10px;
  font-size:9px;
}

/* dashboard compact like Clase Graduanda PR */
body.v2-ready #dashboard .school-home{
  max-width:1180px;
  gap:14px;
}
body.v2-ready .school-home-hero{
  min-height:132px;
  padding:22px 24px;
  border-radius:20px;
}
body.v2-ready .school-home-copy h2{
  margin:6px 0 6px;
  font-size:31px;
  line-height:1.05;
}
body.v2-ready .school-home-copy p{
  font-size:12px;
}
body.v2-ready .school-home-date{
  min-width:165px;
  padding:14px 16px;
  border-radius:16px;
}
body.v2-ready .school-home-date strong{font-size:13px}

body.v2-ready .school-home-stats{
  gap:10px;
}
body.v2-ready .school-stat{
  min-height:80px!important;
  padding:13px 14px!important;
  border-radius:16px!important;
}
body.v2-ready .school-stat-icon{
  width:32px;height:32px;
  font-size:16px;
}
body.v2-ready .school-stat-copy small{font-size:9px}
body.v2-ready .school-stat-copy strong{font-size:20px}

body.v2-ready .school-home-grid{
  grid-template-columns:1.05fr .95fr;
  gap:12px;
}
body.v2-ready .school-panel{
  min-height:0;
  padding:16px;
  border-radius:18px;
}
body.v2-ready .school-panel-head{
  margin-bottom:12px;
}
body.v2-ready .school-panel-head h3{
  font-size:17px;
}
body.v2-ready .school-shortcut-grid{
  gap:8px;
}
body.v2-ready .school-shortcut-grid button{
  min-height:70px!important;
  padding:11px!important;
  grid-template-columns:30px 1fr;
  column-gap:8px;
  border-radius:13px!important;
}
body.v2-ready .school-shortcut-grid button>span{
  width:30px;height:30px;
  font-size:14px;
}
body.v2-ready .school-shortcut-grid button>b{font-size:10px}
body.v2-ready .school-shortcut-grid button>small{font-size:8.5px}
body.v2-ready .school-pending-item{
  min-height:46px!important;
  padding:8px 9px!important;
}
body.v2-ready .school-pending-item b{font-size:10px}
body.v2-ready .school-pending-item small{font-size:8.5px}

/* module pages get same compact rhythm */
body.v2-ready .school-module-hero{
  min-height:92px;
  padding:16px 18px;
  margin-bottom:12px;
  border-radius:18px;
}
body.v2-ready .school-module-icon{
  width:48px;height:48px;
  font-size:20px;
  border-radius:15px;
}
body.v2-ready .school-module-copy h2{
  font-size:21px;
}
body.v2-ready .school-module-copy p{
  font-size:10px;
}
body.v2-ready .school-module-card{
  padding:16px!important;
  border-radius:18px!important;
}

/* avoid huge desktop-emulation scale on iPad */
html.nexus-desktop-pwa body.v2-ready{
  min-width:980px!important;
}
html.nexus-desktop-pwa body.v2-ready #appShell.app{
  grid-template-columns:210px minmax(0,1fr)!important;
}
html.nexus-desktop-pwa body.v2-ready #appShell .sidebar{
  width:210px!important;
}


/* V9 — Client search */
body.v2-ready .client-search-bar{
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto auto;
  gap:9px;
  align-items:center;
  margin:0 0 14px;
  padding:10px;
  border:1px solid #e4eaf0;
  border-radius:15px;
  background:#f8fafc;
}
body.v2-ready .client-search-field{
  position:relative;
}
body.v2-ready .client-search-field>span{
  position:absolute;
  left:12px;top:50%;
  transform:translateY(-50%);
  color:#7890a4;
  font-size:16px;
  pointer-events:none;
}
body.v2-ready .client-search-field input{
  width:100%;
  min-height:44px;
  padding:10px 12px 10px 36px;
  border:1px solid #d6e0e8;
  border-radius:12px;
  background:#fff;
  color:#1e3245;
  outline:none;
}
body.v2-ready .client-search-field input:focus{
  border-color:#5f9dcc;
  box-shadow:0 0 0 4px rgba(30,95,138,.09);
}
body.v2-ready .client-search-count{
  white-space:nowrap;
  color:#708093;
  font-size:10px;
  font-weight:800;
}
body.v2-ready #clientsSearchClear{
  min-height:40px;
  padding:8px 11px;
  border:0;
  border-radius:10px;
  background:#eef3f7;
  color:#17364d;
  font-size:10px;
  font-weight:800;
  box-shadow:none;
}
@media(max-width:700px){
  body.v2-ready .client-search-bar{grid-template-columns:1fr auto}
  body.v2-ready .client-search-field{grid-column:1/-1}
}


/* V10 — searchable client picker for Services / Quotes */
body.v2-ready .client-combo{position:relative;min-width:0}
body.v2-ready .client-combo>label{
  display:block;margin-bottom:6px;color:#374f63;font-size:10px;font-weight:800
}
body.v2-ready .client-combo-wrap{position:relative}
body.v2-ready .client-combo-input{
  width:100%;min-height:44px;
  padding:11px 38px 11px 36px!important;
  border:1px solid #d6e0e8!important;
  border-radius:12px!important;
  background:#fbfdff!important;
  color:#1e3245!important;
  outline:none!important;
  box-shadow:none!important;
}
body.v2-ready .client-combo-input:focus{
  border-color:#5f9dcc!important;
  box-shadow:0 0 0 4px rgba(30,95,138,.09)!important;
  background:#fff!important;
}
body.v2-ready .client-combo-icon{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  z-index:2;color:#71879b;font-size:16px;pointer-events:none
}
body.v2-ready .client-combo-clear{
  position:absolute;right:7px;top:50%;transform:translateY(-50%);
  z-index:3;width:28px;height:28px;min-height:28px!important;padding:0!important;
  border:0!important;border-radius:8px!important;background:#eef3f7!important;
  color:#607488!important;font-size:16px!important;line-height:1;box-shadow:none!important
}
body.v2-ready .client-combo-select{
  position:absolute!important;
  width:1px!important;height:1px!important;
  opacity:0!important;pointer-events:none!important;
  overflow:hidden!important
}
body.v2-ready .client-combo-results{
  position:absolute;left:0;right:0;top:calc(100% + 6px);
  z-index:120;
  max-height:320px;overflow:auto;
  padding:6px;
  border:1px solid #dce5ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 45px rgba(8,29,45,.16)
}
body.v2-ready .client-combo-option{
  width:100%;min-height:48px!important;
  display:grid;gap:2px;
  padding:9px 10px!important;
  border:0!important;border-radius:10px!important;
  background:#fff!important;color:#17364d!important;
  text-align:left!important;box-shadow:none!important
}
body.v2-ready .client-combo-option:hover{background:#f1f6fb!important}
body.v2-ready .client-combo-option b{font-size:11px}
body.v2-ready .client-combo-option small{font-size:9px;color:#7a8998;font-weight:600}
body.v2-ready .client-combo-empty{
  padding:14px 10px;color:#7b8a98;font-size:10px;text-align:center
}


/* V11 — Modern Client Directory */
body.v2-ready #directory .school-module-card{
  padding:16px!important;
}
body.v2-ready #directory .directory-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:9px;
  align-items:center;
  margin:0 0 16px;
  padding:10px;
  border:1px solid #e4eaf0;
  border-radius:16px;
  background:#f8fafc;
}
body.v2-ready #directorySearch{
  min-height:46px!important;
  font-size:12px!important;
  background:#fff!important;
}
body.v2-ready #directoryFavoritesOnly{
  width:auto!important;
}
body.v2-ready .directory-fav-filter{
  min-height:42px;
  display:flex!important;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border-radius:11px;
  background:#fff;
  border:1px solid #e4eaf0;
  color:#53677a;
  font-size:10px;
  font-weight:800;
}
body.v2-ready #directoryClear{
  min-height:42px;
  padding:8px 11px;
  border:0;
  border-radius:11px;
  background:#eef3f7;
  color:#17364d;
  box-shadow:none;
  font-size:10px;
  font-weight:800;
}
body.v2-ready #directoryList.directory-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
body.v2-ready .directory-card-modern{
  min-width:0;
  display:flex!important;
  flex-direction:column;
  gap:12px;
  padding:16px!important;
  border:1px solid #e4eaf0!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(8,29,45,.04)!important;
}
body.v2-ready .directory-card-modern:hover{
  border-color:#d5e0e9!important;
  box-shadow:0 15px 34px rgba(8,29,45,.07)!important;
}
body.v2-ready .directory-card-top{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:11px;
  align-items:start;
}
body.v2-ready .directory-avatar{
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:14px;
  background:linear-gradient(145deg,#0d3c61,#175f91);
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
  box-shadow:0 8px 18px rgba(13,60,97,.13);
}
body.v2-ready .directory-identity{min-width:0}
body.v2-ready .directory-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
body.v2-ready .directory-title-row h3{
  margin:1px 0 4px;
  color:#102a42;
  font-size:15px;
  line-height:1.15;
  letter-spacing:-.02em;
}
body.v2-ready .directory-tags{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
}
body.v2-ready .directory-tags .tag{
  padding:3px 6px;
  border-radius:999px;
  background:#f4f7fa;
  color:#708093;
  font-size:8px;
  font-weight:800;
}
body.v2-ready .directory-contact{
  margin-top:5px;
  color:#7a8a9a;
  font-size:10px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
body.v2-ready .directory-star{
  width:32px;height:32px;
  flex:0 0 32px;
  display:grid;place-items:center;
  padding:0!important;
  border:1px solid #e8edf2!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#d3a533!important;
  font-size:17px!important;
  box-shadow:none!important;
}
body.v2-ready .directory-location-card{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:9px;
  align-items:center;
  padding:11px;
  border-radius:14px;
  background:#f8fafc;
  border:1px solid #edf1f4;
}
body.v2-ready .directory-location-icon{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:10px;
  background:#eaf3fb;
  color:#1565c0;
  font-size:15px;
}
body.v2-ready .directory-location-card small{
  display:block;
  margin-bottom:2px;
  color:#8a98a7;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
body.v2-ready .directory-location-card strong{
  display:block;
  color:#274057;
  font-size:10.5px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
body.v2-ready .directory-info-row{
  display:grid;
  gap:3px;
  padding:0 2px;
}
body.v2-ready .directory-info-row span{
  color:#8b98a5;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
body.v2-ready .directory-info-row b{
  color:#42576a;
  font-size:10px;
  font-weight:700;
  line-height:1.35;
}
body.v2-ready .directory-note-modern{
  padding:9px 10px;
  border-left:3px solid #d9b04b;
  border-radius:9px;
  background:#fffaf0;
  color:#6f6040;
  font-size:9.5px;
  line-height:1.35;
}
body.v2-ready .directory-primary-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:auto;
}
body.v2-ready .directory-action-main{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 10px;
  border-radius:11px;
  background:#0f4b78;
  color:#fff!important;
  text-decoration:none;
  font-size:10px;
  font-weight:900;
}
body.v2-ready .directory-action-main:nth-child(2){
  background:#eef7f1;
  color:#2f7a4a!important;
}
body.v2-ready .directory-secondary-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding-top:9px;
  border-top:1px solid #eef2f5;
}
body.v2-ready .directory-secondary-actions a,
body.v2-ready .directory-secondary-actions button{
  min-height:29px!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 8px!important;
  border:0!important;
  border-radius:8px!important;
  background:#f3f6f9!important;
  color:#516577!important;
  text-decoration:none;
  font-size:9px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
body.v2-ready .directory-empty-modern{
  grid-column:1/-1;
  min-height:250px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:6px;
  text-align:center;
  border:1px dashed #d6e0e8;
  border-radius:18px;
  background:#fbfcfe;
}
body.v2-ready .directory-empty-modern>span{
  width:46px;height:46px;
  display:grid;place-items:center;
  border-radius:14px;
  background:#eef5fb;
  color:#1565c0;
  font-size:20px;
}
body.v2-ready .directory-empty-modern b{
  color:#294158;
  font-size:13px;
}
body.v2-ready .directory-empty-modern p{
  margin:0;
  color:#7c8c9b;
  font-size:10px;
}
@media(max-width:980px){
  body.v2-ready #directoryList.directory-list{grid-template-columns:1fr}
}
@media(max-width:700px){
  body.v2-ready #directory .directory-toolbar{grid-template-columns:1fr 1fr}
  body.v2-ready #directorySearch{grid-column:1/-1}
  body.v2-ready .directory-primary-actions{grid-template-columns:1fr}
}


/* V12 — Executive Office Ambient */
body.v2-ready .office-ambient{
  max-width:1180px;
  margin:2px auto 0;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);
  align-items:center;
  gap:24px;
  min-height:330px;
  padding:26px 28px;
  overflow:hidden;
  position:relative;
  border:1px solid #dfe7ee;
  border-radius:24px;
  background:
    radial-gradient(circle at 8% 15%,rgba(213,168,63,.08),transparent 25%),
    linear-gradient(135deg,#ffffff 0%,#f7fafc 58%,#edf4fa 100%);
  box-shadow:0 16px 42px rgba(8,29,45,.055);
}
body.v2-ready .office-ambient-copy{position:relative;z-index:2}
body.v2-ready .office-kicker{
  display:inline-block;
  margin-bottom:9px;
  color:#a07a22;
  font-size:9px;
  font-weight:900;
  letter-spacing:.18em;
}
body.v2-ready .office-ambient-copy h3{
  margin:0 0 10px;
  max-width:470px;
  color:#0e2941;
  font-size:28px;
  line-height:1.08;
  letter-spacing:-.045em;
}
body.v2-ready .office-ambient-copy p{
  max-width:480px;
  margin:0;
  color:#6f8091;
  font-size:12px;
  line-height:1.6;
}
body.v2-ready .office-live-row{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:18px;
}
body.v2-ready .office-live-row span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:6px 9px;
  border:1px solid #e3e9ef;
  border-radius:999px;
  background:#fff;
  color:#657789;
  font-size:8.5px;
  font-weight:800;
}
body.v2-ready .office-live-row i{
  width:7px;height:7px;
  border-radius:999px;
  background:#2ca45c;
  box-shadow:0 0 0 5px rgba(44,164,92,.10);
  animation:officeLive 1.9s ease-in-out infinite;
}

body.v2-ready .office-scene{
  position:relative;
  min-height:270px;
  border:1px solid #dfe7ee;
  border-radius:22px;
  background:linear-gradient(180deg,#edf4fa 0%,#f9fbfd 48%,#e9f0f5 100%);
  overflow:hidden;
}
body.v2-ready .office-window{
  position:absolute;
  inset:18px 18px auto;
  height:84px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:5px;
  opacity:.9;
}
body.v2-ready .office-window span{
  border-radius:8px 8px 2px 2px;
  background:linear-gradient(180deg,#d7e9f7 0%,#eef6fb 60%,#f8fbfd 100%);
  border:1px solid rgba(75,113,145,.08);
}
body.v2-ready .office-glow{
  position:absolute;
  border-radius:999px;
  filter:blur(20px);
  opacity:.55;
  pointer-events:none;
}
body.v2-ready .office-glow-a{
  width:170px;height:170px;
  right:-35px;top:10px;
  background:rgba(21,101,192,.18);
  animation:officeGlowA 7s ease-in-out infinite;
}
body.v2-ready .office-glow-b{
  width:140px;height:140px;
  left:22px;bottom:-35px;
  background:rgba(213,168,63,.15);
  animation:officeGlowB 8s ease-in-out infinite;
}
body.v2-ready .office-monitor{
  position:absolute;
  left:50%;top:47%;
  width:285px;height:158px;
  transform:translate(-50%,-50%);
  padding:12px;
  border-radius:17px;
  background:linear-gradient(180deg,#0b2740,#123d60);
  box-shadow:0 20px 38px rgba(9,33,54,.22);
  animation:officeMonitorFloat 5.6s ease-in-out infinite;
}
body.v2-ready .office-monitor-head{
  display:flex;
  align-items:center;
  gap:5px;
  height:18px;
  margin-bottom:10px;
  color:#dce8f1;
}
body.v2-ready .office-monitor-head b{
  margin-left:auto;
  font-size:8px;
  letter-spacing:.04em;
}
body.v2-ready .office-dot{
  width:6px;height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.45);
}
body.v2-ready .office-screen-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
body.v2-ready .office-mini-card{
  min-height:48px;
  padding:8px;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.07);
}
body.v2-ready .office-mini-card small{
  display:block;
  color:#8fb1cb;
  font-size:7px;
  font-weight:700;
}
body.v2-ready .office-mini-card strong{
  display:block;
  margin-top:3px;
  color:#fff;
  font-size:15px;
}
body.v2-ready .office-chart{
  grid-column:1/-1;
  height:54px;
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:8px 9px;
  border-radius:10px;
  background:rgba(255,255,255,.06);
}
body.v2-ready .office-chart span{
  flex:1;
  height:var(--h);
  min-height:8px;
  border-radius:5px 5px 2px 2px;
  background:linear-gradient(180deg,#6db4ff,#2c7ed6);
  transform-origin:bottom;
  animation:officeBar 3.6s ease-in-out infinite;
}
body.v2-ready .office-chart span:nth-child(2){animation-delay:.2s}
body.v2-ready .office-chart span:nth-child(3){animation-delay:.4s}
body.v2-ready .office-chart span:nth-child(4){animation-delay:.6s}
body.v2-ready .office-chart span:nth-child(5){animation-delay:.8s}

body.v2-ready .office-float-card{
  position:absolute;
  z-index:4;
  display:grid;
  grid-template-columns:28px 1fr;
  gap:8px;
  align-items:center;
  min-width:135px;
  padding:9px 10px;
  border:1px solid rgba(211,222,231,.95);
  border-radius:13px;
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 28px rgba(8,29,45,.09);
  backdrop-filter:blur(8px);
}
body.v2-ready .office-float-card>span{
  width:28px;height:28px;
  display:grid;place-items:center;
  border-radius:9px;
  background:#eef5fb;
  font-size:13px;
}
body.v2-ready .office-float-card b{
  display:block;
  color:#17364d;
  font-size:9.5px;
}
body.v2-ready .office-float-card small{
  display:block;
  margin-top:2px;
  color:#7f8e9b;
  font-size:7.5px;
}
body.v2-ready .office-float-card-a{
  top:29px;left:18px;
  animation:officeCardA 6.2s ease-in-out infinite;
}
body.v2-ready .office-float-card-b{
  top:38px;right:16px;
  animation:officeCardB 6.8s ease-in-out infinite;
}
body.v2-ready .office-float-card-c{
  right:38px;bottom:25px;
  animation:officeCardC 7.1s ease-in-out infinite;
}
body.v2-ready .office-desk{
  position:absolute;
  left:34px;right:34px;bottom:18px;
  height:16px;
  border-radius:12px;
  background:linear-gradient(90deg,#cfd9e2,#edf2f6,#cfd9e2);
  box-shadow:0 7px 18px rgba(8,29,45,.07);
}
body.v2-ready .office-chair{
  position:absolute;
  left:50%;bottom:-10px;
  width:54px;height:54px;
  transform:translateX(-50%);
  border-radius:18px 18px 4px 4px;
  background:linear-gradient(180deg,#17364d,#0b2438);
  opacity:.92;
}

@keyframes officeLive{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(.82);opacity:.72}
}
@keyframes officeMonitorFloat{
  0%,100%{transform:translate(-50%,-50%) translateY(0)}
  50%{transform:translate(-50%,-50%) translateY(-6px)}
}
@keyframes officeBar{
  0%,100%{transform:scaleY(1)}
  50%{transform:scaleY(1.14)}
}
@keyframes officeCardA{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}
@keyframes officeCardB{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(6px)}
}
@keyframes officeCardC{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
@keyframes officeGlowA{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.09)}
}
@keyframes officeGlowB{
  0%,100%{transform:scale(1)}
  50%{transform:scale(.92)}
}
@media(prefers-reduced-motion:reduce){
  body.v2-ready .office-ambient *{animation:none!important}
}
@media(max-width:980px){
  body.v2-ready .office-ambient{
    grid-template-columns:1fr;
    min-height:0;
  }
}
@media(max-width:700px){
  body.v2-ready .office-ambient{
    padding:17px;
    border-radius:20px;
  }
  body.v2-ready .office-ambient-copy h3{font-size:22px}
  body.v2-ready .office-scene{min-height:235px}
  body.v2-ready .office-monitor{width:235px;height:145px}
  body.v2-ready .office-float-card{min-width:112px;padding:8px}
}


/* V13 — Office photo background + transparent color wash */
body.v2-ready .office-ambient{
  min-height:360px;
  padding:30px 32px;
  isolation:isolate;
  background:#eef4f8;
}
body.v2-ready .office-ambient::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    url("https://images.unsplash.com/photo-1770992203133-263e3034a367?auto=format&fit=crop&fm=jpg&q=76&w=2200")
    center 48%/cover no-repeat;
  opacity:.20;
  filter:saturate(.86) contrast(.96);
  transform:scale(1.02);
}
body.v2-ready .office-ambient::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,
      rgba(247,250,252,.95) 0%,
      rgba(241,247,251,.88) 36%,
      rgba(10,45,72,.20) 68%,
      rgba(7,29,45,.34) 100%),
    linear-gradient(180deg,
      rgba(255,255,255,.18),
      rgba(13,53,86,.10));
  pointer-events:none;
}
body.v2-ready .office-ambient-copy{
  padding:6px 0;
}
body.v2-ready .office-ambient-copy h3{
  text-shadow:0 1px 0 rgba(255,255,255,.75);
}
body.v2-ready .office-scene{
  min-height:295px;
  background:
    linear-gradient(180deg,
      rgba(239,247,252,.72) 0%,
      rgba(250,252,254,.62) 48%,
      rgba(229,239,246,.72) 100%);
  border-color:rgba(255,255,255,.58);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.65),
    0 18px 38px rgba(8,29,45,.12);
  backdrop-filter:blur(7px) saturate(1.04);
}
body.v2-ready .office-window{
  opacity:.56;
}
body.v2-ready .office-monitor{
  box-shadow:
    0 24px 42px rgba(8,28,46,.28),
    0 0 0 1px rgba(255,255,255,.08);
}
body.v2-ready .office-float-card{
  background:rgba(255,255,255,.82);
  border-color:rgba(255,255,255,.70);
  backdrop-filter:blur(12px);
}
body.v2-ready .office-live-row span{
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(8px);
}
@media(max-width:980px){
  body.v2-ready .office-ambient{
    min-height:0;
    padding:22px;
  }
  body.v2-ready .office-ambient::before{
    opacity:.14;
    background-position:center;
  }
  body.v2-ready .office-ambient::after{
    background:
      linear-gradient(180deg,
        rgba(247,250,252,.96) 0%,
        rgba(240,247,251,.90) 50%,
        rgba(9,43,69,.24) 100%);
  }
}
@media(max-width:700px){
  body.v2-ready .office-ambient{
    padding:17px;
  }
  body.v2-ready .office-scene{
    min-height:245px;
  }
}


/* V14 — Full dashboard office canvas */
body.v2-ready #dashboard.view.active{
  position:relative;
  isolation:isolate;
  margin:-20px -22px -38px!important;
  padding:22px 22px 46px!important;
  min-height:calc(100vh - 88px);
  overflow:hidden;
  background:transparent!important;
}
body.v2-ready #dashboard.view.active::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&fm=jpg&q=78&w=2400")
    center center/cover no-repeat;
  opacity:.34;
  filter:saturate(.82) contrast(.95);
  transform:scale(1.015);
}
body.v2-ready #dashboard.view.active::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg,
      rgba(239,246,251,.88) 0%,
      rgba(242,247,251,.82) 34%,
      rgba(230,240,247,.80) 68%,
      rgba(224,236,244,.84) 100%),
    linear-gradient(90deg,
      rgba(7,29,45,.04),
      rgba(21,101,192,.07) 55%,
      rgba(213,168,63,.05));
  pointer-events:none;
}
body.v2-ready #dashboard .school-home{
  position:relative;
  z-index:1;
}
body.v2-ready #dashboard .school-home-hero,
body.v2-ready #dashboard .school-stat,
body.v2-ready #dashboard .school-panel{
  background:rgba(255,255,255,.88)!important;
  border-color:rgba(255,255,255,.72)!important;
  backdrop-filter:blur(12px) saturate(1.05);
  box-shadow:0 14px 34px rgba(8,29,45,.10)!important;
}
body.v2-ready #dashboard .school-home-hero{
  background:
    linear-gradient(115deg,
      rgba(255,255,255,.94) 0%,
      rgba(248,251,253,.90) 72%,
      rgba(238,246,251,.88) 100%)!important;
}
body.v2-ready #dashboard .office-ambient{
  position:relative;
  z-index:1;
  background:rgba(248,251,253,.78)!important;
  border-color:rgba(255,255,255,.68)!important;
  backdrop-filter:blur(11px) saturate(1.04);
  box-shadow:0 16px 38px rgba(8,29,45,.11)!important;
}
body.v2-ready #dashboard .office-ambient::before,
body.v2-ready #dashboard .office-ambient::after{
  display:none!important;
}
body.v2-ready #dashboard .office-scene{
  background:
    linear-gradient(180deg,
      rgba(239,247,252,.76),
      rgba(250,252,254,.68) 48%,
      rgba(229,239,246,.76))!important;
}
@media(max-width:980px){
  body.v2-ready #dashboard.view.active{
    margin:-18px -14px calc(-104px - env(safe-area-inset-bottom))!important;
    padding:18px 14px calc(124px + env(safe-area-inset-bottom))!important;
    min-height:calc(100vh - 104px);
  }
  body.v2-ready #dashboard.view.active::before{
    opacity:.25;
    background-position:center;
  }
  body.v2-ready #dashboard.view.active::after{
    background:
      linear-gradient(180deg,
        rgba(241,247,251,.91) 0%,
        rgba(232,242,248,.86) 58%,
        rgba(220,235,244,.88) 100%);
  }
}


/* V15 — Full main canvas dashboard background */
body.v2-ready #appShell .main:has(#dashboard.view.active){
  min-height:100vh;
  background:
    linear-gradient(180deg,
      rgba(239,246,251,.86) 0%,
      rgba(235,244,249,.82) 45%,
      rgba(226,238,246,.86) 100%),
    url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&fm=jpg&q=78&w=2400")
      center center/cover no-repeat;
  background-attachment:fixed;
}
body.v2-ready #dashboard.view.active{
  min-height:calc(100vh - 88px)!important;
  background:transparent!important;
}
body.v2-ready #dashboard.view.active::before,
body.v2-ready #dashboard.view.active::after{
  display:none!important;
}
body.v2-ready #dashboard .school-home{
  min-height:calc(100vh - 132px);
  align-content:start;
}
@media(max-width:980px){
  body.v2-ready #appShell .main:has(#dashboard.view.active){
    min-height:100dvh;
    background:
      linear-gradient(180deg,
        rgba(241,247,251,.90) 0%,
        rgba(231,241,248,.87) 55%,
        rgba(219,233,242,.90) 100%),
      url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&fm=jpg&q=74&w=1600")
        center center/cover no-repeat;
    background-attachment:scroll;
  }
  body.v2-ready #dashboard .school-home{
    min-height:auto;
  }
}


/* V16 — Auth single-field cleanup */
body.v2-ready .auth-card.auth-card-premium .auth-field{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:52px!important;
  padding:0 14px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.055)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.v2-ready .auth-card.auth-card-premium .auth-field:focus-within{
  border-color:rgba(240,198,90,.72)!important;
  box-shadow:0 0 0 3px rgba(240,198,90,.10)!important;
}
body.v2-ready .auth-card.auth-card-premium .auth-field input,
body.v2-ready .auth-card.auth-card-premium .auth-field select{
  flex:1!important;
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  appearance:none;
  -webkit-appearance:none;
  color:#fff!important;
}
body.v2-ready .auth-card.auth-card-premium .auth-field input:focus,
body.v2-ready .auth-card.auth-card-premium .auth-field select:focus{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.v2-ready .auth-card.auth-card-premium .auth-field input:-webkit-autofill,
body.v2-ready .auth-card.auth-card-premium .auth-field input:-webkit-autofill:hover,
body.v2-ready .auth-card.auth-card-premium .auth-field input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff!important;
  -webkit-box-shadow:0 0 0 1000px transparent inset!important;
  transition:background-color 9999s ease-out 0s;
}


/* V17 — Dashboard lift + large auth card + themed modules */

/* Dashboard: keep office box directly under the main cards */
body.v2-ready #dashboard .school-home{
  min-height:auto!important;
  gap:14px!important;
  align-content:start!important;
}
body.v2-ready #dashboard .school-home-grid{
  margin-bottom:0!important;
}
body.v2-ready #dashboard .office-ambient{
  margin-top:10px!important;
  min-height:285px!important;
  align-self:start!important;
}
body.v2-ready #dashboard.view.active{
  min-height:auto!important;
  padding-bottom:26px!important;
}
body.v2-ready #appShell .main:has(#dashboard.view.active){
  min-height:100vh;
}

/* Restore the large original-style access card */
body.v2-ready .auth-screen{
  display:grid!important;
  place-items:center!important;
  min-height:100vh!important;
  padding:28px!important;
}
body.v2-ready .auth-card.auth-card-premium{
  width:min(94vw,560px)!important;
  padding:44px 42px 40px!important;
  border-radius:34px!important;
  transform:translateY(-8px);
  box-shadow:0 34px 100px rgba(0,0,0,.38)!important;
}
body.v2-ready .auth-logo img{
  max-height:112px!important;
}
body.v2-ready .auth-tagline{
  font-size:14px!important;
  margin-bottom:18px!important;
}
body.v2-ready .auth-switch{
  min-height:56px!important;
  padding:4px!important;
  border-radius:14px!important;
  margin-bottom:18px!important;
}
body.v2-ready .auth-switch button{
  min-height:46px!important;
  font-size:14px!important;
  border-radius:12px!important;
}
body.v2-ready .auth-card.auth-card-premium .auth-field{
  min-height:58px!important;
  padding:0 16px!important;
  border-radius:14px!important;
  margin-bottom:12px!important;
}
body.v2-ready .auth-card.auth-card-premium .auth-field input,
body.v2-ready .auth-card.auth-card-premium .auth-field select{
  min-height:56px!important;
  font-size:15px!important;
}
body.v2-ready .auth-main-btn{
  min-height:56px!important;
  border-radius:14px!important;
  font-size:15px!important;
  margin-top:8px!important;
}

/* Themed module hero backgrounds */
body.v2-ready .view[data-theme]:not(#dashboard) .school-module-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-color:rgba(255,255,255,.72)!important;
  box-shadow:0 14px 34px rgba(8,29,45,.07)!important;
}
body.v2-ready .view[data-theme]:not(#dashboard) .school-module-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:.16;
  transform:scale(1.02);
}
body.v2-ready .view[data-theme]:not(#dashboard) .school-module-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(248,251,253,.82) 45%,rgba(14,41,65,.08) 100%);
  pointer-events:none;
}
body.v2-ready .view[data-theme]:not(#dashboard) .school-module-card{
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  backdrop-filter:blur(10px) saturate(1.03);
  box-shadow:0 14px 34px rgba(8,29,45,.08)!important;
}
body.v2-ready #clients .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #directory .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1524661135-423995f22d0b?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #contracts .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #quotes .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1554224155-8d04cb21cd6c?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #followups .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #services .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #assets .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1581092580497-e0d23cbdf1dc?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #team .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1516321165247-4aa89a48be28?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #billing .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1554224154-26032ffc0d07?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #payments .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1579621970563-ebec7560ff3e?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #cashflow .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1460925895917-afdab827c52f?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #purchases .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1515169067868-5387ec356754?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #suppliers .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1566576912321-d58ddd7a6088?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #supplierPayments .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1556740749-887f6717d7e4?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #payroll .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #reports .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1543286386-713bdd548da4?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #plans .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1520607162513-77705c0f0d4a?auto=format&fit=crop&fm=jpg&q=72&w=1600')}
body.v2-ready #settings .school-module-hero::before{background-image:url('https://images.unsplash.com/photo-1518770660439-4636190af475?auto=format&fit=crop&fm=jpg&q=72&w=1600')}

@media(max-width:700px){
  body.v2-ready .auth-card.auth-card-premium{
    width:min(94vw,430px)!important;
    padding:30px 22px 26px!important;
    border-radius:24px!important;
    transform:none!important;
  }
  body.v2-ready .auth-logo img{max-height:86px!important}
  body.v2-ready .auth-switch{min-height:50px!important}
  body.v2-ready .auth-switch button{min-height:40px!important;font-size:13px!important}
  body.v2-ready .auth-card.auth-card-premium .auth-field{min-height:52px!important}
  body.v2-ready .auth-main-btn{min-height:52px!important}
  body.v2-ready #dashboard .office-ambient{min-height:240px!important;margin-top:8px!important}
}


/* V18 — Critical hidden-state fix
   Never allow visual layers to override application visibility state. */
body.v2-ready #appShell.hidden,
body.v2-ready #authScreen.hidden,
body.v2-ready .auth-card .hidden,
body.v2-ready .auth-card .register-only.hidden,
body.v2-ready .auth-field.hidden,
body.v2-ready form .hidden,
body.v2-ready [hidden]{
  display:none!important;
}

/* Explicit auth states */
body.v2-ready #authScreen:not(.hidden){
  display:grid!important;
  place-items:center!important;
}
body.v2-ready #appShell.app:not(.hidden){
  display:grid!important;
}

/* Login mode must show only credentials */
body.v2-ready .auth-card.auth-card-premium .register-only.hidden{
  display:none!important;
}

/* Prevent sidebar/app bleed-through behind authentication */
body.v2-ready:has(#authScreen:not(.hidden)) #appShell{
  display:none!important;
}


/* V19 — Themed full module canvas backgrounds
   Put the thematic image in the WHITE MODULE CANVAS, not only the hero. */

body.v2-ready #appShell .main:has(.view.active:not(#dashboard)){
  min-height:100vh;
  background-color:#eef4f8;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-attachment:fixed;
}

/* Common translucent wash so forms/tables stay readable */
body.v2-ready #appShell .main:has(.view.active:not(#dashboard))::before{
  content:"";
  position:fixed;
  top:88px;
  left:210px;
  right:0;
  bottom:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,
      rgba(245,249,252,.84) 0%,
      rgba(240,247,251,.80) 45%,
      rgba(231,241,247,.84) 100%);
}
body.v2-ready #appShell .main:has(.view.active:not(#dashboard)) > *{
  position:relative;
  z-index:1;
}

/* Remove the image from the hero itself; hero becomes glass over canvas */
body.v2-ready .view[data-theme]:not(#dashboard) .school-module-hero::before{
  display:none!important;
}
body.v2-ready .view[data-theme]:not(#dashboard) .school-module-hero::after{
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.90) 0%,
      rgba(249,252,254,.82) 55%,
      rgba(236,244,249,.72) 100%)!important;
}
body.v2-ready .view[data-theme]:not(#dashboard) .school-module-hero{
  background:rgba(255,255,255,.78)!important;
  backdrop-filter:blur(12px) saturate(1.05);
}
body.v2-ready .view[data-theme]:not(#dashboard) .school-module-card{
  background:rgba(255,255,255,.90)!important;
  backdrop-filter:blur(11px) saturate(1.03);
}

/* Full-canvas image per module */
body.v2-ready #appShell .main:has(#clients.view.active){
  background-image:url('https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#directory.view.active){
  background-image:url('https://images.unsplash.com/photo-1524661135-423995f22d0b?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#contracts.view.active){
  background-image:url('https://images.unsplash.com/photo-1450101499163-c8848c66ca85?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#quotes.view.active){
  background-image:url('https://images.unsplash.com/photo-1554224155-8d04cb21cd6c?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#followups.view.active){
  background-image:url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#services.view.active){
  background-image:url('https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#assets.view.active){
  background-image:url('https://images.unsplash.com/photo-1581092580497-e0d23cbdf1dc?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#team.view.active){
  background-image:url('https://images.unsplash.com/photo-1516321165247-4aa89a48be28?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#billing.view.active){
  background-image:url('https://images.unsplash.com/photo-1554224154-26032ffc0d07?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#payments.view.active){
  background-image:url('https://images.unsplash.com/photo-1579621970563-ebec7560ff3e?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#cashflow.view.active){
  background-image:url('https://images.unsplash.com/photo-1460925895917-afdab827c52f?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#purchases.view.active){
  background-image:url('https://images.unsplash.com/photo-1515169067868-5387ec356754?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#suppliers.view.active){
  background-image:url('https://images.unsplash.com/photo-1741707041853-e5ef96e62bc9?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#supplierPayments.view.active){
  background-image:url('https://images.unsplash.com/photo-1556740749-887f6717d7e4?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#payroll.view.active){
  background-image:url('https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#reports.view.active){
  background-image:url('https://images.unsplash.com/photo-1543286386-713bdd548da4?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#plans.view.active){
  background-image:url('https://images.unsplash.com/photo-1520607162513-77705c0f0d4a?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}
body.v2-ready #appShell .main:has(#settings.view.active){
  background-image:url('https://images.unsplash.com/photo-1518770660439-4636190af475?auto=format&fit=crop&fm=jpg&q=76&w=2200');
}

/* Keep topbar clean/navy while canvas starts under it */
body.v2-ready #appShell .main:has(.view.active:not(#dashboard)) .topbar{
  position:relative;
  z-index:3;
}

/* iPad/mobile */
@media(max-width:980px){
  body.v2-ready #appShell .main:has(.view.active:not(#dashboard)){
    background-attachment:scroll;
    background-position:center;
  }
  body.v2-ready #appShell .main:has(.view.active:not(#dashboard))::before{
    top:104px;
    left:0;
    background:
      linear-gradient(180deg,
        rgba(246,250,252,.90) 0%,
        rgba(237,245,250,.87) 52%,
        rgba(226,238,246,.90) 100%);
  }
}


/* V20 — Supplier background correction */
body.v2-ready #appShell .main:has(#suppliers.view.active){
  background-image:url('https://images.unsplash.com/photo-1741707041853-e5ef96e62bc9?auto=format&fit=crop&fm=jpg&q=76&w=2200')!important;
  background-position:center 42%!important;
}
