
@font-face{font-family:Inter;src:url("fonts/inter-latin-variable.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url("fonts/manrope-latin-variable.woff2") format("woff2");font-weight:200 800;font-display:swap}
:root{--bg:#041019;--bg2:#061b2b;--panel:#071b27;--panel2:#082233;--line:rgba(128,211,222,.18);--text:#f2f8f8;--muted:#9aafb6;--teal:#4bdcc8;--teal2:#25b7a8;--blue:#55a6ff;--blue2:#2d76e8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 18% 34%,rgba(10,112,136,.23),transparent 30rem),radial-gradient(circle at 84% 26%,rgba(15,76,155,.18),transparent 32rem),linear-gradient(180deg,#04101a,#031019 62%,#04131d);color:var(--text);font-family:Inter,system-ui,sans-serif;min-height:100vh}
a{color:inherit}.portal-shell{min-height:100vh;overflow:hidden}.portal-header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 max(34px,4vw);border-bottom:1px solid rgba(141,207,215,.12);background:rgba(2,13,21,.72);backdrop-filter:blur(16px);position:relative;z-index:5}
.portal-brand{display:flex;align-items:center;gap:13px;text-decoration:none}.portal-mark{width:48px;height:54px;position:relative;display:grid;place-items:center}.portal-mark:before{content:"";position:absolute;inset:3px 4px;border:3px solid var(--teal);clip-path:polygon(50% 0,94% 25%,94% 74%,50% 100%,6% 74%,6% 25%);filter:drop-shadow(0 0 10px rgba(75,220,200,.22))}.portal-mark:after{content:"⚗";font-size:25px;color:#eafffa;position:relative}.portal-brand strong{display:block;font-family:Manrope;font-size:31px;line-height:1}.portal-brand small{display:block;margin-top:5px;color:var(--teal);font-size:12px}
.portal-login{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border:1px solid rgba(75,220,200,.38);border-radius:12px;background:rgba(3,20,29,.72);color:#c8fff3;font-weight:700;cursor:pointer}.portal-login small{display:block;font-size:9px;color:#8ea7ac;font-weight:600}
.hero{position:relative;text-align:center;padding:66px 22px 49px;border-bottom:1px solid rgba(141,207,215,.11)}.hero:before,.hero:after{content:"";position:absolute;width:390px;height:270px;opacity:.3;pointer-events:none}.hero:before{left:-70px;top:80px;background:linear-gradient(90deg,transparent,rgba(75,220,200,.12));clip-path:polygon(0 85%,15% 74%,30% 76%,45% 55%,60% 62%,77% 28%,100% 17%,100% 100%,0 100%)}.hero:after{right:-45px;top:95px;background:radial-gradient(circle,rgba(85,166,255,.16) 0 2px,transparent 3px) 0 0/34px 34px}
.hero h1{font-family:Manrope;margin:0;font-size:clamp(48px,6vw,76px);line-height:.98;letter-spacing:-.045em}.hero h1 em{font-style:normal;color:var(--teal)}.hero-rule{width:54px;height:3px;border-radius:2px;background:var(--teal);margin:30px auto 24px}.hero>p{max-width:760px;margin:0 auto;color:#c0ccd0;font-size:17px;line-height:1.65}.feature-row{max-width:850px;margin:44px auto 0;display:grid;grid-template-columns:repeat(4,1fr)}.feature{padding:0 24px;border-right:1px solid rgba(144,205,213,.17)}.feature:last-child{border:0}.feature-icon{width:50px;height:50px;margin:0 auto 12px;border:2px solid var(--teal);border-radius:50%;display:grid;place-items:center;color:var(--teal);font-size:23px}.feature strong{display:block;font-size:14px}.feature span{display:block;margin-top:6px;color:#a8b9be;font-size:12px;line-height:1.5}
.apps{padding:39px max(28px,5vw) 62px}.apps-heading{text-align:center}.apps-heading h2{font-family:Manrope;margin:0;font-size:34px}.apps-heading p{color:#a7b6bb;margin:9px 0 27px}.app-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:26px}.app-card{min-height:560px;padding:28px 30px;border:1px solid rgba(111,209,218,.25);border-radius:18px;background:linear-gradient(155deg,rgba(7,35,43,.96),rgba(3,19,27,.98));box-shadow:0 20px 60px rgba(0,0,0,.2);display:flex;flex-direction:column}.app-card.inspect{border-color:rgba(85,166,255,.27);background:linear-gradient(155deg,rgba(6,30,48,.97),rgba(3,18,31,.99))}.app-icon{width:82px;height:82px;margin:0 auto 16px;border:1px solid rgba(75,220,200,.52);border-radius:22px;background:linear-gradient(145deg,rgba(34,167,158,.28),rgba(4,61,68,.35));display:grid;place-items:center;color:var(--teal);font-size:42px}.inspect .app-icon{border-color:rgba(85,166,255,.52);background:linear-gradient(145deg,rgba(42,116,203,.28),rgba(10,47,86,.4));color:var(--blue)}.app-card h3{text-align:center;font-family:Manrope;font-size:29px;margin:0;color:var(--teal)}.inspect h3{color:var(--blue)}.app-subtitle{text-align:center;color:#b9c9cd;line-height:1.55;margin:22px 0}.mini-rule{width:49px;height:3px;border-radius:3px;background:var(--teal);margin:16px auto 0}.inspect .mini-rule{background:var(--blue)}.app-list{list-style:none;margin:0;padding:0;display:grid;gap:13px;color:#d1dddf;font-size:14px}.app-list li:before{content:"✓";color:var(--teal);font-weight:900;margin-right:12px}.inspect .app-list li:before{color:var(--blue)}.launch{margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:58px;border-radius:12px;background:linear-gradient(120deg,#45d6c5,#1ea99f);color:#041619;text-decoration:none;font-size:16px;font-weight:800;box-shadow:0 10px 28px rgba(34,189,173,.13)}.inspect .launch{background:linear-gradient(120deg,#3188e9,#3174dd);color:white}.launch span{margin-left:auto;margin-right:18px;font-size:23px}.footer{border-top:1px solid rgba(141,207,215,.12);padding:28px max(34px,5vw);display:grid;grid-template-columns:1.2fr 1fr 1.2fr;align-items:center;gap:30px;color:#9cadb1;font-size:12px}.footer strong{color:#f3f8f8;font-size:18px}.footer a{color:var(--teal);text-decoration:none}.footer-right{text-align:right}
.auth-modal[hidden]{display:none}.auth-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}.auth-backdrop{position:absolute;inset:0;background:rgba(0,6,10,.78);backdrop-filter:blur(7px)}.auth-card{position:relative;width:min(470px,100%);padding:28px;border:1px solid rgba(112,213,218,.24);border-radius:18px;background:#071b24;box-shadow:0 30px 100px rgba(0,0,0,.5)}.auth-close{position:absolute;right:16px;top:14px;border:0;background:transparent;color:#8da7ac;font-size:27px;cursor:pointer}.auth-card h2{font-family:Manrope;margin:10px 0 5px;font-size:28px}.auth-card p{color:#91a9ae;font-size:13px;line-height:1.5}.auth-card form{display:grid;gap:13px;margin-top:20px}.auth-card label{display:grid;gap:6px;color:#a9b9bd;font-size:12px;font-weight:700}.auth-card input{min-height:45px;border:1px solid rgba(141,207,215,.2);border-radius:9px;background:#04131b;color:#eef8f6;padding:0 12px}.auth-submit{min-height:47px;border:0;border-radius:9px;background:linear-gradient(120deg,#65dfcc,#3cc7b4);color:#041619;font-weight:900;cursor:pointer}.auth-switch{border:0;background:transparent;color:var(--teal);font-size:12px;cursor:pointer}.auth-status{min-height:18px;color:#9fb3b7;font-size:12px}.auth-status.error{color:#ff8f98}.auth-status.success{color:#74e5cb}
@media(max-width:800px){.portal-header{height:82px;padding:0 18px}.portal-brand strong{font-size:25px}.portal-brand small{font-size:10px}.feature-row{grid-template-columns:1fr 1fr;gap:28px 0}.feature:nth-child(2){border-right:0}.app-grid{grid-template-columns:1fr}.footer{grid-template-columns:1fr;text-align:left}.footer-right{text-align:left}.hero{padding-top:48px}.app-card{min-height:0}.launch{margin-top:30px}}
@media(max-width:500px){.portal-brand small{display:none}.portal-login{padding:0 12px}.feature-row{grid-template-columns:1fr 1fr}.feature{padding:0 10px}.hero>p{font-size:15px}.apps{padding-left:16px;padding-right:16px}.app-card{padding:24px 20px}}

.portal-account-area{display:flex;align-items:center;position:relative}
.portal-guest-actions{display:flex;align-items:center;gap:12px}
.portal-guest-actions[hidden],.portal-user-wrap[hidden]{display:none!important}
.portal-signup{min-height:46px;padding:0 20px;border:1px solid #178d84;border-radius:9px;background:linear-gradient(135deg,#168d84,#117970);color:#fff;font-weight:850;cursor:pointer}
.portal-signup:hover,.portal-login:hover{filter:brightness(1.08)}
.portal-user-wrap{position:relative}
.portal-user-button{display:flex;align-items:center;gap:10px;min-height:54px;padding:5px 10px;border:0;border-left:1px solid rgba(131,180,191,.18);background:transparent;color:#fff;cursor:pointer}
.portal-user-avatar{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#147f79;border:1px solid #29aaa0;font-size:13px;font-weight:900}
.portal-user-meta{text-align:left;min-width:0}
.portal-user-meta strong{display:block;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.portal-user-meta small{display:block;color:#9cadb1;font-size:10px;margin-top:2px}
.portal-user-chevron{font-size:19px;margin-left:8px}
.portal-user-dropdown{position:absolute;right:0;top:62px;width:290px;border:1px solid #dbe4e9;border-radius:12px;background:#fff;color:#0f172a;box-shadow:0 20px 55px rgba(0,0,0,.28);overflow:hidden;z-index:100}
.portal-user-dropdown[hidden]{display:none!important}
.portal-user-dropdown-head{padding:16px 18px;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.portal-user-dropdown-head strong{display:block;font-size:14px}
.portal-user-dropdown-head span{display:block;margin-top:4px;color:#64748b;font-size:11px}
.portal-dropdown-item{width:100%;min-height:53px;padding:0 17px;border:0;background:#fff;text-align:left;color:#334155;font-size:12px;cursor:pointer}
.portal-dropdown-item:hover{background:#f8fafc}
.portal-dropdown-item.danger{color:#d31535;border-top:1px solid #f1f5f9}
@media(max-width:700px){
 .portal-guest-actions{gap:6px}
 .portal-signup,.portal-login-only{padding:0 11px;font-size:11px}
 .portal-user-meta{display:none}
 .portal-user-button{padding-left:7px;padding-right:7px}
 .portal-user-dropdown{right:0;width:min(290px,calc(100vw - 24px))}
}

/* Login and Sign Up are separate modal states. */
#portal-login-form[hidden],
#portal-signup-form[hidden]{display:none !important}

/* Keep account controls at the far right of the portal top bar. */
.portal-header{width:100%}
.portal-account-area{margin-left:auto !important;justify-content:flex-end}
.portal-guest-actions{margin-left:auto;justify-content:flex-end}

/* Final portal auth-button behavior */
.portal-account-area{
  margin-left:auto !important;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.portal-guest-actions{
  margin-left:auto !important;
  display:flex;
  flex-direction:row;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
}
#portal-signup-button{order:1}
#portal-login-button{order:2}
#portal-auth-modal[hidden]{display:none !important}
#portal-login-form[hidden],
#portal-signup-form[hidden]{display:none !important}

.inspection-login-card{position:relative;width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;color:#0f172a;border-radius:22px;box-shadow:0 30px 85px rgba(0,0,0,.45)}
.inspection-auth-close{position:absolute;top:14px;right:18px;z-index:4;border:0;background:transparent;color:#94a3b8;font-size:29px;font-weight:900;cursor:pointer}
.inspection-login-head{padding:34px 30px;background:#07111f;color:#fff;text-align:center;border-bottom:1px solid #1e293b}
.inspection-brand-mark{width:54px;height:54px;margin:0 auto;display:grid;place-items:center;border:1px solid rgba(45,212,191,.38);border-radius:16px;background:rgba(20,184,166,.15);color:#5eead4;font-size:24px;font-weight:900}
.inspection-brand-title{margin-top:10px;font-size:27px;font-weight:950;letter-spacing:.08em}
.inspection-brand-sub{margin-top:2px;color:#2dd4bf;font-size:11px;font-weight:900;letter-spacing:.13em}
.inspection-brand-desc{margin-top:10px;color:#94a3b8;font-size:13px}
.inspection-login-body{padding:28px}
.inspection-form-stack{display:grid;gap:15px}.inspection-form-stack[hidden]{display:none!important}
.inspection-field{display:grid;gap:6px}.inspection-field-line{display:flex;align-items:center;justify-content:space-between;gap:12px}
.inspection-field label{color:#475569;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.inspection-field input{width:100%;min-height:47px;padding:0 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;outline:none}
.inspection-field input:focus{border-color:#14b8a6;box-shadow:0 0 0 3px rgba(20,184,166,.12)}
.inspection-link{border:0;background:transparent;color:#0f766e;font-weight:850;cursor:pointer}
.inspection-primary{width:100%;min-height:47px;border:0;border-radius:10px;background:#0f766e;color:#fff;font-size:13px;font-weight:900;cursor:pointer}
.inspection-primary:hover{background:#115e59}
.inspection-demo{margin-top:3px;padding-top:16px;border-top:1px solid #e2e8f0}
.inspection-demo-title{margin-bottom:8px;color:#94a3b8;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.inspection-demo-users{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.inspection-demo-user{padding:9px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#334155;font-size:11px;text-align:left;cursor:pointer}
.inspection-demo-user:hover{background:#eef3f5}
.inspection-login-foot{padding:14px 28px;border-top:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:11px;text-align:center}
.inspection-message{margin-bottom:14px;padding:11px 12px;border:1px solid #fecdd3;border-radius:10px;background:#fff1f2;color:#9f1239;font-size:12px}
.inspection-message.success{border-color:#a7f3d0;background:#ecfdf5;color:#065f46}
@media(max-width:560px){.inspection-login-card{max-height:calc(100vh - 20px)}.inspection-login-head{padding:28px 18px}.inspection-login-body{padding:20px 18px}.inspection-demo-users{grid-template-columns:1fr}}
