.btn{border:0;border-radius:12px;padding:.78rem 1rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 18px rgba(19,168,158,.2)}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--surface);border:1px solid var(--border)}.btn-ghost{background:transparent;color:var(--muted)}.btn-google{background:#fff;border:1px solid var(--border)}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:1.25rem}.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.card-header h2{margin:0;font-size:1.05rem}.card-header p{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.alert{border-radius:12px;padding:.85rem 1rem;margin-bottom:1rem}.alert-danger{background:#fff1f1;color:#9f2d2d}.status-badge{padding:.42rem .65rem;border-radius:999px;font-size:.78rem;font-weight:800}.status-info{background:#edf4ff;color:var(--info)}.status-success{background:#eaf8f1;color:var(--success)}.empty-state{padding:4rem 2rem;text-align:center;color:var(--muted)}.empty-state h2{color:var(--text);margin-bottom:.5rem}.empty-icon{font-size:3rem}.form-stack{display:grid;gap:1rem}.form-stack label{display:grid;gap:.45rem;color:#374151;font-weight:600;font-size:.9rem}.form-stack input{border:1px solid var(--border);border-radius:12px;padding:.85rem .9rem;outline:none}.form-stack input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.divider{display:flex;align-items:center;gap:.7rem;color:var(--muted);margin:1.2rem 0}.divider:before,.divider:after{content:"";height:1px;background:var(--border);flex:1}.text-link{color:var(--primary-dark);font-weight:700;font-size:.9rem}


.alert-success { background: #eaf8f1; color: #166b48; }
.btn-small { padding: .5rem .7rem; font-size: .82rem; }

.toolbar { display:flex; gap:.75rem; align-items:center; margin-bottom:1rem; }
.search-box { flex:1; display:flex; gap:.6rem; align-items:center; border:1px solid var(--border); background:var(--surface-soft); border-radius:12px; padding:.65rem .8rem; }
.search-box input { flex:1; border:0; outline:0; background:transparent; }

.table-wrap { overflow-x:auto; }
.modern-table { width:100%; border-collapse:collapse; }
.modern-table th { text-align:left; font-size:.75rem; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; padding:.8rem; border-bottom:1px solid var(--border); }
.modern-table td { padding:.9rem .8rem; border-bottom:1px solid var(--border); vertical-align:middle; }
.modern-table tr:hover td { background:var(--surface-soft); }
.entity-cell { display:flex; align-items:center; gap:.75rem; }
.entity-cell small { display:block; color:var(--muted); margin-top:.2rem; }
.table-actions { text-align:right; white-space:nowrap; }
.compact-empty { padding:1.25rem; color:var(--muted); text-align:center; background:var(--surface-soft); border-radius:12px; }

.environment-page { width:min(1000px,calc(100% - 2rem)); margin:6vh auto; }
.environment-heading { text-align:center; margin-bottom:2rem; }
.environment-heading .auth-logo { margin:0 auto; }
.environment-heading h1 { margin:1rem 0 .4rem; font-size:2.2rem; }
.environment-heading p { color:var(--muted); }
.environment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.environment-grid form { min-width:0; }
.environment-card { width:100%; min-height:220px; background:white; border:1px solid var(--border); border-radius:22px; box-shadow:var(--shadow-card); padding:1.4rem; text-align:left; display:flex; flex-direction:column; transition:.2s ease; }
.environment-card:hover { transform:translateY(-4px); border-color:var(--primary); }
.environment-card-icon { font-size:2.4rem; margin-bottom:auto; }
.environment-card strong { font-size:1.15rem; margin-top:1rem; }
.environment-card small { color:var(--muted); margin-top:.3rem; }
.environment-card-action { color:var(--primary-dark); font-weight:800; margin-top:1rem; }

@media (max-width:760px) {
    .environment-grid { grid-template-columns:1fr; }
    .toolbar { align-items:stretch; flex-direction:column; }
}


.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.2rem}.page-heading h1{margin:.2rem 0;font-size:1.8rem}.page-heading p{margin:.2rem 0;color:var(--muted)}.eyebrow{color:var(--primary-dark);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:1rem}.modal.is-open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(3px)}.modal-dialog{position:relative;z-index:1;width:min(620px,100%);max-height:calc(100vh - 2rem);overflow:auto;background:var(--surface);border-radius:20px;box-shadow:0 30px 80px rgba(15,23,42,.25)}.modal-lg{width:min(900px,100%)}.modal-xl{width:min(1100px,100%)}.modal-header,.modal-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.3rem;border-bottom:1px solid var(--border)}.modal-footer{justify-content:flex-end;border-top:1px solid var(--border);border-bottom:0}.modal-body{padding:1.3rem}.modal-close{border:0;background:var(--surface-soft);border-radius:12px;width:38px;height:38px;font-size:1.3rem}.modal-open{overflow:hidden}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-grid label{display:grid;gap:.4rem}.form-grid label>span,.field-label{font-size:.82rem;font-weight:750}.form-grid input,.form-grid select,.form-grid textarea,.toolbar select{width:100%;border:1px solid var(--border);border-radius:12px;padding:.78rem .85rem;background:var(--surface);outline:none}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.field-full{grid-column:1/-1}.btn-danger-soft{background:#fff0f0;color:#b43434}.btn-sm{padding:.48rem .65rem;font-size:.78rem}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1rem}.metric-card span{color:var(--muted);font-size:.78rem}.metric-card strong{display:block;margin-top:.25rem;font-size:1.4rem}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.soft-panel{background:var(--surface-soft);border:1px solid var(--border);border-radius:14px;padding:1rem}.stack{display:grid;gap:1rem}.inline-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.status-neutral{background:#f1f5f9;color:#64748b}.clinical-checkboxes{display:flex;gap:1rem;flex-wrap:wrap}.clinical-checkboxes label{display:flex;gap:.35rem;align-items:center}.clinical-checkboxes input{width:auto}.section-helper{color:var(--muted);font-size:.8rem}.text-muted{color:var(--muted)}.mt-1{margin-top:1rem}.mb-1{margin-bottom:1rem}@media(max-width:850px){.cards-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.form-grid,.cards-grid,.metric-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.page-heading{flex-direction:column}}
