:root{--primary:#1565C0;--primary-dark:#0D47A1;--primary-light:#1E88E5;--accent:#7CB342;--accent-dark:#558B2F;--white:#FFF;--bg:#F5F7FA;--text:#333;--text-light:#666;--border:#E0E0E0;--success:#4CAF50;--warning:#FF9800;--danger:#F44336;--info:#2196F3}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',Tahoma,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
.header{background:var(--primary);color:var(--white);box-shadow:0 2px 10px rgba(0,0,0,.15);position:sticky;top:0;z-index:1000}
.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:70px}
.logo{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--white)}
.logo svg{width:40px;height:40px}
.logo-text h1{font-size:1.2rem;font-weight:700;letter-spacing:.5px}
.logo-text small{font-size:.75rem;opacity:.85;display:block}
.nav-menu{display:flex;align-items:center;gap:5px;list-style:none}
.nav-menu a{color:var(--white);text-decoration:none;padding:8px 16px;border-radius:6px;font-size:.9rem;transition:background .2s}
.nav-menu a:hover,.nav-menu a.active{background:rgba(255,255,255,.15)}
.user-info{display:flex;align-items:center;gap:10px;color:var(--white);font-size:.85rem}
.btn-logout{background:rgba(255,255,255,.15);color:var(--white);border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.85rem}
.btn-logout:hover{background:rgba(255,255,255,.25)}
.main-content{max-width:1200px;margin:30px auto;padding:0 20px}
.card{background:var(--white);border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);padding:25px;margin-bottom:25px}
.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--bg)}
.card-header h2{color:var(--primary);font-size:1.3rem}
.card-header h3{color:var(--primary);font-size:1.1rem}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s}
.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover{background:var(--primary-dark)}
.btn-success{background:var(--success);color:var(--white)}.btn-success:hover{background:#388E3C}
.btn-warning{background:var(--warning);color:var(--white)}.btn-warning:hover{background:#F57C00}
.btn-danger{background:var(--danger);color:var(--white)}.btn-danger:hover{background:#D32F2F}
.btn-accent{background:var(--accent);color:var(--white)}.btn-accent:hover{background:var(--accent-dark)}
.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}
.btn-outline:hover{background:var(--primary);color:var(--white)}
.btn-sm{padding:6px 14px;font-size:.8rem}.btn-lg{padding:14px 32px;font-size:1rem}
.form-group{margin-bottom:20px}
.form-group label{display:block;margin-bottom:6px;font-weight:600;color:var(--text);font-size:.9rem}
.form-control{width:100%;padding:12px 16px;border:2px solid var(--border);border-radius:8px;font-size:.95rem;transition:border-color .2s;background:var(--white)}
.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(21,101,192,.1)}
select.form-control{cursor:pointer}textarea.form-control{min-height:100px;resize:vertical}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.form-row .form-group{margin-bottom:0}
.table-responsive{overflow-x:auto}
table{width:100%;border-collapse:collapse}
table th,table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}
table th{background:var(--bg);font-weight:700;color:var(--primary);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}
table tr:hover{background:#F8FAFC}table td{font-size:.9rem}
.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase}
.badge-rascunho{background:#E0E0E0;color:#616161}
.badge-publicada{background:#E3F2FD;color:#1565C0}
.badge-em_andamento{background:#FFF3E0;color:#E65100}
.badge-encerrada{background:#E8F5E9;color:#2E7D32}
.badge-cancelada{background:#FFEBEE;color:#C62828}
.badge-enviada{background:#E3F2FD;color:#1565C0}
.badge-vencedora{background:#F1F8E9;color:#33691E}
.badge-desclassificada{background:#FFEBEE;color:#C62828}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}
.stat-card{background:var(--white);border-radius:12px;padding:25px;box-shadow:0 2px 12px rgba(0,0,0,.06);display:flex;align-items:center;gap:20px}
.stat-icon{width:55px;height:55px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.stat-icon.blue{background:#E3F2FD;color:var(--primary)}
.stat-icon.green{background:#E8F5E9;color:var(--success)}
.stat-icon.orange{background:#FFF3E0;color:var(--warning)}
.stat-icon.red{background:#FFEBEE;color:var(--danger)}
.stat-info h3{font-size:1.8rem;color:var(--text)}.stat-info p{font-size:.85rem;color:var(--text-light)}
.alert{padding:14px 20px;border-radius:8px;margin-bottom:20px;font-size:.9rem}
.alert-success{background:#E8F5E9;color:#2E7D32;border-left:4px solid #4CAF50}
.alert-danger{background:#FFEBEE;color:#C62828;border-left:4px solid #F44336}
.alert-warning{background:#FFF3E0;color:#E65100;border-left:4px solid #FF9800}
.alert-info{background:#E3F2FD;color:#1565C0;border-left:4px solid #2196F3}
.phase-bar{display:flex;margin-bottom:30px;background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.phase-item{flex:1;padding:18px 20px;text-align:center;font-size:.85rem;font-weight:600;color:var(--text-light);transition:all .3s}
.phase-item.active{background:var(--primary);color:var(--white)}
.phase-item.completed{background:var(--accent);color:var(--white)}
.phase-item small{display:block;font-weight:400;margin-top:4px;opacity:.8}
.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--primary-dark))}
.login-card{background:var(--white);border-radius:16px;padding:50px 40px;width:100%;max-width:440px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.login-card .logo-login{text-align:center;margin-bottom:35px}
.login-card .logo-login h2{color:var(--primary);font-size:1.5rem;margin-top:15px}
.login-card .logo-login p{color:var(--text-light);font-size:.9rem}
.hero{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--white);padding:60px 20px;text-align:center}
.hero h1{font-size:2.2rem;margin-bottom:12px}.hero p{font-size:1.1rem;opacity:.9;max-width:600px;margin:0 auto}
.cotacao-card{background:var(--white);border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.06);padding:25px;margin-bottom:20px;border-left:5px solid var(--primary);transition:transform .2s}
.cotacao-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1)}
.cotacao-card h3{color:var(--primary);margin-bottom:8px}
.cotacao-card .meta{color:var(--text-light);font-size:.85rem;margin-bottom:12px}
.cotacao-card .meta span{margin-right:20px}
.footer{background:var(--primary-dark);color:var(--white);text-align:center;padding:20px;margin-top:50px;font-size:.85rem}
.footer a{color:var(--accent);text-decoration:none}
.upload-area{border:2px dashed var(--border);border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:border-color .2s}
.upload-area:hover{border-color:var(--primary)}
.winner-row{background:#F1F8E9!important}
.winner-badge{display:inline-flex;align-items:center;gap:5px;background:var(--accent);color:var(--white);padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700}
.empty-state{text-align:center;padding:60px 20px;color:var(--text-light)}
.empty-state h3{margin-bottom:8px;color:var(--text)}
.tabs{display:flex;gap:5px;margin-bottom:25px;border-bottom:2px solid var(--border);padding-bottom:0}
.tab-link{padding:12px 20px;cursor:pointer;border:none;background:none;font-size:.9rem;font-weight:600;color:var(--text-light);border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}
.tab-link.active{color:var(--primary);border-bottom-color:var(--primary)}
.tab-content{display:none}.tab-content.active{display:block}
@media(max-width:768px){.header-inner{flex-direction:column;height:auto;padding:15px 20px;gap:10px}.nav-menu{flex-wrap:wrap;justify-content:center}.form-row{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:1.5rem}.phase-bar{flex-direction:column}}