@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --void:#000; --near-black:#070707; --pine:#081915;
  --mint:#3FB587; --mint-tint:#EAF7F1; --mint-border:#BFE6D5;
  --berntech:#1A6433; --berntech-light:#2C8C4C;
  --paper:#FFFFFF; --page-bg:#F5F7F5;
  --ink:#0C201A; --body-text:#2B342F; --gray:#65706B; --gray-dim:#8A938F;
  --display:'Space Grotesk',sans-serif; --body:'IBM Plex Sans',sans-serif; --mono:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--page-bg);color:var(--body-text);font-family:var(--body);line-height:1.55;}
h1,h2,h3{font-family:var(--display);color:var(--ink);margin:0 0 12px;}
a{color:var(--berntech);}
.container{max-width:960px;margin:0 auto;padding:0 24px;}
.topbar{background:var(--void);color:#F2F3F0;padding:16px 0;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;}
.topbar .brand{font-family:var(--display);font-weight:700;font-size:15px;}
.topbar nav a{color:#B7C2BC;font-family:var(--mono);font-size:12px;margin-left:20px;text-decoration:none;}
.topbar nav a:hover{color:var(--mint);}
.card{background:var(--paper);border:1.5px solid var(--mint-border);border-radius:10px;padding:36px;margin:32px 0;box-shadow:0 20px 50px -30px rgba(26,100,51,0.18);}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--berntech);margin-bottom:14px;}
label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--gray);margin:16px 0 6px;}
input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{
  width:100%;padding:11px 13px;border:1px solid var(--mint-border);border-radius:5px;font-family:var(--body);font-size:14px;background:#fff;color:var(--ink);
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--berntech);}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12.5px;padding:12px 20px;border-radius:4px;border:1px solid transparent;cursor:pointer;text-decoration:none;}
.btn-primary{background:var(--berntech);color:#fff;font-weight:600;}
.btn-primary:hover{background:var(--berntech-light);}
.btn-ghost{border-color:var(--mint-border);color:var(--berntech);background:transparent;}
.btn-ghost:hover{background:var(--mint-tint);}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}
@media(max-width:700px){.grid-2,.grid-3{grid-template-columns:1fr;}}
table{width:100%;border-collapse:collapse;font-size:13.5px;}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--mint-border);}
th{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--gray);}
.badge{font-family:var(--mono);font-size:10.5px;padding:3px 9px;border-radius:20px;display:inline-block;}
.badge-pending{background:#FFF3D6;color:#8A6300;}
.badge-approved{background:var(--mint-tint);color:var(--berntech);}
.badge-rejected{background:#FBE4DE;color:#B3452C;}
.flash-error{background:#FBE4DE;border:1px solid #E9B7A6;color:#8A3A24;padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:13.5px;}
.flash-success{background:var(--mint-tint);border:1px solid var(--mint-border);color:var(--berntech);padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:13.5px;}
.stat-card{border:1px solid var(--mint-border);border-radius:6px;padding:18px;background:var(--mint-tint);text-align:center;}
.stat-card .num{font-family:var(--display);font-size:28px;color:var(--berntech);}
.stat-card .lbl{font-family:var(--mono);font-size:10px;color:var(--gray);margin-top:4px;}
.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:14px;}
.status-cell{border:1px solid var(--mint-border);border-radius:6px;padding:12px;text-align:center;background:var(--mint-tint);min-width:0;}
.status-num{font-family:var(--display);font-size:20px;color:var(--berntech);}
.status-label{font-family:var(--mono);font-size:9.5px;color:var(--gray);text-transform:uppercase;letter-spacing:.03em;margin-top:4px;word-break:break-word;line-height:1.4;}
.tab-nav{display:flex;gap:4px;border-bottom:1px solid var(--mint-border);margin-bottom:26px;flex-wrap:wrap;}
.tab-btn{font-family:var(--mono);font-size:12px;padding:12px 18px;border:none;background:none;cursor:pointer;color:var(--gray);border-bottom:2px solid transparent;text-decoration:none;display:inline-block;}
.tab-btn.active{color:var(--berntech);border-bottom-color:var(--berntech);font-weight:600;}
.tab-btn:disabled{cursor:default;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.rating-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--mint-border);}
.rating-scale{display:flex;gap:6px;flex-wrap:wrap;}
.rating-scale button{width:30px;height:30px;border-radius:50%;border:1px solid var(--mint-border);background:#fff;cursor:pointer;font-family:var(--mono);font-size:12px;}
.rating-scale button.selected{background:var(--berntech);color:#fff;border-color:var(--berntech);}
.na-btn{padding:0 10px;height:30px;border-radius:15px;border:1px solid var(--mint-border);background:#fff;cursor:pointer;font-family:var(--mono);font-size:10.5px;color:var(--gray);}
.na-btn.selected{background:var(--gray-dim);color:#fff;border-color:var(--gray-dim);}
.progress-bar{height:6px;background:var(--mint-tint);border-radius:3px;overflow:hidden;margin-bottom:24px;}
.progress-bar .fill{height:100%;background:var(--mint);}

.question-block{padding:20px 0;border-bottom:1px solid var(--mint-border);}
.question-block:last-child{border-bottom:none;}
.question-text{font-size:14.5px;color:var(--ink);margin-bottom:10px;font-weight:500;}
.scale-hint{font-size:12px;color:var(--gray);text-decoration:underline;text-decoration-color:var(--mint-border);text-underline-offset:3px;margin-bottom:12px;line-height:1.5;}
.choice-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;}
.choice-option{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--body-text);cursor:pointer;padding:8px 12px;border:1px solid var(--mint-border);border-radius:6px;transition:border-color .15s,background .15s;}
.choice-option:hover{border-color:var(--berntech);}
.choice-option.selected{border-color:var(--berntech);background:var(--mint-tint);}
.choice-option input{margin-top:2px;width:auto;}
.comment-field{margin-top:10px;}
.comment-field textarea{font-size:13px;}
.chapter-nav{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:20px;border-top:1px solid var(--mint-border);}
.chapter-pills{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:20px;}
.chapter-pill{width:9px;height:9px;border-radius:50%;background:var(--mint-border);}
.chapter-pill.done{background:var(--mint);}
.chapter-pill.current{background:var(--berntech);width:12px;height:12px;}
.review-section{margin-bottom:30px;}
.review-question{padding:12px 0;border-bottom:1px solid var(--mint-border);font-size:13.5px;}
.review-answer{color:var(--berntech);font-weight:600;margin-top:4px;}
.review-comment{color:var(--gray);font-style:italic;margin-top:4px;font-size:12.5px;}
.review-na{color:var(--gray-dim);font-style:italic;}
.unanswered{color:#B3452C;font-weight:600;}
