:root{--bg: #0f172a;--surface: #ffffff;--text: #1e293b;--muted: #64748b;--primary: #2563eb;--primary-d: #1d4ed8;--danger: #dc2626;--border: #e2e8f0}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f1f5f9;color:var(--text)}a{color:var(--primary);text-decoration:none}.centered{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0f172a0f;min-width:0}.login-card{width:100%;max-width:360px}.login-title{margin:0;font-size:1.6rem;text-align:center;color:var(--primary)}.login-sub{margin:.25rem 0 1.25rem;text-align:center;color:var(--muted)}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field span{font-size:.85rem;color:var(--muted)}.field input{padding:.6rem .7rem;border:1px solid var(--border);border-radius:8px;font-size:1rem}.field input:focus,.field select:focus{outline:none;border-color:var(--primary)}.field select{padding:.6rem .7rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:#fff}.checkbox{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.9rem}.btn{cursor:pointer;border:none;border-radius:8px;padding:.6rem 1rem;font-size:.95rem;font-weight:500}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--primary);color:#fff;width:100%}.btn-primary:hover:not(:disabled){background:var(--primary-d)}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-ghost:hover{background:#f8fafc}.btn-danger{background:var(--danger);color:#fff;padding:.4rem .7rem;font-size:.85rem}.alert{background:#fef2f2;color:var(--danger);border:1px solid #fecaca;border-radius:8px;padding:.6rem .8rem;margin-bottom:1rem;font-size:.9rem}.topbar{display:flex;align-items:center;gap:1.5rem;background:var(--surface);border-bottom:1px solid var(--border);padding:.75rem 1.5rem}.brand a{font-weight:700;font-size:1.15rem;color:var(--primary)}.nav{display:flex;gap:1rem;flex:1}.nav a{color:var(--text);font-size:.95rem}.userbox{display:flex;align-items:center;gap:.75rem}.username{font-size:.9rem;color:var(--muted);display:flex;align-items:center;gap:.4rem}.badge{background:var(--primary);color:#fff;font-size:.7rem;padding:.1rem .4rem;border-radius:6px}.content{max-width:960px;margin:1.5rem auto;padding:0 1.5rem;display:flex;flex-direction:column;gap:1.5rem}.muted{color:var(--muted)}.users-page{display:flex;flex-direction:column;gap:1.5rem}.table{width:100%;border-collapse:collapse;margin-top:.5rem}.table th,.table td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--border);font-size:.92rem}.table th{color:var(--muted);font-weight:600}.row-actions{text-align:right}.user-form{max-width:420px}.stack{display:flex;flex-direction:column;gap:1.5rem}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}@media (max-width: 560px){.grid-2{grid-template-columns:1fr}}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.form-actions .btn-primary{width:auto}.deal-form{max-width:640px}.status{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.78rem;font-weight:500;white-space:nowrap}.status-quote{background:#eff6ff;color:#1d4ed8}.status-awaiting_client_response{background:#fefce8;color:#a16207}.status-in_progress{background:#f0fdf4;color:#15803d}.status-deal_closed{background:#f1f5f9;color:#475569}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-top:1rem}.kpi{border:1px solid var(--border);border-radius:10px;padding:.6rem .8rem;display:flex;flex-direction:column;gap:.2rem}.kpi span{font-size:.78rem;color:var(--muted)}.kpi strong{font-size:1.05rem;white-space:nowrap}.kpi-accent{border-color:#fca5a5;background:#fef2f2}.toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.toolbar .search{flex:1;min-width:220px;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem}.toolbar .search:focus{outline:none;border-color:var(--primary)}.toolbar-check{margin-bottom:0}.table-wrap{overflow-x:auto;max-width:100%}.table .num{text-align:right;white-space:nowrap}.saldo-debt{color:var(--danger);font-weight:600}.saldo-over{color:#15803d;font-weight:600}.saldo-zero{color:var(--muted)}.note-cell{max-width:220px;font-size:.85rem;color:var(--muted)}.badge-kind{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.72rem;font-weight:500;vertical-align:middle}.badge-cargo{background:#eff6ff;color:#1d4ed8}.badge-service{background:#fdf4ff;color:#a21caf}.badge-archive{background:#fff7ed;color:#c2410c}.deal-client-hint{display:inline-block;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;font-size:.85rem;color:var(--muted)}.mark-legs{margin:.15rem 0 0;padding-left:1rem;font-size:.88rem}.checkbox-inline{font-size:.85rem;color:var(--muted);display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}.deal-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.deal-client{margin:.35rem 0 0;font-size:.95rem}.hist{display:flex;flex-direction:column;gap:.9rem;margin-top:.5rem}.hist-event{border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:8px;padding:.7rem .9rem}.hist-appeared{border-left-color:#16a34a}.hist-disappeared{border-left-color:var(--danger)}.hist-head{font-size:.9rem}.hist-saldo{font-size:.88rem;color:var(--muted);margin-top:.25rem}.hist-list{margin:.5rem 0 0;padding-left:1.1rem;font-size:.88rem}.hist-list li{margin-bottom:.15rem}.diff-add{color:#15803d}.diff-del{color:var(--danger)}.btn-inline{width:auto}.review-card{border:2px solid var(--primary)}.review-counts{display:flex;gap:1.25rem;flex-wrap:wrap;font-size:.92rem;margin-bottom:.75rem}.review-block{margin-bottom:.9rem}.review-block h4{margin:0 0 .4rem;font-size:.95rem}.review-diff .hist-event{margin-bottom:.6rem}.flash{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0;border-radius:8px;padding:.6rem .8rem;margin:.5rem 0;font-size:.92rem}.flash .sync-err{color:var(--danger)}.notice{background:#fffbeb;color:#92400e;border:1px solid #fde68a;border-radius:8px;padding:.6rem .8rem;margin:.5rem 0;font-size:.92rem}.notice .muted,.alert .muted{display:block;margin-top:.25rem;font-size:.85rem}.field-inline{flex-direction:row;align-items:center;gap:.5rem;margin-bottom:0}.field-inline select{min-width:150px}.filter-group{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:0;padding:.35rem .75rem .6rem;border:1px solid var(--border);border-radius:8px}.filter-group legend{padding:0 .35rem;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.filter-chips{display:inline-flex;gap:.35rem;flex-wrap:wrap;vertical-align:middle}.filter-chip{padding:.1rem .45rem;border:1px solid var(--border);border-radius:999px;font-size:.8rem;white-space:nowrap}.filter-chip.chip-google{border-color:#fca5a5;background:#fef2f2}.filter-chip.chip-db{border-color:#93c5fd;background:#eff6ff}.kpi-inline{margin-left:auto}.kpi-pair{margin-left:auto;display:flex;flex-wrap:wrap;gap:.75rem}.mindiff-input{width:110px;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem}.mindiff-input:focus{outline:none;border-color:var(--primary)}.kpi-filtered{border-color:var(--primary);background:#eff6ff}.btn-group{display:flex;gap:.5rem}.total-row td{font-weight:700;border-top:2px solid var(--border)}.flash .muted{color:var(--muted)}.badge-auto{display:inline-block;margin-left:.4rem;padding:.1rem .5rem;border-radius:999px;font-size:.7rem;font-weight:500;background:#ecfdf5;color:#047857;white-space:nowrap}.cell-flag{text-align:center;white-space:nowrap}.col-done{width:1%;min-width:5.6rem;text-align:center;white-space:nowrap}.col-id{width:1%;min-width:3rem;text-align:right;white-space:nowrap}.col-money{width:1%;min-width:6.5rem;text-align:right;white-space:nowrap}.table th.col-money{white-space:normal}.col-client{min-width:9rem;max-width:24rem}.col-number{min-width:7rem;max-width:12rem}.flag{font-size:.95rem;font-weight:700;line-height:1}.done-date{font-size:.8rem;font-weight:500;white-space:nowrap}.flag-yes{color:#047857}.flag-no{color:var(--danger)}.badge-part{display:inline-block;margin-left:.4rem;padding:.1rem .5rem;border-radius:999px;font-size:.7rem;font-weight:500;background:#fefce8;color:#a16207;white-space:nowrap}.note-ref{margin-left:.2rem;font-size:.7rem;font-weight:600;color:var(--muted)}.notes{margin:.5rem 0 0;padding-left:1.4rem;color:var(--muted);font-size:.9rem}.notes li{margin-bottom:.5rem;line-height:1.45}.notes li strong{color:inherit}
