/* Partner Portal CSS — matches ACSDHR CMS design */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:'Inter',-apple-system,sans-serif;font-size:15px;line-height:1.65;color:#2A3A40;background:#F4F7F6}
h1,h2,h3,h4{font-family:'Plus Jakarta Sans',sans-serif;color:#0F2417;margin:0 0 .5em}
a{color:#1B5E20;text-decoration:none}
a:hover{color:#0F3B14}
.container{max-width:1100px;margin:0 auto;padding:0 24px}
/* Portal header */
.portal-header{background:#0F2417;color:#fff;padding:14px 0;position:sticky;top:0;z-index:100}
.portal-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.portal-header__brand{display:flex;align-items:center;gap:10px;color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:18px}
.portal-header__nav{display:flex;gap:6px;flex-wrap:wrap}
.portal-header__nav a{color:rgba(255,255,255,.85);padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500}
.portal-header__nav a:hover,.portal-header__nav a.is-active{background:rgba(212,160,23,.2);color:#D4A017}
.portal-header__user{display:flex;align-items:center;gap:10px;font-size:13px}
.portal-header__user a{color:#D4A017}
/* Cards */
.card{background:#fff;border:1px solid #E2E8E5;border-radius:12px;padding:24px;margin-bottom:20px}
.card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #F0F4F2}
.card__title{margin:0;font-size:1.1rem}
/* Forms */
label{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:#0F2417}
label .req{color:#C53030}
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],input[type=number],select,textarea{
  width:100%;padding:10px 14px;border:1px solid #C5D5C9;border-radius:8px;font-family:inherit;font-size:14px;background:#fff;color:#0F2417}
input:focus,select:focus,textarea:focus{outline:none;border-color:#1B5E20;box-shadow:0 0 0 3px rgba(27,94,32,.15)}
textarea{min-height:100px;resize:vertical}
.form-row{display:grid;gap:16px;grid-template-columns:1fr 1fr}
.form-group{margin-bottom:16px}
.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;border:1px solid transparent;cursor:pointer;text-decoration:none;font-family:inherit;transition:all .15s}
.btn--primary{background:#1B5E20;color:#fff}.btn--primary:hover{background:#0F3B14}
.btn--accent{background:#D4A017;color:#0F2417}.btn--accent:hover{background:#C19114}
.btn--ghost{background:transparent;color:#1B5E20;border-color:#C5D5C9}.btn--ghost:hover{background:#F2F5F4}
.btn--danger{background:#C53030;color:#fff}.btn--danger:hover{background:#A02626}
.btn--sm{padding:6px 14px;font-size:13px}
.btn--lg{padding:12px 28px;font-size:15px}
/* Tables */
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th{text-align:left;padding:10px 14px;background:#F7F9F8;font-weight:600;color:#5C6E73;text-transform:uppercase;font-size:11px;letter-spacing:.06em;border-bottom:1px solid #E2E8E5}
.table td{padding:12px 14px;border-bottom:1px solid #F0F4F2}
.table tr:hover td{background:#FAFCFB}
/* Badges */
.badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.badge-pending{background:#FDF6E3;color:#8A6D1F}.badge-active{background:#EAF2EC;color:#1B5E20}
.badge-suspended{background:#FBEAEA;color:#C53030}
/* Alerts */
.alert{padding:14px 18px;border-radius:8px;margin-bottom:16px;font-size:14px;border-left:4px solid}
.alert-success{background:#EAF2EC;color:#1B5E20;border-color:#1B5E20}
.alert-error{background:#FBEAEA;color:#C53030;border-color:#C53030}
.alert-warning{background:#FDF6E3;color:#8A6D1F;border-color:#D4A017}
.alert-info{background:#E8F2F6;color:#1B5E78;border-color:#1B5E78}
/* Announcement banner */
.announcement{background:#FDF6E3;border:1px solid #E8D5A0;border-radius:10px;padding:16px 20px;margin-bottom:24px}
.announcement h4{margin:0 0 6px;color:#8A6D1F;font-size:14px;text-transform:uppercase;letter-spacing:.05em}
.announcement p{margin:0;color:#5C4A1F;line-height:1.6}
/* Login/register page */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1B5E20 0%,#0F3B14 60%,#0A2A0E 100%);padding:24px}
.auth-card{background:#fff;border-radius:18px;width:100%;max-width:460px;padding:36px;box-shadow:0 20px 60px rgba(15,36,23,.3)}
.auth-card__brand{text-align:center;margin-bottom:24px}
.auth-card__brand h1{margin:14px 0 4px;font-size:1.4rem}
.auth-card__brand p{margin:0;color:#5C6E73;font-size:13px}
.auth-card__footer{text-align:center;margin-top:18px;font-size:13px;color:#5C6E73}
/* Dashboard stats */
.stats-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:24px}
.stat{background:#fff;border:1px solid #E2E8E5;border-radius:10px;padding:18px;display:flex;align-items:center;gap:14px}
.stat__icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;background:#EAF2EC;color:#1B5E20}
.stat__value{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;font-weight:800;color:#0F2417;line-height:1}
.stat__label{font-size:12px;color:#5C6E73;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}
/* Responsive */
@media(max-width:768px){
  .portal-header__nav{display:none}
  .form-row{grid-template-columns:1fr}
  .container{padding:0 16px}
}
