/* Tuần 10: cổng chọn bài và giao diện CRUD EF Core 8. */
.ef-portal{max-width:1050px}.ef-topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:50px;color:#a6b6d0;font-size:13px}.ef-topbar a{color:#b5e4ff;text-decoration:none;font-weight:600}.ef-portal .portal-heading{margin-bottom:36px}.ef-portal .lead{line-height:1.7;max-width:650px;margin:auto}.ef-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ef-project-card{display:flex;flex-direction:column;padding:32px;border:1px solid #4c5d82;border-radius:20px;background:linear-gradient(150deg,#203352 0%,#19243b 100%);box-shadow:0 20px 45px #0002}.ef-project-card:nth-child(2){background:linear-gradient(150deg,#34244e,#222039);border-color:#64517b}.ef-kicker{font-size:11px;letter-spacing:.1em;font-weight:800;color:#9bd6ff}.ef-project-card:nth-child(2) .ef-kicker{color:#d9b2ff}.ef-project-card h2{font-size:30px;margin:13px 0 10px}.ef-project-card p{color:#c4d2e8;font-size:15px;line-height:1.7;flex:1}.ef-card-features{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0 25px}.ef-card-features span{background:#fff1;border:1px solid #fff2;border-radius:50px;padding:5px 10px;font-size:12px;color:#d7e4fb}.ef-action{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-radius:12px;text-decoration:none!important;font-weight:800;transition:transform .15s}.ef-action:hover{transform:translateY(-2px)}.ef-action-blue{background:#87d4ff;color:#0d2945}.ef-action-violet{background:#d9b1ff;color:#30204c}.ef-note{margin:28px 0 0;font-size:13px;color:#acbfd6;text-align:center;line-height:1.6}.ef-note code{color:#f1ebbd}
.ef-app{background:#f4f6fa;color:#1b2740;min-height:100vh;font-family:'Segoe UI',Arial,sans-serif}.ef-app-header{background:#132239;color:white;border-bottom:3px solid #328acb}.ef-theme-violet .ef-app-header{border-color:#9c75d0}.ef-app-header-inner{max-width:1200px;margin:auto;min-height:86px;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.ef-brand{display:flex;align-items:center;gap:12px}.ef-brand-mark{width:47px;height:47px;display:grid;place-items:center;font-weight:800;border-radius:12px;background:#237cb3}.ef-theme-violet .ef-brand-mark{background:#7d57a6}.ef-brand strong{display:block;font-size:19px;line-height:1.3}.ef-brand small{display:block;color:#b4c9de;font-size:11px;letter-spacing:.02em}.ef-app-nav{display:flex;gap:8px;flex-wrap:wrap}.ef-app-nav a{color:#dbe9f8;text-decoration:none;font-size:13px;font-weight:650;border:1px solid #50617b;border-radius:8px;padding:9px 12px}.ef-app-nav a:hover{background:#ffffff1a}.ef-container{max-width:1180px;margin:26px auto 60px;padding:0 20px}.ef-path{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:#64748b;font-size:12px;margin-bottom:17px}.ef-path strong{color:#334155}.ef-panel{background:white;border:1px solid #dce5ef;border-radius:16px;padding:28px;box-shadow:0 8px 24px #1c365509}.ef-section-caption{font-size:11px;font-weight:850;letter-spacing:.1em;color:#377aa9}.ef-theme-violet .ef-section-caption{color:#815ea4}.ef-panel h1{font-size:clamp(23px,4vw,32px);font-weight:760;letter-spacing:-.025em;margin:10px 0}.ef-panel .ef-intro{color:#65758b;font-size:14px;margin:4px 0 0}.ef-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:22px}.ef-app .table{margin-bottom:0;min-width:700px}.ef-app .table thead th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7892;background:#f6f8fc;border-color:#e6ebf2}.ef-app .table td{vertical-align:middle;color:#263752;font-size:14px}.ef-app .btn{border-radius:8px;font-weight:600}.ef-app .btn-sm{font-size:12px}.ef-app .btn-primary{background:#247daf;border-color:#247daf}.ef-theme-violet .btn-primary{background:#8053ae;border-color:#8053ae}.ef-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid #e4ebf2}.ef-money{font-variant-numeric:tabular-nums;font-weight:650;white-space:nowrap}.ef-code{font-family:Consolas,monospace;font-size:13px;font-weight:700;color:#276e9f}.ef-theme-violet .ef-code{color:#7f55a8}.ef-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:20px}.ef-form{max-width:680px}.ef-form label{font-weight:650;font-size:13px;margin-bottom:6px}.ef-form .form-control,.ef-form .form-select{padding:10px 12px}.ef-form .form-group{margin-bottom:18px}.ef-label-help{color:#64748b;font-size:12px;margin-top:6px}.ef-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ef-info-grid dt{font-size:12px;color:#65758b;margin-bottom:5px}.ef-info-grid dd{font-size:16px;font-weight:700;margin:0}.ef-delete-warning{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:14px 17px;color:#9a3412;margin:16px 0 22px}.ef-empty{padding:55px 15px;text-align:center;color:#60758d}.ef-empty strong{display:block;color:#21344c;font-size:17px;margin-bottom:8px}.ef-app-footer{color:#7a8aa0;text-align:center;padding:0 20px 30px;font-size:12px}.ef-error-panel{max-width:850px}.ef-error-panel p{line-height:1.7;color:#58657d}.ef-error-panel code{background:#eef4fa;border-radius:4px;padding:2px 5px}.ef-error-panel .ef-actions{margin-top:24px}
@media(max-width:720px){.ef-cards{grid-template-columns:1fr}.ef-topbar{margin-bottom:30px}.ef-app-header-inner{align-items:flex-start;flex-direction:column}.ef-panel{padding:20px}.ef-info-grid{grid-template-columns:1fr;gap:18px}.ef-project-card{padding:25px}.ef-project-card h2{font-size:26px}}
