/* EKOPA tesis portalı — çevre ve tesis takip giriş ekranı */
:root{color-scheme:light;font-family:"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}
body.firma-portal-login{margin:0;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:36px 20px;background:#eef5f4;color:#214652;font-family:"Segoe UI",Arial,sans-serif;position:relative;isolation:isolate}
body.firma-portal-login:before{content:"";position:fixed;inset:0;z-index:-2;background:url('../img/portal-document-background-v4.webp') center/cover no-repeat}
body.firma-portal-login:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#f4fbfa12,#f4fbfa33 50%,#f4fbfa12)}
.firma-login-card{width:480px;max-width:100%;padding:26px 24px;background:#ffffffed;border:1px solid #c6dddd;border-radius:24px 7px 24px 7px;box-shadow:0 16px 50px #153f4f20}
.firma-login-logo{display:flex;justify-content:center;margin:0 auto 22px;width:360px;max-width:92%}
.firma-login-logo img{display:block;width:100%;height:auto}
.firma-login-eyebrow{text-align:center;color:#007f94;font-size:14px;letter-spacing:1.8px;font-weight:750;margin:0 0 5px}
.firma-login-intro{text-align:center;color:#b8ecf4;font-size:12px;line-height:1.5;margin:0 0 7px}
.firma-login-card h1{text-align:center;font-size:23px;line-height:1.3;letter-spacing:-.5px;font-weight:750;color:#1b5963;margin:0 0 20px}
.firma-login-card form{display:grid;gap:13px}
.firma-login-field{display:grid;gap:5px}
.firma-login-field label{font-size:12px;font-weight:650;line-height:1.4;color:#244f5b}
.firma-login-field input{width:100%;min-width:0;height:44px;padding:10px 14px;background:#fff;border:1px solid #a5ced8;border-radius:16px 4px 16px 4px;color:#173d52;font-size:14px;outline:none;color-scheme:light}
.firma-login-field input:focus{border-color:#37d6de;box-shadow:0 0 0 3px #37d6de22}
.firma-login-card form>button{width:100%;height:49px;position:relative;display:flex;align-items:center;justify-content:center;padding:10px 50px;border:1px solid #50b7c4;border-radius:18px 5px 18px 5px;background:linear-gradient(100deg,#086577,#0a8b93);color:#fff;font-size:14px;font-weight:750;cursor:pointer}
.firma-login-card form>button:hover{background:#0a8998}
.firma-login-card form>button:focus-visible,.firma-client-login:focus-visible{outline:3px solid #90e2e9;outline-offset:4px}
.firma-login-arrow{position:absolute;right:12px;top:7px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #6cbdc8;border-radius:11px 3px 11px 3px;font-size:22px;line-height:1}
.firma-login-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:12px;margin-top:14px;border-top:1px solid #83bac42e}
.firma-login-features span{display:flex;align-items:center;justify-content:center;min-height:29px;padding:5px;border:1px solid #5b94a64d;border-top-color:#90bd4259;border-radius:11px 3px 11px 3px;background:#eaf5f6;color:#2c5c67;text-align:center;font-size:10px;font-weight:550}
.firma-login-access{display:flex;align-items:center;gap:14px;padding:14px 12px;margin-top:16px;border:1px solid #5b94a644;border-radius:14px 4px 14px 4px;background:#f0f7f7}
.firma-login-access p{flex:1;min-width:0;margin:0;color:#416571;font-size:11px;line-height:1.6;text-align:left}
.firma-login-access strong{font-weight:700;color:#204b57}
.firma-client-login{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:7px 10px;min-height:46px;border:1px solid #4c9ca8;border-radius:12px 3px 12px 3px;background:linear-gradient(115deg,#163f4d,#235967);color:#fff;text-decoration:none;font-size:12px;font-weight:750;line-height:1.2}
.firma-client-login:hover{background:#246778;color:#fff;text-decoration:none}
.firma-client-login-icon{display:flex;align-items:center;justify-content:center;width:29px;height:29px;border:1px solid #5a939d;border-radius:9px;color:#b5e4e6;background:#ffffff08}
.firma-login-footer{text-align:center;color:#416571;font-size:11px;font-weight:600;letter-spacing:.3px;margin-top:14px}
.firma-login-card .alert{font-size:12px;margin:0 0 14px}
@media(max-width:575px){body.firma-portal-login{padding:28px 22px}body.firma-portal-login:after{background:#f4fbfa44}.firma-login-logo{margin-bottom:20px;max-width:94%}.firma-login-card h1{font-size:22px}.firma-login-eyebrow{font-size:12px}.firma-login-field input{font-size:16px;height:46px}.firma-login-access{padding:12px 10px;gap:10px}.firma-login-access p{font-size:10px}.firma-client-login{padding:6px 8px}.firma-login-features span{font-size:9px}}
@media(max-height:720px) and (min-width:768px){body.firma-portal-login{padding-top:22px;padding-bottom:22px}.firma-login-logo{width:300px;margin-bottom:15px}.firma-login-card h1{margin-bottom:14px}.firma-login-access{margin-top:12px;padding:10px}.firma-login-features{margin-top:10px;padding-top:10px}}

.firma-login-contact{margin-top:17px;padding:13px 12px 14px;border:1px solid #477f9259;border-radius:16px 4px 16px 4px;background:linear-gradient(120deg,#14354180,#0a24319c);text-align:center}
.firma-login-contact h2{font-size:12px;font-weight:750;line-height:1.4;letter-spacing:0;color:#e1f6ff;margin:0 0 12px}
.firma-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.firma-contact-grid>a{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;min-width:0;text-decoration:none;color:#beeafa;font-size:9px;font-weight:500;line-height:1.35;letter-spacing:0}
.firma-contact-grid>a:hover{color:#fff;text-decoration:none}
.firma-contact-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid #a3485866;background:#b5495b1c;border-radius:6px 2px 6px 2px;color:#f16a7c}
.firma-contact-grid>a:focus-visible{outline:2px solid #88d6e1;outline-offset:3px;border-radius:4px}
@media(max-width:575px){.firma-login-contact{padding:12px 7px}.firma-contact-grid{gap:4px}.firma-contact-grid>a{font-size:8px}.firma-login-contact h2{font-size:12px}}

/* Compact mobile sign-in, with readable contact actions. */
@media(max-width:767px){
html body.firma-portal-login{width:100%;min-width:0;min-height:100svh;align-items:flex-start;padding: max(16px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom));overflow-x:hidden}
html body.firma-portal-login .firma-login-card{width:440px;max-width:100%;min-width:0;margin:auto;padding:22px 18px;border-radius:20px 6px;background:#fffffff2}
html body.firma-portal-login .firma-login-logo{width:320px;max-width:100%;margin-bottom:18px}
html body.firma-portal-login #firma-login-title,html body.firma-portal-login .firma-login-features{display:none!important}
html body.firma-portal-login .firma-login-eyebrow{margin-bottom:20px;font-size:13px;line-height:1.5}
html body.firma-portal-login .firma-login-field input{font-size:16px;min-width:0;width:100%;height:46px}
html body.firma-portal-login .firma-login-access{margin-top:16px;gap:10px;flex-wrap:wrap}
html body.firma-portal-login .firma-login-access p{flex:1 1 170px;font-size:11px}
html body.firma-portal-login .firma-login-contact{background:linear-gradient(120deg,#edf1f3,#dbe3e7);border-color:#c1ced5;padding:14px 8px}
html body.firma-portal-login .firma-login-contact h2{color:#234957;font-size:13px}
html body.firma-portal-login .firma-contact-grid{gap:5px}
html body.firma-portal-login .firma-contact-grid>a{color:#245367;font-size:9px;overflow-wrap:anywhere}
html body.firma-portal-login .firma-contact-icon{width:32px;height:32px;flex:0 0 32px;background:#fff1f2;border:1px solid #eeb3ba;color:#d51e38;border-radius:8px 3px}
html body.firma-portal-login .firma-contact-icon svg{display:block!important;width:23px!important;height:23px!important;stroke:currentColor!important;stroke-width:2!important;opacity:1!important;visibility:visible!important}
}
/* Labels and inputs share a compact framed row. */
html body.firma-portal-login .firma-login-card .firma-login-field{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid #b6d8e3;border-top-color:#8ed7e5;border-bottom-color:#b6d89f;border-radius:14px 5px 14px 5px;background:linear-gradient(125deg,#fbfeff,#edf6fa);box-shadow:0 3px 10px #214c600a;min-width:0}
html body.firma-portal-login .firma-login-card .firma-login-field label{margin:0;font-size:12px;font-weight:650;color:#285365;line-height:1.4}
html body.firma-portal-login .firma-login-card .firma-login-field input{min-width:0;width:100%;height:43px;border-radius:9px 3px 9px 3px;background:#fff;border-color:#b4cfdc;box-shadow:inset 0 1px 3px #20465c06}
html body.firma-portal-login .firma-login-card .firma-login-field:focus-within{border-color:#20a5bb;box-shadow:0 0 0 3px #20a5bb14}
@media(max-width:767px){
html body.firma-portal-login .firma-login-card .firma-login-field{grid-template-columns:78px minmax(0,1fr);gap:7px;padding:9px 8px}
html body.firma-portal-login .firma-login-card .firma-login-field label{font-size:11px}
html body.firma-portal-login .firma-login-card .firma-login-field input{font-size:16px;padding:10px 9px;height:44px}
}
html body.firma-portal-login .firma-login-access .firma-access-mobile{display:none}
html body.firma-portal-login .alert .btn-close{cursor:pointer;pointer-events:auto;z-index:1}
@media(max-width:767px){
html body.firma-portal-login .firma-login-access{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:8px;padding:10px 8px;align-items:center}
html body.firma-portal-login .firma-login-access .firma-access-desktop{display:none}
html body.firma-portal-login .firma-login-access .firma-access-mobile{display:block;min-width:0;font-size:clamp(8px,2.4vw,10px);line-height:1.65;margin:0}
html body.firma-portal-login .firma-access-mobile span{display:block;white-space:nowrap}
html body.firma-portal-login .firma-client-login{width:80px;padding:6px;gap:5px;font-size:10px;min-height:42px}
html body.firma-portal-login .firma-client-login-icon{width:24px;height:26px;flex-shrink:0}
}