/* Faber Warehouse front-door. Intentional: theme- and wp-admin-independent. */
*, *::before, *::after { box-sizing: border-box; }
html, body.faber-portal-body { width: 100%; min-height: 100%; margin: 0; padding: 0; }
body.faber-portal-body { background: #f2f0eb; color: #1d1b18; font: 14px/1.5 Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
body.faber-portal-body a { color: inherit; }
body.faber-portal-body button, body.faber-portal-body input { font: inherit; }
body.faber-portal-body button:focus-visible, body.faber-portal-body input:focus-visible { outline: 2px solid #b9975b; outline-offset: 3px; }
.faber-portal-login { display: grid; grid-template-columns: minmax(360px, 0.96fr) minmax(420px, 1.04fr); min-height: 100dvh; }
.faber-portal-visual { position: relative; padding: clamp(36px, 5vw, 86px); display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; color: #f5f0e6; background: radial-gradient(circle at 24% 82%, rgba(171,143,93,.16), transparent 42%), linear-gradient(140deg, #22211e, #100f0e 76%); }
.faber-portal-visual::before { content: ''; position: absolute; inset: 20% -30% -40% 14%; border: 1px solid rgba(189,159,103,.14); transform: rotate(-24deg); border-radius: 38%; pointer-events: none; }
.faber-portal-visual::after { content: ''; position: absolute; inset: 32% -18% -24% 25%; border: 1px solid rgba(189,159,103,.10); transform: rotate(-24deg); border-radius: 38%; pointer-events: none; }
.faber-portal-visual-brand, .faber-portal-brand, .faber-portal-mobile-brand { display: flex; align-items: center; gap: 15px; font-weight: 650; font-size: 18px; letter-spacing: .19em; line-height: 1.2; position: relative; z-index: 1; }
.faber-portal-visual-brand small, .faber-portal-brand small, .faber-portal-mobile-brand small { display: block; font-size: 10px; letter-spacing: .21em; font-weight: 500; opacity: .7; margin-top: 6px; }
.faber-portal-mark { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border: 1px solid #b9975b; font: 34px Georgia, serif; color: #b9975b; flex: none; }
.faber-portal-visual-copy { position: relative; z-index: 1; padding: 35px 0; }
.faber-portal-eyebrow { font-size: 10px; font-weight: 600; letter-spacing: .25em; color: #b9975b; }
.faber-portal-visual-copy h2 { font-size: clamp(48px, 5.4vw, 94px); font-weight: 460; letter-spacing: -.045em; line-height: 1.075; margin: 20px 0 29px; }
.faber-portal-gold-line { width: 56px; height: 2px; background: #b9975b; }
.faber-portal-visual-copy p { color: #beb9b0; margin-top: 22px; letter-spacing: .015em; }
.faber-portal-footnote { font-size: 9px; letter-spacing: .17em; color: #a9a197; z-index: 1; }
.faber-portal-signin { display: flex; flex-direction: column; justify-content: center; align-items: stretch; width: min(100%, 440px); padding: 36px 24px; margin: 0 auto; }
.faber-portal-signin h1 { font-size: clamp(34px, 3vw, 45px); font-weight: 550; letter-spacing: -.04em; line-height: 1.15; margin: 18px 0 12px; }
.faber-portal-signin p { color: #78746c; margin: 0 0 37px; }
.faber-portal-signin form { display: flex; flex-direction: column; }
.faber-portal-signin label { font-size: 12px; font-weight: 600; color: #4b4740; margin-bottom: 9px; }
.faber-portal-signin input[type='text'], .faber-portal-signin input[type='password'] { width: 100%; border: 1px solid #d7d1c6; background: white; min-height: 49px; border-radius: 2px; padding: 10px 14px; margin: 0 0 24px; color: #211f1b; }
.faber-portal-remember { display: flex; align-items: center; gap: 9px; font-weight: 450 !important; margin: -2px 0 25px; cursor: pointer; }
.faber-portal-remember input { accent-color: #a9844a; width: 15px; height: 15px; }
.faber-portal-signin button { min-height: 49px; background: #1c1b19; color: #f5efe5; border: none; font-weight: 550; text-align: left; padding: 13px 18px; cursor: pointer; transition: background .15s ease; }
.faber-portal-signin button:hover { background: #373127; }
.faber-portal-signin button span { float: right; color: #c9ac74; }
.faber-portal-notice { font-size: 11px; margin-top: 27px; color: #8b857a; }
.faber-portal-error { border-left: 3px solid #ad6446; padding: 12px 14px; background: #fff7f3; color: #86432f; margin-bottom: 22px; font-size: 12px; }
.faber-portal-mobile-brand { display: none; }
/* Standalone dashboard: overrides admin-page margin and full WP frame. */
body.faber-portal-body #faber-lab { margin: 0; border: none; box-shadow: none; min-height: 100dvh; width: 100%; }
body.faber-portal-body #faber-lab .faber-lab-side { min-height: 100dvh; height: 100dvh; position: sticky; top: 0; overflow-y: auto; }
body.faber-portal-body #faber-lab .faber-lab-main { min-height: 100dvh; }
body.faber-portal-body #faber-lab .faber-lab-side-bottom { padding-bottom: 10px; }
body.faber-portal-body #faber-lab .faber-portal-logout { border-top: 1px solid #a89d852b; margin-top: 17px; padding-top: 14px; }
body.faber-portal-body #faber-lab .faber-portal-logout button { width: 100%; text-align: left; border: 0; padding: 12px 9px; color: inherit; font-size: 11px; background: transparent; cursor: pointer; }
body.faber-portal-body #faber-lab .faber-portal-logout button:hover { color: var(--lab-accent); }
body.faber-portal-body #faber-lab .faber-portal-logout button span { float: right; }
@media (max-width: 850px) {
  .faber-portal-login { display: flex; min-height: 100dvh; }
  .faber-portal-visual { display: none; }
  .faber-portal-signin { width: min(100%, 485px); padding: 50px 27px; }
  .faber-portal-mobile-brand { display: flex; color: #1d1b18; margin-bottom: 65px; }
}
@media (max-width: 740px) {
  body.faber-portal-body #faber-lab .faber-lab-side { width: 100%; height: auto; min-height: 0; position: static; }
  body.faber-portal-body #faber-lab .faber-lab-side-bottom { display: block; padding: 6px 9px; }
  body.faber-portal-body #faber-lab .faber-lab-side-bottom > small, body.faber-portal-body #faber-lab .faber-lab-side-bottom > .faber-lab-dot { display: none; }
  body.faber-portal-body #faber-lab .faber-portal-logout { margin-top: 5px; padding-top: 0; }
  body.faber-portal-body #faber-lab .faber-lab-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
  body.faber-portal-body #faber-lab .faber-lab-grid { grid-template-columns: 1fr; }
  body.faber-portal-body #faber-lab .faber-lab-header-tools { flex-wrap: wrap; }
}

.faber-portal-return{display:inline-block;align-self:flex-start;margin-bottom:20px!important;font-size:12px!important;font-weight:600;text-decoration:none;border-bottom:1px solid #b9975b;padding-bottom:5px}
.faber-portal-return:hover{text-decoration:underline}
.faber-portal-side-return{display:block;font-size:11px;color:#bba880;text-decoration:none;padding:10px 9px 13px}
.faber-portal-side-return:hover{text-decoration:underline}


/* Faber Warehouse v0.6.0 login: same proportions, typography and palette as the LAB dashboard. */
body.faber-portal-body{background:#f3f1ec;color:#22211e;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
.faber-portal-login{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100dvh}
.faber-portal-visual{position:relative;display:flex;flex-direction:column;padding:32px 24px 25px;background:#171614;color:#eee9df;overflow:visible}
.faber-portal-visual::before,.faber-portal-visual::after{display:none}
.faber-portal-visual-brand{display:flex;gap:12px;align-items:center;font-size:15px;letter-spacing:3px;white-space:nowrap;font-weight:700}
.faber-portal-visual-brand small{font-size:9px;letter-spacing:2px;margin-top:6px;font-weight:400}
.faber-portal-mark{width:41px;height:41px;font:28px/39px Georgia,serif;border:1px solid #ae8950;color:#ae8950;text-align:center}
.faber-portal-visual-middle{margin-top:58px;color:#8c877e;font-size:10px;letter-spacing:1.5px;font-weight:600}
.faber-portal-visual-current{border:1px solid #ae8950;color:#ae8950;background:#ffffff08;padding:14px 12px;margin:16px -5px 0;font-size:12px;letter-spacing:0;font-weight:500}
.faber-portal-footnote{margin-top:auto;color:#ae8950;font-size:10px;line-height:1.8;letter-spacing:.6px}
.faber-portal-login-main{min-width:0;display:flex;flex-direction:column}
.faber-portal-login-header{min-height:113px;border-bottom:1px solid #e2ddd3;padding:25px clamp(26px,4vw,40px);display:flex;align-items:center;justify-content:space-between;gap:16px}
.faber-portal-breadcrumb{display:block;color:#77736d;font-size:10px;letter-spacing:2px}
.faber-portal-login-header h2{font-size:30px;font-weight:600;letter-spacing:-.025em;margin:8px 0 0;line-height:1.15}
.faber-portal-env-pill{flex:none;white-space:nowrap;font-size:10px;letter-spacing:1.1px;color:#ae8950;border:1px solid #ae8950;padding:10px 12px}
.faber-portal-login-content{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}
.faber-portal-signin{width:min(100%,510px);max-width:510px;padding:34px clamp(24px,4vw,48px);margin:0;background:#fff;border:1px solid #e2ddd3;box-shadow:none}
.faber-portal-entry-icon{width:60px;height:60px;object-fit:contain;display:block;margin:0 0 12px}
.faber-portal-eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:#ae8950}
.faber-portal-signin h1{font-size:30px;line-height:1.15;letter-spacing:-.028em;font-weight:600;margin:12px 0 9px}
.faber-portal-signin p{font-size:12px;color:#77736d;margin:0 0 24px}
.faber-portal-signin label{font-size:12px;font-weight:550;color:#33312c;margin:0 0 9px}
.faber-portal-signin input[type='text'],.faber-portal-signin input[type='password']{border:1px solid #dcd6cb;background:#fbfaf8;border-radius:1px;min-height:45px;padding:10px 13px;margin:0 0 19px;color:#22211e}
.faber-portal-signin input:focus-visible{outline:2px solid #ae8950;outline-offset:1px}
.faber-portal-remember{font-size:11px!important;color:#77736d!important;font-weight:400!important;display:flex;align-items:center;gap:9px;margin:1px 0 20px!important}
.faber-portal-signin button.faber-portal-submit{min-height:48px;display:block;width:100%;border-radius:1px;border:1px solid #ae8950;background:#171614;color:#f8f6f1;font-size:12px;font-weight:600;letter-spacing:.02em;text-align:left;padding:13px 18px}
.faber-portal-signin button.faber-portal-submit:hover{background:#ae8950;color:#171614}
.faber-portal-submit span{float:right;color:#c5a56e}
.faber-portal-signin button.faber-portal-submit:hover span{color:#171614}
.faber-portal-notice{display:block;margin-top:18px;color:#8b857a;font-size:11px;line-height:1.5}
.faber-portal-return{display:inline-block;margin-top:18px;margin-bottom:0!important;color:#ae8950!important;text-decoration:none!important;border-bottom:1px solid transparent;padding:0 0 2px;font-size:12px!important;font-weight:500}
.faber-portal-return:hover{border-bottom-color:#ae8950}
@media(max-width:780px){.faber-portal-login{display:block}.faber-portal-visual{display:none}.faber-portal-login-header{min-height:94px;padding:22px}.faber-portal-login-header h2{font-size:25px}.faber-portal-login-content{min-height:calc(100dvh - 94px);padding:24px 13px}.faber-portal-signin{padding:28px 23px}.faber-portal-env-pill{font-size:9px;padding:9px}}
@media(max-width:420px){.faber-portal-login-header{gap:7px}.faber-portal-env-pill{display:none}.faber-portal-signin h1{font-size:26px}}
