:root {
  --navy:#001f48;
  --navy-2:#082f5e;
  --gold:#d79b27;
  --gold-2:#f1c96b;
  --cream:#f7f2e9;
  --ink:#102136;
  --muted:#697789;
  --panel:rgba(255,255,255,.84);
  --shadow:0 22px 70px rgba(0,31,72,.12);
  --red:#d96a61;
  --orange:#df9c2e;
  --green:#2f9f69;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 15% 6%, rgba(241,201,107,.22), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(0,31,72,.11), transparent 30%),
    linear-gradient(135deg,#f7f2e9,#fff 55%,#eef4fb);
}
body::before {
  content:"";
  position:fixed;
  inset:0;
  background:url("../assets/timewiseai-banner.png") center/cover no-repeat;
  opacity:.045;
  pointer-events:none;
}

button,input,textarea,select { font:inherit; }
a { color:inherit; }

.portal-login-body { display:grid; place-items:center; padding:clamp(1rem,4vw,3rem); }
.login-shell.v60-login {
  width:min(1120px,100%);
  min-height:690px;
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:1rem;
  padding:1rem;
  border-radius:38px;
  background:rgba(255,255,255,.60);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 34px 110px rgba(0,31,72,.18);
  backdrop-filter:blur(22px);
  position:relative;
  z-index:1;
}
.login-hero-card {
  border-radius:30px;
  padding:clamp(1.6rem,4vw,3rem);
  background:
    linear-gradient(135deg,rgba(0,31,72,.94),rgba(6,46,88,.84)),
    url("../assets/timewiseai-banner.png") center/cover no-repeat;
  color:white;
  display:grid;
  align-content:space-between;
  gap:2rem;
  overflow:hidden;
}
.portal-brand { display:inline-flex; align-items:center; gap:.7rem; text-decoration:none; color:inherit; font-weight:950; }
.portal-brand img { width:38px; height:38px; object-fit:contain; }
.login-main-copy h1 { color:white; font-size:clamp(2.8rem,6vw,5.6rem); line-height:.95; letter-spacing:-.065em; margin:0; }
.login-main-copy p { color:rgba(255,255,255,.78); max-width:650px; }
.login-preview-stack { display:grid; gap:.85rem; }
.preview-card {
  padding:1rem;
  border-radius:22px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  display:grid;
  gap:.25rem;
}
.preview-card strong { color:var(--gold-2); }
.preview-card span { color:rgba(255,255,255,.76); }

.login-panel {
  padding:clamp(1.6rem,4vw,3rem);
  display:grid;
  align-content:center;
  gap:1.35rem;
}
.login-panel h2 { margin:0; font-size:clamp(2.2rem,4vw,3.8rem); color:var(--navy); }
.login-panel small { color:var(--muted); line-height:1.6; }

.eyebrow { margin:0 0 .75rem; color:var(--gold); text-transform:uppercase; letter-spacing:.2em; font-size:.78rem; font-weight:950; }
h1,h2,h3 { color:var(--navy); letter-spacing:-.04em; }
h1 { margin:0; font-size:clamp(2.5rem,5vw,5.1rem); line-height:.95; }
h2 { margin:0; font-size:clamp(1.45rem,3vw,2.05rem); }
h3 { margin:0; }
p { color:var(--muted); line-height:1.7; }
label { display:grid; gap:.38rem; color:var(--navy); font-weight:850; }
input,textarea,select {
  width:100%;
  border:1px solid rgba(0,31,72,.12);
  border-radius:16px;
  padding:.9rem 1rem;
  outline:none;
  background:rgba(255,255,255,.88);
  color:var(--ink);
}
textarea { min-height:110px; resize:vertical; }
input:focus,textarea:focus,select:focus { border-color:var(--gold); box-shadow:0 0 0 4px rgba(215,155,39,.14); }
form { display:grid; gap:.9rem; }
.login-verification-panel {
  display:grid;
  gap:.72rem;
  padding:1rem;
  border-radius:22px;
  border:1px solid rgba(215,155,39,.34);
  background:
    radial-gradient(circle at 12% 0%, rgba(241,201,107,.28), transparent 36%),
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(238,244,251,.9));
  box-shadow:0 18px 48px rgba(0,31,72,.11), inset 0 1px 0 rgba(255,255,255,.9);
}
.login-verification-panel span {
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
  font-weight:950;
}
.login-verification-panel strong { color:var(--navy); font-size:1.08rem; }
.login-verification-panel p { margin:0; font-size:.9rem; line-height:1.55; }
.login-verification-panel input {
  text-align:center;
  letter-spacing:.2em;
  font-weight:950;
  background:rgba(255,255,255,.94);
}
.login-verification-panel .verification-actions {
  display:flex;
  gap:.55rem;
  flex-wrap:wrap;
  align-items:center;
}

.login-verification-panel button {
  justify-self:start;
  min-width:180px;
}
.login-verification-panel button:disabled { opacity:.72; cursor:wait; }
button,.download-btn,.primary-action {
  border:0;
  border-radius:999px;
  padding:.85rem 1.1rem;
  cursor:pointer;
  color:var(--navy);
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  font-weight:950;
  text-decoration:none;
  box-shadow:0 14px 34px rgba(215,155,39,.22);
}
.form-message { min-height:1.4rem; margin:0; font-weight:850; }
.form-message.error { color:#a43d36; }
.form-message.success { color:#0b7f48; }

.sidebar {
  position:fixed;
  inset:0 auto 0 0;
  width:280px;
  padding:1.2rem;
  background:rgba(255,255,255,.78);
  border-right:1px solid rgba(0,31,72,.08);
  backdrop-filter:blur(20px);
  z-index:10;
  display:flex;
  flex-direction:column;
  gap:1.3rem;
}
.sidebar nav { display:grid; gap:.4rem; margin-top:1rem; }
.sidebar nav a { text-decoration:none; color:var(--muted); font-weight:850; padding:.85rem 1rem; border-radius:16px; }
.sidebar nav a.active,.sidebar nav a:hover { color:var(--navy); background:rgba(0,31,72,.07); }
.sidebar button { margin-top:auto; background:rgba(0,31,72,.08); box-shadow:none; }

.app-main {
  width:min(1300px,calc(100% - 320px));
  margin-left:300px;
  padding:clamp(1.2rem,4vw,3rem) clamp(1rem,3vw,2rem);
  position:relative;
  z-index:1;
}
.page-hero {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1.5rem;
  margin-bottom:1.4rem;
}
.v60-hero {
  padding:1.3rem;
  border-radius:30px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(255,255,255,.68);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
}
.page-hero p { max-width:760px; }

.metric-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin-bottom:1.2rem;
}
.metric-card,.panel,.asset-card,.service-card,.call-card,.compact-app,.process-column,.user-summary,.request-card,.question-card {
  background:var(--panel);
  border:1px solid rgba(255,255,255,.68);
  border-radius:28px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
}
.metric-card { padding:1.15rem; }
.metric-card span { color:var(--muted); font-size:.88rem; font-weight:850; }
.metric-card strong { display:block; color:var(--navy); font-size:clamp(1.8rem,3.7vw,3rem); margin-top:.35rem; }

.panel { padding:clamp(1.1rem,2.7vw,1.7rem); margin-bottom:1.2rem; }
.panel-top { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.1rem; }
.panel-top p { margin:.25rem 0 0; }

.status-pill {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.48rem .75rem;
  font-weight:950;
  font-size:.85rem;
  border:1px solid transparent;
  white-space:nowrap;
}
.status-pill.applied,.status-pill.open,.status-pill.requested { color:#8a2f2a; background:rgba(217,106,97,.15); border-color:rgba(217,106,97,.25); }
.status-pill.reschedule_requested { color:#7a4b07; background:linear-gradient(135deg,rgba(255,248,232,.94),rgba(215,155,39,.18)); border-color:rgba(215,155,39,.32); }
.status-pill.in_process,.status-pill.planned,.status-pill.scheduled { color:#80530f; background:rgba(223,156,46,.17); border-color:rgba(223,156,46,.28); }
.status-pill.boarded,.status-pill.completed,.status-pill.available,.status-pill.answered { color:#176441; background:rgba(47,159,105,.16); border-color:rgba(47,159,105,.25); }
.status-pill.closed { color:#5e6b79; background:rgba(0,31,72,.08); border-color:rgba(0,31,72,.12); }
.status-pill.locked { color:#5e4b14; background:rgba(215,155,39,.14); border-color:rgba(215,155,39,.24); }
.status-pill.potential,.status-pill.pending_email_confirmation { color:#4b5563; background:rgba(107,114,128,.16); border-color:rgba(107,114,128,.24); }
.status-pill.confirmed { color:#176441; background:rgba(47,159,105,.16); border-color:rgba(47,159,105,.25); }

.timeline-layout { display:grid; grid-template-columns:minmax(260px,.78fr) minmax(420px,1.22fr); gap:1.4rem; align-items:center; }
.process-wheel-card {
  min-height:360px;
  display:grid;
  place-items:center;
  gap:1rem;
  padding:1rem;
  border-radius:28px;
  background:radial-gradient(circle at center,rgba(241,201,107,.18),transparent 52%),rgba(0,31,72,.04);
  border:1px solid rgba(0,31,72,.07);
}
.mini-process-wheel { --size:260px; position:relative; width:var(--size); height:var(--size); display:grid; place-items:center; transform-style:preserve-3d; animation:miniWheelFloat 6s ease-in-out infinite; }
.mini-process-wheel .wheel-ring { position:absolute; inset:16px; border-radius:50%; border:2px solid rgba(0,31,72,.14); box-shadow:inset 0 0 0 18px rgba(255,255,255,.35),0 30px 80px rgba(0,31,72,.13); animation:miniWheelSpin 18s linear infinite; }
.mini-process-wheel img { width:86px; height:86px; object-fit:contain; border-radius:28px; background:rgba(255,255,255,.88); padding:.6rem; box-shadow:0 18px 45px rgba(0,31,72,.14); z-index:2; }
.wheel-node { position:absolute; left:50%; top:50%; width:38px; height:38px; display:grid; place-items:center; margin:-19px; border-radius:50%; background:rgba(255,255,255,.96); border:1px solid rgba(0,31,72,.12); color:var(--navy); font-weight:950; transform:rotate(calc((360deg / var(--count)) * var(--i))) translate(116px) rotate(calc((-360deg / var(--count)) * var(--i))); box-shadow:0 12px 32px rgba(0,31,72,.10); z-index:3; }
.wheel-node.active { background:linear-gradient(135deg,var(--gold),var(--gold-2)); box-shadow:0 16px 36px rgba(215,155,39,.24); }
@keyframes miniWheelFloat { 0%,100% { transform:rotateX(12deg) rotateY(-10deg) translateY(0); } 50% { transform:rotateX(16deg) rotateY(-2deg) translateY(-8px); } }
@keyframes miniWheelSpin { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }

.timeline-steps { display:grid; gap:.8rem; }
.timeline-step { display:grid; grid-template-columns:44px 1fr; gap:.85rem; padding:.95rem; border-radius:22px; background:rgba(255,255,255,.68); border:1px solid rgba(0,31,72,.08); opacity:.68; }
.timeline-step > span { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:rgba(0,31,72,.08); color:var(--navy); font-weight:950; }
.timeline-step.done,.timeline-step.current { opacity:1; }
.timeline-step.done > span { background:rgba(47,159,105,.15); color:var(--green); }
.timeline-step.current { border-color:rgba(215,155,39,.35); box-shadow:0 16px 38px rgba(215,155,39,.11); }
.timeline-step.current > span { background:linear-gradient(135deg,var(--gold),var(--gold-2)); }
.roadmap-line { height:10px; border-radius:999px; background:rgba(0,31,72,.08); overflow:hidden; margin-top:.6rem; }
.roadmap-line span { display:block; height:100%; width:var(--width,0%); background:linear-gradient(135deg,var(--gold),var(--gold-2)); border-radius:inherit; }

.question-form,.schedule-form { grid-template-columns:repeat(2,1fr); margin-bottom:1rem; }
.question-form .full,.schedule-form .full { grid-column:1/-1; }
.question-form button,.schedule-form button { justify-self:start; }
.section-subhead { margin:.35rem 0 .65rem; }
.section-subhead h3 { margin:0; font-size:1.05rem; color:var(--navy); }
.question-list,.request-list,.call-list { display:grid; gap:.85rem; }
.question-card,.request-card { padding:1rem; border-left:6px solid var(--orange); }
.question-card.reschedule_requested { border-left-color:var(--gold); }
.question-card.answered { border-left-color:var(--green); }
.question-card.closed { border-left-color:#7a8796; }

.asset-grid,.implementation-grid,.service-grid,.tool-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.9rem; margin-bottom:1rem; }
.asset-card,.service-card,.call-card { padding:1rem; }
.service-card {
  display:grid;
  align-content:start;
  gap:.65rem;
}
.service-card h3,
.service-card p {
  margin:0;
}
.service-card-head,
.service-card-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
}
.service-card-head .status-pill {
  min-width:92px;
  justify-content:center;
}
.service-card-head strong {
  color:var(--navy);
  white-space:nowrap;
}
.service-card-meta {
  min-height:32px;
  margin-top:auto;
  color:var(--muted);
  font-weight:850;
}
.education-service-card button {
  justify-self:start;
}
.asset-icon { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:rgba(215,155,39,.14); color:var(--navy); font-weight:950; }
.service-card button { margin-top:.7rem; box-shadow:none; background:rgba(0,31,72,.08); }
.call-card { display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:center; }
.call-card > div:last-child { display:grid; justify-items:end; gap:.45rem; }
.tool-card {
  padding:1rem;
  border-radius:28px;
  background:var(--panel);
  border:1px solid rgba(255,255,255,.68);
  box-shadow:var(--shadow);
  display:grid;
  gap:.85rem;
}
.tool-card.locked { opacity:.72; }
.tool-card small { color:var(--muted); font-weight:850; }
.tool-actions { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; }
.download-btn.secondary,.secondary-action {
  background:rgba(0,31,72,.08);
  color:var(--navy);
  box-shadow:none;
}
.tool-actions button[disabled] {
  box-shadow:none;
  cursor:not-allowed;
  background:rgba(0,31,72,.08);
  color:var(--muted);
}

.pipeline-layout { display:grid; grid-template-columns:.9fr 1.4fr; gap:1rem; align-items:start; }
.pipeline-side { padding:1rem; border-radius:24px; background:rgba(0,31,72,.035); border:1px solid rgba(0,31,72,.07); }
.compact-app-list { display:grid; gap:.7rem; margin-top:.75rem; }
.compact-app { position:relative; padding:.8rem 3.25rem .8rem .8rem; border-left:6px solid var(--red); display:grid; gap:.65rem; }
.compact-app.in_process { border-left-color:var(--orange); }
.compact-app.boarded { border-left-color:var(--green); }
.compact-app span { display:block; color:var(--muted); font-size:.88rem; margin-top:.2rem; }

.pipeline-board,.user-process-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.process-column { min-height:220px; padding:.9rem; border:1px dashed rgba(0,31,72,.15); box-shadow:none; transition:.2s ease; }
.process-column h3 { display:flex; justify-content:space-between; align-items:center; gap:.7rem; margin-bottom:.75rem; }
.process-column.drag-over { transform:translateY(-3px); border-color:var(--gold); background:rgba(255,250,240,.88); box-shadow:0 18px 50px rgba(215,155,39,.13); }
.process-column.applied { border-top:5px solid var(--red); }
.process-column.in_process { border-top:5px solid var(--orange); }
.process-column.boarded { border-top:5px solid var(--green); }
.process-drop-area { display:grid; gap:.65rem; min-height:130px; }
.process-user-card { padding:.85rem .9rem; border-radius:18px; background:rgba(255,255,255,.9); border:1px solid rgba(0,31,72,.08); box-shadow:0 10px 26px rgba(0,31,72,.07); cursor:grab; display:grid; gap:.25rem; transition:.18s ease; }
.process-user-card span { color:var(--muted); font-size:.88rem; font-weight:750; }
.process-user-card:hover { transform:translateY(-2px); box-shadow:0 16px 36px rgba(0,31,72,.11); }
.process-user-card.dragging { opacity:.55; cursor:grabbing; }
.process-user-card.selected { border-color:var(--gold); box-shadow:0 0 0 4px rgba(215,155,39,.12),0 16px 36px rgba(0,31,72,.11); }

.admin-user-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:1rem; }
.user-summary { padding:1rem; }
.admin-editor,.asset-publisher { display:grid; grid-template-columns:repeat(2,1fr); }
.admin-editor .full { grid-column:1/-1; }
.asset-publisher .full { grid-column:1/-1; }
.editor-section { padding:.85rem; border-radius:18px; background:rgba(0,31,72,.04); border:1px solid rgba(0,31,72,.06); }
.editor-section p { margin:.25rem 0 0; }
.admin-request-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }

@media (max-width:1050px) {
  .sidebar { position:static; width:auto; flex-direction:row; align-items:center; flex-wrap:wrap; }
  .sidebar nav { display:flex; flex-wrap:wrap; margin-top:0; }
  .sidebar button { margin-left:auto; margin-top:0; }
  .app-main { width:min(100% - 2rem,1180px); margin:0 auto; }
  .login-shell.v60-login,.timeline-layout,.pipeline-layout,.admin-user-grid,.admin-request-grid { grid-template-columns:1fr; }
  .metric-grid,.asset-grid,.implementation-grid,.service-grid,.tool-grid,.pipeline-board,.user-process-board { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .page-hero,.panel-top,.call-card { display:grid; align-items:start; }
  .metric-grid,.asset-grid,.implementation-grid,.service-grid,.tool-grid,.question-form,.schedule-form,.admin-editor,.asset-publisher,.pipeline-board,.user-process-board { grid-template-columns:1fr; }
  .mini-process-wheel { --size:220px; }
  .wheel-node { transform:rotate(calc((360deg / var(--count)) * var(--i))) translate(98px) rotate(calc((-360deg / var(--count)) * var(--i))); }
}


/* V61 admin calendar */
.calendar-panel {
  overflow: hidden;
}

.calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: -.35rem 0 1rem;
}

.calendar-legend-item {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .48rem .75rem;
  border-radius: 999px;
  font-weight: 950;
  font-size: .82rem;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(0,31,72,.09);
}

.calendar-legend-item::before {
  content: "";
  width: .7rem;
  height: .7rem;
  border-radius: 50%;
  background: var(--gold);
}

.calendar-legend-item.education::before,
.calendar-event.education { background: rgba(47,159,105,.16); border-color: rgba(47,159,105,.28); }
.calendar-legend-item.education::before { background: var(--green); }

.calendar-legend-item.opportunity_scan::before,
.calendar-event.opportunity_scan { background: rgba(215,155,39,.18); border-color: rgba(215,155,39,.30); }
.calendar-legend-item.opportunity_scan::before { background: var(--gold); }

.calendar-legend-item.initial_call::before,
.calendar-event.initial_call { background: rgba(0,31,72,.08); border-color: rgba(0,31,72,.16); }
.calendar-legend-item.initial_call::before { background: var(--navy); }

.calendar-legend-item.workflow_audit::before,
.calendar-event.workflow_audit { background: rgba(223,156,46,.18); border-color: rgba(223,156,46,.30); }
.calendar-legend-item.workflow_audit::before { background: var(--orange); }

.calendar-legend-item.tool_explanation::before,
.calendar-event.tool_explanation { background: rgba(87,112,180,.15); border-color: rgba(87,112,180,.28); }
.calendar-legend-item.tool_explanation::before { background: #5770b4; }

.calendar-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  gap: 1rem;
  align-items: start;
}

.calendar-main,
.calendar-details {
  border-radius: 26px;
  background: rgba(255,255,255,.68);
  border: 1px solid rgba(0,31,72,.08);
  box-shadow: 0 14px 42px rgba(0,31,72,.08);
}

.calendar-main {
  padding: 1rem;
}

.calendar-details {
  padding: 1rem;
  position: sticky;
  top: 1rem;
}

.calendar-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1rem;
}

.calendar-toolbar button {
  width: 42px;
  height: 42px;
  padding: 0;
  display: grid;
  place-items: center;
  font-size: 1.45rem;
  box-shadow: none;
  background: rgba(0,31,72,.08);
}

.calendar-weekdays,
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.calendar-weekdays {
  gap: .45rem;
  margin-bottom: .45rem;
}

.calendar-weekdays span {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 950;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.calendar-grid {
  gap: .45rem;
}

.calendar-day {
  min-height: 128px;
  padding: .55rem;
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(0,31,72,.07);
  display: grid;
  align-content: start;
  gap: .45rem;
}

.calendar-day.muted {
  opacity: .48;
}

.calendar-day-number {
  color: var(--navy);
  font-weight: 950;
  font-size: .9rem;
}

.calendar-events {
  display: grid;
  gap: .35rem;
}

.calendar-event {
  border: 1px solid rgba(0,31,72,.10);
  border-radius: 12px;
  padding: .42rem .48rem;
  box-shadow: none;
  color: var(--navy);
  display: grid;
  gap: .08rem;
  text-align: left;
  min-width: 0;
  white-space: normal;
}

.calendar-event strong {
  font-size: .72rem;
  opacity: .75;
}

.calendar-event span {
  font-size: .76rem;
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
}

.calendar-event.selected {
  outline: 3px solid rgba(215,155,39,.25);
  border-color: var(--gold);
}

.call-editor-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.call-editor-form .full {
  grid-column: 1 / -1;
}

.call-editor-form button,
.call-editor-form .form-message {
  grid-column: 1 / -1;
}

@media (max-width: 1180px) {
  .calendar-shell {
    grid-template-columns: 1fr;
  }

  .calendar-details {
    position: static;
  }
}

@media (max-width: 780px) {
  .calendar-weekdays {
    display: none;
  }

  .calendar-grid {
    grid-template-columns: 1fr;
  }

  .calendar-day {
    min-height: auto;
  }

  .call-editor-form {
    grid-template-columns: 1fr;
  }
}


/* V62: admin subpages and clearer pipeline */
.admin-nav a.active {
  color: var(--navy);
  background: rgba(215,155,39,.13);
  box-shadow: inset 0 0 0 1px rgba(215,155,39,.16);
}

.admin-home-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.2rem;
}

.admin-home-card {
  padding: 1.15rem;
  border-radius: 28px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.68);
  box-shadow: var(--shadow);
  text-decoration: none;
  display: grid;
  gap: .65rem;
  transition: transform .18s ease, box-shadow .18s ease;
}

.admin-home-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 26px 80px rgba(0,31,72,.14);
}

.admin-home-card > span {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: var(--navy);
  background: linear-gradient(135deg, var(--gold), var(--gold-2));
  font-weight: 950;
}

.admin-home-card p {
  margin: 0;
}

.overview-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
}

.pipeline-explainer {
  background:
    linear-gradient(135deg, rgba(0,31,72,.92), rgba(8,47,94,.86)),
    radial-gradient(circle at top right, rgba(241,201,107,.25), transparent 40%);
  color: white;
}

.pipeline-explainer h2,
.pipeline-explainer strong {
  color: white;
}

.pipeline-explainer p,
.pipeline-explainer span {
  color: rgba(255,255,255,.78);
}

.pipeline-steps-header {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem;
}

.pipeline-steps-header div {
  padding: 1rem;
  border-radius: 22px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  display: grid;
  gap: .35rem;
}

.lead-pipeline-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .95rem;
}

.lead-stage {
  padding: 1rem;
  border-radius: 26px;
  background: rgba(0,31,72,.035);
  border: 1px solid rgba(0,31,72,.07);
}

.lead-stage.applied {
  border-top: 6px solid var(--red);
}

.lead-stage.in_process {
  border-top: 6px solid var(--orange);
}

.lead-stage.boarded {
  border-top: 6px solid var(--green);
}

.lead-stage h3 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
  margin-bottom: .8rem;
}

.lead-stage-list {
  display: grid;
  gap: .8rem;
}

.lead-card {
  position: relative;
  padding: .95rem 3.25rem .95rem .95rem;
  border-radius: 22px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(0,31,72,.08);
  box-shadow: 0 12px 34px rgba(0,31,72,.07);
  display: grid;
  gap: .6rem;
}

.card-delete-button {
  position:absolute;
  top:.58rem;
  right:.58rem;
  z-index:2;
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border-radius:50%;
  border:1px solid rgba(0,31,72,.08);
  background:rgba(255,255,255,.72);
  color:rgba(0,31,72,.55);
  font-size:.78rem;
  font-weight:950;
  line-height:1;
  box-shadow:0 8px 18px rgba(0,31,72,.06);
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease, border-color .16s ease;
}

.card-delete-button:hover {
  transform:translateY(-1px);
  color:#9b312b;
  border-color:rgba(217,106,97,.28);
  background:linear-gradient(135deg,#fff,rgba(255,244,242,.96));
  box-shadow:0 14px 30px rgba(217,106,97,.18);
}

.lead-card .card-delete-button {
  top:.58rem;
  right:.58rem;
}

.lead-card-top {
  padding-right:.25rem;
}

.lead-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .7rem;
}

.lead-card p {
  margin: 0;
}

.lead-card-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  margin-top:.2rem;
}

.lead-card-actions .secondary-action,
.mini-action {
  min-height:32px;
  padding:.48rem .68rem;
  border-radius:999px;
  font-size:.72rem;
  line-height:1;
}

.lead-hint {
  color: var(--green);
  font-weight: 900;
}

@media (max-width: 1050px) {
  .admin-home-grid,
  .lead-pipeline-board,
  .pipeline-steps-header,
  .overview-split {
    grid-template-columns: 1fr;
  }
}

/* V63 luxury login redesign */
.portal-login-body {
  background:
    linear-gradient(115deg, rgba(0,31,72,.95), rgba(0,18,44,.9)),
    url("../assets/timewiseai-banner.png") center/cover no-repeat;
  color:white;
}

.portal-login-body::before {
  opacity:.12;
  background:
    radial-gradient(circle at 18% 18%, rgba(241,201,107,.28), transparent 22%),
    radial-gradient(circle at 82% 72%, rgba(255,255,255,.1), transparent 28%);
}

.login-shell.v60-login {
  width:min(1180px,100%);
  min-height:720px;
  grid-template-columns:1.08fr .92fr;
  gap:0;
  padding:0;
  border-radius:34px;
  overflow:hidden;
  background:rgba(0,31,72,.38);
  border:1px solid rgba(241,201,107,.24);
  box-shadow:0 38px 120px rgba(0,0,0,.34);
}

.login-hero-card {
  border-radius:0;
  padding:clamp(2rem,5vw,4rem);
  background:
    radial-gradient(circle at 16% 20%, rgba(241,201,107,.2), transparent 28%),
    linear-gradient(135deg, rgba(0,31,72,.98), rgba(8,47,94,.82)),
    url("../assets/timewiseai-banner.png") center/cover no-repeat;
}

.login-main-copy h1 {
  max-width:760px;
  color:white;
  text-shadow:0 18px 50px rgba(0,0,0,.28);
}

.login-main-copy p {
  color:rgba(255,255,255,.82);
  font-size:1.05rem;
}

.login-preview-stack {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.preview-card {
  border-radius:18px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(241,201,107,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.login-panel {
  margin:1rem;
  border-radius:28px;
  background:rgba(255,255,255,.92);
  box-shadow:0 28px 80px rgba(0,0,0,.18);
}

.login-panel h2 {
  letter-spacing:-.055em;
}

.login-panel form {
  padding:1rem;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(0,31,72,.045), rgba(215,155,39,.06));
  border:1px solid rgba(0,31,72,.07);
}

/* Customer loader */
.twai-loader {
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  gap:1rem;
  background:
    radial-gradient(circle at center, rgba(241,201,107,.18), transparent 34%),
    linear-gradient(135deg, #001f48, #061228);
  color:white;
  font-weight:950;
  transition:opacity .45s ease, visibility .45s ease;
}

.twai-loader.loaded {
  opacity:0;
  visibility:hidden;
}

.twai-loader-wheel {
  width:112px;
  height:112px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:
    linear-gradient(#fff,#fff) padding-box,
    conic-gradient(from 0deg, var(--gold), #fff8d9, var(--navy), var(--gold)) border-box;
  border:5px solid transparent;
  animation:twaiLoaderSpin 1.15s cubic-bezier(.45,.05,.2,.95) infinite;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}

.twai-loader-wheel img {
  width:76px;
  height:76px;
  object-fit:contain;
}

@keyframes twaiLoaderSpin {
  to { transform:rotate(360deg); }
}

/* Better cards and actions */
.asset-card {
  min-height:220px;
  display:grid;
  align-content:start;
  gap:.65rem;
}

.asset-card .download-btn {
  align-self:end;
  justify-self:start;
  margin-top:auto;
}

.secondary-action,
.danger-action {
  box-shadow:none;
}

.danger-action {
  color:#8a2f2a;
  background:rgba(217,106,97,.14);
  border:1px solid rgba(217,106,97,.22);
}

.lead-stage.drag-over,
.process-column.drag-over {
  border-color:var(--gold);
  background:rgba(255,250,240,.92);
  box-shadow:0 20px 60px rgba(215,155,39,.16);
}

.lead-pipeline-board.is-dragging-lead .lead-stage {
  outline:2px dashed rgba(215,155,39,.28);
  outline-offset:4px;
}

.lead-stage.drag-over {
  transform:translateY(-4px) scale(1.01);
  outline:3px solid rgba(215,155,39,.38);
}

.lead-card[draggable="true"] {
  cursor:grab;
}

.lead-card.dragging,
.process-user-card.dragging {
  opacity:.78;
  border-color:rgba(215,155,39,.70);
  box-shadow:0 0 0 4px rgba(215,155,39,.18), 0 24px 70px rgba(0,31,72,.18);
  transform:rotate(1deg) scale(1.02);
}

.lead-stage-meta {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.6rem;
  margin:-.25rem 0 .8rem;
  color:var(--muted);
  font-size:.82rem;
  font-weight:850;
}

.lead-stage-meta div {
  display:flex;
  gap:.35rem;
}

.lead-stage-meta button {
  padding:.38rem .58rem;
  box-shadow:none;
  background:rgba(0,31,72,.08);
}

.lead-stage-meta button:disabled {
  opacity:.45;
  cursor:not-allowed;
}

.user-process-board {
  grid-template-columns:repeat(6,minmax(180px,1fr));
  overflow-x:auto;
  padding-bottom:.5rem;
}

.process-column.workflow-step {
  min-height:260px;
  border-top:5px solid var(--gold);
}

.calendar-event.potential {
  background:rgba(107,114,128,.16);
  border-color:rgba(107,114,128,.28);
}

.calendar-event.confirmed,
.calendar-event.scheduled {
  background:rgba(47,159,105,.16);
  border-color:rgba(47,159,105,.28);
}

.request-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.85rem;
  margin-bottom:1rem;
}

.request-metrics .metric-card:first-child strong,
.request-metrics .metric-card:nth-child(3) strong {
  color:#a43d36;
}

@media (max-width: 1050px) {
  .login-shell.v60-login,
  .login-preview-stack {
    grid-template-columns:1fr;
  }

  .user-process-board {
    grid-template-columns:repeat(3,minmax(220px,1fr));
  }

  .request-metrics {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 680px) {
  .request-metrics {
    grid-template-columns:1fr;
  }
}

/* V63 portal polish */
.portal-login-body {
  min-height:100vh;
  background:
    radial-gradient(circle at 18% 8%, rgba(215,155,39,.14), transparent 25%),
    radial-gradient(circle at 88% 16%, rgba(0,31,72,.08), transparent 30%),
    linear-gradient(180deg,#fff,#f8fbff 56%,#fff);
}

.portal-login-body::before {
  opacity:0;
}

.login-shell.v60-login {
  min-height:700px;
  border-radius:32px;
  background:#fff;
  border:1px solid rgba(0,31,72,.08);
  box-shadow:0 34px 110px rgba(0,31,72,.14);
  overflow:hidden;
  backdrop-filter:none;
}

.login-hero-card {
  position:relative;
  border-radius:24px;
  min-height:620px;
  background:
    radial-gradient(circle at 22% 18%, rgba(241,201,107,.30), transparent 25%),
    radial-gradient(circle at 78% 12%, rgba(255,255,255,.16), transparent 24%),
    linear-gradient(135deg,#001f48 0%,#07366e 52%,#0a1629 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}

.login-hero-card::after {
  content:"";
  position:absolute;
  inset:14%;
  border-radius:50%;
  border:1px solid rgba(241,201,107,.24);
  box-shadow:0 0 0 46px rgba(255,255,255,.035),0 0 90px rgba(241,201,107,.18);
  animation:loginPulse 4.8s ease-in-out infinite;
  pointer-events:none;
}

.login-main-copy {
  position:relative;
  z-index:1;
}

.login-main-copy h1 {
  max-width:720px;
  letter-spacing:-.04em;
}

.login-preview-stack,
.login-quote,
.login-orbit,
.portal-brand {
  position:relative;
  z-index:1;
}

.login-preview-stack {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.login-quote {
  margin:0;
  max-width:680px;
  color:rgba(255,255,255,.86);
  font-size:1.05rem;
  line-height:1.7;
  padding-left:1rem;
  border-left:3px solid var(--gold-2);
}

.login-orbit {
  position:absolute;
  right:clamp(1rem,4vw,3rem);
  bottom:clamp(1rem,4vw,3rem);
  display:flex;
  gap:.55rem;
}

.login-orbit span {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--navy);
  background:rgba(255,255,255,.9);
  font-weight:950;
  box-shadow:0 12px 28px rgba(0,0,0,.16);
  animation:loginStepGlow 2.8s ease-in-out infinite;
}

.login-orbit span:nth-child(2) { animation-delay:.35s; }
.login-orbit span:nth-child(3) { animation-delay:.70s; }
.login-orbit span:nth-child(4) { animation-delay:1.05s; }

.login-panel {
  margin:0;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:none;
}

.login-panel form {
  background:#fff;
  border:1px solid rgba(0,31,72,.08);
  box-shadow:0 18px 50px rgba(0,31,72,.08);
}

.metric-card small {
  display:block;
  margin-top:.35rem;
  color:var(--muted);
  font-weight:850;
  line-height:1.45;
}

.wheel-node,
.timeline-step {
  transition:background .35s ease, border-color .35s ease, box-shadow .35s ease, opacity .35s ease, transform .35s ease;
}

.wheel-node.active {
  transform:rotate(calc((360deg / var(--count)) * var(--i))) translate(116px) rotate(calc((-360deg / var(--count)) * var(--i))) scale(1.08);
}

.modal-backdrop {
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:1rem;
  background:rgba(0,31,72,.38);
  backdrop-filter:blur(14px);
}

.modal-backdrop[hidden] {
  display:none;
}

.modal-card {
  position:relative;
  width:min(760px,100%);
  padding:clamp(1.2rem,3vw,2rem);
  border-radius:28px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 34px 120px rgba(0,31,72,.24);
}

.modal-close {
  position:absolute;
  top:1rem;
  right:1rem;
  width:38px;
  height:38px;
  padding:0;
  display:grid;
  place-items:center;
  background:rgba(0,31,72,.08);
  box-shadow:none;
}

.add-user-form {
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:1rem;
}

.add-user-form button,
.add-user-form .form-message {
  justify-self:start;
}

/* V64: tools admin, calmer loaders, and premium scheduling */
.login-orbit {
  position:relative;
  right:auto;
  bottom:auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.65rem;
  margin-top:.2rem;
}

.login-orbit::before {
  content:"";
  position:absolute;
  left:7%;
  right:7%;
  top:50%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(241,201,107,.58), transparent);
}

.login-orbit span {
  width:auto;
  height:auto;
  min-height:62px;
  display:grid;
  place-items:center;
  gap:.1rem;
  border-radius:18px;
  padding:.58rem .5rem;
  text-align:center;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,250,240,.88));
  border:1px solid rgba(241,201,107,.28);
  box-shadow:0 14px 32px rgba(0,0,0,.16);
}

.login-orbit span strong {
  display:block;
  color:var(--gold);
  font-size:.74rem;
  letter-spacing:.12em;
}

.schedule-form,
.call-editor-form {
  position:relative;
  padding:1rem;
  border-radius:26px;
  background:
    radial-gradient(circle at 92% 10%, rgba(241,201,107,.18), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(248,251,255,.96));
  border:1px solid rgba(0,31,72,.08);
  box-shadow:0 18px 48px rgba(0,31,72,.08);
}

.schedule-form label,
.call-editor-form label {
  padding:.72rem;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,31,72,.06);
}

.schedule-form input[type="date"],
.schedule-form input[type="time"],
.call-editor-form input[type="date"],
.call-editor-form input[type="time"] {
  min-height:48px;
  color:var(--navy);
  font-weight:900;
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,250,240,.94)) padding-box,
    linear-gradient(135deg, rgba(0,31,72,.16), rgba(215,155,39,.44)) border-box;
  border:1px solid transparent;
  box-shadow:0 10px 28px rgba(0,31,72,.07);
}

.schedule-form input[type="date"]::-webkit-calendar-picker-indicator,
.schedule-form input[type="time"]::-webkit-calendar-picker-indicator,
.call-editor-form input[type="date"]::-webkit-calendar-picker-indicator,
.call-editor-form input[type="time"]::-webkit-calendar-picker-indicator {
  filter:sepia(1) saturate(1.8) hue-rotate(355deg);
  cursor:pointer;
}

.tool-filter-row {
  display:grid;
  grid-template-columns:repeat(2,minmax(180px,1fr));
  gap:.75rem;
  min-width:min(520px,100%);
}

.license-filter-row {
  display:grid;
  grid-template-columns:minmax(180px,1.2fr) minmax(150px,.8fr) minmax(160px,.8fr);
  gap:.75rem;
  min-width:min(720px,100%);
}

.tool-catalog-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.9rem;
}

.tool-admin-card,
.tool-event-card {
  padding:1rem;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid rgba(0,31,72,.08);
  box-shadow:0 16px 42px rgba(0,31,72,.08);
}

.tool-admin-card.selected {
  border-color:rgba(215,155,39,.42);
  box-shadow:0 0 0 4px rgba(215,155,39,.11), 0 18px 48px rgba(0,31,72,.10);
}

.tool-type-chip {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.45rem .65rem;
  color:var(--navy);
  background:rgba(215,155,39,.14);
  font-weight:900;
  font-size:.78rem;
  white-space:nowrap;
}

.tool-chip-row,
.client-tool-chips {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin:.7rem 0;
}

.tool-chip-row span,
.client-tool-chips span,
.client-tool-chips a {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.42rem .62rem;
  background:rgba(0,31,72,.07);
  color:var(--navy);
  font-weight:850;
  text-decoration:none;
  font-size:.84rem;
}

.client-tool-chips a {
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  box-shadow:0 10px 24px rgba(215,155,39,.18);
}

.tool-card-meta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  color:var(--muted);
  font-weight:850;
  margin:.7rem 0;
}

.license-box {
  display:grid;
  gap:.45rem;
  margin:.85rem 0;
  padding:.85rem;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(0,31,72,.055), rgba(215,155,39,.105));
  border:1px solid rgba(0,31,72,.08);
}

.license-box strong {
  color:var(--navy);
}

.license-box code,
.license-box pre {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  margin:0;
  padding:.62rem .7rem;
  border-radius:14px;
  color:var(--navy);
  background:rgba(255,255,255,.82);
  border:1px solid rgba(0,31,72,.08);
  font-family:"SFMono-Regular",Consolas,monospace;
  font-size:.82rem;
}

.license-box small {
  color:var(--muted);
  font-weight:800;
}

.tools-admin-layout {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:1rem;
  align-items:start;
}

.tool-setup-panel .tool-admin-form,
.tool-assignment-panel .tool-admin-form {
  grid-template-columns:repeat(2,minmax(0,1fr));
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,251,255,.92));
}

.tool-assignment-panel {
  border-color:rgba(215,155,39,.16);
  background:linear-gradient(180deg,#fff,#fbfdff);
}

.tool-admin-form {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
  padding:1rem;
  border-radius:24px;
  background:rgba(0,31,72,.035);
  border:1px solid rgba(0,31,72,.07);
}

.tool-admin-form .full {
  grid-column:1 / -1;
}

.tool-admin-form select[multiple] {
  min-height:150px;
  padding:.7rem;
}

.tool-event-list {
  display:grid;
  gap:.75rem;
}

.tool-event-card {
  display:grid;
  grid-template-columns:1fr 1.35fr auto;
  gap:1rem;
  align-items:center;
  border-left:6px solid rgba(0,31,72,.18);
}

.license-card {
  grid-template-columns:minmax(220px,.85fr) minmax(360px,1.25fr) minmax(245px,245px);
  align-items:start;
}

.license-identity,
.license-key-panel {
  min-width:0;
}

.license-key-panel {
  display:grid;
  gap:.25rem;
}

.license-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.5rem;
  align-self:start;
}

.license-actions button {
  min-height:40px;
  width:100%;
  padding:.58rem .7rem;
  box-shadow:none;
}

.license-actions .danger-action {
  grid-column:1 / -1;
}

.tool-event-card.outreach {
  border-left-color:var(--green);
}

.tool-event-card.untracked {
  border-left-color:#98a2b3;
  background:linear-gradient(180deg,#fff,#f5f7fb);
}

.tool-event-card strong {
  color:var(--navy);
}

.tool-event-card span,
.tool-event-card small {
  display:block;
  color:var(--muted);
  font-weight:850;
}

.tool-event-card pre {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  margin:.55rem 0 0;
  padding:.65rem .75rem;
  border-radius:14px;
  color:var(--navy);
  background:rgba(255,255,255,.86);
  border:1px solid rgba(0,31,72,.08);
  font-family:"SFMono-Regular",Consolas,monospace;
  font-size:.8rem;
}

.license-duration-controls {
  display:grid;
  grid-template-columns:minmax(82px,.7fr) minmax(120px,.8fr) auto;
  gap:.55rem;
  align-items:end;
  margin-top:.7rem;
}

.license-duration-controls label {
  gap:.25rem;
  font-size:.82rem;
}

.license-duration-controls input,
.license-duration-controls select {
  min-height:40px;
  padding:.58rem .7rem;
  border-radius:12px;
}

.license-duration-controls button {
  min-height:40px;
  padding:.58rem .8rem;
  box-shadow:none;
}

.license-pager {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:.7rem;
  padding:1rem 1.2rem;
  border-top:1px solid rgba(0,31,72,.08);
}

.license-pager span {
  color:var(--muted);
  font-weight:850;
}

.license-pager button {
  min-width:44px;
  min-height:40px;
  padding:.55rem .9rem;
  box-shadow:none;
}

.license-pager button:disabled {
  opacity:.38;
  cursor:not-allowed;
}

.empty-state {
  margin:0;
  padding:1rem;
  border-radius:18px;
  background:rgba(0,31,72,.045);
  color:var(--muted);
  font-weight:850;
}

@media (max-width:1050px) {
  .tool-catalog-grid,
  .tools-admin-layout,
  .tool-event-card {
    grid-template-columns:1fr;
  }
}

@media (max-width:680px) {
  .login-orbit,
  .license-filter-row,
  .license-duration-controls,
  .license-actions,
  .tool-filter-row,
  .tool-admin-form {
    grid-template-columns:1fr;
  }
}

/* V65: overview paging, lead board clarity, compact timeline, reschedule slots */
.overview-page-list {
  display:grid;
  gap:.7rem;
}

.overview-pager {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.5rem;
  margin-top:.8rem;
  color:var(--muted);
  font-weight:850;
}

.overview-pager button {
  width:36px;
  height:36px;
  padding:0;
  display:grid;
  place-items:center;
  box-shadow:none;
  background:rgba(0,31,72,.08);
}

.overview-pager button:not(:disabled):last-child {
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  box-shadow:0 10px 24px rgba(215,155,39,.18);
}

.overview-pager.compact {
  margin-top:0;
}

.customer-call-overview,
.customer-calendar-panel {
  border:1px solid rgba(215,155,39,.20);
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215,155,39,.13), transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,251,255,.93));
  box-shadow:0 18px 44px rgba(0,31,72,.075);
  padding:1rem;
}

.customer-call-overview {
  margin-bottom:1rem;
}

.customer-call-top,
.customer-calendar-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-bottom:.9rem;
}

.customer-call-top strong {
  display:block;
  color:var(--navy);
  font-size:1.12rem;
  margin-top:.18rem;
}

.customer-call-list {
  display:grid;
  gap:.75rem;
}

.customer-call-card {
  box-shadow:none;
  border-color:rgba(0,31,72,.08);
}

.customer-call-card > div:last-child {
  display:grid;
  justify-items:end;
  gap:.45rem;
}

.customer-calendar-panel .calendar-weekdays,
.customer-calendar-panel .calendar-grid {
  max-width:none;
}

.customer-calendar-panel .calendar-day {
  min-height:112px;
  background:rgba(255,255,255,.84);
}

.customer-calendar-panel .calendar-event {
  width:100%;
  text-align:left;
}

.lead-stage {
  background:#fff !important;
  border-color:rgba(0,31,72,.08) !important;
  box-shadow:0 16px 42px rgba(0,31,72,.08);
}

.lead-stage.applied { border-top-color:var(--red) !important; }
.lead-stage.in_process { border-top-color:var(--orange) !important; }
.lead-stage.boarded { border-top-color:var(--green) !important; }

.timeline-layout {
  grid-template-columns:minmax(220px,.62fr) minmax(420px,1.38fr);
  gap:1rem;
  align-items:start;
}

.timeline-panel {
  padding:1rem;
}

.process-wheel-card {
  min-height:260px;
}

.mini-process-wheel {
  --size:230px;
}

.wheel-node {
  width:34px;
  height:34px;
  margin:-17px;
  transform:rotate(calc((360deg / var(--count)) * var(--i))) translate(96px) rotate(calc((-360deg / var(--count)) * var(--i)));
}

.wheel-node.active {
  transform:rotate(calc((360deg / var(--count)) * var(--i))) translate(96px) rotate(calc((-360deg / var(--count)) * var(--i))) scale(1.08);
}

.timeline-steps {
  gap:.5rem;
}

.timeline-step {
  grid-template-columns:36px 1fr;
  gap:.65rem;
  padding:.65rem .75rem;
  border-radius:18px;
}

.timeline-step > span {
  width:36px;
  height:36px;
}

.timeline-step p {
  margin:.15rem 0 .25rem;
  line-height:1.35;
  font-size:.9rem;
}

.roadmap-line {
  height:8px;
  margin-top:.35rem;
}

.reschedule-card {
  width:min(780px,100%);
}

.reschedule-form {
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:1rem;
}

.reschedule-form .full {
  grid-column:1 / -1;
}

.time-slot-scroll {
  max-height:170px;
  overflow:auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.45rem;
  padding:.55rem;
  border-radius:18px;
  background:rgba(0,31,72,.045);
  border:1px solid rgba(0,31,72,.07);
  margin-top:.45rem;
}

.preferred-slot-shell {
  display:grid;
  gap:.45rem;
  padding:.65rem;
  border-radius:20px;
  border:1px solid rgba(215,155,39,.24);
  background:
    radial-gradient(circle at 100% 0%, rgba(215,155,39,.14), transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,251,255,.94) 60%,rgba(255,247,230,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88), 0 14px 30px rgba(0,31,72,.08);
}

.preferred-slot-shell[hidden],
.reschedule-form .full[hidden] {
  display:none !important;
}

.preferred-slot-shell > strong {
  color:var(--navy);
  font-size:.82rem;
  letter-spacing:.02em;
}

.time-slot-scroll.compact {
  max-height:132px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:.35rem;
  margin-top:0;
  background:rgba(255,255,255,.66);
  border-color:rgba(215,155,39,.14);
}

.time-slot {
  position:relative;
  z-index:2;
  display:grid;
  gap:.1rem;
  padding:.58rem .5rem;
  border-radius:16px;
  border:1px solid rgba(0,31,72,.08);
  background:#fff;
  color:var(--navy);
  box-shadow:none;
  pointer-events:auto;
  cursor:pointer;
}

.time-slot span,
.time-slot small {
  pointer-events:none;
}

.time-slot small {
  color:var(--muted);
  font-weight:850;
}

.time-slot.selected {
  color:#fff;
  border-color:rgba(215,155,39,.6);
  background:linear-gradient(135deg,var(--navy),#0a4b8f 58%,var(--gold));
  box-shadow:0 12px 26px rgba(0,31,72,.16), 0 0 0 3px rgba(215,155,39,.14);
}

.time-slot.selected small {
  color:rgba(255,255,255,.76);
}

.time-slot.reserved {
  background:#eef1f5;
  color:#8a94a3;
  cursor:not-allowed;
  opacity:.72;
  pointer-events:none;
}

.slot-loading {
  grid-column:1 / -1;
  color:var(--muted);
  font-weight:850;
}

.request-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin:1rem 0;
  padding:.35rem;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(0,31,72,.055),rgba(215,155,39,.12));
  border:1px solid rgba(215,155,39,.16);
}

.request-tabs button {
  flex:1 1 180px;
  min-height:44px;
  border:1px solid rgba(0,31,72,.08);
  border-radius:999px;
  color:var(--navy);
  background:rgba(255,255,255,.78);
  font-weight:950;
  box-shadow:none;
}

.request-tabs button.active {
  color:#fff;
  border-color:rgba(215,155,39,.38);
  background:linear-gradient(135deg,var(--navy),#0a4b8f 62%,var(--gold));
  box-shadow:0 16px 34px rgba(0,31,72,.14);
}

.request-tabs.sub-tabs {
  margin:14px 0 18px;
  padding:5px;
  gap:6px;
  border-radius:16px;
}

.request-tabs.sub-tabs button {
  flex:1 1 170px;
  min-height:38px;
  padding:9px 13px;
  font-size:.82rem;
}

.request-tabs.sub-tabs button span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  margin-left:6px;
  padding:2px 7px;
  border-radius:999px;
  color:var(--ink);
  background:rgba(0,31,72,.08);
}

.request-tabs.sub-tabs button.active span {
  color:#fff;
  background:rgba(255,255,255,.22);
}

.admin-request-grid.tabbed {
  grid-template-columns:1fr;
}

.request-tab-panel {
  min-width:0;
}

.reschedule-admin-actions {
  align-items:center;
  padding:.65rem;
  border-radius:18px;
  background:rgba(47,159,105,.08);
  border:1px solid rgba(47,159,105,.16);
}

.reschedule-admin-actions span {
  color:var(--muted);
  font-size:.86rem;
  font-weight:800;
}

@media (max-width:680px) {
  .reschedule-form,
  .time-slot-scroll {
    grid-template-columns:1fr;
  }
}

@keyframes loginPulse {
  0%,100% { transform:scale(.98); opacity:.72; }
  50% { transform:scale(1.03); opacity:1; }
}

@keyframes loginStepGlow {
  0%,100% { background:rgba(255,255,255,.9); transform:translateY(0); }
  40% { background:linear-gradient(135deg,var(--gold),var(--gold-2)); transform:translateY(-6px); }
}

@media (max-width: 1050px) {
  .login-shell.v60-login {
    min-height:auto;
  }

  .login-hero-card {
    min-height:520px;
  }

  .login-preview-stack,
  .add-user-form {
    grid-template-columns:1fr;
  }
}

/* V66: pipeline clarity, compact customer editor, clickable tool cards */
.pipeline-explainer {
  background:#fff !important;
  color:var(--ink) !important;
  border:1px solid rgba(0,31,72,.08);
  box-shadow:0 16px 42px rgba(0,31,72,.08);
}

.pipeline-explainer h2,
.pipeline-explainer strong {
  color:var(--navy) !important;
}

.pipeline-explainer p,
.pipeline-explainer span {
  color:var(--muted) !important;
}

.pipeline-steps-header div {
  background:#fff !important;
  border:1px solid rgba(0,31,72,.08) !important;
  box-shadow:0 12px 28px rgba(0,31,72,.06);
}

.pipeline-steps-header div:nth-child(1) { border-top:6px solid var(--red) !important; }
.pipeline-steps-header div:nth-child(2) { border-top:6px solid var(--orange) !important; }
.pipeline-steps-header div:nth-child(3) { border-top:6px solid var(--green) !important; }

.customer-summary-hero {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  padding:1rem;
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215,155,39,.14), transparent 34%),
    linear-gradient(135deg,#fff,#f8fbff);
  color:var(--navy);
  border:1px solid rgba(215,155,39,.20);
  box-shadow:0 18px 44px rgba(0,31,72,.08);
}

.customer-summary-hero h3,
.customer-summary-hero p {
  color:var(--navy);
}

.summary-eyebrow {
  display:block;
  color:#b58124;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:950;
  margin-bottom:.25rem;
}

.customer-summary-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
  margin:.8rem 0;
}

.customer-summary-grid article {
  padding:.8rem;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(0,31,72,.08);
  box-shadow:0 10px 24px rgba(0,31,72,.06);
}

.customer-summary-grid span,
.customer-event-note {
  color:var(--muted);
  font-weight:850;
}

.customer-summary-grid strong {
  display:block;
  color:var(--navy);
  font-size:1.25rem;
  margin-top:.2rem;
}

.admin-editor {
  gap:.85rem;
}

.customer-editor-card {
  padding:1rem;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(0,31,72,.08);
  box-shadow:0 14px 36px rgba(0,31,72,.07);
}

.customer-editor-card summary {
  display:flex;
  align-items:center;
  gap:.7rem;
  cursor:pointer;
  color:var(--navy);
  font-weight:950;
  list-style:none;
}

.customer-editor-card summary::-webkit-details-marker {
  display:none;
}

.customer-editor-card summary small {
  color:var(--muted);
  font-weight:800;
  margin-left:auto;
}

.customer-editor-card summary:after {
  content:"v";
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--navy);
  background:rgba(0,31,72,.06);
  margin-left:.35rem;
  transition:transform .18s ease, background .18s ease;
}

.customer-editor-card[open] summary:after {
  transform:rotate(180deg);
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
}

.editor-card-head {
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  margin-bottom:.8rem;
}

.editor-card-head span,
.customer-editor-card summary span {
  width:34px;
  height:34px;
  border-radius:14px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:var(--navy);
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  font-weight:950;
}

.editor-card-head h3,
.editor-card-head p {
  margin:0;
}

.editor-card-head p {
  color:var(--muted);
  margin-top:.2rem;
}

.editor-field-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  margin-top:.85rem;
}

.editor-field-grid .full {
  grid-column:1 / -1;
}

.editor-info-panel {
  margin-top:.85rem;
  padding:1rem;
  border-radius:18px;
  color:var(--muted);
  background:linear-gradient(135deg,#f8fbff,#fff);
  border:1px solid rgba(0,31,72,.08);
  font-weight:850;
}

.editor-info-panel strong {
  color:var(--navy);
}

.editor-info-panel p {
  margin:.4rem 0 0;
  color:var(--muted);
}

.editor-save-button {
  justify-self:start;
  min-width:220px;
}

.tool-admin-card.clickable {
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.tool-admin-card.clickable:hover,
.tool-admin-card.clickable:focus-visible {
  transform:translateY(-3px);
  border-color:rgba(215,155,39,.38);
  box-shadow:0 20px 54px rgba(0,31,72,.12);
  outline:none;
}

@media (max-width:680px) {
  .customer-summary-grid,
  .editor-field-grid {
    grid-template-columns:1fr;
  }
}

/* V69: secure portal polish and event filtering */
.portal-login-body {
  padding:clamp(.5rem,1.7vw,1.15rem);
}

.login-shell.v60-login {
  width:min(1120px,100%);
  min-height:min(660px,calc(100vh - 1rem));
  grid-template-columns:1fr .86fr;
}

.login-hero-card {
  min-height:auto;
  padding:clamp(1.3rem,2.5vw,2.15rem);
  display:flex;
  flex-direction:column;
  gap:clamp(.65rem,1.35vw,1rem);
}

.login-hero-card::after {
  inset:18%;
  opacity:.72;
}

.portal-brand img {
  width:34px;
  height:34px;
}

.login-main-copy h1 {
  font-size:clamp(2.05rem,4vw,3.85rem);
  line-height:1;
  letter-spacing:0;
}

.login-main-copy p {
  font-size:.96rem;
  line-height:1.55;
}

.login-preview-stack {
  gap:.55rem;
}

.preview-card {
  padding:.72rem .82rem;
  border-radius:16px;
}

.preview-card strong {
  font-size:.88rem;
}

.preview-card span {
  font-size:.76rem;
}

.login-quote {
  max-width:600px;
  font-size:.92rem;
  line-height:1.45;
  padding-left:.75rem;
}

.login-orbit {
  margin-top:0;
  gap:.45rem;
}

.login-orbit span {
  min-height:50px;
  border-radius:15px;
  padding:.4rem .42rem;
  font-size:.72rem;
}

.login-orbit span strong {
  font-size:.66rem;
}

.login-panel {
  padding:clamp(1.25rem,2.3vw,2rem);
}

.login-panel form {
  padding:1rem;
  gap:.75rem;
}

.tool-log-controls {
  display:flex;
  align-items:end;
  justify-content:flex-end;
  gap:.7rem;
  flex-wrap:wrap;
}

.tool-log-controls label {
  min-width:min(260px,100%);
  color:var(--muted);
  font-weight:850;
}

.tool-log-controls select {
  min-height:42px;
}

/* V70: ticket threads, paged logs, conflict previews, and clearer assignment forms */
.form-help {
  display:block;
  margin-top:.35rem;
  color:var(--muted);
  font-size:.74rem;
  font-weight:620;
  line-height:1.35;
}

.tool-admin-form .panel-top {
  align-items:start;
  margin-bottom:.15rem;
}

.tool-admin-form .panel-top h2 {
  font-size:1.08rem;
  line-height:1.15;
}

.tool-admin-form .panel-top p {
  max-width:46rem;
  font-size:.84rem;
  line-height:1.45;
}

.tool-admin-form label {
  color:var(--navy);
  font-size:.82rem;
  font-weight:680;
  line-height:1.25;
}

.tool-admin-form input,
.tool-admin-form textarea {
  margin-top:.32rem;
}

.ticket-stack,
.ticket-thread {
  display:grid;
  gap:.7rem;
}

.ticket-card {
  display:grid;
  gap:.8rem;
}

.ticket-thread {
  padding:.75rem;
  border-radius:18px;
  background:rgba(0,31,72,.035);
  border:1px solid rgba(0,31,72,.07);
}

.ticket-message {
  max-width:88%;
  padding:.7rem .8rem;
  border-radius:16px;
  color:var(--navy);
  background:white;
  border:1px solid rgba(0,31,72,.08);
}

.ticket-message.admin {
  justify-self:end;
  background:
    radial-gradient(circle at 100% 0%, rgba(215,155,39,.16), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 62%,#fff7e6 100%);
  color:var(--navy);
  border-color:rgba(215,155,39,.26);
  box-shadow:0 14px 32px rgba(0,31,72,.08);
}

.ticket-message span {
  display:block;
  margin-bottom:.25rem;
  color:inherit;
  opacity:.75;
  font-size:.78rem;
  font-weight:900;
}

.ticket-message p {
  margin:0;
  overflow-wrap:anywhere;
}

.ticket-attachments {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
  gap:.5rem;
  margin-top:.55rem;
}

.ticket-attachment {
  display:grid;
  gap:.28rem;
  text-decoration:none;
  color:var(--navy);
  border-radius:14px;
  padding:.34rem;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(0,31,72,.08);
  box-shadow:0 10px 22px rgba(0,31,72,.06);
}

.ticket-attachment img {
  width:100%;
  max-height:160px;
  object-fit:cover;
  border-radius:11px;
  border:1px solid rgba(0,31,72,.08);
  background:#fff;
}

.ticket-attachment span {
  margin:0;
  opacity:.72;
  font-size:.68rem;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ticket-attachment-input {
  display:grid;
  gap:.28rem;
  color:var(--navy);
  font-weight:850;
}

.ticket-attachment-input input[type="file"] {
  width:100%;
  border:1px dashed rgba(215,155,39,.45);
  border-radius:16px;
  padding:.58rem .7rem;
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,247,230,.82));
  color:var(--navy);
}

.ticket-attachment-input small {
  color:var(--muted);
  font-size:.72rem;
  font-weight:700;
}

.admin-start-ticket-form {
  margin-bottom:.85rem;
  border-left-color:var(--gold);
  background:
    radial-gradient(circle at 100% 0%, rgba(215,155,39,.16), transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 68%,#fff8e8 100%);
}

.ticket-reply-form,
.request-actions,
.request-mini-grid {
  display:grid;
  gap:.65rem;
}

.ticket-reply-form {
  grid-template-columns:1fr auto;
  align-items:end;
}

.ticket-reply-form textarea,
.editable-request textarea,
.editable-request input,
.editable-request select,
.request-actions select,
.tool-log-controls input {
  width:100%;
  border:1px solid rgba(0,31,72,.12);
  border-radius:14px;
  padding:.7rem .8rem;
  font:inherit;
  background:white;
}

.request-actions {
  grid-template-columns:minmax(160px,.4fr) auto;
  align-items:center;
}

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

.editable-request {
  display:grid;
  gap:.75rem;
}

.conflict-note {
  margin:0;
  padding:.62rem .75rem;
  border-radius:15px;
  font-weight:850;
  display:grid;
  gap:.25rem;
}

.conflict-note span,
.conflict-note small {
  display:block;
  font-weight:800;
  line-height:1.35;
}

.conflict-note.clear {
  color:#17623e;
  background:rgba(47,159,105,.11);
  border:1px solid rgba(47,159,105,.18);
}

.conflict-note.danger {
  color:#8a2d25;
  background:rgba(196,74,61,.10);
  border:1px solid rgba(196,74,61,.18);
}

.overview-pager.compact {
  margin-top:.7rem;
  padding:.55rem;
}

details.tool-event-card {
  display:block;
  padding:0;
  overflow:hidden;
}

details.tool-event-card summary {
  display:grid;
  grid-template-columns:minmax(180px,.9fr) minmax(180px,1.2fr) auto;
  gap:1rem;
  align-items:center;
  padding:1rem;
  cursor:pointer;
}

.tool-event-details {
  display:grid;
  gap:.4rem;
  padding:0 1rem 1rem;
  color:var(--muted);
}

.tool-event-details p {
  margin:0;
  overflow-wrap:anywhere;
}

.tool-event-details a {
  color:var(--navy);
  font-weight:900;
}

.tool-log-controls input {
  min-height:42px;
}

.lux-modal[hidden] {
  display:none;
}

.lux-modal {
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:1.2rem;
}

.lux-modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,20,48,.48);
  backdrop-filter:blur(10px);
}

.lux-modal-card {
  position:relative;
  z-index:1;
  width:min(560px,100%);
  display:grid;
  gap:.8rem;
  padding:1.25rem;
  border-radius:28px;
  color:var(--navy);
  background:
    radial-gradient(circle at 100% 0%, rgba(215,155,39,.18), transparent 34%),
    linear-gradient(135deg,#ffffff,#f8fbff 62%,#fff7e6);
  border:1px solid rgba(215,155,39,.28);
  box-shadow:0 34px 90px rgba(0,31,72,.25);
}

.lux-modal-card h2 {
  margin:0;
  font-size:clamp(1.45rem,2vw,2rem);
  line-height:1.05;
}

.lux-modal-card p {
  margin:0;
  color:var(--muted);
}

.lux-modal-close {
  position:absolute;
  top:.75rem;
  right:.75rem;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(0,31,72,.10);
  background:white;
  color:var(--navy);
  font-weight:900;
  cursor:pointer;
}

.portal-modal-brand {
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  width:max-content;
  padding:.35rem .65rem;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(215,155,39,.32);
  font-weight:950;
}

.portal-modal-brand img {
  width:24px;
  height:24px;
}

.accept-client-summary {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
}

.accept-client-summary span,
.access-check,
.slot-suggestions {
  border-radius:18px;
  background:white;
  border:1px solid rgba(0,31,72,.08);
  box-shadow:0 12px 28px rgba(0,31,72,.06);
}

.accept-client-summary span {
  padding:.75rem;
}

.accept-client-summary strong,
.access-check strong {
  display:block;
  color:var(--navy);
  overflow-wrap:anywhere;
}

.accept-client-summary small,
.access-check small {
  display:block;
  color:var(--muted);
  margin-top:.2rem;
  overflow-wrap:anywhere;
}

.access-check-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem;
  align-items:stretch;
}

.access-check {
  display:flex;
  gap:.55rem;
  align-items:flex-start;
  padding:.65rem;
  cursor:pointer;
  transition:.18s ease;
}

.access-check input {
  margin-top:.18rem;
  accent-color:var(--gold);
}

.access-check.selected {
  border-color:rgba(215,155,39,.44);
  background:linear-gradient(135deg,#fff,#fff8e8);
  box-shadow:0 0 0 3px rgba(215,155,39,.10), 0 14px 32px rgba(0,31,72,.08);
}

.tool-admin-form select[multiple] {
  min-height:82px;
}

.slot-suggestions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  padding:.65rem;
}

.slot-suggestions strong {
  color:var(--navy);
  margin-right:.25rem;
}

.slot-suggestions button {
  border:1px solid rgba(215,155,39,.32);
  border-radius:999px;
  padding:.42rem .62rem;
  color:var(--navy);
  background:linear-gradient(135deg,#fff,#fff7e6);
  font-weight:900;
  cursor:pointer;
}

@media (max-width:760px) {
  .ticket-reply-form,
  .request-actions,
  .request-mini-grid,
  details.tool-event-card summary {
    grid-template-columns:1fr;
  }

  .ticket-message {
    max-width:100%;
  }

  .accept-client-summary,
  .access-check-grid {
    grid-template-columns:1fr;
  }
}

@media (max-height:760px) and (min-width:1051px) {
  .login-shell.v60-login {
    min-height:calc(100vh - 1rem);
  }

  .login-hero-card {
    gap:.55rem;
  }

  .login-main-copy h1 {
    font-size:clamp(1.9rem,3.4vw,3.25rem);
  }

  .login-preview-stack {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .preview-card {
    padding:.6rem .72rem;
  }

  .login-quote {
    font-size:.86rem;
    line-height:1.35;
  }

  .login-orbit span {
    min-height:44px;
    padding:.32rem .38rem;
  }
}

/* V72: luxury scheduling fields and searchable assignment blocks */
.schedule-form input[type="date"],
.schedule-form input[type="time"],
.reschedule-form input[type="date"],
.reschedule-form input[type="time"],
.editable-request input[type="date"],
.editable-request input[type="time"],
.call-editor-form input[type="date"],
.call-editor-form input[type="time"],
.tool-log-controls input[type="date"],
.lux-modal-card input[type="date"],
.lux-modal-card input[type="time"],
.assignment-search-label input[type="search"] {
  min-height:48px;
  color:var(--navy);
  border:1px solid rgba(215,155,39,.28);
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(215,155,39,.15), transparent 35%),
    linear-gradient(135deg,#ffffff 0%,#fbfdff 62%,#fff8e9 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 12px 28px rgba(0,31,72,.055);
  color-scheme:light;
}

.schedule-form select,
.editable-request select,
.request-actions select,
.tool-log-controls select,
.tool-admin-form select:not([multiple]),
.lux-modal-card select {
  min-height:48px;
  border:1px solid rgba(215,155,39,.25);
  border-radius:16px;
  color:var(--navy);
  background:
    linear-gradient(135deg,#ffffff 0%,#f8fbff 60%,#fff7e6 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 12px 26px rgba(0,31,72,.05);
}

.schedule-form input[type="date"]:focus,
.schedule-form input[type="time"]:focus,
.reschedule-form input[type="date"]:focus,
.reschedule-form input[type="time"]:focus,
.editable-request input[type="date"]:focus,
.editable-request input[type="time"]:focus,
.assignment-search-label input[type="search"]:focus,
.schedule-form select:focus,
.editable-request select:focus,
.request-actions select:focus,
.tool-admin-form select:not([multiple]):focus {
  outline:none;
  border-color:rgba(215,155,39,.58);
  box-shadow:0 0 0 4px rgba(215,155,39,.14), 0 18px 34px rgba(0,31,72,.08);
}

.schedule-form input[type="date"]::-webkit-calendar-picker-indicator,
.schedule-form input[type="time"]::-webkit-calendar-picker-indicator,
.reschedule-form input[type="date"]::-webkit-calendar-picker-indicator,
.reschedule-form input[type="time"]::-webkit-calendar-picker-indicator,
.editable-request input[type="date"]::-webkit-calendar-picker-indicator,
.editable-request input[type="time"]::-webkit-calendar-picker-indicator,
.lux-modal-card input[type="date"]::-webkit-calendar-picker-indicator,
.lux-modal-card input[type="time"]::-webkit-calendar-picker-indicator {
  cursor:pointer;
  opacity:.82;
  filter:sepia(1) saturate(2.2) hue-rotate(350deg);
}

.tool-admin-form select[multiple] {
  display:none;
}

.assignment-search-label {
  margin-top:-.15rem;
}

.access-check {
  position:relative;
  align-items:center;
  min-height:76px;
  padding:.82rem .95rem .82rem 3rem;
}

.access-check input {
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.access-check::before {
  content:"";
  position:absolute;
  left:1rem;
  top:50%;
  width:18px;
  height:18px;
  border-radius:999px;
  transform:translateY(-50%);
  border:1px solid rgba(215,155,39,.38);
  background:linear-gradient(135deg,#fff,#fff7e8);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

.access-check.selected::before {
  background:linear-gradient(135deg,var(--gold),#ffe0a1);
  box-shadow:0 0 0 4px rgba(215,155,39,.13), inset 0 1px 0 rgba(255,255,255,.7);
}

.access-check.selected::after {
  content:"";
  position:absolute;
  left:1.37rem;
  top:50%;
  width:5px;
  height:9px;
  border:solid white;
  border-width:0 2px 2px 0;
  transform:translateY(-58%) rotate(45deg);
}

.access-check-pager {
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.55rem;
  min-height:38px;
  padding:.25rem .1rem 0;
  color:var(--muted);
  font-size:.78rem;
  font-weight:680;
}

.access-check-pager.muted {
  justify-content:flex-start;
  min-height:24px;
  padding-top:0;
}

.access-check-pager button {
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(215,155,39,.32);
  color:var(--navy);
  background:linear-gradient(135deg,#ffffff,#fff7e6);
  font-weight:950;
  cursor:pointer;
  box-shadow:0 10px 20px rgba(0,31,72,.06);
}

.access-check-pager button:disabled {
  opacity:.4;
  cursor:not-allowed;
  box-shadow:none;
}

.empty-state.compact {
  margin:0;
  padding:.85rem;
  border-radius:16px;
  background:rgba(255,255,255,.78);
  border:1px dashed rgba(215,155,39,.25);
}

.lux-modal.locked .lux-modal-backdrop {
  cursor:not-allowed;
}

.lux-modal.locked [data-close-accept-client]:not(.lux-modal-backdrop) {
  pointer-events:none;
  opacity:.38;
}

.education-request-actions {
  grid-template-columns:repeat(4,minmax(0,auto));
  justify-content:start;
}

.danger-action {
  color:#8a2d25 !important;
  border-color:rgba(196,74,61,.24) !important;
  background:linear-gradient(135deg,#fff,#fff3f1) !important;
}

/* V73: denser tickets, premium form controls, and aligned customer cards */
form input[type="date"],
form input[type="time"],
form select {
  min-height:46px;
  border:1px solid rgba(215,155,39,.30);
  border-radius:16px;
  color:var(--navy);
  background:
    radial-gradient(circle at 100% 0%, rgba(215,155,39,.15), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#fbfdff 62%,#fff8e9 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92), 0 12px 26px rgba(0,31,72,.055);
  color-scheme:light;
}

form input[type="date"]:focus,
form input[type="time"]:focus,
form select:focus {
  outline:none;
  border-color:rgba(215,155,39,.62);
  box-shadow:0 0 0 4px rgba(215,155,39,.14), 0 16px 34px rgba(0,31,72,.08);
}

form input[type="date"]::-webkit-calendar-picker-indicator,
form input[type="time"]::-webkit-calendar-picker-indicator {
  cursor:pointer;
  opacity:.86;
  filter:sepia(1) saturate(2.2) hue-rotate(350deg);
}

.ticket-thread {
  max-height:340px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(215,155,39,.55) rgba(0,31,72,.06);
}

.ticket-thread::-webkit-scrollbar {
  width:8px;
}

.ticket-thread::-webkit-scrollbar-track {
  background:rgba(0,31,72,.045);
  border-radius:999px;
}

.ticket-thread::-webkit-scrollbar-thumb {
  background:linear-gradient(180deg,var(--gold),var(--gold-2));
  border-radius:999px;
}

.ticket-message {
  padding:.62rem .75rem;
  font-size:.93rem;
}

.asset-grid,
.implementation-grid,
.service-grid,
.tool-grid {
  align-items:stretch;
}

.asset-card,
.service-card,
.tool-card {
  min-height:245px;
}

.asset-card {
  display:grid;
  grid-template-rows:auto auto minmax(3.2rem,1fr) auto auto;
  gap:.65rem;
}

.asset-card h3,
.asset-card p,
.asset-card small,
.tool-card h3,
.tool-card p,
.service-card h3,
.service-card p {
  margin:0;
}

.asset-card .download-btn,
.tool-card .tool-actions,
.education-service-card button {
  align-self:end;
}

.tool-card,
.service-card {
  grid-template-rows:auto auto minmax(4.2rem,1fr) auto auto;
}

.tool-card-head,
.service-card-head {
  min-height:42px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
}

.tool-card-head .status-pill,
.service-card-head .status-pill,
.implementation-card > .status-pill {
  min-width:auto;
  padding:.32rem .56rem;
  font-size:.68rem;
  line-height:1;
  letter-spacing:.02em;
}

.tool-card-head .status-pill,
.service-card-head .status-pill {
  margin-left:auto;
}

.tool-card .asset-icon {
  width:38px;
  height:38px;
  border-radius:13px;
}

.tool-card > p,
.service-card > p,
.asset-card > p {
  min-height:3.6rem;
  color:var(--muted);
  line-height:1.45;
}

.tool-card small {
  min-height:1.2rem;
}

.tool-actions {
  min-height:44px;
  margin-top:auto;
  align-content:flex-end;
}

.tool-actions .download-btn,
.tool-actions button,
.education-service-card button,
.asset-card .download-btn {
  padding:.72rem .95rem;
}

.service-card-meta {
  min-height:30px;
  align-items:center;
}

.service-card-meta span,
.service-card-meta strong {
  display:block;
  overflow-wrap:anywhere;
}

.education-service-card .service-card-head strong {
  font-size:.8rem;
  color:var(--muted);
}

@media (max-width:760px) {
  .asset-card,
  .service-card,
  .tool-card {
    min-height:auto;
  }

  .ticket-thread {
    max-height:300px;
  }
}

.user-search-label input {
  min-width:260px;
}

.user-management-list {
  display:grid;
  gap:12px;
}

.user-management-card {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(0,31,72,.09);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(247,250,255,.92));
  box-shadow:0 16px 34px rgba(0,31,72,.07);
}

.user-management-card.selected {
  border-color:rgba(17,91,183,.32);
  box-shadow:0 18px 38px rgba(17,91,183,.12);
}

.user-management-card strong,
.user-management-card span,
.user-management-card small {
  display:block;
}

.user-management-card strong {
  color:var(--navy);
  font-size:1rem;
}

.user-management-card span,
.user-management-card small {
  color:var(--muted);
}

.user-management-meta {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
}

.danger-modal-card {
  border-color:rgba(217,106,97,.24);
}

.closed-ticket-note {
  margin:.4rem 0 0;
  color:var(--muted);
}

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

  .user-management-meta {
    justify-content:flex-start;
  }
}

/* V78: clickable admin customer rows and compact selected-customer call management. */
.user-management-card[role="button"] {
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.user-management-card[role="button"]:hover,
.user-management-card[role="button"]:focus-visible {
  transform:translateY(-2px);
  border-color:rgba(215,155,39,.38);
  box-shadow:0 20px 42px rgba(0,31,72,.11);
  outline:none;
}

.admin-customer-calls {
  background:
    radial-gradient(circle at 100% 0%, rgba(215,155,39,.14), transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,251,255,.94));
}

.admin-customer-calls .customer-call-top small {
  display:block;
  margin-top:.18rem;
  color:var(--muted);
  font-weight:800;
}

.admin-customer-call-card {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  padding:.85rem;
  border:1px solid rgba(0,31,72,.08);
  border-radius:18px;
  background:#fff;
}

.admin-customer-call-card .request-actions {
  justify-content:flex-end;
}

.admin-customer-call-card .request-actions button {
  white-space:nowrap;
}

.tool-admin-form [hidden] {
  display:none !important;
}

@media (max-width:760px) {
  .admin-customer-call-card {
    grid-template-columns:1fr;
  }

  .admin-customer-call-card .request-actions {
    justify-content:flex-start;
  }
}

.linkedin-plan-box {
  margin: .74rem 0 .2rem;
  padding: .68rem .76rem;
  border-radius: 14px;
  border: 1px solid rgba(216,161,59,.28);
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,248,232,.88));
  box-shadow: 0 12px 26px rgba(10,46,110,.07), inset 0 1px 0 rgba(255,255,255,.78);
}

.linkedin-plan-box span {
  display: block;
  color: #b58124;
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.linkedin-plan-box strong {
  display: block;
  margin-top: .16rem;
  color: #0a2e6e;
  font-size: 1rem;
  line-height: 1.1;
}

.linkedin-plan-box p {
  margin: .3rem 0 0;
  color: #586273;
  font-size: .76rem;
  line-height: 1.35;
}

.linkedin-plan-box.plus {
  border-color: rgba(10,46,110,.22);
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(239,246,255,.92));
}

.linkedin-plan-box.premium {
  border-color: rgba(216,161,59,.42);
  background:
    radial-gradient(circle at 96% 0%, rgba(216,161,59,.18), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,248,232,.92));
}

.linkedin-plan-mini {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .28rem .42rem;
  color: #0a2e6e;
}

.linkedin-plan-mini b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  min-height: 1.35rem;
  padding: 0 .28rem;
  border-radius: 999px;
  color: white;
  background: linear-gradient(135deg, #0a2e6e, #d8a13b);
  font-size: .7rem;
}

.usage-log-panel .panel-top {
  align-items: stretch;
}

.tool-log-controls.expanded {
  display: grid;
  grid-template-columns: minmax(190px, 1.2fr) minmax(190px, 1fr) minmax(150px, .8fr) auto auto;
  gap: .72rem;
  align-items: end;
  width: min(100%, 980px);
}

.tool-log-controls.expanded label {
  display: grid;
  gap: .32rem;
  color: #0a2e6e;
  font-size: .74rem;
  font-weight: 850;
}

.tool-log-controls.expanded select,
.tool-log-controls.expanded input {
  min-height: 40px;
}

@media (max-width: 1180px) {
  .tool-log-controls.expanded {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .tool-log-controls.expanded {
    grid-template-columns: 1fr;
  }
}


.subscription-access-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  align-items:stretch;
}

.subscription-customer-card {
  display:grid;
  gap:.72rem;
  padding:.9rem;
  border-radius:22px;
  border:1px solid rgba(0,31,72,.08);
  background:linear-gradient(135deg,#fff,#f8fbff);
  box-shadow:0 14px 34px rgba(0,31,72,.075);
}

.subscription-customer-card.plan-standard { border-color:rgba(215,155,39,.26); }
.subscription-customer-card.plan-intelligence { border-color:rgba(10,46,110,.26); background:linear-gradient(135deg,#fff,#eef5ff); }
.subscription-customer-card.plan-premium { border-color:rgba(215,155,39,.42); background:radial-gradient(circle at 95% 0%, rgba(215,155,39,.16), transparent 32%), linear-gradient(135deg,#fff,#fff8e8); }

.subscription-customer-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
}

.subscription-customer-top strong,
.subscription-customer-top small { display:block; overflow-wrap:anywhere; }
.subscription-customer-top strong { color:var(--navy); font-weight:950; }
.subscription-customer-top small { color:var(--muted); margin-top:.2rem; font-size:.78rem; }
.subscription-customer-top span {
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  border-radius:999px;
  padding:.42rem .62rem;
  color:var(--navy);
  background:rgba(215,155,39,.14);
  font-size:.72rem;
  font-weight:950;
}

.subscription-plan-buttons,
.subscription-feature-row { display:flex; flex-wrap:wrap; gap:.42rem; }

.subscription-plan-buttons button,
.subscription-toggle {
  border:1px solid rgba(0,31,72,.10);
  border-radius:999px;
  padding:.5rem .66rem;
  color:var(--navy);
  background:linear-gradient(135deg,#fff,#f8fbff);
  font-weight:900;
  font-size:.78rem;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0,31,72,.055);
  transition:.18s ease;
}

.subscription-plan-buttons button:hover,
.subscription-toggle:hover { transform:translateY(-1px); border-color:rgba(215,155,39,.36); }

.subscription-plan-buttons button.is-active,
.subscription-toggle.is-active {
  color:white;
  border-color:transparent;
  background:linear-gradient(135deg,var(--navy),#1d5aa6 48%,var(--gold));
  box-shadow:0 12px 28px rgba(0,31,72,.16);
}

.subscription-plan-buttons button.muted { color:#7b8494; background:rgba(0,31,72,.045); }
.subscription-feature-row { padding-top:.62rem; border-top:1px solid rgba(0,31,72,.07); }
.subscription-toggle.is-active { background:linear-gradient(135deg,var(--gold),#f4c567); color:var(--navy); }
.subscription-pager { grid-column:1 / -1; }

.linkedin-plan-current { display:flex; justify-content:space-between; gap:.75rem; align-items:flex-start; }
.linkedin-plan-extra {
  display:inline-flex;
  margin-top:.48rem;
  padding:.36rem .52rem;
  border-radius:999px;
  background:rgba(215,155,39,.14);
  color:#8b5d12;
  font-size:.72rem;
  font-weight:900;
  font-style:normal;
}

.linkedin-plan-ladder {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.45rem;
  margin-top:.7rem;
}

.linkedin-plan-step {
  min-width:0;
  padding:.55rem;
  border-radius:12px;
  border:1px solid rgba(0,31,72,.08);
  background:rgba(255,255,255,.7);
}

.linkedin-plan-step b,
.linkedin-plan-step small { display:block; }
.linkedin-plan-step b { color:var(--navy); font-size:.78rem; }
.linkedin-plan-step small { margin-top:.22rem; color:var(--muted); font-size:.68rem; line-height:1.25; }
.linkedin-plan-step.current { border-color:rgba(215,155,39,.42); box-shadow:0 0 0 3px rgba(215,155,39,.10); }
.linkedin-plan-step.locked { opacity:.62; }
.linkedin-plan-mini i { font-style:normal; color:#8b5d12; font-weight:900; }

@media (max-width:900px) {
  .subscription-access-grid,
  .linkedin-plan-ladder { grid-template-columns:1fr; }
}
