 :root {
   color-scheme: light;
   --bg0: #f7f2e8;
   --bg1: #f1ebdf;
   --fg0: rgba(17, 24, 39, 0.96);
   --fg1: rgba(17, 24, 39, 0.72);
   --fg2: rgba(17, 24, 39, 0.56);
   --stroke: rgba(17, 24, 39, 0.14);
   --stroke2: rgba(17, 24, 39, 0.20);
   --glow: rgba(137, 87, 255, 0.22);
   --glow2: rgba(35, 223, 245, 0.18);
   --danger: rgba(220, 38, 38, 0.92);
   --ok: rgba(16, 185, 129, 0.92);
   --teal: rgba(20, 184, 166, 0.90);
   --terminal: rgba(124, 255, 147, 0.95);
   --sidebar-expanded: 250px;
   --sidebar-collapsed: 74px;
   --sidebar-w: var(--sidebar-expanded);
 }
 
 * { box-sizing: border-box; }
 html, body { height: 100%; }
 
 body {
   margin: 0;
   font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji", "Segoe UI Emoji";
   background:
     radial-gradient(1200px 900px at 18% 18%, rgba(137, 87, 255, 0.14) 0%, transparent 55%),
     radial-gradient(1000px 800px at 82% 25%, rgba(35, 223, 245, 0.11) 0%, transparent 60%),
     radial-gradient(900px 900px at 50% 92%, rgba(255, 122, 0, 0.09) 0%, transparent 55%),
     radial-gradient(1400px 900px at 50% 50%, rgba(255, 255, 255, 0.65) 0%, transparent 60%),
     linear-gradient(180deg, var(--bg0), var(--bg1));
   color: var(--fg0);
   overflow-x: hidden;
 }
 
 [x-cloak] { display: none !important; }
 
 .noise::before {
   content: "";
   position: fixed;
   inset: 0;
   pointer-events: none;
   opacity: 0.32;
   background-image:
     url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
   mix-blend-mode: multiply;
 }
 
 .noise::after {
   content: "";
   position: fixed;
   inset: 0;
   pointer-events: none;
   opacity: 0.16;
   background-image:
     radial-gradient(circle at 18% 22%, rgba(120, 98, 72, 0.10) 0 1px, transparent 2px),
     radial-gradient(circle at 66% 30%, rgba(120, 98, 72, 0.10) 0 1px, transparent 2px),
     radial-gradient(circle at 30% 70%, rgba(120, 98, 72, 0.08) 0 1px, transparent 2px),
     radial-gradient(circle at 75% 78%, rgba(120, 98, 72, 0.08) 0 1px, transparent 2px);
   background-size: 120px 120px;
   mix-blend-mode: multiply;
 }
 
 .grid-space-time {
   position: fixed;
   inset: 0;
   pointer-events: none;
   z-index: 1;
   background-image:
     linear-gradient(rgba(20, 184, 166, 0.6) 2px, transparent 2px),
     linear-gradient(90deg, rgba(20, 184, 166, 0.6) 2px, transparent 2px);
   background-size: 40px 40px;
   background-position: center;
   mask-image: radial-gradient(circle 300px at var(--m-x, -1000px) var(--m-y, -1000px), black 0%, rgba(0,0,0,0.4) 60%, transparent 100%);
   -webkit-mask-image: radial-gradient(circle 300px at var(--m-x, -1000px) var(--m-y, -1000px), black 0%, rgba(0,0,0,0.4) 60%, transparent 100%);
 }
 
 .developer-credit {
   position: fixed;
   bottom: 30px;
   left: 30px;
   pointer-events: auto;
   z-index: 100;
   font-family: "Share Tech Mono", ui-monospace, monospace;
   font-size: 14px;
   font-weight: bold;
   letter-spacing: 0.25em;
   color: rgba(20, 184, 166, 0.7);
   text-transform: uppercase;
   text-shadow: 0 0 10px rgba(20, 184, 166, 0.2);
   transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
   cursor: default;
   user-select: none;
 }
 
 .developer-credit:hover {
   color: #00f2ff;
   text-shadow:
     -1px -1px 0 #000,
      1px -1px 0 #000,
     -1px  1px 0 #000,
      1px  1px 0 #000,
     0 0 10px #00f2ff,
     0 0 20px #00f2ff,
     0 0 40px #00f2ff;
   transform: translateY(-5px) scale(1.4);
   letter-spacing: 0.4em;
   transform-origin: bottom left;
 }
 
 .connectionStatus {
   position: fixed;
   bottom: 30px;
   right: 30px;
   z-index: 100;
 }
 
 .pill {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 8px 10px;
   border-radius: 999px;
   border: 1px solid var(--stroke);
   background: rgba(255, 255, 255, 0.06);
   color: rgba(255, 255, 255, 0.72);
   font-size: 12px;
   font-family: "Share Tech Mono", ui-monospace, monospace;
 }
 
 .statusDot {
   width: 8px;
   height: 8px;
   border-radius: 999px;
   background: var(--ok);
   box-shadow: 0 0 18px rgba(108, 255, 203, 0.35);
 }
 
 .topbar {
   position: fixed;
   top: 18px;
   left: 18px;
   right: 18px;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 14px;
   flex-wrap: wrap;
   z-index: 40;
 }
 
 .brand {
   margin-left: auto;
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 10px 12px;
   border-radius: 999px;
   border: 1px solid rgba(124, 255, 147, 0.55);
   background: rgba(255, 255, 255, 0.70);
   backdrop-filter: blur(10px);
   box-shadow: 0 0 0 1px rgba(124, 255, 147, 0.18), 0 18px 60px rgba(17, 24, 39, 0.14);
   position: relative;
   overflow: hidden;
 }
 
 .brand::after {
   content: "";
   position: absolute;
   top: 0;
   left: -150%;
   width: 150%;
   height: 100%;
   background: linear-gradient(
     90deg,
     transparent,
     rgba(0, 0, 0, 0.5),
     rgba(0, 0, 0, 0.8),
     rgba(0, 0, 0, 0.5),
     transparent
   );
   transform: skewX(-30deg);
   animation: shine 3s infinite linear;
 }
 
 @keyframes shine {
   0% { left: -150%; }
   30% { left: 150%; }
   100% { left: 150%; }
 }
 
 .brandLogo {
   height: 50px;
   width: auto;
   display: block;
   position: relative;
   z-index: 2;
 }
 
 .wrap {
   position: relative;
   z-index: 2;
   min-height: 100%;
   display: grid;
   place-items: center;
   padding: 28px 18px;
 }

 body.sidebar-collapsed {
   --sidebar-w: var(--sidebar-collapsed);
 }

body.sidebar-collapsed .sidebar {
  padding-left: 8px;
  padding-right: 8px;
}

.dashLayout {
  position: relative;
  z-index: 2;
  min-height: 100vh;
  padding: 18px 18px 0 18px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  row-gap: 0;
}

.dashHeader {
  padding-bottom: 12px;
}

.dashHeaderInner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.dashBody {
  display: grid;
  grid-template-columns: var(--sidebar-w) 1fr;
  gap: 0;
  align-items: stretch;
}

.dashContent {
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(17, 24, 39, 0.18);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.18);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22);
}

.dashPage {
  width: min(1120px, 100%);
  margin: 0 auto;
}

.dashContent .dashTitle {
  color: rgba(17, 24, 39, 0.92);
}

.dashContent .dashText {
  color: rgba(17, 24, 39, 0.72);
}

.subMenuTop {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0;
  margin: -18px -18px 18px -18px;
  border-bottom: 1px solid rgba(17, 24, 39, 0.12);
  background: rgba(7, 10, 18, 0.92);
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.22);
}

.subMenuItem {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 14px;
  border-radius: 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.92);
  text-decoration: none;
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  position: relative;
  isolation: isolate;
  transition: background 160ms ease, color 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

.subMenuItem + .subMenuItem {
  border-left: 1px solid rgba(255, 122, 0, 0.22);
}

.subMenuItem::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(260px 140px at 22% 22%, rgba(255, 122, 0, 0.22), transparent 62%),
    radial-gradient(260px 140px at 78% 80%, rgba(255, 196, 92, 0.16), transparent 62%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02));
  opacity: 0;
  z-index: -1;
  transition: opacity 160ms ease;
}

.subMenuItem::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: rgba(255, 122, 0, 0.0);
  box-shadow: 0 0 0 rgba(0,0,0,0);
  transition: background 160ms ease, box-shadow 160ms ease;
}

.subMenuItem:hover {
  background: rgba(255, 255, 255, 0.05);
  filter: brightness(1.05);
}

.subMenuItem:hover::before {
  opacity: 1;
}

.subMenuItem.isActive {
  color: rgba(255, 196, 92, 0.95);
  background: rgba(255, 255, 255, 0.04);
  box-shadow: inset 0 0 0 1px rgba(255, 122, 0, 0.22);
}

.subMenuItem.isActive::before {
  opacity: 1;
}

.subMenuItem.isActive::after {
  background: rgba(255, 122, 0, 0.95);
  box-shadow: 0 0 18px rgba(255, 122, 0, 0.22);
}

.dashFooter {
  width: 100%;
  padding: 16px 18px 18px 18px;
  border-top: 1px solid rgba(17, 24, 39, 0.12);
  background: rgba(255, 255, 255, 0.30);
  backdrop-filter: blur(10px);
}

.dashFooterCredit {
  pointer-events: auto;
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.25em;
  color: rgba(20, 184, 166, 0.7);
  text-transform: uppercase;
  text-shadow: 0 0 10px rgba(20, 184, 166, 0.2);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: default;
  user-select: none;
}

.dashFooterCredit:hover {
  color: #00f2ff;
  text-shadow:
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000,
    0 0 10px #00f2ff,
    0 0 20px #00f2ff,
    0 0 40px #00f2ff;
  transform: translateY(-3px) scale(1.15);
  letter-spacing: 0.32em;
  transform-origin: left center;
}

 .wrapDashboard {
   position: relative;
   z-index: 2;
   min-height: 100vh;
   padding: 132px 24px 24px calc(var(--sidebar-w) + 24px);
   display: block;
 }
 
 .sidebar {
  position: sticky;
  top: 18px;
   width: var(--sidebar-w);
  padding: 14px 12px;
   background: rgba(255, 255, 255, 0.55);
   backdrop-filter: blur(12px);
  border-right: 0;
   box-shadow: 0 24px 80px rgba(17, 24, 39, 0.10);
   z-index: 20;
   transition: width 220ms ease;
  overflow: hidden;
 }

.menuToggleTile {
  width: 100%;
  min-height: 46px;
  padding: 8px 10px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.45), 0 14px 34px rgba(0, 0, 0, 0.28);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  text-align: left;
}

.whenCollapsed { display: none; }
body.sidebar-collapsed .whenExpanded { display: none; }
body.sidebar-collapsed .whenCollapsed { display: inline; }
body.sidebar-collapsed .menuToggleTile { min-height: 52px; }

 .sidebarHeader {
  position: sticky;
  top: 0;
   display: flex;
   align-items: center;
   gap: 10px;
  padding: 10px 0 12px 0;
  margin-bottom: 10px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(12px);
  z-index: 1;
 }

 .sidebarToggle {
   width: 38px;
   height: 38px;
   border-radius: 14px;
   border: 1px solid rgba(17, 24, 39, 0.14);
   background: rgba(255, 255, 255, 0.65);
   color: rgba(17, 24, 39, 0.90);
   display: grid;
   place-items: center;
   cursor: pointer;
   transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
 }

 .sidebarToggle svg { width: 18px; height: 18px; }

 .sidebarToggle:hover {
   transform: translateY(-1px);
   box-shadow: 0 16px 34px rgba(17, 24, 39, 0.12), 0 0 22px rgba(20, 184, 166, 0.10);
   background: rgba(255, 255, 255, 0.78);
 }

 .sidebarTitle {
   font-family: "Share Tech Mono", ui-monospace, monospace;
   font-size: 12px;
   letter-spacing: 0.18em;
   text-transform: uppercase;
   color: rgba(17, 24, 39, 0.72);
   white-space: nowrap;
 }

 body.sidebar-collapsed .sidebarTitle {
   opacity: 0;
   transform: translateX(-10px);
   pointer-events: none;
 }

 .sidebarNav {
   display: grid;
   gap: 12px;
   align-content: start;
 }

 .menuTile {
   border-radius: 16px;
   border: 1px solid rgba(255, 255, 255, 0.16);
   background: #070a12;
   box-shadow: 0 40px 120px rgba(0, 0, 0, 0.55), 0 16px 44px rgba(0, 0, 0, 0.35);
   padding: 10px;
   color: rgba(255, 255, 255, 0.92);
   text-decoration: none;
   display: grid;
   grid-template-columns: 44px 1fr;
   gap: 10px;
   align-items: center;
   min-height: 84px;
   transition: transform 180ms ease, box-shadow 180ms ease;
  position: relative;
  overflow: hidden;
 }

.menuTile::before {
  content: "";
  position: absolute;
  inset: -1px;
  background:
    radial-gradient(420px 220px at 18% 18%, rgba(239, 68, 68, 0.22), transparent 60%),
    radial-gradient(420px 220px at 82% 75%, rgba(255, 255, 255, 0.08), transparent 60%),
    linear-gradient(180deg, rgba(239, 68, 68, 0.12), rgba(239, 68, 68, 0.06));
  opacity: 0;
  transition: opacity 160ms ease;
  pointer-events: none;
}

.menuTile::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.10), transparent);
  opacity: 0;
  transform: translateX(-60%);
  transition: opacity 180ms ease, transform 380ms ease;
  pointer-events: none;
}

.menuTile > * { position: relative; z-index: 1; }

 .menuTile:hover {
   transform: translateY(-2px);
   box-shadow: 0 50px 150px rgba(0, 0, 0, 0.60), 0 20px 60px rgba(0, 0, 0, 0.40);
 }

.menuTile:hover::before,
.menuTile.isActive::before {
  opacity: 1;
}

.menuTile:hover::after,
.menuTile.isActive::after {
  opacity: 0.6;
  transform: translateX(60%);
}

.menuTile.isActive {
  border-color: rgba(239, 68, 68, 0.55);
  box-shadow: 0 50px 150px rgba(0, 0, 0, 0.60), 0 20px 60px rgba(0, 0, 0, 0.40), 0 0 0 2px rgba(239, 68, 68, 0.14);
}

 .menuTile:active { transform: translateY(0px) scale(0.995); }

 .menuTileIcon {
   width: 40px;
   height: 40px;
   border-radius: 14px;
   border: 1px solid rgba(20, 184, 166, 0.22);
   background: rgba(20, 184, 166, 0.10);
   display: grid;
   place-items: center;
   color: rgba(20, 184, 166, 0.92);
   box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35), 0 0 30px rgba(20, 184, 166, 0.12);
 }

.menuTile:hover .menuTileIcon,
.menuTile.isActive .menuTileIcon {
  border-color: rgba(239, 68, 68, 0.55);
  background: rgba(239, 68, 68, 0.10);
  color: rgba(239, 68, 68, 0.98);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35), 0 0 30px rgba(239, 68, 68, 0.18);
}

.menuTile:hover .menuTileMeta,
.menuTile.isActive .menuTileMeta {
  color: rgba(255, 255, 255, 0.82);
}
 .menuTileIcon svg { width: 20px; height: 20px; }

 .menuTileTitle {
   font-family: "Share Tech Mono", ui-monospace, monospace;
   font-size: 16px;
   letter-spacing: 0.16em;
 }

 .menuTileMeta {
   margin-top: 6px;
   color: rgba(255, 255, 255, 0.70);
   font-family: "Share Tech Mono", ui-monospace, monospace;
   font-size: 11px;
   letter-spacing: 0.06em;
 }

 body.sidebar-collapsed .menuTile {
   grid-template-columns: 1fr;
   justify-items: center;
   min-height: 74px;
  padding: 8px;
 }

 body.sidebar-collapsed .menuTileText {
   display: none;
 }

 body.sidebar-collapsed .menuTileIcon {
  width: 40px;
  height: 40px;
  border-radius: 14px;
 }

 .card {
   --fg0: rgba(255, 255, 255, 0.92);
   --fg1: rgba(255, 255, 255, 0.72);
   --fg2: rgba(255, 255, 255, 0.56);
   --stroke: rgba(255, 255, 255, 0.11);
   --stroke2: rgba(255, 255, 255, 0.16);
   --danger: rgba(255, 120, 140, 0.92);
   --terminal: rgba(124, 255, 147, 0.95);
   width: min(520px, 100%);
   border-radius: 22px;
   border: 1px solid rgba(255, 255, 255, 0.12);
   background: #070a12;
   box-shadow: 40px 30px 15px gray;
   overflow: hidden;
   transform: translateZ(0);
   color: var(--fg0);
 }
 
 .cardHeader { padding: 26px 26px 0 26px; }
 .kicker {
   font-size: 12px;
   letter-spacing: 0.18em;
   text-transform: uppercase;
   color: var(--fg2);
   font-family: "Share Tech Mono", ui-monospace, monospace;
 }
 
 h1 {
   margin: 10px 0 0 0;
   font-weight: 650;
   font-size: 26px;
   line-height: 1.15;
   letter-spacing: -0.02em;
   font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
 }
 
 .sub, .subtitle {
   margin: 10px 0 0 0;
   color: var(--fg1);
   font-size: 14px;
   line-height: 1.5;
 }
 
 .form {
   padding: 22px 26px 26px 26px;
   display: grid;
   gap: 14px;
 }
 
 .field {
   position: relative;
   border-radius: 14px;
   border: 1px solid var(--stroke);
   background: rgba(0, 0, 0, 0.18);
   transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
   overflow: hidden;
 }
 
 .field:focus-within {
   border-color: rgba(137, 87, 255, 0.36);
   box-shadow: 0 0 0 4px rgba(137, 87, 255, 0.10), 0 0 46px rgba(35, 223, 245, 0.08);
   transform: translateY(-1px);
 }
 
 .label {
   position: absolute;
   top: 10px;
   left: 14px;
   font-size: 12px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: var(--fg2);
   pointer-events: none;
   font-family: "Share Tech Mono", ui-monospace, monospace;
 }
 
 select, input {
   width: 100%;
   padding: 30px 14px 12px 14px;
   appearance: none;
   border: 0;
   outline: none;
   background: transparent;
   color: var(--fg0);
   font-size: 16px;
 }
 
 .card select,
 .card input {
   font-family: "Share Tech Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
   font-size: 18px;
   color: var(--terminal);
   letter-spacing: 0.03em;
   text-shadow: 0 0 18px rgba(124, 255, 147, 0.18);
 }
 
 .card input::placeholder { color: rgba(124, 255, 147, 0.45); }
 
 .card input[name="document_number"] {
   font-size: 34px;
   line-height: 1.05;
   text-align: center;
   letter-spacing: 0.22em;
   text-shadow:
     0 0 28px rgba(124, 255, 147, 0.22),
     0 0 10px rgba(124, 255, 147, 0.14);
 }
 
 .card input[name="document_number"]::placeholder {
   text-align: center;
   letter-spacing: 0.08em;
 }
 
 select { padding-right: 44px; cursor: pointer; }
 select option { background-color: #0b0f1d; color: rgba(124, 255, 147, 0.95); }
 select optgroup { background-color: #0b0f1d; color: rgba(124, 255, 147, 0.75); }
 
 .hint { margin-top: 2px; font-size: 12px; color: var(--fg2); font-family: "Share Tech Mono", ui-monospace, monospace; }
 .error { margin-top: 2px; font-size: 12px; color: var(--danger); font-family: "Share Tech Mono", ui-monospace, monospace; }
 
 .btnRow {
   display: grid;
   grid-template-columns: 1fr;
   gap: 10px;
   margin-top: 4px;
 }
 
 .btn {
   --p: 0;
   width: 100%;
   padding: 13px 14px;
   border-radius: 14px;
   border: 1px solid rgba(255, 255, 255, 0.12);
   background: rgba(124, 255, 147, 0.22);
   color: rgba(246, 255, 250, 0.98);
   font-weight: 650;
   letter-spacing: 0.02em;
   cursor: pointer;
   transition: transform 150ms ease, filter 150ms ease, opacity 150ms ease;
   box-shadow: 0 12px 46px rgba(124, 255, 147, 0.16), 0 12px 40px rgba(35, 223, 245, 0.08);
   position: relative;
   overflow: hidden;
 }
 
 .btn::before {
   content: "";
   position: absolute;
   inset: 0;
   width: calc(var(--p) * 1%);
   background: linear-gradient(90deg, rgba(124, 255, 147, 0.98), rgba(124, 255, 147, 0.86));
   box-shadow: 0 0 34px rgba(124, 255, 147, 0.20);
   transition: width 120ms ease;
 }
 
 .btnContent {
   position: relative;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   gap: 10px;
   text-shadow: 0 1px 0 rgba(0, 0, 0, 0.55), 0 0 16px rgba(0, 0, 0, 0.30);
   font-family: "Share Tech Mono", ui-monospace, monospace;
 }
 
 .btn:hover { transform: translateY(-1px); filter: brightness(1.02); }
 .btn:active { transform: translateY(0px) scale(0.99); }
 .btn[disabled] { opacity: 0.55; cursor: not-allowed; filter: grayscale(0.2); }
 
 .modal-overlay {
   position: fixed;
   inset: 0;
   background: rgba(7, 10, 18, 0.85);
   backdrop-filter: blur(8px);
   z-index: 1000;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 20px;
 }
 
 .modal-content {
   background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 242, 232, 0.88));
   border: 1px solid rgba(17, 24, 39, 0.12);
   border-radius: 24px;
   width: 100%;
   max-width: 450px;
   padding: 40px;
   box-shadow: 0 45px 90px rgba(0, 0, 0, 0.55);
   position: relative;
 }
 
 .modal-content h3 {
   color: rgba(17, 24, 39, 0.95);
   font-family: "Share Tech Mono", ui-monospace, monospace;
   font-size: 24px;
   margin: 0 0 10px 0;
   letter-spacing: 1px;
 }
 
 .modal-content p {
   color: rgba(17, 24, 39, 0.70);
   font-size: 14px;
   margin: 0 0 25px 0;
 }
 
 .text-neon { color: rgba(20, 184, 166, 0.95); font-weight: 700; }
 
 .modalField {
   border: 1px solid rgba(17, 24, 39, 0.12);
   background: rgba(255, 255, 255, 0.78);
   box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset, 0 12px 28px rgba(17, 24, 39, 0.06);
   border-radius: 14px;
   padding: 12px 14px 14px 14px;
 }
 
 .modalField:focus-within {
   border-color: rgba(20, 184, 166, 0.75);
   box-shadow: 0 0 0 4px rgba(20, 184, 166, 0.12), 0 12px 28px rgba(17, 24, 39, 0.06);
 }
 
 .modalField label {
   display: block;
   margin: 0 0 10px 0;
   font-family: "Share Tech Mono", ui-monospace, monospace;
   font-size: 12px;
   letter-spacing: 0.14em;
   text-transform: uppercase;
   color: rgba(17, 24, 39, 0.65);
 }
 
 .modalField input[type="text"],
.modalField input[type="email"],
.modalField input[type="password"] {
   width: 100%;
   padding: 10px 0 0 0;
   border: 0;
   background: transparent;
   outline: none;
   font-family: "Share Tech Mono", ui-monospace, monospace;
   font-size: 16px;
   letter-spacing: 0.02em;
   color: rgba(17, 24, 39, 0.92);
 }
 
 .modalField input::placeholder { color: rgba(17, 24, 39, 0.40); }
 
.modalPwRow {
  display: flex;
  align-items: center;
  gap: 10px;
}

.modalPwBtn {
  height: 34px;
  width: 34px;
  border-radius: 12px;
  border: 1px solid rgba(20, 184, 166, 0.45);
  background: rgba(7, 10, 18, 0.92);
  color: rgba(255, 255, 255, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex: 0 0 auto;
  transition: all 0.2s ease;
}

.modalPwBtn svg {
  width: 16px;
  height: 16px;
}

.modalPwBtn:hover {
  background: rgba(20, 184, 166, 0.15);
}

 .otp-inputs { display: flex; gap: 10px; justify-content: center; margin-bottom: 30px; }
 
 .otp-input {
   width: 50px;
   height: 60px;
   background: rgba(255, 255, 255, 0.92);
   border: 1px solid rgba(20, 184, 166, 0.30);
   border-radius: 12px;
   text-align: center;
   font-size: 24px;
   font-family: "Share Tech Mono", ui-monospace, monospace;
   color: rgba(17, 24, 39, 0.92);
   transition: all 0.3s ease;
   box-shadow: 0 10px 22px rgba(17, 24, 39, 0.06);
 }
 
 .otp-input:focus {
   border-color: rgba(20, 184, 166, 0.80);
   background: rgba(255, 255, 255, 0.95);
   outline: none;
   box-shadow: 0 0 0 4px rgba(20, 184, 166, 0.12), 0 0 18px rgba(20, 184, 166, 0.12);
 }
 
 .modal-btn {
   width: 100%;
   padding: 13px 14px;
   border-radius: 14px;
   border: 1px solid rgba(20, 184, 166, 0.55);
   background: #070a12;
   color: rgba(255, 255, 255, 0.96);
   font-family: "Share Tech Mono", ui-monospace, monospace;
   font-size: 14px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   cursor: pointer;
   transition: transform 150ms ease, filter 150ms ease, box-shadow 150ms ease;
   box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28), 0 0 28px rgba(20, 184, 166, 0.10);
 }
 
 .modal-btn:hover {
   transform: translateY(-1px);
   box-shadow: 0 22px 55px rgba(0, 0, 0, 0.32), 0 0 34px rgba(20, 184, 166, 0.14);
 }
 
 .modal-btn:active { transform: translateY(0px) scale(0.99); }
 
 .modal-btn.secondary {
   margin-top: 10px;
   background: rgba(255, 255, 255, 0.65);
   border: 1px solid rgba(17, 24, 39, 0.16);
   color: rgba(17, 24, 39, 0.78);
   box-shadow: 0 14px 30px rgba(17, 24, 39, 0.08);
 }
 
 .alert {
   padding: 12px 14px;
   border-radius: 14px;
   margin: 12px 0 16px 0;
   font-family: "Share Tech Mono", ui-monospace, monospace;
   font-size: 13px;
 }
 
 .alertSuccess {
   background: rgba(34, 197, 94, 0.12);
   border: 1px solid rgba(34, 197, 94, 0.45);
   color: rgba(34, 197, 94, 0.95);
 }
 
 .alertError {
   background: rgba(239, 68, 68, 0.10);
   border: 1px solid rgba(239, 68, 68, 0.45);
   color: rgba(239, 68, 68, 0.95);
 }
 
 .mb30 { margin-bottom: 30px; }
 .mb16 { margin-bottom: 16px; }
 .mb20 { margin-bottom: 20px; }
 
 .dashboardShell {
   width: min(1120px, 100%);
   display: grid;
   gap: 18px;
  margin: 0 auto;
 }
 
 .userStrip {
   display: flex;
   align-items: center;
   gap: 10px;
   flex: 1;
   min-width: 320px;
   overflow: hidden;
 }
 
 .infoCard {
   height: 56px;
   border-radius: 16px;
   border: 1px solid rgba(17, 24, 39, 0.12);
   background: rgba(255, 255, 255, 0.72);
   backdrop-filter: blur(10px);
   box-shadow: 0 18px 45px rgba(17, 24, 39, 0.10);
   padding: 10px 12px;
   display: grid;
   grid-template-columns: 30px 1fr;
   gap: 10px;
   align-items: center;
   overflow: hidden;
   min-width: 0;
   flex: 1;
 }
 
 .infoIcon {
   width: 30px;
   height: 30px;
   border-radius: 12px;
   border: 1px solid rgba(20, 184, 166, 0.22);
   background: rgba(20, 184, 166, 0.10);
   display: grid;
   place-items: center;
   color: rgba(17, 24, 39, 0.85);
 }
 
 .infoIcon svg { width: 16px; height: 16px; }
 
 .infoMeta { display: grid; gap: 2px; min-width: 0; }
 
 .infoLabel {
   font-family: "Share Tech Mono", ui-monospace, monospace;
   font-size: 10px;
   letter-spacing: 0.14em;
   text-transform: uppercase;
   color: rgba(17, 24, 39, 0.55);
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
 }
 
 .infoValue {
   font-size: 13px;
   color: rgba(17, 24, 39, 0.92);
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
 }

 .infoCardActions {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
 }

 .actionForm { margin: 0; }

 .actionBtn {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   border: 1px solid rgba(20, 184, 166, 0.26);
   background: rgba(255, 255, 255, 0.60);
   color: rgba(17, 24, 39, 0.88);
   padding: 8px 10px;
   border-radius: 14px;
   text-decoration: none;
   cursor: pointer;
   font-family: "Share Tech Mono", ui-monospace, monospace;
   font-size: 12px;
   line-height: 1;
   letter-spacing: 0.10em;
   text-transform: uppercase;
   transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
   appearance: none;
   -webkit-appearance: none;
 }

 @keyframes hackerBorderFlicker {
   0% { border-color: rgba(239, 68, 68, 0.35); box-shadow: 0 16px 34px rgba(17, 24, 39, 0.12), 0 0 0 rgba(0, 0, 0, 0); }
   35% { border-color: rgba(239, 68, 68, 0.95); box-shadow: 0 16px 34px rgba(17, 24, 39, 0.12), 0 0 0 2px rgba(239, 68, 68, 0.22), 0 0 26px rgba(239, 68, 68, 0.22); }
   70% { border-color: rgba(20, 184, 166, 0.75); box-shadow: 0 16px 34px rgba(17, 24, 39, 0.12), 0 0 0 2px rgba(239, 68, 68, 0.12), 0 0 18px rgba(239, 68, 68, 0.16); }
   100% { border-color: rgba(239, 68, 68, 0.85); box-shadow: 0 16px 34px rgba(17, 24, 39, 0.12), 0 0 0 2px rgba(239, 68, 68, 0.18), 0 0 30px rgba(239, 68, 68, 0.22); }
 }

 @keyframes hackerIconFlicker {
   0% { color: rgba(239, 68, 68, 0.45); border-color: rgba(239, 68, 68, 0.25); background: rgba(239, 68, 68, 0.06); box-shadow: 0 0 0 rgba(0,0,0,0); }
   35% { color: rgba(239, 68, 68, 0.98); border-color: rgba(239, 68, 68, 0.65); background: rgba(239, 68, 68, 0.10); box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.18), 0 0 26px rgba(239, 68, 68, 0.20); }
   70% { color: rgba(239, 68, 68, 0.85); border-color: rgba(239, 68, 68, 0.45); background: rgba(239, 68, 68, 0.08); box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.10), 0 0 18px rgba(239, 68, 68, 0.14); }
   100% { color: rgba(239, 68, 68, 0.95); border-color: rgba(239, 68, 68, 0.55); background: rgba(239, 68, 68, 0.10); box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.16), 0 0 30px rgba(239, 68, 68, 0.20); }
 }

 .actionBtn:hover {
   transform: translateY(-1px);
   box-shadow: 0 16px 34px rgba(17, 24, 39, 0.12), 0 0 22px rgba(20, 184, 166, 0.10);
   background: rgba(255, 255, 255, 0.74);
   animation: hackerBorderFlicker 520ms steps(2, end) infinite;
 }

 .actionBtn:hover .actionIcon {
   animation: hackerIconFlicker 520ms steps(2, end) infinite;
 }

 .actionBtn:active {
   transform: translateY(0px) scale(0.99);
 }

 .actionIcon {
   width: 30px;
   height: 30px;
   border-radius: 12px;
   border: 1px solid rgba(20, 184, 166, 0.22);
   background: rgba(20, 184, 166, 0.10);
   display: grid;
   place-items: center;
   flex: 0 0 auto;
 }

 .actionIcon svg { width: 16px; height: 16px; }

 .actionLabel {
   max-width: 0;
   opacity: 0;
   overflow: hidden;
   white-space: nowrap;
   transform: translateX(-8px);
   transition: max-width 220ms ease, opacity 200ms ease, transform 220ms ease;
 }

 .actionBtn:hover .actionLabel {
   max-width: 180px;
   opacity: 1;
   transform: translateX(0);
 }

 .dashCard {
   width: min(720px, 100%);
   border-radius: 22px;
   border: 1px solid rgba(255, 255, 255, 0.12);
   background: #070a12;
   box-shadow: 0 60px 140px rgba(0, 0, 0, 0.55), 0 22px 55px rgba(0, 0, 0, 0.35);
   padding: 22px;
   color: rgba(255, 255, 255, 0.92);
 }

 .dashTitle {
   margin: 0;
   font-size: 28px;
   letter-spacing: 0.08em;
   font-family: "Share Tech Mono", ui-monospace, monospace;
 }

 .dashText {
   margin: 10px 0 0 0;
   color: rgba(255, 255, 255, 0.70);
 }

 .dashBtn {
   margin-top: 18px;
   display: inline-block;
   padding: 12px 14px;
   border-radius: 12px;
   border: 1px solid rgba(20, 184, 166, 0.55);
   color: rgba(255, 255, 255, 0.96);
   background: rgba(7, 10, 18, 0.92);
   text-decoration: none;
   font-family: "Share Tech Mono", ui-monospace, monospace;
   letter-spacing: 0.10em;
   text-transform: uppercase;
 }

 .dashTiles {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(260px, 300px));
   gap: 14px;
   align-items: start;
   justify-items: start;
 }

 .dashTile {
   width: 100%;
   aspect-ratio: 1 / 1;
   border-radius: 22px;
   border: 1px solid rgba(255, 255, 255, 0.12);
   background: #070a12;
   box-shadow: 0 60px 140px rgba(0, 0, 0, 0.55), 0 22px 55px rgba(0, 0, 0, 0.35);
   padding: 18px;
   color: rgba(255, 255, 255, 0.92);
   text-decoration: none;
   overflow: hidden;
   position: relative;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   transition: transform 180ms ease, box-shadow 180ms ease;
 }

 .dashTile::before {
   content: "";
   position: absolute;
   inset: -1px;
   background: radial-gradient(380px 220px at 18% 12%, rgba(20, 184, 166, 0.14), transparent 60%),
               radial-gradient(380px 220px at 82% 10%, rgba(137, 87, 255, 0.12), transparent 60%);
   pointer-events: none;
 }

 .dashTileTop {
   position: relative;
   z-index: 1;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 14px;
 }

 .dashTileTitle {
   font-family: "Share Tech Mono", ui-monospace, monospace;
   font-size: 22px;
   letter-spacing: 0.14em;
 }

 .dashTileIcon {
   width: 56px;
   height: 56px;
   border-radius: 18px;
   border: 1px solid rgba(20, 184, 166, 0.22);
   background: rgba(20, 184, 166, 0.10);
   display: grid;
   place-items: center;
   color: rgba(20, 184, 166, 0.92);
   box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35), 0 0 30px rgba(20, 184, 166, 0.12);
   position: relative;
   z-index: 1;
 }

 .dashTileIcon svg { width: 28px; height: 28px; }

 .dashTileMeta {
   position: relative;
   z-index: 1;
   margin-top: 0;
   color: rgba(255, 255, 255, 0.70);
   font-size: 13px;
   font-family: "Share Tech Mono", ui-monospace, monospace;
   letter-spacing: 0.06em;
 }

 .dashTile:hover {
   transform: translateY(-2px);
   box-shadow: 0 70px 170px rgba(0, 0, 0, 0.60), 0 26px 70px rgba(0, 0, 0, 0.40);
 }

 .dashTile:active {
   transform: translateY(0px) scale(0.995);
 }

.isHidden { display: none !important; }

.contractorCard {
  margin-top: 14px;
  border-radius: 18px;
  border: 1px solid rgba(17, 24, 39, 0.12);
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(10px);
  padding: 14px;
}

.contractorForm { display: grid; gap: 12px; }

.contractorGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 12px;
}

.contractorField { display: grid; gap: 6px; }
.contractorSpan2 { grid-column: span 2; }

.contractorLabel {
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(7, 10, 18, 0.96);
  font-weight: 700;
}

.contractorHelp {
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(2, 132, 199, 0.95);
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(2, 132, 199, 0.22);
  background: rgba(2, 132, 199, 0.08);
}

.contractorHelpSlot {
  min-height: 18px;
}

.contractorLabelRow {
  display: flex;
  align-items: center;
  gap: 8px;
}

.contractorInfo {
  position: relative;
  display: inline-flex;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  line-height: 1;
  background: rgba(2, 132, 199, 0.18);
  border: 1px solid rgba(2, 132, 199, 0.28);
  color: rgba(2, 132, 199, 0.95);
  cursor: help;
}

.contractorInfoTip {
  position: absolute;
  left: 50%;
  top: calc(100% + 8px);
  transform: translateX(-50%);
  width: 260px;
  max-width: 70vw;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(7, 10, 18, 0.94);
  color: rgba(255, 255, 255, 0.92);
  font-size: 12px;
  letter-spacing: 0.02em;
  opacity: 0;
  pointer-events: none;
  z-index: 20;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.35);
}

.contractorInfoTip::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 12px;
  height: 12px;
  background: rgba(7, 10, 18, 0.94);
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.contractorInfo:hover .contractorInfoTip,
.contractorInfo:focus .contractorInfoTip,
.contractorInfo:focus-visible .contractorInfoTip {
  opacity: 1;
  pointer-events: auto;
}

.contractorForm input,
.contractorForm select {
  width: 100%;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(17, 24, 39, 0.14);
  background: rgba(255, 255, 255, 0.86);
  color: rgba(17, 24, 39, 0.92);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 13px;
  letter-spacing: 0.04em;
}

.contractorForm input[readonly],
.contractorForm input:disabled,
.contractorForm select:disabled {
  opacity: 0.92;
  background: rgba(7, 10, 18, 0.06);
  border-color: rgba(7, 10, 18, 0.18);
  color: rgba(7, 10, 18, 0.78);
  cursor: not-allowed;
}

.contractorRepeater {
  display: grid;
  gap: 8px;
}

.contractorRepeatRow {
  display: grid;
  grid-template-columns: 1fr 36px;
  gap: 8px;
  align-items: center;
}

.contractorIconBtn {
  height: 40px;
  border-radius: 12px;
  border: 1px solid rgba(220, 38, 38, 0.35);
  background: rgba(220, 38, 38, 0.08);
  color: rgba(220, 38, 38, 0.92);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.contractorIconBtn:hover {
  background: rgba(220, 38, 38, 0.12);
}

.contractorAddBtn {
  height: 40px;
  border-radius: 12px;
  border: 1px solid rgba(20, 184, 166, 0.35);
  background: rgba(20, 184, 166, 0.08);
  color: rgba(7, 10, 18, 0.92);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  width: fit-content;
}

.contractorAddBtn:hover {
  background: rgba(20, 184, 166, 0.12);
}

.contractorForm input:focus,
.contractorForm select:focus {
  outline: none;
  border-color: rgba(20, 184, 166, 0.55);
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.12);
}

.contractorBtn {
  height: 44px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid rgba(20, 184, 166, 0.35);
  background: rgba(7, 10, 18, 0.92);
  color: rgba(255, 255, 255, 0.92);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  margin-top: 10px;
}

.contractorBtnGhost {
  border-color: rgba(17, 24, 39, 0.18);
  background: rgba(255, 255, 255, 0.35);
  color: rgba(7, 10, 18, 0.82);
}

.contractorPwRow {
  display: flex;
  align-items: center;
  gap: 10px;
}

.contractorPwBtn {
  height: 38px;
  width: 38px;
  border-radius: 12px;
  border: 1px solid rgba(20, 184, 166, 0.35);
  background: rgba(7, 10, 18, 0.92);
  color: rgba(255, 255, 255, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex: 0 0 auto;
  transition: all 0.2s ease;
}

.contractorPwBtn svg {
  width: 18px;
  height: 18px;
}

.contractorPwBtn:hover {
  background: rgba(20, 184, 166, 0.15);
}

.postgradWrap { display: grid; gap: 10px; }

.postgradOptions {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 8px;
}

.postgradCheck {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(17, 24, 39, 0.14);
  background: rgba(255, 255, 255, 0.72);
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease, transform 160ms ease;
}

.postgradCheck input {
  width: 18px;
  height: 18px;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 6px;
  border: 1px solid rgba(20, 184, 166, 0.45);
  background: rgba(7, 10, 18, 0.06);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}

.postgradCheck input::after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: rgba(20, 184, 166, 0.95);
  box-shadow: 0 0 0 2px rgba(20, 184, 166, 0.14), 0 0 18px rgba(20, 184, 166, 0.18);
  transform: scale(0);
  transition: transform 140ms ease;
}

.postgradCheck input:checked {
  border-color: rgba(20, 184, 166, 0.85);
  background: rgba(20, 184, 166, 0.14);
}

.postgradCheck input:checked::after { transform: scale(1); }

.postgradCheck.isChecked {
  border-color: rgba(20, 184, 166, 0.35);
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.10);
  background: rgba(20, 184, 166, 0.06);
}

.postgradCheck:hover { transform: translateY(-1px); }

.postgradCheckText {
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(17, 24, 39, 0.88);
}

.postgradSelected { display: grid; gap: 10px; }

.postgradItem {
  border-radius: 16px;
  border: 1px solid rgba(20, 184, 166, 0.22);
  background: rgba(20, 184, 166, 0.06);
  padding: 10px 12px;
}

.postgradItem.isCustom {
  border-color: rgba(137, 87, 255, 0.22);
  background: rgba(137, 87, 255, 0.06);
}

.postgradItem.isNone {
  border-color: rgba(20, 184, 166, 0.30);
  background: rgba(20, 184, 166, 0.06);
}

.postgradHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.postgradBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(20, 184, 166, 0.28);
  background: rgba(7, 10, 18, 0.92);
  color: rgba(255, 255, 255, 0.92);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.postgradItem.isCustom .postgradBadge {
  border-color: rgba(137, 87, 255, 0.35);
  background: rgba(7, 10, 18, 0.92);
}

.postgradRemove { height: 32px; width: 32px; border-radius: 12px; font-size: 18px; }

.postgradBody { display: grid; gap: 10px; }

.postgradNoneText {
  color: rgba(7, 10, 18, 0.68);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 0 4px;
}

.postgradField { display: grid; gap: 6px; }

.postgradLabel {
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(7, 10, 18, 0.68);
}

.postgradError {
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(239, 68, 68, 0.35);
  background: rgba(239, 68, 68, 0.08);
  color: rgba(239, 68, 68, 0.92);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.04em;
}

@media (max-width: 760px) {
  .postgradOptions { grid-template-columns: 1fr; }
}

.contractorBtn:hover {
  background: rgba(7, 10, 18, 0.96);
  box-shadow: 0 16px 34px rgba(17, 24, 39, 0.12), 0 0 22px rgba(20, 184, 166, 0.10);
}

.contractorBtn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  box-shadow: none;
}

.adminUsers { margin-top: 14px; }

.adminNotice {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(7, 10, 18, 0.92);
  color: rgba(255, 255, 255, 0.92);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.06em;
}

.adminNotice.isOk {
  border-color: rgba(16, 185, 129, 0.55);
  background: rgba(16, 185, 129, 0.10);
}

.adminNotice.isError {
  border-color: rgba(220, 38, 38, 0.55);
  background: rgba(220, 38, 38, 0.10);
}

.adminToolbar {
  margin-top: 14px;
  display: flex;
  gap: 10px;
  align-items: flex-end;
  flex-wrap: wrap;
}

.adminToolbarSetting {
  align-items: center;
  justify-content: space-between;
}

.adminToolbarSetting .adminField {
  min-width: 0;
  flex: 1 1 auto;
}

.adminToolbarSetting .adminInlineForm {
  flex: 0 0 auto;
}

.adminField {
  display: grid;
  gap: 6px;
  min-width: 240px;
  flex: 1 1 240px;
}

.adminLabel {
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(17, 24, 39, 0.72);
}

.adminEditForm .adminLabel {
  color: rgba(255, 255, 255, 0.75);
}

.adminTableHint {
  margin-top: 10px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(17, 24, 39, 0.12);
  background: rgba(255, 255, 255, 0.45);
  color: rgba(17, 24, 39, 0.72);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.06em;
}

.adminCountPill {
  height: 40px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(20, 184, 166, 0.28);
  background: rgba(20, 184, 166, 0.10);
  color: rgba(20, 184, 166, 0.95);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.adminUsers input,
.adminUsers select {
  width: 100%;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(7, 10, 18, 0.92);
  color: rgba(255, 255, 255, 0.92);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 13px;
  letter-spacing: 0.04em;
}

.adminUsers input:focus,
.adminUsers select:focus {
  outline: none;
  border-color: rgba(20, 184, 166, 0.55);
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.12);
}

.adminBtn {
  height: 40px;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid rgba(20, 184, 166, 0.30);
  background: rgba(7, 10, 18, 0.92);
  color: rgba(255, 255, 255, 0.92);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.adminBtn:hover {
  background: rgba(255, 255, 255, 0.06);
  box-shadow: 0 16px 34px rgba(17, 24, 39, 0.12), 0 0 22px rgba(20, 184, 166, 0.10);
}

.adminBtnSmall {
  height: 34px;
  padding: 0 10px;
  border-radius: 12px;
  font-size: 11px;
}

.adminBtnGhost {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
}

.adminBtnClear {
  border-color: rgba(20, 184, 166, 0.45);
  background: rgba(20, 184, 166, 0.10);
  color: rgba(20, 184, 166, 0.95);
}

.adminBtnClear:hover {
  background: rgba(20, 184, 166, 0.14);
  box-shadow: 0 16px 34px rgba(17, 24, 39, 0.12), 0 0 22px rgba(20, 184, 166, 0.10);
}

.adminBtnOk {
  border-color: rgba(16, 185, 129, 0.45);
}

.adminBtnDanger {
  border-color: rgba(220, 38, 38, 0.55);
}

.adminTableWrap {
  margin-top: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(7, 10, 18, 0.92);
  overflow: auto;
}

.adminTable {
  width: 100%;
  border-collapse: collapse;
  min-width: 920px;
  color: rgba(255, 255, 255, 0.92);
}

.adminTable th,
.adminTable td {
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  vertical-align: top;
  text-align: left;
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.04em;
}

.adminTable thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: rgba(7, 10, 18, 0.98);
}

.adminTable th.adminRefCol,
.adminTable td.adminRefCol {
  background: rgba(20, 184, 166, 0.10);
}

.adminTable th.adminRefCol {
  background: rgba(20, 184, 166, 0.14);
}

.adminTable td.adminRefCol {
  border-left: 1px solid rgba(20, 184, 166, 0.22);
  border-right: 1px solid rgba(20, 184, 166, 0.22);
}

.adminTable th:last-child,
.adminTable td:last-child {
  position: sticky;
  right: 0;
  background: rgba(7, 10, 18, 0.98);
  border-left: 1px solid rgba(255, 255, 255, 0.10);
}

.adminTable th:last-child { z-index: 2; }

.adminCellMono { white-space: nowrap; }

.adminActions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
}

.adminRefForm {
  display: grid;
  gap: 8px;
  min-width: 360px;
}

.adminRefDetails {
  margin: 0;
}

.adminRefSummary {
  list-style: none;
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
}

.adminRefDetails > summary::-webkit-details-marker {
  display: none;
}

.adminRefSummaryText {
  color: rgba(255, 255, 255, 0.92);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 420px;
}

.adminRefSummaryBtn {
  color: rgba(20, 184, 166, 0.92);
  border: 1px solid rgba(20, 184, 166, 0.35);
  background: rgba(20, 184, 166, 0.10);
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  white-space: nowrap;
}

.adminRefDetails[open] > .adminRefSummary {
  border-color: rgba(20, 184, 166, 0.35);
}

.adminRefDetails[open] > .adminRefForm {
  margin-top: 10px;
}

.adminRefStack {
  display: grid;
  gap: 10px;
}

.adminRefRow {
  display: grid;
  gap: 6px;
}

.adminRefRow[data-hidden="1"] {
  display: none;
}

.adminRefLabel {
  color: rgba(255, 255, 255, 0.65);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.adminRefForm select {
  width: 100%;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.92);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.02em;
}

.adminRefActions {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.adminRefValue {
  color: rgba(20, 184, 166, 0.92);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.adminInlineForm { margin: 0; }

.adminMuted {
  color: rgba(255, 255, 255, 0.55);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
}

.adminBadge {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  white-space: nowrap;
}

.adminBadgeRole { border-color: rgba(137, 87, 255, 0.35); }

.adminBadgeStatus.adminStatus-active { border-color: rgba(16, 185, 129, 0.45); }
.adminBadgeStatus.adminStatus-inactive { border-color: rgba(255, 196, 92, 0.45); }
.adminBadgeStatus.adminStatus-blocked { border-color: rgba(220, 38, 38, 0.55); }

.adminDetails { display: inline-block; }
.adminDetails > summary { list-style: none; }
.adminDetails > summary::-webkit-details-marker { display: none; }

.adminAccordion {
  margin-top: 12px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(7, 10, 18, 0.92);
  overflow: hidden;
}

.adminAccordionSummary {
  list-style: none;
  cursor: pointer;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-family: "Share Tech Mono", ui-monospace, monospace;
  color: rgba(255, 255, 255, 0.92);
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

.adminAccordionSummary::-webkit-details-marker { display: none; }

.adminAccordionTitle { font-size: 12px; }

.adminAccordionMeta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  font-size: 11px;
  letter-spacing: 0.08em;
}

.adminAccordion[open] .adminAccordionSummary {
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.04);
}

.adminAccordion .adminToolbar { margin: 12px 12px 0 12px; }
.adminAccordion .adminTableWrap { margin: 12px; }

.adminCheckList {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 10px;
}

.adminCheckItem {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(7, 10, 18, 0.92);
  color: rgba(255, 255, 255, 0.88);
  font-family: "Share Tech Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.06em;
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease, transform 160ms ease;
}

.adminCheckItem:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(20, 184, 166, 0.30);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.22), 0 0 0 2px rgba(20, 184, 166, 0.10);
  transform: translateY(-1px);
}

.adminCheckItem input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}

.adminCheckText {
  user-select: none;
  position: relative;
  padding-left: 30px;
}

.adminCheckText::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.25);
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.adminCheckText::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 50%;
  width: 10px;
  height: 10px;
  transform: translateY(-50%) scale(0);
  border-radius: 4px;
  background: rgba(20, 184, 166, 0.95);
  box-shadow: 0 0 18px rgba(20, 184, 166, 0.25);
  transition: transform 140ms ease;
}

.adminCheckItem input:checked + .adminCheckText::before {
  border-color: rgba(20, 184, 166, 0.55);
  background: rgba(20, 184, 166, 0.10);
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.12), inset 0 0 0 1px rgba(0, 0, 0, 0.25);
}

.adminCheckItem input:checked + .adminCheckText::after { transform: translateY(-50%) scale(1); }

.adminCheckItem input:focus-visible + .adminCheckText::before {
  outline: none;
  box-shadow: 0 0 0 4px rgba(20, 184, 166, 0.16), inset 0 0 0 1px rgba(0, 0, 0, 0.25);
}

.adminEditForm {
  margin-top: 8px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  display: grid;
  gap: 10px;
  min-width: min(520px, 86vw);
}

.adminEditGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  gap: 10px;
}

.dashPageWide {
  width: min(1600px, 100%);
}

.adminTable {
  min-width: 1280px;
}
 
 @media (max-width: 980px) {
   .wrapDashboard { padding-top: 150px; }
   .userStrip { min-width: 100%; }
   .infoCard { flex: 0 0 calc(50% - 5px); }
   .infoCardActions { justify-content: space-between; }
   .actionBtn { width: 100%; justify-content: center; }
  .dashBody { grid-template-columns: 1fr; }
  .sidebar { position: relative; top: 0; width: 100%; border-right: 0; }
  .adminEditGrid { grid-template-columns: 1fr; }
  .contractorGrid { grid-template-columns: 1fr; }
  .contractorSpan2 { grid-column: span 1; }
 }
 
 @media (max-width: 520px) {
   .wrapDashboard { padding-top: 192px; }
   .wrapDashboard { padding-left: 24px; }
   .userStrip { flex-wrap: wrap; }
   .infoCard { flex: 1 1 100%; }
   .infoCardActions { gap: 10px; }
  .dashBody { grid-template-columns: 1fr; }
  .sidebar { position: relative; top: 0; width: 100%; padding: 14px 12px; border-right: 0; }
  body.sidebar-collapsed .sidebar { width: 100%; }
 }
 
 @media (prefers-reduced-motion: reduce) {
   * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
 }
