:root{
    --za-blue:#1763d6;
    --za-blue-dark:#0f4fb8;
    --za-blue-soft:#eef5ff;

    --za-navy:#0e1728;
    --za-text:#172033;
    --za-muted:#687386;

    --za-line:#e5e9ef;
    --za-line-soft:#edf0f4;

    --za-card:#ffffff;
    --za-bg:#f7f8fb;

    --za-success:#0d7c55;
    --za-success-soft:#effaf5;

    --za-danger:#a5303e;

    --za-radius-lg:28px;
    --za-radius:22px;
    --za-radius-sm:16px;

    --za-shadow:
        0 20px 60px rgba(31,49,79,.06);

    --za-shadow-card:
        0 8px 28px rgba(31,49,79,.035);
}


/* =========================================================
   BASE
   ========================================================= */

.admin-page{
    margin:0;
    background:var(--za-bg);
    color:var(--za-text);
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    min-height:100vh;
    color-scheme:only light;
}

.admin-shell{
    min-height:100vh;
}


/* =========================================================
   TOP BAR
   ========================================================= */

.admin-topbar{
    width:min(1180px,calc(100% - 40px));
    margin:0 auto;
    min-height:82px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    border-bottom:1px solid var(--za-line);
}

.admin-topbar--dashboard{
    width:min(1420px,calc(100% - 48px));
}

.admin-topbar .brand{
    color:var(--za-navy);
    text-decoration:none;
}

.admin-top-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
    flex-wrap:wrap;
}

.admin-top-actions form{
    margin:0;
}

.admin-back-link{
    color:#4f5c71;
    text-decoration:none;
    font-size:14px;
    font-weight:700;
    transition:color .18s ease;
}

.admin-back-link:hover{
    color:var(--za-blue);
}

.admin-logout{
    border:1px solid #d6dce6;
    background:#fff;
    border-radius:999px;

    padding:10px 16px;

    color:var(--za-navy);
    font:inherit;
    font-size:14px;
    font-weight:800;

    cursor:pointer;

    transition:
        border-color .18s ease,
        color .18s ease,
        box-shadow .18s ease;
}

.admin-logout:hover{
    border-color:var(--za-blue);
    color:var(--za-blue);
    box-shadow:0 6px 18px rgba(23,99,214,.08);
}


/* =========================================================
   LOGIN / AUTH
   ========================================================= */

.admin-login-wrap{
    min-height:calc(100vh - 83px);

    display:grid;
    place-items:center;

    padding:46px 20px 72px;
}

.admin-login-card{
    width:min(560px,100%);
    box-sizing:border-box;

    background:var(--za-card);

    border:1px solid var(--za-line);
    border-radius:28px;

    padding:42px;

    box-shadow:
        0 24px 70px rgba(31,49,79,.10);
}

.admin-eyebrow{
    margin:0 0 12px;

    color:var(--za-blue);

    font-size:12px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.admin-login-card h1,
.admin-dashboard-hero h1{
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    color:var(--za-navy);

    font-weight:500;
    letter-spacing:-.035em;
}

.admin-login-card h1{
    font-size:clamp(40px,7vw,64px);
    line-height:.98;

    margin:0 0 18px;
}

.admin-intro{
    margin:0 0 28px;

    color:var(--za-muted);
    line-height:1.7;
}

.admin-form{
    display:grid;
    gap:18px;
}

.admin-form label{
    display:grid;
    gap:8px;

    color:#28344a;

    font-size:14px;
    font-weight:800;
}

.admin-form input{
    width:100%;
    box-sizing:border-box;

    border:1px solid #d9dfe8;
    border-radius:13px;

    background:#fbfcfe;
    color:var(--za-text);

    padding:14px 15px;

    font:inherit;

    outline:none;

    transition:
        border-color .18s,
        box-shadow .18s;
}

.admin-form input:focus{
    border-color:var(--za-blue);

    box-shadow:
        0 0 0 4px rgba(23,99,214,.10);
}

.admin-submit{
    border:0;
    cursor:pointer;

    justify-content:center;

    width:100%;
    margin-top:4px;
}

.admin-security-note{
    margin:22px 0 0;
    padding-top:18px;

    border-top:1px solid var(--za-line);

    font-size:12px;
    line-height:1.6;

    color:#7b8595;
}


/* =========================================================
   ALERTS
   ========================================================= */

.admin-alert{
    border-radius:13px;
    padding:13px 15px;
    margin:0 0 20px;

    font-size:14px;
    line-height:1.5;

    border:1px solid transparent;
}

.admin-alert--error{
    background:#fff3f4;
    border-color:#f0c9cf;
    color:#8c2634;
}

.admin-alert--success{
    background:#effaf6;
    border-color:#bfe5d5;
    color:#0a6746;
}

.admin-alert--info{
    background:#eff5ff;
    border-color:#cbdcff;
    color:#174e9f;
}


/* =========================================================
   DASHBOARD CONTAINER
   ========================================================= */

.admin-dashboard{
    width:min(1420px,calc(100% - 48px));

    margin:0 auto;

    padding:46px 0 72px;
}

.admin-dashboard > .admin-alert{
    margin-top:20px;
}


/* =========================================================
   DASHBOARD HERO
   ========================================================= */

.admin-dashboard-hero{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    align-items:end;

    gap:30px;

    padding:40px 42px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f5f8ff 100%
        );

    border:1px solid var(--za-line);
    border-radius:var(--za-radius-lg);

    box-shadow:var(--za-shadow);
}

.admin-dashboard-hero h1{
    font-size:clamp(46px,6vw,80px);
    line-height:.96;

    margin:0 0 18px;
}

.admin-dashboard-hero p:not(.admin-eyebrow){
    max-width:790px;

    margin:0;

    color:var(--za-muted);

    line-height:1.68;
    font-size:16px;
}

.admin-online-pill{
    display:inline-flex;

    align-items:center;

    gap:9px;

    white-space:nowrap;

    border:1px solid #d7e7dc;
    background:var(--za-success-soft);
    color:#17633f;

    border-radius:999px;

    padding:11px 15px;

    font-size:13px;
    font-weight:800;
}

.admin-online-pill span{
    width:9px;
    height:9px;

    border-radius:50%;

    background:#29a56c;

    box-shadow:
        0 0 0 5px rgba(41,165,108,.12);
}


/* =========================================================
   KPI / SUMMARY CARDS
   ========================================================= */

.admin-stat-grid{
    display:grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap:16px;

    margin:22px 0;
}

.admin-stat-grid article{
    position:relative;

    min-width:0;

    padding:22px 22px 20px;

    background:#fff;

    border:1px solid var(--za-line);
    border-radius:19px;

    box-shadow:var(--za-shadow-card);

    overflow:hidden;

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.admin-stat-grid article::before{
    content:"";

    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:3px;

    background:
        linear-gradient(
            90deg,
            var(--za-blue),
            #69a1ef
        );

    opacity:.72;
}

.admin-stat-grid article:hover{
    transform:translateY(-2px);

    border-color:#d7e2f2;

    box-shadow:
        0 12px 34px rgba(31,49,79,.07);
}

.admin-stat-grid span{
    display:block;

    color:#748095;

    font-size:11px;
    font-weight:800;

    text-transform:uppercase;
    letter-spacing:.10em;
}

.admin-stat-grid strong{
    display:block;

    margin:10px 0 5px;

    color:var(--za-navy);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:40px;
    line-height:1;

    font-weight:500;
}

.admin-stat-grid small{
    display:block;

    color:#8993a2;

    font-size:12px;
    line-height:1.4;
}


/* =========================================================
   PANELS
   ========================================================= */

.admin-panel{
    min-width:0;

    padding:28px;

    background:#fff;

    border:1px solid var(--za-line);
    border-radius:var(--za-radius);

    box-shadow:var(--za-shadow-card);
}

.admin-panel-heading{
    display:flex;

    justify-content:space-between;
    align-items:flex-end;

    gap:28px;

    margin-bottom:23px;
}

.admin-panel-heading h2{
    margin:0;

    color:var(--za-navy);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:32px;
    line-height:1.08;

    font-weight:500;

    letter-spacing:-.025em;
}

.admin-panel-heading > p{
    max-width:600px;

    margin:0;

    color:var(--za-muted);

    font-size:13px;
    line-height:1.6;
}

.admin-panel-heading > div:last-child:not(:first-child){
    max-width:620px;
}

.admin-panel-heading > div:last-child:not(:first-child) p{
    margin:0;

    color:var(--za-muted);

    font-size:13px;
    line-height:1.6;
}

.admin-panel-heading > div:last-child:not(:first-child) p + p{
    margin-top:8px;
}


/* =========================================================
   TRAFFIC ANALYTICS
   ========================================================= */

.admin-traffic-panel{
    margin-bottom:20px;
    overflow:hidden;
}

.admin-traffic-summary{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:28px;

    margin:-4px 0 26px;
}

.admin-traffic-summary > div{
    display:flex;
    align-items:center;
    gap:9px;

    color:var(--za-muted);
    font-size:13px;
}

.admin-traffic-summary strong{
    color:var(--za-navy);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:26px;
    line-height:1;

    font-weight:500;
}

.admin-traffic-dot{
    width:10px;
    height:10px;

    flex:0 0 10px;

    border-radius:50%;
}

.admin-traffic-dot--views{
    background:var(--za-blue);
    box-shadow:0 0 0 4px rgba(23,99,214,.10);
}

.admin-traffic-dot--visitors{
    background:#68a6ff;
    box-shadow:0 0 0 4px rgba(104,166,255,.12);
}

.admin-chart{
    position:relative;

    height:340px;

    min-width:0;

    padding-left:52px;
    padding-bottom:40px;

    box-sizing:border-box;
}

.admin-chart-grid{
    position:absolute;

    left:52px;
    right:0;
    top:0;
    bottom:40px;

    display:grid;
    grid-template-rows:repeat(5,1fr);

    pointer-events:none;
}

.admin-chart-grid-line{
    position:relative;

    border-top:1px dashed #dde4ef;
}

.admin-chart-grid-line:last-child{
    border-bottom:1px solid #d7deea;
}

.admin-chart-grid-line span{
    position:absolute;

    left:-50px;
    top:-8px;

    width:38px;

    color:#8993a2;

    text-align:right;

    font-size:10px;
    line-height:16px;
}

.admin-chart-columns{
    position:absolute;

    left:52px;
    right:0;
    top:0;
    bottom:0;

    display:grid;

    grid-template-columns:
        repeat(14,minmax(16px,1fr));

    gap:8px;

    min-width:0;
}

.admin-chart-day{
    min-width:0;
    height:100%;

    display:grid;

    grid-template-rows:
        minmax(0,1fr)
        34px;

    align-items:end;
}

.admin-chart-bars{
    height:100%;

    display:flex;

    align-items:flex-end;
    justify-content:center;

    gap:4px;

    padding:0 2px;

    box-sizing:border-box;
}

.admin-chart-bar{
    display:block;

    width:min(13px,38%);

    min-height:0;

    border-radius:7px 7px 2px 2px;

    transition:
        opacity .16s ease,
        transform .16s ease;
}

.admin-chart-bars:hover .admin-chart-bar{
    opacity:.78;
}

.admin-chart-bar--views{
    background:
        linear-gradient(
            180deg,
            #2d7bea 0%,
            var(--za-blue-dark) 100%
        );

    box-shadow:
        0 5px 14px rgba(23,99,214,.16);
}

.admin-chart-bar--visitors{
    background:
        linear-gradient(
            180deg,
            #91c0ff 0%,
            #5d9df4 100%
        );

    box-shadow:
        0 5px 14px rgba(93,157,244,.14);
}

.admin-chart-label{
    display:flex;

    justify-content:center;
    align-items:flex-end;

    min-width:0;

    padding-top:9px;

    color:#7b8799;

    font-size:10px;
    line-height:1.1;

    text-align:center;
    white-space:nowrap;
}


/* =========================================================
   RECENT AUDIENCE TABLE
   ========================================================= */

#recent-audience{
    padding:28px;
}

.admin-table-wrap{
    width:100%;

    overflow-x:auto;

    border:1px solid var(--za-line);

    border-radius:16px;

    background:#fff;

    -webkit-overflow-scrolling:touch;
}

.admin-table{
    width:100%;

    border-collapse:collapse;

    min-width:1080px;

    background:#fff;
}

.admin-table th{
    padding:13px 15px;

    background:#f7f9fc;

    text-align:left;

    color:#687386;

    font-size:10px;
    font-weight:800;

    text-transform:uppercase;
    letter-spacing:.10em;

    border-bottom:1px solid var(--za-line);
}

.admin-table td{
    padding:14px 15px;

    border-bottom:1px solid var(--za-line-soft);

    color:#354158;

    font-size:12px;
    line-height:1.45;

    vertical-align:top;
}

.admin-table tbody tr{
    transition:background .15s ease;
}

.admin-table tbody tr:hover{
    background:#fbfcff;
}

.admin-table tbody tr:last-child td{
    border-bottom:0;
}

.admin-table td strong{
    display:block;

    color:var(--za-navy);

    font-size:12px;
    font-weight:800;
}

.admin-table td small{
    display:block;

    margin-top:4px;

    color:#8993a2;

    font-size:10px;
    line-height:1.4;
}

.admin-table th:nth-child(1){
    min-width:190px;
}

.admin-table th:nth-child(2){
    min-width:155px;
}

.admin-table th:nth-child(3){
    min-width:200px;
}

.admin-table th:nth-child(4){
    width:70px;
}

.admin-table th:nth-child(5){
    min-width:100px;
}

.admin-table th:nth-child(6){
    min-width:100px;
}

.admin-table th:nth-child(7){
    min-width:150px;
}

.admin-empty{
    color:#8b95a4!important;
    padding:25px!important;
}


/* =========================================================
   ANALYTICS GRID
   ========================================================= */

.admin-two-col{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:20px;

    margin-top:20px;
}


/* =========================================================
   RANKING / ANALYTICS LISTS
   ========================================================= */

.admin-ranking-list{
    display:grid;
}

.admin-ranking-list > div{
    position:relative;

    display:flex;

    justify-content:space-between;
    align-items:center;

    gap:18px;

    min-height:30px;

    padding:13px 4px;

    border-top:1px solid var(--za-line-soft);

    color:#4b5870;

    font-size:13px;

    transition:
        padding-left .15s ease,
        color .15s ease;
}

.admin-ranking-list > div:first-child{
    border-top:0;
}

.admin-ranking-list > div:hover{
    padding-left:7px;
    color:var(--za-navy);
}

.admin-ranking-list span{
    min-width:0;

    overflow:hidden;

    text-overflow:ellipsis;

    white-space:nowrap;
}

.admin-ranking-list strong{
    flex:0 0 auto;

    min-width:30px;

    text-align:right;

    color:var(--za-blue);

    font-size:13px;
    font-weight:800;
}


/* =========================================================
   ACTIVITY
   ========================================================= */

.admin-activity-list{
    display:grid;
}

.admin-activity-list > div{
    display:flex;

    justify-content:space-between;
    align-items:flex-start;

    gap:20px;

    padding:13px 2px;

    border-top:1px solid var(--za-line-soft);

    transition:background .15s ease;
}

.admin-activity-list > div:first-child{
    border-top:0;
}

.admin-activity-list strong{
    display:block;

    color:var(--za-navy);

    font-size:13px;
}

.admin-activity-list span{
    display:block;

    margin-top:4px;

    color:#8993a2;

    font-size:11px;
    line-height:1.5;
}

.admin-activity-list time{
    flex:0 0 auto;

    color:#69758a;

    font-size:11px;

    white-space:nowrap;
}


/* =========================================================
   PRIVACY NOTE
   ========================================================= */

.admin-privacy-note{
    margin:22px 0 0;

    padding:16px 18px;

    border:1px solid #dfe7f4;
    border-radius:15px;

    background:#f7faff;

    color:#69758a;

    font-size:12px;
    line-height:1.65;
}


/* =========================================================
   RESPONSIVE — LARGE TABLETS / LAPTOPS
   ========================================================= */

@media(max-width:1180px){

    .admin-stat-grid{
        grid-template-columns:
            repeat(4,minmax(0,1fr));
    }

    .admin-stat-grid strong{
        font-size:36px;
    }

    .admin-chart{
        height:310px;
    }

    .admin-chart-columns{
        gap:6px;
    }

}


/* =========================================================
   RESPONSIVE — TABLETS
   ========================================================= */

@media(max-width:960px){

    .admin-dashboard-hero{
        grid-template-columns:1fr;

        align-items:start;

        padding:32px;
    }

    .admin-online-pill{
        justify-self:start;
    }

    .admin-stat-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .admin-two-col{
        grid-template-columns:1fr;
    }

    .admin-panel-heading{
        display:block;
    }

    .admin-panel-heading > p,
    .admin-panel-heading > div:last-child:not(:first-child){
        margin-top:12px;
    }

    .admin-chart{
        height:300px;
    }

    .admin-chart-columns{
        gap:5px;
    }

}


/* =========================================================
   RESPONSIVE — MOBILE
   ========================================================= */

@media(max-width:720px){

    .admin-topbar,
    .admin-topbar--dashboard,
    .admin-dashboard{
        width:min(
            calc(100% - 28px),
            1420px
        );
    }

    .admin-topbar{
        min-height:72px;
    }

    .admin-top-actions{
        gap:10px;
    }

    .admin-top-actions .admin-back-link:first-child{
        display:none;
    }

    .admin-login-wrap{
        padding:30px 14px 56px;
    }

    .admin-login-card{
        padding:28px 22px;

        border-radius:22px;
    }

    .admin-dashboard{
        padding-top:26px;
        padding-bottom:48px;
    }

    .admin-dashboard-hero{
        padding:25px 22px;

        border-radius:22px;
    }

    .admin-dashboard-hero h1{
        font-size:clamp(42px,13vw,58px);
    }

    .admin-dashboard-hero p:not(.admin-eyebrow){
        font-size:14px;
    }

    .admin-stat-grid{
        gap:12px;
    }

    .admin-stat-grid article{
        padding:18px;
    }

    .admin-stat-grid strong{
        font-size:34px;
    }

    .admin-stat-grid small{
        font-size:10px;
    }

    .admin-panel,
    #recent-audience{
        padding:21px;

        border-radius:18px;
    }

    .admin-panel-heading h2{
        font-size:28px;
    }

    .admin-table-wrap{
        border-radius:13px;
    }

    .admin-traffic-summary{
        gap:16px;
        margin-bottom:20px;
    }

    .admin-traffic-summary strong{
        font-size:22px;
    }

    .admin-chart{
        height:270px;
        padding-left:42px;
    }

    .admin-chart-grid{
        left:42px;
    }

    .admin-chart-columns{
        left:42px;
        gap:3px;
    }

    .admin-chart-grid-line span{
        left:-42px;
        width:32px;
        font-size:9px;
    }

    .admin-chart-bars{
        gap:2px;
        padding:0 1px;
    }

    .admin-chart-bar{
        width:min(9px,42%);
    }

    .admin-chart-label{
        font-size:8px;
    }

}


/* =========================================================
   RESPONSIVE — SMALL PHONES
   ========================================================= */

@media(max-width:440px){

    .admin-stat-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .admin-stat-grid article{
        padding:16px 14px;
    }

    .admin-stat-grid strong{
        font-size:30px;
    }

    .admin-stat-grid span{
        font-size:9px;
    }

    .admin-top-actions .admin-back-link{
        display:none;
    }

    .admin-dashboard-hero h1{
        font-size:42px;
    }

    .admin-panel-heading h2{
        font-size:26px;
    }

    .admin-traffic-summary{
        display:grid;
        grid-template-columns:1fr;
        gap:9px;
    }

    .admin-chart{
        height:250px;
        padding-left:38px;
    }

    .admin-chart-grid{
        left:38px;
    }

    .admin-chart-columns{
        left:38px;
        gap:2px;
    }

    .admin-chart-grid-line span{
        left:-38px;
        width:29px;
    }

    .admin-chart-bar{
        width:min(7px,44%);
        border-radius:5px 5px 1px 1px;
    }

}

/* =========================================================
   MOBILE ADMIN NAVIGATION FIX
   Keep owner navigation visible on small screens
   ========================================================= */

@media (max-width:720px){

    .admin-topbar--dashboard{
        flex-wrap:wrap;
        padding:12px 0 14px;
        min-height:auto;
    }

    .admin-top-actions{
        width:100%;
        display:flex;
        align-items:center;
        justify-content:flex-start;
        flex-wrap:wrap;
        gap:10px 16px;
    }

    .admin-top-actions .admin-back-link,
    .admin-top-actions .admin-back-link:first-child{
        display:inline-flex;
        align-items:center;
        font-size:13px;
        white-space:nowrap;
    }

    .admin-top-actions form{
        margin-left:auto;
    }

    .admin-logout{
        padding:9px 14px;
        font-size:13px;
    }
}


@media (max-width:440px){

    .admin-top-actions .admin-back-link,
    .admin-top-actions .admin-back-link:first-child{
        display:inline-flex;
    }

    .admin-top-actions{
        gap:9px 13px;
    }

}

/* =========================================================
   MOBILE VISITORS FILTER FIX
   ========================================================= */

@media (max-width:620px){

    .visitors-filter-form{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:16px !important;
    }

    .visitors-filter-form label,
    .visitors-filter-form label:first-child{
        display:grid !important;
        grid-column:auto !important;
        width:100% !important;
        gap:8px !important;
    }

    .visitors-filter-form label > span{
        display:block !important;
        margin:0 !important;
        font-size:11px !important;
        font-weight:800 !important;
        letter-spacing:.08em !important;
        text-transform:uppercase !important;
        color:#59667b !important;
    }

    .visitors-filter-form input,
    .visitors-filter-form select{
        display:block !important;
        width:100% !important;
        max-width:none !important;
        min-height:46px !important;
        box-sizing:border-box !important;
        margin:0 !important;

        border:1px solid #d8dfe9 !important;
        border-radius:12px !important;

        background:#fbfcfe !important;
        color:#172033 !important;

        padding:11px 13px !important;

        font:inherit !important;
        font-size:13px !important;
    }

    .visitors-filter-actions{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
        width:100% !important;
    }

    .visitors-filter-submit{
        width:100% !important;
        min-height:46px !important;
        margin:0 !important;
    }

    .visitors-clear-link{
        display:block !important;
        width:100% !important;
        text-align:center !important;
        padding:8px 0 !important;
    }
}

/* =========================================================
   VISITORS FILTERS — FINAL DESKTOP OVERRIDE
   ========================================================= */

@media (min-width:621px){

    .visitors-filter-form{
        display:grid !important;
        grid-template-columns:
            minmax(260px,1.7fr)
            minmax(170px,1fr)
            minmax(150px,.85fr)
            minmax(150px,.85fr)
            auto !important;

        gap:14px !important;
        align-items:end !important;
        width:100% !important;
    }

    .visitors-filter-form label{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;

        width:100% !important;
        min-width:0 !important;

        margin:0 !important;
    }

    .visitors-filter-form label > span{
        display:block !important;

        margin:0 !important;

        color:#59667b !important;

        font-size:11px !important;
        font-weight:800 !important;

        letter-spacing:.08em !important;
        text-transform:uppercase !important;
    }

    .visitors-filter-form input,
    .visitors-filter-form select{
        display:block !important;

        width:100% !important;
        max-width:none !important;

        min-height:46px !important;

        box-sizing:border-box !important;

        margin:0 !important;

        border:1px solid #d8dfe9 !important;
        border-radius:12px !important;

        background:#fbfcfe !important;
        color:#172033 !important;

        padding:11px 13px !important;

        font:inherit !important;
        font-size:13px !important;

        outline:none !important;
    }

    .visitors-filter-form input:focus,
    .visitors-filter-form select:focus{
        border-color:#1763d6 !important;

        background:#fff !important;

        box-shadow:
            0 0 0 4px rgba(23,99,214,.09) !important;
    }

    .visitors-filter-actions{
        display:flex !important;

        align-items:center !important;

        gap:12px !important;

        width:auto !important;
        min-height:46px !important;

        margin:0 !important;
    }

    .visitors-filter-submit{
        display:inline-flex !important;

        align-items:center !important;
        justify-content:center !important;

        width:auto !important;

        min-width:125px !important;
        min-height:46px !important;

        margin:0 !important;

        padding:0 18px !important;

        border:0 !important;
        border-radius:12px !important;

        background:
            linear-gradient(
                180deg,
                #2d7bea 0%,
                #0f4fb8 100%
            ) !important;

        color:#fff !important;

        font-size:13px !important;
        font-weight:800 !important;

        white-space:nowrap !important;
    }

    .visitors-clear-link{
        display:inline-flex !important;

        align-items:center !important;

        width:auto !important;

        padding:0 !important;

        color:#667286 !important;

        font-size:13px !important;
        font-weight:700 !important;

        text-decoration:none !important;

        white-space:nowrap !important;
    }
}