* { box-sizing: border-box; }
body { font-family: Arial, sans-serif; margin:0; color:#222; background:#f7f7f7; }
.wrap { max-width:900px; margin:0 auto; padding:0 15px; }
.site-header { background:#004a7c; color:#fff; padding:12px 0; }
.site-header h1 { margin:0; display:inline-block; font-size:20px; }
.site-header a { color: #fff; text-decoration:none; }
.site-header nav { float:right; }
.site-header nav a { color:#fff; margin-left:15px; }
.container { max-width:900px; margin:20px auto; padding:0 15px; }
.card { background: #fff; padding:15px; border-radius:6px; box-shadow:0 1px 3px rgba(0,0,0,0.05); }
form label { display:block; margin-bottom:10px; }
input[type="text"], input[type="email"], input[type="password"], input[type="date"], input[type="number"], select { width:100%; padding:8px; border:1px solid #ddd; border-radius:4px; }
button, .btn { background:#0077cc; color:#fff; padding:8px 12px; border:none; border-radius:4px; text-decoration:none; display:inline-block; }
.errors { background:#ffe6e6; padding:10px; border:1px solid #ffb3b3; margin-bottom:12px; }
.notice { background:#e6f7ff; padding:8px; border:1px solid #b3e0ff; }
.profile-table { width:100%; border-collapse:collapse; }
.profile-table th { text-align:left; width:220px; padding:8px; background:#f1f1f1; }
.profile-table td { padding:8px; }
.site-footer { text-align:center; padding:12px 0; margin-top:30px; color:#666; }
