/*
  Agent portal styles.
  Keep portal-only layout and tool styles here instead of inside portal.html.
*/

:root {
      --gd: #1a3328;
      --gm: #243d30;
      --gl: #2e5040;
      --gold: #c4781a;
      --gold2: #b36718;
      --cr: #f5f0e8;
      --cr2: #e8e0d2;
      --td: #2c2c2c;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    html, body {
      height: 100%;
      font-family: 'Jost', sans-serif;
      background: var(--gd);
      color: var(--cr);
      overflow-x: hidden;
    }

    /* ─── PASSWORD GATE ─────────────────────────────────── */
    #pin-gate {
      position: fixed;
      inset: 0;
      z-index: 1000;
      background: var(--gd);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 2rem;
      transition: opacity 0.6s ease, visibility 0.6s ease;
    }
    #pin-gate.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
    .gate-label { font-family: 'Jost', sans-serif; font-weight: 500; font-size: 0.75rem; letter-spacing: 0.3em; color: var(--gold); text-transform: uppercase; }
    .pin-prompt { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; font-weight: 300; color: var(--cr); opacity: 0.7; letter-spacing: 0.05em; }
    .pw-wrap { display: flex; flex-direction: column; gap: 0.75rem; align-items: center; width: 100%; max-width: 320px; }
    .pw-input {
      width: 100%; padding: 0.85rem 1.1rem;
      background: var(--gm); border: 1px solid rgba(196,120,26,0.3); border-radius: 6px;
      color: var(--cr); font-family: 'Jost', sans-serif; font-size: 1rem; font-weight: 300;
      outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease;
      letter-spacing: 0.04em;
    }
    .pw-input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(196,120,26,0.18); }
    .pw-input.error { border-color: #c0392b; background: rgba(192,57,43,0.12); animation: shake 0.45s cubic-bezier(.36,.07,.19,.97) both; }
    .pw-submit {
      width: 100%; padding: 0.75rem; background: var(--gold); border: none; border-radius: 5px;
      color: #fff; font-family: 'Jost', sans-serif; font-size: 0.82rem; font-weight: 600;
      letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer;
      transition: background 0.2s ease;
    }
    .pw-submit:hover { background: var(--gold2); }
    .pw-error-msg { font-size: 0.75rem; color: #e07070; letter-spacing: 0.04em; min-height: 1em; }
    @keyframes shake {
      10%, 90% { transform: translateX(-3px); }
      20%, 80% { transform: translateX(5px); }
      30%, 50%, 70% { transform: translateX(-7px); }
      40%, 60% { transform: translateX(7px); }
    }
    .pin-hint { font-size: 0.75rem; color: var(--cr); opacity: 0.35; letter-spacing: 0.05em; }

    /* ─── HUB PAGE ─────────────────────────────────────── */
    #hub {
      min-height: 100vh;
      display: flex; flex-direction: column; align-items: center;
      padding: 4rem 1.5rem 3rem;
    }
    .hub-header { display: flex; flex-direction: column; align-items: center; gap: 1rem; margin-bottom: 3.5rem; }
    .hub-name { font-family: 'Cormorant Garamond', serif; font-size: 2rem; font-weight: 400; letter-spacing: 0.12em; color: var(--cr); text-transform: uppercase; }
    .hub-title { font-family: 'Jost', sans-serif; font-size: 0.7rem; font-weight: 500; letter-spacing: 0.35em; color: var(--gold); text-transform: uppercase; }
    .hub-divider { width: 48px; height: 1px; background: rgba(196,120,26,0.4); margin: 0.25rem 0; }

    /* ─── CARDS ─────────────────────────────────────────── */
    .card-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.75rem;
      width: 100%;
      max-width: 860px;
    }
    .card {
      background: var(--gm); border-radius: 10px; border-top: 3px solid var(--gold);
      padding: 2.5rem 2rem 2rem;
      display: flex; flex-direction: column; gap: 1.25rem;
      box-shadow: 0 8px 32px rgba(0,0,0,0.28);
      transition: transform 0.25s ease, box-shadow 0.25s ease;
    }
    .card:hover { transform: translateY(-4px); box-shadow: 0 14px 44px rgba(0,0,0,0.36); }
    .portal-card-wide { grid-column: 1 / -1; }
    .portal-card-wide-inner { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
    .portal-card-wide-copy { flex:1; }
    .portal-card-wide-subtitle { margin-top:0.35rem; }
    .card-icon { font-size: 2.25rem; line-height: 1; }
    .card-title { font-family: 'Cormorant Garamond', serif; font-size: 1.75rem; font-weight: 400; color: var(--cr); letter-spacing: 0.02em; line-height: 1.2; }
    .card-subtitle { font-family: 'Jost', sans-serif; font-size: 0.875rem; font-weight: 300; color: var(--cr); opacity: 0.7; line-height: 1.65; flex: 1; }
    .card-btn {
      display: inline-flex; align-items: center; gap: 0.4rem; align-self: flex-start;
      background: var(--gold); color: #fff;
      font-family: 'Jost', sans-serif; font-size: 0.8rem; font-weight: 600;
      letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none;
      padding: 0.65rem 1.4rem; border-radius: 4px; border: none; cursor: pointer;
      transition: background 0.2s ease, transform 0.15s ease;
    }
    .card-btn:hover { background: var(--gold2); transform: translateX(2px); }

    /* ─── TOOL PANEL (full-screen overlay) ──────────────── */
    .tool-panel {
      position: fixed; inset: 0; z-index: 500;
      background: var(--gd);
      display: flex; flex-direction: column;
      overflow-y: auto;
      transition: opacity 0.35s ease, visibility 0.35s ease;
    }
    .tool-panel.hidden { opacity: 0; visibility: hidden; pointer-events: none; }

    .tool-topbar {
      display: flex; align-items: center; gap: 1.25rem;
      padding: 1.25rem 2rem;
      background: var(--gm);
      border-bottom: 1px solid rgba(196,120,26,0.25);
      position: sticky; top: 0; z-index: 10;
    }
    .back-btn {
      background: none; border: 1px solid rgba(196,120,26,0.4); color: var(--gold);
      font-family: 'Jost', sans-serif; font-size: 0.78rem; font-weight: 500;
      letter-spacing: 0.08em; text-transform: uppercase;
      padding: 0.45rem 1rem; border-radius: 4px; cursor: pointer;
      transition: background 0.2s ease;
    }
    .back-btn:hover { background: rgba(196,120,26,0.12); }
    .tool-panel-title {
      font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 400;
      color: var(--cr); letter-spacing: 0.06em;
    }
    .tool-body { padding: 2rem; max-width: 860px; width: 100%; margin: 0 auto; display: flex; flex-direction: column; gap: 2rem; }

    /* ─── SECTION HEADS ─────────────────────────────────── */
    .section-eyebrow { font-size: 0.68rem; font-weight: 500; letter-spacing: 0.3em; color: var(--gold); text-transform: uppercase; margin-bottom: 0.75rem; }
    .section-card { background: var(--gm); border-radius: 8px; padding: 1.75rem; display: flex; flex-direction: column; gap: 1rem; }

    /* ─── CALL LIST ─────────────────────────────────────── */
    .paste-zone { display: flex; flex-direction: column; gap: 0.875rem; }
    .paste-textarea {
      background: var(--gl); border: 1px solid rgba(196,120,26,0.25); border-radius: 6px;
      color: var(--cr); font-family: 'Jost', sans-serif; font-size: 0.9rem; line-height: 1.7;
      padding: 1rem; min-height: 140px; resize: vertical; width: 100%;
    }
    .paste-textarea::placeholder { opacity: 0.4; }
    .paste-row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }

    .build-btn {
      background: var(--gold); color: #fff;
      font-family: 'Jost', sans-serif; font-size: 0.82rem; font-weight: 600;
      letter-spacing: 0.1em; text-transform: uppercase;
      padding: 0.7rem 1.6rem; border-radius: 4px; border: none; cursor: pointer;
      transition: background 0.2s ease;
    }
    .build-btn:hover { background: var(--gold2); }
    .clear-btn {
      background: none; border: 1px solid rgba(255,255,255,0.2); color: var(--cr);
      font-family: 'Jost', sans-serif; font-size: 0.78rem; font-weight: 400;
      letter-spacing: 0.06em; padding: 0.6rem 1.1rem; border-radius: 4px; cursor: pointer;
      transition: border-color 0.2s ease; opacity: 0.6;
    }
    .clear-btn:hover { border-color: rgba(255,255,255,0.5); opacity: 1; }

    .lead-count { font-size: 0.78rem; color: var(--cr); opacity: 0.5; letter-spacing: 0.05em; }

    #call-sheet { display: flex; flex-direction: column; gap: 0.75rem; }
    #call-sheet.hidden { display: none; }

    .lead-row {
      background: var(--gm); border-radius: 8px; border-left: 3px solid var(--gold);
      padding: 1.1rem 1.25rem;
      display: grid; grid-template-columns: 2rem 1fr auto;
      gap: 1rem; align-items: start;
      transition: opacity 0.3s ease;
    }
    .lead-row.called { border-left-color: #5dba6e; opacity: 0.65; }

    .lead-num { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; color: var(--gold); opacity: 0.7; padding-top: 0.15rem; }
    .lead-addr { font-weight: 500; font-size: 0.95rem; color: var(--cr); margin-bottom: 0.6rem; line-height: 1.35; }
    .lead-lookups { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.6rem; }

    .lookup-btn {
      display: inline-flex; align-items: center; gap: 0.25rem;
      background: var(--gl); border: 1px solid rgba(196,120,26,0.3); border-radius: 4px;
      color: var(--cr); font-family: 'Jost', sans-serif; font-size: 0.72rem; font-weight: 500;
      letter-spacing: 0.05em; padding: 0.3rem 0.65rem;
      text-decoration: none; cursor: pointer;
      transition: border-color 0.2s ease, background 0.2s ease;
    }
    .lookup-btn:hover { border-color: var(--gold); background: rgba(196,120,26,0.1); }
    .lookup-btn.dnc { border-color: rgba(192,57,43,0.3); color: #e07070; }
    .lookup-btn.dnc:hover { border-color: #c0392b; background: rgba(192,57,43,0.1); }

    .lead-notes {
      background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 4px;
      color: var(--cr); font-family: 'Jost', sans-serif; font-size: 0.82rem;
      padding: 0.4rem 0.65rem; width: 100%; outline: none;
      transition: border-color 0.2s ease;
    }
    .lead-notes:focus { border-color: rgba(196,120,26,0.4); }
    .lead-notes::placeholder { opacity: 0.35; }

    .lead-controls { display: flex; flex-direction: column; gap: 0.5rem; align-items: flex-end; min-width: 90px; }

    .called-btn {
      background: var(--gl); border: 1px solid rgba(255,255,255,0.2); border-radius: 4px;
      color: var(--cr); font-family: 'Jost', sans-serif; font-size: 0.72rem; font-weight: 500;
      letter-spacing: 0.05em; padding: 0.4rem 0.75rem; cursor: pointer; white-space: nowrap;
      transition: all 0.2s ease; width: 100%; text-align: center;
    }
    .called-btn:hover { border-color: #5dba6e; color: #5dba6e; }
    .called-btn.called { background: rgba(93,186,110,0.15); border-color: #5dba6e; color: #5dba6e; }

    .crm-btn {
      background: var(--gold); color: #fff; border-radius: 4px;
      font-family: 'Jost', sans-serif; font-size: 0.72rem; font-weight: 600;
      letter-spacing: 0.06em; text-transform: uppercase;
      padding: 0.4rem 0.75rem; text-decoration: none; white-space: nowrap;
      transition: background 0.2s ease; width: 100%; text-align: center; display: block;
    }
    .crm-btn:hover { background: var(--gold2); }

    /* ─── LEAD FINDER ─────────────────────────────────────── */
    .lf-tabs { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1rem; }
    .lf-tab {
      background: var(--gl); border: 1px solid rgba(196,120,26,0.25); border-radius: 4px;
      color: var(--cr); font-family: 'Jost', sans-serif; font-size: 0.75rem; font-weight: 600;
      letter-spacing: 0.08em; text-transform: uppercase; padding: 0.5rem 1rem; cursor: pointer;
      transition: all 0.2s; opacity: 0.6;
    }
    .lf-tab.active { background: var(--gold); border-color: var(--gold); opacity: 1; }
    .lf-tab:hover:not(.active) { border-color: var(--gold); opacity: 0.9; }
    .lf-section { display: none; }
    .lf-section.on { display: block; }
    .lf-controls { display: flex; gap: 0.7rem; align-items: flex-end; flex-wrap: wrap; margin-bottom: 0.85rem; }
    .lf-select {
      background: var(--gl); border: 1px solid rgba(196,120,26,0.25); border-radius: 4px;
      color: var(--cr); font-family: 'Jost', sans-serif; font-size: 0.82rem;
      padding: 0.55rem 0.85rem; flex: 1; min-width: 150px; max-width: 250px; cursor: pointer; outline: none;
    }
    .lf-guide { background: rgba(0,0,0,0.18); border-radius: 6px; padding: 0.85rem 1rem; font-size: 0.79rem; line-height: 1.7; color: var(--cr); opacity: 0.75; margin-bottom: 0.85rem; }
    .lf-guide strong { color: var(--gold); opacity: 1; }
    .lf-guide ol { padding-left: 1.2rem; margin-top: 0.3rem; }
    .lf-guide li { margin-bottom: 0.15rem; }
    .lf-loading { text-align:center; padding:1.5rem; color:var(--cr); opacity:0.45; font-size:0.83rem; letter-spacing:0.06em; }
    .lf-empty  { text-align:center; padding:1.25rem; color:var(--cr); opacity:0.4; font-size:0.8rem; line-height:1.6; }
    .lf-error  { background:rgba(192,57,43,0.1); border:1px solid rgba(192,57,43,0.25); border-radius:5px; padding:0.7rem 1rem; font-size:0.8rem; color:#e07070; margin-top:0.5rem; }
    .lf-added-bar { background:rgba(93,186,110,0.1); border:1px solid rgba(93,186,110,0.3); border-radius:5px; padding:0.6rem 1rem; font-size:0.8rem; color:#5dba6e; margin-top:0.65rem; display:none; }
    /* FSBO cards */
    .fsbo-grid { display:flex; flex-direction:column; gap:0.6rem; margin-top:0.5rem; max-height:420px; overflow-y:auto; padding-right:2px; }
    .fsbo-card {
      background:var(--gm); border:1px solid rgba(196,120,26,0.18); border-radius:7px;
      padding:0.85rem 1rem; display:grid; grid-template-columns:1fr auto; gap:0.75rem; align-items:center;
      transition:border-color 0.2s;
    }
    .fsbo-card:hover { border-color:rgba(196,120,26,0.5); }
    .fsbo-title { font-size:0.88rem; font-weight:500; color:var(--cr); line-height:1.35; margin-bottom:0.2rem; }
    .fsbo-meta  { font-size:0.73rem; color:var(--cr); opacity:0.5; }
    .fsbo-price { font-family:'Cormorant Garamond',serif; font-size:1.05rem; font-weight:600; color:var(--gold); margin-bottom:0.3rem; white-space:nowrap; text-align:right; }
    .fsbo-actions { display:flex; flex-direction:column; gap:0.35rem; align-items:flex-end; }
    .fsbo-add {
      background:var(--gold); color:#fff; border:none; border-radius:4px;
      font-family:'Jost',sans-serif; font-size:0.68rem; font-weight:700; letter-spacing:0.08em;
      text-transform:uppercase; padding:0.32rem 0.7rem; cursor:pointer; white-space:nowrap; transition:background 0.2s;
    }
    .fsbo-add:hover { background:var(--gold2); }
    .fsbo-add.added { background:#5dba6e; pointer-events:none; }
    .fsbo-link { font-size:0.68rem; color:var(--cr); opacity:0.4; text-decoration:none; }
    .fsbo-link:hover { opacity:0.8; }
    /* CSV Import */
    .csv-drop {
      border:2px dashed rgba(196,120,26,0.3); border-radius:7px; padding:1.5rem;
      text-align:center; cursor:pointer; transition:border-color 0.2s, background 0.2s; margin-bottom:0.75rem;
    }
    .csv-drop:hover,.csv-drop.drag-over { border-color:var(--gold); background:rgba(196,120,26,0.06); }
    .csv-drop-icon { font-size:1.6rem; margin-bottom:0.35rem; }
    .csv-drop-text { font-size:0.82rem; color:var(--cr); opacity:0.6; line-height:1.55; }
    .csv-drop-text strong { color:var(--gold); opacity:1; }
    .csv-preview-label { font-size:0.68rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:0.5rem; }
    .csv-scroll { max-height:300px; overflow-y:auto; border-radius:5px; border:1px solid rgba(255,255,255,0.08); }
    .csv-table { width:100%; border-collapse:collapse; font-size:0.79rem; }
    .csv-table th { background:var(--gl); color:var(--cr); opacity:0.7; padding:0.4rem 0.65rem; text-align:left; font-weight:600; font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; position:sticky; top:0; }
    .csv-table td { padding:0.4rem 0.65rem; border-bottom:1px solid rgba(255,255,255,0.06); color:var(--cr); vertical-align:middle; }
    .csv-table tr:last-child td { border-bottom:none; }
    .csv-addr-cell { font-weight:500; }
    .csv-price-cell { font-family:'Cormorant Garamond',serif; font-size:0.9rem; color:var(--gold); }
    .csv-dom-cell { opacity:0.55; }
    .csv-import-bar { display:flex; align-items:center; gap:0.85rem; flex-wrap:wrap; margin-top:0.75rem; }
    .csv-count { font-size:0.75rem; color:var(--cr); opacity:0.5; }

    /* ─── FOOTER ─────────────────────────────────────────── */
    .hub-footer { margin-top: auto; padding-top: 3.5rem; font-size: 0.72rem; font-weight: 300; letter-spacing: 0.08em; color: var(--cr); opacity: 0.35; text-align: center; }

    /* ─── RESPONSIVE ─────────────────────────────────────── */
    @media (max-width: 640px) {
      .card-grid { grid-template-columns: 1fr; }
      .hub-name { font-size: 1.5rem; }
      #hub { padding: 3rem 1.25rem 2.5rem; }
      .pw-wrap { max-width: 90vw; }
      .tool-topbar { padding: 1rem 1.25rem; }
      .tool-body { padding: 1.25rem; }
      .form-row { grid-template-columns: 1fr; }
      .lead-row { grid-template-columns: 2rem 1fr; }
      .lead-controls { flex-direction: row; grid-column: 1 / -1; grid-row: 2; min-width: unset; }
      .called-btn, .crm-btn { width: auto; flex: 1; }
    }

/* Contract-to-Close panel styles */

/* ─── C2C PANEL STYLES ───────────────────────────── */
.c2c-toolbar { display:flex; align-items:center; gap:0.75rem; flex-wrap:wrap; padding:1rem 2rem; background:rgba(0,0,0,0.18); border-bottom:1px solid rgba(196,120,26,0.15); }
.c2c-select { background:var(--gl); border:1px solid rgba(196,120,26,0.3); border-radius:5px; color:var(--cr); font-family:'Jost',sans-serif; font-size:0.82rem; padding:0.5rem 0.85rem; outline:none; flex:1; min-width:180px; max-width:320px; cursor:pointer; }
.c2c-select:focus { border-color:var(--gold); }
.c2c-btn { background:var(--gold); color:#fff; border:none; border-radius:4px; font-family:'Jost',sans-serif; font-size:0.78rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:0.55rem 1.1rem; cursor:pointer; transition:background 0.2s; white-space:nowrap; }
.c2c-btn:hover { background:var(--gold2); }
.c2c-btn-ghost { background:transparent; border:1px solid rgba(196,120,26,0.4); color:var(--gold); border-radius:4px; font-family:'Jost',sans-serif; font-size:0.75rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; padding:0.5rem 1rem; cursor:pointer; transition:all 0.2s; white-space:nowrap; }
.c2c-btn-ghost:hover { background:rgba(196,120,26,0.1); }
.present-toggle { display:flex; align-items:center; gap:0.5rem; margin-left:auto; }
.present-toggle label { font-size:0.72rem; color:var(--cr); opacity:0.6; letter-spacing:0.06em; cursor:pointer; }
.present-toggle input { accent-color:var(--gold); width:14px; height:14px; cursor:pointer; }

/* ─── C2C EMPTY STATE ─────────────────────────────── */
.c2c-empty { display:flex; flex-direction:column; align-items:center; gap:1rem; padding:4rem 2rem; text-align:center; opacity:0.55; }
.c2c-empty-icon { font-size:3rem; }
.c2c-empty-title { font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--cr); }
.c2c-empty-sub { font-size:0.82rem; color:var(--cr); line-height:1.7; max-width:360px; }

/* ─── TRANSACTION HEADER ──────────────────────────── */
.c2c-tx-header { background:var(--gm); border-radius:10px; border-top:3px solid var(--gold); padding:1.5rem 1.75rem; display:flex; flex-direction:column; gap:1rem; }
.c2c-tx-top { display:flex; align-items:flex-start; gap:1rem; flex-wrap:wrap; }
.c2c-tx-name { font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:400; color:var(--cr); flex:1; }
.c2c-tx-type { display:flex; gap:0.4rem; }
.c2c-type-btn { background:var(--gl); border:1px solid rgba(196,120,26,0.25); color:var(--cr); font-family:'Jost',sans-serif; font-size:0.72rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:0.4rem 0.85rem; border-radius:4px; cursor:pointer; transition:all 0.2s; opacity:0.6; }
.c2c-type-btn.active { background:var(--gold); border-color:var(--gold); opacity:1; color:#fff; }
.c2c-tx-addr { font-size:0.9rem; color:var(--cr); opacity:0.65; }
.c2c-tx-meta { display:flex; gap:1.5rem; flex-wrap:wrap; align-items:center; }
.c2c-countdown { display:inline-flex; align-items:center; gap:0.5rem; background:rgba(196,120,26,0.12); border:1px solid rgba(196,120,26,0.3); border-radius:5px; padding:0.4rem 0.85rem; }
.c2c-countdown-num { font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--gold); }
.c2c-countdown-label { font-size:0.7rem; color:var(--cr); opacity:0.6; letter-spacing:0.06em; }
.c2c-countdown.urgent { border-color:#e07070; }
.c2c-countdown.urgent .c2c-countdown-num { color:#e07070; }

/* ─── CONTACT CARDS ───────────────────────────────── */
.c2c-contacts { display:grid; grid-template-columns:repeat(4,1fr); gap:0.6rem; }
@media(max-width:700px){ .c2c-contacts { grid-template-columns:repeat(2,1fr); } }
.c2c-contact-card { background:var(--gl); border-radius:6px; padding:0.75rem; display:flex; flex-direction:column; gap:0.25rem; }
.c2c-contact-role { font-size:0.65rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); }
.c2c-contact-name { font-size:0.85rem; color:var(--cr); font-weight:500; }
.c2c-contact-name input { background:transparent; border:none; border-bottom:1px dashed rgba(196,120,26,0.3); color:var(--cr); font-family:'Jost',sans-serif; font-size:0.85rem; font-weight:500; outline:none; width:100%; padding:1px 0; }
.c2c-contact-name input:focus { border-bottom-color:var(--gold); }
.c2c-contact-phone input { background:transparent; border:none; color:var(--cr); opacity:0.55; font-family:'Jost',sans-serif; font-size:0.78rem; outline:none; width:100%; }
.c2c-contact-phone a { color:var(--cr); opacity:0.55; font-size:0.78rem; text-decoration:none; }
.c2c-contact-phone a:hover { color:var(--gold); opacity:1; }

/* ─── PHASE LIST ──────────────────────────────────── */
.c2c-phases { display:flex; flex-direction:column; gap:0.6rem; }
.c2c-phase { background:var(--gm); border-radius:8px; border-left:4px solid rgba(196,120,26,0.25); overflow:hidden; transition:border-color 0.2s; }
.c2c-phase.complete { border-left-color:#5dba6e; }
.c2c-phase.inprogress { border-left-color:var(--gold); }
.c2c-phase.issue { border-left-color:#e07070; }
.c2c-phase-head { display:flex; align-items:center; gap:0.75rem; padding:0.9rem 1.1rem; cursor:pointer; user-select:none; }
.c2c-phase-num { font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--gold); opacity:0.6; min-width:1.4rem; }
.c2c-phase-icon { font-size:1.1rem; }
.c2c-phase-title { font-size:0.9rem; font-weight:500; color:var(--cr); flex:1; }
.c2c-phase-date { font-size:0.72rem; color:var(--cr); opacity:0.45; white-space:nowrap; }
.c2c-phase-date.overdue { color:#e07070; opacity:1; font-weight:600; }
.c2c-phase-status { font-size:0.65rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; padding:0.2rem 0.5rem; border-radius:3px; white-space:nowrap; }
.c2c-phase-status.pending { background:rgba(255,255,255,0.07); color:var(--cr); opacity:0.5; }
.c2c-phase-status.inprogress { background:rgba(196,120,26,0.18); color:var(--gold); }
.c2c-phase-status.complete { background:rgba(93,186,110,0.15); color:#5dba6e; }
.c2c-phase-status.issue { background:rgba(224,112,112,0.15); color:#e07070; }
.c2c-phase-chevron { font-size:0.75rem; color:var(--cr); opacity:0.35; transition:transform 0.2s; }
.c2c-phase.open .c2c-phase-chevron { transform:rotate(180deg); }

.c2c-phase-body { display:none; padding:0 1.1rem 1.1rem; flex-direction:column; gap:0.85rem; }
.c2c-phase.open .c2c-phase-body { display:flex; }

.c2c-phase-row { display:flex; align-items:center; gap:0.75rem; flex-wrap:wrap; }
.c2c-phase-label { font-size:0.68rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--cr); opacity:0.45; width:80px; flex-shrink:0; }
.c2c-status-select { background:var(--gl); border:1px solid rgba(196,120,26,0.2); border-radius:4px; color:var(--cr); font-family:'Jost',sans-serif; font-size:0.8rem; padding:0.35rem 0.65rem; outline:none; cursor:pointer; }
.c2c-status-select:focus { border-color:var(--gold); }
.c2c-date-input { background:var(--gl); border:1px solid rgba(196,120,26,0.2); border-radius:4px; color:var(--cr); font-family:'Jost',sans-serif; font-size:0.8rem; padding:0.35rem 0.65rem; outline:none; color-scheme:dark; }
.c2c-date-input:focus { border-color:var(--gold); }

.c2c-checklist { display:flex; flex-direction:column; gap:0.4rem; }
.c2c-check-item { display:flex; align-items:center; gap:0.6rem; cursor:pointer; user-select:none; }
.c2c-check-item input[type=checkbox] { accent-color:var(--gold); width:14px; height:14px; cursor:pointer; flex-shrink:0; }
.c2c-check-item span { font-size:0.82rem; color:var(--cr); opacity:0.75; line-height:1.45; }
.c2c-check-item input:checked + span { opacity:0.45; text-decoration:line-through; }

.c2c-notes { background:var(--gl); border:1px solid rgba(196,120,26,0.18); border-radius:5px; color:var(--cr); font-family:'Jost',sans-serif; font-size:0.82rem; line-height:1.7; padding:0.65rem 0.85rem; resize:vertical; min-height:64px; width:100%; outline:none; }
.c2c-notes:focus { border-color:rgba(196,120,26,0.5); }
.c2c-notes::placeholder { opacity:0.35; }

/* ─── DOC UPLOAD CHIPS ────────────────────────────── */
.c2c-docs { display:flex; flex-direction:column; gap:0.5rem; }
.c2c-doc-chips { display:flex; flex-wrap:wrap; gap:0.4rem; }
.c2c-doc-chip { display:inline-flex; align-items:center; gap:0.4rem; background:rgba(196,120,26,0.1); border:1px solid rgba(196,120,26,0.3); border-radius:4px; padding:0.25rem 0.6rem; font-size:0.75rem; color:var(--cr); }
.c2c-doc-chip-del { background:none; border:none; color:var(--cr); opacity:0.45; cursor:pointer; font-size:0.9rem; padding:0; line-height:1; }
.c2c-doc-chip-del:hover { opacity:1; color:#e07070; }
.c2c-upload-btn { display:inline-flex; align-items:center; gap:0.4rem; background:var(--gl); border:1px dashed rgba(196,120,26,0.35); border-radius:4px; color:var(--cr); font-family:'Jost',sans-serif; font-size:0.75rem; padding:0.35rem 0.75rem; cursor:pointer; transition:border-color 0.2s,background 0.2s; opacity:0.7; }
.c2c-upload-btn:hover { border-color:var(--gold); opacity:1; background:rgba(196,120,26,0.06); }

/* ─── NEW TRANSACTION MODAL ───────────────────────── */
.c2c-modal-overlay { position:fixed; inset:0; z-index:700; background:rgba(0,0,0,0.75); display:flex; align-items:center; justify-content:center; padding:1.5rem; }
.c2c-modal-overlay.hidden { display:none; }
.c2c-modal { background:var(--gm); border-radius:10px; border-top:3px solid var(--gold); padding:2rem; width:100%; max-width:520px; display:flex; flex-direction:column; gap:1.25rem; }
.c2c-modal-title { font-family:'Cormorant Garamond',serif; font-size:1.4rem; color:var(--cr); }
.c2c-modal-field { display:flex; flex-direction:column; gap:0.3rem; }
.c2c-modal-label { font-size:0.68rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--cr); opacity:0.5; }
.c2c-modal-input { background:var(--gl); border:1px solid rgba(196,120,26,0.25); border-radius:5px; color:var(--cr); font-family:'Jost',sans-serif; font-size:0.9rem; padding:0.65rem 0.85rem; outline:none; }
.c2c-modal-input:focus { border-color:var(--gold); }
.c2c-modal-input::placeholder { opacity:0.4; }
.c2c-modal-row { display:grid; grid-template-columns:1fr 1fr; gap:0.75rem; }
.c2c-type-row { display:flex; gap:0.5rem; }
.c2c-modal-btns { display:flex; gap:0.75rem; justify-content:flex-end; flex-wrap:wrap; }

/* ─── PRESENTATION MODE ───────────────────────────── */
.c2c-phase-body.presentation .c2c-notes,
.c2c-phase-body.presentation .c2c-phase-row:has(.c2c-notes),
body.presentation-mode .c2c-phase-body .c2c-phase-row:last-child { display:none; }
body.presentation-mode .c2c-doc-chip-del { display:none; }
body.presentation-mode .c2c-upload-btn { display:none; }
body.presentation-mode .c2c-toolbar .c2c-btn { display:none; }
