/* portal-v2.css (2026-11-01): adamai.co.uk v2 skin for the sign-in and MFA pages.
   Dark #0b1116 header/footer, white Adam AI logo, Inter Tight 300 display, Inter body, pill controls,
   UK photo panel. Loaded AFTER portal.css so the shared JS hooks (ids, classes) still work. */
:root{--night:#0b1116;--ink:#0e1418;--mut:#5f6b73;--line:#e6eaee;--paper:#f6f7f8;--green:#57B61D;--navy:#002B49}
html,body{background:#fff;color:var(--ink);font-family:Inter,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5}
a{color:var(--navy)}a:hover{text-decoration:none}
.p-header{background:var(--night);border-bottom:0;box-shadow:none;height:72px;padding:0 28px;display:flex;align-items:center;gap:22px;grid-template-columns:none}
.p-logo-link img{height:40px;border-radius:0}
.p-title{font-family:"Inter Tight",Inter,sans-serif;font-weight:300;font-size:18px;letter-spacing:-.01em;text-transform:none;color:rgba(255,255,255,.85);text-align:left;flex:1}
.p-title b{font-weight:500;color:#fff}
.p-header-right{font-family:inherit;gap:10px}
.p-header-right a{color:#fff;font-size:14px;opacity:.85;text-decoration:none}
.p-header-right a.pill{border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:7px 16px;opacity:1}
.p-clock{display:none}
/* split layout */
.p-center{flex:1;display:grid;grid-template-columns:1.1fr 1fr;padding:0;align-items:stretch}
.p-visual{position:relative;overflow:hidden;background:#222 center/cover no-repeat;color:#fff;display:flex;align-items:flex-end;padding:56px}
.p-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,17,22,.15),rgba(11,17,22,.78))}
.p-visual{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.p-visual .bgi{position:absolute;inset:0;background-image:inherit;background-size:cover;background-position:center;background-repeat:no-repeat;transform-origin:center;animation:pdrift 28s ease-in-out infinite alternate}
@keyframes pdrift{from{transform:scale(1.04) translate(0,0)}to{transform:scale(1.1) translate(-1.5%,1%)}}
.p-visual > div:not(.bgi){position:relative;max-width:34ch}
.p-visual .eyebrow{display:inline-block;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:6px 14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}
.p-visual h2{font-family:"Inter Tight",Inter,sans-serif;font-weight:300;font-size:clamp(30px,3.4vw,46px);line-height:1.08;letter-spacing:-.025em;margin:0 0 14px}
.p-visual p{color:rgba(255,255,255,.8);margin:0;font-size:16px;max-width:44ch}
.p-formside{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;background:#fff}
.p-login-card{background:#fff;color:var(--ink);border:0;border-radius:0;box-shadow:none;padding:0;max-width:400px;width:100%}
.p-login-card h1{font-family:"Inter Tight",Inter,sans-serif;font-weight:300;font-size:40px;letter-spacing:-.025em;line-height:1.05;margin:0 0 8px;text-align:left;text-transform:none;color:var(--ink)}
.p-sub{text-align:left;color:var(--mut);font-size:15px;margin-bottom:26px}
.p-form-row label{font-size:13px;color:var(--mut);letter-spacing:0;text-transform:none;font-weight:500}
.p-form-row input{border:1px solid var(--line);border-radius:12px;padding:13px 16px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}
.p-form-row input:focus{border-color:var(--ink);outline:0;box-shadow:0 0 0 3px rgba(14,20,24,.08);background:#fff}
.p-btn-primary{background:var(--ink);color:#fff;border:0;border-radius:999px;padding:14px 24px;font:inherit;font-weight:500;font-size:15px;width:100%;cursor:pointer;letter-spacing:0;text-transform:none;box-shadow:none;transition:transform .15s,background .15s}
.p-btn-primary:hover{background:#000;transform:none;box-shadow:none}
.p-error{border-radius:12px;font-size:14px}
#p-m365-btn{border-radius:999px!important;border-color:var(--line)!important;padding:13px 16px!important;font-weight:500!important;font-family:inherit!important}
.p-note{margin-top:16px;font-size:13px;color:var(--mut)}
.p-note.hr{border-top:1px solid var(--line);padding-top:12px;margin-top:14px}
.p-staff{display:block;max-width:400px;width:100%;margin:24px auto 0;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px 18px;color:var(--ink);text-decoration:none}
.p-staff strong{display:block;font-weight:500;font-size:15px;color:var(--ink)}
.p-staff span{display:block;font-size:13px;color:var(--mut);margin-top:2px}
.p-staff:hover{border-color:#c9d0d6;text-decoration:none}
.p-footer{background:var(--night);border-top:0;color:rgba(255,255,255,.55);font-size:13px;padding:18px 20px;text-align:center;height:auto}
.p-footer a{color:#fff;opacity:.85}.p-footer strong{color:#fff;font-weight:500;text-transform:none;letter-spacing:0;margin-right:0}
@media(max-width:900px){.p-center{grid-template-columns:1fr}.p-visual{min-height:260px;padding:28px}.p-visual h2{font-size:28px}.p-formside{padding:36px 20px}.p-header{padding:0 18px}.p-title{display:none}}

/* ---- signed-in dashboard (index.html) ---- */
body.p-app{background:var(--paper)}
.p-app .p-body{max-width:1240px;padding:36px 32px 64px}
.p-app .p-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 28px;box-shadow:none;color:var(--ink)}
.p-app .p-card h2{font-family:"Inter Tight",Inter,sans-serif;font-weight:400;font-size:22px;letter-spacing:-.02em;text-transform:none;color:var(--ink)}
.p-app #p-welcome{background:var(--night);color:#fff;border:0;border-radius:24px;padding:36px 32px;position:relative;overflow:hidden}
.p-app #p-welcome::after{content:"";position:absolute;inset:0;background:url(https://adamai.co.uk/wp-content/uploads/2026/11/adamai-uk-hero.jpg) center/cover;opacity:.22;pointer-events:none}
.p-app #p-welcome > *{position:relative}
.p-app #p-welcome h2{font-family:"Inter Tight",Inter,sans-serif;font-weight:300;font-size:clamp(28px,3vw,40px);letter-spacing:-.025em;color:#fff;margin:0 0 6px}
.p-app #p-welcome p{color:rgba(255,255,255,.75)!important;font-size:16px;margin:0}
.p-app .p-tabs{gap:8px!important;margin-bottom:18px!important}
.p-app .p-tab{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-family:inherit;font-weight:500;font-size:14px;letter-spacing:0;text-transform:none}
.p-app .p-tab:hover{border-color:#c9d0d6;color:var(--ink)}
.p-app .p-tab.active{background:var(--ink);border-color:var(--ink);color:#fff}
.p-app .p-form-row textarea,.p-app .p-form-row select{border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}
.p-app .p-form-row textarea:focus,.p-app .p-form-row select:focus{border-color:var(--ink);outline:0;box-shadow:0 0 0 3px rgba(14,20,24,.08)}
.p-app .p-btn-primary{width:auto;min-width:200px}
.p-app .p-user{color:rgba(255,255,255,.8);font-weight:500;letter-spacing:0;font-size:14px;max-width:none}
.p-app .p-logout-btn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:7px 16px;font-family:inherit;font-weight:500;font-size:14px;letter-spacing:0;text-transform:none}
.p-app .p-logout-btn:hover{background:rgba(255,255,255,.1)}
.p-app .p-clock{display:inline-block;font-family:Inter,sans-serif;font-size:13px;color:rgba(255,255,255,.7);background:transparent;border:0;padding:0;letter-spacing:0;min-width:0}
.p-app #p-tickets-list table th{font-weight:500;color:var(--mut)}
.p-app #p-tickets-list input[type=text]{border:1px solid var(--line)!important;border-radius:999px!important;padding:10px 16px!important;font-size:14px!important}
@media(max-width:720px){.p-app .p-body{padding:20px 16px 48px}.p-app #p-welcome{padding:26px 20px}.p-app .p-header .p-title{display:none}}

/* ---- one-screen sign-in (2026-11-01, Nathan: no scrollbar) ---- */
body.p-login{height:100vh;height:100dvh;overflow:hidden;display:grid;grid-template-rows:64px 1fr 44px}
.p-login .p-header{height:64px}.p-login .p-logo-link img{height:36px}
.p-login .p-center{min-height:0;height:100%}
.p-login .p-visual{padding:36px 40px}
.p-login .p-visual h2{font-size:clamp(26px,2.6vw,38px);margin-bottom:10px}.p-login .p-visual p{font-size:15px}
.p-login .p-formside{overflow:auto;padding:24px 28px}
.p-login .p-login-card h1{font-size:34px;margin-bottom:4px}.p-login .p-sub{margin-bottom:18px;font-size:14px}
.p-login .p-form-row{margin-bottom:10px}.p-login .p-form-row input{padding:11px 14px}
.p-login .p-btn-primary{padding:12px 22px}
.p-login .p-note{margin-top:10px;font-size:12.5px}.p-login .p-note.hr{margin-top:10px;padding-top:8px}
.p-login .p-staff{margin-top:14px;padding:12px 14px}.p-login .p-staff strong{font-size:14px}.p-login .p-staff span{font-size:12.5px}
.p-login .p-footer{padding:0 20px;display:flex;align-items:center;justify-content:center;gap:8px;height:44px;font-size:12.5px}
@media(max-width:900px){body.p-login{height:auto;overflow:auto;display:flex}.p-login .p-visual{min-height:200px}}
@media(max-height:700px){.p-login .p-visual h2{font-size:24px}.p-login .p-login-card h1{font-size:28px}.p-login .p-form-row input{padding:9px 12px}}

/* ---- 2026-11-01 13:05: scale up for large screens (Nathan: logo tiny, text hard to read) ---- */
body.p-login{grid-template-rows:clamp(64px,5.2vw,96px) 1fr clamp(44px,3vw,56px);font-size:clamp(15px,1.05vw,19px)}
.p-login .p-header{height:auto;padding:0 clamp(20px,2vw,40px)}
.p-login .p-logo-link img{height:clamp(40px,3.4vw,64px)}
.p-login .p-title{font-size:clamp(18px,1.3vw,26px)}
.p-login .p-header-right a{font-size:clamp(14px,1vw,18px)}.p-login .p-header-right a.pill{padding:.45em 1em}
.p-login .p-visual{padding:clamp(32px,3.2vw,64px)}
.p-login .p-visual > div:not(.bgi){max-width:36ch}
.p-login .p-visual .eyebrow{font-size:clamp(11px,.8vw,15px)}
.p-login .p-visual h2{font-size:clamp(28px,2.9vw,56px)}.p-login .p-visual p{font-size:clamp(15px,1.1vw,21px)}
.p-login .p-login-card{max-width:clamp(400px,30vw,560px)}
.p-login .p-login-card h1{font-size:clamp(34px,2.6vw,52px)}.p-login .p-sub{font-size:clamp(14px,1vw,19px)}
.p-login .p-form-row label{font-size:clamp(13px,.9vw,17px)}
.p-login .p-form-row input{font-size:clamp(15px,1.05vw,20px);padding:.7em .9em}
.p-login .p-btn-primary{font-size:clamp(15px,1.05vw,20px);padding:.75em 1.4em}
.p-login #p-m365-btn{font-size:clamp(14px,1vw,19px)!important;padding:.7em 1em!important}
.p-login .p-note{font-size:clamp(12.5px,.85vw,16px)}
.p-login .p-staff strong{font-size:clamp(14px,1vw,19px)}.p-login .p-staff span{font-size:clamp(12.5px,.85vw,16px)}
.p-login .p-footer{font-size:clamp(12.5px,.85vw,16px)}
.p-login .p-staff{max-width:clamp(400px,30vw,560px)}

/* ---- 13:15: darker visual + height-aware sizing (Nathan: white on white, still clipped at 150% zoom) ---- */
.p-visual::before{background:linear-gradient(180deg,rgba(11,17,22,.35) 0%,rgba(11,17,22,.55) 45%,rgba(11,17,22,.92) 100%)}
.p-visual h2,.p-visual p,.p-visual .eyebrow{text-shadow:0 1px 2px rgba(0,0,0,.45)}
.p-login .p-formside{justify-content:flex-start}
.p-login .p-login-card{margin:auto 0}
.p-login .p-staff{margin-bottom:0}
body.p-login{font-size:clamp(14px,min(1.05vw,2.2vh),19px)}
.p-login .p-login-card h1{font-size:clamp(26px,min(2.6vw,5.2vh),52px);margin:0 0 .1em}
.p-login .p-sub{margin-bottom:.9em}
.p-login .p-form-row{margin-bottom:.55em}.p-login .p-form-row label{margin-bottom:0}
.p-login .p-form-row input{padding:.55em .9em;font-size:clamp(14px,min(1.05vw,2.2vh),20px)}
.p-login .p-btn-primary{padding:.65em 1.4em;font-size:clamp(14px,min(1.05vw,2.2vh),20px)}
.p-login #p-m365-btn{padding:.55em 1em!important;margin-bottom:.6em!important;font-size:clamp(13px,min(1vw,2vh),19px)!important}
.p-login #p-m365-wrap > div{margin:.2em 0 .7em!important}
.p-login .p-note{margin-top:.6em;font-size:clamp(12px,min(.85vw,1.7vh),16px)}.p-login .p-note.hr{margin-top:.6em;padding-top:.5em}
.p-login .p-staff{margin-top:.8em;padding:.7em .9em}.p-login .p-staff strong{font-size:clamp(13px,min(1vw,2vh),19px)}.p-login .p-staff span{font-size:clamp(12px,min(.85vw,1.7vh),16px)}
.p-login .p-visual h2{font-size:clamp(24px,min(2.9vw,5.5vh),56px)}.p-login .p-visual p{font-size:clamp(14px,min(1.1vw,2.2vh),21px)}
.p-login .p-visual .eyebrow{margin-bottom:.8em}
.p-visual::before{z-index:1}.p-visual .bgi{z-index:0}.p-visual > div:not(.bgi){z-index:2}

/* ---- 13:25: signed-in dashboard scales with the screen like the sign-in page ---- */
body.p-app{font-size:clamp(15px,1.02vw,19px)}
.p-app .p-header{height:clamp(64px,5vw,92px);padding:0 clamp(20px,2vw,40px)}
.p-app .p-logo-link img{height:clamp(40px,3.2vw,60px)}
.p-app .p-title{font-size:clamp(18px,1.3vw,26px)}
.p-app .p-header-right a,.p-app .p-user,.p-app .p-logout-btn{font-size:clamp(14px,.95vw,18px)}
.p-app .p-clock{font-size:clamp(12px,.8vw,15px)}
.p-app .p-body{max-width:min(1500px,88vw);padding:clamp(28px,2.6vw,52px) clamp(20px,2vw,40px) clamp(48px,4vw,80px)}
.p-app #p-welcome{padding:clamp(30px,2.8vw,56px) clamp(26px,2.4vw,48px)}
.p-app #p-welcome h2{font-size:clamp(28px,2.6vw,52px)}.p-app #p-welcome p{font-size:clamp(15px,1.1vw,21px)}
.p-app .p-tab{font-size:clamp(14px,.95vw,18px);padding:.6em 1.2em}
.p-app .p-card{padding:clamp(22px,2vw,40px) clamp(24px,2.2vw,44px)}
.p-app .p-card h2{font-size:clamp(20px,1.5vw,30px)}
.p-app #p-tickets-list table{font-size:clamp(13px,.9vw,17px)!important}
.p-app #p-tickets-list input[type=text]{font-size:clamp(14px,.95vw,18px)!important}
.p-app .p-form-row label{font-size:clamp(13px,.9vw,17px)}
.p-app .p-form-row input,.p-app .p-form-row textarea,.p-app .p-form-row select{font-size:clamp(15px,1vw,19px)}
.p-app .p-btn-primary{font-size:clamp(15px,1vw,19px)}
.p-app .p-footer{font-size:clamp(12.5px,.85vw,16px)}
.p-app .p-header-right a.pill{border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:.45em 1em;opacity:1}
