* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, "Segoe UI", Roboto, sans-serif; background: #f5f6f8; color: #1a1a1a; line-height: 1.5; } .header { background: #1e3a5f; color: white; padding: 16px 32px; display: flex; justify-content: space-between; align-items: center; } .header h1 { font-size: 20px; font-weight: 600; } .nav a { color: white; text-decoration: none; margin-left: 24px; padding: 8px 16px; border-radius: 4px; transition: background 0.2s; } .nav a:hover, .nav a.active { background: rgba(255,255,255,0.15); } .dashboard { padding: 32px; max-width: 1400px; margin: 0 auto; } .metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; margin-bottom: 32px; } .metric { background: white; padding: 24px; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); text-align: center; } .metric-value { font-size: 36px; font-weight: 700; margin-bottom: 8px; } .metric-label { font-size: 14px; color: #666; } .metric.total .metric-value { color: #1e3a5f; } .metric.done .metric-value { color: #22c55e; } .metric.progress .metric-value { color: #3b82f6; } .metric.control .metric-value { color: #f59e0b; } .metric.overdue .metric-value { color: #ef4444; } .filters { background: white; padding: 20px 24px; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin-bottom: 32px; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; } .filters select, .filters input { padding: 8px 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; } .filters button { padding: 8px 20px; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; background: #1e3a5f; color: white; transition: background 0.2s; } .filters button:hover { background: #2c5282; } .export-btn { background: #22c55e !important; } .export-btn:hover { background: #16a34a !important; } section.alerts, section.coming-soon, section.critical { background: white; padding: 24px; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin-bottom: 24px; } section h2 { font-size: 18px; margin-bottom: 16px; color: #1e3a5f; } section.critical h2 { color: #ef4444; } .list { display: flex; flex-direction: column; gap: 12px; } .list-item { padding: 12px 16px; background: #f8f9fa; border-radius: 6px; display: flex; justify-content: space-between; align-items: center; gap: 16px; } .list-item a { color: #1e3a5f; text-decoration: none; font-weight: 500; flex: 1; } .list-item a:hover { text-decoration: underline; } .list-item span { font-size: 13px; color: #666; white-space: nowrap; } .list-item.overdue { background: #fef2f2; border-left: 3px solid #ef4444; } .list-item.critical { background: #fef2f2; border-left: 3px solid #dc2626; } .list p { color: #888; font-style: italic; } /* Registry styles */ .registry { padding: 32px; max-width: 1400px; margin: 0 auto; } .registry-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; } .registry-header h1 { font-size: 24px; color: #1e3a5f; } .search-box { display: flex; gap: 12px; margin-bottom: 24px; } .search-box input { flex: 1; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; font-size: 14px; } .search-box button { padding: 10px 24px; background: #1e3a5f; color: white; border: none; border-radius: 6px; cursor: pointer; } table { width: 100%; border-collapse: collapse; background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.1); } th, td { padding: 12px 16px; text-align: left; border-bottom: 1px solid #eee; } th { background: #f8f9fa; font-weight: 600; color: #333; font-size: 13px; text-transform: uppercase; } tr:hover { background: #f8f9fa; } .status { padding: 4px 10px; border-radius: 12px; font-size: 12px; font-weight: 500; display: inline-block; } .status-done { background: #dcfce7; color: #166534; } .status-progress { background: #dbeafe; color: #1e40af; } .status-control { background: #fef3c7; color: #92400e; } .status-overdue { background: #fee2e2; color: #991b1b; } /* Card styles */ .card-page { padding: 32px; max-width: 1000px; margin: 0 auto; } .card-form { background: white; padding: 32px; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin-bottom: 24px; } .card-form h2 { font-size: 20px; margin-bottom: 24px; color: #1e3a5f; } .form-group { margin-bottom: 20px; } .form-group label { display: block; margin-bottom: 6px; font-weight: 500; color: #333; } .form-group input, .form-group select, .form-group textarea { width: 100%; padding: 10px 12px; border: 1px solid #ddd; border-radius: 6px; font-size: 14px; font-family: inherit; } .form-group textarea { min-height: 80px; resize: vertical; } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } .btn-group { display: flex; gap: 12px; margin-top: 24px; } .btn { padding: 10px 24px; border: none; border-radius: 6px; cursor: pointer; font-size: 14px; font-weight: 500; transition: background 0.2s; } .btn-primary { background: #1e3a5f; color: white; } .btn-primary:hover { background: #2c5282; } .btn-secondary { background: #e5e7eb; color: #333; } .btn-secondary:hover { background: #d1d5db; } .btn-danger { background: #ef4444; color: white; } .btn-danger:hover { background: #dc2626; } .history-section, .answers-section { background: white; padding: 24px; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin-bottom: 24px; } .history-section h3, .answers-section h3 { font-size: 16px; margin-bottom: 16px; color: #1e3a5f; } .history-list, .answers-list { display: flex; flex-direction: column; gap: 12px; } .history-item, .answer-item { padding: 12px; background: #f8f9fa; border-radius: 6px; font-size: 14px; } .history-item .date, .answer-item .date { font-size: 12px; color: #888; margin-bottom: 4px; } .answer-item .author { font-weight: 500; color: #1e3a5f; margin-bottom: 4px; } .answer-item .text { color: #333; } .timeline { position: relative; padding-left: 32px; margin: 24px 0; } .timeline::before { content: ""; position: absolute; left: 8px; top: 0; bottom: 0; width: 2px; background: #e5e7eb; } .timeline-item { position: relative; margin-bottom: 20px; padding: 12px 16px; background: #f8f9fa; border-radius: 6px; } .timeline-item::before { content: ""; position: absolute; left: -28px; top: 16px; width: 12px; height: 12px; border-radius: 50%; background: #1e3a5f; } .timeline-item.done::before { background: #22c55e; } .timeline-item.overdue::before { background: #ef4444; } .timeline-item.control::before { background: #f59e0b; } .timeline-date { font-size: 12px; color: #888; margin-bottom: 4px; } .timeline-title { font-weight: 500; margin-bottom: 4px; } .timeline-desc { font-size: 14px; color: #666; }