/* Moteshwar Tour & Travel - Admin UI styling only.
   Keeps existing PHP, forms, tables, links and data logic unchanged. */
:root{--navy:#102746;--navy2:#173b5e;--teal:#0f8b80;--teal-dark:#08766e;--gold:#f4c95d;--bg:#f3f6fb;--text:#24364b;--muted:#7c8ba0;--line:#e5ebf3;--white:#fff;--shadow:0 10px 30px rgba(19,44,75,.07)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 "Inter","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{transition:color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}
aside{position:fixed;inset:0 auto 0 0;width:248px;padding:26px 16px 20px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;background:linear-gradient(165deg,#102746 0%,#123b52 58%,#0d5b5a 100%);box-shadow:8px 0 28px rgba(15,39,70,.12);z-index:100}
aside h2{position:relative;color:#fff;margin:0 9px 26px;padding:0 0 22px;font-size:26px;line-height:1.1;letter-spacing:.3px;border-bottom:1px solid rgba(255,255,255,.14)}
aside h2 span{color:var(--gold)}
aside small{display:block;margin-top:8px;color:#9fcacb;font-size:9px;font-weight:700;letter-spacing:3px}
aside a{position:relative;display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid transparent;border-radius:11px;color:#d5e3ee;text-decoration:none;font-size:13px;font-weight:600}
aside a::before{content:"";width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:rgba(255,255,255,.42);transition:all .2s ease}
aside a:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.08);color:#fff;transform:translateX(3px)}
aside a:hover::before{background:var(--gold);box-shadow:0 0 0 4px rgba(244,201,93,.12)}
aside a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
main{min-height:100vh;margin-left:248px}
.bar{position:sticky;top:0;z-index:50;min-height:76px;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);box-shadow:0 4px 20px rgba(20,45,75,.04);backdrop-filter:blur(14px);font-size:16px;font-weight:750;color:var(--navy)}
.bar span{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border:1px solid #d9eee9;border-radius:30px;background:#eaf7f4;color:#08766e;font-size:12px;font-weight:700}
.content{width:100%;max-width:1600px;margin:0 auto;padding:30px 32px}
.head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}
.head h1{margin:0;color:var(--navy);font-size:28px;line-height:1.25;font-weight:800;letter-spacing:-.5px}
.muted{color:var(--muted);font-size:13px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}
.stat{position:relative;min-width:0;margin-bottom:0;padding:23px 22px;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}
.stat:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal),#67c9b3)}
.stat:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(19,44,75,.11)}
.stat span{display:block;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.2px}
.stat strong{display:block;margin:12px 0 3px;color:var(--navy);font-size:30px;line-height:1.2;font-weight:800;overflow-wrap:anywhere}
.panel{margin-bottom:23px;padding:25px;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.panel h2,.panel h3{margin-top:0;color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:11px 17px;border:1px solid transparent;border-radius:9px;background:linear-gradient(135deg,var(--navy2),var(--navy));color:#fff;font-size:12px;font-weight:750;cursor:pointer;text-decoration:none;box-shadow:0 4px 10px rgba(16,39,70,.10)}
.btn:hover{background:linear-gradient(135deg,var(--teal),var(--teal-dark));color:#fff;transform:translateY(-1px);box-shadow:0 7px 16px rgba(15,139,128,.20)}
.gold{background:linear-gradient(135deg,#ffdf80,#f2c34a);color:#26364a;box-shadow:0 4px 12px rgba(242,195,74,.18)}
.gold:hover{background:#edbd3c;color:#1b2e45}
.danger{color:#b52e40}
.flash,.error{padding:14px 17px;margin-bottom:18px;border-radius:11px;font-weight:600}
.flash{background:#eaf8ef;color:#17683c;border:1px solid #ccebd6}
.error{background:#fff0f1;color:#a51f35;border:1px solid #f3d0d5}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.field{display:block;margin-bottom:17px;color:#34475d;font-size:13px;font-weight:700}
.field input,.field textarea,.field select{display:block;width:100%;max-width:100%;margin-top:8px;padding:12px 13px;border:1px solid #dce5ef;border-radius:9px;background:#fff;color:var(--text);font:14px "Segoe UI",Arial,sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,139,128,.11)}
.field textarea{min-height:110px;resize:vertical}
.full{grid-column:1/-1}
.preview{display:block;width:110px;height:76px;object-fit:cover;margin-top:10px;border:1px solid var(--line);border-radius:9px}
.checkbox{display:flex;align-items:center;gap:9px;margin:13px 0;color:var(--text)}
.tablewrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
table{width:100%;min-width:620px;border-collapse:separate;border-spacing:0;background:#fff}
th,td{padding:14px 15px;border-bottom:1px solid #edf1f6;text-align:left;vertical-align:middle}
th{background:#f7f9fc;color:#728197;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;white-space:nowrap}
td{color:#35465b;font-size:13px;overflow-wrap:anywhere}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:#f8fbfd}
td img{width:68px;height:48px;object-fit:cover;border-radius:7px}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:11px}
.actions a{color:#087f86;font-weight:750;text-decoration:none}
.actions a:hover{text-decoration:underline}
.badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:20px;background:#fff4ce;color:#765b0b;font-size:10px;font-weight:800}
@media(max-width:1150px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:24px}}
@media(max-width:760px){aside{position:relative;inset:auto;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:15px;overflow:visible}aside h2{grid-column:1/-1;margin:4px 7px 13px;padding-bottom:15px}aside a{padding:11px 10px;font-size:12px}aside a:hover{transform:translateY(-1px)}main{margin-left:0}.bar{position:relative;min-height:62px;padding:15px 17px;font-size:14px}.bar span{min-height:32px;padding:6px 10px;font-size:11px}.content{padding:18px 13px}.head{align-items:flex-start;flex-direction:column;gap:12px}.head h1{font-size:24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat{padding:17px 15px}.stat strong{font-size:25px}.panel{padding:17px 14px}.grid{grid-template-columns:1fr;gap:0}.full{grid-column:auto}.actions{gap:9px}}
@media(max-width:390px){.stats{grid-template-columns:1fr}.bar{align-items:flex-start;flex-direction:column;gap:9px}.stat strong{font-size:27px}}


/* Enhanced admin header and sidebar */
.admin-brand {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 5px 9px 25px;
    margin-bottom: 14px;
    border-bottom: 1px solid rgba(255,255,255,.15);
}

.admin-logo {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #fff0b8, #f4c95d);
    color: #102746;
    font-size: 19px;
    font-weight: 900;
    box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

.admin-logo span {
    color: #0f766e;
}

.admin-brand-text strong,
.admin-brand-text small {
    display: block;
}

.admin-brand-text strong {
    color: #fff;
    font-size: 17px;
}

.admin-brand-text small {
    margin-top: 5px;
    color: #9fcacb;
    font-size: 9px;
    letter-spacing: 2px;
}

.sidebar-heading {
    padding: 8px 12px;
    color: #91b5c3;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

aside a {
    gap: 12px;
    min-height: 46px;
}

aside a .menu-icon {
    width: 23px;
    flex-shrink: 0;
    text-align: center;
    font-size: 18px;
}

aside a.active {
    color: #fff;
    background: linear-gradient(100deg, #0f9488, #08766e);
    border-color: rgba(255,255,255,.12);
    box-shadow: 0 7px 18px rgba(0,0,0,.13);
}

aside a.active::before {
    display: none;
}

.sidebar-bottom {
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.14);
}

aside a.logout-link {
    color: #ffd0c9;
}

.sidebar-status {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 20px 12px 0;
    color: #a7c2ca;
    font-size: 11px;
}

.sidebar-status span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #56dfa0;
    box-shadow: 0 0 10px rgba(86,223,160,.45);
}

.bar-title strong,
.bar-title small {
    display: block;
}

.bar-title strong {
    font-size: 16px;
}

.bar-title small {
    margin-top: 5px;
    color: #8190a4;
    font-size: 11px;
    font-weight: 400;
}

.admin-user {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 7px 13px 7px 7px;
    border: 1px solid #e4eee9;
    border-radius: 14px;
    background: #f7fbf9;
}

.admin-avatar {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(135deg, #0f9488, #155e75);
    color: white;
    font-size: 16px;
    font-weight: 800;
}

.admin-user-info strong,
.admin-user-info small {
    display: block;
}

.admin-user-info strong {
    color: #173653;
    font-size: 12px;
}

.admin-user-info small {
    margin-top: 4px;
    color: #8190a4;
    font-size: 10px;
}

@media (max-width: 760px) {
    .admin-brand {
        grid-column: 1 / -1;
    }

    .sidebar-heading,
    .sidebar-status {
        display: none;
    }

    .sidebar-bottom {
        margin-top: 5px;
    }

    .admin-user-info,
    .bar-title small {
        display: none;
    }

    .admin-user {
        padding: 5px;
    }

    .admin-avatar {
        width: 34px;
        height: 34px;
    }
}
