/* LessonVault Production CSS v2 */
:root {
  --blue:    #0066CC; --blue-dk: #0052a3; --blue-lt: #e3eef8;
  --green:   #28a745; --green-lt:#d4edda;
  --gold:    #c9a84c; --gold-lt: #fff8e7;
  --red:     #dc3545; --red-lt:  #f8d7da;
  --orange:  #fd7e14; --orange-lt:#fff3e0;
  --grey:    #6c757d; --grey-lt: #f8f9fa; --grey-border:#dee2e6;
  --ink:     #1a1a2e; --muted:   #6c757d;
  --white:   #ffffff; --body-bg: #f0f2f5;
  --radius:  8px; --radius-lg:12px;
  --shadow:  0 1px 4px rgba(0,0,0,.08); --shadow-md:0 4px 16px rgba(0,0,0,.10);
  --font:    -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --transition: 0.2s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--body-bg);color:var(--ink);font-size:15px;line-height:1.6}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}

.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}

/* ── NAVBAR ── */
.navbar{background:var(--white);border-bottom:1px solid var(--grey-border);
  position:sticky;top:0;z-index:4000;box-shadow:var(--shadow);overflow:visible}
.nav-inner{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;min-height:56px;overflow:visible}
.nav-logo{font-weight:700;font-size:1.1rem;color:var(--ink);display:flex;align-items:center;gap:.5rem;white-space:nowrap}
.logo-mark{background:var(--blue);color:var(--white);border-radius:6px;padding:.15rem .4rem;font-size:.85rem;font-weight:700}
.logo-mark.lg{padding:.4rem .8rem;font-size:1.5rem;border-radius:10px}
.brand-stack{display:inline-flex;flex-direction:column;line-height:1.05;vertical-align:middle}.brand-stack small{font-size:.68rem;font-weight:500;color:var(--muted);letter-spacing:.01em;margin-top:.08rem}
.nav-links{display:flex;align-items:center;list-style:none;gap:.25rem;flex:1;min-width:0}
.nav-link{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .75rem;border-radius:6px;color:var(--muted);font-size:.875rem;font-weight:500;transition:all var(--transition);white-space:nowrap;line-height:1.2}
.nav-link:hover,.nav-link.active{color:var(--blue);background:var(--blue-lt);text-decoration:none}
.nav-dropdown{position:relative}
.nav-dropdown:hover .dropdown-menu{display:block}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;background:var(--white);
  border:1px solid var(--grey-border);border-radius:var(--radius);min-width:230px;
  box-shadow:var(--shadow-md);list-style:none;z-index:5000;padding:.6rem 0;max-height:none;overflow:visible}
.dropdown-menu li a{display:block;padding:.65rem 1.1rem;font-size:.875rem;color:var(--ink);line-height:1.35;white-space:nowrap}
.dropdown-menu li a:hover{background:var(--grey-lt)}
.nav-user{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.nav-icon-btn{padding:.4rem;border-radius:6px;color:var(--muted);font-size:1rem;cursor:pointer}
.nav-icon-btn:hover{background:var(--grey-lt)}
.user-menu-wrapper{position:relative}
.user-btn{background:none;border:1px solid var(--grey-border);border-radius:6px;
  padding:.35rem .75rem;font-size:.875rem;cursor:pointer;color:var(--ink)}
.user-btn:hover{background:var(--grey-lt)}
.user-dropdown{display:none;position:absolute;right:0;top:100%;background:var(--white);
  border:1px solid var(--grey-border);border-radius:var(--radius);min-width:180px;
  box-shadow:var(--shadow-md);list-style:none;padding:.5rem 0;z-index:5000}
.user-menu-wrapper:hover .user-dropdown{display:block}
.user-dropdown li a{display:block;padding:.5rem 1rem;font-size:.875rem;color:var(--ink)}
.user-dropdown li a:hover{background:var(--grey-lt)}
.user-dropdown .divider{border-top:1px solid var(--grey-border);margin:.25rem 0}

/* ── MAIN ── */
.main-content{min-height:calc(100vh - 56px - 48px);padding:1.5rem 0}
.footer{background:var(--white);border-top:1px solid var(--grey-border);
  padding:.75rem 1.25rem;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--muted)}

/* ── ALERTS ── */
.alerts{margin-bottom:1rem}
.alert{display:flex;justify-content:space-between;align-items:center;
  padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:.5rem;font-size:.875rem}
.alert-success{background:var(--green-lt);color:#155724;border:1px solid #c3e6cb}
.alert-error,.alert-danger{background:var(--red-lt);color:#721c24;border:1px solid #f5c6cb}
.alert-warning{background:var(--gold-lt);color:#856404;border:1px solid #ffeeba}
.alert-info{background:var(--blue-lt);color:#0c5460;border:1px solid #bee5eb}
.alert-close{background:none;border:none;font-size:1.2rem;cursor:pointer;opacity:.6;line-height:1}
.alert-close:hover{opacity:1}

/* ── CARDS ── */
.card{background:var(--white);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow)}
.card.mb-1{margin-bottom:1rem}
.card.mt-1{margin-top:1rem}
.card-inner{background:var(--grey-lt);border-radius:var(--radius);padding:1rem}
.border-warning{border-left:4px solid var(--orange)}
.border-success{border-left:4px solid var(--green)}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;
  border:1px solid var(--grey-border);border-radius:6px;background:var(--white);
  color:var(--ink);font-size:.875rem;font-weight:500;cursor:pointer;
  text-decoration:none;transition:all var(--transition);white-space:nowrap}
.btn:hover{background:var(--grey-lt);text-decoration:none}
.btn-primary{background:var(--blue);border-color:var(--blue);color:var(--white)}
.btn-primary:hover{background:var(--blue-dk);border-color:var(--blue-dk);color:var(--white)}
.btn-danger{background:var(--red);border-color:var(--red);color:var(--white)}
.btn-danger:hover{opacity:.9}
.btn-secondary{background:var(--grey-lt);border-color:var(--grey-border);color:var(--ink)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--white)}
.btn-sm{padding:.3rem .7rem;font-size:.8rem}
.btn-xs{padding:.2rem .5rem;font-size:.75rem}
.btn-block{display:flex;width:100%;justify-content:center}
.mt-1{margin-top:1rem}
.ml-1{margin-left:.5rem}

/* ── FORMS ── */
.form-page{max-width:700px;margin:0 auto}
.form-banner{margin-bottom:1.5rem}
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-weight:600;font-size:.875rem;margin-bottom:.35rem}
.form-control{width:100%;padding:.6rem .85rem;border:1px solid var(--grey-border);
  border-radius:6px;font-size:.9rem;transition:border-color var(--transition)}
.form-control:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,102,204,.15)}
.form-row{display:flex;gap:1rem}
.form-row .form-group.half{flex:1}
.form-row .form-group.third{flex:1}
.form-check{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}
.form-actions{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:flex-end}
.field-error{color:var(--red);font-size:.8rem;display:block;margin-top:.25rem}
.hint{color:var(--muted);font-size:.85rem}
.divider{border:none;border-top:1px solid var(--grey-border);margin:1.5rem 0}

/* ── PAGE HEADER ── */
.page-header{display:flex;justify-content:space-between;align-items:flex-start;
  margin-bottom:1.5rem;flex-wrap:wrap;gap:.75rem}
.page-header h1{font-size:1.6rem;font-weight:700;color:var(--ink)}
.sub-header{display:flex;gap:.5rem;align-items:center;margin-top:.4rem;flex-wrap:wrap}
.header-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}
.section-header h2{font-size:1.1rem;font-weight:600}
.section-header h3{font-size:1rem;font-weight:600}
.link-sm{font-size:.8rem;color:var(--blue)}

/* ── STATS GRID ── */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}
.stat-card{background:var(--white);border-radius:var(--radius-lg);padding:1.25rem;
  box-shadow:var(--shadow);display:flex;align-items:center;gap:1rem}
.stat-icon{font-size:2rem}
.stat-value{font-size:1.75rem;font-weight:700;color:var(--blue);line-height:1}
.stat-label{font-size:.8rem;color:var(--muted);margin-top:.2rem}
.stat-success .stat-value{color:var(--green)}
.stat-danger .stat-value{color:var(--red)}
.stat-info .stat-value{color:var(--blue)}
.stat-gold .stat-value{color:var(--gold)}

/* ── DASHBOARD GRID ── */
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.5rem}
.dash-section{background:var(--white);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow)}

/* ── TASK CARDS / ROWS ── */
.task-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem;margin-bottom:1.5rem}
.task-card{background:var(--white);border-radius:var(--radius-lg);padding:1.25rem;
  box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition)}
.task-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.task-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:.5rem}
.task-card-header h3{font-size:.95rem;font-weight:600;flex:1}
.task-card-header h3 a{color:var(--ink)}
.task-card-header h3 a:hover{color:var(--blue)}
.task-card-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--muted);margin-bottom:.75rem;flex-wrap:wrap}
.task-card-actions{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}
.task-row{display:flex;justify-content:space-between;align-items:center;
  padding:.75rem 0;border-bottom:1px solid var(--grey-border);gap:.75rem}
.task-row:last-child{border-bottom:none}
.task-row-info{flex:1;min-width:0}
.task-title{font-weight:500;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.task-meta{font-size:.78rem;color:var(--muted);margin-top:.2rem}
.task-row-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.task-summary-mini{background:var(--grey-lt);border-radius:6px;padding:.75rem 1rem;
  font-size:.875rem;margin-bottom:1rem}

/* ── WORKFLOW STATE COLORS ── */
.wf-badge{display:inline-block;padding:.2rem .6rem;border-radius:20px;font-size:.72rem;font-weight:600}
.wf-badge-sm{display:inline-block;padding:.1rem .4rem;border-radius:4px;font-size:.7rem}
.wf-in_progress{background:#e3f2fd;color:#1565c0}
.wf-pending_closure{background:#fff3e0;color:#e65100}
.wf-under_review{background:#f3e5f5;color:#6a1b9a}
.wf-rework_required{background:var(--red-lt);color:#b71c1c}
.wf-awaiting_lessons{background:#e8f5e9;color:#1b5e20}
.wf-awaiting_impact_validation{background:#fce4ec;color:#880e4f}
.wf-closed{background:var(--grey-lt);color:var(--muted)}
.wf-border-in_progress{border-left:3px solid #1565c0}
.wf-border-pending_closure{border-left:3px solid #e65100}
.wf-border-rework_required{border-left:3px solid var(--red)}
.wf-border-awaiting_lessons{border-left:3px solid var(--green)}
.wf-border-awaiting_impact_validation{border-left:3px solid #880e4f}
.wf-border-closed{border-left:3px solid var(--muted)}

/* ── BADGES ── */
.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:20px;font-size:.72rem;font-weight:600}
.badge-success{background:var(--green-lt);color:#155724}
.badge-warning{background:var(--gold-lt);color:#856404}
.badge-danger{background:var(--red-lt);color:#721c24}
.badge-info{background:var(--blue-lt);color:#0c5460}
.lesson-type-badge{display:inline-block;padding:.2rem .6rem;border-radius:20px;font-size:.72rem;font-weight:600}
.confidence-badge{font-size:.75rem;color:var(--muted)}

/* ── PROGRESS BARS ── */
.progress-bar{height:6px;background:var(--grey-border);border-radius:3px;overflow:hidden}
.progress-bar.lg{height:10px;margin-bottom:.75rem}
.progress-fill{height:100%;background:var(--blue);border-radius:3px;transition:width .4s ease}
.progress-mini{width:80px;height:4px;background:var(--grey-border);border-radius:2px;overflow:hidden}

/* ── WORKFLOW STEPS ── */
.workflow-status{padding:1.25rem}
.wf-steps{display:flex;justify-content:space-between;position:relative}
.wf-steps::before{content:'';position:absolute;top:20px;left:0;right:0;height:2px;background:var(--grey-border);z-index:0}
.wf-step{text-align:center;flex:1;position:relative;z-index:1}
.wf-step-icon{width:40px;height:40px;border-radius:50%;background:var(--grey-lt);border:2px solid var(--grey-border);
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;margin:0 auto .35rem}
.wf-step-label{font-size:.65rem;color:var(--muted);font-weight:500}
.wf-step-done .wf-step-icon{background:var(--green);border-color:var(--green);color:var(--white)}
.wf-step-active .wf-step-icon{background:var(--blue);border-color:var(--blue);color:var(--white);transform:scale(1.15);box-shadow:0 0 0 4px rgba(0,102,204,.2)}
.wf-step-active .wf-step-label{color:var(--blue);font-weight:700}

/* ── LESSON CARDS ── */
.lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:1.5rem}
.lesson-card{background:var(--white);border-radius:var(--radius-lg);padding:1.25rem;
  box-shadow:var(--shadow);transition:transform var(--transition)}
.lesson-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.lesson-card-top{display:flex;gap:.5rem;margin-bottom:.65rem;flex-wrap:wrap}
.lesson-card h3{font-size:.95rem;font-weight:600;margin-bottom:.5rem}
.lesson-card h3 a{color:var(--ink)}
.lesson-card h3 a:hover{color:var(--blue)}
.lesson-excerpt{font-size:.85rem;color:var(--muted);margin-bottom:.65rem;line-height:1.5}
.lesson-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--muted)}
.lesson-list{display:flex;flex-direction:column;gap:.5rem}
.lesson-row{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--grey-border)}
.lesson-row:last-child{border-bottom:none}
.lesson-type-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:.35rem}
.dot-success{background:var(--green)}
.dot-problem{background:var(--orange)}
.lesson-row-info{flex:1}
.lesson-title{font-size:.875rem;font-weight:500;color:var(--ink)}
.lesson-title:hover{color:var(--blue)}
.impact-badge{background:var(--gold-lt);color:var(--gold);border-radius:20px;
  padding:.15rem .6rem;font-size:.75rem;font-weight:600}

/* ── IMPACT ITEMS ── */
.impact-item{padding:1rem;border-radius:var(--radius);margin-bottom:.75rem}
.went-well{background:#f0fff4;border-left:3px solid var(--green)}
.didnt-go-well{background:#fff5f5;border-left:3px solid var(--orange)}
.impact-item-header{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem;flex-wrap:wrap}
.impact-values{display:flex;gap:1rem;font-size:.82rem;color:var(--muted);margin-top:.4rem}
.impact-item-block{position:relative}

/* ── TAGS ── */
.tag-list{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.65rem}
.tag{background:var(--grey-lt);color:var(--muted);padding:.15rem .55rem;
  border-radius:20px;font-size:.72rem;font-weight:500}

/* ── TABLES ── */
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.detail-table{width:100%;border-collapse:collapse;font-size:.875rem}
.detail-table th{text-align:left;width:35%;padding:.5rem;background:var(--grey-lt);
  font-weight:600;color:var(--muted);font-size:.8rem;text-transform:uppercase}
.detail-table td{padding:.5rem;border-bottom:1px solid var(--grey-border)}
.data-table{width:100%;border-collapse:collapse;font-size:.875rem}
.data-table th{text-align:left;padding:.65rem;background:var(--grey-lt);
  font-weight:600;font-size:.8rem;border-bottom:2px solid var(--grey-border)}
.data-table td{padding:.65rem;border-bottom:1px solid var(--grey-border);vertical-align:middle}
.data-table tr:hover td{background:var(--grey-lt)}

/* ── TIMELINE ── */
.timeline{padding-left:1.5rem}
.timeline-item{position:relative;padding-bottom:1.25rem}
.timeline-dot{position:absolute;left:-1.5rem;top:.3rem;width:10px;height:10px;
  border-radius:50%;background:var(--blue);border:2px solid var(--white);box-shadow:0 0 0 2px var(--blue)}
.timeline-item::before{content:'';position:absolute;left:-1.1rem;top:1rem;bottom:0;
  width:2px;background:var(--grey-border)}
.timeline-item:last-child::before{display:none}
.timeline-body{font-size:.875rem}
.timeline-date{font-size:.78rem;color:var(--muted);margin:.15rem 0}

/* ── REVIEW / CLOSURE ── */
.review-list{display:flex;flex-direction:column;gap:.5rem}
.review-row{display:flex;justify-content:space-between;align-items:center;
  padding:.6rem 0;border-bottom:1px solid var(--grey-border)}
.review-row:last-child{border-bottom:none}
.closure-summary{background:var(--blue-lt);border-radius:6px;padding:.6rem .85rem;
  font-size:.85rem;margin:.5rem 0}
.alert-rework{background:var(--gold-lt);border-left:4px solid var(--orange);padding:1rem}
.related-lessons{display:flex;flex-wrap:wrap;gap:.5rem}
.related-lesson-pill{background:var(--grey-lt);padding:.3rem .8rem;border-radius:20px;
  font-size:.8rem;color:var(--ink)}
.related-lesson-pill:hover{background:var(--blue-lt);color:var(--blue)}
.related-lesson-row{padding:.4rem 0;border-bottom:1px solid var(--grey-border);font-size:.875rem}

/* ── TAB BAR ── */
.tab-bar{display:flex;gap:.25rem;margin-bottom:1.25rem;border-bottom:2px solid var(--grey-border);padding-bottom:0}
.tab{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--muted);
  border-radius:6px 6px 0 0;cursor:pointer;text-decoration:none}
.tab:hover{color:var(--blue);text-decoration:none}
.tab-active{color:var(--blue);border-bottom:2px solid var(--blue);margin-bottom:-2px}
.filter-bar{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}

/* ── AUTH ── */
.auth-wrap{display:flex;justify-content:center;align-items:center;min-height:70vh}
.auth-box{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem;
  width:100%;max-width:420px;box-shadow:var(--shadow-md)}
.auth-brand{text-align:center;margin-bottom:2rem}
.auth-brand h1{font-size:1.6rem;font-weight:700}
.tenant-login-logo{height:60px;max-height:60px;width:60px;max-width:60px;object-fit:contain;border-radius:14px;display:inline-block}
.auth-brand img.tenant-login-logo{height:60px!important;width:60px!important;max-height:60px!important;max-width:60px!important;object-fit:contain!important}
.tagline{color:var(--muted);font-size:.9rem;margin-top:.25rem}
.auth-links{text-align:center;margin-top:1rem;font-size:.875rem}

/* ── ERROR PAGE ── */
.error-page{text-align:center;padding:4rem 2rem}
.error-code{font-size:5rem;font-weight:900;color:var(--blue);line-height:1}
.error-page h1{font-size:1.75rem;margin:.5rem 0}
.error-page p{color:var(--muted);margin-bottom:1.5rem}

/* ── MISC ── */
.empty-state{text-align:center;padding:3rem;color:var(--muted)}
.empty-state-sm{padding:1rem;color:var(--muted);font-size:.875rem;text-align:center}
.muted{color:var(--muted)}
.text-success{color:var(--green)}
.text-danger{color:var(--red)}
.mt-1{margin-top:.75rem}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .detail-grid{grid-template-columns:1fr}
  .task-cards{grid-template-columns:1fr}
  .lesson-grid{grid-template-columns:1fr}
  .form-row{flex-direction:column;gap:0}
  .wf-steps{display:none}
  .nav-links{display:none}
  .dashboard-grid{grid-template-columns:1fr}
}

/* ── PAGINATION ── */
.pagination{display:flex;align-items:center;gap:.75rem;justify-content:center;margin:1.5rem 0}

/* ── PROJECT CARDS ── */
.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:1.5rem}
.project-card{background:var(--white);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow);transition:transform var(--transition)}
.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.65rem;gap:.5rem}
.project-card-header h3{font-size:.95rem;font-weight:600}
.project-card-header h3 a{color:var(--ink)}
.project-card-header h3 a:hover{color:var(--blue)}
.project-desc{font-size:.85rem;color:var(--muted);margin-bottom:.65rem}
.project-meta{display:flex;gap:1rem;font-size:.8rem;color:var(--muted);margin-bottom:.5rem}
.project-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem}

/* ── Mobile Responsive (Priority 9) ─────────────────────────────────────── */
@media (max-width: 768px) {
  .container { padding: 0 1rem; }

  /* Navbar */
  .nav-inner { flex-wrap: wrap; gap: .5rem; }
  .nav-links  { display: none; }
  .nav-links.open { display: flex; flex-direction: column; width: 100%;
                    background: var(--color-background-secondary);
                    border-top: .5px solid var(--color-border-tertiary);
                    padding: .5rem 0; }
  .nav-logo   { font-size: 1rem; }
  .nav-mobile-toggle { display: flex !important; }

  /* Stats grid — 2 cols on mobile */
  .stats-grid { grid-template-columns: repeat(2, 1fr); }

  /* Dashboard grid — stack */
  .dashboard-grid { grid-template-columns: 1fr; }

  /* Data tables — scroll horizontally */
  .data-table { display: block; overflow-x: auto; white-space: nowrap; }

  /* Task cards — full width */
  .task-cards { grid-template-columns: 1fr; }

  /* Form rows — stack */
  .form-row { flex-direction: column; }
  .form-group.half,
  .form-group.third { width: 100%; }

  /* Bulk assign table — scroll */
  #rowContainer, .bulk-row { overflow-x: auto; }
  .bulk-row { grid-template-columns: 1fr; gap: .35rem; }
  .bulk-row input, .bulk-row select { width: 100%; }

  /* Page header — stack */
  .page-header { flex-direction: column; align-items: flex-start; gap: .75rem; }
  .header-actions { flex-wrap: wrap; }

  /* Detail grid — stack */
  .detail-grid { grid-template-columns: 1fr; }

  /* Lesson grid — single column */
  .lesson-grid { grid-template-columns: 1fr; }

  /* Task row — stack on small screens */
  .task-row { flex-wrap: wrap; }
  .task-row-actions { width: 100%; justify-content: flex-start; margin-top: .5rem; }

  /* Stat cards — smaller */
  .stat-card { padding: .75rem; }
  .stat-icon  { font-size: 1.25rem; }
  .stat-value { font-size: 1.5rem; }

  /* Inline progress form */
  .inline-progress-form { flex-wrap: wrap; }
}

@media (max-width: 480px) {
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-value { font-size: 1.25rem; }
  h1 { font-size: 1.4rem; }
  h2 { font-size: 1.1rem; }

  /* WF badges — shorter labels */
  .wf-badge { font-size: .68rem; padding: .15rem .4rem; }
  .badge    { font-size: .68rem; padding: .15rem .4rem; }
}

/* Mobile nav toggle (shown only on small screens) */
.nav-mobile-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.25rem;
  color: var(--color-text-primary);
  padding: .25rem .5rem;
}

/* ── Confirmation Modal ──────────────────────────────────────────────────── */
.confirm-overlay {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 9000;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.confirm-overlay.open { display: flex; }
.confirm-box {
  background: var(--color-background-primary);
  border-radius: var(--border-radius-lg);
  box-shadow: 0 8px 32px rgba(0,0,0,.18);
  padding: 1.75rem 2rem;
  max-width: 560px;
  width: 100%;
  animation: confirmIn .15s ease;
}
@keyframes confirmIn {
  from { transform: scale(.94); opacity: 0; }
  to   { transform: scale(1);   opacity: 1; }
}
.confirm-icon { font-size: 2rem; margin-bottom: .5rem; }
.confirm-title { font-size: 1.05rem; font-weight: 600; margin-bottom: .4rem; }
.confirm-message { font-size: .875rem; color: var(--color-text-secondary); margin-bottom: 1.25rem; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; word-break: break-word; }
.confirm-actions { display: flex; gap: .75rem; justify-content: flex-end; }

.info-icon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 50%;
  border: 1px solid var(--color-border, #d1d5db);
  color: var(--color-text-secondary, #6b7280);
  font-size: .72rem;
  line-height: 1;
  cursor: help;
  margin-left: .2rem;
  background: #fff;
}
.header-actions .btn, .task-card-actions .btn { white-space: nowrap; }

/* ── v16.1.5 UX cleanup: role-aware navigation + persistent search ── */
.nav-links-ux-clean{gap:.35rem}
.global-search{display:flex;align-items:center;gap:.35rem;border:1px solid var(--grey-border);border-radius:999px;background:var(--grey-lt);padding:.25rem .45rem;min-width:250px;max-width:360px;flex:1}
.global-search input{border:0;background:transparent;outline:0;min-width:0;width:100%;font-size:.84rem;color:var(--ink)}
.global-search-icon{font-size:.9rem;color:var(--muted)}
.global-search-submit{border:0;background:transparent;cursor:pointer;padding:0 .1rem;line-height:1}
.global-search-submit:hover{color:var(--primary)}
.global-search-kbd{font-size:.68rem;color:var(--muted);border:1px solid var(--grey-border);border-radius:5px;padding:.05rem .28rem;background:var(--white)}
.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.dashboard-hero h1{font-size:1.55rem;line-height:1.2;margin:0}
.eyebrow{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:.2rem}
.primary-actions{align-items:center}
.role-kpi-note{padding:.85rem 1rem;font-size:.86rem;background:var(--blue-lt);border-left:4px solid var(--blue)}

@media(max-width:980px){.global-search{min-width:180px}.nav-inner{flex-wrap:wrap}.nav-user{width:100%;justify-content:space-between}.global-search{max-width:none}}
@media(max-width:720px){.global-search-kbd{display:none}.global-search{min-width:0}.dashboard-hero{align-items:flex-start}.primary-actions{width:100%}.primary-actions .btn{flex:1;justify-content:center}}
/* v16.1.22 nav spacing hotfix: prevent Ask Me search from overlapping menus */
.navbar .container{max-width:none;}
.nav-links-ux-clean{flex:0 1 auto;}
.nav-user{flex:1 1 330px;min-width:310px;justify-content:flex-end;}
.global-search{flex:0 1 260px;width:260px;min-width:190px;max-width:260px;}
.global-search-submit{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:50%;}
.global-search-submit:hover{background:var(--blue-lt);color:var(--blue);}
@media(max-width:1180px){.global-search{width:220px;max-width:220px}.nav-link{padding:.35rem .55rem}.nav-inner{gap:.55rem}}

@media(max-width:980px){.nav-links-ux-clean{flex:1 1 100%;}.nav-user{min-width:0;width:100%;}.global-search{width:100%;max-width:none;}}

/* Build-gate nav edge alignment support */
.nav-dropdown > .nav-link::after{content:'▾';font-size:.65rem;margin-left:.25rem;white-space:nowrap}

/* Bucket 1A-R2: visible org-settings back link and aligned tenant branding controls */
.org-settings-back{display:inline-flex;margin-bottom:.45rem;font-size:.875rem}
.tenant-branding-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}
.tenant-branding-row .form-group{min-width:0}
.tenant-branding-row .tenant-display-field .form-control,
.tenant-branding-row .tenant-logo-field .form-control{min-height:40px;box-sizing:border-box}
.tenant-branding-row .tenant-logo-field small.muted{display:block;margin-top:.35rem;line-height:1.45}
@media(max-width:768px){.tenant-branding-row{grid-template-columns:1fr}}

/* ── Bucket 1A UX helpers: contextual back links + plain-language tooltips ── */
.context-back-row{margin:0 0 .85rem;display:flex;align-items:center;gap:.5rem}
.context-back-link{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--grey-border);border-radius:999px;background:var(--white);color:var(--blue);font-weight:600;font-size:.86rem;padding:.35rem .75rem;box-shadow:var(--shadow)}
.context-back-link:hover{background:var(--blue-lt);text-decoration:none}
.lv-info-tip{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;margin-left:.25rem;border-radius:999px;border:1px solid var(--grey-border);background:var(--blue-lt);color:var(--blue);font-size:.7rem;font-weight:700;cursor:help;position:relative;vertical-align:middle;line-height:1}
.lv-info-tip::after{content:attr(data-tip);display:none;position:absolute;left:50%;bottom:calc(100% + .45rem);transform:translateX(-50%);z-index:1000;min-width:220px;max-width:320px;padding:.55rem .7rem;border-radius:8px;background:#111827;color:#fff;text-align:left;font-size:.78rem;font-weight:400;line-height:1.35;box-shadow:0 12px 24px rgba(15,23,42,.18);white-space:normal}
.lv-info-tip::before{content:'';display:none;position:absolute;left:50%;bottom:calc(100% + .18rem);transform:translateX(-50%);border:.28rem solid transparent;border-top-color:#111827;z-index:1001}
.lv-info-tip:hover::after,.lv-info-tip:focus::after,.lv-info-tip.is-open::after,.lv-info-tip:hover::before,.lv-info-tip:focus::before,.lv-info-tip.is-open::before{display:block}
@media (max-width:640px){.lv-info-tip::after{left:auto;right:-.5rem;transform:none;min-width:200px;max-width:calc(100vw - 2rem)}}

/* Bucket 1A-R3: real page-level contextual back links + corrected tenant branding alignment */
.tenant-branding-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:1rem;
  align-items:start;
  margin-bottom:1rem;
}
.tenant-branding-field{min-width:0;margin-bottom:1.25rem;display:flex;flex-direction:column;}
.field-label-row{min-height:1.45rem;display:flex;align-items:center;font-weight:600;font-size:.875rem;margin-bottom:.35rem;}
.field-label-row label{margin-bottom:0;display:inline-flex;align-items:center;}
.tenant-branding-field .form-control{min-height:40px;box-sizing:border-box;width:100%;}
.tenant-branding-field small.muted{display:block;margin-top:.35rem;line-height:1.45;min-height:2.8rem;}
.tenant-logo-input{padding:.45rem .85rem;}
@media(max-width:768px){.tenant-branding-grid{grid-template-columns:1fr}.tenant-branding-field small.muted{min-height:0}}

/* Bucket 1A-R4: page-local contextual back links, not floating global rows */
.page-header-with-back{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.page-header-with-back .context-back-link{margin-top:.15rem;}
.dashboard-hero-with-back{align-items:flex-start;}
.dashboard-hero-main{display:flex;align-items:flex-start;gap:.85rem;min-width:0;}
.dashboard-hero-main .page-local-back{flex:0 0 auto;margin-top:.15rem;}
.dashboard-hero-main > div:last-child{min-width:0;}
@media(max-width:768px){.dashboard-hero-main{flex-direction:column;gap:.5rem}.page-header-with-back{flex-direction:column}.page-header-with-back .context-back-link{margin-top:0}}

/* Bucket 1A-R5: visible contextual back arrows removed after UX review.
   Contextual back navigation is deferred to a later, page-specific design bucket. */
.context-back-link, .page-local-back, .context-back-row { display: none !important; }

/* Bucket 1B: left side menu, retained Ask Me top bar, and Organization Settings tabs */
.lv-topbar{position:sticky;top:0;z-index:4100;}
.lv-topbar-inner{max-width:none;}
.lv-topbar-actions{margin-left:auto;}
.lv-side-menu{
  position:fixed;
  top:57px;
  left:0;
  bottom:0;
  width:248px;
  background:var(--white);
  border-right:1px solid var(--grey-border);
  box-shadow:var(--shadow);
  padding:.85rem .8rem 1.25rem;
  overflow-y:auto;
  z-index:3000;
}
.lv-side-menu-section{padding:.25rem 0 .8rem;margin-bottom:.35rem;border-bottom:1px solid #edf1f5;}
.lv-side-menu-section:last-child{border-bottom:0;}
.side-nav-heading{font-size:.72rem;font-weight:800;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:.35rem .55rem .25rem;}
.side-nav-link{display:flex;align-items:center;gap:.45rem;border-radius:8px;padding:.48rem .6rem;color:var(--ink);font-size:.88rem;font-weight:500;line-height:1.25;text-decoration:none;}
.side-nav-link:hover,.side-nav-link.active{background:var(--blue-lt);color:var(--blue);text-decoration:none;}
.side-nav-link-muted{color:var(--muted);cursor:not-allowed;background:#f8fafc;}
.side-nav-link-muted:hover{background:#f8fafc;color:var(--muted);}
body.has-side-menu .main-content{margin-left:248px;}
body.has-side-menu .footer{margin-left:248px;}
body.has-side-menu .main-content > .container{max-width:1280px;}
.lv-help-link{font-size:.86rem;}

.org-settings-tabs{display:flex;gap:.4rem;flex-wrap:wrap;border-bottom:1px solid var(--grey-border);margin:-.25rem 0 1.25rem;padding-bottom:.6rem;}
.org-settings-tab{border:1px solid var(--grey-border);background:var(--white);border-radius:999px;padding:.42rem .85rem;font-size:.86rem;font-weight:700;color:var(--muted);cursor:pointer;transition:all var(--transition);}
.org-settings-tab:hover,.org-settings-tab.active{background:var(--blue-lt);border-color:#bfdbfe;color:var(--blue);}
.org-settings-panel{display:none;}
.org-settings-panel.active{display:block;}
.settings-tab-note{padding:1rem;border:1px solid var(--grey-border);border-radius:12px;background:#f8fafc;}
.governance-warning{align-items:flex-start;justify-content:flex-start;}
.org-settings-actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.72),var(--white));padding-top:1rem;border-top:1px solid #edf1f5;}

/* Bucket 8B R2A: align Organization Settings > Project Settings project category table */
.project-type-table{
  width:100%;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
  margin:0;
}
.project-type-table th,
.project-type-table td{
  padding:.62rem .75rem;
  border-bottom:1px solid #e5e7eb;
  vertical-align:middle;
  line-height:1.35;
}
.project-type-table thead th{
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.015em;
  text-transform:uppercase;
  background:#f8fafc;
  white-space:nowrap;
}
.project-type-table tbody tr:last-child td{border-bottom:0;}
.project-type-name-col{width:28%;}
.project-type-description-col{width:40%;}
.project-type-status-col{width:12%;text-align:center;}
.project-type-count-col{width:10%;text-align:center;}
.project-type-action-col{width:10%;text-align:right;}
.project-type-name{font-weight:700;color:var(--ink);}
.project-type-description{color:var(--muted);overflow-wrap:anywhere;}
.project-type-status,.project-type-count{text-align:center;white-space:nowrap;}
.project-type-action{text-align:right;white-space:nowrap;font-weight:700;}
.project-type-action a{text-decoration:none;}
.project-type-action a:hover{text-decoration:underline;}
@media(max-width:760px){
  .project-type-table{min-width:680px;}
}

@media(max-width:980px){
  .lv-side-menu{transform:translateX(-105%);transition:transform var(--transition);top:57px;}
  .lv-side-menu.open{transform:translateX(0);}
  body.has-side-menu .main-content,body.has-side-menu .footer{margin-left:0;}
  .nav-mobile-toggle{display:flex !important;}
}


/* Bucket 3 explainability: page-specific contextual return links use a new class so
   the previous global Back-arrow suppression remains intact for old surfaces. */
.lv-context-return-row{margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}
.lv-context-return-link{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:999px;background:var(--color-background-secondary,#f8fafc);border:1px solid var(--color-border-primary,#e5e7eb);color:var(--color-text-secondary,#475569);font-size:.85rem;text-decoration:none}
.lv-context-return-link:hover{background:var(--color-background-tertiary,#eef2f7);color:var(--color-text-primary,#111827)}
.lv-signal-basis{margin-top:.5rem;padding:.65rem .75rem;border-radius:10px;background:var(--color-background-secondary,#f8fafc);border:1px solid var(--color-border-tertiary,#e5e7eb);font-size:.86rem;line-height:1.4}
.lv-signal-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem}
.lv-signal-action{font-size:.78rem;text-decoration:none;border:1px solid var(--color-border-primary,#d1d5db);border-radius:999px;padding:.25rem .55rem;background:#fff;color:var(--color-text-secondary,#475569)}
.lv-signal-action:hover{background:var(--blue-lt,#eef4ff);color:var(--blue,#0b63ce)}
.lv-evidence-list{display:grid;gap:.6rem;margin:1rem 0}
.lv-evidence-item{padding:.75rem;border:1px solid var(--color-border-tertiary,#e5e7eb);border-radius:12px;background:#fff}
.lv-evidence-item strong{display:block;margin-bottom:.2rem}

/* Bucket 8 Resource Workload & Uploaded-Task Pressure Preview */
.form-group.fifth{flex:1 1 150px;min-width:140px;}
.uploaded-task-pressure-preview{box-shadow:0 1px 2px rgba(15,23,42,.04);}
.uploaded-task-pressure-table td,.uploaded-task-pressure-table th{vertical-align:top;}
.workload-pressure-critical,.workload-pressure-high{background:#fff7f7;}
.workload-pressure-elevated{background:#fffbeb;}
.workload-pressure-normal{background:#f8fff8;}

/* AmaoruPlatform v1.2: approved AMAORU logo lockup and report/output language */
.amaoru-logo{
  display:inline-block;
  object-fit:contain;
  vertical-align:middle;
}
.nav-logo .amaoru-logo-header{
  height:34px;
  width:auto;
  max-width:148px;
  margin-right:.5rem;
}
.nav-logo .logo-mark + .amaoru-logo-header,
.auth-brand .logo-mark.lg + .amaoru-logo-login,
.tenant-logo-lockup .logo-mark.lg + .amaoru-logo-login,
.dashboard-hero-main .logo-mark.lg + .amaoru-logo-dashboard{
  margin-left:0;
}
.nav-logo .logo-mark:has(+ .amaoru-logo-header),
.auth-brand .logo-mark.lg:has(+ .amaoru-logo-login),
.tenant-logo-lockup .logo-mark.lg:has(+ .amaoru-logo-login),
.dashboard-hero-main .logo-mark.lg:has(+ .amaoru-logo-dashboard){
  display:none;
}
.amaoru-logo-login{
  width:min(260px, 82%);
  max-height:72px;
  margin:0 auto .75rem;
}
.tenant-logo-lockup{display:flex;justify-content:center;align-items:center;margin-bottom:1rem;}
.amaoru-logo-dashboard{height:52px;width:auto;max-width:220px;}
.amaoru-logo-page{height:64px;width:auto;max-width:280px;flex:0 0 auto;margin-top:.15rem;}
.report-module-badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  border:1px solid var(--grey-border,#e5e7eb);
  background:#fffaf0;
  color:#7a5600;
  border-radius:999px;
  padding:.25rem .55rem;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.report-module-note{font-size:.85rem;color:var(--muted,#6b7280);margin:.25rem 0 0;}
@media(max-width:720px){.amaoru-logo-page{height:48px}.nav-logo .amaoru-logo-header{max-width:112px}.amaoru-logo-dashboard{height:44px}}

/* AmaoruPlatform v1.3C: collapsible parent menu sections.
   First-time users see all sections expanded; user changes are remembered in the browser. */
.side-nav-section-toggle{
  width:calc(100% - 1.1rem);
  display:flex;
  align-items:center;
  gap:.35rem;
  border:0;
  background:transparent;
  cursor:pointer;
  text-align:left;
  line-height:1.2;
  border-radius:8px;
  padding:.38rem .55rem;
}
.side-nav-section-toggle:hover,
.side-nav-section-toggle:focus-visible{
  background:#f8fafc;
  color:var(--blue);
  outline:0;
}
.side-nav-chevron{
  width:.9rem;
  flex:0 0 .9rem;
  font-size:.72rem;
  color:var(--muted);
}
.side-nav-icon{
  width:1rem;
  flex:0 0 1rem;
  text-align:center;
  font-size:.82rem;
  line-height:1;
}
.side-nav-heading-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.side-nav-items{
  margin-top:.15rem;
}
.lv-side-menu-section.is-collapsed .side-nav-items{
  display:none;
}
.lv-side-menu-section.has-active-page > .side-nav-section-toggle{
  background:var(--blue-lt);
  color:var(--blue);
}
.lv-side-menu-section.has-active-page .side-nav-chevron,
.lv-side-menu-section.has-active-page .side-nav-icon{
  color:var(--blue);
}
@media(max-width:980px){
  .side-nav-section-toggle{
    min-height:42px;
  }
}

/* AmaoruPlatform v1.3C R3: header lockup and sidebar alignment refinements. */
.amaoru-platform-lockup{
  gap:.45rem;
}
.nav-logo.amaoru-platform-lockup .amaoru-logo-header{
  margin-right:.1rem;
}
.amaoru-brand-stack strong{
  font-size:1rem;
  font-weight:800;
  letter-spacing:.01em;
}
.amaoru-brand-stack small{
  font-size:.58rem;
  font-weight:600;
  color:var(--muted);
  line-height:1.1;
  letter-spacing:.01em;
  text-transform:none;
}
.side-nav-dashboard-link{
  margin:.35rem .55rem .45rem;
  font-weight:800;
}
.side-nav-dashboard-link .side-nav-icon{
  margin-right:.35rem;
}
.lv-side-menu-section .side-nav-items .side-nav-link{
  padding-left:calc(.55rem + .9rem + .35rem);
}
