:root{--ink:#0d2b20;--forest:#174d38;--forest-2:#245f49;--sage:#dce7df;--cream:#f6f2ea;--sand:#c19a62;--white:#fff;--muted:#68756e;--line:#dbe1dc;--shadow:0 18px 55px rgba(18,52,40,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:#f8f6f0}a{color:inherit}button,input,select,textarea{font:inherit}.portal-body{min-height:100vh;background:radial-gradient(circle at 85% 0,rgba(194,154,98,.13),transparent 30%),#f8f6f0}.portal-header{height:86px;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:#0e2c21;color:#fff;position:sticky;top:0;z-index:20}.portal-brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-weight:700}.portal-brand img{width:52px;height:52px;border-radius:50%}.portal-header nav{display:flex;align-items:center;gap:26px}.portal-header nav a{text-decoration:none;font-size:.9rem;font-weight:600}.portal-logout{padding:10px 16px;border:1px solid rgba(255,255,255,.3);border-radius:999px}.portal-shell{width:min(1240px,calc(100% - 42px));margin:0 auto;padding:54px 0 90px}.portal-shell-auth{width:min(1320px,100%);padding:0;min-height:calc(100vh - 58px)}.portal-footer{min-height:58px;padding:16px clamp(22px,5vw,72px);display:flex;justify-content:space-between;gap:20px;color:#748079;font-size:.76rem}.portal-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;color:#4a7866}.portal-card{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Cormorant Garamond",serif;line-height:.95}h1{font-size:clamp(3.2rem,6vw,6rem);font-weight:600;letter-spacing:-.04em}h2{font-size:2.25rem;margin-bottom:12px}p{line-height:1.7;color:#59675f}.portal-btn{appearance:none;border:0;border-radius:999px;padding:13px 21px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.portal-btn-primary{background:var(--forest);color:#fff}.portal-btn-light{background:#fff;color:var(--forest)}.portal-btn-outline{border:1px solid #99aa9f;color:var(--forest);background:transparent}.flash{margin:0 0 20px;border-radius:15px;padding:14px 18px;font-weight:600}.flash-success{background:#dceee3;color:#205a40}.flash-error,.form-error{background:#f8dddd;color:#8a2828;padding:13px 15px;border-radius:12px}.form-notice{background:#f5ead8;color:#704d1f;padding:13px 15px;border-radius:12px}label{display:grid;gap:8px;font-size:.8rem;font-weight:700;color:#385044}input,select,textarea{width:100%;border:1px solid #ccd6cf;border-radius:13px;background:#fff;padding:13px 14px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(36,95,73,.1)}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}.login-layout{min-height:calc(100vh - 58px);display:grid;grid-template-columns:1.25fr .75fr;background:#0e2c21}.login-story{padding:clamp(55px,9vw,130px);color:#fff;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,rgba(8,38,27,.96),rgba(8,38,27,.7)),url("../assets/img/sydney-opera.jpeg") center/cover}.login-story .portal-kicker{color:#c9b084}.login-story h1{max-width:800px;margin:24px 0 28px}.login-story p{max-width:670px;color:rgba(255,255,255,.76);font-size:1.08rem}.login-points{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.login-points span{border:1px solid rgba(255,255,255,.25);padding:10px 14px;border-radius:999px;font-size:.78rem}.login-card{border-radius:0;box-shadow:none;padding:clamp(40px,6vw,88px);display:flex;flex-direction:column;justify-content:center;gap:18px}.login-logo{width:74px;margin-bottom:12px}.login-card h2{font-size:3.2rem}.login-card .portal-btn{margin-top:8px}.login-help,.back-site{font-size:.78rem;color:#728078;text-align:center}.back-site{text-decoration:none}.page-heading{max-width:780px;margin-bottom:34px}.page-heading h1{font-size:clamp(3rem,5vw,5rem);margin:15px 0}.narrow-form{max-width:620px;display:grid;gap:18px}.onboarding-form{max-width:900px}.onboarding-form .portal-btn{margin-top:24px}.journey-hero{padding:20px 0 45px;display:flex;justify-content:space-between;align-items:center;gap:30px}.journey-hero h1{margin:16px 0 18px}.progress-orbit{width:190px;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(var(--forest) calc(var(--progress)*1%),#dce3dd 0);position:relative;flex:0 0 auto}.progress-orbit:before{content:"";position:absolute;inset:13px;border-radius:50%;background:#f8f6f0}.progress-orbit strong,.progress-orbit span{position:relative}.progress-orbit strong{font-family:"Cormorant Garamond";font-size:3rem}.progress-orbit span{font-size:.75rem;color:var(--muted)}.attention-card{padding:30px 34px;border-radius:25px;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.attention-card span{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em}.attention-card h2{margin:8px 0}.attention-card p{color:rgba(255,255,255,.75);margin:0}.journey-overview{display:grid;grid-template-columns:1.7fr .65fr .65fr;gap:18px}.next-step h2{margin-top:18px}.quick-stat span{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.quick-stat>strong{display:block;font-family:"Cormorant Garamond";font-size:3rem;margin:16px 0 2px}.quick-stat p{font-size:.82rem;line-height:1.5;margin-bottom:0}.portal-section-heading{margin:76px 0 24px;display:flex;align-items:end;justify-content:space-between;gap:40px}.portal-section-heading h2{font-size:3.1rem;margin:11px 0 0}.portal-section-heading>p{max-width:410px;margin:0}.portal-section-heading.compact{margin:55px 0 18px}.portal-section-heading.compact h2{font-size:2.4rem}.roadmap{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.phase-card{padding:0;overflow:hidden}.phase-heading{padding:24px 25px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.phase-heading>span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e5eee8;color:var(--forest);font-weight:800}.phase-heading h3{margin:0 0 3px}.phase-heading small{color:var(--muted)}.task-list{padding:4px 20px 12px}.task-row{padding:16px 2px;border-bottom:1px solid #edf0ed;display:flex;justify-content:space-between;gap:12px}.task-row:last-child{border:0}.task-row label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.task-row input{position:absolute;opacity:0;pointer-events:none}.task-check{width:22px;height:22px;border:1.5px solid #9aaba0;border-radius:7px;flex:0 0 auto;position:relative}.task-row input:checked+.task-check{background:var(--forest);border-color:var(--forest)}.task-row input:checked+.task-check:after{content:"✓";position:absolute;color:#fff;inset:0;display:grid;place-items:center;font-size:.75rem}.task-row strong,.task-row small{display:block}.task-row small{margin-top:5px;color:var(--muted);line-height:1.4;font-weight:400}.task-row.is-complete strong{text-decoration:line-through;color:#849088}.verified{font-size:.64rem;white-space:nowrap;color:#2b684e;background:#e5f1e9;border-radius:999px;padding:6px 8px;height:max-content}.portal-two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.material-list,.appointment-list{padding:12px 24px}.material-list article,.appointment-list article,.simple-item{padding:16px 0;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line)}.material-list article:last-child,.appointment-list article:last-child{border:0}.material-list article>div:nth-child(2),.appointment-list article>div{flex:1}.material-list strong,.appointment-list strong,.simple-item strong{display:block}.material-list p,.appointment-list p{font-size:.78rem;margin:4px 0 0;line-height:1.4}.material-list a,.appointment-list a,.simple-item a{font-size:.76rem;font-weight:800;color:var(--forest)}.file-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#e4eee8}.appointment-list time{width:48px;text-align:center;text-transform:uppercase;font-size:.68rem;color:var(--muted)}.appointment-list time strong{font-family:"Cormorant Garamond";font-size:1.8rem;color:var(--ink)}.bottom-blocks{margin-top:68px}.migration-card{background:#183f31;color:#fff}.migration-card .portal-kicker{color:#c9b084}.migration-card p{color:rgba(255,255,255,.73)}.migration-card .portal-btn{color:#fff;border-color:rgba(255,255,255,.35)}.code-line{display:flex;align-items:center;gap:16px;margin:24px 0}.code-line strong{font-family:"Cormorant Garamond";font-size:2.7rem}.code-line span{font-size:.78rem}.comment{border-top:1px solid var(--line);padding:15px 0}.comment p{margin:5px 0;font-size:.85rem}.comment small,.simple-item small{display:block;color:var(--muted);margin-top:4px}.empty-state{color:#879189;padding:20px 0}.admin-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.admin-heading h1{margin:14px 0}.credentials-card{background:#f0e4ce;border:1px solid #d9bd8c;border-radius:24px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:24px}.credentials-card dl{margin:0;background:#fff;border-radius:16px;padding:18px}.credentials-card dt{font-size:.68rem;text-transform:uppercase;color:var(--muted)}.credentials-card dd{font-weight:800;margin:4px 0 14px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.admin-stats article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.admin-stats span{display:block;color:var(--muted);font-size:.76rem}.admin-stats strong{display:block;font-family:"Cormorant Garamond";font-size:2.6rem;margin-top:10px}.client-table-wrap{padding:0;overflow:hidden}.table-title{padding:25px}.table-title h2{margin:8px 0 0}.client-row{display:grid;grid-template-columns:1.5fr .7fr .8fr .8fr .65fr .35fr;gap:18px;align-items:center;padding:16px 25px;border-top:1px solid var(--line);font-size:.8rem}.client-row-head{font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:#f2f5f2}.client-identity{display:flex;align-items:center;gap:12px}.client-identity i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--sage);font-style:normal;font-weight:800}.client-identity strong,.client-identity small{display:block}.client-identity small{color:var(--muted);margin-top:3px}.mini-progress{display:inline-block;width:72px;height:5px;border-radius:99px;background:#dde4df;overflow:hidden}.mini-progress i{display:block;height:100%;background:var(--forest)}.client-row>span:nth-child(3) small{margin-left:6px}.status-pill{font-style:normal;text-transform:capitalize;padding:7px 10px;border-radius:999px;background:#e6ebe7}.status-active,.status-australia{background:#dceddf;color:#246044}.open-client{font-weight:800;text-decoration:none}.portal-dialog{width:min(580px,calc(100% - 30px));border:0;border-radius:25px;padding:0;box-shadow:0 30px 100px rgba(0,0,0,.26)}.portal-dialog::backdrop{background:rgba(7,28,20,.68);backdrop-filter:blur(4px)}.portal-dialog form{padding:34px;display:grid;gap:17px}.portal-dialog h2{font-size:2.5rem;margin:0}.dialog-close{position:absolute;right:18px;top:15px;border:0;background:transparent;font-size:1.8rem;cursor:pointer}.field-or{text-align:center;color:var(--muted);font-size:.7rem}.back-link{font-size:.8rem;font-weight:700;text-decoration:none}.client-detail-head{display:flex;align-items:center;gap:22px;margin:34px 0}.client-detail-head h1{font-size:4.3rem;margin:8px 0}.client-avatar{width:90px;height:90px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;font-family:"Cormorant Garamond";font-size:3rem}.admin-client-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:20px}.admin-client-grid form{display:grid;gap:14px}.profile-summary dl{display:grid;grid-template-columns:130px 1fr;gap:10px;margin:0}.profile-summary dt{color:var(--muted);font-size:.75rem}.profile-summary dd{margin:0;font-size:.86rem}.admin-section{margin-top:20px}.section-action-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-task-list article{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;border-top:1px solid var(--line)}.admin-task-list span{display:block;font-size:.66rem;color:#4a7866;text-transform:uppercase;letter-spacing:.1em}.admin-task-list strong{display:block;margin:5px 0}.admin-task-list p{font-size:.8rem;margin:0}.admin-task-list article.is-complete{opacity:.7}.admin-columns{margin-top:20px}.inline-note{display:flex;gap:12px;margin:18px 0}.inline-note textarea{min-height:80px}.inline-note .portal-btn{flex:0 0 auto}.simple-item>div{flex:1}
@media(max-width:900px){.portal-header{height:auto;min-height:78px;align-items:flex-start;padding-top:13px;padding-bottom:13px}.portal-header nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.portal-header nav a:not(.portal-logout){display:none}.login-layout{grid-template-columns:1fr}.login-story{min-height:48vh;padding:50px 28px}.login-card{padding:45px 28px}.journey-overview{grid-template-columns:1fr 1fr}.journey-overview .next-step{grid-column:1/-1}.roadmap,.portal-two-column,.admin-client-grid{grid-template-columns:1fr}.client-row{grid-template-columns:1.3fr .7fr .5fr}.client-row>span:nth-child(4),.client-row>span:nth-child(5),.client-row-head>span:nth-child(4),.client-row-head>span:nth-child(5){display:none}.admin-stats{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.portal-shell{width:min(100% - 26px,1240px);padding-top:32px}.portal-brand span{display:none}.portal-header nav{font-size:.7rem}.portal-footer{flex-direction:column}.journey-hero{align-items:flex-start}.progress-orbit{width:115px}.progress-orbit strong{font-size:2rem}.journey-hero h1{font-size:3.3rem}.attention-card,.admin-heading{align-items:flex-start;flex-direction:column}.journey-overview,.form-grid{grid-template-columns:1fr}.journey-overview .next-step{grid-column:auto}.portal-section-heading{align-items:flex-start;flex-direction:column;margin-top:54px}.portal-section-heading h2{font-size:2.6rem}.phase-card{border-radius:20px}.bottom-blocks{margin-top:45px}.credentials-card{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr 1fr}.client-row{grid-template-columns:1fr .35fr;padding:15px}.client-row>span:nth-child(2),.client-row>span:nth-child(3),.client-row-head>span:nth-child(2),.client-row-head>span:nth-child(3){display:none}.client-detail-head h1{font-size:3rem}.client-avatar{width:65px;height:65px}.profile-summary dl{grid-template-columns:1fr}.inline-note{flex-direction:column}}
.portal-header nav{gap:22px}.portal-languages,.login-language{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.05)}.portal-languages a,.login-language a{width:38px;height:30px;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}.portal-languages a:hover,.login-language a:hover{transform:translateY(-1px)}.portal-languages img,.login-language img{display:block;width:23px;height:15px;border-radius:3px;object-fit:cover;box-shadow:0 1px 3px rgba(0,0,0,.16)}.portal-languages a.is-active{border-color:rgba(255,255,255,.36);background:#fff}.login-language{width:max-content;margin-bottom:8px;border-color:#d8dfda;background:#f3f4f1}.login-language a.is-active{border-color:#c9d4ce;background:#173f31;box-shadow:0 4px 12px rgba(23,63,49,.14)}

/* Refined ARA identity */
.portal-header{height:94px}.portal-brand img{width:64px;height:64px;border:0;background:transparent;box-shadow:0 9px 26px rgba(0,0,0,.18)}.portal-brand span{display:grid;line-height:1.05}.portal-brand span::after{content:"ARA Australia Travel Plan";margin-top:5px;color:rgba(255,255,255,.56);font-size:.56rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.login-logo{width:84px;border:0;border-radius:50%;background:transparent;box-shadow:0 12px 30px rgba(18,52,40,.11)}

/* Contact-style label, while preserving the original deeper login design */
.login-story .portal-kicker{width:max-content;padding:10px 15px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(14px)}

/* Permanent app-install instructions in the client account */
.app-install-card{max-width:920px;margin-top:24px;padding:34px}.app-install-intro{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:center}.app-install-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:19px;background:var(--forest);box-shadow:0 12px 26px rgba(23,77,56,.18)}.app-install-icon svg{width:31px;height:31px;fill:none;stroke:#fff;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.app-install-intro h2{margin:8px 0}.app-install-intro p{margin:0;max-width:690px}.app-install-steps{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:25px}.app-install-steps article{padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:#f4f6f2}.app-install-steps strong{display:block;margin-bottom:6px}.app-install-steps p{margin:0;font-size:.82rem;line-height:1.55}.app-install-action{display:flex;align-items:center;gap:17px;margin-top:20px}.app-install-action small{max-width:520px;color:var(--muted);font-size:.72rem;line-height:1.5}
@media(max-width:700px){.app-install-card{padding:24px 20px}.app-install-intro{grid-template-columns:52px 1fr;gap:15px}.app-install-icon{width:52px;height:52px;border-radius:16px}.app-install-icon svg{width:26px;height:26px}.app-install-steps{grid-template-columns:1fr}.app-install-action{align-items:stretch;flex-direction:column}.app-install-action .portal-btn{width:100%}}

/* Installable app prompt */
.pwa-install{position:fixed;z-index:1000;right:22px;bottom:22px;width:min(430px,calc(100% - 28px));display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:15px 16px;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:#103d2e;color:#fff;box-shadow:0 22px 70px rgba(7,35,26,.28)}
.pwa-install[hidden]{display:none}.pwa-install img{width:52px;height:52px;border-radius:15px;object-fit:cover}.pwa-install strong,.pwa-install span{display:block}.pwa-install strong{font-size:.88rem}.pwa-install span{margin-top:4px;color:rgba(255,255,255,.72);font-size:.72rem;line-height:1.35}.pwa-install-button{padding:11px 15px;border:0;border-radius:999px;background:#fff;color:#103d2e;font-weight:800;cursor:pointer}.pwa-install-close{position:absolute;top:-9px;right:-7px;width:27px;height:27px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#31594b;color:#fff;font-size:1.1rem;line-height:1;cursor:pointer}
@media(max-width:600px){.pwa-install{right:14px;bottom:14px;grid-template-columns:45px 1fr;padding:14px}.pwa-install img{width:45px;height:45px}.pwa-install-button{grid-column:1/-1;width:100%}}
