:root{--blue:#155f82;--dark:#0c435f;--gold:#e7c66a;--bg:#f4f6f8;--line:#d9dee5}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:#1f2937}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.topbar{background:linear-gradient(90deg,var(--dark),var(--blue));color:#fff;padding:14px 22px;display:flex;justify-content:space-between;gap:18px;align-items:center;box-shadow:0 2px 12px rgba(0,0,0,.16)}.brand{display:flex;gap:12px;align-items:center}.brand span{display:block;font-size:12px;opacity:.85}.mark{width:42px;height:42px;border-radius:10px;background:var(--gold);color:#122333;display:flex;align-items:center;justify-content:center;font-weight:bold}.topbar nav{display:flex;gap:14px;flex-wrap:wrap}.topbar nav a{color:#fff;font-weight:bold;font-size:14px}.container{max-width:1240px;margin:24px auto;padding:0 18px}.footer{max-width:1240px;margin:20px auto;padding:0 18px 30px;color:#6b7280;font-size:12px;display:flex;justify-content:space-between;gap:20px}.card,.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 1px 4px rgba(0,0,0,.04)}h1,h2,h3{margin-top:0;color:#172333}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.metric strong{font-size:30px;color:var(--blue);display:block}.metric span,.help{color:#6b7280;font-size:12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{border-bottom:1px solid #e5e7eb;text-align:left;padding:10px 9px;vertical-align:top;font-size:14px}th{background:#f9fafb;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn{display:inline-block;background:var(--blue);color:#fff!important;border:none;border-radius:9px;padding:9px 13px;font-weight:bold;cursor:pointer}.btn:hover{background:var(--dark);text-decoration:none}.btn-secondary{background:#e5e7eb;color:#111827!important}.btn-danger{background:#dc2626}.btn-small{padding:6px 9px;font-size:12px}.row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:12px}label{display:block;font-weight:bold;margin-bottom:5px;color:#374151;font-size:13px}input,select,textarea{width:100%;padding:9px 10px;border:1px solid #cfd6df;border-radius:9px;font:inherit;background:#fff}textarea{min-height:90px}.flash{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:12px;border-radius:10px;margin-bottom:16px}.alert{background:#fffbeb;border:1px solid #f4cf75;padding:12px;border-radius:10px;margin-bottom:16px}.badge{display:inline-block;border-radius:999px;font-size:12px;font-weight:bold;padding:4px 8px;white-space:nowrap}.green{background:#d1fae5;color:#065f46}.red{background:#fee2e2;color:#7f1d1d}.amber{background:#fef3c7;color:#92400e}.purple{background:#ede9fe;color:#4c1d95}.grey{background:#e5e7eb;color:#374151}.dot{width:13px;height:13px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:-1px;border:1px solid rgba(0,0,0,.15)}.dot.blue{background:#2563eb}.dot.orange{background:#f97316}.dot.yellow{background:#eab308}.dot.purple{background:#7c3aed}.dot.black{background:#111827}.dot.grey{background:#9ca3af}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:13px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#0c435f,#155f82 45%,#e7c66a 45%,#fff4d0)}.login-card{width:420px;max-width:100%;background:#fff;border-radius:18px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.evidence-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:3px solid var(--gold);padding-bottom:12px;margin-bottom:16px}.pill{display:inline-block;padding:3px 8px;border-radius:999px;background:#eef2f7;font-size:12px;color:#374151}@media(max-width:850px){.topbar{flex-direction:column;align-items:flex-start}.grid-4,.grid-3,.grid-2,.row{grid-template-columns:1fr}}@media print{.topbar,.footer,.actions,.btn{display:none!important}body{background:#fff}.card{box-shadow:none;border:0;page-break-inside:avoid}.container{max-width:none;margin:0;padding:0}}


/* Information centre and getting-started sidebar */
.app-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.main-content{min-width:0}
.help-sidebar{position:sticky;top:18px}
.sidebar-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:18px;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.sidebar-card h3{margin-top:0;color:#172333}
.sidebar-card.compact p{margin:7px 0;font-size:13px}
.step-list{margin:0;padding-left:20px}
.step-list li{margin-bottom:11px}
.step-list span{font-size:12px;color:#6b7280}
.sidebar-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.info-tile{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;min-height:210px;display:flex;flex-direction:column;justify-content:space-between}
.info-tile h2{font-size:18px}
.info-table th,.info-table td{font-size:13px;line-height:1.38}
.info-table td:first-child{min-width:220px}
@media(max-width:1100px){.app-layout{grid-template-columns:1fr}.help-sidebar{position:static}}
@media print{.help-sidebar{display:none!important}.app-layout{display:block}.main-content{width:100%}}


/* interface module */
.floating-help{
    position:fixed;
    left:0;
    top:130px;
    z-index:9999;
    pointer-events:none;
}
.floating-help-tab{
    pointer-events:auto;
    position:absolute;
    left:0;
    top:0;
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    background:var(--blue);
    color:#fff;
    border:0;
    border-radius:0 10px 10px 0;
    padding:14px 9px;
    font-weight:bold;
    letter-spacing:.04em;
    cursor:pointer;
    box-shadow:0 4px 14px rgba(0,0,0,.22);
}
.floating-help-panel{
    pointer-events:auto;
    width:360px;
    max-width:calc(100vw - 46px);
    max-height:calc(100vh - 150px);
    overflow:auto;
    background:#fff;
    border:1px solid var(--line);
    border-left:0;
    border-radius:0 16px 16px 0;
    box-shadow:0 16px 50px rgba(0,0,0,.24);
    transform:translateX(-105%);
    transition:transform .22s ease;
    padding:16px;
}
.floating-help.is-open .floating-help-panel{
    transform:translateX(0);
}
.floating-help.is-open .floating-help-tab{
    left:360px;
}
.floating-help-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    border-bottom:3px solid var(--gold);
    padding-bottom:10px;
    margin-bottom:12px;
}
.floating-help-header h3{
    margin:0 0 3px 0;
}
.floating-help-header p{
    margin:0;
    font-size:12px;
    color:#6b7280;
}
.floating-help-close{
    border:0;
    background:#e5e7eb;
    color:#111827;
    font-size:24px;
    line-height:1;
    width:34px;
    height:34px;
    border-radius:9px;
    cursor:pointer;
}
.floating-help-key{
    margin-top:14px;
    border-top:1px solid var(--line);
    padding-top:12px;
}
.floating-help-key h4{
    margin:0 0 8px 0;
}
.floating-help-key p{
    margin:7px 0;
    font-size:13px;
}
@media(max-width:700px){
    .floating-help{top:95px}
    .floating-help-panel{width:calc(100vw - 46px)}
    .floating-help.is-open .floating-help-tab{left:calc(100vw - 46px)}
}
@media print{
    .floating-help{display:none!important}
}

/* interface module */
.container.app-layout{display:block}.main-content{min-width:auto}.help-sidebar{display:none!important}


/* interface module */
.shg-help-drawer{
    position:fixed!important;
    left:0!important;
    top:115px!important;
    z-index:2147483000!important;
    width:0!important;
    height:0!important;
}
.shg-help-tab{
    position:fixed!important;
    left:0!important;
    top:115px!important;
    z-index:2147483002!important;
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    background:var(--blue)!important;
    color:#fff!important;
    border:0!important;
    border-radius:0 10px 10px 0!important;
    padding:16px 9px!important;
    font-weight:bold!important;
    letter-spacing:.05em;
    cursor:pointer;
    box-shadow:0 4px 14px rgba(0,0,0,.28);
}
.shg-help-panel{
    position:fixed!important;
    left:-390px!important;
    top:115px!important;
    z-index:2147483001!important;
    width:390px;
    max-width:calc(100vw - 48px);
    max-height:calc(100vh - 130px);
    overflow:auto;
    background:#fff;
    border:1px solid var(--line);
    border-left:0;
    border-radius:0 16px 16px 0;
    box-shadow:0 16px 50px rgba(0,0,0,.26);
    padding:16px;
    transition:left .22s ease;
}
.shg-help-drawer.is-open .shg-help-panel{
    left:0!important;
}
.shg-help-drawer.is-open .shg-help-tab{
    left:390px!important;
}
.shg-help-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    border-bottom:3px solid var(--gold);
    padding-bottom:10px;
    margin-bottom:12px;
}
.shg-help-header h3{margin:0 0 3px 0;color:#172333}
.shg-help-header p{margin:0;font-size:12px;color:#6b7280}
.shg-help-close{
    border:0;
    background:#e5e7eb;
    color:#111827;
    font-size:24px;
    line-height:1;
    width:34px;
    height:34px;
    border-radius:9px;
    cursor:pointer;
}
.shg-help-key{
    margin-top:14px;
    border-top:1px solid var(--line);
    padding-top:12px;
}
.shg-help-key h4{margin:0 0 8px 0}
.shg-help-key p{margin:7px 0;font-size:13px}
@media(max-width:700px){
    .shg-help-drawer,.shg-help-tab,.shg-help-panel{top:90px!important}
    .shg-help-panel{width:calc(100vw - 48px);left:calc(-100vw + 48px)!important}
    .shg-help-drawer.is-open .shg-help-tab{left:calc(100vw - 48px)!important}
}
@media print{
    .shg-help-drawer,.shg-help-tab,.shg-help-panel,.floating-help,.help-sidebar{display:none!important}
}
/* remove old right sidebar behaviour */
.container.app-layout{display:block!important}
.main-content{min-width:auto!important}
.help-sidebar{display:none!important}


/* interface module */
.shg-help-css-drawer{
    position:fixed!important;
    left:0!important;
    top:120px!important;
    z-index:2147483000!important;
    width:0!important;
    height:0!important;
}
.shg-help-toggle{
    position:absolute!important;
    left:-9999px!important;
    opacity:0!important;
}
.shg-help-tab{
    position:fixed!important;
    left:0!important;
    top:120px!important;
    z-index:2147483002!important;
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    background:var(--blue)!important;
    color:#fff!important;
    border:0!important;
    border-radius:0 10px 10px 0!important;
    padding:16px 9px!important;
    font-weight:bold!important;
    letter-spacing:.05em;
    cursor:pointer;
    box-shadow:0 4px 14px rgba(0,0,0,.28);
    user-select:none;
}
.shg-help-panel{
    position:fixed!important;
    left:-400px!important;
    top:120px!important;
    z-index:2147483001!important;
    width:390px;
    max-width:calc(100vw - 48px);
    max-height:calc(100vh - 135px);
    overflow:auto;
    background:#fff;
    border:1px solid var(--line);
    border-left:0;
    border-radius:0 16px 16px 0;
    box-shadow:0 16px 50px rgba(0,0,0,.26);
    padding:16px;
    transition:left .22s ease;
}
.shg-help-toggle:checked ~ .shg-help-panel{
    left:0!important;
}
.shg-help-toggle:checked ~ .shg-help-tab{
    left:390px!important;
}
.shg-help-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    border-bottom:3px solid var(--gold);
    padding-bottom:10px;
    margin-bottom:12px;
}
.shg-help-header h3{margin:0 0 3px 0;color:#172333}
.shg-help-header p{margin:0;font-size:12px;color:#6b7280}
.shg-help-close{
    display:flex;
    align-items:center;
    justify-content:center;
    border:0;
    background:#e5e7eb;
    color:#111827;
    font-size:24px;
    line-height:1;
    width:34px;
    height:34px;
    border-radius:9px;
    cursor:pointer;
    flex-shrink:0;
}
.shg-help-key{
    margin-top:14px;
    border-top:1px solid var(--line);
    padding-top:12px;
}
.shg-help-key h4{margin:0 0 8px 0}
.shg-help-key p{margin:7px 0;font-size:13px}
@media(max-width:700px){
    .shg-help-css-drawer,.shg-help-tab,.shg-help-panel{top:90px!important}
    .shg-help-panel{width:calc(100vw - 48px);left:calc(-100vw + 48px)!important}
    .shg-help-toggle:checked ~ .shg-help-tab{left:calc(100vw - 48px)!important}
}
@media print{
    .shg-help-css-drawer,.shg-help-tab,.shg-help-panel,.floating-help,.help-sidebar{display:none!important}
}
/* force old right-sidebar/app-layout versions off */
.container.app-layout{display:block!important}
.main-content{min-width:auto!important}
.help-sidebar{display:none!important}


/* Login experience */
.login-page{min-height:100vh;padding:28px;background:radial-gradient(circle at top left,#1c6d91 0,#0c435f 34%,#10374b 60%,#f1d48a 60.5%,#f7f8fb 100%);overflow-x:hidden}
.login-stage{position:relative;min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center;padding:40px 20px}
.login-card{position:relative;z-index:3;width:460px;max-width:100%;background:rgba(255,255,255,.97);border-radius:24px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.5)}
.login-brand{display:flex;gap:14px;align-items:flex-start;margin-bottom:10px}
.login-brand-mark{width:54px;height:54px;border-radius:14px;background:linear-gradient(180deg,var(--gold),#f2db9a);color:#122333;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.03em;box-shadow:0 8px 18px rgba(231,198,106,.35)}
.login-brand h1{margin:0 0 6px 0;font-size:30px;line-height:1.05}
.login-form p{margin:0 0 14px 0}
.login-form input{height:46px}
.login-btn{width:100%;height:46px;font-size:16px;margin-top:6px}
.login-orbit{position:absolute;z-index:1;min-width:170px;max-width:210px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(8px);border-radius:18px;padding:12px 14px;box-shadow:0 18px 40px rgba(8,25,35,.18)}
.login-orbit strong{display:block;font-size:14px;color:#172333;margin-bottom:3px}
.login-orbit small{display:block;font-size:12px;color:#667085;line-height:1.35}
.login-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#f5f7fb;margin-bottom:8px;font-size:18px}
.orbit-1{left:4%;top:9%}.orbit-2{left:8%;bottom:18%}.orbit-3{left:18%;top:43%}.orbit-4{right:8%;top:12%}.orbit-5{right:3%;bottom:20%}.orbit-6{right:18%;top:48%}
@media(max-width:1100px){.login-orbit{display:none}.login-stage{padding:20px}.login-card{width:500px}}


/* Login screen with selected workflow graphic */
.login-page-with-graphic{
    min-height:100vh;
    padding:0;
    background:
        radial-gradient(circle at top left, rgba(21,95,130,.14), transparent 34%),
        linear-gradient(135deg,#f7f9fc 0%,#eef5fb 48%,#ffffff 100%);
    overflow-x:hidden;
}
.login-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:minmax(360px, 470px) minmax(0, 1fr);
    align-items:center;
    gap:34px;
    width:min(1500px, 100%);
    margin:0 auto;
    padding:42px clamp(22px,4vw,64px);
}
.login-panel{
    position:relative;
    z-index:2;
}
.login-page-with-graphic .login-card{
    width:100%;
    max-width:470px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(12,67,95,.12);
    border-radius:24px;
    padding:32px;
    box-shadow:0 26px 80px rgba(12,67,95,.20);
}
.login-page-with-graphic .login-brand{
    display:flex;
    gap:14px;
    align-items:flex-start;
    margin-bottom:16px;
}
.login-page-with-graphic .login-brand-mark{
    flex:0 0 auto;
    width:56px;
    height:56px;
    border-radius:16px;
    background:linear-gradient(180deg,var(--gold),#f1d890);
    color:#122333;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    letter-spacing:.03em;
    box-shadow:0 10px 22px rgba(231,198,106,.35);
}
.login-page-with-graphic .login-brand h1{
    margin:0 0 7px 0;
    font-size:31px;
    line-height:1.05;
}
.login-page-with-graphic .login-form p{
    margin:0 0 14px 0;
}
.login-page-with-graphic .login-form input{
    height:48px;
}
.login-page-with-graphic .login-btn{
    width:100%;
    min-height:48px;
    font-size:16px;
    margin-top:8px;
}
.login-graphic-panel{
    position:relative;
    min-height:560px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.login-graphic-panel::before{
    content:"";
    position:absolute;
    inset:6% 2% 4% 8%;
    border-radius:38px;
    background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.18));
    box-shadow:inset 0 0 0 1px rgba(21,95,130,.08);
}
.login-graphic-panel img{
    position:relative;
    z-index:1;
    display:block;
    width:min(100%, 1020px);
    height:auto;
    max-height:78vh;
    object-fit:contain;
    filter:drop-shadow(0 26px 42px rgba(12,67,95,.16));
}
@media(max-width:1050px){
    .login-shell{
        grid-template-columns:1fr;
        gap:22px;
        padding:28px 18px;
    }
    .login-panel{
        order:2;
        display:flex;
        justify-content:center;
    }
    .login-graphic-panel{
        order:1;
        min-height:auto;
    }
    .login-graphic-panel img{
        max-height:42vh;
        width:min(100%, 820px);
    }
}
@media(max-width:620px){
    .login-page-with-graphic .login-card{
        padding:24px;
        border-radius:20px;
    }
    .login-page-with-graphic .login-brand{
        flex-direction:column;
    }
    .login-page-with-graphic .login-brand h1{
        font-size:27px;
    }
    .login-graphic-panel img{
        max-height:34vh;
    }
}


/* Public landing page */
.landing-page{
    margin:0;
    background:
        radial-gradient(circle at top left, rgba(21,95,130,.14), transparent 30%),
        linear-gradient(135deg,#f7f9fc 0%,#eef5fb 45%,#ffffff 100%);
    color:#172333;
}
.landing-nav{
    max-width:1440px;
    margin:0 auto;
    padding:22px clamp(20px,4vw,64px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
}
.landing-brand{
    display:flex;
    align-items:center;
    gap:13px;
}
.landing-brand strong{
    display:block;
    font-size:19px;
}
.landing-brand span{
    display:block;
    color:#5f6b7a;
    font-size:13px;
}
.landing-mark{
    width:48px;
    height:48px;
    border-radius:14px;
    background:linear-gradient(180deg,var(--gold),#f1d890);
    color:#122333;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
}
.landing-login-btn{
    white-space:normal;
    text-align:center;
}
.landing-main{
    max-width:1440px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,64px) 42px;
}
.landing-hero{
    display:grid;
    grid-template-columns:minmax(360px, 560px) minmax(0,1fr);
    align-items:center;
    gap:36px;
    min-height:650px;
}
.landing-kicker{
    display:inline-block;
    background:#fff7df;
    color:#7a5614;
    border:1px solid #f0d58b;
    padding:7px 11px;
    border-radius:999px;
    font-weight:700;
    font-size:13px;
    margin-bottom:18px;
}
.landing-copy h1{
    font-size:clamp(38px,5vw,68px);
    line-height:.98;
    letter-spacing:-.045em;
    margin:0 0 20px;
    color:#102333;
}
.landing-intro{
    font-size:19px;
    line-height:1.55;
    color:#4b5563;
    max-width:620px;
}
.landing-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:25px;
}
.landing-primary{
    font-size:15px;
    padding:13px 17px;
}
.landing-visual{
    position:relative;
}
.landing-visual::before{
    content:"";
    position:absolute;
    inset:6% 0 2% 10%;
    border-radius:38px;
    background:rgba(255,255,255,.56);
    box-shadow:inset 0 0 0 1px rgba(21,95,130,.08);
}
.landing-visual img{
    position:relative;
    display:block;
    width:100%;
    height:auto;
    filter:drop-shadow(0 24px 44px rgba(12,67,95,.16));
}
.landing-section{
    background:rgba(255,255,255,.82);
    border:1px solid rgba(12,67,95,.10);
    border-radius:28px;
    padding:32px;
    margin:24px 0;
    box-shadow:0 18px 55px rgba(12,67,95,.08);
}
.landing-section-title{
    max-width:820px;
    margin-bottom:22px;
}
.landing-section h2{
    font-size:34px;
    margin:0 0 10px;
}
.landing-section p{
    color:#5b6675;
    line-height:1.5;
}
.benefit-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
}
.benefit-card{
    background:#fff;
    border:1px solid #e4e9f0;
    border-radius:20px;
    padding:20px;
    box-shadow:0 6px 20px rgba(12,67,95,.05);
}
.benefit-icon{
    width:44px;
    height:44px;
    border-radius:13px;
    background:#edf5fb;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    margin-bottom:12px;
}
.benefit-card h3{
    margin:0 0 8px;
    font-size:20px;
}
.benefit-card p{
    margin:0;
    font-size:14px;
}
.landing-split{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(320px, 520px);
    gap:28px;
    align-items:center;
}
.operator-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.operator-list span{
    background:#eef5fb;
    color:#0c435f;
    border:1px solid #d5e5ef;
    border-radius:999px;
    padding:9px 12px;
    font-weight:700;
    font-size:13px;
}
.landing-footer{
    max-width:1440px;
    margin:0 auto;
    padding:26px clamp(20px,4vw,64px) 42px;
    color:#6b7280;
    font-size:13px;
    display:flex;
    justify-content:space-between;
    gap:20px;
}
.login-benefits{
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid #e5eaf0;
}
.login-benefits strong{
    display:block;
    margin-bottom:8px;
    color:#172333;
}
.login-benefits ul{
    margin:0;
    padding-left:18px;
    color:#5b6675;
    font-size:13px;
    line-height:1.45;
}
.login-page-with-graphic .login-btn{
    line-height:1.2;
}
@media(max-width:1050px){
    .landing-nav{
        align-items:flex-start;
        flex-direction:column;
    }
    .landing-hero{
        grid-template-columns:1fr;
        min-height:auto;
        padding-top:20px;
    }
    .landing-visual{
        order:-1;
    }
    .benefit-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    .landing-split{
        grid-template-columns:1fr;
    }
}
@media(max-width:680px){
    .landing-section{
        padding:22px;
        border-radius:22px;
    }
    .benefit-grid{
        grid-template-columns:1fr;
    }
    .landing-copy h1{
        font-size:38px;
    }
    .landing-footer{
        flex-direction:column;
    }
}


/* Property Control Register landing page - structured flow layout */
.pcr-landing-page{
    margin:0;
    background:
        radial-gradient(circle at top left, rgba(21,95,130,.14), transparent 30%),
        radial-gradient(circle at 80% 12%, rgba(231,198,106,.16), transparent 28%),
        linear-gradient(135deg,#f8fafc 0%,#eef5fb 46%,#ffffff 100%);
    color:#172333;
}
.pcr-landing-nav{
    width:min(1420px, 100%);
    margin:0 auto;
    padding:22px clamp(20px,4vw,60px);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
}
.pcr-landing-brand{
    display:flex;
    align-items:center;
    gap:13px;
    color:#172333;
    text-decoration:none;
}
.pcr-landing-brand:hover{
    text-decoration:none;
}
.pcr-landing-mark{
    width:50px;
    height:50px;
    border-radius:15px;
    background:linear-gradient(180deg,var(--gold),#f1d890);
    color:#122333;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    letter-spacing:.03em;
    box-shadow:0 10px 22px rgba(231,198,106,.28);
}
.pcr-landing-brand strong{
    display:block;
    font-size:19px;
}
.pcr-landing-brand small{
    display:block;
    color:#5f6b7a;
    font-size:13px;
    margin-top:2px;
}
.pcr-landing-menu{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.pcr-landing-menu a:not(.btn){
    color:#334155;
    font-weight:700;
    font-size:14px;
}
.pcr-nav-login{
    text-align:center;
    max-width:360px;
}
.pcr-landing-main{
    width:min(1420px, 100%);
    margin:0 auto;
    padding:0 clamp(20px,4vw,60px) 44px;
}
.pcr-hero{
    min-height:620px;
    display:grid;
    grid-template-columns:minmax(380px, 560px) minmax(0, 1fr);
    gap:40px;
    align-items:center;
    padding:30px 0 46px;
}
.pcr-kicker{
    display:inline-flex;
    align-items:center;
    gap:7px;
    background:#fff7df;
    color:#7a5614;
    border:1px solid #f0d58b;
    padding:8px 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    margin-bottom:18px;
}
.pcr-hero-copy h1{
    margin:0 0 20px;
    color:#102333;
    font-size:clamp(42px,5vw,70px);
    line-height:.97;
    letter-spacing:-.05em;
}
.pcr-hero-text{
    margin:0;
    color:#4b5563;
    font-size:20px;
    line-height:1.55;
    max-width:620px;
}
.pcr-hero-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:28px;
}
.pcr-primary-cta{
    padding:13px 17px;
    font-size:15px;
    line-height:1.25;
    text-align:center;
}
.pcr-hero-image{
    position:relative;
}
.pcr-hero-image::before{
    content:"";
    position:absolute;
    inset:8% 0 2% 6%;
    border-radius:36px;
    background:rgba(255,255,255,.60);
    box-shadow:inset 0 0 0 1px rgba(21,95,130,.08);
}
.pcr-hero-image img{
    position:relative;
    width:100%;
    display:block;
    height:auto;
    filter:drop-shadow(0 24px 44px rgba(12,67,95,.16));
}
.pcr-problem-strip{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin:4px 0 28px;
}
.pcr-problem-strip div{
    background:#ffffff;
    border:1px solid #dce6ef;
    border-radius:22px;
    padding:22px;
    box-shadow:0 12px 36px rgba(12,67,95,.06);
}
.pcr-problem-strip strong{
    display:block;
    color:#0c435f;
    font-size:18px;
    margin-bottom:8px;
}
.pcr-problem-strip span{
    display:block;
    color:#5b6675;
    line-height:1.5;
}
.pcr-section{
    background:rgba(255,255,255,.88);
    border:1px solid rgba(12,67,95,.10);
    border-radius:30px;
    padding:34px;
    margin:26px 0;
    box-shadow:0 18px 55px rgba(12,67,95,.08);
}
.pcr-section-heading{
    max-width:860px;
    margin-bottom:24px;
}
.pcr-section-heading span{
    display:inline-block;
    color:#0c435f;
    background:#edf5fb;
    border:1px solid #d5e5ef;
    padding:6px 10px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    margin-bottom:10px;
}
.pcr-section-heading h2{
    margin:0;
    font-size:clamp(29px,3vw,44px);
    line-height:1.08;
    letter-spacing:-.035em;
    color:#102333;
}
.pcr-steps{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:16px;
    counter-reset:steps;
}
.pcr-steps article{
    position:relative;
    background:#fff;
    border:1px solid #e4e9f0;
    border-radius:22px;
    padding:22px;
    box-shadow:0 8px 24px rgba(12,67,95,.05);
}
.pcr-step-number{
    width:42px;
    height:42px;
    border-radius:14px;
    background:#0c435f;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    margin-bottom:14px;
}
.pcr-steps h3,
.pcr-benefit-grid h3{
    margin:0 0 8px;
    color:#172333;
    font-size:20px;
}
.pcr-steps p,
.pcr-benefit-grid p{
    margin:0;
    color:#5b6675;
    line-height:1.48;
    font-size:14px;
}
.pcr-benefit-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
}
.pcr-benefit-grid article{
    background:#fff;
    border:1px solid #e4e9f0;
    border-radius:22px;
    padding:22px;
    box-shadow:0 8px 24px rgba(12,67,95,.05);
}
.pcr-icon{
    width:46px;
    height:46px;
    border-radius:15px;
    background:#edf5fb;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:23px;
    margin-bottom:13px;
}
.pcr-who-section{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(360px, 560px);
    gap:28px;
    align-items:center;
}
.pcr-who-section .pcr-section-heading{
    margin-bottom:0;
}
.pcr-who-grid{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.pcr-who-grid div{
    background:#eef5fb;
    color:#0c435f;
    border:1px solid #d5e5ef;
    border-radius:999px;
    padding:10px 13px;
    font-weight:800;
    font-size:13px;
}
.pcr-login-cta{
    margin:30px 0 8px;
    background:linear-gradient(135deg,#0c435f,#155f82);
    color:#fff;
    border-radius:30px;
    padding:32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    box-shadow:0 20px 60px rgba(12,67,95,.20);
}
.pcr-login-cta span{
    display:block;
    color:#e7c66a;
    font-weight:800;
    margin-bottom:8px;
}
.pcr-login-cta h2{
    color:#fff;
    margin:0;
    font-size:clamp(27px,3vw,42px);
    line-height:1.08;
}
.pcr-login-cta .btn{
    background:#e7c66a;
    color:#122333!important;
    flex:0 0 auto;
    max-width:420px;
}
.pcr-landing-footer{
    width:min(1420px, 100%);
    margin:0 auto;
    padding:26px clamp(20px,4vw,60px) 42px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    color:#6b7280;
    font-size:13px;
}
@media(max-width:1100px){
    .pcr-landing-nav{
        align-items:flex-start;
        flex-direction:column;
    }
    .pcr-landing-menu{
        justify-content:flex-start;
    }
    .pcr-hero{
        grid-template-columns:1fr;
        min-height:auto;
        padding-top:12px;
    }
    .pcr-hero-image{
        order:-1;
    }
    .pcr-steps,
    .pcr-benefit-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    .pcr-who-section,
    .pcr-problem-strip{
        grid-template-columns:1fr;
    }
    .pcr-login-cta{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:680px){
    .pcr-landing-menu{
        flex-direction:column;
        align-items:stretch;
        width:100%;
    }
    .pcr-nav-login{
        max-width:none;
    }
    .pcr-steps,
    .pcr-benefit-grid{
        grid-template-columns:1fr;
    }
    .pcr-section,
    .pcr-login-cta{
        padding:24px;
        border-radius:24px;
    }
    .pcr-hero-copy h1{
        font-size:40px;
    }
    .pcr-hero-text{
        font-size:17px;
    }
    .pcr-landing-footer{
        flex-direction:column;
    }
}


/* Clean login screen reset */
.pcr-clean-login .login-benefits{display:none!important}
.pcr-login-home-link{
    margin:16px 0 0;
    text-align:center;
    font-size:13px;
}
.pcr-login-home-link a{
    color:#5f6b7a;
}
.pcr-clean-login .login-btn{
    width:100%;
    min-height:48px;
    font-size:16px;
}

/* Public landing page makeover */
.pcrlp-page{
    margin:0;
    background:
        radial-gradient(circle at 8% 4%, rgba(21,95,130,.13), transparent 30%),
        radial-gradient(circle at 88% 8%, rgba(231,198,106,.15), transparent 27%),
        linear-gradient(135deg,#f8fafc 0%,#edf5fb 48%,#ffffff 100%);
    color:#172333;
}
.pcrlp-nav{
    width:min(1380px,100%);
    margin:0 auto;
    padding:22px clamp(18px,4vw,56px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.pcrlp-brand{
    display:flex;
    gap:13px;
    align-items:center;
    color:#172333;
    text-decoration:none;
}
.pcrlp-brand:hover{text-decoration:none}
.pcrlp-brand-mark{
    width:50px;
    height:50px;
    border-radius:15px;
    background:linear-gradient(180deg,var(--gold),#f1d890);
    color:#122333;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    box-shadow:0 10px 24px rgba(231,198,106,.28);
}
.pcrlp-brand strong{
    display:block;
    font-size:19px;
}
.pcrlp-brand small{
    display:block;
    color:#5f6b7a;
    font-size:13px;
    margin-top:2px;
}
.pcrlp-menu{
    display:flex;
    align-items:center;
    gap:17px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.pcrlp-menu a{
    color:#334155;
    font-weight:800;
    font-size:14px;
}
.pcrlp-menu-login{
    background:#0c435f;
    color:#fff!important;
    padding:10px 14px;
    border-radius:999px;
}
.pcrlp-main{
    width:min(1380px,100%);
    margin:0 auto;
    padding:0 clamp(18px,4vw,56px) 42px;
}
.pcrlp-hero{
    display:grid;
    grid-template-columns:minmax(380px, 560px) minmax(0,1fr);
    gap:42px;
    align-items:center;
    min-height:630px;
    padding:24px 0 50px;
}
.pcrlp-eyebrow{
    display:inline-block;
    background:#fff7df;
    color:#7a5614;
    border:1px solid #f0d58b;
    border-radius:999px;
    padding:8px 12px;
    font-weight:800;
    font-size:13px;
    margin-bottom:18px;
}
.pcrlp-hero h1{
    margin:0 0 20px;
    color:#102333;
    font-size:clamp(42px,5vw,68px);
    line-height:.98;
    letter-spacing:-.05em;
}
.pcrlp-hero p{
    margin:0;
    max-width:620px;
    color:#4b5563;
    font-size:20px;
    line-height:1.55;
}
.pcrlp-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:28px;
}
.pcrlp-primary{
    padding:13px 17px;
    font-size:15px;
    line-height:1.25;
    text-align:center;
}
.pcrlp-hero-card{
    position:relative;
    min-width:0;
}
.pcrlp-hero-card::before{
    content:"";
    position:absolute;
    inset:7% 0 1% 7%;
    border-radius:38px;
    background:rgba(255,255,255,.60);
    box-shadow:inset 0 0 0 1px rgba(21,95,130,.08);
}
.pcrlp-hero-card img{
    display:block;
    position:relative;
    width:100%;
    height:auto;
    filter:drop-shadow(0 24px 44px rgba(12,67,95,.16));
}
.pcrlp-intro-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin:0 0 28px;
}
.pcrlp-intro-grid article{
    background:#fff;
    border:1px solid #dce6ef;
    border-radius:24px;
    padding:24px;
    box-shadow:0 12px 36px rgba(12,67,95,.06);
}
.pcrlp-intro-grid span,
.pcrlp-section-heading span,
.pcrlp-audience span,
.pcrlp-login-copy span{
    display:inline-block;
    color:#0c435f;
    background:#edf5fb;
    border:1px solid #d5e5ef;
    border-radius:999px;
    padding:6px 10px;
    font-size:13px;
    font-weight:800;
    margin-bottom:10px;
}
.pcrlp-intro-grid h2{
    margin:0 0 9px;
    font-size:26px;
    letter-spacing:-.025em;
}
.pcrlp-intro-grid p{
    margin:0;
    color:#5b6675;
    line-height:1.52;
}
.pcrlp-section,
.pcrlp-workflow,
.pcrlp-audience,
.pcrlp-login-section{
    background:rgba(255,255,255,.90);
    border:1px solid rgba(12,67,95,.10);
    border-radius:30px;
    padding:34px;
    margin:26px 0;
    box-shadow:0 18px 55px rgba(12,67,95,.08);
}
.pcrlp-section-heading{
    max-width:820px;
    margin-bottom:24px;
}
.pcrlp-section-heading h2,
.pcrlp-workflow h2,
.pcrlp-audience h2,
.pcrlp-login-section h2{
    margin:0;
    color:#102333;
    font-size:clamp(30px,3vw,44px);
    line-height:1.08;
    letter-spacing:-.035em;
}
.pcrlp-section-heading p{
    color:#5b6675;
    margin:10px 0 0;
    line-height:1.5;
}
.pcrlp-benefits{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.pcrlp-benefits article{
    background:#fff;
    border:1px solid #e4e9f0;
    border-radius:22px;
    padding:22px;
    box-shadow:0 8px 24px rgba(12,67,95,.05);
}
.pcrlp-benefits article div{
    width:46px;
    height:46px;
    border-radius:15px;
    background:#edf5fb;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:23px;
    margin-bottom:13px;
}
.pcrlp-benefits h3,
.pcrlp-flow h3{
    margin:0 0 8px;
    color:#172333;
    font-size:20px;
}
.pcrlp-benefits p,
.pcrlp-flow p{
    margin:0;
    color:#5b6675;
    line-height:1.48;
    font-size:14px;
}
.pcrlp-flow{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
}
.pcrlp-flow article{
    background:#fff;
    border:1px solid #e4e9f0;
    border-radius:22px;
    padding:20px;
}
.pcrlp-flow strong{
    width:40px;
    height:40px;
    border-radius:14px;
    background:#0c435f;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:13px;
}
.pcrlp-audience{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(340px,520px);
    gap:28px;
    align-items:center;
}
.pcrlp-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.pcrlp-tags span{
    display:inline-block;
    margin:0;
    background:#eef5fb;
    color:#0c435f;
    border:1px solid #d5e5ef;
    border-radius:999px;
    padding:10px 13px;
    font-weight:800;
    font-size:13px;
}
.pcrlp-login-section{
    background:linear-gradient(135deg,#0c435f,#155f82);
    color:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:28px;
}
.pcrlp-login-section span{
    color:#7a5614;
    background:#fff7df;
    border-color:#f0d58b;
}
.pcrlp-login-section h2{
    color:#fff;
    margin-bottom:8px;
}
.pcrlp-login-section p{
    margin:0;
    color:#dbeaf2;
    line-height:1.5;
}
.pcrlp-large-login{
    flex:0 0 auto;
    max-width:440px;
    background:#e7c66a!important;
    color:#122333!important;
}
.pcrlp-footer{
    width:min(1380px,100%);
    margin:0 auto;
    padding:26px clamp(18px,4vw,56px) 42px;
    color:#6b7280;
    font-size:13px;
    display:flex;
    justify-content:space-between;
    gap:20px;
}
@media(max-width:1100px){
    .pcrlp-nav{
        align-items:flex-start;
        flex-direction:column;
    }
    .pcrlp-menu{
        justify-content:flex-start;
    }
    .pcrlp-hero{
        grid-template-columns:1fr;
        min-height:auto;
        padding-top:8px;
    }
    .pcrlp-hero-card{
        order:-1;
    }
    .pcrlp-intro-grid,
    .pcrlp-audience{
        grid-template-columns:1fr;
    }
    .pcrlp-benefits{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .pcrlp-flow{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .pcrlp-login-section{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:680px){
    .pcrlp-menu{
        width:100%;
        align-items:stretch;
        flex-direction:column;
    }
    .pcrlp-menu a{
        display:block;
    }
    .pcrlp-benefits,
    .pcrlp-flow{
        grid-template-columns:1fr;
    }
    .pcrlp-section,
    .pcrlp-workflow,
    .pcrlp-audience,
    .pcrlp-login-section{
        padding:24px;
        border-radius:24px;
    }
    .pcrlp-hero h1{
        font-size:39px;
    }
    .pcrlp-hero p{
        font-size:17px;
    }
    .pcrlp-footer{
        flex-direction:column;
    }
}
