/* 共用主題色與基礎設定 */
:root { 
    --primary-blue: #0b192c; 
    --secondary-blue: #00bcd4; 
    --accent-green: #2e7d32; 
    --bg-light: #f8f9fa; 
}
body { 
    font-family: 'Segoe UI', sans-serif; 
    background-color: #ffffff; 
    color: #333; 
    display: flex; 
    flex-direction: column; 
    min-height: 100vh; /* 確保內容太少時，Footer 也能在最底端 */
}

/* 導覽列 */
.navbar { border-bottom: 1px solid #e0e0e0; background-color: #ffffff !important; padding: 15px 0; }
.navbar-brand { color: var(--primary-blue) !important; font-weight: 800; font-size: 1.5rem; }
.nav-link { color: #555 !important; font-weight: 600; font-size: 1.05rem; }
.nav-link:hover, .nav-link.active { color: var(--secondary-blue) !important; }

/* 標題與卡片 */
.section-title { color: var(--primary-blue); font-weight: 700; border-left: 5px solid var(--secondary-blue); padding-left: 15px; margin-bottom: 40px; }
.card-custom { background-color: #ffffff; border: 1px solid #e0e0e0; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.03); padding: 25px; height: 100%; border-top: 4px solid var(--primary-blue); transition: 0.3s; }
.card-custom:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); border-color: var(--secondary-blue); }

/* 共用按鈕 */
.btn-register, .btn-submit { background-color: var(--accent-green); color: #fff; padding: 12px 30px; font-weight: bold; border-radius: 5px; text-decoration: none; display: inline-block; transition: 0.3s; }
.btn-register:hover, .btn-submit:hover { background-color: #1b5e20; color: #fff; transform: translateY(-2px); }