@import url("./typography.css");

/* Bharat Aero Limited admin styles */
        :root{--forest:var(--c-primary);--forest-dark:var(--c-primary);--orange:var(--c-accent);--orange-dark:var(--bal-blue);--navy:var(--c-primary);--page:var(--c-surface);--paper:#fff;--line:var(--c-silver);--muted:var(--c-steel);--danger:var(--c-alert);--shadow:0 12px 35px rgba(27,42,74,.08)}
        *{box-sizing:border-box}body{margin:0;background:var(--page);color:#18302b;font-family:var(--site-font-family);font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}
        .shell{display:grid;min-height:100vh;grid-template-columns:264px minmax(0,1fr)}.side{position:sticky;top:0;height:100vh;background:var(--forest-dark);color:#fff;padding:28px 20px}.brand-logo{display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(255,255,255,.12);padding:0 10px 24px}.brand-logo img{display:block;width:178px;max-width:100%;height:78px;object-fit:contain;background:#fff;border-radius:6px;padding:5px}.nav{display:grid;gap:6px;margin-top:22px}.nav a,.logout button{display:block;width:100%;border:0;border-radius:7px;background:transparent;color:rgba(255,255,255,.82);cursor:pointer;font-weight:700;padding:12px 13px;text-align:left;transition:.18s ease}.nav a:hover,.nav .active,.logout button:hover{background:var(--orange);color:#fff}.logout{border-top:1px solid rgba(255,255,255,.12);margin-top:22px;padding-top:16px}
        .main{min-width:0;padding:34px clamp(20px,4vw,54px) 54px}.top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 auto 24px;max-width:1280px}.top h1{font-size:28px;letter-spacing:0;line-height:1.2}.top .muted{font-size:14px}.card{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);margin-left:auto;margin-right:auto;max-width:1280px;padding:24px}.grid{display:grid;gap:18px}.stats{grid-template-columns:repeat(5,minmax(0,1fr));max-width:1280px;margin:auto}.stat-card strong,.stats .card strong{color:var(--navy);font-size:28px}.muted{color:var(--muted)}
        .btn{display:inline-flex;min-height:40px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:var(--orange);color:#fff;cursor:pointer;font-weight:800;padding:9px 15px;transition:.18s ease}.btn:hover{background:var(--orange-dark)}.btn.secondary{background:var(--forest)}.btn.secondary:hover{background:var(--forest-dark)}.btn.ghost{border-color:var(--line);background:#fff;color:var(--forest)}.btn.ghost:hover{border-color:var(--forest);background:#f7faf9}.btn.danger{background:var(--danger)}.btn.small{min-height:34px;padding:6px 11px;font-size:12px}
        .table{width:100%;border-collapse:collapse}.table th{background:#f6f8fa;color:#506075;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.table th,.table td{border-bottom:1px solid #e7edf1;padding:13px 12px;text-align:left;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table strong{color:var(--navy)}
        .form{display:grid;gap:22px;max-width:none}.form-section{border:1px solid var(--line);border-radius:8px;background:#fff;padding:22px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #e8edf1;margin-bottom:20px;padding-bottom:15px}.section-head h2{color:var(--forest);font-size:17px;margin:0}.section-head p{color:var(--muted);font-size:12px;margin:4px 0 0}.field{display:grid;gap:8px;min-width:0}.field label{color:#26483f;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.field input,.field textarea,.field select{display:block;width:100%;border:1px solid #cbd6df;border-radius:7px;background:#fff;color:#172b27;outline:none;padding:11px 12px;transition:border-color .18s,box-shadow .18s}.field input,.field select{min-height:44px}.field textarea{min-height:118px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(74, 144, 196,.13)}.field input[type=file]{padding:8px}.field-help{color:var(--muted);font-size:11px;margin:0}.row{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid{display:grid;gap:20px}.check{display:flex;align-items:flex-start;gap:11px;border:1px solid #dce6e2;border-radius:7px;background:#f7faf9;padding:14px;font-weight:700}.check input{accent-color:var(--orange);flex:0 0 auto;height:18px;margin-top:2px;width:18px}.check-copy{display:grid;gap:2px}.check-copy small{color:var(--muted);font-weight:500}.thumbnail-preview{display:block;max-width:260px;max-height:150px;border:1px solid var(--line);border-radius:7px;object-fit:cover}.tox.tox-tinymce{border-color:#cbd6df;border-radius:7px}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.form-actions{position:sticky;bottom:0;z-index:5;border-top:1px solid var(--line);background:rgba(255,255,255,.95);margin:0 -24px -24px;padding:16px 24px;backdrop-filter:blur(8px)}
        .faq-list{display:grid;gap:14px}.faq-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;border:1px solid #dfe7ec;border-radius:8px;background:#f8fafb;padding:16px}.faq-fields{display:grid;gap:14px}.faq-remove{align-self:start}.empty-faq{border:1px dashed #c9d5dd;border-radius:8px;color:var(--muted);padding:22px;text-align:center}
        .notice{border-radius:7px;margin:0 auto 18px;max-width:1280px;padding:13px 15px}.ok{background:#e9f8ef;color:#126c33}.err{background:#ffebe8;color:#9f1f12}.login{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(135deg,#f2f6f5,#edf1f7)}.login .card{width:min(440px,100%)}
        @media(max-width:1050px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
        @media(max-width:780px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;padding:18px}.brand{padding-bottom:16px}.nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.logout{margin-top:14px}.main{padding:24px 15px 40px}.top{align-items:flex-start;flex-direction:column}.top h1{font-size:24px}.card,.form-section{padding:17px}.row,.stats{grid-template-columns:1fr}.form-actions{margin:0 -17px -17px;padding:14px 17px}.faq-row{grid-template-columns:1fr}.faq-remove{justify-self:start}.table{min-width:760px}}
        .admin-page-title{margin:0}.admin-page-subtitle{margin:6px 0 0}.admin-login-title{margin:0 0 6px}.admin-login-logo{width:50%;margin:0 auto;display:block}
        /* =========================================================
   MODERN DASHBOARD V2
========================================================= */

.dashboard-v2{
    width:100%;
    max-width:1400px;
    margin:0 auto;
}

/* Homepage settings: uploaded notification PDFs */
.pdf-manager-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.pdf-manager{
    display:grid;
    align-content:start;
    gap:12px;
    min-width:0;
    border:1px solid #dce6e2;
    border-radius:10px;
    background:#fbfdfc;
    padding:16px;
}

.pdf-manager-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:#26483f;
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.pdf-status{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-radius:999px;
    background:#e9f8ef;
    color:#16733c;
    font-size:10px;
    letter-spacing:.02em;
    padding:5px 9px;
}

.pdf-status i{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#20a75a;
}

.pdf-current{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    border:1px solid #dce9e4;
    border-radius:9px;
    background:#f1f8f5;
    padding:13px;
    transition:.18s ease;
}

.pdf-current.is-marked-for-removal{
    border-color:#f2b7b2;
    background:#fff3f2;
    opacity:.72;
}

.pdf-document-icon,
.pdf-upload-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    border-radius:8px;
    background:#fff0e5;
    color:var(--orange);
}

.pdf-document-icon{
    width:42px;
    height:42px;
}

.pdf-document-icon svg,
.pdf-upload-icon svg,
.pdf-action svg,
.pdf-selected svg{
    width:19px;
    height:19px;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.pdf-current-copy{
    display:grid;
    min-width:0;
    gap:3px;
}

.pdf-current-copy strong{
    overflow:hidden;
    color:#173b32;
    font-size:13px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.pdf-current-copy small{
    color:var(--muted);
    font-size:10px;
}

.pdf-manager-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}

.pdf-action{
    display:inline-flex;
    min-height:35px;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid #d7e1dd;
    border-radius:7px;
    background:#fff;
    color:var(--forest);
    cursor:pointer;
    font-size:11px;
    font-weight:800;
    letter-spacing:0;
    padding:7px 10px;
    text-transform:none;
    transition:.18s ease;
}

.pdf-action:hover{
    border-color:#adc7bd;
    background:#f4f9f7;
}

.pdf-action svg{
    width:15px;
    height:15px;
}

.pdf-delete{
    color:#a62d24;
}

.pdf-delete[aria-pressed="true"]{
    border-color:#e7aca7;
    background:#fff0ef;
}

.pdf-upload-empty{
    display:flex;
    min-height:128px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:6px;
    border:1px dashed #b9ccc5;
    border-radius:9px;
    background:#f7faf9;
    color:var(--forest);
    cursor:pointer;
    padding:18px;
    text-align:center;
    transition:.18s ease;
}

.pdf-upload-empty:hover{
    border-color:var(--orange);
    background:#fff9f4;
}

.pdf-upload-empty strong{
    font-size:13px;
}

.pdf-upload-empty small{
    color:var(--muted);
    font-size:10px;
}

.pdf-upload-icon{
    width:38px;
    height:38px;
}

.pdf-file-input{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    clip-path:inset(50%)!important;
    white-space:nowrap!important;
}

.pdf-selected{
    display:flex;
    align-items:center;
    gap:7px;
    border-radius:7px;
    background:#e9f8ef;
    color:#176d3c;
    font-size:11px;
    font-weight:700;
    padding:9px 11px;
}

.pdf-selected[hidden]{
    display:none;
}

.pdf-selected svg{
    width:15px;
    height:15px;
}

@media(max-width:900px){
    .pdf-manager-grid{grid-template-columns:1fr}
}

@media(max-width:480px){
    .pdf-manager{padding:13px}
    .pdf-manager-actions{align-items:stretch;flex-direction:column}
    .pdf-action{width:100%}
}


/* TOPBAR
========================================================= */

.dashboard-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    margin-bottom:28px;
}

.dashboard-heading h1{
    margin:0;
    color:#10251f;
    font-size:36px;
    font-weight:800;
    line-height:1.15;
    letter-spacing:-1px;
}

.dashboard-heading p{
    margin:8px 0 0;
    color:#738296;
    font-size:14px;
    font-weight:500;
}

.dashboard-tools{
    display:flex;
    align-items:center;
    gap:17px;
}


/* Search */

.dashboard-search{
    width:220px;
    height:46px;
    display:flex;
    align-items:center;
    gap:11px;
    background:#fff;
    border:1px solid #dde5ec;
    border-radius:10px;
    padding:0 15px;
    color:#52677f;
    transition:.2s ease;
}

.dashboard-search:focus-within{
    border-color:#4A90C4;
    box-shadow:0 0 0 3px rgba(74, 144, 196,.09);
}

.dashboard-search input{
    width:100%;
    border:0;
    outline:0;
    padding:0;
    background:transparent;
    color:#25364b;
    font-size:13px;
}

.dashboard-search input::placeholder{
    color:#8493a5;
}


/* Notification */

.notification-btn{
    position:relative;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:0;
    background:transparent;
    color:#162536;
    cursor:pointer;
}

.notification-count{
    position:absolute;
    top:-1px;
    right:0;
    min-width:19px;
    height:19px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #f3f6f9;
    border-radius:20px;
    background:#ff791b;
    color:#fff;
    font-size:9px;
    line-height:1;
    font-weight:800;
    padding:0 4px;
}


/* Admin */

.dashboard-user{
    display:flex;
    align-items:center;
    gap:10px;
}

.dashboard-avatar{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    border-radius:50%;
    background:linear-gradient(145deg,#dbe8f5,#a9bfd7);
    border:3px solid #fff;
    box-shadow:0 2px 12px rgba(27, 42, 74,.12);
    color:#1B2A4A;
    font-size:16px;
    font-weight:800;
}

.dashboard-user-info{
    display:grid;
    line-height:1.25;
}

.dashboard-user-info strong{
    color:#172131;
    font-size:13px;
    font-weight:800;
}

.dashboard-user-info span{
    margin-top:3px;
    color:#7b899c;
    font-size:10px;
    font-weight:500;
}

.user-chevron{
    margin-left:3px;
    color:#26374a;
}


/* =========================================================
   STAT CARDS
========================================================= */

.dashboard-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
    margin-bottom:30px;
}

.dashboard-stat-card{
    min-height:126px;
    display:flex;
    align-items:center;
    gap:20px;
    border:1px solid #dde5eb;
    border-radius:13px;
    background:#fff;
    padding:22px 20px;
    box-shadow:
        0 7px 17px rgba(19,50,70,.04),
        0 20px 40px rgba(19,50,70,.025);
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.dashboard-stat-card:hover{
    transform:translateY(-3px);
    border-color:#ccd8e0;
    box-shadow:0 15px 35px rgba(10,48,40,.09);
}

.stat-icon{
    width:60px;
    height:60px;
    flex:0 0 60px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
}

.stat-icon svg{
    width:28px;
    height:28px;
}

.stat-data{
    min-width:0;
    display:grid;
}

.stat-data strong{
    font-size:29px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.6px;
}

.stat-data span{
    margin-top:10px;
    color:#66778d;
    font-size:13px;
    line-height:1.25;
    font-weight:500;
}


/* Stat colors */

.stat-orange .stat-icon{
    background:#fff0e7;
    color:#ff6814;
}

.stat-orange .stat-data strong{
    color:#fb5f0c;
}


.stat-blue .stat-icon{
    background:#e9f1ff;
    color:#1763d7;
}

.stat-blue .stat-data strong{
    color:#1154bc;
}


.stat-green .stat-icon{
    background:#e8f7ee;
    color:#11844c;
}

.stat-green .stat-data strong{
    color:#13814a;
}


.stat-purple .stat-icon{
    background:#f0e9ff;
    color:#6b24d8;
}

.stat-purple .stat-data strong{
    color:#6520d3;
}


.stat-yellow .stat-icon{
    background:#fff3e2;
    color:#e59213;
}

.stat-yellow .stat-data strong{
    color:#e38b0c;
}


/* =========================================================
   CONTENT PANELS
========================================================= */

.dashboard-content-grid{
    display:grid;
    grid-template-columns:minmax(0,1.72fr) minmax(340px,.95fr);
    gap:30px;
    align-items:start;
}

.dashboard-panel{
    overflow:hidden;
    background:#fff;
    border:1px solid #dde5eb;
    border-radius:13px;
    box-shadow:
        0 8px 20px rgba(14,49,66,.035),
        0 25px 50px rgba(14,49,66,.025);
}

.dashboard-panel-head{
    min-height:73px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:0 21px;
}

.panel-title{
    display:flex;
    align-items:center;
    gap:13px;
}

.title-line{
    width:4px;
    height:25px;
    display:block;
    border-radius:10px;
    background:#ff7217;
}

.panel-title h2{
    margin:0;
    color:#14221f;
    font-size:17px;
    line-height:1.2;
    font-weight:800;
}

.panel-view-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#0b60d8;
    font-size:11px;
    font-weight:600;
    white-space:nowrap;
}

.panel-view-link:hover{
    color:#074fae;
}


/* =========================================================
   RECENT POSTS
========================================================= */

.recent-post-list{
    margin:0 13px 20px;
    overflow:hidden;
    border:1px solid #e0e7ec;
    border-radius:10px;
}

.recent-post-item{
    min-height:77px;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto 24px;
    align-items:center;
    gap:14px;
    padding:11px 16px 11px 12px;
    border-bottom:1px solid #e5ebef;
    transition:
        background .18s ease,
        transform .18s ease;
}

.recent-post-item:last-child{
    border-bottom:0;
}

.recent-post-item:hover{
    background:#f8fbff;
}

.post-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eaf2ff;
    color:#1766db;
}

.post-icon svg{
    width:22px;
    height:22px;
}

.post-info{
    min-width:0;
    display:grid;
    gap:7px;
}

.post-info strong{
    overflow:hidden;
    color:#172331;
    font-size:12px;
    line-height:1.45;
    font-weight:700;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.post-date{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#8390a0;
    font-size:10px;
    font-weight:500;
}

.status-pill{
    min-width:53px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:40px;
    padding:5px 10px;
    font-size:9px;
    font-weight:700;
}

.status-pill.visible{
    background:#e7f7ec;
    color:#218850;
}

.status-pill.hidden{
    background:#fff0ef;
    color:#c33e36;
}

.row-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#5e748b;
    transition:transform .2s ease;
}

.recent-post-item:hover .row-arrow{
    transform:translateX(3px);
}


/* =========================================================
   RECENT ENQUIRIES
========================================================= */

.recent-enquiry-list{
    margin:0 13px 20px;
    overflow:hidden;
    border:1px solid #e0e7ec;
    border-radius:10px;
}

.recent-enquiry-item{
    min-height:109px;
    display:flex;
    align-items:center;
    gap:17px;
    padding:18px 16px;
    border-bottom:1px solid #e4eaef;
    transition:background .18s ease;
}

.recent-enquiry-item:last-child{
    border-bottom:0;
}

.recent-enquiry-item:hover{
    background:#fafcff;
}

.enquiry-avatar{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 52px;
    border-radius:50%;
}

.enquiry-avatar svg{
    width:26px;
    height:26px;
}

.enquiry-avatar-1{
    background:#fff0e7;
    color:#ff6814;
}

.enquiry-avatar-2{
    background:#e9f1ff;
    color:#1763d7;
}

.enquiry-avatar-3{
    background:#e8f7ee;
    color:#13864b;
}

.enquiry-info{
    min-width:0;
    display:grid;
    gap:10px;
}

.enquiry-info strong{
    overflow:hidden;
    color:#172331;
    font-size:13px;
    line-height:1.3;
    font-weight:800;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.enquiry-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    color:#718196;
}

.enquiry-meta span{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:10px;
    white-space:nowrap;
}

.enquiry-meta span svg{
    width:15px;
    height:15px;
}

.enquiry-meta i{
    width:3px;
    height:3px;
    display:block;
    border-radius:50%;
    background:#8391a3;
}


/* EMPTY STATE */

.dashboard-empty{
    padding:40px 20px;
    color:#8794a3;
    font-size:13px;
    text-align:center;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1250px){

    .dashboard-stats{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .dashboard-content-grid{
        grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);
    }

}


@media(max-width:1000px){

    .dashboard-topbar{
        align-items:flex-start;
    }

    .dashboard-user-info,
    .user-chevron{
        display:none;
    }

    .dashboard-content-grid{
        grid-template-columns:1fr;
    }

}


@media(max-width:780px){

    .dashboard-topbar{
        flex-direction:column;
        align-items:stretch;
        margin-bottom:22px;
    }

    .dashboard-heading h1{
        font-size:29px;
    }

    .dashboard-tools{
        width:100%;
    }

    .dashboard-search{
        flex:1;
        width:auto;
    }

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

    .dashboard-stat-card{
        min-height:105px;
        gap:13px;
        padding:17px 14px;
    }

    .stat-icon{
        width:49px;
        height:49px;
        flex-basis:49px;
    }

    .stat-icon svg{
        width:23px;
        height:23px;
    }

    .stat-data strong{
        font-size:24px;
    }

    .stat-data span{
        margin-top:7px;
        font-size:11px;
    }

    .dashboard-content-grid{
        gap:18px;
    }

}


@media(max-width:540px){

    .dashboard-stats{
        grid-template-columns:1fr;
    }

    .dashboard-stat-card{
        min-height:92px;
    }

    .dashboard-panel-head{
        padding:0 14px;
    }

    .panel-title h2{
        font-size:15px;
    }

    .panel-view-link{
        font-size:10px;
    }

    .recent-post-item{
        grid-template-columns:43px minmax(0,1fr) 20px;
        gap:10px;
        padding:12px 10px;
    }

    .status-pill{
        display:none;
    }

    .post-info strong{
        font-size:11px;
        white-space:normal;
    }

    .recent-enquiry-item{
        min-height:auto;
    }

}


/* =====================================================
   BLOG POSTS - MODERN LIST PAGE
===================================================== */

.posts-page{
    width:100%;
    max-width:1280px;
    margin:0 auto;
}


/* Add Blog Button
===================================================== */

.posts-add-btn{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    padding:10px 18px;

    border-radius:8px;

    background:#4A90C4;
    color:#fff;

    font-size:13px;
    font-weight:700;

    box-shadow:0 7px 18px rgba(74, 144, 196,.18);

    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.posts-add-btn svg{
    width:17px;
    height:17px;
}

.posts-add-btn:hover{
    background:#e96b12;
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(74, 144, 196,.22);
}


/* Main Card
===================================================== */

.posts-table-card{
    overflow:hidden;

    border:1px solid #dfe6ec;
    border-radius:14px;

    background:#fff;

    padding:14px;

    box-shadow:
        0 8px 25px rgba(20,50,65,.045),
        0 25px 55px rgba(20,50,65,.035);
}


.posts-table-wrap{
    width:100%;
    overflow-x:auto;

    border:1px solid #e0e7ed;
    border-radius:10px;

    background:#fff;
}


/* Table
===================================================== */

.posts-modern-table{
    width:100%;
    min-width:1050px;

    border-collapse:collapse;
    table-layout:fixed;
}


/* Table column widths */

.posts-modern-table th:nth-child(1),
.posts-modern-table td:nth-child(1){
    width:29%;
}

.posts-modern-table th:nth-child(2),
.posts-modern-table td:nth-child(2){
    width:14%;
}

.posts-modern-table th:nth-child(3),
.posts-modern-table td:nth-child(3){
    width:22%;
}

.posts-modern-table th:nth-child(4),
.posts-modern-table td:nth-child(4){
    width:10%;
}

.posts-modern-table th:nth-child(5),
.posts-modern-table td:nth-child(5){
    width:10%;
}

.posts-modern-table th:nth-child(6),
.posts-modern-table td:nth-child(6){
    width:15%;
}


/* Header */

.posts-modern-table thead{
    background:#f8fafc;
}

.posts-modern-table thead th{
    border-bottom:1px solid #e2e9ee;

    padding:14px 16px;

    color:#56677c;

    font-size:10px;
    font-weight:800;

    letter-spacing:.055em;
    text-transform:uppercase;

    text-align:left;
}


/* Table rows */

.posts-modern-table tbody tr{
    transition:
        background .18s ease,
        box-shadow .18s ease;
}

.posts-modern-table tbody tr:hover{
    background:#fbfdff;
}

.posts-modern-table tbody td{
    height:82px;

    border-bottom:1px solid #e5ebef;

    padding:12px 16px;

    vertical-align:middle;

    color:#18302b;

    font-size:12px;
}

.posts-modern-table tbody tr:last-child td{
    border-bottom:0;
}


/* =====================================================
   TITLE COLUMN
===================================================== */

.post-title-cell{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}


.post-list-icon{
    width:38px;
    height:38px;

    flex:0 0 38px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#edf3ff;
    color:#1764d8;
}


.post-list-icon svg{
    width:20px;
    height:20px;
}


.post-title-link{
    display:-webkit-box;

    overflow:hidden;

    color:#1B2A4A;

    font-size:12px;
    line-height:1.45;
    font-weight:700;

    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;

    transition:color .18s ease;
}


.post-title-link:hover{
    color:#4A90C4;
}


/* =====================================================
   CATEGORY BADGES
===================================================== */

.category-badge{
    width:max-content;
    max-width:100%;

    display:inline-flex;
    align-items:center;
    gap:6px;

    border-radius:7px;

    padding:6px 9px;

    font-size:10px;
    line-height:1;
    font-weight:600;

    white-space:nowrap;
}


.category-badge svg{
    width:14px;
    height:14px;
}


/* Airport Jobs */

.category-airport{
    background:#eaf2ff;
    color:#185ec4;
}


/* Training */

.category-training{
    background:#fff0e5;
    color:#e76a0c;
}


/* Interview */

.category-interview{
    background:#f1eaff;
    color:#7237c9;
}


/* Safety */

.category-safety{
    background:#e8f7ed;
    color:#23834e;
}


/* Default */

.category-default{
    background:#f0f3f5;
    color:#596978;
}


/* =====================================================
   SLUG
===================================================== */

.post-slug{
    display:block;

    overflow:hidden;

    color:#52667b;

    line-height:1.45;

    text-overflow:ellipsis;
    white-space:nowrap;
}


/* =====================================================
   VISIBILITY
===================================================== */

.visibility-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:55px;

    border-radius:20px;

    padding:5px 10px;

    font-size:10px;
    font-weight:600;
}


.visibility-pill.visible{
    background:#e8f7ed;
    color:#23864f;
}


.visibility-pill.hidden{
    background:#fff0ef;
    color:#c23b32;
}


/* =====================================================
   PUBLISHED DATE
===================================================== */

.post-published{
    color:#243b36;
    line-height:1.45;
}


/* =====================================================
   ACTION BUTTONS
===================================================== */

.post-actions{
    display:flex;
    align-items:center;
    gap:7px;

    white-space:nowrap;
}


.post-action-btn{
    min-height:33px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;

    border:0;
    border-radius:6px;

    padding:7px 10px;

    background:#073e34;
    color:#fff;

    cursor:pointer;

    font-size:10px;
    font-weight:700;

    transition:
        transform .18s ease,
        background .18s ease;
}


.post-action-btn svg{
    width:14px;
    height:14px;
}


.post-action-btn:hover{
    background:#062f28;
    transform:translateY(-1px);
}


/* Delete button */

.post-delete-form{
    margin:0;
}


.post-delete-btn{
    width:34px;
    height:34px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:0;

    border:0;
    border-radius:6px;

    background:#dc3327;
    color:#fff;

    cursor:pointer;

    transition:
        transform .18s ease,
        background .18s ease;
}


.post-delete-btn svg{
    width:16px;
    height:16px;
}


.post-delete-btn:hover{
    background:#bc281e;
    transform:translateY(-1px);
}


/* =====================================================
   EMPTY POSTS
===================================================== */

.posts-empty{
    padding:70px 20px !important;

    color:#82909f !important;

    text-align:center;
}


.posts-empty svg{
    display:block;

    width:42px;
    height:42px;

    margin:0 auto 12px;

    color:#a6b3c0;
}


.posts-empty strong{
    display:block;

    margin-bottom:4px;

    color:#44586d;

    font-size:14px;
}


.posts-empty span{
    font-size:12px;
}


/* =====================================================
   PAGINATION FOOTER
===================================================== */

.posts-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    border-top:1px solid #e5ebef;

    padding:14px 5px 1px;

    margin-top:13px;
}


.posts-count{
    color:#718096;

    font-size:11px;
    font-weight:500;
}


.posts-pagination{
    display:flex;
    align-items:center;
}


/*
Laravel pagination SVG protection.
Default Tailwind pagination kabhi-kabhi huge arrows dikha deta hai.
*/

.posts-pagination nav{
    display:flex;
    align-items:center;
}


.posts-pagination nav > div:first-child{
    display:none;
}


.posts-pagination nav > div:last-child{
    display:flex;
    align-items:center;
    gap:10px;
}


.posts-pagination nav > div:last-child > div:first-child{
    display:none;
}


.posts-pagination nav > div:last-child > div:last-child{
    display:flex;
    align-items:center;
}


.posts-pagination span.relative,
.posts-pagination a.relative{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}


.posts-pagination svg{
    width:16px !important;
    height:16px !important;
}


/* pagination links generated by Laravel */

.posts-pagination nav a,
.posts-pagination nav span{
    box-shadow:none !important;
}


.posts-pagination nav span[aria-current="page"] span{
    border-color:#4A90C4 !important;
    background:#4A90C4 !important;
    color:#fff !important;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1100px){

    .posts-table-card{
        padding:10px;
    }

}


@media(max-width:780px){

    .posts-table-card{
        padding:8px;

        border-radius:10px;
    }

    .posts-table-wrap{
        border-radius:8px;
    }

    .posts-modern-table tbody td{
        height:75px;
    }

}


/* =========================================================
   RESPONSIVE ADMIN SIDEBAR
========================================================= */


/* =========================================================
   DESKTOP SIDEBAR ENHANCEMENTS
========================================================= */

.side{
    display:flex;
    flex-direction:column;
}

.side-top{
    display:block;
}

.side-menu{
    display:flex;
    flex-direction:column;
    flex:1;
    min-height:0;
}


/* Menu icons */

.nav a,
.logout button{
    display:flex;
    align-items:center;
    gap:11px;
}

.nav-icon{
    width:21px;
    height:21px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex:0 0 21px;
}

.nav-icon svg{
    display:block;

    width:21px;
    height:21px;
}


/* Hamburger hidden desktop */

.mobile-menu-toggle{
    display:none;
}


/* Overlay hidden desktop */

.sidebar-overlay{
    display:none;
}



/* =========================================================
   TABLET / MOBILE
========================================================= */

@media(max-width:780px){


    /* =========================================
       PAGE
    ========================================= */

    html,
    body{
        width:100%;
        max-width:100%;
    }

    body{
        overflow-x:hidden;
    }

    body.sidebar-open{
        overflow:hidden;
    }


    .shell{
        display:block;
        min-height:100vh;
    }



    /* =========================================
       MOBILE TOP HEADER
    ========================================= */

    .side{
        position:sticky;
        top:0;

        z-index:1000;

        width:100%;
        height:72px;

        display:block;

        padding:0 15px;

        background:var(--forest-dark);

        box-shadow:
            0 2px 10px rgba(0,0,0,.08),
            0 7px 25px rgba(6,43,36,.08);
    }


    .side-top{
        width:100%;
        height:72px;

        display:flex;
        align-items:center;
        justify-content:space-between;

        gap:15px;
    }



    /* =========================================
       LOGO MOBILE
    ========================================= */

    .side .brand-logo{
        width:auto;
        height:auto;

        display:flex;
        align-items:center;
        justify-content:flex-start;

        flex:0 1 auto;

        border:0;

        padding:0;
        margin:0;
    }


    .side .brand-logo img{
        display:block;

        width:145px;
        height:52px;

        max-width:100%;

        object-fit:contain;

        padding:3px;

        border-radius:7px;

        background:#fff;
    }



    /* =========================================
       HAMBURGER
    ========================================= */

    .mobile-menu-toggle{
        width:44px;
        height:44px;

        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;

        gap:5px;

        flex:0 0 44px;

        padding:0;

        border:1px solid rgba(255,255,255,.16);
        border-radius:9px;

        background:rgba(255,255,255,.07);

        cursor:pointer;

        transition:
            background .2s ease,
            border-color .2s ease;
    }


    .mobile-menu-toggle:hover{
        background:rgba(255,255,255,.12);
    }


    .mobile-menu-toggle span{
        width:21px;
        height:2px;

        display:block;

        border-radius:5px;

        background:#fff;

        transform-origin:center;

        transition:
            transform .25s ease,
            opacity .2s ease;
    }



    /* Hamburger -> X */

    .side.menu-open
    .mobile-menu-toggle span:nth-child(1){

        transform:
            translateY(7px)
            rotate(45deg);
    }


    .side.menu-open
    .mobile-menu-toggle span:nth-child(2){

        opacity:0;
    }


    .side.menu-open
    .mobile-menu-toggle span:nth-child(3){

        transform:
            translateY(-7px)
            rotate(-45deg);
    }



    /* =========================================
       MOBILE DRAWER
    ========================================= */

    .side-menu{
        position:fixed;

        top:72px;
        left:0;

        z-index:1002;

        width:min(320px, 86vw);
        height:calc(100dvh - 72px);

        display:flex;
        flex-direction:column;

        padding:20px 16px 24px;

        overflow-y:auto;
        overscroll-behavior:contain;

        background:var(--forest-dark);

        box-shadow:
            10px 0 35px rgba(0,0,0,.15);

        transform:translateX(-105%);

        visibility:hidden;

        transition:
            transform .28s cubic-bezier(.4,0,.2,1),
            visibility .28s ease;
    }


    .side.menu-open .side-menu{
        transform:translateX(0);
        visibility:visible;
    }



    /* =========================================
       MOBILE NAVIGATION
    ========================================= */

    .side .nav{
        width:100%;

        display:grid;

        grid-template-columns:1fr;

        gap:7px;

        margin:0;
    }


    .side .nav a{
        width:100%;
        min-height:50px;

        display:flex;
        align-items:center;

        gap:12px;

        border-radius:9px;

        padding:12px 14px;

        color:rgba(255,255,255,.84);

        font-size:14px;
        font-weight:700;

        transition:
            background .18s ease,
            color .18s ease,
            transform .18s ease;
    }


    .side .nav a:hover{
        background:rgba(255,255,255,.08);

        color:#fff;

        transform:translateX(2px);
    }


    .side .nav a.active{
        background:var(--orange);

        color:#fff;

        box-shadow:
            0 8px 20px rgba(74, 144, 196,.18);
    }



    /* =========================================
       LOGOUT MOBILE
    ========================================= */

    .side .logout{
        width:100%;

        margin:20px 0 0 !important;

        padding-top:18px;

        border-top:1px solid rgba(255,255,255,.13);
    }


    .side .logout button{
        width:100%;
        min-height:50px;

        display:flex;
        align-items:center;

        gap:12px;

        padding:12px 14px;

        border:0;
        border-radius:9px;

        background:transparent;

        color:rgba(255,255,255,.84);

        font-size:14px;
        font-weight:700;

        cursor:pointer;
    }


    .side .logout button:hover{
        background:rgba(74, 144, 196,.13);

        color:#fff;
    }



    /* =========================================
       MOBILE OVERLAY
    ========================================= */

    .sidebar-overlay{
        position:fixed;

        top:72px;
        right:0;
        bottom:0;
        left:0;

        z-index:999;

        display:block;

        width:100%;
        height:auto;

        padding:0;

        border:0;

        background:rgba(4,18,15,.48);

        opacity:0;

        visibility:hidden;

        pointer-events:none;

        backdrop-filter:blur(2px);
        -webkit-backdrop-filter:blur(2px);

        transition:
            opacity .25s ease,
            visibility .25s ease;
    }


    body.sidebar-open .sidebar-overlay{
        opacity:1;

        visibility:visible;

        pointer-events:auto;
    }



    /* =========================================
       MAIN CONTENT MOBILE
    ========================================= */

    .main{
        width:100%;
        min-width:0;

        padding:
            24px
            15px
            40px;
    }


    .top{
        width:100%;

        display:flex;

        flex-direction:column;
        align-items:flex-start;

        gap:16px;

        margin-bottom:22px;
    }


    .top h1{
        font-size:25px !important;

        line-height:1.2;
    }


    .top .muted{
        font-size:13px;
        line-height:1.5;
    }


    /* Top action like Add Blog Post */

    .top > a,
    .top > button{
        align-self:flex-start;
    }



    /* =========================================
       GENERAL CARDS MOBILE
    ========================================= */

    .card{
        width:100%;
        max-width:100%;

        padding:16px;
    }


    .form-section{
        padding:16px;
    }


    .row{
        grid-template-columns:1fr;
    }


    .form-actions{
        margin:
            0
            -16px
            -16px;

        padding:
            14px
            16px;
    }



    /* =========================================
       DASHBOARD
    ========================================= */

    .dashboard-v2{
        width:100%;
        max-width:100%;
    }


    .dashboard-topbar{
        width:100%;

        flex-direction:column;
        align-items:stretch;

        gap:18px;
    }


    .dashboard-heading h1{
        font-size:28px;
    }


    .dashboard-tools{
        width:100%;
    }


    .dashboard-search{
        flex:1;

        width:auto;
        min-width:0;
    }


    .dashboard-stats{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:12px;
    }


    .dashboard-stat-card{
        min-width:0;

        min-height:105px;

        gap:12px;

        padding:15px 13px;
    }


    .stat-icon{
        width:48px;
        height:48px;

        flex:0 0 48px;
    }


    .stat-icon svg{
        width:23px;
        height:23px;
    }


    .stat-data strong{
        font-size:24px;
    }


    .stat-data span{
        margin-top:7px;

        font-size:11px;
    }


    .dashboard-content-grid{
        width:100%;

        grid-template-columns:1fr;

        gap:18px;
    }


    .dashboard-panel{
        width:100%;
        min-width:0;
    }



    /* =========================================
       TABLE PAGES
    ========================================= */

    .posts-page,
    .posts-table-card{
        width:100%;
        max-width:100%;
    }


    .posts-table-wrap{
        width:100%;

        overflow-x:auto;

        -webkit-overflow-scrolling:touch;
    }


}



/* =========================================================
   SMALL MOBILE
========================================================= */

.application-filters{
    display:grid;
    grid-template-columns:minmax(280px,1fr) minmax(180px,240px) auto auto;
    align-items:end;
    gap:12px;
    padding:0 0 18px;
    border-bottom:1px solid var(--line);
    margin-bottom:14px;
}

.application-search-field,
.application-status-field{
    display:grid;
    gap:7px;
}

.application-filters label{
    color:#26483f;
    font-size:11px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.application-filters input,
.application-filters select{
    width:100%;
    min-height:44px;
    border:1px solid #cbd6df;
    border-radius:7px;
    background:#fff;
    color:#172b27;
    outline:none;
    padding:10px 12px;
}

.application-filters input:focus,
.application-filters select:focus{
    border-color:var(--orange);
    box-shadow:0 0 0 3px rgba(74, 144, 196,.13);
}

.application-results-summary{
    color:var(--muted);
    font-size:12px;
    font-weight:700;
    margin:0 0 10px;
}

.table-scroll{
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

@media(max-width:850px){
    .application-filters{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:540px){
    .application-filters{
        grid-template-columns:1fr;
    }

    .application-filters .btn{
        justify-content:center;
        width:100%;
    }
}

@media(max-width:540px){

    .side{
        height:66px;

        padding:0 12px;
    }


    .side-top{
        height:66px;
    }


    .side .brand-logo img{
        width:132px;
        height:47px;
    }


    .mobile-menu-toggle{
        width:41px;
        height:41px;

        flex-basis:41px;
    }


    .side-menu{
        top:66px;

        width:min(300px, 88vw);
        height:calc(100dvh - 66px);

        padding:
            17px
            13px
            22px;
    }


    .sidebar-overlay{
        top:66px;
    }


    .main{
        padding:
            20px
            12px
            35px;
    }


    .top h1{
        font-size:23px !important;
    }


    .dashboard-stats{
        grid-template-columns:1fr;
    }


    .dashboard-stat-card{
        min-height:90px;

        padding:15px;
    }


    .dashboard-panel-head{
        min-height:65px;

        padding:0 13px;
    }


    .panel-title{
        gap:9px;
    }


    .panel-title h2{
        font-size:14px;
    }


    .panel-view-link{
        font-size:9px;
    }


    .recent-post-list,
    .recent-enquiry-list{
        margin:
            0
            8px
            12px;
    }


    .recent-post-item{
        grid-template-columns:
            40px
            minmax(0,1fr)
            18px;

        gap:9px;

        padding:11px 9px;
    }


    .post-icon{
        width:38px;
        height:38px;
    }


    .status-pill{
        display:none;
    }


    .post-info strong{
        font-size:11px;

        white-space:normal;
    }


    .recent-enquiry-item{
        min-height:auto;

        gap:12px;

        padding:
            15px
            12px;
    }


    .enquiry-avatar{
        width:44px;
        height:44px;

        flex-basis:44px;
    }


    .enquiry-avatar svg{
        width:22px;
        height:22px;
    }


    .enquiry-info strong{
        font-size:12px;
    }


    .enquiry-meta{
        gap:5px;
    }

}
