
:root{
    --app-blue:#0866f5;
    --app-navy:#071b4d;
    --app-green:#12b981;
    --app-purple:#7a4ff3;
    --app-orange:#ff9d20;
    --app-bg:#f5f8fc;
    --app-line:#e6edf6;
    --app-text:#0d1c3d;
    --app-muted:#6f7c92;
}
.mobile-app-only{display:none!important}

@media(max-width:767.98px){
    body{
        background:
            radial-gradient(circle at 50% 0,#eef7ff 0,#f8fbff 36%,#f5f8fc 75%);
        color:var(--app-text);
        -webkit-font-smoothing:antialiased;
    }

    .desktop-customer-only{display:none!important}
    .mobile-app-only{display:block!important}

    .mobile-app-shell{
        max-width:540px;
        margin:0 auto;
        padding:0 16px 104px;
    }

    .mobile-app-header{
        display:flex;
        align-items:center;
        justify-content:space-between;
        min-height:74px;
        padding:10px 2px;
    }

    .mobile-brand{
        display:flex;
        align-items:center;
        gap:10px;
        font-weight:900;
        font-size:19px;
        color:var(--app-navy);
    }

    .mobile-brand-badge{
        width:42px;height:42px;
        display:grid;place-items:center;
        border-radius:14px;
        color:#fff;
        background:linear-gradient(145deg,#0a72ff,#073eae);
        box-shadow:0 8px 22px rgba(8,102,245,.24);
    }

    .mobile-profile-circle{
        width:42px;height:42px;
        border-radius:50%;
        display:grid;place-items:center;
        background:#eaf2ff;
        color:var(--app-blue);
        font-weight:900;
        border:3px solid #fff;
        box-shadow:0 5px 18px rgba(11,53,117,.12);
    }

    .mobile-section-title{
        display:flex;
        align-items:center;
        justify-content:space-between;
        margin:22px 0 12px;
    }

    .mobile-section-title h3{
        margin:0;
        font-size:19px;
        font-weight:900;
    }

    .mobile-section-title a{
        font-size:13px;
        font-weight:800;
        text-decoration:none;
        color:var(--app-blue);
    }

    .mobile-card{
        border:1px solid rgba(222,232,245,.75);
        background:rgba(255,255,255,.96);
        border-radius:22px;
        box-shadow:0 10px 28px rgba(22,52,95,.08);
    }

    .mobile-insurance-grid{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:10px;
    }

    .mobile-insurance-item{
        text-decoration:none;
        color:var(--app-text);
        text-align:center;
        padding:14px 7px 12px;
        border-radius:17px;
        background:#fff;
        border:1px solid var(--app-line);
        box-shadow:0 7px 18px rgba(19,46,84,.05);
    }

    .mobile-insurance-icon{
        width:46px;height:46px;
        margin:0 auto 9px;
        display:grid;place-items:center;
        border-radius:14px;
        font-size:21px;
        background:#eaf3ff;
        color:#0870ef;
    }

    .mobile-insurance-item:nth-child(3n+2) .mobile-insurance-icon{
        background:#e9fbf4;color:#13ae7b
    }
    .mobile-insurance-item:nth-child(3n+3) .mobile-insurance-icon{
        background:#f3edff;color:#814cef
    }

    .mobile-insurance-item span{
        display:block;
        font-size:12px;
        line-height:1.2;
        font-weight:800;
    }

    .mobile-policy-hero{
        padding:20px;
        border-radius:22px;
        color:#fff;
        background:
            linear-gradient(135deg,#082d83,#0867f6);
        box-shadow:0 14px 30px rgba(8,77,194,.24);
    }

    .mobile-policy-hero .big-number{
        font-size:36px;
        font-weight:900;
        line-height:1;
    }

    .mobile-quick-grid{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:10px;
    }

    .mobile-quick-card{
        padding:14px 6px;
        text-align:center;
        text-decoration:none;
        color:var(--app-text);
        background:#fff;
        border-radius:17px;
        border:1px solid var(--app-line);
        box-shadow:0 7px 18px rgba(19,46,84,.05);
    }

    .mobile-quick-card i{
        display:grid;
        place-items:center;
        width:42px;height:42px;
        margin:0 auto 8px;
        border-radius:13px;
        background:#eaf3ff;
        color:var(--app-blue);
        font-size:19px;
    }

    .mobile-quick-card span{
        display:block;
        font-size:11px;
        font-weight:800;
        line-height:1.2;
    }

    .mobile-list-card{
        padding:14px;
        margin-bottom:10px;
        border-radius:17px;
        border:1px solid var(--app-line);
        background:#fff;
    }

    .mobile-app-form{
        max-width:540px;
        margin:0 auto;
        padding:12px 16px 116px;
    }

    .app-progress{
        display:flex;
        gap:7px;
        margin:14px 0 20px;
    }

    .app-progress span{
        height:5px;
        flex:1;
        border-radius:999px;
        background:#dfe7f2;
    }

    .app-progress span.done{
        background:linear-gradient(90deg,#0a68f7,#22b7ef);
    }

    .mobile-form-card{
        padding:20px;
        border-radius:22px;
        background:#fff;
        border:1px solid var(--app-line);
        box-shadow:0 10px 28px rgba(22,52,95,.08);
    }

    .mobile-form-card input,
    .mobile-form-card select,
    .mobile-form-card textarea{
        min-height:50px;
        border-radius:14px!important;
        border:1px solid #dce6f2!important;
        padding:12px 14px!important;
        font-size:15px!important;
        box-shadow:none!important;
    }

    .mobile-form-card textarea{min-height:100px}

    .mobile-form-card label{
        font-size:13px!important;
        font-weight:800!important;
        color:#263754;
        margin-bottom:7px!important;
    }

    .autosave-state{
        display:flex;
        align-items:center;
        gap:7px;
        font-size:12px;
        color:var(--app-muted);
        margin-top:10px;
        min-height:22px;
    }

    .autosave-state.saved{color:#11865e}
    .autosave-state.existing{color:#b26b00}
    .autosave-state.error{color:#c43d4b}

    .mobile-sticky-action{
        position:fixed;
        left:0;right:0;bottom:70px;
        z-index:1025;
        padding:10px 16px;
        background:linear-gradient(180deg,rgba(245,248,252,0),rgba(245,248,252,.96) 30%);
    }

    .mobile-sticky-action-inner{
        max-width:540px;
        margin:auto;
        display:flex;
        gap:10px;
    }

    .mobile-primary-btn{
        min-height:52px;
        border:0;
        border-radius:16px;
        font-weight:900;
        background:linear-gradient(135deg,#0b72ff,#0751d7);
        color:#fff;
        box-shadow:0 9px 20px rgba(8,96,230,.24);
    }

    .mobile-secondary-btn{
        min-height:52px;
        border-radius:16px;
        font-weight:800;
        border:1px solid #dfe7f2;
        background:#fff;
        color:var(--app-text);
    }

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

    .category-choice label{
        position:relative;
        padding:18px 12px;
        text-align:center;
        border-radius:18px;
        border:1.5px solid #e1e9f3;
        background:#fff;
        cursor:pointer;
    }

    .category-choice label:has(input:checked){
        border-color:var(--app-blue);
        background:#eef5ff;
        box-shadow:0 8px 20px rgba(8,102,245,.10);
    }

    .category-choice input{
        position:absolute;
        opacity:0;
        pointer-events:none;
    }

    .category-choice i{
        width:50px;height:50px;
        display:grid;place-items:center;
        margin:0 auto 9px;
        border-radius:15px;
        background:#eaf3ff;
        color:var(--app-blue);
        font-size:23px;
    }

    .category-choice strong{
        display:block;
        font-size:14px;
    }

    .category-choice small{
        display:block;
        margin-top:5px;
        font-size:10px;
        line-height:1.3;
        color:var(--app-muted);
    }
}
