
:root{--fs-orange:#c66a38;--fs-dark:#a74c21;--fs-text:#292c30;--fs-muted:#70716f;--fs-line:#e9e4dd;--fs-bg:#f7f6f2}body{font-family:"Segoe UI",Arial,sans-serif;color:var(--fs-text);background:var(--fs-bg);background-image:none;height:auto;min-height:100vh}a{color:var(--fs-dark)}a:hover{color:#8f3e17}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #c66a3866;outline-offset:4px}.brand-header{max-width:1400px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:25px 40px}.brand-header>a{display:flex;align-items:center;gap:10px;font-size:22px;letter-spacing:-.7px;color:var(--fs-orange);font-weight:600}.brand-header>a:hover{text-decoration:none}.brand-header img{object-fit:contain}.brand-header small{color:#777;font-size:13px;letter-spacing:0;font-weight:400;margin-left:5px}.brand-header>span{font-size:12px;color:var(--fs-muted)}.container-fluid-login,.container-login{height:auto;min-height:calc(100vh - 165px);padding:35px 28px;display:flex;align-items:center;justify-content:center}.login-box{max-width:1020px;width:100%;height:auto!important;min-height:450px;padding:54px 52px;background:white;border:1px solid var(--fs-line);border-radius:28px;box-shadow:0 16px 60px #42301c06}.login-box>.row:first-child{align-items:center;--bs-gutter-x:66px}.login-box h2{font-size:39px;letter-spacing:-1.2px;line-height:1.2;font-weight:500;margin:0 0 17px}.frogsuite-logo{width:100px;height:94px;object-fit:contain;object-position:left center;margin-bottom:30px}.subtitle{font-size:15px;line-height:1.8;color:#6b6d69;margin:0 0 12px}.subtitle strong span{font-size:11px!important;font-weight:500;letter-spacing:.2px}.subtitle>div{margin-top:18px}.form-eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600;color:#9e6a49;margin:0 0 24px}.login-box form{width:100%;margin:0}.login-box input[type=text],.login-box input[type=email],.login-box input[type=password]{border:1px solid #d8d9d5;border-radius:9px;font-size:14px;padding:16px 14px;margin-bottom:17px;background:#fff;color:var(--fs-text);min-height:53px}.login-box input:focus{border-color:var(--fs-orange);box-shadow:0 0 0 3px #c66a3812}.anim_placeholder input{letter-spacing:0}.anim_placeholder .placeholder-text{font-size:13px;color:#777;letter-spacing:0}.anim_placeholder .active .placeholder-text{color:var(--fs-dark)}.info-text,.info-recover{font-size:12px;line-height:1.9;color:var(--fs-muted);margin:20px 0}.info-text a{font-size:11px}.actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;margin-top:27px}.actions a{font-size:12px;font-weight:600}.button,.btn-primary{background:var(--fs-orange);border:1px solid var(--fs-orange);color:white;border-radius:9px;font-size:13px;padding:11px 24px;font-weight:600;min-height:43px}.button:hover,.btn-primary:hover{background:var(--fs-dark);border-color:var(--fs-dark);color:#fff}.button:focus{box-shadow:0 0 0 3px #c66a3833}.actions .button{margin-left:auto;min-width:100px}.footer{position:static!important;width:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;padding:18px 20px 27px;margin:0 auto;text-align:center;color:var(--fs-muted)}.footer a{font-size:10px;color:#767871}.provider-options{display:flex;gap:10px;margin-top:8px}.provider-options button{flex:1;border:1px solid var(--fs-line);border-radius:9px;background:#fcfbf9;color:#777;padding:10px 12px;font-size:12px;text-align:left;cursor:not-allowed}.provider-options span{display:block;font-size:9px;color:#999;margin-top:3px}#response,.response{font-size:12px;line-height:1.6}.auth-page .login-box .info-text a{color:var(--fs-dark)}.account-page>.container{max-width:1200px}.account-page .navbar{background:transparent!important;padding:15px 0;border-bottom:1px solid var(--fs-line);margin-bottom:25px}.account-page .navbar-brand img{object-fit:contain}.account-page .card{border:1px solid var(--fs-line);border-radius:18px;box-shadow:none}.account-page .card-body{padding:25px}.account-page h2{font-size:25px;font-weight:500;letter-spacing:-.5px}.account-page .form-control{border-radius:9px;border-color:#dddcd7;font-size:14px}.account-page .form-label{font-size:12px;font-weight:600}.account-page .user-profile-img{object-fit:cover}.account-page .myaccount{border:1px solid var(--fs-line);border-radius:18px;box-shadow:0 10px 30px #34271808}.account-page .text-primary{color:var(--fs-orange)!important}.account-page .navbar .dropdown-menu{border-radius:18px;box-shadow:0 12px 30px #34271810}.account-page .footer{margin-top:35px}@media(max-width:767px){.brand-header{padding:22px}.brand-header>span{display:none}.brand-header>a{font-size:21px}.container-fluid-login,.container-login{padding:15px 16px 25px;min-height:calc(100vh - 160px)}.login-box{padding:28px 26px;min-height:0;border-radius:22px}.login-box h2{font-size:31px}.frogsuite-logo{width:79px;height:72px;margin-bottom:20px}.subtitle{font-size:13px;margin-bottom:25px}.subtitle>div{margin-top:12px}.form-eyebrow{margin:5px 0 20px;font-size:9px}.login-box>.row:first-child{--bs-gutter-x:24px}.footer{gap:10px 16px;padding-top:4px}.footer a{font-size:9px}.actions{gap:12px}.actions .button{min-width:85px}.account-page>.container{padding:0 20px}.account-page .card-body{padding:20px}.account-page h2{font-size:22px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.social-signin{display:flex;align-items:center;gap:10px;margin:6px 0 12px}.social-label{font-size:12px;color:#777;margin-right:4px}.social-signin .provider-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;padding:0;border:1px solid #e3e0db;border-radius:50%;background:#fff;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.social-signin .provider-icon:hover{background:#fff8f2;border-color:#c66a38;box-shadow:0 2px 7px #c66a3815}.provider-icon svg{display:block;pointer-events:none}.social-feedback{color:#81502f;font-size:12px;line-height:1.6;background:#fff8f2;border-radius:8px;padding:10px 12px;margin:10px 0}.social-feedback[hidden]{display:none}

/* Center authentication screens while allowing taller forms to scroll. */
body.auth-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}body.auth-page .container-fluid-login,body.auth-page .container-login{flex:1;min-height:0;padding-top:28px;padding-bottom:28px}body.auth-page .footer{flex-shrink:0;margin:0 auto}


/* Keep the phone field consistent with other authentication controls. */
.login-box.login-box--compact {
    max-width: 940px;
    min-height: 0;
    padding-top: 46px;
    padding-bottom: 38px;
}

@media (max-width: 767px) {
    .login-box.login-box--compact {
        padding-top: 28px;
        padding-bottom: 24px;
    }
}

.login-box input[type=tel] {
    border: 1px solid #d8d9d5;
    border-radius: 9px;
    font-size: 14px;
    padding: 16px 14px;
    min-height: 53px;
    background: #fff;
}

/* Full-width signed-in workspace; authentication screens retain their layout. */
.account-page .account-security .form-control {
    width: 100%;
    min-height: 55px;
    padding: 16px 12px;
    margin-bottom: 10px;
}

body.account-page {
    background: #fff;
}

.account-page > .container.account-shell {
    width: 100%;
    max-width: none;
    padding: 0 36px;
}

.account-page .account-workspace {
    --bs-gutter-x: 48px;
}

.account-sidebar {
    max-width: 290px;
}

.account-sidebar > .card {
    border: 0;
    background: #faf9f7;
}

.account-sidebar .card-body {
    padding: 24px 16px;
}

.account-sidebar a {
    display: block;
    padding: 12px 16px;
    border-radius: 0 24px 24px 0;
    color: #4a4e53;
    text-decoration: none;
    font-size: 14px;
}

.account-sidebar a[aria-current="page"] {
    background: #f6e9df;
    color: #88431e;
    font-weight: 600;
}

.account-content {
    flex: 1;
    min-width: 0;
    padding-bottom: 28px;
}

.account-content > .card {
    border: 0;
}

.account-content > .card > .card-body {
    padding: 20px 12px;
}

.account-content h1 {
    font-size: 34px;
    font-weight: 400;
    letter-spacing: -1px;
    margin-bottom: 14px;
}

.dashboard-heading {
    margin-bottom: 36px;
}

.dashboard-heading > p:last-child,
.dashboard-tile p,
.profile-reminder p,
.connected-app p {
    color: #687079;
    font-size: 14px;
    line-height: 1.7;
}

.account-eyebrow {
    font-size: 11px;
    letter-spacing: 1.5px;
    color: var(--fs-dark);
    margin-bottom: 12px;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.dashboard-tile {
    border: 1px solid #e2e5e9;
    border-radius: 20px;
    padding: 26px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.dashboard-icon {
    background: #f6eee6;
    color: var(--fs-dark);
    border-radius: 14px;
    font-size: 27px;
    line-height: 48px;
    width: 48px;
    text-align: center;
    margin-bottom: 20px;
}

.account-page .dashboard-tile h2,
.account-page .profile-reminder h2,
.account-page .connected-app h2,
.account-page .app-request h2 {
    font-size: 20px;
    letter-spacing: -.3px;
}

.dashboard-tile a {
    margin-top: auto;
    padding-top: 12px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.profile-reminder,
.connected-app {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 24px;
    border: 1px solid var(--fs-line);
    border-radius: 18px;
    margin-top: 24px;
}

.profile-reminder p,
.connected-app p {
    margin-bottom: 0;
}

.profile-reminder .button {
    white-space: nowrap;
    text-decoration: none;
}

.account-notice,
.app-request {
    background: #fff7ed;
    border: 1px solid #f0ddc8;
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 24px;
}

.account-empty {
    padding: 40px 24px;
    margin: 24px 0;
    border: 1px dashed #d9dce0;
    border-radius: 18px;
}

@media (max-width: 991px) {
    .account-page > .container.account-shell {
        padding: 0 20px;
    }

    .account-sidebar {
        max-width: none;
    }

    .account-sidebar .card-body {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        align-items: center;
    }

    .account-sidebar .user-profile-img,
    .account-sidebar h3,
    .account-sidebar button {
        display: none;
    }

    .account-sidebar a {
        border-radius: 24px;
        padding: 10px 14px;
    }

    .account-content {
        flex: 0 0 100%;
    }
}

@media (max-width: 575px) {
    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .account-content h1 {
        font-size: 28px;
    }

    .connected-app,
    .profile-reminder {
        flex-direction: column;
        align-items: flex-start;
    }
}
