:root{--ink:#0e0d0b;--paper:#f5f2eb;--pd:#ede9df;--accent:#2a4a2e;--al:#4a7a50;--gold:#b8912a;--muted:#6b6760;--border:rgba(14,13,11,0.12);--danger:#8b2a2a;--green:#2a4a2e;--orange:#b8601a;--red:#8b2a2a;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{background:var(--paper);color:var(--ink);font-family:'Instrument Sans',sans-serif;font-size:14px;display:flex;flex-direction:column;}
/* AUTH */
.auth-screen{flex:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--paper) 0%,var(--pd) 100%);}
.auth-card{background:var(--paper);border:0.5px solid var(--border);border-radius:6px;padding:3rem;width:400px;max-width:95vw;text-align:center;box-shadow:0 12px 48px rgba(14,13,11,0.10);}
.auth-brand{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;letter-spacing:0.25em;text-transform:uppercase;margin-bottom:0.25rem;}
.auth-sub{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem;display:block;}
.auth-input{width:100%;padding:0.75rem 1rem;background:var(--pd);border:0.5px solid var(--border);border-radius:2px;font-family:'Instrument Sans',sans-serif;font-size:0.9rem;color:var(--ink);outline:none;margin-bottom:0.75rem;text-align:center;}
.auth-input:focus{border-color:var(--accent);}
.code-input{font-family:'DM Mono',monospace;font-size:1.4rem;letter-spacing:0.4em;}
.auth-btn{width:100%;padding:0.8rem;background:var(--accent);color:var(--paper);border:none;border-radius:2px;font-family:'Instrument Sans',sans-serif;font-size:0.85rem;letter-spacing:0.08em;cursor:pointer;}
.auth-btn:hover{background:var(--al);}
.auth-btn:disabled{opacity:0.6;cursor:not-allowed;}
.auth-back{background:none;border:none;color:var(--muted);font-family:'DM Mono',monospace;font-size:0.65rem;cursor:pointer;margin-top:0.75rem;display:block;width:100%;}
.auth-hint{font-family:'DM Mono',monospace;font-size:0.65rem;color:var(--muted);margin-bottom:1rem;}
.auth-msg{margin-top:1rem;font-family:'DM Mono',monospace;font-size:0.7rem;min-height:1.2em;}
.auth-msg.error{color:var(--danger);}
/* TOPBAR */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:56px;background:var(--accent);color:var(--paper);flex-shrink:0;}
.tb-left{display:flex;align-items:center;gap:1.5rem;}
.tb-brand{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:300;letter-spacing:0.2em;text-transform:uppercase;}
.tb-tag{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);border:0.5px solid var(--gold);padding:0.2rem 0.5rem;border-radius:2px;}
.tb-right{display:flex;align-items:center;gap:0.75rem;}
.tb-stats{display:flex;gap:1.5rem;margin-right:1rem;}
.stat-num{font-family:'DM Mono',monospace;font-size:1rem;color:var(--paper);}
.stat-lbl{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(245,242,235,0.4);}
.save-ind{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(245,242,235,0.3);}
.save-ind.saved{color:var(--gold);}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:0.4rem;padding:0.5rem 1rem;font-family:'Instrument Sans',sans-serif;font-size:0.78rem;letter-spacing:0.06em;border-radius:2px;cursor:pointer;border:none;transition:all 0.15s;white-space:nowrap;}
.btn-primary{background:var(--accent);color:var(--paper);}
.btn-primary:hover{background:var(--al);}
.btn-ghost{background:rgba(245,242,235,0.08);color:var(--paper);border:0.5px solid rgba(245,242,235,0.2);}
.btn-ghost:hover{background:rgba(245,242,235,0.15);}
.btn-outline{background:transparent;color:var(--ink);border:0.5px solid var(--border);}
.btn-outline:hover{background:var(--pd);}
.btn-danger{background:#e03131;color:#fff;border:1px solid #e03131;}
.btn-danger:hover{background:#c92a2a;border-color:#c92a2a;color:#fff;}
.btn-gold{background:var(--gold);color:var(--paper);}
.btn-gold:hover{opacity:0.85;}
.btn-green{background:var(--accent);color:var(--paper);}
.btn-sm{padding:0.35rem 0.75rem;font-size:0.72rem;}
/* LIST PAGE */
.toolbar{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1.5rem;border-bottom:0.5px solid var(--border);background:var(--paper);flex-shrink:0;flex-wrap:wrap;}
.search-wrap{position:relative;min-width:200px;flex:1;max-width:300px;}
.search-wrap input{width:100%;padding:0.5rem 0.75rem 0.5rem 2rem;background:var(--pd);border:0.5px solid var(--border);border-radius:2px;font-family:'Instrument Sans',sans-serif;font-size:0.82rem;color:var(--ink);outline:none;}
.search-wrap input:focus{border-color:var(--accent);}
.si{position:absolute;left:0.6rem;top:50%;transform:translateY(-50%);color:var(--muted);}
.filter-btn{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.08em;padding:0.35rem 0.75rem;border-radius:2px;cursor:pointer;border:0.5px solid var(--border);background:transparent;color:var(--muted);}
.filter-btn.active{background:var(--accent);color:var(--paper);border-color:var(--accent);}
.table-wrap{flex:1;overflow-y:auto;overflow-x:hidden;}
table{width:100%;border-collapse:collapse;table-layout:fixed;}
thead th{padding:0.6rem 1rem;text-align:left;font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);background:var(--pd);border-bottom:0.5px solid var(--border);position:sticky;top:0;z-index:2;cursor:pointer;white-space:nowrap;}
thead th:hover{color:var(--ink);}
tbody tr{border-bottom:0.5px solid var(--border);cursor:pointer;}
tbody tr:hover{background:var(--pd);}
tbody td{padding:0.7rem 1rem;font-size:0.83rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.stage-badge{display:inline-block;padding:0.2rem 0.6rem;border-radius:2px;font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;}
.s-Prospect{background:rgba(184,145,42,0.12);color:#8a6a10;}
.s-Contacted{background:rgba(42,74,46,0.1);color:var(--accent);}
.s-Responded{background:rgba(42,100,180,0.1);color:#2a4ab4;}
.s-Audit{background:rgba(100,42,180,0.1);color:#642ab4;}
.s-Proposal{background:rgba(180,100,42,0.1);color:#b4642a;}
.s-Client{background:rgba(42,74,46,0.2);color:var(--accent);}
.s-Not{background:rgba(139,42,42,0.1);color:var(--danger);}
.cdot{display:inline-block;width:7px;height:7px;border-radius:50%;}
.dg{background:var(--green);}.do{background:var(--orange);}.dr{background:var(--red);}.dn{background:var(--muted);opacity:0.4;}
.lc-cell{display:flex;align-items:center;gap:0.4rem;}
.fu-cell{font-family:'DM Mono',monospace;font-size:0.7rem;}
.fu-ov{color:var(--red);font-weight:500;}.fu-td{color:var(--orange);font-weight:500;}.fu-fu{color:var(--accent);}.fu-no{color:var(--muted);opacity:0.5;}
.pct-cell{font-family:'DM Mono',monospace;font-size:0.68rem;color:var(--muted);}
.pct-done{color:var(--accent);}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 2rem;color:var(--muted);gap:1rem;}
.es-icon{font-size:2.5rem;opacity:0.3;}
.es-txt{font-family:'DM Mono',monospace;font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;}
/* CONTACT PAGE */
.contact-layout{display:flex;flex:1;overflow:hidden;}
.c-sidebar{width:230px;border-right:0.5px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;background:var(--paper);flex-shrink:0;}
.cs-back{display:flex;align-items:center;gap:0.5rem;padding:0.9rem 1.25rem;font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.08em;color:var(--muted);cursor:pointer;border:none;background:none;border-bottom:0.5px solid var(--border);text-align:left;width:100%;}
.cs-back:hover{color:var(--ink);background:var(--pd);}
.cs-identity{padding:1.25rem;border-bottom:0.5px solid var(--border);}
.cs-name{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;line-height:1.2;}
.cs-company{font-size:0.78rem;color:var(--muted);margin-top:0.25rem;}
.cs-nav{padding:0.5rem 0;border-bottom:0.5px solid var(--border);}
.snav{display:flex;align-items:center;gap:0.5rem;width:100%;padding:0.65rem 1.25rem;font-family:'DM Mono',monospace;font-size:0.68rem;letter-spacing:0.08em;cursor:pointer;background:none;border:none;color:var(--muted);text-align:left;}
.snav:hover{color:var(--ink);background:var(--pd);}
.snav.active{color:var(--accent);}
.snav.active::before{content:'';width:3px;height:3px;background:var(--accent);border-radius:50%;flex-shrink:0;}
.cs-meta{padding:1.25rem;font-size:0.78rem;}
.cs-meta-row{display:flex;flex-direction:column;gap:0.15rem;margin-bottom:0.75rem;}
.cs-meta-lbl{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);}
.cs-meta-val{font-size:0.8rem;color:var(--ink);}
.c-main{flex:1;overflow-y:auto;padding:2rem 2.5rem;}
/* OVERVIEW */
.section{margin-bottom:2rem;}
.section-lbl{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold);margin-bottom:0.75rem;}
.field-row{display:flex;gap:0.5rem;align-items:center;margin-bottom:0.5rem;}
.field-row input[type="date"]{flex:1;padding:0.5rem 0.75rem;background:var(--pd);border:0.5px solid var(--border);border-radius:2px;font-family:'Instrument Sans',sans-serif;font-size:0.83rem;color:var(--ink);outline:none;}
.field-row input:focus{border-color:var(--accent);}
select.stage-sel{width:100%;padding:0.6rem 0.75rem;background:var(--pd);border:0.5px solid var(--border);border-radius:2px;font-family:'Instrument Sans',sans-serif;font-size:0.85rem;color:var(--ink);outline:none;cursor:pointer;}
.badge{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.2rem 0.6rem;border-radius:2px;flex-shrink:0;}
.bg-good{background:rgba(42,74,46,0.12);color:var(--green);}
.bg-ok{background:rgba(184,96,26,0.12);color:var(--orange);}
.bg-critical{background:rgba(139,42,42,0.12);color:var(--red);}
.bg-none{background:rgba(107,103,96,0.1);color:var(--muted);}
.outcomes{display:flex;gap:0.4rem;flex-wrap:wrap;margin-top:0.4rem;}
.out-btn{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.06em;padding:0.3rem 0.65rem;border-radius:2px;cursor:pointer;border:0.5px solid var(--border);background:transparent;color:var(--muted);}
.out-btn:hover{background:var(--pd);color:var(--ink);}
.out-btn.active{background:var(--accent);color:var(--paper);border-color:var(--accent);}
.info-grid{display:flex;flex-direction:column;gap:0.5rem;}
.info-row{display:flex;gap:0.75rem;align-items:flex-start;}
.info-lbl{font-family:'DM Mono',monospace;font-size:0.63rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);width:72px;flex-shrink:0;padding-top:0.1rem;}
.info-val{font-size:0.83rem;color:var(--ink);word-break:break-word;}
.info-val a{color:var(--accent);text-decoration:none;}
/* NOTES */
.notes-list{display:flex;flex-direction:column;gap:0.6rem;margin-bottom:1rem;}
.note-item{background:var(--pd);border:0.5px solid var(--border);border-radius:2px;padding:0.65rem 0.75rem;position:relative;}
.note-date{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;color:var(--gold);margin-bottom:0.3rem;}
.note-text{font-size:0.82rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;}
.note-del{position:absolute;top:0.4rem;right:0.4rem;background:none;border:none;cursor:pointer;color:var(--muted);font-size:0.75rem;opacity:0;transition:opacity 0.15s;}
.note-item:hover .note-del{opacity:1;}
.note-del:hover{color:var(--danger);}
.note-wrap{display:flex;gap:0.5rem;align-items:flex-end;}
.note-wrap textarea{flex:1;padding:0.5rem 0.75rem;background:var(--pd);border:0.5px solid var(--border);border-radius:2px;font-family:'Instrument Sans',sans-serif;font-size:0.83rem;color:var(--ink);outline:none;resize:none;min-height:60px;}
.note-wrap textarea:focus{border-color:var(--accent);}
/* CHECKLIST */
.cp-wrap{display:flex;align-items:center;gap:0.75rem;margin-bottom:1.5rem;padding:0.75rem 1rem;background:var(--pd);border-radius:2px;border:0.5px solid var(--border);}
.cp-bar-bg{flex:1;height:3px;background:var(--border);border-radius:2px;}
.cp-bar{height:100%;background:var(--accent);border-radius:2px;transition:width 0.3s;}
.cp-lbl{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.08em;color:var(--muted);white-space:nowrap;}
.cl-section{margin-bottom:1.5rem;}
.cl-sec-title{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;margin-bottom:0.75rem;display:flex;align-items:center;justify-content:space-between;}
.cl-sec-ct{font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--muted);}
.cl-items{border:0.5px solid var(--border);border-radius:2px;overflow:hidden;}
.cl-item{border-bottom:0.5px solid var(--border);}
.cl-item:last-child{border-bottom:none;}
.cl-hdr{display:flex;align-items:flex-start;gap:0.65rem;padding:0.7rem 0.75rem;cursor:pointer;}
.cl-hdr:hover{background:var(--pd);}
.ci-chk{width:16px;height:16px;border:1.5px solid var(--border);border-radius:2px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.cl-item.checked .ci-chk{background:var(--accent);border-color:var(--accent);}
.cl-item.checked .ci-chk::after{content:'✓';color:white;font-size:0.65rem;font-weight:600;}
.cl-item.na-item .ci-chk{background:var(--pd);}
.cl-item.na-item .ci-chk::after{content:'—';color:var(--muted);font-size:0.65rem;}
.ci-body{flex:1;min-width:0;}
.ci-title{font-size:0.82rem;font-weight:500;margin-bottom:0.15rem;}
.cl-item.checked .ci-title{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(107,103,96,0.4);}
.cl-item.na-item .ci-title{color:var(--muted);}
.ci-desc{font-size:0.73rem;color:var(--muted);line-height:1.45;}
.ci-tool{font-family:'DM Mono',monospace;font-size:0.58rem;color:var(--gold);background:rgba(184,145,42,0.08);padding:0.12rem 0.4rem;border-radius:2px;margin-top:0.3rem;display:inline-block;}
.ci-p{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.08em;padding:0.15rem 0.4rem;border-radius:2px;flex-shrink:0;}
.p-high{background:rgba(139,42,42,0.1);color:var(--red);}
.p-med{background:rgba(184,145,42,0.1);color:#8a6a10;}
.p-low{background:rgba(42,74,46,0.1);color:var(--accent);}
.ci-acts{display:flex;gap:0.4rem;margin-top:0.3rem;}
.ci-note-toggle,.ci-na-btn{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.06em;color:var(--muted);cursor:pointer;background:none;border:none;}
.ci-note-toggle:hover,.ci-na-btn:hover{color:var(--ink);}
.ci-note-toggle.has-note{color:var(--gold);}
.ci-note-wrap{padding:0 0.75rem 0.65rem 2.25rem;display:none;}
.ci-note-wrap.open{display:block;}
.ci-note-input{width:100%;padding:0.4rem 0.65rem;background:var(--pd);border:0.5px solid var(--border);border-radius:2px;font-family:'Instrument Sans',sans-serif;font-size:0.78rem;color:var(--ink);outline:none;resize:none;min-height:48px;}
/* PORTAL TAB */
.portal-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:0.5px solid var(--border);}
.portal-section:last-child{border-bottom:none;}
.toggle-row{display:flex;align-items:center;gap:1rem;}
.toggle{position:relative;width:40px;height:22px;cursor:pointer;flex-shrink:0;}
.toggle input{opacity:0;width:0;height:0;}
.toggle-track{position:absolute;inset:0;background:var(--border);border-radius:11px;transition:background 0.2s;}
.toggle input:checked~.toggle-track{background:var(--accent);}
.toggle-thumb{position:absolute;width:16px;height:16px;background:white;border-radius:50%;top:3px;left:3px;transition:transform 0.2s;pointer-events:none;}
.toggle input:checked~.toggle-track~.toggle-thumb{transform:translateX(18px);}
.toggle-lbl{font-size:0.85rem;color:var(--ink);}
.portal-email-row{display:flex;gap:0.5rem;align-items:center;margin-top:0.75rem;}
.portal-email-row input{flex:1;padding:0.55rem 0.75rem;background:var(--pd);border:0.5px solid var(--border);border-radius:2px;font-family:'Instrument Sans',sans-serif;font-size:0.85rem;color:var(--ink);outline:none;}
.portal-email-row input:focus{border-color:var(--accent);}
.biz-card{background:var(--pd);border:0.5px solid var(--border);border-radius:3px;padding:1.25rem;margin-bottom:0.75rem;}
.biz-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;}
.biz-name-input{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;background:transparent;border:none;border-bottom:0.5px solid var(--border);outline:none;color:var(--ink);padding-bottom:0.2rem;width:60%;}
.biz-fields{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;margin-bottom:1rem;}
.biz-field{display:flex;flex-direction:column;gap:0.25rem;}
.biz-field label{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.biz-field input{padding:0.45rem 0.65rem;background:var(--paper);border:0.5px solid var(--border);border-radius:2px;font-family:'Instrument Sans',sans-serif;font-size:0.82rem;color:var(--ink);outline:none;}
.biz-field input:focus{border-color:var(--accent);}
.biz-tabs-lbl{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:0.5rem;}
.biz-tabs{display:flex;gap:0.4rem;flex-wrap:wrap;margin-bottom:1rem;}
.tab-toggle{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.06em;padding:0.3rem 0.65rem;border-radius:2px;cursor:pointer;border:0.5px solid var(--border);background:transparent;color:var(--muted);}
.tab-toggle.on{background:var(--accent);color:var(--paper);border-color:var(--accent);}
.biz-files-lbl{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:0.5rem;}
.biz-files{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:0.75rem;}
.file-item{display:flex;align-items:center;gap:0.4rem;background:var(--paper);border:0.5px solid var(--border);border-radius:2px;padding:0.3rem 0.65rem;font-family:'DM Mono',monospace;font-size:0.65rem;}
.file-del{background:none;border:none;cursor:pointer;color:var(--muted);font-size:0.75rem;}
.file-del:hover{color:var(--danger);}
.upload-area{display:flex;gap:0.5rem;flex-wrap:wrap;}
.msg-list{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:0.75rem;}
.msg-item{background:var(--paper);border:0.5px solid var(--border);border-radius:2px;padding:0.6rem 0.75rem;position:relative;}
.msg-date{font-family:'DM Mono',monospace;font-size:0.58rem;color:var(--gold);margin-bottom:0.2rem;}
.msg-text{font-size:0.82rem;line-height:1.5;}
.msg-del{position:absolute;top:0.4rem;right:0.4rem;background:none;border:none;cursor:pointer;color:var(--muted);font-size:0.75rem;opacity:0;transition:opacity 0.15s;}
.msg-item:hover .msg-del{opacity:1;}
.msg-del:hover{color:var(--danger);}
.msg-input-wrap{display:flex;gap:0.5rem;align-items:flex-end;}
.msg-input-wrap textarea{flex:1;padding:0.5rem 0.75rem;background:var(--pd);border:0.5px solid var(--border);border-radius:2px;font-family:'Instrument Sans',sans-serif;font-size:0.83rem;color:var(--ink);outline:none;resize:none;min-height:55px;}
/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(14,13,11,0.5);z-index:100;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.2s;backdrop-filter:blur(2px);}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--paper);border:0.5px solid var(--border);border-radius:4px;width:580px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;}
.modal-hdr{padding:1.25rem 1.5rem;border-bottom:0.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.modal-title{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;}
.modal-body{padding:1.5rem;overflow-y:auto;flex:1;}
.modal-footer{padding:1rem 1.5rem;border-top:0.5px solid var(--border);display:flex;gap:0.5rem;justify-content:flex-end;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;}
.fg{display:flex;flex-direction:column;gap:0.3rem;}
.fg.full{grid-column:1/-1;}
.fg label{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.fg input,.fg select,.fg textarea{padding:0.55rem 0.75rem;background:var(--pd);border:0.5px solid var(--border);border-radius:2px;font-family:'Instrument Sans',sans-serif;font-size:0.85rem;color:var(--ink);outline:none;width:100%;}
.fg input:focus,.fg select:focus{border-color:var(--accent);}
.biz-modal-list{display:flex;flex-direction:column;gap:0.5rem;margin-top:0.5rem;}
.biz-modal-row{display:flex;gap:0.5rem;align-items:center;}
.biz-modal-row input{flex:1;padding:0.5rem 0.75rem;background:var(--pd);border:0.5px solid var(--border);border-radius:2px;font-family:'Instrument Sans',sans-serif;font-size:0.83rem;color:var(--ink);outline:none;}
.rm-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1rem;padding:0 0.25rem;}
.rm-btn:hover{color:var(--danger);}
.x-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1.2rem;padding:0.25rem;line-height:1;}
.x-btn:hover{color:var(--ink);}
.loading{display:flex;align-items:center;justify-content:center;flex:1;background:var(--ink);}
.loading-txt{font-family:'DM Mono',monospace;font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(245,242,235,0.4);animation:pulse 1.5s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:0.4}50%{opacity:1}}
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}

/* ── Confirm dialog (replaces native confirm()) ───────────────────── */
.confirm-overlay{position:fixed;inset:0;background:rgba(14,13,11,0.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;}
.confirm-box{background:var(--paper);border:0.5px solid var(--border);border-radius:4px;max-width:420px;width:100%;padding:1.5rem;box-shadow:0 8px 40px rgba(14,13,11,0.25);}
.confirm-msg{font-family:'Instrument Sans',sans-serif;font-size:0.9rem;line-height:1.5;color:var(--ink);margin-bottom:1.25rem;}
.confirm-actions{display:flex;justify-content:flex-end;gap:0.5rem;}

/* ── Toast (replaces alert()) ─────────────────────────────────────── */
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%) translateY(150%);background:var(--ink);color:var(--paper);font-family:'Instrument Sans',sans-serif;font-size:0.83rem;line-height:1.4;padding:0.7rem 1.1rem;border-radius:3px;max-width:90vw;box-shadow:0 6px 24px rgba(14,13,11,0.3);opacity:0;transition:transform 0.25s ease,opacity 0.25s ease;z-index:1100;pointer-events:none;}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1;}
.toast.error{background:var(--danger);}

