/* VisaDone B2B — shared styles for partner / business / ops surfaces */
:root{--brand:#F58017;--brand-dark:#D86A0A;--ink:#212529;--muted:#667085;--line:#e6e8ec;--bg:#f5f7fb}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--brand)}
.top{background:#000;color:#fff;padding:13px 24px;display:flex;align-items:center;justify-content:space-between}
.top .b{font-weight:700;font-size:16px}.top .b span{opacity:.75;font-weight:400;color:var(--brand)}
.top .right{display:flex;gap:12px;align-items:center;font-size:13px}
.top button{background:var(--brand);color:#fff;border:0;border-radius:25px;padding:7px 16px;font-weight:600;cursor:pointer;font-size:13px}
.top button:hover{background:var(--brand-dark)}
.wrap{max-width:1100px;margin:0 auto;padding:24px 20px 80px}
.center{max-width:440px;margin:8vh auto;padding:0 20px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 6px 24px rgba(16,24,40,.05);margin-bottom:22px}
.card h2{margin:0 0 4px;font-size:18px}.card .sub{color:var(--muted);font-size:13px;margin-bottom:14px}
h1{font-size:26px;margin:0 0 8px}
label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin:14px 0 6px}
input,select{width:100%;font-size:15px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:10px;outline:none}
input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(245,128,23,.18)}
.two{display:flex;gap:12px}.two>div{flex:1}
.btn{margin-top:16px;width:100%;background:var(--brand);color:#fff;border:0;padding:13px;border-radius:25px;font-size:15px;font-weight:600;cursor:pointer;letter-spacing:.2px}
.btn:hover{background:var(--brand-dark)}
.btn.ghost{background:#FEF3E6;color:var(--brand)}
.btn.sm{width:auto;margin:0;padding:7px 12px;font-size:13px;border-radius:8px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
@media(max-width:760px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px}
.kpi .n{font-size:24px;font-weight:800}.kpi .l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:11px 10px;border-bottom:1px solid #f2f4f7;vertical-align:middle}
.mini{font-size:12px;color:var(--muted)}
.chip{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}
.c-agent{background:#ecfdf3;color:#067647}.c-corporate{background:#FEF3E6;color:#D86A0A}
.badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap}
.s-submitted{background:#eff8ff;color:#175cd3}.s-documents_verified{background:#f0f9ff;color:#0369a1}
.s-under_review{background:#fffaeb;color:#b54708}.s-approved,.s-visa_issued{background:#ecfdf3;color:#067647}
.s-rejected{background:#fef3f2;color:#b42318}.s-decision_made{background:#f4f3ff;color:#5925dc}
.s-default{background:#f2f4f7;color:#475467}
.err{background:#fef3f2;border:1px solid #fecdca;color:#b42318;border-radius:10px;padding:10px 12px;font-size:13px;margin-top:12px;display:none}
.err.show{display:block}
.ok{background:#ecfdf3;border:1px solid #abefc6;color:#067647;border-radius:10px;padding:10px 12px;font-size:13px;margin-top:12px;display:none}
.ok.show{display:block}
.empty{color:var(--muted);font-size:14px;padding:16px;text-align:center}
pre{background:#0b1324;color:#d6e0ff;padding:14px;border-radius:12px;overflow:auto;font-size:12px;line-height:1.5;margin:0}
.row2{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}
@media(max-width:820px){.row2{grid-template-columns:1fr}}

/* Unified dashboard header (VisaDone logo + logout) */
.dashboard-header {
    background: white;
    border-bottom: 1px solid #e2e8f0;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
    padding: 14px 0;
    position: sticky;
    top: 0;
    z-index: 50;
}
.dashboard-header .nav-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.dashboard-header .logo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 1.25rem;
    font-weight: 700;
    color: #F58017;
    text-decoration: none;
}
.dashboard-header .logo i { font-size: 1.4rem; }
.dashboard-meta {
    display: flex;
    align-items: center;
    gap: 16px;
}
.dashboard-who {
    font-size: 0.88rem;
    color: #64748b;
    font-weight: 500;
}
.dashboard-logout {
    font-size: 0.85rem;
    padding: 7px 14px;
    border-radius: 8px;
    cursor: pointer;
}
