
.portal-page{background:#f5f2eb;min-height:100vh}.portal-shell{width:min(1120px,92vw);margin:0 auto;padding:54px 0 90px}
.portal-header{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.portal-header h1{font-family:Georgia,serif;font-size:48px;font-weight:500;margin:6px 0}.portal-header p{color:#6b7684;max-width:650px;line-height:1.65;margin:0}
.auth-wrap{min-height:calc(100vh - 104px);display:grid;grid-template-columns:1.05fr .95fr}.auth-image{background:linear-gradient(0deg,rgba(7,17,31,.35),rgba(7,17,31,.08)),url('/assets/properties/property-03.webp') center/cover;position:relative}.auth-image-copy{position:absolute;left:8%;right:8%;bottom:9%;color:#fff}.auth-image-copy h1{font-family:Georgia,serif;font-size:56px;font-weight:500;line-height:1.02;margin:10px 0}.auth-image-copy p{font-size:16px;line-height:1.7;max-width:560px}
.auth-panel{background:#f8f5ef;padding:64px clamp(30px,6vw,84px);display:flex;align-items:center}.auth-card{width:100%;max-width:520px}.auth-tabs{display:flex;gap:8px;background:#ebe7de;padding:5px;border-radius:999px;margin:25px 0}.auth-tab{flex:1;border:0;background:transparent;padding:11px;border-radius:999px;font-weight:800;cursor:pointer}.auth-tab.active{background:#fff;box-shadow:0 4px 14px #0000000c}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#7e8997}.field input,.field select,.field textarea{width:100%;border:1px solid #d9dde1;background:#fff;border-radius:13px;padding:13px 14px;color:#172236;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#b98b36;box-shadow:0 0 0 3px #c8a96b22}.field textarea{min-height:90px;resize:vertical}
.notice{padding:14px 16px;border-radius:13px;font-size:12px;line-height:1.6;margin:16px 0}.notice-gold{background:#fff4d9;border:1px solid #e5cb88;color:#6f5728}.notice-blue{background:#eef4fb;border:1px solid #cfdceb;color:#40536b}.notice-error{background:#fff0ef;border:1px solid #efc1bd;color:#8b3830}
.portal-card{background:#fff;border:1px solid #e2e4e6;border-radius:22px;padding:24px;box-shadow:0 8px 30px rgba(7,17,31,.05)}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.portal-grid.three{grid-template-columns:repeat(3,1fr)}
.kpi{background:#07111f;color:#fff;border-radius:20px;padding:25px}.kpi .label{color:#9eabbc;text-transform:uppercase;font-size:9px;letter-spacing:.13em;font-weight:800}.kpi strong{display:block;font-family:Georgia,serif;font-size:38px;font-weight:500;color:#f0d397;margin-top:8px}.kpi p{color:#bdc8d5;font-size:12px;line-height:1.6;margin-bottom:0}
.passport-form{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.passport-section{background:#fff;border:1px solid #e1e4e8;border-radius:22px;padding:26px;margin-bottom:18px}.passport-section h2{font-family:Georgia,serif;font-weight:500;font-size:30px;margin:5px 0 18px}.section-intro{color:#6e7986;font-size:13px;line-height:1.65;margin-bottom:20px}
.checks{display:grid;gap:10px}.check-card{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid #e4e6e8;border-radius:13px}.check-card input{margin-top:3px;transform:scale(1.15)}.check-card strong{font-size:13px}.check-card span{display:block;font-size:11px;color:#788391;line-height:1.5;margin-top:3px}
.score-panel{position:sticky;top:130px;height:max-content;background:#07111f;color:#fff;border-radius:24px;padding:27px}.score-panel .score-big{font-family:Georgia,serif;font-size:76px;line-height:1;color:#f0d397}.score-panel .band{font-size:20px;font-weight:800}.score-disclaimer{font-size:10px;line-height:1.5;color:#9aa7b7;margin:12px 0 20px}.factor{padding:12px 0;border-top:1px solid #ffffff17}.factor-top{display:flex;justify-content:space-between;gap:10px;font-size:11px}.factor-track{height:6px;background:#ffffff18;border-radius:99px;margin-top:7px;overflow:hidden}.factor-fill{height:100%;background:linear-gradient(90deg,#b98b36,#f0d397);border-radius:99px}
.reason-list{margin:0;padding-left:18px;color:#c9d3df;font-size:11px;line-height:1.65}.improve-list{margin:0;padding-left:18px;color:#59471f;font-size:12px;line-height:1.65}
.portal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.btn-dark{background:#07111f;color:#fff}.btn-soft{background:#ece8df;color:#263447}.btn-block{width:100%;padding:15px}
.saved-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mini-property{border:1px solid #e2e4e7;border-radius:17px;overflow:hidden;background:#fff}.mini-property img{height:155px;width:100%;object-fit:cover}.mini-property div{padding:13px}.mini-property strong{font-family:Georgia,serif;font-size:19px}.mini-property p{margin:4px 0;color:#788390;font-size:11px}
.auth-status{font-size:12px;color:#7b8693;margin-top:14px;min-height:18px}.hidden{display:none!important}
@media(max-width:900px){.auth-wrap,.passport-form{grid-template-columns:1fr}.auth-image{min-height:380px}.portal-grid,.portal-grid.three,.saved-grid{grid-template-columns:1fr 1fr}.score-panel{position:relative;top:auto}}
@media(max-width:640px){.auth-wrap{min-height:0}.auth-image{min-height:330px}.auth-image-copy h1{font-size:42px}.auth-panel{padding:38px 20px 70px}.portal-shell{padding:34px 0 80px}.portal-header{align-items:flex-start;flex-direction:column}.portal-header h1{font-size:38px}.form-grid,.portal-grid,.portal-grid.three,.saved-grid{grid-template-columns:1fr}.passport-section{padding:20px}.score-panel{padding:22px}.score-panel .score-big{font-size:66px}}
