@font-face{font-family:NesaInter;src:url("/fonts/inter-latin-ext-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:NesaInter;src:url("/fonts/inter-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
.nesa-login-shell{--login-ink:#0e2047;--login-muted:#657798;--login-blue:#0b49d0;--login-line:#dce5f1;box-sizing:border-box;min-height:100svh;padding:48px 24px;display:grid;place-items:center;color:var(--login-ink);font:15px/1.5 NesaInter,Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(ellipse at 0 0,#d5eafd 0,transparent 49%),radial-gradient(ellipse at 100% 100%,#d9ebfc 0,transparent 50%),#f3f6fa;position:relative;isolation:isolate}
.nesa-login-shell *, .nesa-login-shell *:before,.nesa-login-shell *:after{box-sizing:border-box}
.nesa-login-shell:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.3;background-image:linear-gradient(35deg,transparent 49.9%,#b9d9f5 50%,transparent 50.15%),linear-gradient(125deg,transparent 49.9%,#b9d9f5 50%,transparent 50.15%);background-size:340px 270px;pointer-events:none;mask-image:linear-gradient(90deg,#000,transparent 22%,transparent 78%,#000)}
.nesa-login-window{width:min(100%,980px);overflow:hidden;background:white;border:1px solid #dce5f1;border-radius:16px;box-shadow:0 20px 64px #193d7221}
.nesa-login-top{height:64px;padding:0 36px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--login-line)}
.nesa-wordmark{font-family:NesaInter,Inter,system-ui,sans-serif;font-weight:850;letter-spacing:-1.4px;font-size:28px;line-height:1;text-decoration:none;color:#10234a}
.nesa-back,.nesa-login-return{display:inline-flex;align-items:center;gap:10px;color:var(--login-blue);font-size:14px;font-weight:550;text-decoration:none}
.nesa-icon{display:block;flex:0 0 auto;width:24px;height:24px}
.nesa-back .nesa-icon,.nesa-login-return .nesa-icon{width:20px;height:20px}
.nesa-login-card{display:grid;grid-template-columns:46% 54%;min-height:540px;margin:0;padding:0;border:0;border-radius:0;overflow:hidden}
.nesa-login-brand{position:relative;overflow:hidden;color:white;padding:42px 40px 36px;background:#08224b;display:flex;flex-direction:column;justify-content:space-between;gap:140px;isolation:isolate}
.nesa-login-brand:before{content:"";position:absolute;inset:0;z-index:-1;background-image:url("/images/nesa-login-art-20261014-r4.webp");background-size:200% 100%;background-repeat:no-repeat;background-position:left center;opacity:0}
.nesa-login-art-ready .nesa-login-brand:before{opacity:1}
.nesa-login-brand--saha:before{background-position:right center}
.nesa-brand-copy h1{font-size:36px;line-height:1.14;letter-spacing:-1.3px;font-weight:750;margin:0 0 14px;color:white}
.nesa-brand-copy p{font-size:17px;line-height:1.5;color:#e0eafa;margin:0}
.nesa-login-features{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.nesa-login-features li{display:flex;align-items:center;gap:16px;font-size:15px;font-weight:550;color:white}
.nesa-login-features .nesa-icon{width:26px;height:26px}
.nesa-login-content{padding:48px 46px 38px;display:flex;flex-direction:column;justify-content:center;background:white;min-width:0}
.nesa-login-content h2{font-size:32px;line-height:1.2;letter-spacing:-1.1px;font-weight:750;margin:0 0 12px;color:var(--login-ink)}
.nesa-login-subtitle{font-size:15px;color:var(--login-muted);margin:0 0 36px;line-height:1.6}
.nesa-login-content form{display:grid;gap:18px;margin:0}
.nesa-login-field{display:flex;align-items:center;gap:12px;border:1px solid var(--login-line);border-radius:9px;min-height:56px;padding:0 15px;color:#67758a;background:#fff;box-shadow:0 1px 2px #10265404}
.nesa-login-field:focus-within{border-color:#2672ee;box-shadow:0 0 0 3px #2672ee17}
.nesa-login-field>.nesa-icon{width:21px;height:21px}
.nesa-login-field input{width:100%;min-width:0;border:0!important;outline:0!important;padding:15px 0!important;margin:0!important;box-shadow:none!important;background:transparent!important;color:var(--login-ink);font:inherit;font-size:15px;border-radius:0}
.nesa-login-field input::placeholder{color:#7c879b;opacity:1}
.nesa-password-toggle{display:grid;place-items:center;flex:0 0 32px;width:32px;height:36px;background:transparent;border:0;padding:4px;color:#61718d;cursor:pointer;border-radius:5px;margin:0}
.nesa-password-toggle .nesa-icon{width:21px;height:21px}
.nesa-login-submit{margin:12px 0 0;padding:15px 18px;min-height:56px;border:1px solid #0b49d0;border-radius:8px;background:#0b49d0;color:white;font:650 16px/1.5 NesaInter,Inter,system-ui,sans-serif;cursor:pointer;box-shadow:0 3px 8px #0b49d018}
.nesa-login-submit:hover{background:#0958e3}.nesa-login-submit:disabled{opacity:.65;cursor:wait}
.nesa-login-return{justify-content:center;margin-top:28px}
.nesa-login-help{border-top:1px solid var(--login-line);padding-top:20px;margin:22px 0 0;display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;color:var(--login-muted)}
.nesa-login-help .nesa-icon{width:19px;height:19px;flex-basis:19px}
.nesa-login-error{font-size:14px;line-height:1.5;color:#9f2626;background:#fff2f2;border:1px solid #f4cdcd;border-radius:7px;padding:10px 12px;margin:0}
.nesa-login-footer{min-height:52px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 36px;border-top:1px solid var(--login-line);color:var(--login-muted);font-size:11px}
.nesa-login-footer strong{font-size:20px;letter-spacing:-.8px;color:var(--login-ink)}
.nesa-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nesa-login-shell :focus-visible{outline:2px solid #0b49d0;outline-offset:4px}
.nesa-login-shell [hidden]{display:none!important}
@media(max-width:700px){.nesa-login-shell{padding:20px 14px;align-items:start}.nesa-login-top{height:56px;padding:0 22px}.nesa-wordmark{font-size:25px}.nesa-login-card{grid-template-columns:1fr;min-height:0}.nesa-login-brand{padding:26px 24px;min-height:180px;gap:20px}.nesa-login-brand:before{background-size:200% auto;background-position:left 42%}.nesa-login-brand--saha:before{background-position:right 42%}.nesa-brand-copy h1{font-size:28px;margin-bottom:9px}.nesa-brand-copy p{font-size:14px}.nesa-brand-copy p br{display:none}.nesa-login-features{display:flex;gap:16px;flex-wrap:wrap}.nesa-login-features li{font-size:11px;gap:6px}.nesa-login-features .nesa-icon{width:17px;height:17px}.nesa-login-content{padding:28px 24px}.nesa-login-content h2{font-size:28px}.nesa-login-subtitle{margin-bottom:22px;font-size:14px}.nesa-login-content form{gap:14px}.nesa-login-submit{margin-top:4px}.nesa-login-return{margin-top:22px;font-size:13px}.nesa-login-help{margin-top:20px;padding-top:17px}.nesa-login-footer{padding:12px 22px}.nesa-login-footer span{font-size:9px;max-width:190px;text-align:right}}
@media(max-height:760px) and (min-width:701px){.nesa-login-shell{padding:22px 24px}.nesa-login-card{min-height:480px}.nesa-login-brand{padding:36px;gap:105px}.nesa-login-content{padding-top:34px;padding-bottom:30px}.nesa-login-subtitle{margin-bottom:28px}}

body.auth-pending{background:#f3f6fa}body.auth-pending>header{display:none!important}body.auth-pending main{max-width:none;padding:0}body.auth-pending #cargo-view,body.auth-pending #sales-view,body.auth-pending .workspace-nav{display:none!important}body.auth-pending .auth-gate{padding:0;margin:0;border:0;border-radius:0;background:transparent}.nesa-auth-loading{display:grid;place-items:center;min-height:100svh;padding:24px;background:#f3f6fa;color:#627798}.nesa-session-header{padding:20px max(24px,calc((100vw - 1360px)/2));background:#102654;gap:20px}.nesa-session-brand{display:flex;align-items:center;gap:22px}.nesa-session-brand>.nesa-wordmark{color:white;font-size:28px}.nesa-session-brand span{padding-left:22px;border-left:1px solid #ffffff30;color:#d4e0f4;font-size:14px}.nesa-session-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}.nesa-session-user{font-size:12px;color:#d6e0f2}.nesa-session-back{color:#d6e0f2;text-decoration:none;font-size:12px}.nesa-session-signout{display:flex;align-items:center;gap:8px;border:1px solid #ffffff50;background:transparent;border-radius:7px;color:white;padding:9px 13px;font-size:13px}.nesa-session-signout .nesa-icon{width:18px;height:18px}.nesa-session-signout:hover{background:#ffffff15}.nesa-session-signout:disabled{opacity:.5;cursor:wait}.nesa-session-header .pwa-install{margin:0;background:#0b49d0;color:white;font-size:12px}.nesa-session-header [hidden]{display:none!important}@media(max-width:700px){.nesa-session-header{padding:16px;align-items:flex-start;flex-wrap:wrap}.nesa-session-brand{gap:12px}.nesa-session-brand span{padding-left:12px}.nesa-session-actions{gap:12px;justify-content:flex-start;width:100%}.nesa-session-user{flex:1}.nesa-session-header .pwa-install{font-size:11px}}

/* B + C (22.10.2026): on phones the sign-in, recovery and password pages fill the screen. */
@media (max-width:599px){.nesa-login-shell{padding:0!important;background:#fff!important}.nesa-login-window{border-radius:0!important;box-shadow:none!important;border:0!important;min-height:100svh;max-width:none!important;width:100%!important}}

/* Official NESA FORKLİFT logo (branding/, prepared from the owner-approved JPEG): the symbol in the compact top bar,
   the full logo above the sign-in form. Aspect ratio is always preserved (height:auto); never stretched. */
.nesa-wordmark--logo{display:inline-flex;align-items:center;min-height:44px;line-height:0}
.nesa-brand-symbol{display:block;width:auto;height:34px}
.nesa-login-logo{display:block;width:176px;max-width:60%;height:auto;margin:0 0 18px}
@media (min-width:900px){.nesa-login-logo{width:200px}}
@media (max-height:700px) and (max-width:599px){.nesa-login-logo{width:132px;margin-bottom:10px}}
/* Password fields (src/password-field.js): one show/hide button per input. */
.nesa-password-wrap{position:relative;display:block;min-width:0}
.nesa-password-wrap>input{width:100%;box-sizing:border-box;padding-right:52px!important}
.nesa-password-eye{position:absolute;top:50%;right:2px;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#61718d;cursor:pointer}
.nesa-password-eye:hover,.nesa-password-toggle:hover{color:#18304a;background:#18304a0d}
.nesa-password-eye:focus-visible,.nesa-password-toggle:focus-visible{outline:2px solid #0b49d0;outline-offset:1px}
.nesa-password-eye .nesa-icon{width:22px;height:22px}
/* Login: the existing toggle keeps its place; only its touch target grows to 44 px. */
.nesa-login-field .nesa-password-toggle{flex:0 0 44px;width:44px;height:44px;margin:0 -8px 0 0}
.nesa-password-meter-row{display:flex;justify-content:space-between;gap:12px;margin:8px 0 0;font-size:12px;line-height:1.5;color:#46556f}
.nesa-password-meter-row strong{color:#18304a;font-weight:650}
.nesa-password-meter{height:6px;margin:6px 0 0;border-radius:999px;background:#e8eef6;overflow:hidden}
.nesa-password-meter span{display:block;height:100%;width:0;border-radius:inherit;background:#b42318}
.nesa-password-meter[data-level="1"] span{width:33%;background:#b42318}
.nesa-password-meter[data-level="2"] span{width:66%;background:#b54708}
.nesa-password-meter[data-level="3"] span{width:100%;background:#067647}
.nesa-password-note{margin:7px 0 0;font-size:12px;line-height:1.6;color:#46556f;overflow-wrap:anywhere}
.nesa-password-note.is-error{color:#b42318}
.nesa-password-note.is-ok{color:#067647}
@media (prefers-reduced-motion:no-preference){.nesa-password-eye,.nesa-password-toggle{transition:color .15s,background-color .15s}.nesa-password-meter span{transition:width .2s}}
.nesa-form-row{display:grid;gap:0;margin:0 0 16px;min-width:0}
.nesa-form-label{display:block;margin:0 0 7px;font-size:14px;font-weight:600;line-height:1.4;color:#18304a}
.nesa-form-input{display:block;width:100%;box-sizing:border-box;min-height:52px;padding:0 15px;border:1px solid #dce5f1;border-radius:9px;background:#fff;color:#0e2047;font:inherit;font-size:16px}
.nesa-form-input:focus{outline:2px solid #0b49d0;outline-offset:0;border-color:#0b49d0}
.nesa-form-input[aria-invalid="true"]{border-color:#d92d20}
.nesa-login-forgot{justify-self:end;display:inline-flex;align-items:center;min-height:44px;margin:-6px 0 0 auto;padding:0 2px;color:#0b49d0;font-size:14px;font-weight:600;text-decoration:none}
.nesa-login-forgot[hidden]{display:none}
.nesa-login-forgot:hover{text-decoration:underline}
.nesa-login-forgot:focus-visible{outline:2px solid #0b49d0;outline-offset:2px;border-radius:4px}
.nesa-login-notice{margin:0;padding:10px 12px;border:1px solid #b7e2c6;border-radius:7px;background:#effaf3;color:#065f35;font-size:14px;line-height:1.5}
.nesa-change-logout{width:100%;border:0;background:none;cursor:pointer;font:inherit}
/* Recovery pages (ui/sifre.html): the login card with a form instead of the sign-in fields. */
html,body.nesa-recovery{margin:0;padding:0}
.nesa-recovery .nesa-login-content{min-width:0}
.nesa-recovery-form{display:grid;gap:4px;margin:0}
.nesa-recovery-status{margin:0 0 12px;padding:12px 14px;border:1px solid #c9dcfb;border-radius:8px;background:#f1f6ff;color:#0e2047;font-size:15px;line-height:1.55}
.nesa-recovery-loading{margin:0;color:#657798;font-size:14px}
.nesa-recovery-link{display:inline-flex;align-items:center;min-height:44px;margin:4px 0 0;color:#0b49d0;font-weight:600;text-decoration:none}
.nesa-recovery-link:hover{text-decoration:underline}
.nesa-recovery-link:focus-visible{outline:2px solid #0b49d0;outline-offset:2px;border-radius:4px}
.nesa-recovery .nesa-login-error{margin:4px 0 8px}
