body.arma-login { --arma-ink:#20374c; --arma-muted:#526f80; --arma-edge:#ffffffb0; --arma-field:#f4fbffdc; --arma-glass:#edf7fac7; --arma-accent:#18798b; min-height:100vh; margin:0; display:flex; flex-direction:column; font-family:Inter,"Segoe UI",sans-serif; color:var(--arma-ink); background:linear-gradient(115deg,#e5f2f8b8,#eff7faba),url('../images/arma-glass-background.png') center/cover fixed; }
html.arma-dark body.arma-login { --arma-ink:#e3f0f5; --arma-muted:#abc3d0; --arma-edge:#badfe538; --arma-field:#112f42e8; --arma-glass:#102d40d4; --arma-accent:#9bdfdb; background:linear-gradient(115deg,#081e32de,#123348dc),url('../images/arma-glass-background.png') center/cover fixed; color-scheme:dark; }
.arma-login * { box-sizing:border-box; }
.arma-header { position:relative; z-index:3; width:min(1440px,94%); margin:0 auto; padding:24px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.arma-brand { display:flex; align-items:center; gap:12px; padding:13px 20px; border:1px solid var(--arma-edge); border-radius:22px; background:var(--arma-glass); backdrop-filter:blur(16px); color:var(--arma-accent)!important; text-decoration:none!important; box-shadow:inset 0 1px #ffffff60,0 8px 24px #14384d0d; }
.arma-brand svg { width:42px; height:42px; }
.arma-brand span { font-size:24px; font-weight:600; letter-spacing:.16em; line-height:1.25; }
.arma-brand small { display:block; font-size:9px; font-weight:500; letter-spacing:.25em; }
.arma-header-actions { display:flex; align-items:center; gap:16px; }
.arma-header-actions a,.arma-header-actions button { color:var(--arma-ink); }
.arma-header-actions .dropdown-menu { background:var(--arma-field); border:1px solid var(--arma-edge); border-radius:14px; max-height:65vh; overflow:auto; }
.arma-theme { width:42px; height:42px; flex-shrink:0; display:grid; place-items:center; border-radius:50%; border:1px solid var(--arma-edge); background:var(--arma-glass); cursor:pointer; }
.arma-theme svg { width:20px; height:20px; }
.arma-register { border:1px solid var(--arma-edge); padding:10px 15px; border-radius:20px; background:var(--arma-glass); font-size:12px; }
.arma-main { position:relative; z-index:1; flex:1; display:grid; align-items:center; width:100%; padding:18px 16px 30px; }
.arma-login-grid { width:100%; margin:0!important; display:flex; justify-content:center; flex-wrap:wrap; gap:20px; }
.arma-login-grid>.col-md-4:not(:has(*)) { display:none; }
.arma-login-grid>.col-md-4 { float:none; }
.arma-login-grid>.arma-login-column { width:100%; max-width:680px; padding:0; }
.arma-login-column>div { position:relative; isolation:isolate; overflow:hidden; padding:42px 64px!important; border:1px solid var(--arma-edge); border-radius:30px!important; background:var(--arma-glass)!important; backdrop-filter:blur(18px) saturate(115%); box-shadow:inset 0 1px #ffffff70,0 24px 70px #14384d24!important; animation:arma-arrive .65s ease both; }
.arma-login-column>div:before { content:''; position:absolute; inset:6px; border:1px solid var(--arma-edge); border-radius:24px; z-index:-1; pointer-events:none; }
.arma-login-column>div:after { content:''; position:absolute; inset:0; z-index:-2; border-radius:inherit; pointer-events:none; background:linear-gradient(110deg,#f0f8fa66,#eff8fac7 45%,#e8f5f98c),url('../images/arma-construction-card.png') center/cover; opacity:.62; }
.arma-dark .arma-login-column>div:after { background:linear-gradient(110deg,#0b293a88,#102d40cc 45%,#102d4077),url('../images/arma-construction-card.png') center/cover; opacity:.48; }
.arma-login-column>div>div { width:100%; max-width:400px; margin:auto; gap:24px!important; }
.arma-login .arma-login-column h1 { margin:0 0 10px; text-align:center; font-size:30px; font-weight:500; letter-spacing:.04em; line-height:1.3; background:linear-gradient(110deg,#1c5268,#318d97,#214f70,#2a8b8c); background-size:240% 100%; background-clip:text; -webkit-background-clip:text; color:transparent!important; animation:arma-light 12s ease-in-out infinite alternate; }
.arma-dark .arma-login .arma-login-column h1 { background-image:linear-gradient(110deg,#efffff,#afe9df,#c4deed,#edfff9); }
.arma-login .arma-login-column h2 { color:var(--arma-muted)!important; font-size:13px; margin:0 0 14px; font-weight:400; }
.arma-login #login-form { width:100%; }
.arma-login #login-form .form-group { margin-bottom:22px; }
.arma-login #login-form label { display:block; }
.arma-login #login-form .tw-dw-label { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:0 0 8px; }
.arma-login #login-form span { color:var(--arma-ink); }
.arma-login #login-form input:not([type=checkbox]):not([type=hidden]) { width:100%; min-height:49px; border:1px solid #8cbccc55; border-radius:12px; background:var(--arma-field); color:var(--arma-ink); padding:12px 15px; font-weight:400; font-size:15px; transition:border-color .2s,box-shadow .2s; }
.arma-login #login-form input::placeholder { color:var(--arma-muted); opacity:.8; }
.arma-login #login-form input:focus { outline:none; border-color:#338e9d; box-shadow:0 0 0 3px #338e9d20; }
.arma-login #login-form #password { padding-right:48px; }
.arma-login #show_hide_icon { color:var(--arma-muted); }
.arma-login #show_hide_icon svg { stroke:currentColor; }
.arma-login #login-form button[type=submit] { min-height:49px; border:1px solid #3a95a0; border-radius:12px; background:linear-gradient(110deg,#21657c,#21858d)!important; color:#fff; box-shadow:0 10px 22px #1a687b22; margin-top:20px; transition:box-shadow .25s,transform .25s; }
.arma-login #login-form button[type=submit]:hover { transform:translateY(-1px); box-shadow:0 12px 28px #1a687b35; }
.arma-login #login-form a,.arma-login-column>div>div>div:last-child a,.arma-login-column>div>div>div:last-child span { color:var(--arma-accent)!important; background:none!important; -webkit-text-fill-color:var(--arma-accent); }
.arma-login #login-form input[type=checkbox] { width:16px; height:16px; accent-color:#237c8a; }
.arma-login #login-form label:has(input[type=checkbox]) { display:flex; justify-content:flex-start; align-items:center; gap:8px; }
.arma-login .help-block,.arma-login .help-block strong,.arma-login .text-danger { color:#be334b!important; font-size:12px; }
.arma-dark .arma-login .help-block,.arma-dark .arma-login .help-block strong { color:#ffb4bf!important; }
.arma-footer { position:relative; z-index:1; text-align:center; padding:12px 20px 24px; color:var(--arma-muted); font-size:11px; }
.arma-wave { position:fixed; inset:0; pointer-events:none; overflow:hidden; }
.arma-wave:after { content:''; position:absolute; width:140vw; height:42vw; left:-20vw; top:38%; border:1px solid #ffffff55; border-radius:50%; animation:arma-wave 22s ease-in-out infinite alternate; }
.arma-login :is(a,button):focus-visible { outline:2px solid #328b99; outline-offset:4px; }
.arma-header-actions summary { color:var(--arma-ink)!important; cursor:pointer; }
.arma-header-actions details>ul { background:var(--arma-field); border:1px solid var(--arma-edge); }
.arma-login #login-form input[type=checkbox] { appearance:auto!important; -webkit-appearance:checkbox!important; border-radius:4px; border:1px solid var(--arma-muted); }
html.arma-dark { background:#102d40; }
@keyframes arma-light { to { background-position:100% 50%; } }
@keyframes arma-wave { to { transform:translateY(45px) rotate(5deg); } }
@keyframes arma-arrive { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media(max-width:600px) { .arma-header { padding:18px 0 8px; flex-wrap:wrap; gap:14px; } .arma-brand { padding:10px 14px; } .arma-brand span { font-size:19px; } .arma-brand svg { width:32px; height:32px; } .arma-header-actions { margin-left:auto; gap:8px; } .arma-main { padding:20px 12px; } .arma-login-column>div { padding:32px 23px!important; border-radius:25px!important; } .arma-login .arma-login-column h1 { font-size:25px; } .arma-login #login-form input:not([type=checkbox]):not([type=hidden]) { font-size:16px; } .arma-login #login-form .tw-dw-label { flex-wrap:wrap; } }
@media(prefers-reduced-motion:reduce) { .arma-login *, .arma-wave:after { animation:none!important; transition:none!important; } }

/* ICT Park branding */
.arma-brand { max-width:100%; min-width:0; }
.arma-brand .ictpark-brand-logo { width:130px; height:86px; flex-shrink:0; object-fit:contain; background:#fff; border-radius:10px; }
.arma-brand span { max-width:310px; font-size:20px; letter-spacing:.02em; overflow-wrap:break-word; }
@media(max-width:600px) {
    .arma-brand { width:100%; }
    .arma-brand .ictpark-brand-logo { width:94px; height:64px; }
    .arma-brand span { font-size:16px; }
}
/* ICT Park symbol-only header */
.arma-header .arma-brand {
    width:auto; max-width:100%; padding:0; gap:0;
    background:transparent; border:0; border-radius:0;
    box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none;
}
.arma-header .arma-brand .ictpark-brand-logo {
    display:block; width:100px; height:100px; object-fit:contain;
    background:transparent; border:0; border-radius:0; box-shadow:none;
}
@media(max-width:600px) {
    .arma-header .arma-brand .ictpark-brand-logo { width:76px; height:76px; }
}

/* Login language control and centered copyright */
body.arma-login { min-height:100vh; min-height:100dvh; }
.arma-language { position:relative; margin:0; }
.arma-language summary {
    display:flex; align-items:center; gap:10px; min-height:44px; padding:11px 16px;
    list-style:none; border:1px solid var(--arma-edge); border-radius:999px;
    background:var(--arma-glass); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
    box-shadow:inset 0 1px #ffffff40,0 4px 16px #14384d08;
    font-size:13px; font-weight:600; line-height:1.4; user-select:none;
    transition:background .2s,border-color .2s,box-shadow .2s;
}
.arma-language summary::-webkit-details-marker { display:none; }
.arma-language summary:hover,.arma-language[open] summary { border-color:var(--arma-accent); box-shadow:0 4px 18px #14384d12; }
.arma-language summary:focus-visible { outline:2px solid var(--arma-accent); outline-offset:4px; }
.arma-language-globe { width:19px; height:19px; color:var(--arma-accent); }
.arma-language-chevron { width:15px; height:15px; transition:transform .2s; }
.arma-language[open] .arma-language-chevron { transform:rotate(180deg); }
.arma-language-options {
    position:absolute; inset-inline-end:0; top:calc(100% + 10px); z-index:20;
    width:220px; max-width:calc(100vw - 32px); max-height:min(360px,60vh); overflow-y:auto;
    list-style:none; margin:0; padding:6px; border:1px solid var(--arma-edge);
    border-radius:16px; box-shadow:0 16px 40px #102d4026;
    backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
}
.arma-language-options a { display:flex; justify-content:space-between; gap:12px; padding:10px 12px; border-radius:10px; font-size:13px; text-decoration:none!important; }
.arma-language-options a:hover,.arma-language-options a:focus-visible,.arma-language-options a[aria-current] { background:#338e9d18; color:var(--arma-accent); }
.arma-footer { width:100%; flex-shrink:0; margin-top:auto; display:flex; justify-content:center; align-items:center; padding:18px 16px max(24px,env(safe-area-inset-bottom)); }
.arma-copyright { display:inline-block; max-width:100%; padding:12px 22px; border-top:1px solid var(--arma-edge); color:var(--arma-muted); font-size:12px; font-weight:500; line-height:1.7; letter-spacing:.025em; text-align:center; text-wrap:balance; }
@media(max-width:600px) { .arma-language summary { padding:10px 13px; gap:8px; } .arma-copyright { font-size:11px; padding-inline:8px; } }

/* Native-script typography and Arabic reading direction. */
html[lang="am"] .arma-login,html[lang="ti"] .arma-login { font-family:"Noto Sans Ethiopic","Nyala","Abyssinica SIL","Segoe UI",sans-serif; }
html[lang="am"] .arma-login h1,html[lang="ti"] .arma-login h1 { line-height:1.65; letter-spacing:0; }
.arma-language-options a { text-align:start; }
html[dir="rtl"] .arma-login #password { padding-right:15px; padding-left:44px; }
html[dir="rtl"] .arma-login #show_hide_icon { right:auto!important; left:5px; }
html[dir="rtl"] .arma-header-actions { margin-left:0; margin-inline-start:auto; }

/* Keep all language rows aligned; isolate only the native text direction. */
.arma-language summary { min-height:46px; font-size:14px; }
.arma-language-name { line-height:1.65; letter-spacing:0; font-weight:500; }
.arma-language-name:lang(am),.arma-language-name:lang(ti) {
    font-family:"Noto Sans Ethiopic",sans-serif; font-size:16px; font-weight:500;
}
.arma-language-options { width:240px; padding:8px; }
.arma-language-options li { display:block; margin:0; padding:0; list-style:none; }
.arma-language-options li + li { margin-top:3px; }
.arma-language-options a {
    display:grid; grid-template-columns:minmax(0,1fr) 20px; align-items:center;
    min-height:48px; gap:16px; padding:10px 14px; font-size:15px; line-height:1.65;
}
.arma-language-options .arma-language-name { justify-self:start; white-space:nowrap; }
.arma-language-check { width:18px; height:18px; visibility:hidden; color:var(--arma-accent); }
.arma-language-options a[aria-current="true"] .arma-language-check { visibility:visible; }
.arma-language-options a:focus-visible { outline:2px solid var(--arma-accent); outline-offset:-2px; }
