:root{
  --navy:#353a46;
  --navy-2:#424958;
  --gold:#c9a84c;
  --gold-soft:#e3c978;
  --bg:#f5f2ec;
  --card:#ffffff;
  --card-alt:#fbfaf7;
  --text:#2f3440;
  --text-soft:#6e737b;
  --line:#e4ded3;
  --green:#4f8a68;
  --green-soft:#eaf4ee;
  --red:#b55555;
  --amber:#b78322;
  --shadow:0 10px 30px rgba(37,39,45,.08);
  --shadow-soft:0 4px 14px rgba(37,39,45,.06);
  --radius:18px;
  --radius-sm:12px;
  --sidebar-w:260px;
}
*{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'DM Sans',Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.app{min-height:100vh;background:var(--bg)}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;z-index:2000;background:#fff;padding:10px 14px;border-radius:8px}

.shell{display:flex;min-height:100vh}
.sidebar{width:var(--sidebar-w);background:var(--navy);color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;border-right:1px solid rgba(255,255,255,.08)}
.brand{padding:24px 22px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand-mark{display:flex;align-items:center;gap:12px}
.brand-logo{width:46px;height:46px;border-radius:12px;background:#fff;padding:8px;box-shadow:0 6px 18px rgba(0,0,0,.15)}
.brand-title{font-weight:700;font-size:1.2rem;letter-spacing:-.02em}
.brand-title span{color:var(--gold)}
.brand-sub{margin-top:8px;font-size:.82rem;color:rgba(255,255,255,.65);line-height:1.4}
.nav{padding:16px 12px;display:flex;flex-direction:column;gap:6px;flex:1;overflow:auto}
.nav-group{margin:8px 8px 2px;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.45)}
.nav-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;color:rgba(255,255,255,.78);font-size:.95rem;transition:.15s background,.15s color,.15s transform}
.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-item.active{background:rgba(201,168,76,.18);color:#fff;border:1px solid rgba(227,201,120,.24)}
.nav-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;opacity:.95;flex:0 0 20px}
.nav-icon svg,.mobile-footer-icon svg,.academy-icon svg,.empty-icon svg{width:20px;height:20px;display:block;stroke:currentColor;fill:none}
.academy-icon svg{width:22px;height:22px}
.mobile-footer-icon{display:inline-flex;align-items:center;justify-content:center}
.empty-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--amber);background:#fff7e5;border:1px solid #ead6a7;border-radius:16px;width:48px;height:48px}

.side-footer{padding:16px 18px 22px;border-top:1px solid rgba(255,255,255,.08)}
.side-user{font-size:.84rem;color:rgba(255,255,255,.72);margin-bottom:10px}
.side-user strong{display:block;color:#fff;font-size:.98rem;margin-bottom:2px}
.side-link{font-size:.88rem;color:var(--gold-soft)}

.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:40;background:rgba(245,242,236,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px}
.topbar-left{display:flex;align-items:center;gap:14px;min-width:0}
.menu-btn{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer;box-shadow:var(--shadow-soft)}
.page-eyebrow{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);font-weight:700}
.page-title{font-family:'Playfair Display',serif;font-size:2rem;line-height:1.05;letter-spacing:-.03em;color:var(--text);margin-top:2px}
.page-sub{font-size:.92rem;color:var(--text-soft);margin-top:4px}
.topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.content{padding:26px 28px 40px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid transparent;font-weight:700;font-size:.92rem;cursor:pointer;transition:.15s transform,.15s box-shadow,.15s background}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--gold);color:var(--text);box-shadow:0 8px 20px rgba(201,168,76,.22)}
.btn-primary:hover{background:var(--gold-soft)}
.btn-secondary{background:#fff;color:var(--text);border-color:var(--line)}
.btn-secondary:hover{box-shadow:var(--shadow-soft)}
.btn-dark{background:var(--navy);color:#fff}
.btn-sm{min-height:38px;padding:0 12px;font-size:.85rem}

.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}
.metric{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 16px;box-shadow:var(--shadow-soft)}
.metric-label{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--text-soft);font-weight:700;margin-bottom:12px}
.metric-value{font-family:'Playfair Display',serif;font-size:2.1rem;line-height:1;color:var(--text)}
.metric-value.gold{color:var(--amber)}
.metric-value.green{color:var(--green)}
.metric-sub{font-size:.84rem;color:var(--text-soft);margin-top:8px}

.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.card.pad{padding:20px}
.card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}
.card-title{font-size:1.02rem;font-weight:700;color:var(--text)}
.card-copy{font-size:.88rem;color:var(--text-soft);line-height:1.55;margin-top:6px}
.card-body{padding:0}
.section-space{margin-top:18px}
.hero{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;overflow:hidden;position:relative}
.hero::after{content:"";position:absolute;inset:auto -50px -60px auto;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle, rgba(227,201,120,.35), rgba(227,201,120,0) 68%)}
.hero .card-title,.hero .card-copy{color:#fff}
.hero-copy{max-width:540px;padding:24px;position:relative;z-index:1}
.hero-copy .eyebrow{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.68);font-weight:700;margin-bottom:12px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse;min-width:640px}
.table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-soft);text-align:left;padding:14px 20px;border-bottom:1px solid var(--line)}
.table td{padding:16px 20px;border-bottom:1px solid #f0ebe3;font-size:.94rem;color:var(--text)}
.table tr:last-child td{border-bottom:none}
.table td.muted,.muted{color:var(--text-soft)}
.table a.link{color:var(--amber);font-weight:700}
.badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.badge-trial{background:#f7edd0;color:#926f16}
.badge-active{background:#eaf4ee;color:#2f7252}
.badge-stylist{background:#ebf0f8;color:#4b617e}
.badge-manager{background:#efe9f7;color:#715b8b}
.badge-owner{background:#f7efd8;color:#8b6a18}
.badge-superadmin{background:#f7e8d8;color:#8f5f17}

.list{display:flex;flex-direction:column}
.list-row{display:flex;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid #f0ebe3}
.list-row:last-child{border-bottom:none}
.list-title{font-weight:700;color:var(--text)}
.list-meta{font-size:.86rem;color:var(--text-soft);margin-top:4px}
.kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mini{padding:16px 16px 14px;background:var(--card-alt);border:1px solid var(--line);border-radius:14px}
.mini-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);font-weight:700}
.mini-value{font-size:1.25rem;font-weight:700;color:var(--text);margin-top:8px}
.progress{height:10px;background:#ebe4d8;border-radius:999px;overflow:hidden}
.progress-bar{height:10px;background:linear-gradient(90deg,var(--navy),#656f82);border-radius:999px}
.empty{padding:28px 20px;color:var(--text-soft);text-align:center}

.drawer-backdrop{display:none}
@media (max-width: 1024px){
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-2,.grid-3,.kpi-row{grid-template-columns:1fr}
}
@media (max-width: 860px){
  .sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .22s ease;z-index:120}
  .app.nav-open .sidebar{transform:translateX(0)}
  .drawer-backdrop{display:block;position:fixed;inset:0;background:rgba(23,24,28,.45);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:110}
  .app.nav-open .drawer-backdrop{opacity:1;pointer-events:auto}
  .menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .topbar-inner{padding:16px 18px}
  .content{padding:18px 18px 30px}
  .page-title{font-size:1.55rem}
}
@media (max-width: 560px){
  .metrics{grid-template-columns:1fr}
  .topbar-actions{width:100%;justify-content:stretch}
  .topbar-actions .btn{flex:1}
  .brand{padding:20px 18px 16px}
  .card-header,.hero-copy{padding:18px}
}


/* Premium consistency additions */
.card-body.padded{padding:20px}
.stack{display:grid;gap:18px}
.surface-soft{background:var(--card-alt);border:1px solid var(--line);border-radius:14px}
@media (max-width:560px){.card-body.padded{padding:18px}}


/* Quiz answer state contrast fix */
.answer-option{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:12px;
  width:100%;
  padding:16px 18px;
  border:1.5px solid var(--line);
  border-radius:16px;
  background:#ffffff;
  color:#0f172a;
  transition:all .18s ease;
}

.answer-option .answer-letter{
  flex:0 0 auto;
  width:32px;
  height:32px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:.9rem;
  background:#f8fafc;
  color:#334155;
  border:1px solid #dbe3ee;
}

.answer-option .answer-text{
  flex:1 1 auto;
  font-size:.98rem;
  line-height:1.5;
  color:inherit;
}

.answer-option.is-selected{
  border-color:#c9a84c;
  background:#fffdf7;
  box-shadow:0 0 0 3px rgba(201,168,76,.12);
}

.answer-option.is-correct{
  background:#f0fdf4;
  border:2px solid #16a34a;
  color:#14532d;
  box-shadow:0 0 0 3px rgba(22,163,74,.08);
}

.answer-option.is-correct .answer-letter{
  background:#dcfce7;
  border-color:#86efac;
  color:#166534;
}

.answer-option.is-incorrect{
  background:#fef2f2;
  border:2px solid #dc2626;
  color:#7f1d1d;
  box-shadow:0 0 0 3px rgba(220,38,38,.08);
}

.answer-option.is-incorrect .answer-letter{
  background:#fee2e2;
  border-color:#fca5a5;
  color:#991b1b;
}

.answer-option.is-correct .answer-text,
.answer-option.is-incorrect .answer-text,
.answer-option.is-correct .answer-letter,
.answer-option.is-incorrect .answer-letter{
  color:inherit;
}

.answer-option:hover{
  border-color:#cbd5e1;
  transform:translateY(-1px);
}

.answer-option:disabled,
.answer-option.is-locked{
  cursor:default;
}

@media (max-width: 560px){
  .answer-option{
    padding:14px 14px;
    gap:10px;
  }

  .answer-option .answer-letter{
    width:28px;
    height:28px;
    font-size:.82rem;
  }

  .answer-option .answer-text{
    font-size:.94rem;
  }
}

/* Phase 1 architecture + documentation */
.team-card-body{padding:20px}
.section-kicker{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);margin-bottom:10px}
.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px;flex-wrap:wrap}
.section-heading{font-family:'Playfair Display',serif;font-size:1.7rem;line-height:1.1;letter-spacing:-.03em;color:var(--text);margin:0 0 6px}
.section-copy{font-size:.96rem;color:var(--text-soft);max-width:760px}
.workspace-list{display:grid;gap:12px}
.workspace-list.compact{gap:10px}
.workspace-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-radius:18px;border:1px solid var(--line);background:#fff;text-decoration:none;transition:.18s ease;box-shadow:0 8px 24px rgba(15,23,42,.03)}
.workspace-item:hover{transform:translateY(-1px);border-color:#d4c28d;box-shadow:0 14px 34px rgba(15,23,42,.07)}
.workspace-item-title{font-weight:800;color:var(--text);font-size:1rem}
.workspace-item-copy{font-size:.9rem;color:var(--text-soft);line-height:1.55;margin-top:4px}
.workspace-arrow{font-size:1.15rem;color:var(--gold);flex:0 0 auto}
.workspace-stat-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.workspace-stat-row:last-child{border-bottom:none;padding-bottom:0}
.metric-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:#f8f7f2;border:1px solid var(--line);font-size:.82rem;font-weight:700;color:var(--text)}
.notice-card{padding:14px 16px;border-radius:14px;border:1px solid #eadfb7;background:#fffaf0;color:#6c5518;font-size:.92rem;line-height:1.55}
.notice-card.warn{border-color:#f5d8a8;background:#fff7ed;color:#9a5b13}
.academy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.academy-card{display:block;border:1px solid var(--line);border-radius:22px;padding:20px;background:linear-gradient(180deg,#fff 0%,#fffdf7 100%);text-decoration:none;box-shadow:0 12px 34px rgba(15,23,42,.05);transition:.18s ease}
.academy-card:hover{transform:translateY(-1px);border-color:#d7c793;box-shadow:0 18px 42px rgba(15,23,42,.08)}
.academy-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.academy-icon{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#fff3d5;border:1px solid #ebd59b;color:#8c6b1f}
.pill-tag{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:999px;background:#f8f7f2;border:1px solid var(--line);font-size:.76rem;font-weight:700;color:var(--text)}
.pill-tag.muted{font-weight:600;color:var(--text-soft)}
.academy-title{font-size:1.08rem;font-weight:800;color:var(--text);line-height:1.3}
.academy-meta{font-size:.82rem;color:var(--gold-dk);margin-top:6px}
.academy-copy{font-size:.92rem;color:var(--text-soft);line-height:1.58;margin-top:10px}
.path-grid{display:grid;gap:18px}
.path-card .card-header{align-items:flex-start}
.roadmap{display:grid;gap:14px}
.roadmap-step{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start}
.roadmap-marker{width:38px;height:38px;border-radius:14px;background:#fff3d5;border:1px solid #ebd59b;color:#7b6116;display:flex;align-items:center;justify-content:center;font-weight:800}
.roadmap-title{font-size:1rem;font-weight:800;color:var(--text);margin-bottom:8px}
.roadmap-list{padding-left:18px;color:var(--text-soft);font-size:.92rem;line-height:1.7}
.template-badges{display:flex;flex-wrap:wrap;gap:10px}
.doc-badge{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border-radius:999px;background:#f8fafc;border:1px solid #dde5ef;font-size:.8rem;font-weight:700;color:#334155}
.doc-template-list{display:grid;gap:10px}
.doc-template-btn{appearance:none;border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px;text-align:left;display:grid;gap:6px;cursor:pointer;transition:.18s ease;box-shadow:0 8px 24px rgba(15,23,42,.03)}
.doc-template-btn:hover,.doc-template-btn.active{border-color:#d4c28d;background:#fffdf7;box-shadow:0 14px 34px rgba(15,23,42,.08)}
.doc-template-title{font-size:1rem;font-weight:800;color:var(--text)}
.doc-template-copy{font-size:.88rem;line-height:1.55;color:var(--text-soft)}
.doc-field-list{padding-left:18px;color:var(--text-soft);display:grid;gap:6px;font-size:.92rem;line-height:1.6}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-group.full{grid-column:1/-1}
.lbl{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft)}
.input,.select{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font:inherit;color:var(--text);outline:none;min-height:48px}
.input:focus,.select:focus{border-color:var(--gold)}
@media (max-width: 980px){
  .academy-grid{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .team-card-body{padding:18px}
  .form-grid,.section-heading-row{grid-template-columns:1fr}
  .workspace-item{padding:14px 15px}
  .roadmap-step{grid-template-columns:32px 1fr;gap:12px}
  .roadmap-marker{width:32px;height:32px;border-radius:12px;font-size:.86rem}
}


/* Mobile app-like footer navigation */
@media (max-width: 760px){
  .main,
  .content{
    padding-bottom:92px;
  }

  .mobile-footer-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:60;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:6px;
    padding:10px 10px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(14px);
    border-top:1px solid #e7e2d8;
    box-shadow:0 -10px 24px rgba(15,23,42,.08);
  }

  .mobile-footer-link{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    min-height:54px;
    padding:6px 4px;
    border-radius:14px;
    text-decoration:none;
    color:#6b7280;
    font-size:.72rem;
    font-weight:700;
    line-height:1.1;
    transition:all .18s ease;
  }

  .mobile-footer-link:active{
    transform:scale(.98);
  }

  .mobile-footer-link.is-active{
    background:#f6efe0;
    color:#8b6f2d;
  }

  .mobile-footer-icon{
    width:20px;
    height:20px;
    line-height:1;
  }
}

@media (min-width: 761px){
  .mobile-footer-nav{
    display:none;
  }
}
