:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#1f2937;background:#f4f6f8;line-height:1.5}*{box-sizing:border-box}body{margin:0}.topbar{height:64px;background:#17324d;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1080px)/2))}.brand{color:#fff;font-size:1.25rem;font-weight:700;text-decoration:none}.topbar nav{display:flex;gap:18px}.topbar nav a{color:#dce8f2;text-decoration:none;font-size:.92rem}.container{max-width:1080px;margin:32px auto;padding:0 20px}.panel{background:#fff;border:1px solid #e1e7ed;border-radius:12px;padding:28px;box-shadow:0 5px 20px #17324d0b}.narrow{max-width:520px;margin:48px auto}h1{margin:6px 0 24px;font-size:1.8rem}h2{margin-top:28px;font-size:1.15rem}.eyebrow{color:#64748b;margin:0}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.button,button{display:inline-block;border:0;border-radius:7px;background:#16745c;color:#fff;padding:10px 15px;font:inherit;cursor:pointer;text-decoration:none}.button.secondary{background:#e8edf1;color:#334155}label{display:block;font-weight:600;margin:15px 0}input,select,textarea{display:block;width:100%;margin-top:6px;border:1px solid #cbd5e1;border-radius:7px;padding:10px;font:inherit;background:#fff}textarea{min-height:92px;resize:vertical}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.notice{padding:12px 15px;border-radius:8px;margin-bottom:16px}.success{background:#dcfce7;color:#166534}.error{background:#fee2e2;color:#991b1b}.meta,.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#64748b;font-size:.9rem}.filters{border-bottom:1px solid #e5e7eb;padding-bottom:16px;margin-bottom:10px}.filters a{color:#17624f}.badge{display:inline-block;border-radius:999px;padding:3px 9px;background:#e2e8f0;color:#334155;font-size:.78rem}.badge.em_andamento{background:#fef3c7;color:#92400e}.badge.concluida{background:#dcfce7;color:#166534}.badge.cancelada{background:#fee2e2;color:#991b1b}.demand-list,.list,.history{list-style:none;padding:0;margin:0}.demand-list li{border-bottom:1px solid #edf1f4}.demand-list a{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:16px 4px;color:#1f2937;text-decoration:none}.demand-list small{grid-column:1/-1;color:#64748b}.empty{padding:25px;color:#64748b}.list li{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1f4;padding:12px 0}.inline-form{display:flex;gap:8px;align-items:end}.inline-form input{margin:0}.link-button{padding:3px 8px;background:none;color:#17624f}.status-form{display:flex;gap:8px;align-items:end;margin-top:14px}.status-form input,.status-form select{margin:0}.history{margin-top:15px}.history li{display:flex;gap:14px;border-bottom:1px solid #edf1f4;padding:12px 0}.history time{color:#64748b;font-size:.8rem;white-space:nowrap}dt{font-weight:700;margin-top:15px}dd{margin:3px 0 0}@media(max-width:680px){.topbar{padding:0 14px}.topbar nav{gap:8px}.container{margin-top:18px}.grid{grid-template-columns:1fr}.inline-form,.status-form{display:block}.inline-form input,.status-form input,.status-form select,.inline-form button{margin:7px 0}.page-heading{align-items:flex-start;gap:10px;flex-direction:column}}
:focus-visible { outline: 3px solid #0e806b; outline-offset: 3px; }
.topbar nav { align-items: center; }
.topbar form { margin: 0; }
.nav-button { background: transparent; color: #dce8f2; padding: 0; font-size: .92rem; }
.filters { align-items: end; }
.filters label { flex: 1 1 145px; margin: 0; }
.filters button, .filters > a { margin-bottom: 1px; }
.status-grid { grid-template-columns: 1fr 2fr; align-items: start; }
.muted { color: #64748b; font-size: .9rem; }
.warning { background: #fef3c7; color: #713f12; }
.history li { align-items: start; }
.event-author { font-size: .85rem; font-weight: 600; }
.event-text { white-space: pre-wrap; overflow-wrap: anywhere; min-width: 0; }
.demand-list strong, h1, .list span { overflow-wrap: anywhere; }
.list { margin-top: 20px; }
@media(max-width: 680px) {
    .topbar { height: auto; min-height: 64px; flex-wrap: wrap; gap: 12px; padding: 14px; }
    .topbar nav { flex-wrap: wrap; }
    .panel { padding: 18px; }
    .status-grid { grid-template-columns: 1fr; }
    .history li { flex-direction: column; gap: 6px; }
}
