:root{--ajp-green:#598a53;--ajp-dark:#123b31;--ajp-deep:#082a23;--ajp-gold:#e1ba84;--ajp-cream:#f5f0e6;--ajp-text:#173b31;--ajp-muted:#70817a}
*{box-sizing:border-box}.ajp-portal-body{margin:0;min-height:100vh;direction:rtl;font-family:"Vazirmatn",Tahoma,Arial,sans-serif;color:var(--ajp-text);background:#e9eee8}.ajp-portal-body a{text-decoration:none}.ajp-industrial-grid{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(18,59,49,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(18,59,49,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 85%)}
.ajp-portal-shell{position:relative;z-index:1;min-height:100vh;padding:26px 5vw 18px;display:flex;flex-direction:column;background:radial-gradient(circle at 85% 15%,rgba(89,138,83,.28),transparent 34%),radial-gradient(circle at 12% 75%,rgba(225,186,132,.28),transparent 28%),linear-gradient(135deg,#edf2ec,#f5f0e7 55%,#e4ede3)}.ajp-public-header{display:flex;justify-content:space-between;align-items:center}.ajp-public-brand{display:flex;align-items:center;gap:13px;color:var(--ajp-dark)}.ajp-public-brand img{width:64px;height:64px;object-fit:contain;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.9);padding:7px;border-radius:18px;box-shadow:0 15px 40px rgba(21,58,48,.13)}.ajp-public-brand b{display:block;font-size:15px}.ajp-public-brand small{display:block;font-size:9px;letter-spacing:1.8px;color:var(--ajp-muted);margin-top:3px}.ajp-system-status{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.42);backdrop-filter:blur(15px);border-radius:99px;font-size:10px;color:var(--ajp-muted)}.ajp-system-status i{width:8px;height:8px;border-radius:50%;background:#56a764;box-shadow:0 0 0 5px rgba(86,167,100,.13)}
.ajp-landing-main{flex:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);align-items:center;gap:5vw;padding:55px 2vw 40px}.ajp-eyebrow{display:inline-flex;color:#8e642d;font-size:10px;font-weight:900;letter-spacing:2.2px;margin-bottom:18px}.ajp-hero-copy h1{font-size:clamp(38px,5.2vw,78px);line-height:1.15;margin:0;letter-spacing:-2px;color:var(--ajp-deep)}.ajp-hero-copy h1 em{font-style:normal;color:var(--ajp-green)}.ajp-hero-copy>p{font-size:15px;line-height:2.15;color:#566a62;max-width:650px;margin:26px 0}.ajp-hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.ajp-portal-btn{display:inline-flex;align-items:center;justify-content:center;gap:30px;border:0;border-radius:14px;padding:15px 22px;font-weight:900;font-size:13px;cursor:pointer;transition:.25s}.ajp-portal-btn-primary{background:linear-gradient(135deg,var(--ajp-green),#3d7044);color:white;box-shadow:0 16px 34px rgba(63,112,68,.27)}.ajp-portal-btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(63,112,68,.33)}.ajp-secure-note{font-size:10px;color:var(--ajp-muted)}.ajp-secure-note i{display:inline-grid;place-items:center;width:20px;height:20px;background:rgba(89,138,83,.1);color:var(--ajp-green);border-radius:50%;font-style:normal;margin-left:5px}.ajp-feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:42px;max-width:720px}.ajp-feature-strip>div{border-right:2px solid rgba(89,138,83,.23);padding:5px 12px}.ajp-feature-strip b{display:block;font-size:12px}.ajp-feature-strip span{font-size:9px;color:var(--ajp-muted)}
.ajp-hero-visual{position:relative;min-height:570px;display:grid;place-items:center;perspective:1200px}.ajp-dashboard-preview{position:relative;width:min(720px,90%);padding:14px;border-radius:28px;background:linear-gradient(145deg,rgba(14,52,43,.96),rgba(24,74,59,.92));border:1px solid rgba(255,255,255,.15);box-shadow:0 55px 90px rgba(16,55,45,.29);transform:rotateY(-6deg) rotateX(2deg);z-index:2}.ajp-preview-head{display:flex;justify-content:space-between;align-items:center;padding:5px 7px 14px;color:#bcd0c7;font-size:9px;letter-spacing:1.2px}.ajp-preview-head span{display:flex;gap:5px}.ajp-preview-head i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.3)}.ajp-preview-body{background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:18px}.ajp-preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.ajp-preview-kpis span{background:rgba(255,255,255,.08);padding:12px;border-radius:14px;color:white}.ajp-preview-kpis small{display:block;color:#adc2ba;font-size:8px}.ajp-preview-kpis b{display:block;font-size:20px;margin-top:7px}.ajp-preview-body svg{width:100%;height:auto;margin-top:14px}.ajp-preview-bars{display:grid;gap:7px}.ajp-preview-bars span{display:block;width:var(--w);height:8px;border-radius:20px;background:linear-gradient(90deg,#689b62,var(--ajp-gold))}.ajp-orbit{position:absolute;border:1px solid rgba(89,138,83,.16);border-radius:50%}.ajp-orbit-one{width:510px;height:510px}.ajp-orbit-two{width:690px;height:690px;border-style:dashed}.ajp-floating-card{position:absolute;z-index:3;padding:15px 17px;border-radius:17px;background:rgba(255,255,255,.71);border:1px solid rgba(255,255,255,.9);box-shadow:0 20px 40px rgba(29,65,55,.15);backdrop-filter:blur(15px);min-width:160px}.ajp-floating-card small,.ajp-floating-card span{display:block;color:var(--ajp-muted);font-size:8px}.ajp-floating-card b{font-size:21px}.ajp-float-hse{left:1%;top:15%}.ajp-float-risk{right:0;bottom:13%}.ajp-public-footer{display:flex;justify-content:space-between;color:#6e7f78;font-size:9px;border-top:1px solid rgba(23,59,49,.08);padding-top:15px}
.ajp-login-layout{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:linear-gradient(135deg,#0b3028,#174b3d 52%,#e9eee8 52%)}.ajp-login-brand-panel{position:relative;padding:38px 5vw;color:white;overflow:hidden}.ajp-back-home{color:#c7d7d0;font-size:10px}.ajp-login-brand{display:flex;align-items:center;gap:13px;margin-top:50px}.ajp-login-brand img{width:74px;height:74px;object-fit:contain;background:rgba(255,255,255,.93);border-radius:21px;padding:8px}.ajp-login-brand b{display:block}.ajp-login-brand small{font-size:9px;letter-spacing:1.7px;color:#bdd0c8}.ajp-login-message{position:relative;z-index:2;margin-top:105px;max-width:600px}.ajp-login-message h1{font-size:clamp(40px,5.2vw,78px);line-height:1.18;margin:0}.ajp-login-message p{color:#c3d5cd;line-height:2;max-width:500px}.ajp-login-industrial-art{position:absolute;left:-40px;bottom:-65px;width:560px;height:330px;opacity:.18}.ajp-login-industrial-art i{position:absolute;bottom:0;width:55px;border:8px solid var(--ajp-gold);border-bottom:0}.ajp-login-industrial-art i:nth-child(1){height:180px;left:25px}.ajp-login-industrial-art i:nth-child(2){height:270px;left:140px}.ajp-login-industrial-art i:nth-child(3){height:135px;left:265px}.ajp-login-industrial-art i:nth-child(4){height:225px;left:385px}.ajp-login-form-panel{display:grid;place-items:center;padding:40px;background:radial-gradient(circle at 70% 20%,rgba(89,138,83,.18),transparent 35%),linear-gradient(135deg,#f3f0e8,#e9eee8)}.ajp-login-card{width:min(470px,100%);padding:36px;border-radius:28px;background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.94);box-shadow:0 30px 70px rgba(29,65,55,.17);backdrop-filter:blur(20px)}.ajp-login-card-head{display:flex;justify-content:space-between;color:#8e642d;font-size:10px;font-weight:900;letter-spacing:1.4px}.ajp-lock-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:rgba(89,138,83,.1);color:var(--ajp-green);font-style:normal}.ajp-login-card h2{font-size:30px;margin:27px 0 8px}.ajp-login-card>p{font-size:11px;color:var(--ajp-muted);line-height:1.9}.ajp-custom-login-form{display:flex;flex-direction:column;gap:15px;margin-top:25px}.ajp-custom-login-form label>span{font-size:10px;font-weight:800;display:block;margin-bottom:6px}.ajp-input-wrap{position:relative;display:flex;align-items:center;border:1px solid rgba(23,59,49,.13);background:rgba(255,255,255,.9);border-radius:13px;padding:0 13px}.ajp-input-wrap:focus-within{border-color:var(--ajp-green);box-shadow:0 0 0 3px rgba(89,138,83,.11)}.ajp-input-wrap i{font-style:normal;color:#91a19a;font-size:10px}.ajp-input-wrap input{flex:1;border:0!important;box-shadow:none!important;outline:0;background:transparent;padding:13px 10px;font-family:inherit;min-width:0}.ajp-password-toggle{border:0;background:transparent;color:var(--ajp-green);font-size:9px;cursor:pointer}.ajp-remember{display:flex!important;flex-direction:row;align-items:center;gap:7px}.ajp-remember input{accent-color:var(--ajp-green)}.ajp-remember span{margin:0!important;font-weight:500!important;color:var(--ajp-muted)}.ajp-login-submit{width:100%;justify-content:space-between;margin-top:5px}.ajp-login-alert{padding:10px 12px;border-radius:11px;font-size:10px;margin-top:16px}.ajp-login-alert-error{background:#fbe7e5;color:#8b3732;border:1px solid #efcac7}.ajp-login-alert-success{background:#e4f1e5;color:#3d7044;border:1px solid #c4ddc6}.ajp-login-help{display:flex;gap:8px;align-items:flex-start;border-top:1px solid rgba(23,59,49,.09);margin-top:22px;padding-top:17px;color:var(--ajp-muted);font-size:9px}.ajp-login-help i{font-style:normal;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(225,186,132,.22);color:#8e642d}.ajp-login-copyright{position:absolute;bottom:20px;font-size:9px;color:#798881}
.ajp-dashboard-page{background:#e8eee8;padding-top:58px}.ajp-portal-userbar{position:fixed;z-index:99999;top:0;right:0;left:0;height:58px;display:flex;align-items:center;justify-content:space-between;padding:7px 20px;background:rgba(11,48,40,.94);backdrop-filter:blur(15px);color:white;border-bottom:1px solid rgba(255,255,255,.1)}.ajp-user-identity{display:flex;align-items:center;gap:9px}.ajp-user-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--ajp-green),var(--ajp-gold));font-weight:900}.ajp-user-identity b{display:block;font-size:11px}.ajp-user-identity small{display:block;color:#bcd0c7;font-size:8px}.ajp-user-actions{display:flex;gap:8px}.ajp-user-actions a{color:white;padding:8px 11px;border-radius:10px;font-size:9px;background:rgba(255,255,255,.08)}.ajp-user-actions .ajp-logout-link{color:#f0c5c1;background:rgba(185,75,69,.14)}.ajp-dashboard-page .ajp-pc-app{border-radius:0;min-height:calc(100vh - 58px)}
@media(max-width:1000px){.ajp-landing-main{grid-template-columns:1fr;padding-top:45px}.ajp-hero-visual{min-height:500px}.ajp-login-layout{grid-template-columns:1fr;background:linear-gradient(180deg,#0b3028 0 42%,#e9eee8 42%)}.ajp-login-brand-panel{min-height:420px}.ajp-login-message{margin-top:55px}.ajp-login-form-panel{padding:35px 20px 70px}.ajp-login-copyright{position:static;margin-top:20px}.ajp-feature-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.ajp-portal-shell{padding:18px}.ajp-public-brand img{width:52px;height:52px}.ajp-system-status{display:none}.ajp-landing-main{padding:45px 0 25px}.ajp-hero-copy h1{font-size:42px}.ajp-hero-copy>p{font-size:12px}.ajp-hero-visual{min-height:390px}.ajp-dashboard-preview{width:100%;transform:none}.ajp-floating-card{display:none}.ajp-orbit{display:none}.ajp-public-footer{flex-direction:column;gap:5px}.ajp-login-brand-panel{padding:25px;min-height:360px}.ajp-login-brand{margin-top:35px}.ajp-login-message{margin-top:45px}.ajp-login-message h1{font-size:42px}.ajp-login-form-panel{padding:24px 14px 55px}.ajp-login-card{padding:25px 20px}.ajp-portal-userbar{padding:7px 10px}.ajp-user-actions a:first-child{display:none}}

/* 3.5 dark industrial login — explicit contrast for every surface. */
.ajp-login-page-dark{background:#071c18;color:#f4f7f5;color-scheme:dark;font-family:"Vazirmatn",Tahoma,Arial,sans-serif!important}
.ajp-login-page-dark *{font-family:"Vazirmatn",Tahoma,Arial,sans-serif!important;font-variant-numeric:tabular-nums}
.ajp-login-layout-dark{grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);background:#071c18;direction:ltr}
.ajp-login-layout-dark>section{direction:rtl}
.ajp-login-brand-dark{min-height:100vh;padding:40px 5vw;background-image:linear-gradient(90deg,rgba(4,23,19,.28),rgba(4,23,19,.91)),linear-gradient(180deg,rgba(4,23,19,.08),rgba(4,23,19,.88)),url('../images/login-refinery.jpg');background-size:cover;background-position:center;isolation:isolate}
.ajp-login-brand-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(5,28,23,.15),rgba(5,28,23,.82));border-left:1px solid rgba(225,186,132,.2)}
.ajp-login-brand-dark:after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(225,186,132,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(225,186,132,.045) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,transparent,black 35%,black 90%,transparent)}
.ajp-login-page-dark .ajp-back-home{color:#d0ddd8!important;font-size:11px;position:relative;z-index:3}
.ajp-login-page-dark .ajp-back-home:hover{color:#e1ba84!important}
.ajp-login-page-dark .ajp-login-brand{position:relative;z-index:2;margin-top:42px}
.ajp-login-page-dark .ajp-login-brand img{background:rgba(255,255,255,.96);box-shadow:0 18px 55px rgba(0,0,0,.28)}
.ajp-login-page-dark .ajp-login-brand b{color:#fff;font-size:18px}.ajp-login-page-dark .ajp-login-brand small{color:#b8cbc3}
.ajp-login-message-dark{margin-top:clamp(70px,12vh,150px)!important;max-width:720px!important}
.ajp-login-message-dark .ajp-eyebrow{color:#e1ba84!important;letter-spacing:2.1px;font-size:11px;font-weight:800}
.ajp-login-message-dark h1{font-size:clamp(38px,4.4vw,68px)!important;line-height:1.45!important;color:#fff!important;margin:18px 0 14px!important;max-width:850px;text-shadow:0 6px 30px rgba(0,0,0,.35)}
.ajp-login-message-dark p{color:#d2ddd8!important;font-size:15px!important;line-height:2.05!important;max-width:620px!important}
.ajp-secure-access{display:inline-flex;align-items:center;gap:13px;margin-top:25px;padding:11px 16px;border:1px solid rgba(89,138,83,.65);border-radius:13px;background:rgba(5,30,25,.66);box-shadow:0 18px 45px rgba(0,0,0,.18)}
.ajp-secure-access>i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(89,138,83,.18);color:#8bc183;font-style:normal;font-size:19px}.ajp-secure-access b{display:block;color:#e1ba84;letter-spacing:1.5px;font-size:12px}.ajp-secure-access span{display:block;color:#c8d6d0;font-size:10px;margin-top:2px}
.ajp-login-form-dark{position:relative;min-height:100vh;padding:48px;background:radial-gradient(circle at 80% 12%,rgba(89,138,83,.15),transparent 38%),linear-gradient(145deg,#0b2923,#071c18);border-right:1px solid rgba(225,186,132,.13)}
.ajp-login-form-dark:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 85%,rgba(225,186,132,.08),transparent 30%);pointer-events:none}
.ajp-login-card-dark{position:relative;z-index:2;width:min(520px,100%);padding:40px;background:linear-gradient(145deg,rgba(17,48,41,.92),rgba(8,31,26,.94));border:1px solid rgba(182,205,195,.3);box-shadow:0 35px 85px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(22px);color:#fff}
.ajp-login-card-dark .ajp-login-card-head{color:#79ad72!important;font-size:12px;letter-spacing:0}.ajp-login-card-dark .ajp-lock-icon{background:rgba(89,138,83,.13);color:#8fc086}
.ajp-login-card-dark h2{color:#fff!important;font-size:34px!important;line-height:1.4;margin:25px 0 8px!important}
.ajp-login-title-line{width:72px;height:3px;border-radius:10px;background:linear-gradient(90deg,#598a53,#e1ba84);margin:0 0 22px auto}
.ajp-login-card-dark>p{color:#c5d2cd!important;font-size:12px!important;line-height:2!important}
.ajp-login-card-dark .ajp-custom-login-form label>span{color:#edf3f0!important;font-size:11px!important}
.ajp-login-card-dark .ajp-input-wrap{min-height:57px;border:1px solid rgba(190,209,201,.28);background:rgba(4,25,21,.5);box-shadow:inset 0 1px 8px rgba(0,0,0,.18)}
.ajp-login-card-dark .ajp-input-wrap:focus-within{border-color:#7dae76;box-shadow:0 0 0 3px rgba(89,138,83,.15),inset 0 1px 8px rgba(0,0,0,.18)}
.ajp-login-card-dark .ajp-input-wrap i{color:#9eafa8!important;font-size:14px}.ajp-login-card-dark .ajp-input-wrap input{color:#fff!important;font-size:13px!important;caret-color:#e1ba84}.ajp-login-card-dark .ajp-input-wrap input::placeholder{color:#83968e!important;opacity:1}.ajp-login-card-dark .ajp-password-toggle{color:#a8cba3!important;font-size:10px}
.ajp-login-card-dark .ajp-remember span{color:#c9d5d0!important;font-size:10px!important}.ajp-login-card-dark .ajp-remember input{accent-color:#e1ba84}
.ajp-login-card-dark .ajp-login-submit{min-height:58px;margin-top:8px;background:linear-gradient(135deg,#e7c28e,#b98439);color:#fff!important;box-shadow:0 17px 36px rgba(185,132,57,.24);font-size:14px}.ajp-login-card-dark .ajp-login-submit:hover{transform:translateY(-2px);filter:brightness(1.06)}
.ajp-login-card-dark .ajp-login-help{border-color:rgba(214,226,220,.12);color:#b8c6c0!important}.ajp-login-card-dark .ajp-login-help i{background:rgba(225,186,132,.14);color:#e1ba84}
.ajp-login-page-dark .ajp-login-copyright{color:#8fa19a!important;z-index:2}
.ajp-login-card-dark .ajp-login-alert-error{background:rgba(185,75,69,.16);color:#ffd7d3;border-color:rgba(239,141,134,.34)}.ajp-login-card-dark .ajp-login-alert-success{background:rgba(89,138,83,.18);color:#d5efd3;border-color:rgba(125,174,118,.35)}
@media(max-width:1000px){.ajp-login-layout-dark{grid-template-columns:1fr;background:#071c18}.ajp-login-brand-dark{min-height:520px}.ajp-login-form-dark{min-height:auto;padding:50px 20px 80px}.ajp-login-message-dark{margin-top:60px!important}.ajp-login-message-dark h1{font-size:clamp(34px,8vw,54px)!important}}
@media(max-width:620px){.ajp-login-brand-dark{min-height:470px;padding:24px;background-position:35% center}.ajp-login-message-dark{margin-top:48px!important}.ajp-login-message-dark h1{font-size:33px!important}.ajp-login-message-dark p{font-size:12px!important}.ajp-login-form-dark{padding:28px 14px 58px}.ajp-login-card-dark{padding:28px 20px}.ajp-login-card-dark h2{font-size:28px!important}}

.ajp-portal-body button,.ajp-portal-body input,.ajp-portal-body select,.ajp-portal-body textarea{font-family:"Vazirmatn",Tahoma,Arial,sans-serif!important}
.ajp-dashboard-page .ajp-project-selector{min-height:calc(100vh - 74px)}

/* 5.4.3 dashboard chrome readability */
.ajp-dashboard-page .ajp-user-identity b{font-size:13px}.ajp-dashboard-page .ajp-user-identity small{font-size:11px;line-height:1.55}.ajp-dashboard-page .ajp-user-actions a{display:inline-flex;align-items:center;min-height:38px;padding:9px 13px;font-size:11.5px}.ajp-dashboard-page .ajp-portal-userbar a:focus-visible{outline:3px solid #56B4E9;outline-offset:2px}

/* Next release: brighter dashboard chrome with AA/AAA-oriented contrast. */
@media screen{
.ajp-dashboard-page{
 --ajp-green:#146B4A;
 --ajp-dark:#123B31;
 --ajp-text:#142B23;
 --ajp-muted:#4E625A;
 --ajp-focus:#0B63CE;
 padding-top:68px;
 background:#EEF5F2;
 color:var(--ajp-text);
 font-size:15px;
 line-height:1.8;
}
.ajp-dashboard-page .ajp-portal-userbar{height:68px;padding:9px 22px;background:rgba(255,255,255,.97);color:var(--ajp-text);border-bottom:1px solid #BCCDC5;box-shadow:0 5px 18px rgba(18,59,49,.10);backdrop-filter:blur(16px)}
.ajp-dashboard-page .ajp-user-avatar{width:44px;height:44px;border-radius:13px;background:#146B4A;color:#FFFFFF;box-shadow:0 0 0 3px #E2EFE9}
.ajp-dashboard-page .ajp-user-identity{gap:11px}
.ajp-dashboard-page .ajp-user-identity b{font-size:14px;line-height:1.45;color:var(--ajp-text)}
.ajp-dashboard-page .ajp-user-identity small{font-size:13px;line-height:1.6;color:var(--ajp-muted)}
.ajp-dashboard-page .ajp-user-actions{gap:9px;align-items:center}
.ajp-dashboard-page .ajp-user-actions a{min-height:42px;padding:10px 14px;border:1px solid #AFC8BD;background:#E7F2ED;color:#124D38;font-size:13px;font-weight:800;line-height:1.35}
.ajp-dashboard-page .ajp-user-actions a:hover{background:#D8EAE2;text-decoration:none}
.ajp-dashboard-page .ajp-user-actions .ajp-logout-link{background:#FDECEF;border-color:#E4ABB2;color:#8D202C}
.ajp-dashboard-page .ajp-user-actions .ajp-logout-link:hover{background:#F8DDE1}
.ajp-dashboard-page .ajp-portal-userbar a:focus-visible{outline:3px solid var(--ajp-focus);outline-offset:3px;box-shadow:0 0 0 2px #FFFFFF}
.ajp-dashboard-page .ajp-pc-app{min-height:calc(100vh - 68px)}
.ajp-dashboard-page .ajp-project-selector{min-height:calc(100vh - 68px)}
}

@media screen and (max-width:620px){
 .ajp-dashboard-page{padding-top:64px}
 .ajp-dashboard-page .ajp-portal-userbar{height:64px;padding:7px 10px}
 .ajp-dashboard-page .ajp-user-avatar{width:40px;height:40px}
 .ajp-dashboard-page .ajp-user-identity b{font-size:13px}
 .ajp-dashboard-page .ajp-user-identity small{font-size:12px}
 .ajp-dashboard-page .ajp-user-actions a{min-height:40px;padding:8px 11px;font-size:12.5px}
 .ajp-dashboard-page .ajp-pc-app,.ajp-dashboard-page .ajp-project-selector{min-height:calc(100vh - 64px)}
}

/* 5.5.3 contrast audit: public portal surfaces */
.ajp-portal-body{color:#173b31}.ajp-public-brand,.ajp-hero-copy h1,.ajp-login-card h2{color:#123b31}.ajp-public-brand small,.ajp-system-status,.ajp-secure-note,.ajp-feature-strip span,.ajp-public-footer,.ajp-login-card>p,.ajp-login-help{color:#52665e}.ajp-hero-copy>p{color:#405b51}.ajp-floating-card{background:#f9fbfa;border-color:#c7d6cf}.ajp-floating-card small,.ajp-floating-card span{color:#52665e}.ajp-floating-card b{color:#173b31}.ajp-portal-btn-primary{color:#fff!important}.ajp-login-card{background:#f9fbfa;border-color:#c7d6cf}.ajp-login-card-head,.ajp-eyebrow{color:#76521f}.ajp-input-wrap{background:#fff;border-color:#9fb5ab}.ajp-input-wrap i{color:#52665e}.ajp-password-toggle{color:#146b4a}.ajp-remember span{color:#52665e}.ajp-login-alert-error{background:#fdeceb;color:#8d2824;border-color:#e2b7b3}.ajp-login-alert-success{background:#e8f6ef;color:#095d3d;border-color:#a7d5be}

/* 5.5.4 mobile + print pass */
@media(max-width:620px){.ajp-hero-copy h1,.ajp-login-message h1{line-height:1.25;letter-spacing:-.5px}.ajp-hero-copy>p{line-height:1.9}.ajp-preview-body{padding:12px}.ajp-preview-kpis{gap:6px}.ajp-preview-kpis span{padding:9px}.ajp-preview-kpis b{font-size:16px}.ajp-login-card{width:100%;max-width:100%;border-radius:20px}.ajp-custom-login-form{gap:12px}.ajp-login-submit{min-height:46px}}
@media print{.ajp-portal-shell,.ajp-login-layout,.ajp-login-form-panel{background:#fff!important}.ajp-hero-visual,.ajp-login-industrial-art,.ajp-public-header,.ajp-public-footer,.ajp-back-home{display:none!important}.ajp-landing-main{display:block;padding:0}.ajp-hero-copy{padding:20mm}.ajp-login-layout{display:block}.ajp-login-brand-panel{display:none}.ajp-login-form-panel{display:block;padding:0}.ajp-login-card{margin:20mm auto;box-shadow:none!important;border:1px solid #c7d6cf!important;background:#fff!important}.ajp-login-card :where(h1,h2,h3,b,strong,label){color:#173b31!important}.ajp-login-card :where(p,small,span){color:#52665e!important}@page{size:A4 portrait;margin:12mm}}

/* 5.5.30 login contrast: the dark login variant uses an intentionally light form card. */
.ajp-login-page-dark .ajp-login-card-dark{background:#F8FBF9!important;border-color:#B9CCC3!important;color:#173B31!important;box-shadow:0 35px 85px rgba(0,0,0,.32)}
.ajp-login-page-dark .ajp-login-card-dark .ajp-login-card-head{color:#3F7651!important}.ajp-login-page-dark .ajp-login-card-dark .ajp-lock-icon{background:#E5EFE9!important;color:#2F704D!important}
.ajp-login-page-dark .ajp-login-card-dark h2{color:#173B31!important}.ajp-login-page-dark .ajp-login-card-dark>p{color:#52665E!important}
.ajp-login-page-dark .ajp-login-card-dark .ajp-custom-login-form label>span{color:#263F36!important}
.ajp-login-page-dark .ajp-login-card-dark .ajp-input-wrap{background:#FFFFFF!important;border-color:#8FA99D!important;box-shadow:inset 0 1px 3px rgba(23,59,49,.06)}
.ajp-login-page-dark .ajp-login-card-dark .ajp-input-wrap:focus-within{border-color:#146B4A!important;box-shadow:0 0 0 3px rgba(20,107,74,.16)!important}
.ajp-login-page-dark .ajp-login-card-dark .ajp-input-wrap i{color:#52665E!important}.ajp-login-page-dark .ajp-login-card-dark .ajp-input-wrap input{color:#173B31!important;caret-color:#146B4A!important}.ajp-login-page-dark .ajp-login-card-dark .ajp-input-wrap input::placeholder{color:#687D74!important}
.ajp-login-page-dark .ajp-login-card-dark .ajp-password-toggle{color:#146B4A!important}.ajp-login-page-dark .ajp-login-card-dark .ajp-remember span{color:#52665E!important}
.ajp-login-page-dark .ajp-login-card-dark .ajp-login-help{border-color:#CEDAD4!important;color:#52665E!important}.ajp-login-page-dark .ajp-login-card-dark .ajp-login-help i{background:#F5EBDD!important;color:#76521F!important}
.ajp-login-page-dark .ajp-login-card-dark .ajp-login-alert-error{background:#FDECEB!important;color:#8D2824!important;border-color:#E2B7B3!important}.ajp-login-page-dark .ajp-login-card-dark .ajp-login-alert-success{background:#E8F6EF!important;color:#095D3D!important;border-color:#A7D5BE!important}
