﻿        :root {
            --primary: #1a3c5e;
            --primary-light: #2c5f8a;
            --secondary: #0d6b4f;
            --accent: #e8913a;
            --danger: #c0392b;
            --success: #27ae60;
            --warning: #f39c12;
            --info: #2980b9;
            --bg: #f0f4f8;
            --sidebar-bg: #0f2740;
            --sidebar-hover: #1a3d5c;
            --card-bg: #ffffff;
            --text: #2c3e50;
            --text-light: #5a6c7d;
            --text-white: #ecf0f1;
            --border: #dce3ea;
            --shadow: 0 2px 12px rgba(0,0,0,0.08);
            --shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
            --radius: 10px;
            --radius-sm: 6px;
            --transition: 0.25s ease;
            --sidebar-width: 260px;
            --font: 'Segoe UI', system-ui, -apple-system, sans-serif;
        }
        * { margin:0; padding:0; box-sizing:border-box; }
        body { font-family:var(--font); background:var(--bg); color:var(--text); min-height:100vh; display:flex; }

        /* SIDEBAR */
        .sidebar { width:var(--sidebar-width); height:100vh; position:fixed; top:0; left:0; background:var(--sidebar-bg); color:var(--text-white); z-index:100; display:flex; flex-direction:column; transition:transform var(--transition); overflow-y:auto; box-shadow:2px 0 20px rgba(0,0,0,0.25); }
        .sidebar-header { padding:22px 20px; border-bottom:1px solid rgba(255,255,255,0.1); text-align:center; }
        .sidebar-header h2 { font-size:1.1rem; font-weight:700; color:#fff; display:flex; align-items:center; gap:8px; justify-content:center; }
        .sidebar-header small { font-size:0.7rem; opacity:0.7; display:block; margin-top:2px; }
        .sidebar-nav { flex:1; padding:10px 0; }
        .sidebar-nav a { display:flex; align-items:center; gap:10px; padding:12px 20px; color:#bcccd6; text-decoration:none; font-size:0.9rem; font-weight:500; transition:var(--transition); border-left:3px solid transparent; cursor:pointer; }
        .sidebar-nav a:hover, .sidebar-nav a.active { background:var(--sidebar-hover); color:#fff; border-left-color:var(--accent); }
        .sidebar-nav a .nav-icon { font-size:1.2rem; width:24px; text-align:center; }
        .sidebar-footer { padding:14px 20px; border-top:1px solid rgba(255,255,255,0.1); font-size:0.78rem; opacity:0.7; }

        .rt-indicator { display:inline-flex; align-items:center; gap:5px; font-size:0.72rem; padding:3px 10px; border-radius:20px; background:rgba(39,174,96,0.15); color:#27ae60; border:1px solid rgba(39,174,96,0.3); }
        .rt-dot { width:7px; height:7px; border-radius:50%; background:#27ae60; animation:pulse-dot 2s infinite; }
        @keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.4;transform:scale(0.7)} }

        /* MAIN */
        .main-content { margin-left:var(--sidebar-width); flex:1; min-height:100vh; padding:20px 28px; width:calc(100% - var(--sidebar-width)); }
        .topbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:24px; background:var(--card-bg); padding:14px 20px; border-radius:var(--radius); box-shadow:var(--shadow); }
        .topbar h1 { font-size:1.3rem; font-weight:700; color:var(--primary); }
        .topbar .user-info { display:flex; align-items:center; gap:10px; font-size:0.85rem; color:var(--text-light); }
        .topbar .user-info .badge { background:var(--primary-light); color:#fff; padding:4px 12px; border-radius:20px; font-size:0.75rem; font-weight:600; text-transform:uppercase; }

        /* BUTTONS */
        .btn { display:inline-flex; align-items:center; gap:6px; padding:9px 16px; border:none; border-radius:var(--radius-sm); font-size:0.85rem; font-weight:600; cursor:pointer; transition:var(--transition); text-decoration:none; letter-spacing:0.3px; }
        .btn-primary { background:var(--primary-light); color:#fff; }
        .btn-primary:hover { background:var(--primary); box-shadow:var(--shadow); }
        .btn-success { background:var(--success); color:#fff; }
        .btn-success:hover { background:#219a52; }
        .btn-warning { background:var(--warning); color:#fff; }
        .btn-warning:hover { background:#d68910; }
        .btn-danger { background:var(--danger); color:#fff; }
        .btn-danger:hover { background:#a93226; }
        .btn-outline { background:transparent; border:2px solid var(--primary-light); color:var(--primary-light); }
        .btn-outline:hover { background:var(--primary-light); color:#fff; }
        .btn-sm { padding:5px 10px; font-size:0.75rem; }
        .btn-logout { background:transparent; border:1px solid #ccc; color:var(--text-light); padding:6px 12px; font-size:0.8rem; }
        .btn-logout:hover { background:#fee; border-color:var(--danger); color:var(--danger); }
        .btn-pdf { background:#8e44ad; color:#fff; }
        .btn-pdf:hover { background:#7d3c98; }

        /* CARDS */
        .cards-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:18px; margin-bottom:24px; }
        .card { background:var(--card-bg); border-radius:var(--radius); padding:18px 20px; box-shadow:var(--shadow); transition:var(--transition); border-left:4px solid var(--primary-light); }
        .card:hover { box-shadow:var(--shadow-lg); transform:translateY(-2px); }
        .card.card-accent { border-left-color:var(--accent); }
        .card.card-success { border-left-color:var(--success); }
        .card.card-danger { border-left-color:var(--danger); }
        .card.card-info { border-left-color:var(--info); }
        .card h3 { font-size:0.8rem; text-transform:uppercase; letter-spacing:0.8px; color:var(--text-light); margin-bottom:6px; }
        .card .card-value { font-size:1.8rem; font-weight:700; color:var(--primary); }
        .card .card-sub { font-size:0.75rem; color:var(--text-light); margin-top:2px; }

        /* TABELAS */
        .table-container { background:var(--card-bg); border-radius:var(--radius); box-shadow:var(--shadow); overflow-x:auto; margin-bottom:20px; }
        table { width:100%; border-collapse:collapse; font-size:0.85rem; min-width:700px; }
        table thead { background:#f5f7fa; }
        table th { padding:12px 14px; text-align:left; font-weight:700; color:var(--text); font-size:0.78rem; text-transform:uppercase; letter-spacing:0.5px; border-bottom:2px solid var(--border); white-space:nowrap; }
        table td { padding:10px 14px; border-bottom:1px solid var(--border); color:var(--text); }
        table tbody tr:hover { background:#f8fafc; }
        .status-badge { display:inline-block; padding:4px 10px; border-radius:14px; font-size:0.7rem; font-weight:700; letter-spacing:0.4px; text-transform:uppercase; }
        .status-open { background:#eaf6ff; color:#1a6fb5; }
        .status-progress { background:#fff8e6; color:#b87a0a; }
        .status-done { background:#e6f7ee; color:#1e7a42; }
        .status-paid { background:#e6f7ee; color:#1e7a42; }
        .status-pending { background:#fff0e6; color:#c0561e; }
        .status-cancelled { background:#fde8e8; color:#9b1c1c; }
        .status-aguard-servidor { background:#e8f4fd; color:#1a5276; }

        /* FORMS & MODALS */
        .form-group { margin-bottom:14px; }
        .form-group label { display:block; font-weight:600; font-size:0.82rem; margin-bottom:4px; color:var(--text); }
        .form-group input, .form-group select, .form-group textarea { width:100%; padding:10px 12px; border:1.5px solid var(--border); border-radius:var(--radius-sm); font-size:0.85rem; font-family:var(--font); transition:var(--transition); background:#fafbfc; }
        .form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--primary-light); box-shadow:0 0 0 3px rgba(44,95,138,0.08); background:#fff; }
        .form-group input[readonly] { background:#f0f0f0; cursor:not-allowed; color:var(--text-light); }
        .form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
        .form-row-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
        .modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.55); z-index:200; display:flex; align-items:center; justify-content:center; }
        .modal { background:#fff; border-radius:var(--radius); padding:24px; width:90%; max-width:700px; max-height:90vh; overflow-y:auto; box-shadow:var(--shadow-lg); }
        .modal h2 { margin-bottom:16px; color:var(--primary); font-size:1.2rem; }
        .modal-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; flex-wrap:wrap; }

        .categoria-tripla { background:#f8fafc; border:1.5px solid var(--border); border-radius:var(--radius-sm); padding:14px 16px; margin-bottom:14px; }
        .categoria-tripla h4 { font-size:0.82rem; color:var(--text-light); text-transform:uppercase; letter-spacing:0.5px; margin-bottom:10px; }
        .cat-row { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
        .cat-row input[type="checkbox"] { width:18px; height:18px; cursor:pointer; accent-color:var(--primary-light); flex-shrink:0; }
        .cat-row label { font-weight:600; font-size:0.85rem; min-width:130px; cursor:pointer; }
        .cat-row .cat-input { flex:1; padding:8px 10px; border:1.5px solid var(--border); border-radius:var(--radius-sm); font-size:0.85rem; }
        .cat-row .cat-input:disabled { background:#f0f0f0; color:#aaa; cursor:not-allowed; }
        .cat-row .cat-marca { width:140px; padding:8px 10px; border:1.5px solid var(--border); border-radius:var(--radius-sm); font-size:0.82rem; }
        .cat-row .cat-marca:disabled { background:#f0f0f0; color:#aaa; cursor:not-allowed; }
        .cat-row .cat-icon { font-size:1.1rem; }

        .desconto-box { background:#fff8e6; border:1.5px solid var(--warning); border-radius:var(--radius-sm); padding:12px 16px; margin-bottom:14px; }
        .desconto-box h4 { font-size:0.82rem; color:#856404; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:8px; }

        .sub-tabs { display:flex; gap:4px; border-bottom:2px solid var(--border); margin-bottom:16px; }
        .sub-tab { padding:8px 16px; border:none; background:none; font-size:0.85rem; font-weight:600; cursor:pointer; border-bottom:3px solid transparent; color:var(--text-light); margin-bottom:-2px; transition:var(--transition); }
        .sub-tab.active, .sub-tab:hover { color:var(--primary); border-bottom-color:var(--primary-light); }
        .sub-panel { display:none; }
        .sub-panel.active { display:block; }

        .badge-bloqueado { background:#fde8e8; color:#9b1c1c; padding:2px 8px; border-radius:10px; font-size:0.7rem; font-weight:700; }
        .badge-ativo { background:#e6f7ee; color:#1e7a42; padding:2px 8px; border-radius:10px; font-size:0.7rem; font-weight:700; }

        .audit-entry { border-left:3px solid var(--primary-light); padding:10px 14px; margin-bottom:8px; background:#f8fafc; border-radius:0 var(--radius-sm) var(--radius-sm) 0; font-size:0.82rem; }
        .audit-entry .audit-header { display:flex; justify-content:space-between; font-weight:700; margin-bottom:4px; color:var(--primary); }
        .audit-entry .audit-detail { color:var(--text-light); font-size:0.78rem; }

        .valor-discriminado { display:flex; gap:8px; flex-wrap:wrap; }
        .val-cat { background:#f0f4f8; border-radius:4px; padding:2px 8px; font-size:0.75rem; }
        .val-cat-mao { border-left:3px solid var(--accent); }
        .val-cat-pecas { border-left:3px solid var(--info); }
        .val-cat-almox { border-left:3px solid var(--success); }

        .page-section { display:none; }
        .page-section.active { display:block; }
        .section-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
        .section-header h2 { font-size:1.2rem; font-weight:700; color:var(--primary); }
        .filter-bar { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
        .filter-bar input, .filter-bar select { padding:8px 12px; border:1.5px solid var(--border); border-radius:var(--radius-sm); font-size:0.85rem; min-width:180px; }
        .empty-state { text-align:center; padding:30px; color:var(--text-light); font-style:italic; }
        .saldo-alert { background:#fff3cd; border:1px solid #ffc107; border-radius:var(--radius-sm); padding:10px 14px; font-size:0.82rem; margin-bottom:14px; color:#856404; }
        .info-alert { background:#e8f4fd; border:1px solid var(--info); border-radius:var(--radius-sm); padding:10px 14px; font-size:0.82rem; margin-bottom:14px; color:#1a5276; }

        /* LOGIN */
        .login-container { position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f2744 0%,#1d3557 50%,#0a1628 100%);min-height:100vh;z-index:9999; }
        .login-box { background:rgba(255,255,255,0.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.12);border-radius:24px;padding:48px 40px;width:100%;max-width:420px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.05);animation:loginFadeIn 0.6s cubic-bezier(0.16,1,0.3,1); }
        @keyframes loginFadeIn { from{opacity:0;transform:translateY(30px) scale(0.96)} to{opacity:1;transform:translateY(0) scale(1)} }
        .login-anim { margin:0 auto 24px;width:220px;height:220px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.05);border-radius:20px; }
        .login-box h2 { color:#fff;font-size:1.6rem;font-weight:700;margin-bottom:4px; }
        .login-box > p { color:rgba(255,255,255,0.5);font-size:0.82rem;margin-bottom:28px; }
        .login-box input[type="email"],.login-box input[type="password"] { width:100%;padding:13px 16px;border-radius:12px;border:1.5px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.08);color:#fff;font-size:0.9rem;transition:all 0.25s;margin-bottom:12px;box-sizing:border-box; }
        .login-box input::placeholder { color:rgba(255,255,255,0.35); }
        .login-box input:focus { outline:none;border-color:#5ac8fa;background:rgba(255,255,255,0.12);box-shadow:0 0 0 3px rgba(90,200,250,0.15); }
        .login-box .btn-primary { width:100%;justify-content:center;padding:13px;border-radius:12px;font-size:0.95rem;margin-top:8px;background:linear-gradient(135deg,#2c5f8a,#1a3c5e);box-shadow:0 4px 16px rgba(44,95,138,0.4); }
        .login-box .btn-primary:hover { background:linear-gradient(135deg,#3a7ab5,#1a3c5e);transform:translateY(-1px);box-shadow:0 6px 20px rgba(44,95,138,0.5); }
        #loginError { color:#ff6b6b;font-size:0.82rem;margin-top:10px;padding:10px 14px;background:rgba(255,107,107,0.12);border:1px solid rgba(255,107,107,0.25);border-radius:8px;display:none;animation:shakeError 0.4s; }
        @keyframes shakeError { 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-6px)} 40%,80%{transform:translateX(6px)} }

        .fornec-check-list { max-height:160px; overflow-y:auto; border:1.5px solid var(--border); border-radius:var(--radius-sm); padding:8px; background:#fafbfc; }
        .fornec-check-item { display:flex; align-items:center; gap:8px; padding:5px 4px; font-size:0.85rem; cursor:pointer; }
        .fornec-check-item input[type="checkbox"] { accent-color:var(--primary-light); }

        .loading-overlay { position:fixed; inset:0; background:rgba(255,255,255,0.85); z-index:9999; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; }
        .spinner { width:40px; height:40px; border:4px solid var(--border); border-top-color:var(--primary-light); border-radius:50%; animation:spin 0.8s linear infinite; }
        @keyframes spin { to { transform:rotate(360deg); } }

        .hamburger { display:none; background:none; border:none; font-size:1.6rem; cursor:pointer; color:var(--primary); }
        .sidebar-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:99; }
        .sidebar-overlay.show { display:block; }

        /* =====================================================
           NOVA ABA DE COTAÇÕES — ESTILOS
           ===================================================== */
        .cot-wizard { background:var(--card-bg); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }

        /* Progress header */
        .cot-steps-header { display:flex; background:#f5f7fa; border-bottom:2px solid var(--border); }
        .cot-step-item { flex:1; display:flex; align-items:center; gap:10px; padding:14px 18px; cursor:pointer; transition:var(--transition); border-right:1px solid var(--border); position:relative; }
        .cot-step-item:last-child { border-right:none; }
        .cot-step-item:hover { background:#eaf3fb; }
        .cot-step-item.active { background:#fff; border-bottom:3px solid var(--primary-light); margin-bottom:-2px; }
        .cot-step-item.done { background:#f0faf4; }
        .cot-step-num { width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.8rem; font-weight:700; flex-shrink:0; border:2px solid var(--border); color:var(--text-light); transition:var(--transition); }
        .cot-step-item.active .cot-step-num { background:var(--primary-light); border-color:var(--primary-light); color:#fff; }
        .cot-step-item.done .cot-step-num { background:var(--success); border-color:var(--success); color:#fff; }
        .cot-step-label { font-size:0.82rem; font-weight:600; color:var(--text-light); line-height:1.3; }
        .cot-step-item.active .cot-step-label { color:var(--primary); }
        .cot-step-item.done .cot-step-label { color:var(--success); }
        .cot-progress-bar { height:4px; background:var(--border); }
        .cot-progress-fill { height:4px; background:var(--primary-light); transition:width 0.4s ease; }

        /* Step panels */
        .cot-panel { display:none; padding:28px; }
        .cot-panel.active { display:block; }
        .cot-panel-title { font-size:1.05rem; font-weight:700; color:var(--primary); margin-bottom:18px; display:flex; align-items:center; gap:8px; }
        .cot-panel-title span { font-size:1.3rem; }

        /* Modulos grid */
        .modulos-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:12px; margin-bottom:18px; }
        .modulo-card { border:2px solid var(--border); border-radius:var(--radius); padding:16px; cursor:pointer; transition:var(--transition); position:relative; background:#fff; }
        .modulo-card:hover { border-color:var(--primary-light); background:#eaf3fb; transform:translateY(-2px); box-shadow:var(--shadow); }
        .modulo-card.selected { border-color:var(--primary-light); background:#eaf3fb; }
        .modulo-card.selected::after { content:'✓'; position:absolute; top:10px; right:12px; font-size:0.9rem; font-weight:900; color:var(--primary-light); }
        .modulo-icon-wrap { width:40px; height:40px; border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:10px; }
        .mi-amber { background:#fff3cd; }
        .mi-blue { background:#e8f4fd; }
        .mi-green { background:#e6f7ee; }
        .mi-purple { background:#f0e6ff; }
        .modulo-name { font-size:0.88rem; font-weight:700; color:var(--text); margin-bottom:3px; }
        .modulo-desc { font-size:0.75rem; color:var(--text-light); }

        /* Lotes */
        .lotes-section { margin-bottom:18px; }
        .lotes-section-title { font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.6px; color:var(--text-light); margin-bottom:8px; padding-bottom:6px; border-bottom:1px solid var(--border); }
        .lote-option-row { display:flex; align-items:center; justify-content:space-between; padding:10px 14px; border:1.5px solid var(--border); border-radius:var(--radius-sm); margin-bottom:6px; cursor:pointer; transition:var(--transition); background:#fff; }
        .lote-option-row:hover { border-color:var(--primary-light); background:#eaf3fb; }
        .lote-option-row.selected { border-color:var(--success); background:#f0faf4; }
        .lote-left { display:flex; align-items:center; gap:12px; }
        .lote-checkbox { width:20px; height:20px; border:2px solid var(--border); border-radius:4px; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:var(--transition); font-size:0.75rem; }
        .lote-option-row.selected .lote-checkbox { background:var(--success); border-color:var(--success); color:#fff; }
        .lote-info-name { font-size:0.85rem; font-weight:600; color:var(--text); }
        .lote-info-saldo { font-size:0.75rem; color:var(--success); font-weight:600; margin-top:1px; }
        .lote-badge { font-size:0.68rem; font-weight:700; padding:3px 9px; border-radius:12px; text-transform:uppercase; letter-spacing:0.3px; }
        .lb-mao { background:#fff3cd; color:#856404; }
        .lb-peca { background:#e8f4fd; color:#1a5276; }
        .lb-alm { background:#e6f7ee; color:#1e7a42; }

        /* Tipo contratação */
        .tipo-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:18px; }
        .tipo-option { border:2px solid var(--border); border-radius:var(--radius); padding:20px; cursor:pointer; transition:var(--transition); text-align:center; background:#fff; }
        .tipo-option:hover { border-color:var(--primary-light); background:#eaf3fb; }
        .tipo-option.selected { border-color:var(--primary-light); background:#eaf3fb; }
        .tipo-option .t-icon { font-size:2rem; margin-bottom:10px; }
        .tipo-option h4 { font-size:0.95rem; font-weight:700; color:var(--primary); margin-bottom:6px; }
        .tipo-option p { font-size:0.78rem; color:var(--text-light); line-height:1.5; }
        .tipo-option.selected h4 { color:var(--primary-light); }

        /* Painel compra direta dentro do wizard */
        .compra-direta-box { background:#f8fafc; border:1.5px solid var(--border); border-radius:var(--radius-sm); padding:18px; margin-top:14px; }
        .compra-direta-box h4 { font-size:0.85rem; font-weight:700; color:var(--primary); margin-bottom:14px; }
        .valor-prefix-group { display:flex; border:1.5px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; background:#fff; transition:var(--transition); }
        .valor-prefix-group:focus-within { border-color:var(--primary-light); box-shadow:0 0 0 3px rgba(44,95,138,0.08); }
        .valor-prefix { padding:0 10px; font-size:0.82rem; color:var(--text-light); background:#f0f4f8; border-right:1px solid var(--border); display:flex; align-items:center; font-weight:600; }
        .valor-prefix-group input { border:none; background:transparent; padding:9px 10px; font-size:0.85rem; font-family:var(--font); outline:none; flex:1; }

        /* Fornecedores step */
        .modo-sel-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:18px; }
        .modo-card { border:2px solid var(--border); border-radius:var(--radius-sm); padding:16px; cursor:pointer; transition:var(--transition); background:#fff; }
        .modo-card:hover { border-color:var(--primary-light); }
        .modo-card.selected { border-color:var(--primary-light); background:#eaf3fb; }
        .modo-card h4 { font-size:0.88rem; font-weight:700; color:var(--text); margin-bottom:4px; }
        .modo-card p { font-size:0.75rem; color:var(--text-light); }

        .fornec-select-list { border:1.5px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; max-height:280px; overflow-y:auto; }
        .fornec-select-item { display:flex; align-items:center; justify-content:space-between; padding:11px 14px; cursor:pointer; transition:var(--transition); border-bottom:1px solid var(--border); }
        .fornec-select-item:last-child { border-bottom:none; }
        .fornec-select-item:hover { background:#f8fafc; }
        .fornec-select-item.selected { background:#eaf3fb; }
        .fornec-item-left { display:flex; align-items:center; gap:10px; }
        .fornec-avatar { width:34px; height:34px; border-radius:50%; background:#e8f4fd; color:var(--primary-light); display:flex; align-items:center; justify-content:center; font-size:0.75rem; font-weight:700; flex-shrink:0; }
        .fornec-item-name { font-size:0.85rem; font-weight:600; color:var(--text); }
        .fornec-item-cnpj { font-size:0.75rem; color:var(--text-light); margin-top:1px; }
        .fornec-item-check { width:20px; height:20px; border:2px solid var(--border); border-radius:4px; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:var(--transition); font-size:0.75rem; }
        .fornec-select-item.selected .fornec-item-check { background:var(--primary-light); border-color:var(--primary-light); color:#fff; }
        .min-alert { background:#fde8e8; border:1px solid #f5c6cb; border-radius:var(--radius-sm); padding:8px 12px; font-size:0.8rem; color:#721c24; display:none; margin-top:8px; }
        .min-alert.show { display:block; }
        .sel-count-bar { display:flex; align-items:center; justify-content:space-between; margin-top:10px; padding:8px 12px; background:#f0f4f8; border-radius:var(--radius-sm); }
        .sel-count-bar span { font-size:0.82rem; color:var(--text-light); }
        .sel-count-badge { font-size:0.78rem; font-weight:700; padding:3px 10px; border-radius:12px; }
        .scb-ok { background:#e6f7ee; color:#1e7a42; }
        .scb-warn { background:#fde8e8; color:#9b1c1c; }

        /* Resumo / Step 5 */
        .resumo-box { background:#f8fafc; border:1.5px solid var(--border); border-radius:var(--radius); padding:20px; margin-bottom:16px; }
        .resumo-row { display:flex; justify-content:space-between; align-items:flex-start; padding:9px 0; border-bottom:1px solid var(--border); gap:16px; }
        .resumo-row:last-child { border-bottom:none; }
        .resumo-label { font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:var(--text-light); flex-shrink:0; min-width:140px; }
        .resumo-val { font-size:0.85rem; color:var(--text); text-align:right; }
        .resumo-chips { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
        .chip { font-size:0.72rem; font-weight:700; padding:3px 9px; border-radius:12px; }
        .chip-blue { background:#e8f4fd; color:#1a5276; }
        .chip-green { background:#e6f7ee; color:#1e7a42; }
        .chip-amber { background:#fff3cd; color:#856404; }

        /* Envio animado */
        .send-success { text-align:center; padding:40px 20px; }
        .send-icon-wrap { width:72px; height:72px; border-radius:50%; background:#e6f7ee; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:2rem; animation:popIn 0.5s cubic-bezier(0.34,1.56,0.64,1); }
        @keyframes popIn { from{transform:scale(0.4);opacity:0} to{transform:scale(1);opacity:1} }
        .send-title { font-size:1.2rem; font-weight:700; color:var(--success); margin-bottom:8px; }
        .send-sub { font-size:0.88rem; color:var(--text-light); margin-bottom:20px; }
        .notif-chips { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
        .notif-chip { font-size:0.78rem; font-weight:600; padding:5px 12px; border-radius:20px; background:#e6f7ee; color:#1e7a42; border:1px solid #a3d9a5; animation:fadeIn 0.3s ease; }
        @keyframes fadeIn { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }

        /* Footer actions */
        .cot-footer { display:flex; justify-content:space-between; align-items:center; padding:16px 28px; border-top:1px solid var(--border); background:#fafbfc; }

        /* Cotações recebidas - tabela melhorada */
        .cotacoes-recebidas-wrap { margin-top:24px; }
        .cotacoes-recebidas-wrap h3 { font-size:1rem; font-weight:700; color:var(--primary); margin-bottom:14px; padding-bottom:10px; border-bottom:2px solid var(--border); }
        .cotacao-compare-card { background:#fff; border:1.5px solid var(--border); border-radius:var(--radius); padding:16px 18px; margin-bottom:10px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; transition:var(--transition); }
        .cotacao-compare-card:hover { box-shadow:var(--shadow); border-color:var(--primary-light); }
        .cotacao-compare-card.vencedor { border-color:var(--success); background:#f0faf4; }
        .cotacao-compare-card.recusada { opacity:0.55; }
        .ccc-fornec { font-size:0.9rem; font-weight:700; color:var(--primary); min-width:160px; }
        .ccc-valores { display:flex; gap:10px; flex-wrap:wrap; }
        .ccc-val-item { text-align:center; }
        .ccc-val-label { font-size:0.7rem; text-transform:uppercase; letter-spacing:0.4px; color:var(--text-light); }
        .ccc-val-num { font-size:0.9rem; font-weight:700; color:var(--text); }
        .ccc-total { font-size:1.1rem; font-weight:700; color:var(--primary); min-width:120px; text-align:right; }
        .ccc-prazo { font-size:0.78rem; color:var(--text-light); }

        @media (max-width: 900px) {
            .sidebar { transform:translateX(-100%); }
            .sidebar.open { transform:translateX(0); }
            .main-content { margin-left:0; width:100%; padding:14px 12px; }
            .hamburger { display:block; }
            .form-row, .form-row-3 { grid-template-columns:1fr; }
            .cards-grid { grid-template-columns:1fr 1fr; }
            .cat-row { flex-wrap:wrap; }
            .cot-steps-header { overflow-x:auto; }
            .cot-step-item { min-width:120px; }
            .modulos-grid { grid-template-columns:1fr 1fr; }
            .tipo-grid, .modo-sel-grid { grid-template-columns:1fr; }
        }