:root{
    --primary:#1d4ed8;
    --primary-dark:#0f172a;
    --bg:#f8fafc;
    --card:#ffffff;
    --muted:#64748b;
    --border:#e2e8f0;
    --success:#16a34a;
    --warning:#f59e0b;
    --danger:#dc2626;
    --radius:18px;
    --shadow:0 18px 45px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:#0f172a}
a{text-decoration:none;color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:270px;background:#0f172a;color:#fff;padding:24px;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:12px;margin-bottom:34px}.brand-mark{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#2563eb,#38bdf8);display:grid;place-items:center;font-weight:900}.brand strong{display:block;font-size:18px}.brand span{display:block;color:#94a3b8;font-size:13px;margin-top:3px}.menu{display:grid;gap:8px}.menu a{padding:13px 14px;border-radius:12px;color:#cbd5e1}.menu a:hover{background:rgba(255,255,255,.08);color:#fff}.main{margin-left:270px;width:calc(100% - 270px);padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:6px 0 0;color:var(--muted)}.user-pill{background:#fff;border:1px solid var(--border);border-radius:999px;padding:10px 16px;box-shadow:0 6px 18px rgba(15,23,42,.05)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:18px}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.metric{padding:22px;border-radius:18px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}.metric span{color:var(--muted);font-size:13px}.metric strong{display:block;font-size:30px;margin-top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:11px 15px;font-weight:700;cursor:pointer;background:#e2e8f0;color:#0f172a}.btn-primary{background:var(--primary);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-light{background:#f1f5f9}.actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0}.table th{text-align:left;color:#475569;background:#f8fafc;font-size:13px}.table th,.table td{padding:13px 12px;border-bottom:1px solid var(--border);vertical-align:top}.table tr:hover td{background:#f8fafc}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:800;color:#334155}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px 13px;font-size:15px;background:#fff}.field textarea{min-height:110px;resize:vertical}.span-2{grid-column:span 2}.alert{padding:14px 16px;border-radius:14px;margin-bottom:18px;border:1px solid}.alert-success{background:#ecfdf5;color:#166534;border-color:#bbf7d0}.alert-danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}.alert-warning{background:#fffbeb;color:#92400e;border-color:#fde68a}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;color:#fff;font-weight:800;font-size:12px}.muted{color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0f172a,#1d4ed8)}.login-card{width:min(440px,92vw);background:#fff;border-radius:24px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.25)}.login-card h1{margin:0 0 8px}.login-card p{margin:0 0 20px;color:var(--muted)}.public-page{min-height:100vh;background:#f8fafc}.public-hero{background:linear-gradient(135deg,#0f172a,#1d4ed8);color:#fff;padding:42px 20px}.public-container{max-width:1050px;margin:0 auto}.public-card{background:#fff;border-radius:24px;padding:28px;margin-top:-30px;box-shadow:var(--shadow);border:1px solid var(--border)}.public-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.progress-line{display:flex;align-items:center;gap:8px;margin:28px 0;overflow:auto;padding-bottom:8px}.step{min-width:120px;text-align:center}.dot{width:28px;height:28px;margin:0 auto 8px;border-radius:999px;background:#cbd5e1;border:4px solid #e2e8f0}.step.done .dot{background:#16a34a;border-color:#bbf7d0}.step.current .dot{background:#2563eb;border-color:#bfdbfe}.connector{height:3px;min-width:45px;background:#cbd5e1}.connector.done{background:#16a34a}.timeline{display:grid;gap:12px}.timeline-item{border-left:4px solid #2563eb;background:#f8fafc;border-radius:14px;padding:14px 16px}.timeline-item strong{display:block}.empty{padding:30px;text-align:center;color:var(--muted);background:#fff;border-radius:18px;border:1px dashed #cbd5e1}.copy-box{display:flex;gap:8px;align-items:center}.copy-box input{flex:1;border:1px solid var(--border);border-radius:12px;padding:11px;background:#f8fafc}
@media(max-width:900px){.sidebar{position:static;width:100%;}.app-shell{display:block}.main{margin-left:0;width:100%;padding:18px}.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.topbar{align-items:flex-start;gap:12px;flex-direction:column}.public-title{flex-direction:column}.menu{grid-template-columns:repeat(2,1fr)}}

/* Patch: importação de espelho de nota */
.import-hero {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    background: linear-gradient(135deg, #ffffff 0%, #eef6ff 100%);
    border: 1px solid #dbeafe;
}

.import-hero h2 {
    margin: 0 0 8px;
    color: #0f172a;
}

.import-hero p {
    margin: 0;
    color: #475569;
}

.import-badge {
    background: #1d4ed8;
    color: #fff;
    border-radius: 999px;
    padding: 10px 16px;
    font-weight: 700;
    white-space: nowrap;
}

.form-group small,
.muted,
table small {
    color: #64748b;
}

.summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.summary-grid div {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 14px;
}

.summary-grid span {
    display: block;
    color: #64748b;
    font-size: 12px;
    margin-bottom: 5px;
}

.summary-grid strong {
    color: #0f172a;
}

.confirm-import {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
}

.confirm-import p {
    margin: 6px 0 0;
    color: #166534;
}

@media (max-width: 900px) {
    .summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .confirm-import,
    .import-hero {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 560px) {
    .summary-grid {
        grid-template-columns: 1fr;
    }
}

/* Patch: leitura do PDF pelo navegador */
.pdf-import-status {
    margin-top: 10px;
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid #dbeafe;
    background: #eff6ff;
    color: #1e40af;
}
.pdf-import-status.success {
    background: #ecfdf5;
    color: #166534;
    border-color: #bbf7d0;
}
.pdf-import-status.warning {
    background: #fffbeb;
    color: #92400e;
    border-color: #fde68a;
}
.pdf-import-status.info {
    background: #eff6ff;
    color: #1e40af;
    border-color: #bfdbfe;
}
