:root{--brand:#2f7a4f;--brand-dark:#1f5536;--bg:#f7f9f7;--text:#1c231d;--card:#fff;--border:#dbe4dc;--danger:#b3261e;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--brand-dark)}.app-shell{min-height:100vh;display:flex}.app-nav{background:var(--brand-dark);color:#fff;flex-shrink:0;width:220px;padding:1rem}.app-nav a{color:#e7f1ea;padding:.4rem 0;text-decoration:none;display:block}.app-nav a:hover,.app-nav a.active{text-decoration:underline}.app-main{flex:1;max-width:960px;padding:1.5rem 2rem}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;padding:1rem 1.25rem}button,input[type=submit]{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:1rem}button:hover{background:var(--brand-dark)}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{border:1px solid var(--border);border-radius:6px;width:100%;padding:.45rem .6rem;font-size:1rem}label{margin-bottom:.75rem;font-size:.9rem;font-weight:600;display:block}label>input,label>textarea,label>select{margin-top:.25rem;font-weight:400}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.4rem .5rem}.error{color:var(--danger)}.badge{background:#e7f1ea;border-radius:999px;padding:.1rem .5rem;font-size:.75rem;display:inline-block}.badge-ideal{color:#1f5536;background:#dcf3e2}.badge-below{color:#9a4a00;background:#fde8d8}.badge-above{color:#b3261e;background:#fbdada}.badge-muted{color:#667;background:#eee}fieldset legend{padding:0 .4rem;font-weight:600}.tabs{gap:.5rem;margin-bottom:1rem;display:flex}.tabs button{color:var(--brand-dark);background:#e7f1ea}.tabs button.active{background:var(--brand);color:#fff}.secure-video video,.secure-video iframe{border-radius:8px;width:100%}.video-state{text-align:center;background:#eee;border-radius:8px;padding:2rem}.disclaimer{background:#fff7e0;border:1px solid #e6cf8f;border-radius:8px;padding:.75rem 1rem;font-size:.9rem}.print-header{margin-bottom:1rem}.print-header h2{color:var(--brand-dark);margin:0 0 .5rem}.print-footer{border-top:1px solid var(--border);text-align:center;color:#667;margin-top:1.5rem;padding-top:.75rem;font-size:.8rem}@media print{body *{visibility:hidden}#print-area,#print-area *{visibility:visible}#print-area{width:100%;box-shadow:none;border:none;margin:0;padding:.5in;position:absolute;top:0;left:0}.no-print,.app-nav{display:none!important}.app-main{max-width:none;padding:0}}
