* { box-sizing: border-box; } body { margin: 0; font-family: Arial, Helvetica, sans-serif; background: #f5f7fb; color: #1d2433; } a { text-decoration: none; color: inherit; } .topbar { display: flex; justify-content: space-between; align-items: center; padding: 18px 28px; background: #1c2c5b; color: white; } .brand { color: white; } .subtitle { margin: 4px 0 0; opacity: 0.85; font-size: 14px; } .container { max-width: 1180px; margin: 24px auto; padding: 0 16px; } .hero, .grid { display: grid; gap: 18px; } .hero { grid-template-columns: 2fr 1fr; align-items: start; } .grid.two { grid-template-columns: repeat(2, 1fr); } .grid.four { grid-template-columns: repeat(4, 1fr); } .split-gap { gap: 24px; } .card { background: white; border-radius: 14px; padding: 20px; box-shadow: 0 8px 24px rgba(0,0,0,0.08); } .stat span { display: block; color: #60708a; } .stat strong { font-size: 32px; display: block; margin-top: 8px; } .btn { display: inline-block; padding: 10px 16px; border-radius: 10px; background: #2143a2; color: white; border: none; cursor: pointer; } .btn.secondary { background: #dde5fb; color: #12306f; } .small-btn { padding: 8px 12px; font-size: 13px; } .form-card label { display: block; margin-bottom: 14px; font-weight: 600; } input, select, textarea { width: 100%; margin-top: 6px; padding: 11px; border: 1px solid #c6d0e0; border-radius: 10px; background: white; } textarea { resize: vertical; } .section-header, .menu, .userbox { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 14px; } .userbox form { display: inline; } table { width: 100%; border-collapse: collapse; } th, td { padding: 12px; border-bottom: 1px solid #e5e9f2; text-align: left; font-size: 14px; } th { background: #f7f9fd; } .flash { padding: 14px 16px; border-radius: 12px; margin-bottom: 18px; } .flash.success { background: #dff5e8; color: #155d34; } .flash.error { background: #fce4e4; color: #8a1c1c; } .badge.warning { padding: 8px 12px; border-radius: 999px; background: #ffefc1; color: #7b5a00; } .footer { text-align: center; padding: 18px; color: #5d6880; } .auth-wrapper { display: flex; justify-content: center; margin-top: 60px; } .narrow { max-width: 430px; width: 100%; } .small { color: #60708a; font-size: 13px; } @media (max-width: 900px) { .hero, .grid.two, .grid.four { grid-template-columns: 1fr; } .topbar, .section-header, .menu { flex-direction: column; align-items: stretch; } }