:root{--brand-navy: #2a3b57;--brand-sky: #5cb0ee;--brand-green: #4e9c2c;--brand-orange: #eb9a3f}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1a1a1a;background:#f5f5f7}button{font:inherit;cursor:pointer}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-screen form{display:flex;flex-direction:column;gap:12px;width:320px;padding:32px;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000001a}.login-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:8px}.login-brand h1{margin:0;font-size:22px;text-align:center}.login-screen label{display:flex;flex-direction:column;gap:4px;font-size:14px}.login-screen input{padding:8px;border:1px solid #ccc;border-radius:4px;font-size:14px}.login-screen button{padding:10px;border:none;border-radius:4px;background:#2563eb;color:#fff;font-weight:600}.app-shell{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--brand-navy);color:#fff}.app-header-brand{display:flex;align-items:center;gap:10px}.app-header h1{font-size:18px;margin:0}.app-header-user{display:flex;align-items:center;gap:12px;font-size:14px}.app-header-user button{padding:6px 12px;border:1px solid #4b5563;border-radius:4px;background:transparent;color:#fff}.app-body{display:flex;flex:1;min-height:0}.app-nav{width:200px;padding:16px 0;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column}.app-nav a,.app-nav-disabled{display:flex;flex-direction:column;gap:2px;padding:10px 20px;font-size:14px;color:#374151;text-decoration:none}.app-nav a.active{background:#eef2ff;color:#2563eb;font-weight:600}.app-nav-version{font-size:12px;font-weight:400;color:#9ca3af}.app-nav-disabled{color:#9ca3af}.app-main{flex:1;min-width:0;overflow:auto}.contacts-page{display:flex;height:100%}.contacts-list-pane{width:340px;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:auto}.tabs{display:flex;border-bottom:1px solid #e5e7eb}.tabs button{flex:1;padding:10px;border:none;background:transparent;font-size:14px;border-bottom:2px solid transparent}.tabs button.active{border-bottom-color:#2563eb;color:#2563eb;font-weight:600}.contacts-list{list-style:none;margin:0;padding:0}.contacts-list li{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-bottom:1px solid #f0f0f0;cursor:pointer;font-size:13px}.contacts-list li:hover{background:#f9fafb}.contacts-list li.selected{background:#eef2ff}.contacts-list .date{color:#9ca3af;font-size:12px}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent}.badge-DOUBT{color:#6b21a8;background:#f3e8ff;border-color:#e9d5ff}.badge-SUGGESTION{color:#b45309;background:#fef3c7;border-color:#fde68a}.badge-BUG{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.badge-CONTRIBUTE{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.badge-OTHER{color:#374151;background:#f3f4f6;border-color:#e5e7eb}.contacts-detail-pane{flex:1;padding:24px;overflow:auto}.contact-detail h2{margin:0 0 4px}.contact-meta{color:#6b7280;font-size:13px;margin:0 0 8px}.contact-tech{display:flex;flex-wrap:wrap;gap:8px 24px;padding:10px 14px;margin:0 0 20px;background:#f0f1f4;border-radius:6px;font-size:13px;color:#4b5563}.field-label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.contact-message{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:16px;white-space:pre-wrap}.contact-resolve-form,.contact-resolution{margin-top:20px;display:flex;flex-direction:column;gap:12px;max-width:480px}.contact-resolve-form label{display:flex;flex-direction:column;gap:4px;font-size:14px}.contact-resolve-form select,.contact-resolve-form textarea{padding:8px;border:1px solid #ccc;border-radius:4px;font:inherit}.contact-resolve-form .hint{font-size:12px;color:#9ca3af;margin:-6px 0 0}.contact-resolve-form button{align-self:flex-start;padding:10px 20px;border:none;border-radius:4px;background:#2563eb;color:#fff;font-weight:600}.contact-resolve-form button:disabled{background:#9ca3af}.contact-resolve-form textarea:disabled{background:#f0f1f4;color:#9ca3af}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border-radius:8px;padding:24px;max-width:420px;width:90%;box-shadow:0 8px 24px #0003}.modal h3{margin:0 0 12px}.modal p{margin:0 0 16px;color:#374151}.modal-warning{padding:10px 12px;background:#fef3c7;border:1px solid #fde68a;border-radius:6px;color:#92400e}.modal-actions{display:flex;justify-content:flex-end;gap:12px}.modal-actions button{padding:10px 20px;border:none;border-radius:4px;background:#2563eb;color:#fff;font-weight:600}.modal-actions button.secondary{background:#e5e7eb;color:#374151}.modal-overlay.blocking{cursor:progress}.spinner-box{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 32px;background:#fff;border-radius:8px;box-shadow:0 8px 24px #0003;color:#374151;font-weight:600}.spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{color:#9ca3af;padding:16px}.error{color:#dc2626;font-size:13px}.appeal-detail{max-width:640px}.appeal-images{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.appeal-images figure{margin:0;display:flex;flex-direction:column;gap:6px}.appeal-images img{height:340px;width:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.appeal-images figcaption{font-size:12px;color:#6b7280;text-align:center}.appeal-reason{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:14px 16px;margin-bottom:20px}.appeal-reason p{margin:0;color:#7f1d1d;white-space:pre-wrap}.appeal-reason-service{margin-top:8px!important;font-size:12px;color:#b91c1c!important}.decision-group{display:flex;gap:12px;margin-bottom:4px}.decision-group label{flex:1;display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;cursor:pointer}.decision-group label.selected.approve{border-color:#15803d;background:#dcfce7;color:#15803d;font-weight:600}.decision-group label.selected.refuse{border-color:#b91c1c;background:#fee2e2;color:#b91c1c;font-weight:600}.decision-group label.selected:not(.approve):not(.refuse){border-color:#2563eb;background:#eef2ff;color:#2563eb;font-weight:600}.decision-group label.disabled{opacity:.5;cursor:not-allowed}.report-detail{max-width:640px}.report-reason{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.report-reason-step{display:flex;flex-direction:column;gap:2px;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px}.report-reason-q{font-size:13px;color:#6b7280}.report-reason-a{font-weight:600;color:#7f1d1d}.report-status-until{font-weight:400;color:#6b7280;font-size:13px}.report-siblings{margin-bottom:20px}.report-siblings ul{list-style:none;margin:0;padding:0}.report-siblings li{padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:6px;font-size:14px}.report-check{flex-direction:row!important;align-items:center;gap:8px!important}.card-image-missing{width:200px;height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed #d1d5db;border-radius:8px;background:#f9fafb;color:#9ca3af;font-size:13px}.link-button{background:none;border:none;color:#2563eb;font-weight:600;font-size:14px;text-decoration:underline;cursor:pointer}.link-button:disabled{color:#9ca3af;cursor:default;text-decoration:none}
