/* FieldDock production login · based on approved admin-design beta v0.6.
   Scoped to actual login screens only, not /portal/setup.php or other pages. */
body.fdlogin-body{min-height:100vh!important;margin:0!important;overflow-x:hidden!important;background:#edf3f8!important;color:#102e55!important;font-family:Inter,Arial,sans-serif!important}
body.fdlogin-body>.fd-topbar,body.fdlogin-body>.fd-footer{display:none!important}
body.fdlogin-body>main.fd-shell{display:block!important;width:100%!important;max-width:none!important;min-height:100vh!important;padding:0!important;margin:0!important;background:transparent!important}
.fdlogin-page,.fdlogin-page *{box-sizing:border-box}
.fdlogin-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:clamp(14px,3.2vw,42px);background:radial-gradient(circle at 90% 15%,#d9e8f130,transparent 35%),#edf3f8}
.fdlogin-stage{display:grid;grid-template-columns:1.04fr .96fr;width:min(1120px,100%);min-height:670px;overflow:hidden;border:1px solid #dfe8f0;border-radius:24px;background:#fff;box-shadow:0 22px 70px rgba(12,38,73,.12)}
.fdlogin-promo{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-width:0;overflow:hidden;padding:35px 42px;background:linear-gradient(155deg,#092750 0%,#0b3565 57%,#095264 100%);color:#fff}
.fdlogin-promo:before{position:absolute;z-index:-1;content:"";width:600px;height:600px;right:-290px;top:120px;border:1px solid #ffffff1e;border-radius:50%;box-shadow:0 0 0 72px #ffffff05,0 0 0 150px #ffffff05}
.fdlogin-promo-top{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.fdlogin-gig-logo{display:inline-flex;align-items:center;max-width:260px;min-height:74px}
.fdlogin-gig-logo img{display:block;width:236px;max-width:100%;height:auto;max-height:88px;object-fit:contain;object-position:left center;filter:drop-shadow(0 6px 12px #0003)}
.fdlogin-platform{display:flex;align-items:center;gap:8px;padding-left:4px;color:#f6fbff;font-size:11px;font-weight:800;letter-spacing:.15em}
.fdlogin-platform span{border-left:1px solid #7fc5c58c;padding-left:8px;color:#7adbd5;font-size:9px;letter-spacing:.11em}
.fdlogin-promo-middle{margin:auto 0;padding:40px 0 54px}
.fdlogin-kicker{color:#70e0d8;letter-spacing:.18em;font-size:10px;font-weight:850}
.fdlogin-promo-middle h1{margin:13px 0 17px;color:white;font-size:clamp(36px,3.55vw,49px);line-height:1.075;letter-spacing:-.055em;font-weight:850}
.fdlogin-promo-middle h1 em{color:#63dbd0;font-style:normal}
.fdlogin-promo-middle>p{max-width:370px;margin:0 0 27px;color:#bbd0e4;font-size:13px;line-height:1.75}
.fdlogin-benefits{display:flex;flex-direction:column;gap:15px}
.fdlogin-benefit{display:flex;align-items:center;gap:12px}
.fdlogin-benefit-icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border:1px solid #ffffff35;border-radius:11px;background:#ffffff13;color:#7ce0d7}
.fdlogin-benefit-icon .fd-ui-icon{width:19px;height:19px}
.fdlogin-benefit strong,.fdlogin-benefit small{display:block}
.fdlogin-benefit strong{color:#f4faff;font-size:12px;font-weight:800}
.fdlogin-benefit small{margin-top:4px;color:#accbe1;font-size:11px;line-height:1.4}
.fdlogin-promo-bottom{border-top:1px solid #ffffff35;padding-top:20px;font-size:9px;font-weight:800;letter-spacing:.12em;color:#aac8dd}
.fdlogin-panel{display:flex;align-items:center;justify-content:center;min-width:0;padding:38px clamp(28px,4vw,50px)}
.fdlogin-panel-inner{width:100%;max-width:410px}
.fdlogin-panel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:38px}
.fdlogin-wordmark{display:flex;flex-direction:column;gap:3px}
.fdlogin-wordmark strong{display:block;color:#0d2d57;font-size:22px;font-weight:900;letter-spacing:-.055em;line-height:1}
.fdlogin-wordmark strong span{color:#079d94}
.fdlogin-wordmark small{color:#8b9aad;font-size:9px;font-weight:800;letter-spacing:.14em}
.fdlogin-back{font-size:11px;font-weight:800;color:#0b928b;text-decoration:none;white-space:nowrap}
.fdlogin-back:hover{text-decoration:underline}
.fdlogin-title>span{display:block;color:#00998e;font-size:10px;font-weight:850;letter-spacing:.18em}
.fdlogin-title h2{margin:9px 0 9px;color:#0f315b;font-size:32px;font-weight:850;letter-spacing:-.045em;line-height:1.15}
.fdlogin-title>p{margin:0 0 26px;color:#778aa0;font-size:12px;line-height:1.7}
.fdlogin-role-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 24px;padding:4px;background:#f0f4f7;border-radius:12px}
.fdlogin-role-tabs a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;border-radius:9px;color:#6d849b;font-size:12px;font-weight:850;text-decoration:none;transition:background .15s ease}
.fdlogin-role-tabs a:hover{color:#0a7774;background:#ffffff9c}
.fdlogin-role-tabs a.is-current{color:#087e79;background:#fff;box-shadow:0 2px 9px #0e3c6916}
.fdlogin-role-tabs .fd-ui-icon{width:16px;height:16px}
.fdlogin-alert{margin:0 0 20px;padding:12px 14px;border-radius:10px;font-size:12px;line-height:1.5}
.fdlogin-alert.is-error{background:#fff4f2;border:1px solid #edb1a6;color:#8d2f22}
.fdlogin-alert.is-success{background:#effaf5;border:1px solid #a2dac5;color:#14654c}
.fdlogin-form{display:block}
.fdlogin-form>label{display:block;margin:0 0 8px;color:#365474;font-size:12px;font-weight:800}
.fdlogin-input-wrap{display:flex;align-items:center;gap:9px;min-height:49px;margin-bottom:19px;padding:0 13px;background:#fbfdff;border:1px solid #d5e2ee;border-radius:11px;transition:border .15s,box-shadow .15s}
.fdlogin-input-wrap:focus-within{border-color:#22a79d;box-shadow:0 0 0 3px #0a9d9117}
.fdlogin-input-wrap>span{display:flex;align-items:center;justify-content:center;color:#8fa5ba}
.fdlogin-input-wrap .fd-ui-icon{width:18px;height:18px}
.fdlogin-input-wrap input{display:block;flex:1;min-width:0;min-height:47px;width:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#1f3958!important;font:inherit!important;font-size:13px!important;padding:0!important}
.fdlogin-input-wrap input::placeholder{color:#9aabbd}
.fdlogin-password-toggle{padding:7px 4px;border:0;background:transparent;color:#0b817a;font-size:11px;font-weight:800;cursor:pointer}
.fdlogin-help{margin:-3px 0 21px;color:#72869b;font-size:11px}
.fdlogin-help summary{list-style:none;cursor:pointer;color:#0b877f;text-align:right;font-weight:800}
.fdlogin-help summary::-webkit-details-marker{display:none}
.fdlogin-help summary:hover{text-decoration:underline}
.fdlogin-help p{margin:12px 0 0;padding:12px;border-radius:9px;background:#f1f6fa;line-height:1.55}
.fdlogin-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:49px;border:0;border-radius:11px;background:#0e948a;color:white;font-size:13px;font-family:inherit;font-weight:850;cursor:pointer;box-shadow:0 10px 19px #0b8c8426;transition:background .15s}
.fdlogin-submit span{font-size:18px}
.fdlogin-submit:hover{background:#087d75}
.fdlogin-submit:focus-visible,.fdlogin-role-tabs a:focus-visible,.fdlogin-back:focus-visible,.fdlogin-help summary:focus-visible,.fdlogin-password-toggle:focus-visible{outline:3px solid #00ae9a;outline-offset:3px}
.fdlogin-foot{margin:30px 0 0;color:#8d9fb1;text-align:center;font-size:10px;line-height:1.8}
@media(max-width:850px){.fdlogin-page{place-items:start center}.fdlogin-stage{grid-template-columns:1fr;max-width:620px;min-height:0}.fdlogin-promo{min-height:190px;padding:23px 30px}.fdlogin-promo-middle{margin:24px 0 0;padding:0}.fdlogin-promo-middle h1{font-size:29px;margin:8px 0}.fdlogin-promo-middle>p{margin:0;max-width:440px;font-size:11px}.fdlogin-promo-bottom,.fdlogin-benefits{display:none}.fdlogin-panel{padding:29px 38px 36px}.fdlogin-panel-top{margin-bottom:28px}.fdlogin-promo:before{top:5px;right:-340px}}
@media(max-width:570px){.fdlogin-page{padding:12px}.fdlogin-stage{border-radius:18px}.fdlogin-promo{min-height:180px;padding:21px 23px}.fdlogin-gig-logo{min-height:55px}.fdlogin-gig-logo img{width:187px;max-height:65px}.fdlogin-platform{font-size:9px}.fdlogin-platform span{font-size:7px}.fdlogin-promo-middle{margin-top:18px}.fdlogin-promo-middle h1{font-size:26px}.fdlogin-promo-middle>p{max-width:310px}.fdlogin-panel{padding:24px 23px 30px}.fdlogin-panel-top{margin-bottom:25px}.fdlogin-title h2{font-size:29px}.fdlogin-panel-top a{font-size:10px}}
@media(max-width:370px){.fdlogin-gig-logo img{width:158px}.fdlogin-platform span{display:none}.fdlogin-promo-middle h1{font-size:23px}.fdlogin-panel{padding:22px 17px 26px}}
@media(prefers-reduced-motion:reduce){.fdlogin-submit,.fdlogin-role-tabs a,.fdlogin-input-wrap{transition:none}}
