/* ═══════════════════════════════════════════════════════════════
   GRIA PORTAL — Dark-first theme adaptation
   Replaces portal.css, reception.css, admin.css from GRIA plugin
═══════════════════════════════════════════════════════════════ */

/* ─── GRIA Dashboard Shell ─── */
.gria-dashboard,
.gria-reception-dashboard,
.gria-settings {
    background: var(--bg-1);
    color: var(--txt-1);
    font-family: var(--f-body);
    min-height: 100vh;
}

/* ─── GRIA Header ─── */
.gria-header {
    padding: var(--sp-5) var(--sp-6);
    background: var(--bg-0);
    border-bottom: 1px solid var(--bdr-1);
    color: var(--txt-0);
    border-radius: 0;
}
.gria-header h1, .gria-header h2 {
    font-family: var(--f-display);
    color: var(--txt-0);
}

/* ─── GRIA Cards ─── */
.gria-card, .gria-panel,
.gria-stat-card, .stat-card,
.lead-card, .portal-card {
    background: var(--bg-2);
    border: 1px solid var(--bdr-1);
    border-radius: var(--r-lg);
    padding: var(--sp-5);
    box-shadow: var(--shadow-md);
    transition: box-shadow var(--dur) var(--ease);
    color: var(--txt-1);
}
.gria-card:hover, .lead-card:hover {
    box-shadow: var(--shadow-lg);
}

/* ─── GRIA Tables ─── */
.gria-table, .leads-table, .portal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--fs-sm);
}
.gria-table th, .leads-table th, .portal-table th {
    background: var(--bg-3);
    color: var(--txt-2);
    font-size: var(--fs-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: var(--ls-wide);
    padding: var(--sp-3) var(--sp-4);
    border-bottom: 1px solid var(--bdr-2);
    text-align: left;
}
.gria-table td, .leads-table td, .portal-table td {
    padding: var(--sp-3) var(--sp-4);
    border-bottom: 1px solid var(--bdr-0);
    color: var(--txt-1);
}
.gria-table tr:hover td, .leads-table tr:hover td {
    background: var(--bg-3);
}

/* ─── GRIA Forms ─── */
.gria-settings input[type="text"],
.gria-settings input[type="email"],
.gria-settings input[type="password"],
.gria-settings input[type="number"],
.gria-settings input[type="url"],
.gria-settings select,
.gria-settings textarea,
.gria-form input, .gria-form select, .gria-form textarea,
.portal-form input, .portal-form select, .portal-form textarea {
    background: var(--input-bg);
    border: 1.5px solid var(--input-bdr);
    border-radius: var(--r-md);
    color: var(--txt-0);
    padding: var(--sp-3) var(--sp-4);
    font-size: var(--fs-sm);
    font-family: var(--f-body);
    transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
    width: 100%;
}
.gria-settings input:focus, .gria-form input:focus,
.portal-form input:focus, .gria-settings select:focus {
    outline: none;
    border-color: var(--input-focus);
    box-shadow: 0 0 0 3px var(--accent-bg);
}

/* ─── GRIA Buttons ─── */
.gria-btn, .portal-btn,
.gria-settings .button, .gria-settings .button-primary {
    display: inline-flex; align-items: center; gap: var(--sp-2);
    padding: var(--sp-3) var(--sp-5);
    border-radius: var(--r-md);
    font-size: var(--fs-sm); font-weight: 600; font-family: var(--f-body);
    cursor: pointer; border: none;
    transition: all var(--dur) var(--ease);
}
.gria-btn-primary, .portal-btn-primary,
.gria-settings .button-primary {
    background: var(--accent); color: #fff;
}
.gria-btn-primary:hover, .portal-btn-primary:hover {
    background: var(--accent-h);
}

/* ─── GRIA Status Badges ─── */
.gria-badge, .lead-status, .status-badge {
    display: inline-flex; align-items: center;
    padding: 2px var(--sp-3);
    border-radius: var(--r-full);
    font-size: var(--fs-xs); font-weight: 600;
    letter-spacing: var(--ls-wide);
}
.gria-badge--success, .status-active { background: var(--green-bg); color: var(--green-ok); }
.gria-badge--warning { background: var(--gold-bg); color: var(--gold); }
.gria-badge--danger { background: var(--red-bg); color: var(--red); }

/* ─── GRIA Navigation / Tabs ─── */
.gria-tabs, .portal-tabs {
    display: flex; gap: var(--sp-1);
    border-bottom: 1px solid var(--bdr-1);
    padding-bottom: 0;
    margin-bottom: var(--sp-5);
}
.gria-tab, .portal-tab {
    padding: var(--sp-3) var(--sp-5);
    font-size: var(--fs-sm); font-weight: 500;
    color: var(--txt-2); cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: all var(--dur) var(--ease);
}
.gria-tab:hover, .portal-tab:hover { color: var(--txt-0); }
.gria-tab.active, .portal-tab.active {
    color: var(--gold);
    border-bottom-color: var(--gold);
}

/* ─── GRIA Stat Cards ─── */
.gria-stats-grid, .stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--sp-4);
}
.gria-stat-card .stat-number, .stat-card .stat-number {
    font-family: var(--f-display);
    font-size: var(--fs-2xl);
    color: var(--txt-0);
    line-height: 1;
}
.gria-stat-card .stat-label, .stat-card .stat-label {
    font-size: var(--fs-xs);
    color: var(--txt-3);
    text-transform: uppercase;
    letter-spacing: var(--ls-wide);
    margin-top: var(--sp-2);
}

/* ─── WP Admin Overrides (Bridge + GRIA settings pages) ─── */
.wrap .gria-admin-page,
.wrap .bridge-admin-page {
    background: var(--bg-1);
    padding: var(--sp-5);
    border-radius: var(--r-lg);
}

/* ═══════════════════════════════════════════════════════════════
   GP-* MANAGEMENT PORTAL CLASSES
   Maps --gp-* aliases to theme tokens so the management portal
   renders correctly without needing the plugin's portal.css.
═══════════════════════════════════════════════════════════════ */

/* ── Variable aliases ──────────────────────────────────────────── */
:root,
[data-theme="dark"] {
    --gp-bg0:      var(--bg-0);
    --gp-bg1:      var(--bg-1);
    --gp-bg2:      var(--bg-2);
    --gp-bg3:      var(--bg-3);
    --gp-bg4:      var(--bg-4);
    --gp-border0:  var(--bdr-0);
    --gp-border1:  var(--bdr-1);
    --gp-border2:  var(--bdr-2);
    --gp-border3:  var(--bdr-3);
    --gp-text:     var(--txt-0);
    --gp-text1:    var(--txt-1);
    --gp-text2:    var(--txt-2);
    --gp-muted:    var(--txt-3);
    --gp-green:    var(--accent);
    --gp-green-h:  var(--accent-h);
    --gp-green-bg: var(--accent-bg);
    --gp-gold:     var(--gold);
    --gp-gold-h:   #e2b530;
    --gp-gold-bg:  var(--gold-bg);
    --gp-red:      var(--red);
    --gp-red-bg:   var(--red-bg);
    --gp-blue:     #5a9fd4;
    --gp-blue-bg:  rgba(90,159,212,0.10);
    --gp-pink:     #d472a0;
    --gp-pink-bg:  rgba(212,114,160,0.10);
    --gp-surf2:    var(--bg-3);
    --gp-mono:     var(--f-mono);
    --gp-serif:    var(--f-display);
    --gp-sans:     var(--f-body);
    --gp-input-bg: var(--input-bg);
    --gp-input-bdr:var(--input-bdr);
    --gp-radius:   var(--r-md);
    --gp-dur:      var(--dur);
}
[data-theme="light"] {
    --gp-blue:    #2e7ab8;
    --gp-blue-bg: rgba(46,122,184,0.08);
    --gp-pink:    #b8447a;
    --gp-pink-bg: rgba(184,68,122,0.08);
    --gp-gold-h:  var(--gold);
}

/* ── Portal shell ─────────────────────────────────────────────── */
.gria-portal-wrap { font-family:var(--f-body); background:var(--bg-1); color:var(--txt-1); min-height:100vh; }

/* ── Top nav ──────────────────────────────────────────────────── */
.gp-topnav { display:flex; align-items:center; background:var(--bg-0);
              border-bottom:1px solid var(--bdr-1); padding:0 20px;
              height:52px; position:sticky; top:0; z-index:100; }
.gp-tn-left  { display:flex; align-items:center; gap:14px; }
.gp-tn-brand { display:flex; align-items:center; gap:10px; }
.gp-tn-mark  { width:30px; height:30px; background:var(--accent); border-radius:6px;
                display:flex; align-items:center; justify-content:center;
                font-family:var(--f-display); font-size:17px; color:#fff; flex-shrink:0; }
.gp-tn-firm  { font-family:var(--f-display); font-size:15px; font-style:italic;
                color:var(--txt-0); }
.gp-tn-nav   { display:flex; align-items:center; gap:2px; margin-left:24px; flex:1; }
.gp-tn-link  { font-size:13px; font-weight:500; color:var(--txt-2); padding:6px 12px;
                border-radius:6px; white-space:nowrap; text-decoration:none;
                transition:color var(--dur), background var(--dur); }
.gp-tn-link:hover { color:var(--txt-0); background:var(--bdr-1); }
.gp-tn-link.on { color:var(--gold); background:var(--gold-bg); }
.gp-tn-badge { display:inline-flex; align-items:center; justify-content:center;
                background:var(--red); color:#fff; font-size:10px; font-weight:700;
                min-width:16px; height:16px; border-radius:9999px; padding:0 4px; margin-left:4px; }
.gp-tn-right { display:flex; align-items:center; gap:12px; margin-left:auto; }
.gp-tn-status{ display:flex; align-items:center; gap:5px; font-size:12px; color:var(--txt-2); }
.gp-live-dot { width:7px; height:7px; background:var(--accent); border-radius:50%;
                animation:gpPulse 2s infinite; }
@keyframes gpPulse { 0%,100%{box-shadow:0 0 0 0 rgba(42,107,66,.6)} 50%{box-shadow:0 0 0 4px rgba(42,107,66,0)} }
.gp-tn-date  { font-size:12px; color:var(--txt-3); }
.gp-tn-user  { display:flex; align-items:center; gap:8px; }
.gp-tn-avatar{ width:28px; height:28px; border-radius:50%; background:var(--accent); color:#fff;
                font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.gp-tn-uname { font-size:13px; font-weight:600; color:var(--txt-0); line-height:1.2; }
.gp-tn-urole { font-size:11px; color:var(--txt-3); }
.gp-tn-logout{ font-size:12px; color:var(--txt-2); text-decoration:none; padding:5px 10px;
                border:1px solid var(--bdr-2); border-radius:6px; transition:all var(--dur); }
.gp-tn-logout:hover { color:var(--red); border-color:var(--red); }
.gp-hamburger { display:none; background:none; border:none; cursor:pointer;
                 flex-direction:column; gap:4px; padding:4px; }
.gp-hamburger span { display:block; width:20px; height:2px; background:var(--txt-2); border-radius:2px; }

/* ── Layout ───────────────────────────────────────────────────── */
.gp-mgmt-wrap { display:flex; flex-direction:column; min-height:100vh; }
.gp-main      { flex:1; padding:24px; max-width:1300px; margin:0 auto; width:100%; }

/* ── Pipeline cards — KEY FIX: labels always visible ─────────── */
.gp-pipeline-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:10px; }
.gp-pipe-card { display:flex; flex-direction:column; align-items:center; justify-content:center;
                 gap:6px; padding:18px 10px; background:var(--bg-2);
                 border:1px solid var(--bdr-1); border-top:3px solid var(--sc,var(--accent));
                 border-radius:10px; text-decoration:none; transition:transform .15s, box-shadow .15s; }
.gp-pipe-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-lg); }
.gp-pipe-icon  { font-size:26px; line-height:1; }
.gp-pipe-count { font-size:28px; font-weight:700; font-family:var(--f-display);
                  color:var(--sc,var(--accent)); line-height:1; }
.gp-pipe-label { font-size:11px; font-weight:700; text-transform:uppercase;
                  letter-spacing:.07em; color:var(--txt-2);
                  text-align:center; line-height:1.3; }

/* ── Stats row ────────────────────────────────────────────────── */
.gp-stats-row { display:flex; gap:10px; flex-wrap:wrap; margin:16px 0; }
.gp-stat { display:flex; flex-direction:column; gap:4px; flex:1; min-width:100px;
            padding:14px 16px; background:var(--bg-2);
            border:1px solid var(--bdr-1); border-top:3px solid var(--sc,var(--accent));
            border-radius:10px; }
.gp-stat-num { font-size:26px; font-weight:700; font-family:var(--f-display);
                color:var(--sc,var(--accent)); line-height:1; }
.gp-stat-lbl { font-size:10px; font-weight:700; text-transform:uppercase;
                letter-spacing:.09em; color:var(--txt-2); }

/* ── Quick-action buttons ─────────────────────────────────────── */
.gp-qa-row { display:flex; gap:8px; flex-wrap:wrap; margin:16px 0; }
.gp-qa-btn { display:inline-flex; align-items:center; gap:6px; padding:8px 16px;
              border-radius:8px; font-size:13px; font-weight:600; cursor:pointer;
              border:1.5px solid transparent; text-decoration:none; transition:all var(--dur); }
.gp-qa-green { background:var(--accent-bg); color:var(--accent); border-color:var(--accent); }
.gp-qa-green:hover { background:var(--accent); color:#fff; }
.gp-qa-blue  { background:var(--gp-blue-bg); color:var(--gp-blue); border-color:var(--gp-blue); }
.gp-qa-blue:hover  { background:var(--gp-blue); color:#fff; }
.gp-qa-gold  { background:var(--gold-bg); color:var(--gold); border-color:var(--gold); }
.gp-qa-gold:hover  { background:var(--gold); color:#fff; }

/* ── Cards ────────────────────────────────────────────────────── */
.gp-card { background:var(--bg-2); border:1px solid var(--bdr-1);
            border-radius:12px; padding:20px; margin-bottom:16px; }
.gp-card-hdr { display:flex; align-items:flex-start; justify-content:space-between;
                gap:12px; margin-bottom:16px; }
.gp-card-title { font-family:var(--f-display); font-size:16px; font-style:italic; color:var(--txt-0); }
.gp-card-sub   { font-size:12px; color:var(--txt-3); margin-top:2px; }

/* ── Buttons ──────────────────────────────────────────────────── */
.gp-btn { display:inline-flex; align-items:center; gap:6px; padding:8px 16px;
           border-radius:8px; font-size:13px; font-weight:600; font-family:var(--f-body);
           cursor:pointer; border:1.5px solid transparent; text-decoration:none;
           transition:all var(--dur); }
.gp-btn-gold  { background:var(--gold); color:#fff; border-color:var(--gold); }
.gp-btn-gold:hover  { opacity:.9; }
.gp-btn-green { background:var(--accent); color:#fff; border-color:var(--accent); }
.gp-btn-green:hover { background:var(--accent-h); }
.gp-btn-ghost { background:transparent; color:var(--txt-2); border-color:var(--bdr-2); }
.gp-btn-ghost:hover { color:var(--txt-0); border-color:var(--bdr-3); background:var(--bg-3); }
.gp-btn-sm { padding:5px 11px; font-size:12px; border-radius:6px; }
.gp-btn-sm-gold { display:inline-flex; align-items:center; gap:5px; padding:5px 11px;
                   border-radius:6px; font-size:12px; font-weight:600;
                   background:var(--gold-bg); color:var(--gold); border:1px solid var(--gold);
                   cursor:pointer; text-decoration:none; transition:all var(--dur); }
.gp-btn-sm-gold:hover { background:var(--gold); color:#fff; }

/* ── Inputs / Labels ──────────────────────────────────────────── */
.gp-lbl { display:block; font-size:11px; font-weight:700; text-transform:uppercase;
           letter-spacing:.07em; color:var(--txt-2); margin-bottom:5px; }
.gp-search-inp { background:var(--input-bg); border:1.5px solid var(--input-bdr);
                  border-radius:8px; color:var(--txt-0); padding:8px 12px;
                  font-size:13px; font-family:var(--f-body); transition:border-color var(--dur); }
.gp-search-inp:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-bg); }
.gp-search-inp::placeholder { color:var(--txt-3); }
select.gp-search-inp { cursor:pointer; }
textarea.gp-search-inp { resize:vertical; }

/* ── Filter chips ─────────────────────────────────────────────── */
.gp-filter-row  { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px; }
.gp-filter-chip { padding:5px 13px; border-radius:9999px; font-size:12px; font-weight:600;
                   border:1.5px solid var(--bdr-2); color:var(--txt-2);
                   cursor:pointer; text-decoration:none; background:transparent; transition:all var(--dur); }
.gp-filter-chip:hover { border-color:var(--gold); color:var(--gold); }
.gp-filter-chip.on { background:var(--gold-bg); color:var(--gold); border-color:var(--gold); }

/* ── Table ────────────────────────────────────────────────────── */
.gp-leads-table { width:100%; border-collapse:collapse; }
.gp-leads-table th { padding:9px 12px; text-align:left; font-size:10px; font-weight:700;
                      text-transform:uppercase; letter-spacing:.09em; color:var(--txt-2);
                      background:var(--bg-3); border-bottom:1px solid var(--bdr-1); }
.gp-leads-table td { padding:10px 12px; font-size:13px; color:var(--txt-1);
                      border-bottom:1px solid var(--bdr-0); }
.gp-leads-table tr:hover td { background:var(--bg-3); }

/* ── Stage badge ──────────────────────────────────────────────── */
.gp-stage-badge { display:inline-flex; align-items:center; padding:2px 9px;
                   border-radius:9999px; font-size:10px; font-weight:700;
                   letter-spacing:.07em; text-transform:uppercase; }

/* ── Needs Action ─────────────────────────────────────────────── */
.gp-needs-action { background:var(--bg-2); border:1px solid var(--bdr-1);
                    border-left:3px solid var(--gold); border-radius:10px;
                    padding:18px 20px; margin-bottom:16px; }
.gp-na-title { font-family:var(--f-display); font-size:15px; font-style:italic;
                color:var(--gold); margin-bottom:10px; }

/* ── Tab strip (Send Docs / Doc Library) ─────────────────────── */
.gp-tab-strip { display:flex; gap:2px; border-bottom:2px solid var(--bdr-1); margin-bottom:20px; }
.gp-tab-btn   { padding:9px 18px; font-size:13px; font-weight:600; color:var(--txt-2);
                 cursor:pointer; border:none; background:transparent;
                 border-bottom:2px solid transparent; margin-bottom:-2px; transition:all var(--dur); text-decoration:none; }
.gp-tab-btn:hover { color:var(--txt-0); }
.gp-tab-btn.on { color:var(--gold); border-bottom-color:var(--gold); }
.gp-tab-panel  { display:none; }
.gp-tab-panel.on { display:block; }

/* ── Send docs steps ──────────────────────────────────────────── */
.gp-send-step { display:flex; gap:14px; margin-bottom:20px; padding-bottom:20px;
                 border-bottom:1px solid var(--bdr-0); }
.gp-step-num  { width:28px; height:28px; border-radius:50%; background:var(--accent);
                 color:#fff; font-size:13px; font-weight:700;
                 display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.gp-step-body  { flex:1; }
.gp-step-title { font-weight:700; font-size:14px; color:var(--txt-0); margin-bottom:10px; }

/* ── Doc list ─────────────────────────────────────────────────── */
.gp-doc-list { display:flex; flex-direction:column; gap:6px; }
.gp-doc-row  { display:flex; align-items:center; gap:10px; padding:8px 10px;
                background:var(--bg-3); border-radius:7px; border:1px solid var(--bdr-0); }
.gp-doc-row:hover { border-color:var(--bdr-2); }

/* ── Action buttons ───────────────────────────────────────────── */
.gp-action-btn { display:inline-flex; align-items:center; gap:4px; padding:4px 10px;
                  border-radius:6px; font-size:11px; font-weight:600; cursor:pointer;
                  border:1px solid transparent; background:var(--bg-3); color:var(--txt-2);
                  transition:all var(--dur); }
.gp-action-btn:hover { color:var(--txt-0); background:var(--bg-4); }

/* ── History ──────────────────────────────────────────────────── */
.gp-history      { display:flex; flex-direction:column; gap:10px; }
.gp-history-item { display:flex; gap:12px; align-items:flex-start; font-size:13px; }
.gp-history-dot  { width:8px; height:8px; border-radius:50%; background:var(--accent);
                    flex-shrink:0; margin-top:4px; }
.gp-history-meta { font-size:11px; color:var(--txt-3); margin-top:2px; }

/* ── Detail grid ──────────────────────────────────────────────── */
.gp-detail-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
                   gap:14px; margin:16px 0; }
.gp-detail-item-lbl { font-size:10px; font-weight:700; text-transform:uppercase;
                       letter-spacing:.08em; color:var(--txt-3); margin-bottom:3px; }
.gp-detail-item-val { font-size:14px; color:var(--txt-0); }

/* ── Divider ──────────────────────────────────────────────────── */
.gp-divider { height:1px; background:var(--bdr-1); margin:20px 0; }

/* ── Toast ────────────────────────────────────────────────────── */
.gp-toast { padding:11px 18px; background:var(--bg-2); border:1px solid var(--bdr-2);
             border-left:4px solid var(--accent); border-radius:8px; font-size:13px;
             color:var(--txt-1); box-shadow:var(--shadow-lg); pointer-events:none; }

/* ── Empty / error ────────────────────────────────────────────── */
.gp-error { padding:20px; color:var(--red); font-size:14px; text-align:center; }
.gp-empty { padding:40px 20px; text-align:center; color:var(--txt-3); font-size:14px; }

/* ── Login ────────────────────────────────────────────────────── */
.gp-login-wrap   { display:flex; align-items:center; justify-content:center;
                    min-height:100vh; background:var(--bg-1); padding:20px; }
.gp-chooser      { background:var(--bg-2); border:1px solid var(--bdr-1);
                    border-radius:16px; padding:36px; width:100%; max-width:520px;
                    box-shadow:var(--shadow-xl); }
.gp-login-box    { background:var(--bg-2); border:1px solid var(--bdr-1);
                    border-radius:16px; padding:36px; width:100%; max-width:420px;
                    box-shadow:var(--shadow-xl); }
.gp-brand        { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.gp-brand-mark   { width:40px; height:40px; background:var(--accent); border-radius:8px;
                    display:flex; align-items:center; justify-content:center;
                    font-family:var(--f-display); font-size:22px; color:#fff; }
.gp-brand-name   { font-family:var(--f-display); font-size:18px; font-style:italic; color:var(--txt-0); }
.gp-brand-since  { font-size:11px; color:var(--txt-3); }
.gp-login-h1     { font-family:var(--f-display); font-size:22px; font-style:italic;
                    color:var(--txt-0); margin-bottom:6px; }
.gp-login-sub    { font-size:13px; color:var(--txt-3); margin-bottom:24px; }
.gp-login-field  { margin-bottom:14px; }
.gp-login-err    { background:var(--red-bg); border:1px solid var(--red);
                    border-radius:7px; padding:8px 12px; font-size:12px; color:var(--red); margin-top:10px; }
.gp-portal-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.gp-portal-card  { background:var(--bg-3); border:1.5px solid var(--bdr-2);
                    border-radius:12px; padding:20px 16px; cursor:pointer; text-align:left; transition:all var(--dur); }
.gp-portal-card:hover { border-color:var(--gold); background:var(--bg-4); }
.gp-pc-icon  { font-size:24px; margin-bottom:10px; }
.gp-pc-title { font-weight:700; font-size:14px; color:var(--txt-0); margin-bottom:4px; }
.gp-pc-desc  { font-size:12px; color:var(--txt-2); margin-bottom:6px; }
.gp-pc-features { font-size:10px; color:var(--txt-3); }

/* ── Intake coordinator portal ────────────────────────────────── */
.gp-intake-wrap  { padding:24px; max-width:900px; margin:0 auto; }
.gp-scheduled-empty { text-align:center; padding:60px 20px; color:var(--txt-3); }
.gp-scheduled-empty .gp-empty-icon { font-size:48px; margin-bottom:12px; }

/* ── Pagination ───────────────────────────────────────────────── */
.gp-pagination { display:flex; gap:4px; align-items:center; justify-content:center; margin-top:20px; }
.gp-page-btn   { padding:5px 12px; border-radius:6px; font-size:13px; font-weight:500;
                  border:1.5px solid var(--bdr-2); color:var(--txt-2);
                  cursor:pointer; background:transparent; text-decoration:none; transition:all var(--dur); }
.gp-page-btn:hover { border-color:var(--gold); color:var(--gold); }
.gp-page-btn.on { background:var(--gold-bg); color:var(--gold); border-color:var(--gold); }

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width:768px) {
    .gp-tn-nav { display:none; position:absolute; top:52px; left:0; right:0;
                  background:var(--bg-0); border-bottom:1px solid var(--bdr-1);
                  flex-direction:column; padding:8px; gap:2px; }
    .gp-tn-nav.open { display:flex; }
    .gp-hamburger { display:flex; }
    .gp-pipeline-grid { grid-template-columns:repeat(auto-fill,minmax(100px,1fr)); }
    .gp-portal-options { grid-template-columns:1fr; }
    .gp-main { padding:16px; }
}
