/* MAIN */
.main-content { margin-left:var(--sidebar-width); min-height:100vh; transition:margin-left 0.3s ease; }
.top-bar { position:sticky; top:0; background:white; height:var(--header-height); display:flex; align-items:center; padding:0 1.25rem; border-bottom:1px solid var(--border); z-index:50; gap:1rem; }
.hamburger { display:none; background:none; border:none; width:36px; height:36px; cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:5px; border-radius:8px; }
.hamburger span { display:block; width:20px; height:2px; background:var(--text); border-radius:2px; }
.top-bar-title { font-size:1rem; font-weight:600; color:var(--text); }
.content-area { padding:1.25rem; max-width:960px; margin:0 auto; }

/* VIEWS */
.view { display:none; }
.view.active { display:block; animation:fadeIn 0.25s ease; }
@keyframes fadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

/* CARDS */
.card { background:white; border-radius:var(--radius-lg); border:1px solid var(--border); box-shadow:var(--shadow); overflow:hidden; }
.card-header { padding:1rem 1.25rem; border-bottom:1px solid var(--border-light); display:flex; align-items:center; justify-content:space-between; }
.card-header h3 { font-size:0.9rem; font-weight:600; }
.card-body { padding:1.25rem; }

/* WIZARD */
.wiz-step { display:flex; align-items:center; gap:0.5rem; }
.wiz-num { width:32px; height:32px; border-radius:50%; background:var(--bg); color:var(--text-muted); display:flex; align-items:center; justify-content:center; font-weight:600; font-size:0.75rem; border:2px solid var(--border); transition:all 0.25s ease; flex-shrink:0; }
.wiz-step.active .wiz-num { background:var(--primary); color:white; border-color:var(--primary); box-shadow:0 2px 8px rgba(30,58,95,0.35); }
.wiz-step.done .wiz-num { background:var(--green); color:white; border-color:var(--green); }
.wiz-label { font-size:0.7rem; color:var(--text-muted); font-weight:500; white-space:nowrap; }
.wiz-step.active .wiz-label { color:var(--primary); font-weight:600; }
.wiz-step.done .wiz-label { color:var(--green-dark); }
.wiz-content { display:none; }
.wiz-content.active { display:block; animation:fadeIn 0.2s ease; }
.wiz-title { font-size:1.1rem; font-weight:700; color:var(--text); margin-bottom:1rem; }
.wiz-nav { display:flex; gap:0.625rem; margin-top:1.25rem; }
.wiz-nav .btn { flex:1; }

/* TEMPLATE GRID */
.tpl-grid { display:grid; gap:0.75rem; grid-template-columns:1fr; }
.tpl-card { background:white; border:2px solid var(--border); border-radius:var(--radius); padding:1rem; cursor:pointer; transition:all 0.2s ease; }
.tpl-card:active { transform:scale(0.98); }
.tpl-card.selected { border-color:var(--primary); background:var(--primary-50); box-shadow:0 0 0 3px rgba(30,58,95,0.15); }
.tpl-card .tpl-tipo { font-size:0.69rem; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--primary); margin-bottom:0.25rem; }
.tpl-card h4 { font-size:0.9rem; font-weight:600; margin-bottom:0.2rem; }
.tpl-card p { font-size:0.75rem; color:var(--text-secondary); line-height:1.4; }

/* FORMS */
.form-card { background:white; border-radius:var(--radius-lg); padding:1.25rem; border:1px solid var(--border); box-shadow:var(--shadow); }
.form-group { margin-bottom:0.875rem; }
.form-group:last-child { margin-bottom:0; }
.form-group label { display:block; font-weight:500; color:var(--text); margin-bottom:0.3rem; font-size:0.8rem; }
.form-group label .req { color:var(--red); }
.form-control { width:100%; padding:0.65rem 0.75rem; border:1.5px solid var(--border); border-radius:8px; font-size:0.85rem; font-family:inherit; background:var(--bg); color:var(--text); transition:all 0.15s ease; }
.form-control:focus { outline:none; border-color:var(--primary); background:white; box-shadow:0 0 0 3px rgba(30,58,95,0.1); }
.form-control:focus.invalid { border-color:var(--primary); background:white; }
textarea.form-control { resize:vertical; min-height:64px; }
select.form-control { cursor:pointer; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:0.75rem; }
.form-hint { font-size:0.7rem; color:var(--text-muted); margin-top:0.2rem; }

/* ACHADOS LIST */
.achado-item { background:white; border:1.5px solid var(--border); border-radius:var(--radius); padding:0.875rem; margin-bottom:0.625rem; transition:all 0.2s ease; cursor:pointer; }
.achado-item.selected { border-color:var(--primary); background:var(--primary-50); }
.achado-top { display:flex; align-items:flex-start; gap:0.625rem; }
.achado-check { width:20px; height:20px; border:2px solid var(--border); border-radius:5px; flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:all 0.2s ease; margin-top:1px; font-size:0.7rem; color:white; }
.achado-item.selected .achado-check { background:var(--primary); border-color:var(--primary); }
.achado-item.selected .achado-check::after { content:'\2713'; }
.achado-body { flex:1; min-width:0; }
.achado-code { font-size:0.69rem; font-weight:700; color:var(--primary); text-transform:uppercase; letter-spacing:0.03em; }
.achado-name { font-size:0.82rem; font-weight:600; color:var(--text); line-height:1.3; margin:0.125rem 0 0.3rem; }
.achado-expand { margin-top:0.75rem; padding-top:0.75rem; border-top:1px solid var(--border-light); display:none; }
.achado-item.selected .achado-expand { display:block; }
.achado-expand textarea { width:100%; padding:0.5rem 0.625rem; border:1.5px solid var(--border); border-radius:6px; font-size:0.8rem; font-family:inherit; background:white; margin-top:0.25rem; margin-bottom:0.5rem; }
.achado-expand textarea:focus { outline:none; border-color:var(--primary); }
.achado-expand .field-label { font-size:0.75rem; font-weight:500; color:var(--text-secondary); }

/* BADGES */
.badge { display:inline-block; padding:0.15rem 0.5rem; border-radius:20px; font-size:0.69rem; font-weight:600; text-transform:uppercase; letter-spacing:0.03em; }
.badge-critica { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.badge-alta { background:#fffbeb; color:#92400e; border:1px solid #fde68a; }
.badge-media { background:#eff6ff; color:#1e40af; border:1px solid #bfdbfe; }
.badge-baixa { background:#f0fdf4; color:#166534; border:1px solid #bbf7d0; }
.badge-rascunho { background:#f1f5f9; color:#475569; border:1px solid #cbd5e1; }
.badge-em_andamento { background:#fffbeb; color:#92400e; border:1px solid #fde68a; }
.badge-concluido { background:#f0fdf4; color:#166534; border:1px solid #bbf7d0; }
.badge-campo { background:#fdf4ff; color:#7e22ce; border:1px solid #e9d5ff; }
.badge-relatorio { background:#eff6ff; color:#1e40af; border:1px solid #bfdbfe; }

