/* UAT Hotfix 5 - Engineering Portal UX refinement */
.engineering-portal-body{background:#f3f6fa;color:#0f172a;overflow-x:hidden;font-family:Arial,Helvetica,sans-serif;margin:0}
.ep-topbar{background:linear-gradient(90deg,#050b13,#0b1624 58%,#111827);border-bottom:3px solid #d7a928;box-shadow:0 10px 26px rgba(2,6,23,.22)}
.ep-shell{width:100%;max-width:none;margin:0;padding:0 18px;display:flex;align-items:center;gap:18px;min-height:64px;box-sizing:border-box}
.ep-brand{display:flex;align-items:center;gap:13px;color:#fff;font-weight:800;text-decoration:none;white-space:nowrap;min-width:285px}
.ep-brand:hover,.ep-brand:focus{color:#fff;text-decoration:none}
.ep-brand-mark{height:42px;width:116px;background:#fff;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:4px 8px;box-shadow:0 8px 22px rgba(0,0,0,.28)}
.ep-brand-mark img{max-height:31px;max-width:102px;width:auto;background:transparent;padding:0;border:0;border-radius:0}
.ep-brand-text{display:flex;flex-direction:column;line-height:1.1;border-left:1px solid rgba(255,255,255,.18);padding-left:12px}
.ep-brand-text strong{font-size:17px;letter-spacing:.02em;color:#fff}
.ep-brand-text em{font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#d7a928;margin-top:4px;font-weight:800}
.ep-menu-toggle{display:none;margin-left:auto;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff;border-radius:6px;padding:8px 11px;text-transform:uppercase;font-size:11px;font-weight:900}
.ep-nav{display:flex!important;align-items:center;gap:2px;flex:1;min-width:0;overflow:hidden}
.ep-nav a{color:#dce5ef;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.045em;padding:24px 9px 20px;text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent}
.ep-nav a:hover,.ep-nav a:focus{color:#ffd75e;text-decoration:none;border-bottom-color:#d7a928}
.ep-account{display:flex;align-items:center;gap:10px;color:#fff;white-space:nowrap;font-size:12px;margin-left:auto}
.ep-account a,.ep-account button{color:#fff;background:transparent;border:0;text-transform:uppercase;font-size:11px;font-weight:900;padding:8px 5px;text-decoration:none}
.ep-account .ep-register{background:#d7a928;color:#07111d;border-radius:6px;padding:10px 13px;box-shadow:0 6px 16px rgba(215,169,40,.28)}
.ep-user{color:#cbd5e1;max-width:180px;overflow:hidden;text-overflow:ellipsis}
.ep-logout-form{margin:0}
.ep-main{width:100%;max-width:none;margin:0;padding:0;min-height:calc(100vh - 67px)}
.ep-main .container{width:100%;max-width:none}
.ep-auth-wrap{min-height:calc(100vh - 67px);display:flex;align-items:center;justify-content:center;padding:34px 18px;background:radial-gradient(circle at top left,rgba(215,169,40,.20),transparent 30%),linear-gradient(135deg,#edf3f8 0,#f8fbff 48%,#fff 100%)}
.ep-auth-card{width:100%;max-width:540px;background:#fff;border:1px solid #dfe6ef;border-radius:20px;box-shadow:0 24px 60px rgba(15,23,42,.17);padding:34px;position:relative;overflow:hidden}
.ep-auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#d7a928,#f4d36b,#d7a928)}
.ep-auth-card-wide{max-width:900px}
.ep-auth-intro{margin-bottom:22px}
.ep-kicker{display:inline-block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#9a730e;margin-bottom:8px}
.ep-auth-intro h1{margin:0 0 8px;font-size:31px;line-height:1.12;color:#07111d;font-weight:900}
.ep-auth-intro p{margin:0;color:#556173;font-size:14px;line-height:1.55;max-width:680px}
.ep-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.ep-field{margin-bottom:15px}.ep-form-grid .ep-field{margin-bottom:0}
.ep-field label{display:block;margin-bottom:7px;color:#0f172a;font-weight:900;font-size:13px}
.ep-input{display:block;width:100%;height:44px;border:1px solid #cbd5e1;border-radius:9px;padding:9px 12px;background:#fff;color:#0f172a;box-shadow:inset 0 1px 2px rgba(15,23,42,.04);box-sizing:border-box}
.ep-input:focus{outline:none;border-color:#d7a928;box-shadow:0 0 0 3px rgba(215,169,40,.18)}
.ep-field .field-validation-error{display:block;color:#b91c1c;font-size:12px;font-weight:800;margin-top:6px;line-height:1.35}
.ep-field .field-validation-valid{display:none}.validation-summary-valid{display:none!important}
.ep-validation{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;border-radius:10px;padding:12px 14px;margin-bottom:16px;font-size:13px;font-weight:800}
.ep-validation ul{margin:0;padding-left:18px}.ep-validation li{margin:3px 0}.ep-validation:empty{display:none}
.ep-check{display:flex;align-items:center;gap:8px;margin:2px 0 18px;color:#334155;font-size:13px}
.ep-primary-btn{display:inline-block;border:0;background:#d7a928;color:#07111d;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border-radius:9px;padding:13px 20px;box-shadow:0 10px 24px rgba(215,169,40,.28);cursor:pointer}
.ep-primary-btn:hover,.ep-primary-btn:focus{background:#e4bb37;color:#07111d;text-decoration:none}
.ep-auth-links{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;color:#64748b;font-size:13px}.ep-auth-links a{color:#9a730e;font-weight:900;text-decoration:none}
.ep-card,.portal-card,.engineering-portal-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.07)}
@media(max-width:1220px){.ep-brand{min-width:250px}.ep-brand-text em{display:none}.ep-nav a{font-size:10px;padding-left:7px;padding-right:7px}.ep-brand-text strong{font-size:15px}}
@media(max-width:1050px){.ep-shell{flex-wrap:wrap;padding:10px 14px}.ep-menu-toggle{display:block}.ep-nav{display:none!important;flex-basis:100%;order:3;overflow:visible}.ep-nav.in,.ep-nav.collapse.in{display:block!important}.ep-nav a{display:inline-block;padding:10px 8px}.ep-account{margin-left:auto}.ep-main{min-height:calc(100vh - 88px)}.ep-auth-wrap{min-height:calc(100vh - 88px)}}
@media(max-width:700px){.ep-auth-card{padding:25px}.ep-form-grid{grid-template-columns:1fr}.ep-auth-intro h1{font-size:25px}.ep-account{width:100%;justify-content:flex-start}.ep-shell{display:flex}.ep-brand{min-width:0}.ep-brand-text strong{font-size:14px}.ep-brand-mark{width:98px;height:38px}.ep-brand-mark img{max-width:88px}.ep-auth-wrap{align-items:flex-start;padding-top:22px}}


/* UAT Hotfix 6 - portal recovery and premium dashboard polish */
.ep-brand-text em{letter-spacing:.1em}
.ep-form-actions{margin-top:18px}
.ep-auth-links-stacked{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:22px}
.ep-success{background:#ecfdf5;border:1px solid #86efac;color:#14532d;border-radius:10px;padding:13px 15px;margin-bottom:16px;font-size:13px;font-weight:800;line-height:1.6}
.ep-validation.validation-summary-valid,
.validation-summary-valid.ep-validation{display:none!important}
.ep-validation ul:empty{display:none!important}
.ep-form-grid + .ep-form-actions{margin-top:24px}
.ep-primary-btn{min-width:200px;text-align:center}
.ep-auth-card .ep-primary-btn{margin-top:0}
.ep-field{margin-bottom:18px}
.ep-form-grid .ep-field{margin-bottom:0}

.ep-dashboard{padding:28px 28px 42px}
.ep-dashboard-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;background:linear-gradient(135deg,#07111d,#102338 58%,#1b293a);color:#fff;border-radius:18px;padding:32px;box-shadow:0 18px 50px rgba(15,23,42,.22);border:1px solid rgba(255,255,255,.08)}
.ep-dashboard-hero h1{margin:0 0 8px;font-size:36px;font-weight:900;color:#fff}
.ep-dashboard-hero p{margin:0;max-width:760px;color:#d5dee9;font-size:15px;line-height:1.6}
.ep-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.ep-secondary-btn{display:inline-block;border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:9px;padding:13px 18px;text-decoration:none;font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.ep-secondary-btn:hover,.ep-secondary-btn:focus{color:#ffd75e;text-decoration:none;border-color:#d7a928}

.ep-dashboard-grid{display:grid;grid-template-columns:320px 1fr;gap:22px;margin-top:22px}
.ep-profile-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 12px 34px rgba(15,23,42,.08)}
.ep-card-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#9a730e;margin-bottom:10px}
.ep-profile-card h2{font-size:22px;margin:0 0 7px;color:#07111d;font-weight:900}
.ep-profile-card p{color:#64748b;margin:0 0 18px;word-break:break-word}
.ep-progress{height:9px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin-bottom:9px}
.ep-progress span{display:block;height:100%;background:linear-gradient(90deg,#d7a928,#f6d76b)}
.ep-profile-card a{display:inline-block;margin-top:16px;color:#9a730e;font-weight:900;text-decoration:none}

.ep-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ep-dashboard-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px;box-shadow:0 12px 34px rgba(15,23,42,.08);position:relative;min-height:205px}
.ep-card-count{position:absolute;right:18px;top:18px;background:#07111d;color:#f5d36a;border-radius:12px;padding:8px 12px;font-size:20px;font-weight:900}
.ep-dashboard-card h2{font-size:20px;margin:0 64px 10px 0;color:#07111d;font-weight:900}
.ep-dashboard-card p{color:#475569;line-height:1.55;margin:0 0 14px}
.ep-dashboard-card small{display:block;color:#64748b;line-height:1.45;min-height:38px}
.ep-dashboard-card a{display:inline-block;margin-top:14px;color:#9a730e;font-weight:900;text-decoration:none;text-transform:uppercase;font-size:12px}

.ep-activity-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;margin-top:22px;box-shadow:0 12px 34px rgba(15,23,42,.08)}
.ep-section-head h2{margin:0 0 4px;font-weight:900;color:#07111d}
.ep-section-head p{margin:0 0 18px;color:#64748b}
.ep-empty{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:18px;color:#64748b}
.ep-activity-list{display:grid;gap:10px}
.ep-activity-item{display:grid;grid-template-columns:1.2fr 2fr auto;gap:14px;padding:14px 16px;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;color:#0f172a;background:#fbfdff}
.ep-activity-item:hover{border-color:#d7a928;text-decoration:none;color:#0f172a}
.ep-activity-item strong{font-weight:900}
.ep-activity-item span{color:#64748b}
.ep-activity-item em{font-style:normal;color:#94a3b8;font-size:12px}

@media(max-width:1100px){.ep-dashboard-grid{grid-template-columns:1fr}.ep-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ep-dashboard-hero{align-items:flex-start;flex-direction:column}.ep-hero-actions{justify-content:flex-start}}
@media(max-width:720px){.ep-dashboard{padding:18px 14px 28px}.ep-card-grid{grid-template-columns:1fr}.ep-dashboard-hero{padding:24px}.ep-dashboard-hero h1{font-size:28px}.ep-activity-item{grid-template-columns:1fr}.ep-primary-btn{width:100%}.ep-secondary-btn{width:100%;text-align:center}}
