/**
 * AF1.0 Customer Portal — Stylesheet
 * AltenaSolutions.com
 */

/* Layout wraps */
.ac-wrap{max-width:860px;margin:0 auto;padding:var(--space-6) var(--space-4) 80px}
.ac-head{margin-bottom:var(--space-5)}
.ac-head h1{font-size:22px;font-weight:700;margin:0 0 var(--space-1)}
.ac-head p{font-size:var(--text-sm);color:var(--color-text-body);margin:0}

/* Grid: sidebar + main */
.ac-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:start}
.ac-grid2{display:grid;grid-template-columns:1fr;gap:var(--space-3)}

/* Sidebar nav */
.ac-nav{background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}
.ac-nav-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-neutral-444);text-decoration:none;border-bottom:1px solid var(--color-bg-soft);transition:background .1s}
.ac-nav-item:last-child{border-bottom:none}
.ac-nav-item:hover{background:var(--color-bg-muted);color:var(--color-text-dark)}
.ac-nav-item.active{background:var(--color-success-bg-soft);color:var(--color-success-text);font-weight:600}

/* Cards */
.ac-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;padding:var(--space-5);margin-bottom:var(--space-4)}
.ac-card h1{font-size:22px;font-weight:700;margin:0 0 var(--space-1)}
.ac-card h2{font-size:15px;font-weight:600;margin:0 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-bg-soft)}
.ac-sub{font-size:13px;color:var(--color-text-body);margin:0 0 var(--space-5)}

/* Forms */
.ac-field{margin-bottom:var(--space-3)}
.ac-field label{display:block;font-size:11px;font-weight:600;color:var(--color-neutral-666);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}
.ac-field input,.ac-field select,.ac-field textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-light);border-radius:var(--radius-base);font-size:var(--text-sm);font-family:inherit;color:var(--color-text-dark);box-sizing:border-box;outline:none}
.ac-field input:focus,.ac-field select:focus,.ac-field textarea:focus{border-color:var(--color-neutral-999);box-shadow:0 0 0 var(--space-1) rgba(0,0,0,.05)}
.ac-hint{font-size:11px;color:var(--color-text-body-alt);margin-top:var(--space-1)}
.ac-req{color:var(--color-red)}

/* Buttons */
.ac-btn{width:100%;padding:var(--space-3);background:var(--color-text-dark);color:var(--color-white);border:none;border-radius:9px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;margin-top:var(--space-1)}
.ac-btn:hover{background:var(--color-neutral-333)}
.ac-btn-red{background:var(--color-red)}.ac-btn-red:hover{background:var(--color-red-dark)}
.ac-btn-inline{width:auto;padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}

/* Alerts */
.ac-err{background:var(--color-danger-bg-soft);border:1px solid var(--color-red-light-border);border-radius:var(--radius-base);padding:var(--space-2) var(--space-3);font-size:13px;color:var(--color-red-dark);margin-bottom:var(--space-4)}
.ac-ok{background:var(--color-success-bg-soft);border:1px solid var(--color-success-border);border-radius:var(--radius-base);padding:var(--space-2) var(--space-3);font-size:13px;color:var(--color-success-text);margin-bottom:var(--space-4)}

/* Links */
.ac-links{display:flex;justify-content:space-between;margin-top:var(--space-4);font-size:13px}
.ac-links a{color:var(--color-text-muted);text-decoration:none}
.ac-links a:hover{color:var(--color-text-dark);text-decoration:underline}
.ac-sep{text-align:center;margin:var(--space-4) 0;font-size:var(--text-xs);color:var(--color-text-body);position:relative}
.ac-sep::before,.ac-sep::after{content:'';position:absolute;top:50%;width:40%;height:1px;background:var(--color-border)}
.ac-sep::before{left:0}.ac-sep::after{right:0}

/* 2FA code input */
.ac-code-input{width:100%;padding:var(--space-3);text-align:center;font-size:var(--text-xl);font-weight:700;letter-spacing:.2em;border:2px solid var(--color-border-light);border-radius:10px;font-family:monospace;box-sizing:border-box;outline:none}
.ac-code-input:focus{border-color:var(--color-text-dark)}
.qr-box{background:var(--color-bg-muted);border-radius:10px;padding:var(--space-4);text-align:center;margin-bottom:var(--space-4)}
.qr-secret{font-family:monospace;font-size:13px;letter-spacing:.08em;background:var(--color-white);border:1px solid var(--color-border);border-radius:6px;padding:var(--space-1) var(--space-2);display:inline-block;margin-top:var(--space-2)}

/* Stats */
.ac-stat{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-4)}
.ac-stat-box{background:var(--color-bg-muted);border-radius:10px;padding:var(--space-3);text-align:center}
.ac-stat-box .val{font-size:22px;font-weight:700}
.ac-stat-box .lbl{font-size:11px;color:var(--color-text-body);margin-top:2px}

/* Booking cards */
.bk-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;padding:var(--space-4) var(--space-4);margin-bottom:var(--space-3)}
.bk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap}
.bk-title{font-size:15px;font-weight:600}
.bk-badge{font-size:11px;font-weight:600;padding:var(--space-1) var(--space-2);border-radius:20px;white-space:nowrap}
.bk-meta{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-2);font-size:13px;color:var(--color-neutral-666)}
.bk-meta span::before{margin-right:var(--space-1)}
.bk-empty{background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:12px;padding:var(--space-6);text-align:center;color:var(--color-text-body)}

/* Responsive — mobile-first */
@media(min-width:480px){
  .ac-stat{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:768px){
  .ac-grid{grid-template-columns:220px 1fr}
  .ac-grid2{grid-template-columns:1fr 1fr}
}

/* ── Facturen (account-invoices.php) ─────────────────────────────── */
.inv-summary{display:flex;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-4) 0 var(--space-5)}
.inv-summary-item{padding:var(--space-4) var(--space-5);border-radius:var(--radius-base,8px);border:1px solid var(--cb);background:#fff;min-width:170px;display:flex;flex-direction:column;gap:4px}
.inv-summary-item--overdue{border-color:#dc2626;background:#fef2f2}
.inv-summary-item--open{border-color:#b45309;background:#fffbeb}
.inv-summary-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#666;font-weight:600}
.inv-summary-value{font-size:1.375rem;font-weight:700;color:#1a1f2e;font-variant-numeric:tabular-nums}
.inv-empty{text-align:center;padding:var(--space-7) var(--space-4);color:#666;background:#fafafa;border-radius:var(--radius-base,8px);border:1px dashed var(--cb)}
.inv-empty h3{margin:0 0 var(--space-2);font-size:1.125rem;color:#1a1f2e}

.inv-table{
  width:100%;border-collapse:separate;border-spacing:0;
  font-size:.9375rem;background:#fff;
  border:1px solid var(--cb);border-radius:var(--radius-base,8px);
  overflow:hidden;margin-top:var(--space-4)
}
.inv-table thead{background:#f8f7f3}
.inv-table th{
  padding:var(--space-4) var(--space-4);
  font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#666;
  text-align:left;border-bottom:1px solid var(--cb);white-space:nowrap
}
.inv-table td{
  padding:var(--space-4);
  border-bottom:1px solid var(--cb);text-align:left;vertical-align:middle;
  line-height:1.5
}
.inv-table tbody tr:last-child td{border-bottom:none}
.inv-table tbody tr:hover td{background:#fcfbf8}
.inv-col-right{text-align:right}

.inv-cell-nr{font-variant-numeric:tabular-nums;min-width:140px}
.inv-nr-link{
  display:inline-flex;align-items:center;gap:8px;
  text-decoration:none;color:var(--p);font-weight:600;
  padding:6px 10px;margin:-6px -10px;border-radius:6px;
  transition:background .15s,color .15s
}
.inv-nr-link:hover{background:rgba(61,175,255,.08);color:var(--pd,#1a78b8)}
.inv-nr-link:hover .inv-dl-icon{transform:translateY(1px)}
.inv-dl-icon{flex-shrink:0;transition:transform .15s ease;color:var(--p);opacity:.85}
.inv-nr-text{color:#999;font-weight:600}

.inv-amount{font-variant-numeric:tabular-nums;font-weight:600;color:#1a1f2e;white-space:nowrap}

.inv-badge{
  display:inline-flex;align-items:center;
  font-size:.75rem;font-weight:600;
  padding:.25rem .7rem;border-radius:999px;border:1px solid;line-height:1.3;
  white-space:nowrap
}
.inv-paid-date{display:block;font-size:.6875rem;color:#666;margin-top:4px}

@media (max-width:720px){
  .inv-table{border:none;background:transparent}
  .inv-table thead{display:none}
  .inv-table tbody{display:flex;flex-direction:column;gap:var(--space-3)}
  .inv-table tr{
    display:grid;grid-template-columns:auto 1fr;gap:8px var(--space-3);
    background:#fff;border:1px solid var(--cb);border-radius:var(--radius-base,8px);
    padding:var(--space-4)
  }
  .inv-table td{border:none;padding:0}
  .inv-table td.inv-cell-nr{grid-column:1 / -1;font-size:1rem;margin-bottom:4px}
  .inv-table td:not(.inv-cell-nr)::before{
    content:attr(data-label);color:#888;font-size:.75rem;
    text-transform:uppercase;letter-spacing:.05em
  }
  .inv-col-right{text-align:left}
}
