.ny-prod-shell{max-width:1220px;margin:24px auto;padding:24px;border:1px solid rgba(87,132,255,.24);border-radius:24px;background:linear-gradient(145deg,#061126,#081a38 58%,#0b1430);color:#eaf0ff;box-shadow:0 28px 90px rgba(0,0,0,.32);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.ny-prod-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid rgba(87,132,255,.18)}.ny-prod-head span{display:inline-flex;padding:5px 12px;border-radius:999px;border:1px solid rgba(87,132,255,.28);color:#7db9ff;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.08em}.ny-prod-head h1{margin:10px 0 6px;color:#fff;font-size:34px;line-height:1.05}.ny-prod-head p{margin:0;color:#aab8d8}.ny-prod-head-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.ny-prod-head-actions a,.ny-prod-head-actions button{display:inline-flex;padding:11px 16px;border-radius:12px;background:linear-gradient(135deg,#2440b8,#ff8a22);color:#fff;text-decoration:none;font-weight:900;white-space:nowrap;border:0}.ny-prod-alert,.ny-prod-empty,.ny-prod-note{padding:18px;border:1px solid rgba(255,138,34,.34);border-radius:16px;background:rgba(255,138,34,.10);color:#ffe0c2;margin-bottom:18px}.ny-prod-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.ny-prod-card{position:relative;padding:20px;border:1px solid rgba(87,132,255,.22);border-radius:18px;background:rgba(255,255,255,.045);text-decoration:none;color:#eaf0ff;overflow:hidden}.ny-prod-card:before{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,#2f68ff,#ff8a22)}.ny-prod-card strong{display:block;font-size:30px;color:#ff9b38;line-height:1;margin-bottom:8px}.ny-prod-card span{display:block;color:#aab8d8}.ny-prod-card a{display:inline-flex;margin-top:12px;color:#7db9ff;font-weight:900}.ny-prod-actions,.ny-prod-periods{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.ny-prod-actions a,.ny-prod-periods a,.ny-prod-periods button,.ny-prod-button{border:0;border-radius:12px;background:linear-gradient(135deg,#2440b8,#ff8a22);color:#fff!important;text-decoration:none!important;font-weight:900;padding:12px 16px;display:inline-flex}.ny-prod-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ny-prod-table{overflow:auto;border:1px solid rgba(87,132,255,.18);border-radius:18px;background:rgba(255,255,255,.035)}.ny-prod-table table{width:100%;border-collapse:collapse;min-width:900px}.ny-prod-table th,.ny-prod-table td{padding:12px;border-bottom:1px solid rgba(87,132,255,.12);text-align:left;color:#eaf0ff;font-size:13px}.ny-prod-table th{color:#80b5ff;text-transform:uppercase;font-size:11px;letter-spacing:.06em;background:rgba(47,104,255,.08)}.ny-prod-table select,.ny-prod-form input,.ny-prod-form select,.ny-prod-form textarea{border:1px solid rgba(90,140,255,.24);border-radius:10px;background:#091a38;color:#fff;padding:10px;min-height:42px}.ny-prod-table button,.ny-prod-form button{border:0;border-radius:10px;background:linear-gradient(135deg,#2440b8,#ff8a22);color:#fff;font-weight:900;padding:10px 13px}.ny-prod-status{display:inline-flex;border-radius:999px;padding:4px 9px;background:rgba(255,138,34,.16);color:#ffd3aa;font-weight:900;white-space:nowrap}.ny-prod-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.ny-prod-form-large{grid-template-columns:repeat(4,minmax(0,1fr))}.ny-prod-form textarea{grid-column:span 2;min-height:92px}.ny-prod-impact{padding:24px;border:1px solid rgba(87,132,255,.18);border-radius:18px;background:rgba(255,255,255,.045)}.ny-prod-impact h2{color:#fff;margin-top:0}@media print{.ny-prod-head-actions,.ny-prod-actions,.ny-prod-periods form,.ny-prod-form button,.ny-prod-table button{display:none!important}.ny-prod-shell{box-shadow:none;border-color:#ccc;background:#fff;color:#111}.ny-prod-head h1,.ny-prod-table th,.ny-prod-table td,.ny-prod-card,.ny-prod-card span{color:#111!important}}@media(max-width:900px){.ny-prod-grid,.ny-prod-form,.ny-prod-form-large,.ny-prod-columns{grid-template-columns:1fr}.ny-prod-form textarea{grid-column:auto}.ny-prod-head{display:block}.ny-prod-head-actions{margin-top:14px;justify-content:flex-start}}

/* v1.2.0 dropdown visibility and frontend staff login portals */
.ny-prod-shell select,
.ny-prod-shell select:focus,
.ny-prod-shell option,
.ny-prod-form select,
.ny-prod-table select {
  color: #ffffff !important;
  background-color: #091a38 !important;
}

.ny-prod-shell select option,
.ny-prod-form select option,
.ny-prod-table select option {
  color: #071326 !important;
  background: #ffffff !important;
}

.ny-prod-shell select option:checked,
.ny-prod-shell select option:hover {
  color: #ffffff !important;
  background: #2440b8 !important;
}

.ny-prod-login {
  max-width: 980px;
}

.ny-prod-login-card {
  max-width: 460px;
  margin: 0 auto;
  padding: 24px;
  border: 1px solid rgba(87,132,255,.22);
  border-radius: 18px;
  background: rgba(255,255,255,.045);
}

.ny-prod-login-card label {
  display: block;
  color: #eaf0ff;
  font-weight: 800;
  margin: 0 0 8px;
}

.ny-prod-login-card input[type="text"],
.ny-prod-login-card input[type="password"] {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(90,140,255,.30);
  border-radius: 12px;
  background: #091a38;
  color: #ffffff;
  padding: 10px 12px;
}

.ny-prod-login-card input[type="submit"] {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg,#2440b8,#ff8a22);
  color: #ffffff;
  font-weight: 900;
  cursor: pointer;
}

.ny-prod-login-card .login-remember {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ny-prod-login-help {
  margin-top: 14px;
  color: #aab8d8;
  font-size: 13px;
}


/* v1.3.0 staff accounts and frontend-only workflow */
.ny-prod-shell .ny-prod-table a{color:#7db9ff;font-weight:900}.ny-prod-shell .ny-prod-table form{margin:0}.ny-prod-shell .ny-prod-card span{overflow-wrap:anywhere}.ny-prod-form-large input[name="password"]{letter-spacing:.06em}.ny-prod-staff-warning{padding:14px 16px;border:1px solid rgba(255,138,34,.35);border-radius:14px;color:#ffe0c2;background:rgba(255,138,34,.10)}


/* v1.4.0 parent/applicant public status checker and reception handover */
.ny-public-status-wrap {
  max-width: 980px;
  margin: 40px auto;
  padding: 28px;
  border-radius: 28px;
  background: linear-gradient(145deg,#061126,#081a38 58%,#0b1430);
  color: #eaf0ff;
  border: 1px solid rgba(87,132,255,.25);
  box-shadow: 0 28px 90px rgba(0,0,0,.32);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ny-public-status-hero span {
  display: inline-flex;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid rgba(87,132,255,.30);
  color: #7db9ff;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.ny-public-status-hero h1 {
  margin: 12px 0 8px;
  color: #ffffff;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1;
}

.ny-public-status-hero p {
  max-width: 760px;
  color: #aab8d8;
  font-size: 16px;
}

.ny-public-status-form {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 12px;
  margin: 24px 0;
}

.ny-public-status-form input {
  min-height: 48px;
  border: 1px solid rgba(90,140,255,.30);
  border-radius: 12px;
  background: #091a38;
  color: #ffffff;
  padding: 10px 12px;
}

.ny-public-status-form button {
  min-height: 48px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg,#2440b8,#ff8a22);
  color: #ffffff;
  font-weight: 900;
  padding: 0 18px;
}

.ny-public-status-result {
  padding: 22px;
  border: 1px solid rgba(87,132,255,.22);
  border-radius: 20px;
  background: rgba(255,255,255,.045);
}

.ny-public-status-result.warn {
  border-color: rgba(255,138,34,.35);
  background: rgba(255,138,34,.10);
  color: #ffe0c2;
}

.ny-public-status-result h2 {
  color: #ffffff;
  margin: 12px 0;
}

.ny-public-status-badge {
  display: inline-flex;
  border-radius: 999px;
  padding: 7px 12px;
  background: rgba(255,138,34,.16);
  color: #ffd3aa;
  font-weight: 900;
}

.ny-public-status-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin: 18px 0;
}

.ny-public-status-grid div {
  padding: 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(87,132,255,.15);
}

.ny-public-status-grid strong {
  display: block;
  color: #7db9ff;
  font-size: 12px;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.ny-public-status-grid span {
  color: #ffffff;
  font-weight: 800;
}

.ny-public-next-step {
  color: #dbe6ff;
  font-size: 15px;
}

.ny-public-status-help {
  margin-top: 16px;
  padding: 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(87,132,255,.15);
}

.ny-public-status-help strong {
  display: block;
  color: #ffffff;
  margin-bottom: 4px;
}

.ny-public-status-help span {
  color: #aab8d8;
}

@media(max-width:760px){
  .ny-public-status-wrap { margin: 18px 12px; padding: 20px; }
  .ny-public-status-form,
  .ny-public-status-grid { grid-template-columns: 1fr; }
}


/* v1.5.0 workflow tools */
.ny-prod-shell .ny-prod-form select[name="assigned_to"],.ny-prod-shell .ny-prod-form select[name="assigned_staff"]{min-width:100%}.ny-prod-shell .ny-prod-table td form{display:flex;gap:8px;align-items:center}.ny-prod-shell .ny-prod-table td form select{min-width:135px}.ny-prod-shell .ny-prod-table td form button{white-space:nowrap}@media print{.ny-prod-form,.ny-prod-table td form,.ny-prod-actions,.ny-prod-head-actions{display:none!important}.ny-prod-table table{min-width:0!important;font-size:11px}.ny-prod-shell{margin:0;max-width:none}}


/* v1.7.0 organizational management command layer */
.ny-mgmt-shell {
  position: relative;
  width: min(100%, 1240px);
  margin: 28px auto;
  padding: clamp(22px, 3vw, 38px);
  border-radius: 30px;
  color: #eef5ff;
  background:
    radial-gradient(circle at 84% 8%, rgba(255,150,53,.13), transparent 28%),
    radial-gradient(circle at 12% 20%, rgba(60,121,255,.18), transparent 32%),
    linear-gradient(145deg, rgba(7,21,50,.92), rgba(2,8,20,.98));
  border: 1px solid rgba(134,177,255,.20);
  box-shadow: 0 30px 90px rgba(0,0,0,.30);
  overflow: hidden;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ny-mgmt-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: .45;
  mask-image: linear-gradient(180deg, #000, transparent 90%);
}

.ny-mgmt-shell > *:not(.ny-mgmt-bg) {
  position: relative;
  z-index: 1;
}

.ny-mgmt-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 26px;
}

.ny-mgmt-head span,
.ny-mgmt-panel h2,
.ny-mgmt-stat span {
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ny-mgmt-head > div:first-child > span {
  display: inline-flex;
  border: 1px solid rgba(103,195,255,.32);
  color: #72c8ff;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 11px;
  font-weight: 950;
  background: rgba(60,121,255,.12);
}

.ny-mgmt-head h1 {
  color: #fff;
  font-size: clamp(34px, 4.5vw, 64px);
  line-height: 1;
  letter-spacing: -.055em;
  margin: 14px 0 10px;
}

.ny-mgmt-head p {
  color: rgba(232,241,255,.78);
  max-width: 820px;
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
}

.ny-mgmt-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.ny-mgmt-actions a,
.ny-mgmt-actions button,
.ny-mgmt-form button,
.ny-mgmt-inline-form button,
.ny-mgmt-tabs a,
.ny-mgmt-quick a {
  border: 0;
  border-radius: 14px;
  min-height: 42px;
  padding: 0 16px;
  color: #071326 !important;
  background: linear-gradient(135deg,#ff9635,#ffd199);
  font-weight: 950;
  text-decoration: none !important;
  cursor: pointer;
}

.ny-mgmt-command-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px;
  margin-bottom: 22px;
}

.ny-mgmt-stat,
.ny-mgmt-panel {
  background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.028));
  border: 1px solid rgba(134,177,255,.16);
  border-radius: 24px;
  box-shadow: 0 18px 55px rgba(0,0,0,.18);
}

.ny-mgmt-stat {
  min-height: 150px;
  padding: 22px;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.ny-mgmt-stat:hover,
.ny-mgmt-panel:hover {
  transform: translateY(-4px);
  border-color: rgba(255,150,53,.35);
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.ny-mgmt-stat span {
  display: block;
  color: #72c8ff;
  font-size: 11px;
  font-weight: 950;
  margin-bottom: 14px;
}

.ny-mgmt-stat strong {
  display: block;
  color: transparent;
  background: linear-gradient(90deg,#fff,#dbe9ff 58%,#ffbd76);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1;
  margin-bottom: 10px;
}

.ny-mgmt-stat em {
  display: block;
  color: rgba(232,241,255,.70);
  font-style: normal;
  line-height: 1.45;
}

.ny-mgmt-panel {
  padding: clamp(20px, 2.6vw, 30px);
  margin-bottom: 22px;
}

.ny-mgmt-panel h2 {
  color: #fff;
  font-size: clamp(21px, 2.2vw, 30px);
  margin: 0 0 16px;
}

.ny-mgmt-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 14px;
}

.ny-mgmt-flow div,
.ny-mgmt-alerts a,
.ny-mgmt-activity div {
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(134,177,255,.13);
}

.ny-mgmt-flow b {
  color: #ffbd76;
  font-size: 12px;
  letter-spacing: .08em;
}

.ny-mgmt-flow strong,
.ny-mgmt-alerts strong,
.ny-mgmt-activity strong {
  display: block;
  color: #fff;
  margin: 8px 0 6px;
}

.ny-mgmt-flow span,
.ny-mgmt-alerts span,
.ny-mgmt-activity em,
.ny-mgmt-note {
  color: rgba(232,241,255,.72);
  line-height: 1.58;
  font-style: normal;
}

.ny-mgmt-quick,
.ny-mgmt-tabs,
.ny-mgmt-alerts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.ny-mgmt-quick a {
  background: rgba(255,255,255,.06);
  color: #eaf2ff !important;
  border: 1px solid rgba(134,177,255,.17);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.ny-mgmt-alerts a {
  text-decoration: none !important;
  color: inherit !important;
  min-width: 210px;
  flex: 1;
}

.ny-mgmt-alerts strong {
  color: #ffbd76;
  font-size: 32px;
  margin-top: 0;
}

.ny-mgmt-activity {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}

.ny-mgmt-activity span {
  color: #72c8ff;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.ny-mgmt-table {
  width: 100%;
  overflow-x: auto;
  border-radius: 18px;
  border: 1px solid rgba(134,177,255,.13);
}

.ny-mgmt-table table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  background: rgba(0,0,0,.10);
}

.ny-mgmt-table th,
.ny-mgmt-table td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(134,177,255,.11);
  text-align: left;
  color: rgba(232,241,255,.82);
  vertical-align: top;
}

.ny-mgmt-table th {
  color: #fff;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  background: rgba(255,255,255,.045);
}

.ny-mgmt-table small {
  color: rgba(232,241,255,.58);
}

.ny-mgmt-status {
  display: inline-flex;
  border-radius: 999px;
  padding: 5px 9px;
  color: #ffbd76;
  background: rgba(255,150,53,.12);
  border: 1px solid rgba(255,150,53,.24);
  font-size: 12px;
  font-weight: 950;
}

.ny-mgmt-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}

.ny-mgmt-form input,
.ny-mgmt-form select,
.ny-mgmt-form textarea,
.ny-mgmt-inline-form select {
  min-height: 46px;
  border: 1px solid rgba(134,177,255,.20);
  border-radius: 14px;
  background: #091a38;
  color: #fff;
  padding: 10px 12px;
}

.ny-mgmt-form textarea {
  grid-column: 1/-1;
  min-height: 90px;
}

.ny-mgmt-inline-form {
  display: flex;
  gap: 8px;
  align-items: center;
}

.ny-mgmt-empty {
  padding: 30px;
  border-radius: 20px;
  background: rgba(255,150,53,.10);
  border: 1px solid rgba(255,150,53,.30);
  color: #ffe0c2;
}

@media (max-width: 1100px) {
  .ny-mgmt-head { flex-direction: column; }
  .ny-mgmt-command-grid,
  .ny-mgmt-flow,
  .ny-mgmt-activity,
  .ny-mgmt-form {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 720px) {
  .ny-mgmt-shell { margin: 14px; padding: 18px; border-radius: 22px; }
  .ny-mgmt-command-grid,
  .ny-mgmt-flow,
  .ny-mgmt-activity,
  .ny-mgmt-form {
    grid-template-columns: 1fr;
  }
  .ny-mgmt-actions,
  .ny-mgmt-tabs,
  .ny-mgmt-quick {
    display: grid;
  }
  .ny-mgmt-actions a,
  .ny-mgmt-actions button,
  .ny-mgmt-tabs a,
  .ny-mgmt-quick a {
    width: 100%;
    justify-content: center;
  }
}

@media print {
  .ny-mgmt-actions,
  .ny-mgmt-form,
  .ny-mgmt-inline-form,
  .ny-mgmt-quick,
  .ny-mgmt-tabs {
    display: none !important;
  }
  .ny-mgmt-shell {
    box-shadow: none;
    border: 0;
    color: #000;
    background: #fff;
  }
  .ny-mgmt-head h1,
  .ny-mgmt-panel h2,
  .ny-mgmt-stat strong,
  .ny-mgmt-table th,
  .ny-mgmt-table td {
    color: #000 !important;
  }
}


/* v1.7.1 executive reporting and decision/funding/school ledger polish */
.ny-exec-shell .ny-mgmt-head > div:first-child > span {
  background: rgba(255,150,53,.13);
  color: #ffbd76;
  border-color: rgba(255,150,53,.30);
}

.ny-exec-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  margin-bottom: 18px;
  padding: 16px;
  border-radius: 20px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(134,177,255,.14);
}

.ny-exec-filter label {
  display: grid;
  gap: 6px;
  color: rgba(232,241,255,.78);
  font-weight: 850;
}

.ny-exec-filter input,
.ny-exec-filter button {
  min-height: 42px;
  border-radius: 13px;
  border: 1px solid rgba(134,177,255,.20);
  background: #091a38;
  color: #fff;
  padding: 8px 12px;
}

.ny-exec-filter button {
  border: 0;
  background: linear-gradient(135deg,#ff9635,#ffd199);
  color: #071326;
  font-weight: 950;
  padding: 0 18px;
}

.ny-exec-report-grid .ny-mgmt-stat {
  min-height: 142px;
}

.ny-exec-board-report {
  border-color: rgba(255,150,53,.22);
  background:
    radial-gradient(circle at 92% 12%, rgba(255,150,53,.12), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.068), rgba(255,255,255,.028));
}

.ny-exec-board-report p {
  max-width: 1000px;
  color: rgba(232,241,255,.80);
  font-size: 16px;
  line-height: 1.75;
}

.ny-exec-board-report strong {
  color: #ffbd76;
}

.ny-exec-two-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}

.ny-exec-decision-form select {
  min-width: 190px;
}

.ny-exec-form textarea {
  grid-column: 1 / -1;
}

.ny-exec-shell .ny-mgmt-table table {
  min-width: 980px;
}

.ny-exec-stat {
  position: relative;
  overflow: hidden;
}

.ny-exec-stat:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 0 42%, rgba(255,255,255,.08) 50%, transparent 58% 100%);
  transform: translateX(-125%);
  transition: transform .7s ease;
}

.ny-exec-stat:hover:after {
  transform: translateX(125%);
}

@media (max-width: 900px) {
  .ny-exec-two-cols {
    grid-template-columns: 1fr;
  }

  .ny-exec-filter {
    display: grid;
  }
}
