:root{
    --navy:#071827;
    --navy2:#0b253f;
    --navy3:#0f3458;
    --blue:#0b5fc7;
    --blue2:#1d8cff;
    --sky:#54b8ff;
    --gold:#f59e0b;
    --green:#059669;
    --orange:#ea580c;
    --red:#dc2626;
    --purple:#7c3aed;
    --text:#111827;
    --muted:#64748b;
    --line:#e5e7eb;
    --bg:#f6f8fb;
    --card:#ffffff;
    --soft:#f8fafc;
    --shadow:0 12px 34px rgba(15,23,42,.08);
    --shadow-lg:0 22px 55px rgba(15,23,42,.14);
    --radius:18px;
}

*{
    box-sizing:border-box;
    min-width:0;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:Inter,Arial,sans-serif;
    color:var(--text);
    background:
        radial-gradient(circle at top right,rgba(84,184,255,.12),transparent 35%),
        linear-gradient(180deg,#f8fafc 0%,#f4f7fb 100%);
}

a{
    color:var(--blue);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
    outline:3px solid rgba(29,140,255,.34);
    outline-offset:3px;
}

img{
    max-width:100%;
    height:auto;
}

/* APP LAYOUT */
.app-shell{
    min-height:100vh;
    display:flex;
}

.td-sidebar-backdrop{
    position:fixed;
    inset:0;
    background:rgba(2,6,23,.45);
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease;
    z-index:160;
}

.td-sidebar{
    width:320px;
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    overflow:auto;
    color:#fff;
    background:
        linear-gradient(180deg,rgba(7,24,39,.98),rgba(9,37,64,.98)),
        radial-gradient(circle at top left,rgba(84,184,255,.18),transparent 40%);
    border-right:1px solid rgba(255,255,255,.08);
    box-shadow:16px 0 40px rgba(15,23,42,.12);
    scrollbar-width:thin;
    transition:width .22s ease,transform .22s ease;
    z-index:180;
}

.td-brand{
    min-height:108px;
    padding:30px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.td-brand-main{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}

.td-brand-logo{
    width:44px;
    height:44px;
    border-radius:12px;
    object-fit:contain;
    background:#fff;
    padding:5px;
    box-shadow:0 10px 22px rgba(0,0,0,.16);
    flex:0 0 auto;
}

.td-brand strong{
    display:block;
    font-size:22px;
    font-weight:800;
    letter-spacing:.01em;
    max-width:180px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.td-brand span{
    display:block;
    color:#7dd3fc;
    font-size:15px;
    margin-top:7px;
    font-weight:600;
    max-width:190px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.sidebar-toggle{
    width:46px;
    height:46px;
    border:none;
    border-radius:14px;
    display:inline-grid;
    place-items:center;
    cursor:pointer;
    transition:.2s ease;
}

.sidebar-toggle i{
    font-size:18px;
}

.sidebar-toggle:hover{
    transform:translateY(-1px);
}

.sidebar-toggle-desktop{
    background:rgba(255,255,255,.08);
    color:#fff;
    flex-shrink:0;
}

.sidebar-toggle-desktop:hover{
    background:rgba(255,255,255,.14);
}

.sidebar-toggle-mobile{
    display:none;
    background:#eef6ff;
    color:#075ca8;
    box-shadow:0 8px 20px rgba(11,95,199,.12);
}

.nav-section{
    font-size:12px;
    letter-spacing:.16em;
    color:rgba(255,255,255,.38);
    font-weight:900;
    margin:28px 0 8px;
    padding:0 28px;
}

.nav-link{
    min-height:48px;
    margin:6px 12px;
    padding:0 18px;
    border-radius:14px;
    display:flex;
    gap:15px;
    align-items:center;
    color:rgba(255,255,255,.72);
    text-decoration:none;
    font-size:16px;
    font-weight:700;
    transition:.18s ease;
    position:relative;
}

.nav-form{
    margin:0;
}

.nav-button{
    width:calc(100% - 24px);
    border:0;
    background:transparent;
    font-family:inherit;
    text-align:left;
    cursor:pointer;
}

.nav-link span{
    width:26px;
    min-width:26px;
    display:grid;
    place-items:center;
    font-size:18px;
    color:inherit;
}

.nav-link:hover{
    background:rgba(255,255,255,.09);
    color:#fff;
    transform:translateX(2px);
}

.nav-link.active{
    background:linear-gradient(90deg,rgba(29,140,255,.22),rgba(84,184,255,.08));
    color:#7dd3fc;
    box-shadow:inset 4px 0 var(--sky);
}

.td-main{
    margin-left:320px;
    width:calc(100% - 320px);
    min-height:100vh;
    overflow-x:hidden;
    transition:margin-left .22s ease,width .22s ease;
}

.td-topbar{
    min-height:104px;
    background:rgba(255,255,255,.9);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 38px;
    position:sticky;
    top:0;
    z-index:100;
}

.topbar-title-wrap{
    display:flex;
    align-items:center;
    gap:14px;
}

.td-topbar h1{
    margin:0;
    font-size:29px;
    font-weight:800;
    letter-spacing:0;
}

.top-actions{
    display:flex;
    align-items:center;
    gap:16px;
}

.app-shell.sidebar-collapsed .td-sidebar{
    width:92px;
}

.app-shell.sidebar-collapsed .td-main{
    margin-left:92px;
    width:calc(100% - 92px);
}

.app-shell.sidebar-collapsed .td-brand{
    padding:24px 18px;
    justify-content:center;
}

.app-shell.sidebar-collapsed .td-brand > div{
    display:none;
}

.app-shell.sidebar-collapsed .nav-section{
    opacity:0;
    height:0;
    margin:0;
    overflow:hidden;
    padding:0;
}

.app-shell.sidebar-collapsed .nav-link{
    justify-content:center;
    padding:0;
    margin:8px 14px;
    font-size:0;
}

.app-shell.sidebar-collapsed .nav-link span{
    width:32px;
    min-width:32px;
}

.app-shell.sidebar-collapsed .nav-link::after{
    content:attr(data-label);
    position:absolute;
    left:92px;
    top:50%;
    transform:translateY(-50%);
    background:#0f172a;
    color:#fff;
    padding:8px 12px;
    border-radius:10px;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
    box-shadow:0 12px 28px rgba(15,23,42,.24);
}

.app-shell.sidebar-collapsed .nav-link:hover::after{
    opacity:1;
}

.app-shell.sidebar-collapsed .nav-link.active{
    box-shadow:none;
}

.app-shell.sidebar-collapsed .nav-link.active span{
    color:#7dd3fc;
}

.season-pill{
    background:#eef6ff;
    color:#075ca8;
    border:1px solid #dbeafe;
    border-radius:999px;
    padding:11px 20px;
    font-weight:800;
    font-size:14px;
}

.avatar{
    width:54px;
    height:54px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--blue),var(--sky));
    color:#fff;
    font-weight:900;
    box-shadow:0 12px 24px rgba(11,95,199,.25);
}

.profile-link{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    color:#0f172a;
    border-radius:999px;
    padding:6px 10px 6px 6px;
    transition:.18s ease;
}

.profile-link:hover{
    background:#f1f5f9;
}

.profile-link-text{
    display:flex;
    flex-direction:column;
    line-height:1.15;
}

.profile-link-text strong{
    font-size:14px;
    font-weight:900;
    max-width:160px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.profile-link-text small{
    color:var(--muted);
    font-size:12px;
    font-weight:800;
    max-width:160px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.td-content{
    padding:32px 38px 60px;
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

/* PANELS */
.td-panel,
.panel{
    background:rgba(255,255,255,.95);
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:28px;
    margin-bottom:24px;
    width:100%;
    max-width:100%;
    overflow:hidden;
}

.td-panel h2,
.panel h2{
    margin:0;
    font-size:22px;
    font-weight:800;
    color:#0f172a;
}

.actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:22px;
}

/* BUTTONS */
.btn{
    border:0;
    background:linear-gradient(135deg,var(--blue),var(--blue2));
    color:#fff;
    padding:12px 18px;
    border-radius:14px;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-weight:800;
    cursor:pointer;
    transition:.2s ease;
    box-shadow:0 10px 22px rgba(11,95,199,.18);
}

.btn:hover{
    opacity:.96;
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(11,95,199,.25);
}

.btn.secondary{
    background:#eef6ff;
    color:#075ca8;
    box-shadow:none;
}

/* FORMS */
.form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
    margin-bottom:20px;
    width:100%;
}

.field{
    display:flex;
    flex-direction:column;
    width:100%;
}

.full,
.field.full{
    grid-column:1/-1;
}

.field label,
label{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:800;
    color:#334155;
}

.field input,
.field select,
.field textarea,
input,
select,
textarea{
    width:100%;
    max-width:100%;
    padding:13px 15px;
    border:1px solid #d8dee8;
    border-radius:14px;
    font-size:15px;
    background:#fff;
    outline:none;
    transition:.18s ease;
    color:#0f172a;
}

.field input:focus,
.field select:focus,
.field textarea:focus,
input:focus,
select:focus,
textarea:focus{
    border-color:var(--sky);
    box-shadow:0 0 0 4px rgba(84,184,255,.16);
}

.field textarea,
textarea{
    min-height:110px;
    resize:vertical;
}

input[type="color"]{
    padding:5px;
    min-height:44px;
    cursor:pointer;
}

.brand-preview{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px;
    border-radius:16px;
    color:#fff;
    background:linear-gradient(135deg,var(--preview-brand),var(--preview-accent));
    box-shadow:0 14px 32px rgba(15,23,42,.12);
}

.brand-preview img{
    width:58px;
    height:58px;
    border-radius:14px;
    object-fit:contain;
    background:#fff;
    padding:6px;
}

.brand-preview strong,
.brand-preview span{
    display:block;
}

.brand-preview strong{
    font-size:22px;
    font-weight:900;
}

.brand-preview span{
    margin-top:4px;
    opacity:.84;
    font-weight:700;
}

/* METRIC CARDS */
.metric-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(180px,1fr));
    gap:18px;
    margin-bottom:24px;
    width:100%;
}

.metric-link{
    display:block;
    text-decoration:none;
    color:inherit;
}

.metric-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:22px;
    box-shadow:var(--shadow);
    display:flex;
    gap:16px;
    min-height:140px;
    transition:.22s ease;
}

.metric-card:hover,
.metric-link:hover .metric-card{
    transform:translateY(-4px);
    box-shadow:var(--shadow-lg);
}

.metric-icon{
    width:56px;
    height:56px;
    min-width:56px;
    border-radius:16px;
    display:grid;
    place-items:center;
    font-size:24px;
    font-weight:900;
}

.mi-blue{background:#dfeaff;color:#005ac8;}
.mi-green{background:#dcfce7;color:#059669;}
.mi-gold{background:#fff0cf;color:#d97706;}
.mi-orange{background:#ffeadb;color:#ea580c;}

.metric-card h3{
    margin:0 0 12px;
    color:#475569;
    font-size:15px;
    font-weight:800;
}

.metric-number{
    font-size:34px;
    font-weight:900;
    line-height:1;
    color:#0f172a;
}

.metric-change{
    margin-top:11px;
    font-size:14px;
    color:var(--green);
    font-weight:700;
}

.metric-change.warn{
    color:var(--orange);
}

/* DASHBOARD */
.hero-dashboard{
    background:
        linear-gradient(135deg,rgba(7,24,39,.96),rgba(11,95,199,.92),rgba(84,184,255,.86)),
        radial-gradient(circle at top right,rgba(255,255,255,.22),transparent 30%);
    color:#fff;
    border-radius:28px;
    padding:36px;
    margin-bottom:26px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    box-shadow:0 24px 60px rgba(11,95,199,.26);
}

.hero-dashboard h1{
    margin:0 0 8px;
    font-size:36px;
    font-weight:900;
    letter-spacing:0;
}

.hero-dashboard p{
    margin:0;
    color:rgba(255,255,255,.84);
    font-size:16px;
}

.hero-chip{
    background:rgba(255,255,255,.16);
    padding:14px 18px;
    border-radius:999px;
    font-weight:800;
    backdrop-filter:blur(10px);
}

.premium-metrics,
.mini-metrics{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-bottom:22px;
}

.premium-card-link,
.mini-link,
.region-link,
.funnel-link,
.ops-link{
    text-decoration:none;
    color:inherit;
    display:block;
}

.premium-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    padding:24px;
    display:flex;
    gap:18px;
    box-shadow:var(--shadow);
    position:relative;
    overflow:hidden;
    transition:.22s ease;
}

.premium-card:hover,
.premium-card-link:hover .premium-card{
    transform:translateY(-4px);
    box-shadow:var(--shadow-lg);
}

.premium-card:after{
    content:"";
    position:absolute;
    right:-40px;
    top:-40px;
    width:120px;
    height:120px;
    border-radius:50%;
    opacity:.13;
}

.premium-card.blue:after{background:var(--blue);}
.premium-card.green:after{background:var(--green);}
.premium-card.gold:after{background:var(--gold);}
.premium-card.orange:after{background:var(--orange);}

.premium-icon{
    width:58px;
    height:58px;
    min-width:58px;
    border-radius:18px;
    display:grid;
    place-items:center;
    font-size:24px;
}

.premium-card.blue .premium-icon{background:#dfeaff;color:var(--blue);}
.premium-card.green .premium-icon{background:#dcfce7;color:var(--green);}
.premium-card.gold .premium-icon{background:#fff0cf;color:var(--gold);}
.premium-card.orange .premium-icon{background:#ffeadb;color:var(--orange);}

.premium-card span{
    color:#64748b;
    font-weight:800;
    font-size:14px;
}

.premium-card h2{
    margin:8px 0;
    font-size:32px;
}

.premium-card p{
    margin:0;
    color:var(--green);
    font-size:14px;
    font-weight:700;
}

.mini-metrics div{
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    padding:18px;
    box-shadow:0 8px 22px rgba(15,23,42,.05);
    transition:.2s;
}

.mini-link:hover div{
    transform:translateY(-3px);
    box-shadow:var(--shadow);
}

.mini-metrics strong{
    display:block;
    font-size:26px;
}

.mini-metrics span{
    color:var(--muted);
    font-weight:700;
}

.dashboard-grid,
.dashboard-pro-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    margin-bottom:24px;
}

.funnel-row{
    display:grid;
    grid-template-columns:140px 1fr 50px;
    gap:15px;
    align-items:center;
    padding:14px 0;
    border-bottom:1px solid #eef2f7;
    transition:.2s;
}

.funnel-link:hover .funnel-row{
    background:#f8fbff;
}

.funnel-row span{
    display:block;
    color:var(--muted);
    font-size:13px;
}

.funnel-track,
.progress{
    height:10px;
    background:#eef2f7;
    border-radius:99px;
    overflow:hidden;
}

.funnel-track div,
.bar{
    height:100%;
    border-radius:99px;
}

.funnel-track div{
    background:linear-gradient(90deg,var(--blue),var(--sky));
}

.b-blue{background:var(--blue);}
.b-green{background:var(--green);}
.b-orange{background:var(--orange);}
.b-red{background:var(--red);}

.region-row{
    padding:13px 0;
    transition:.2s;
}

.region-link:hover{
    background:#f8fbff;
    border-radius:14px;
    padding:4px 8px;
}

.region-row div:first-child{
    display:flex;
    justify-content:space-between;
    margin-bottom:8px;
}

.region-row span{
    color:var(--muted);
}

.lead-pro-row{
    display:grid;
    grid-template-columns:52px 1fr auto;
    gap:14px;
    align-items:center;
    padding:15px 0;
    border-bottom:1px solid #eef2f7;
    text-decoration:none;
    color:inherit;
    transition:.2s;
}

.lead-pro-row:hover{
    background:#f8fbff;
    border-radius:14px;
    padding-left:10px;
}

.lead-avatar{
    width:48px;
    height:48px;
    border-radius:50%;
    display:grid;
    place-items:center;
    font-weight:900;
    background:#dfeaff;
    color:var(--blue);
}

.lead-pro-row strong{
    display:block;
    font-size:18px;
}

.lead-pro-row span{
    color:var(--muted);
}

.lead-pro-row em{
    font-style:normal;
    background:#eaf4ff;
    color:#075ca8;
    padding:7px 12px;
    border-radius:999px;
    font-weight:800;
    font-size:13px;
}

.trip-card{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:16px;
    border:1px solid #eef2f7;
    border-radius:18px;
    margin-bottom:12px;
    text-decoration:none;
    color:inherit;
    transition:.2s;
    background:#fff;
}

.trip-card:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow);
}

.trip-card strong,
.trip-card span,
.trip-card small{
    display:block;
}

.trip-card span{
    color:#334155;
    margin-top:4px;
}

.trip-card small{
    color:var(--muted);
    margin-top:5px;
}

.trip-card b{
    color:var(--blue);
    font-size:18px;
    white-space:nowrap;
}

.ops-pill{
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    padding:14px 16px;
    border-radius:16px;
    margin-bottom:12px;
    transition:.2s;
}

.ops-link:hover .ops-pill{
    transform:translateY(-2px);
    box-shadow:var(--shadow);
}

.ops-pill strong{
    background:var(--blue);
    color:#fff;
    width:34px;
    height:34px;
    border-radius:50%;
    display:grid;
    place-items:center;
}

/* TABLES */
.table-wrap{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    border-radius:18px;
}

.table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    min-width:100%;
}

.table th{
    background:#f8fafc;
    color:#475569;
    font-size:13px;
    font-weight:900;
    padding:15px 14px;
    text-align:left;
    border-bottom:1px solid #e5e7eb;
    white-space:nowrap;
}

.table td{
    padding:14px;
    border-bottom:1px solid #eef2f7;
    vertical-align:middle;
}

.table tbody tr{
    transition:.18s;
}

.table tbody tr:hover,
.click-row:hover{
    background:#f8fbff;
}

.click-row{
    cursor:pointer;
}

.table input,
.table select{
    width:100%;
    min-width:130px;
    padding:10px 12px;
    border:1px solid #d8dee8;
    border-radius:10px;
    font-size:14px;
}

.table-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.pagination-bar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--line);
}

.pagination-summary{
    color:var(--muted);
    font-size:14px;
    font-weight:800;
}

.pagination-links{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.page-link,
.page-ellipsis{
    min-width:38px;
    height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:900;
}

.page-link{
    background:#f1f5f9;
    color:#0f172a;
    border:1px solid #e2e8f0;
    text-decoration:none;
    transition:.18s;
}

.page-link:hover,
.page-link.active{
    background:var(--blue);
    border-color:var(--blue);
    color:#fff;
    box-shadow:0 10px 22px rgba(37,99,235,.18);
}

.page-link.disabled{
    opacity:.45;
    pointer-events:none;
}

.page-ellipsis{
    color:var(--muted);
}

.inline-form{
    display:inline-flex;
    margin:0;
}

.badge{
    display:inline-block;
    padding:7px 14px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    background:#eaf4ff;
    color:#075ca8;
    transition:.2s;
}

.badge:hover{
    transform:scale(1.04);
}

.badge.source{
    background:#eef6ff;
    color:#2563eb;
}

/* ACTION BUTTONS */
.act,
.pill-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
    transition:.2s;
    border:none;
    white-space:nowrap;
    cursor:pointer;
    font-family:inherit;
}

.act{
    padding:7px 14px;
}

.pill-btn{
    padding:10px 18px;
    min-width:80px;
}

.act:hover,
.pill-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.act.view,
.pill-view{
    background:#dbeafe;
    color:#0b5cc4;
}

.act.edit,
.pill-edit{
    background:#fef3c7;
    color:#b45309;
}

.act.follow,
.pill-follow{
    background:#dcfce7;
    color:#047857;
}

.act.pay,
.pill-pay{
    background:#ede9fe;
    color:#6d28d9;
}

.act.delete,
.pill-delete{
    background:#fee2e2;
    color:#dc2626;
}

.action-pills{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
}

/* PACKAGES */
.package-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    width:100%;
}

.package-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.22s ease;
}

.package-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-lg);
}

.package-img-wrap{
    display:block;
    height:210px;
    position:relative;
    overflow:hidden;
    text-decoration:none;
}

.package-img-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.35s;
}

.package-card:hover .package-img-wrap img{
    transform:scale(1.06);
}

.package-status{
    position:absolute;
    top:14px;
    right:14px;
    padding:7px 13px;
    border-radius:999px;
    font-size:13px;
    font-weight:900;
    background:#eaf4ff;
    color:#075ca8;
    text-transform:capitalize;
}

.package-status.active{
    background:#dcfce7;
    color:#15803d;
}

.package-status.draft{
    background:#fff7ed;
    color:#c2410c;
}

.package-body{
    padding:20px;
}

.package-top{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-bottom:12px;
}

.duration-pill{
    background:#f1f5f9;
    color:#334155;
    padding:7px 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:900;
}

.package-body h3{
    margin:0 0 10px;
    font-size:21px;
    line-height:1.3;
}

.package-body h3 a{
    color:#0f172a;
    text-decoration:none;
}

.package-body h3 a:hover{
    color:var(--blue);
}

.package-meta{
    color:var(--muted);
    margin:8px 0;
    font-size:14px;
}

.package-meta-clean{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:0;
}

.package-meta-clean i,
.package-meta-clean span{
    font-size:14px;
}

.package-money-clean{
    font-size:0;
}

.package-money-clean span{
    font-size:18px;
}

.package-price-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#f8fafc;
    border:1px solid #eef2f7;
    border-radius:16px;
    padding:14px;
    margin:18px 0;
    gap:12px;
}

.package-price-row small{
    display:block;
    color:var(--muted);
    font-weight:800;
    margin-bottom:4px;
}

.package-price-row strong{
    font-size:18px;
}

.package-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.package-hero{
    min-height:360px;
    background-size:cover;
    background-position:center;
    border-radius:30px;
    overflow:hidden;
    margin-bottom:26px;
    box-shadow:0 24px 60px rgba(15,23,42,.18);
}

.package-hero-overlay{
    min-height:360px;
    background:linear-gradient(90deg,rgba(2,6,23,.82),rgba(2,6,23,.35));
    color:#fff;
    padding:42px;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
}

.package-hero h1{
    font-size:42px;
    margin:18px 0 10px;
}

.package-hero p{
    font-size:18px;
    color:rgba(255,255,255,.86);
}

.package-hero-price{
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.25);
    backdrop-filter:blur(12px);
    padding:22px;
    border-radius:22px;
    min-width:230px;
}

.package-hero-price small,
.package-hero-price span{
    display:block;
    color:rgba(255,255,255,.78);
}

.package-hero-price strong{
    display:block;
    font-size:34px;
    margin:8px 0;
}

.package-gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-top:20px;
}

.package-gallery img{
    width:100%;
    height:170px;
    object-fit:cover;
    border-radius:16px;
}

.package-document-list{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:14px;
    margin-top:18px;
}

.package-document-card{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    color:var(--ink);
    text-decoration:none;
    box-shadow:0 10px 24px rgba(15,23,42,.05);
}

.package-document-icon{
    width:46px;
    height:46px;
    border-radius:14px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    color:#dc2626;
    background:#fee2e2;
    font-size:20px;
}

.package-document-body{
    min-width:0;
    flex:1;
}

.package-document-body strong,
.package-document-body small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.package-document-body strong{
    font-weight:900;
}

.package-document-body small{
    margin-top:4px;
    color:var(--muted);
    font-weight:700;
}

.package-document-action,
.package-document-remove{
    flex:0 0 auto;
    color:var(--blue);
    font-weight:900;
    font-size:13px;
}

.package-document-remove{
    display:flex;
    align-items:center;
    gap:7px;
    color:#dc2626;
}

.package-import-layout{
    display:grid;
    grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);
    gap:20px;
    align-items:start;
    margin-top:22px;
}

.package-import-preview{
    position:sticky;
    top:92px;
    min-height:720px;
    border:1px solid var(--line);
    border-radius:18px;
    overflow:hidden;
    background:#0f172a;
    box-shadow:0 18px 40px rgba(15,23,42,.12);
}

.package-import-preview iframe{
    width:100%;
    height:720px;
    border:0;
    display:block;
    background:#fff;
}

.package-import-review{
    display:grid;
    gap:18px;
}

.import-day-card{
    border:1px solid var(--line);
    border-left:5px solid var(--blue);
    border-radius:16px;
    padding:16px;
    background:#fff;
    margin-top:14px;
}

/* ITINERARY TIMELINE */
.timeline{
    margin-top:24px;
}

.timeline-item{
    display:grid;
    grid-template-columns:110px 1fr;
    gap:20px;
    padding:20px 0;
    border-bottom:1px solid #eef2f7;
}

.timeline-day{
    background:#eaf4ff;
    color:#075ca8;
    height:44px;
    border-radius:999px;
    display:grid;
    place-items:center;
    font-weight:900;
}

.timeline-content h3{
    margin:0 0 10px;
    font-size:22px;
}

.timeline-content p{
    color:#475569;
    line-height:1.7;
}

.package-meta-line{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:14px;
}

.package-meta-line span{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    padding:9px 12px;
    border-radius:999px;
    color:#334155;
    font-weight:700;
}

.sightseeing-box{
    margin-top:14px;
    background:#fff7ed;
    color:#9a3412;
    padding:12px 14px;
    border-radius:14px;
}

/* HOTELS PRICING MATRIX */
.pricing-wrapper{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    border-radius:18px;
    border:1px solid #e5e7eb;
    background:#fff;
}

.pricing-table{
    width:100%;
    min-width:1400px;
    border-collapse:collapse;
}

.pricing-table th{
    background:#f8fafc;
    color:#475569;
    font-size:13px;
    font-weight:900;
    padding:15px 14px;
    text-align:left;
    border-bottom:1px solid #e5e7eb;
    white-space:nowrap;
}

.pricing-table td{
    padding:14px;
    border-bottom:1px solid #eef2f7;
}

.pricing-table input,
.pricing-table select{
    width:100%;
    min-width:140px;
    height:48px;
    border-radius:12px;
    box-sizing:border-box;
}

.remove-row{
    width:54px;
    height:54px;
    border:none;
    border-radius:14px;
    background:#dbeafe;
    color:#0b5cc4;
    font-size:28px;
    cursor:pointer;
}

/* ALERTS */
.alert{
    padding:14px 16px;
    border-radius:14px;
    margin-bottom:18px;
    font-weight:800;
    border:1px solid transparent;
    box-shadow:0 12px 26px rgba(15,23,42,.06);
}

.alert.error{
    background:#fff1f2;
    color:#991b1b;
    border-color:#fecdd3;
}

.alert.success{
    background:#ecfdf5;
    color:#166534;
    border-color:#bbf7d0;
}

.alert.warning{
    background:#fffbeb;
    color:#92400e;
    border-color:#fde68a;
}

.alert.info{
    background:#eff6ff;
    color:#1d4ed8;
    border-color:#bfdbfe;
}

.app-state-panel{
    max-width:720px;
    margin:44px auto;
    text-align:center;
    padding:42px 34px;
}

.app-state-icon{
    width:72px;
    height:72px;
    display:grid;
    place-items:center;
    margin:0 auto 18px;
    border-radius:22px;
    color:#dc2626;
    background:#fff1f2;
    border:1px solid #fecdd3;
    font-size:30px;
}

.app-state-panel h2{
    margin:0;
    font-size:28px;
}

.app-state-panel p{
    max-width:560px;
    margin:12px auto 0;
    color:var(--muted);
    font-weight:700;
    line-height:1.7;
}

.app-state-actions{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
    margin-top:24px;
}

.section-note{
    margin:8px 0 0;
    color:var(--muted);
    font-size:14px;
    font-weight:600;
}

.table-empty{
    text-align:center;
    padding:44px 20px;
    color:var(--muted);
}

.hotel-toolbar{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(220px,1fr) auto;
    gap:16px;
    align-items:end;
    margin-bottom:24px;
}

.hotel-toolbar-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.sharing-form{
    grid-template-columns:minmax(220px,2fr) minmax(120px,.7fr) minmax(120px,.7fr) auto;
}

.sharing-form .field{
    justify-content:end;
}

.sharing-form .field input[type="checkbox"]{
    width:auto;
    align-self:flex-start;
}

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

.hotel-subpanel{
    margin-top:26px;
}

.hotel-form-actions{
    margin-top:24px;
    display:flex;
    justify-content:flex-start;
}

.hotel-status.active{
    background:#dcfce7;
    color:#166534;
}

.hotel-status.inactive{
    background:#fee2e2;
    color:#991b1b;
}

.hotel-view-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.hotel-summary-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:18px;
}

.hotel-summary-card{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:18px;
}

.hotel-summary-card span{
    display:block;
    color:var(--muted);
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:8px;
}

.hotel-summary-card strong{
    display:block;
    color:#0f172a;
    font-size:18px;
}

.hotel-detail-block{
    margin-top:22px;
    padding:22px;
    background:#fbfdff;
    border:1px solid #e5e7eb;
    border-radius:20px;
}

.hotel-detail-block h3{
    margin:0 0 10px;
    font-size:18px;
}

.hotel-detail-block p{
    margin:0;
    color:#334155;
    line-height:1.7;
}

.transporter-toolbar{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(220px,1fr) auto;
    gap:16px;
    align-items:end;
    margin-bottom:24px;
}

.transporter-toolbar-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

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

.transporter-form-actions{
    margin-top:24px;
}

.transporter-view-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.transporter-summary-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:18px;
}

.transporter-summary-card{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:18px;
}

.transporter-summary-card span{
    display:block;
    color:var(--muted);
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:8px;
}

.transporter-summary-card strong{
    display:block;
    color:#0f172a;
    font-size:18px;
}

.transporter-detail-block{
    margin-top:22px;
    padding:22px;
    background:#fbfdff;
    border:1px solid #e5e7eb;
    border-radius:20px;
}

.transporter-detail-block h3{
    margin:0 0 10px;
    font-size:18px;
}

.transporter-detail-block p{
    margin:0;
    color:#334155;
    line-height:1.7;
}

.reports-hero{
    background:
        linear-gradient(135deg,rgba(7,24,39,.96),rgba(11,95,199,.9),rgba(84,184,255,.84)),
        radial-gradient(circle at top right,rgba(255,255,255,.18),transparent 35%);
    color:#fff;
    border-radius:28px;
    padding:32px;
    margin-bottom:24px;
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:24px;
    box-shadow:0 24px 60px rgba(11,95,199,.22);
}

.reports-kicker{
    display:inline-block;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.16);
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.reports-hero h1{
    margin:14px 0 10px;
    font-size:38px;
    line-height:1.1;
}

.reports-hero p{
    margin:0;
    color:rgba(255,255,255,.84);
    max-width:680px;
}

.reports-filter-card{
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.16);
    border-radius:24px;
    padding:22px;
    backdrop-filter:blur(12px);
}

.reports-filter-card label{
    color:#fff;
}

.reports-filter-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.reports-filter-card input,
.reports-filter-card select{
    background:rgba(255,255,255,.96);
}

.reports-filter-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:16px;
}

.reports-chart-shell{
    height:320px;
}

.reports-stack{
    display:grid;
    gap:12px;
}

.reports-stat-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:16px 18px;
}

.reports-stat-row span{
    color:#475569;
    font-weight:700;
}

.reports-stat-row strong{
    color:#0f172a;
    font-size:18px;
}

.reports-stat-row.accent{
    background:#eef6ff;
    border-color:#dbeafe;
}

.reports-inline-note{
    margin-top:16px;
    padding:14px 16px;
    border-radius:16px;
    background:#f8fafc;
    color:#334155;
}

.reports-followup-summary{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:16px;
}

.reports-followup-summary span{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    padding:10px 12px;
    border-radius:999px;
    color:#334155;
    font-weight:700;
}

.reports-team-row{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    padding:16px 0;
    border-bottom:1px solid #eef2f7;
}

.reports-team-row:last-child{
    border-bottom:none;
}

.reports-team-row strong,
.reports-team-row span,
.reports-team-row b{
    display:block;
}

.reports-team-row span{
    color:var(--muted);
    margin-top:4px;
}

.reports-team-row b{
    color:var(--blue);
    white-space:nowrap;
    font-size:18px;
}

.hero-command{
    align-items:flex-start;
}

.hero-chip-stack{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    min-width:240px;
}

.hero-chip-stack strong{
    font-size:32px;
    line-height:1;
}

.hero-chip-stack small{
    color:rgba(255,255,255,.8);
    font-size:13px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.dashboard-command-meta{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:18px;
}

.dashboard-command-meta span{
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.18);
    padding:10px 14px;
    border-radius:999px;
    color:#fff;
    font-weight:700;
}

.dashboard-chart-shell{
    height:300px;
}

.payments-toolbar{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(220px,1fr) minmax(170px,1fr) minmax(170px,1fr) auto;
    gap:16px;
    align-items:end;
    margin-bottom:24px;
}

.payments-toolbar-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

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

.profile-layout{
    display:grid;
    grid-template-columns:320px minmax(0,1fr);
    gap:24px;
    align-items:start;
}

.profile-summary{
    text-align:center;
    position:sticky;
    top:128px;
}

.profile-avatar-xl{
    width:116px;
    height:116px;
    margin:0 auto 18px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,var(--blue),var(--sky));
    color:#fff;
    font-size:36px;
    font-weight:900;
    box-shadow:0 18px 36px rgba(11,95,199,.24);
}

.profile-summary h2{
    margin-bottom:6px;
}

.profile-facts{
    display:grid;
    gap:12px;
    margin-top:22px;
    text-align:left;
}

.profile-facts div{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:14px;
}

.profile-facts span{
    display:block;
    color:var(--muted);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:5px;
}

.profile-facts strong{
    color:#0f172a;
}

.quotations-toolbar{
    display:grid;
    grid-template-columns:minmax(320px,2fr) minmax(220px,1fr) 160px;
    gap:16px;
    align-items:end;
    margin-bottom:24px;
}

.quotations-toolbar-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.quotations-toolbar-actions .btn{
    width:100%;
}

.quotation-metrics{
    grid-template-columns:repeat(4,minmax(240px,1fr));
}

.quotation-metrics .metric-card{
    min-width:0;
    overflow:hidden;
}

.quotation-metrics .metric-card > div:last-child{
    min-width:0;
}

.quotation-metrics .metric-number{
    font-size:30px;
    line-height:1.08;
    white-space:nowrap;
    max-width:100%;
}

.quotation-metrics .metric-change{
    line-height:1.25;
}

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

.quotation-pro-form .full{
    grid-column:1 / -1;
}

.quotation-total-box{
    background:#0f172a;
    color:#fff;
    border-radius:16px;
    padding:18px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:86px;
}

.quotation-total-box span{
    color:rgba(255,255,255,.72);
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:8px;
}

.quotation-total-box strong{
    font-size:24px;
}

.quotation-form-actions{
    margin-top:6px;
}

.quotation-view-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.quotation-summary-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:18px;
}

.quotation-summary-card{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:18px;
}

.quotation-summary-card span{
    display:block;
    color:var(--muted);
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:8px;
}

.quotation-summary-card strong{
    display:block;
    color:#0f172a;
    font-size:18px;
}

.quotation-status.draft{
    background:#e5e7eb;
    color:#334155;
}

.quotation-status.sent{
    background:#dbeafe;
    color:#1d4ed8;
}

.quotation-status.accepted{
    background:#dcfce7;
    color:#166534;
}

.quotation-status.rejected{
    background:#fee2e2;
    color:#991b1b;
}

.quotation-status.expired{
    background:#ffedd5;
    color:#9a3412;
}

.quotation-table small{
    color:var(--muted);
    font-weight:700;
}

.quotation-document{
    background:#fff;
    border:1px solid #dde5ef;
    border-radius:8px;
    overflow:hidden;
    box-shadow:var(--shadow);
}

.quotation-doc-header{
    display:flex;
    justify-content:space-between;
    gap:24px;
    padding:34px;
    background:#0f172a;
    color:#fff;
}

.quotation-kicker{
    display:block;
    color:#93c5fd;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:10px;
}

.quotation-doc-header h1{
    margin:0 0 8px;
    font-size:42px;
}

.quotation-doc-header p{
    color:rgba(255,255,255,.78);
    margin:0;
}

.quotation-doc-meta{
    text-align:right;
    display:flex;
    flex-direction:column;
    gap:8px;
    min-width:240px;
}

.quotation-doc-meta strong{
    font-size:22px;
}

.quotation-doc-meta span{
    color:rgba(255,255,255,.82);
    font-weight:700;
}

.quotation-status-chip{
    align-self:flex-end;
    background:#e5e7eb;
    color:#334155 !important;
    padding:8px 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:900 !important;
}

.quotation-status-chip.sent{ background:#dbeafe; color:#1d4ed8 !important; }
.quotation-status-chip.accepted{ background:#dcfce7; color:#166534 !important; }
.quotation-status-chip.rejected{ background:#fee2e2; color:#991b1b !important; }
.quotation-status-chip.expired{ background:#ffedd5; color:#9a3412 !important; }

.quotation-doc-grid,
.quotation-doc-sections{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    padding:28px 34px 0;
}

.quotation-doc-grid section,
.quotation-doc-sections section,
.quotation-internal-note{
    border:1px solid #e5e7eb;
    border-radius:8px;
    padding:18px;
    background:#fff;
}

.quotation-doc-grid h3,
.quotation-doc-sections h3,
.quotation-internal-note h3{
    margin:0 0 10px;
    font-size:14px;
    color:#475569;
    text-transform:uppercase;
}

.quotation-doc-grid strong{
    display:block;
    font-size:18px;
    color:#0f172a;
    margin-bottom:8px;
}

.quotation-doc-grid p{
    margin:0;
    color:#475569;
    line-height:1.6;
}

.quotation-price-panel{
    margin:28px 34px 0;
    border:1px solid #dbe5f0;
    border-radius:8px;
    overflow:hidden;
}

.quotation-price-panel div{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:14px 18px;
    border-bottom:1px solid #edf2f7;
}

.quotation-price-panel div:last-child{
    border-bottom:0;
}

.quotation-price-panel span{
    color:#475569;
    font-weight:800;
}

.quotation-price-panel strong{
    color:#0f172a;
}

.quotation-grand-total{
    background:#eef6ff;
}

.quotation-grand-total strong{
    font-size:24px;
    color:#075ca8;
}

.quotation-doc-sections{
    padding-bottom:28px;
}

.quotation-doc-sections .full{
    grid-column:1 / -1;
}

.quotation-lines{
    margin:0;
    padding-left:20px;
    color:#334155;
    line-height:1.7;
}

.quotation-lines li{
    margin-bottom:6px;
}

.quotation-internal-note{
    margin:0 34px 28px;
    background:#fffbeb;
    border-color:#fde68a;
}

.quotation-internal-note p{
    margin:0;
    color:#713f12;
}

.quotation-signoff{
    display:flex;
    justify-content:space-between;
    gap:24px;
    padding:24px 34px 34px;
    border-top:1px solid #e5e7eb;
}

.quotation-signoff strong,
.quotation-signoff span{
    display:block;
}

.quotation-signoff span{
    color:#64748b;
    margin-top:6px;
}

.quotation-signature{
    min-width:220px;
    border-top:1px solid #94a3b8;
    text-align:center;
    padding-top:10px;
    align-self:flex-end;
}

@media print{
    body{
        background:#fff !important;
    }

    .td-sidebar,
    .td-topbar,
    .quotation-screen-actions,
    .sidebar-toggle,
    .td-sidebar-backdrop{
        display:none !important;
    }

    .app-shell,
    .td-main,
    .td-content{
        display:block !important;
        margin:0 !important;
        padding:0 !important;
        width:100% !important;
    }

    .quotation-document{
        border:0;
        box-shadow:none;
        border-radius:0;
    }

    .quotation-doc-header{
        background:#0f172a !important;
        color:#fff !important;
        -webkit-print-color-adjust:exact;
        print-color-adjust:exact;
    }

    .quotation-doc-grid,
    .quotation-doc-sections{
        break-inside:avoid;
    }
}

/* LOGIN */
.login-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#071827,#075aaa,#54b8ff);
}

.login-card{
    width:420px;
    max-width:92vw;
    background:#fff;
    border-radius:30px;
    padding:34px;
    box-shadow:0 30px 80px rgba(0,0,0,.24);
}

.login-card h1{
    margin:0 0 10px;
}

.login-card-wide{
    width:min(980px,94vw);
    padding:0;
    overflow:hidden;
}

.login-split{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    min-height:560px;
}

.login-copy{
    padding:40px;
    background:
        linear-gradient(135deg,rgba(7,24,39,.98),rgba(11,95,199,.92),rgba(84,184,255,.84)),
        radial-gradient(circle at top right,rgba(255,255,255,.18),transparent 35%);
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.login-copy .muted{
    color:rgba(255,255,255,.82);
}

.login-form-wrap{
    padding:40px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.login-feature-list{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:22px;
}

.login-feature-list span{
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.16);
    padding:10px 14px;
    border-radius:999px;
    font-size:13px;
    font-weight:700;
}

.login-form-wrap form{
    display:grid;
    gap:16px;
}

.login-submit{
    width:100%;
    margin-top:6px;
}

.login-links{
    margin-top:18px;
    font-weight:700;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.login-links a{
    text-decoration:none;
}

.login-demo{
    margin-top:16px;
}

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

.muted{
    color:var(--muted);
}

/* PUBLIC LANDING */
.public-page{
    background:linear-gradient(180deg,#f6fbff 0%,#f9f6ff 45%,#f8fffb 100%);
    color:#0f172a;
}

.public-animate{
    animation:publicFadeUp .8s ease both;
}

.public-section,
.public-cta{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .65s ease, transform .65s ease;
}

.public-section.is-visible,
.public-cta.is-visible{
    opacity:1;
    transform:translateY(0);
}

.public-animate-card{
    animation:publicFadeUp .7s ease both;
}

.public-animate-card:nth-child(2){
    animation-delay:.08s;
}

.public-animate-card:nth-child(3){
    animation-delay:.16s;
}

.public-animate-card:nth-child(4){
    animation-delay:.24s;
}

.public-animate-card:nth-child(5){
    animation-delay:.32s;
}

.public-animate-card:nth-child(6){
    animation-delay:.4s;
}

.public-nav{
    position:sticky;
    top:0;
    z-index:50;
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:14px clamp(18px,4vw,58px);
    background:rgba(255,255,255,.94);
    border-bottom:1px solid rgba(226,232,240,.9);
    backdrop-filter:blur(16px);
}

.public-brand{
    display:flex;
    align-items:center;
    gap:12px;
    color:#0f172a;
    text-decoration:none;
    min-width:0;
}

.public-brand-mark{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:#0b5fc7;
    color:#fff;
    font-weight:900;
    box-shadow:0 14px 30px rgba(11,95,199,.2);
    flex:0 0 auto;
    position:relative;
    overflow:hidden;
}

.public-brand-mark::after{
    content:"";
    position:absolute;
    inset:-40%;
    background:linear-gradient(120deg,transparent,rgba(255,255,255,.36),transparent);
    transform:translateX(-120%) rotate(12deg);
    animation:publicShine 4.8s ease-in-out infinite;
}

.public-brand strong,
.public-brand small{
    display:block;
    white-space:nowrap;
}

.public-brand strong{
    font-size:17px;
}

.public-brand small{
    margin-top:2px;
    color:#64748b;
    font-weight:800;
    font-size:12px;
}

.public-nav-links{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    flex-wrap:wrap;
}

.public-nav-links a{
    padding:9px 12px;
    color:#334155;
    text-decoration:none;
    font-weight:900;
    font-size:14px;
    border-radius:999px;
}

.public-nav-links a:hover{
    background:#eef6ff;
    color:#075ca8;
}

.public-login-btn{
    flex:0 0 auto;
}

.public-hero{
    min-height:82vh;
    position:relative;
    overflow:hidden;
    display:grid;
    align-items:center;
    padding:clamp(76px,9vw,118px) clamp(20px,6vw,86px);
    background:linear-gradient(125deg,#2752ff 0%, #12b4ff 42%, #34d399 86%);
    color:#fff;
}

.public-hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(8,16,62,.12);
    pointer-events:none;
}

.public-hero-content{
    position:relative;
    z-index:2;
    max-width:760px;
}

.public-kicker{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    padding:8px 12px;
    border-radius:999px;
    background:#eaf4ff;
    color:#075ca8;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.public-hero .public-kicker{
    background:rgba(255,255,255,.2);
    color:#ecfeff;
    border:1px solid rgba(255,255,255,.14);
}

.public-hero h1{
    margin:18px 0 14px;
    font-size:clamp(46px,7vw,86px);
    line-height:.96;
    letter-spacing:0;
}

.public-hero p{
    max-width:670px;
    margin:0;
    color:rgba(255,255,255,.82);
    font-size:clamp(17px,2vw,22px);
    line-height:1.6;
    font-weight:700;
}

.public-hero-actions,
.public-cta-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:28px;
}

.public-proof{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:26px;
}

.public-proof span{
    padding:10px 13px;
    border-radius:999px;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.22);
    color:rgba(255,255,255,.82);
    font-weight:800;
}

.public-proof strong{
    color:#fff;
}

.public-hero-scene{
    position:absolute;
    inset:0;
    z-index:1;
    opacity:.72;
    pointer-events:none;
    transition:transform .35s ease-out;
    will-change:transform;
}

.scene-window{
    position:absolute;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.1);
    box-shadow:0 30px 80px rgba(0,0,0,.3);
    backdrop-filter:blur(18px);
    animation:publicFloat 7s ease-in-out infinite;
}

.scene-window-main{
    right:7vw;
    top:15vh;
    width:min(560px,42vw);
    min-height:360px;
    border-radius:28px;
    padding:24px;
    animation-delay:.2s;
}

.scene-topline{
    display:flex;
    gap:8px;
    margin-bottom:22px;
}

.scene-topline span{
    width:12px;
    height:12px;
    border-radius:50%;
    background:#7dd3fc;
}

.scene-metrics{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.scene-metrics b{
    min-height:72px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    color:#fff;
    align-content:center;
    gap:3px;
}

.scene-metrics b span,
.scene-metrics b small{
    display:block;
    text-align:center;
}

.scene-metrics b span{
    font-size:18px;
}

.scene-metrics b small{
    color:rgba(255,255,255,.64);
    font-size:11px;
    font-weight:800;
}

.scene-pipeline{
    display:grid;
    gap:12px;
    margin:24px 0;
}

.scene-pipeline span{
    height:14px;
    border-radius:999px;
    background:linear-gradient(90deg,#7dd3fc,#fbbf24,#7dd3fc);
    background-size:220% 100%;
    animation:publicProgressGlow 3.8s ease-in-out infinite;
}

.scene-table{
    display:grid;
    gap:10px;
}

.scene-table i{
    height:38px;
    border-radius:14px;
    background:rgba(255,255,255,.12);
    animation:publicPulseRow 3s ease-in-out infinite;
}

.scene-table i:nth-child(2){
    animation-delay:.25s;
}

.scene-table i:nth-child(3){
    animation-delay:.5s;
}

.scene-window-route{
    right:35vw;
    bottom:9vh;
    width:250px;
    border-radius:24px;
    padding:20px;
    animation-delay:.55s;
}

.scene-window-route strong,
.scene-window-route span{
    display:block;
}

.scene-window-route strong{
    margin-bottom:14px;
}

.scene-window-route span{
    height:10px;
    margin-top:12px;
    border-radius:999px;
    background:#fbbf24;
}

.scene-window-route span:nth-child(3){
    width:72%;
}

.scene-window-route span:nth-child(4){
    width:46%;
}

.scene-window-quote{
    right:10vw;
    bottom:14vh;
    width:210px;
    border-radius:24px;
    padding:20px;
    animation-delay:.9s;
}

.scene-window-quote small,
.scene-window-quote b,
.scene-window-quote em{
    display:block;
}

.scene-window-quote b{
    margin:8px 0;
    font-size:28px;
}

.scene-window-quote em{
    width:max-content;
    padding:7px 11px;
    border-radius:999px;
    background:#dcfce7;
    color:#047857;
    font-style:normal;
    font-weight:900;
}

.public-section{
    padding:clamp(56px,7vw,92px) clamp(20px,5vw,76px);
}

.public-section-tight{
    padding-top:clamp(44px,5vw,70px);
}

.public-section-head{
    max-width:760px;
    margin-bottom:28px;
}

.public-section h2,
.public-cta h2{
    margin:14px 0 10px;
    font-size:clamp(30px,4vw,48px);
    line-height:1.08;
}

.public-section p,
.public-cta p{
    margin:0;
    color:#64748b;
    font-size:17px;
    line-height:1.7;
    font-weight:700;
}

.public-feature-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.public-feature-card,
.public-plan-card{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:18px;
    box-shadow:0 12px 30px rgba(15,23,42,.06);
}

.public-feature-card{
    padding:24px;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.public-feature-card:hover,
.public-plan-card:hover{
    transform:translateY(-5px);
    border-color:#bfdbfe;
    box-shadow:0 20px 48px rgba(15,23,42,.11);
}

.public-feature-card span{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:linear-gradient(135deg,#e0f2ff,#efe6ff);
    color:#3b2fb8;
    font-size:20px;
}

.public-feature-card h3{
    margin:18px 0 9px;
    font-size:20px;
}

.public-feature-card p{
    font-size:14px;
}

.public-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.public-kpi-card{
    background:linear-gradient(145deg,#ffffff,#eff7ff 55%,#f4f0ff);
    border:1px solid #d8e8ff;
    border-radius:18px;
    padding:18px;
    box-shadow:0 12px 28px rgba(30,64,175,.08);
}

.public-kpi-card strong{
    display:block;
    font-size:30px;
    font-weight:800;
    color:#203694;
    line-height:1.05;
}

.public-kpi-card span{
    display:block;
    margin-top:8px;
    color:#5f6896;
    font-weight:600;
    font-size:14px;
}

.public-usecase-grid,
.public-story-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.public-usecase-card,
.public-story-card{
    background:#fff;
    border:1px solid #e4ebff;
    border-radius:18px;
    padding:20px;
    box-shadow:0 12px 24px rgba(15,23,42,.06);
}

.public-usecase-card h3{
    margin:0 0 12px;
    font-size:18px;
}

.public-usecase-card ul{
    margin:0;
    padding-left:18px;
    display:grid;
    gap:10px;
    color:#525c7c;
}

.public-story-card span{
    display:inline-flex;
    padding:6px 11px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    color:#1d4ed8;
    background:#eaf2ff;
    border:1px solid #d4e2ff;
}

.public-story-card p{
    margin:12px 0 0;
    color:#4f5978;
}

.public-trust-strip{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px 16px;
    padding:16px 18px;
    border:1px solid #d4e6ff;
    border-radius:16px;
    background:linear-gradient(160deg,#ffffff,#eef7ff 55%,#f3f0ff);
}

.public-trust-strip > span{
    color:#4b5b8a;
    font-weight:700;
}

.public-trust-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.public-trust-tags b{
    display:inline-flex;
    padding:8px 12px;
    border-radius:999px;
    background:linear-gradient(135deg,#e7f5ff,#efe8ff);
    border:1px solid #d2e3ff;
    color:#2746b9;
    font-size:12px;
    font-weight:800;
}

.public-role-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}

.public-role-card{
    background:#fff;
    border:1px solid #e2e8f7;
    border-radius:18px;
    padding:22px;
    box-shadow:0 12px 24px rgba(15,23,42,.06);
}

.public-role-card span{
    width:48px;
    height:48px;
    border-radius:14px;
    display:grid;
    place-items:center;
    color:#2f3bb5;
    background:linear-gradient(135deg,#e4f3ff,#ede7ff);
    font-size:20px;
}

.public-role-card h3{
    margin:16px 0 10px;
    font-size:20px;
}

.public-role-card ul{
    margin:0;
    padding-left:18px;
    display:grid;
    gap:9px;
    color:#4f5d80;
    font-weight:600;
}

.public-advantage-grid{
    display:grid;
    grid-template-columns:minmax(170px,.8fr) minmax(220px,1fr) minmax(220px,1fr);
    border:1px solid #dbe6ff;
    border-radius:18px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 14px 30px rgba(15,23,42,.07);
}

.public-advantage-grid > div{
    padding:14px 16px;
    border-right:1px solid #e2e8f7;
    border-bottom:1px solid #e2e8f7;
}

.public-advantage-grid > div:nth-child(3n){
    border-right:0;
}

.public-advantage-grid > div:nth-last-child(-n + 3){
    border-bottom:0;
}

.public-advantage-head{
    background:linear-gradient(135deg,#273e98,#2b72d9);
    color:#fff;
    font-weight:800;
}

.public-old-way,
.public-new-way{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:7px 11px;
    font-size:12px;
    font-weight:800;
}

.public-old-way{
    background:#fff1f2;
    color:#be123c;
}

.public-new-way{
    background:#ecfdf3;
    color:#047857;
}

.public-workflow{
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);
    gap:28px;
    align-items:center;
    background:#fff;
    border-top:1px solid #e2e8f0;
    border-bottom:1px solid #e2e8f0;
}

.workflow-steps{
    display:grid;
    gap:12px;
}

.workflow-steps div{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px;
    border-radius:16px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.workflow-steps div:hover{
    transform:translateX(6px);
    border-color:#bfdbfe;
    box-shadow:0 14px 30px rgba(15,23,42,.08);
}

.workflow-steps b{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:#0f172a;
    color:#fff;
}

.workflow-steps span{
    font-weight:900;
}

.public-plan-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    align-items:stretch;
}

.public-plan-card{
    padding:24px;
    display:flex;
    flex-direction:column;
    gap:18px;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.public-plan-card.featured{
    border-color:#93c5fd;
    box-shadow:0 18px 42px rgba(37,99,235,.12);
}

.plan-tag{
    display:inline-flex;
    width:max-content;
    max-width:100%;
    padding:7px 10px;
    border-radius:999px;
    background:#fffbeb;
    color:#92400e;
    font-size:12px;
    font-weight:900;
}

.public-plan-card h3{
    margin:14px 0 8px;
    font-size:24px;
}

.public-plan-card p{
    font-size:14px;
}

.plan-price strong{
    display:block;
    font-size:32px;
}

.plan-price span{
    color:#64748b;
    font-weight:800;
}

.public-plan-card ul{
    display:grid;
    gap:10px;
    padding:0;
    margin:0 0 auto;
    list-style:none;
}

.public-plan-card li{
    position:relative;
    padding-left:24px;
    color:#334155;
    font-weight:800;
    line-height:1.45;
}

.public-plan-card li::before{
    content:"";
    position:absolute;
    left:0;
    top:.5em;
    width:10px;
    height:10px;
    border-radius:50%;
    background:#059669;
}

.public-feature-access{
    padding-top:0;
}

.public-feature-matrix{
    overflow-x:auto;
    overflow-y:hidden;
    border:1px solid #dbe5f1;
    border-radius:20px;
    background:#fff;
    box-shadow:0 16px 42px rgba(15,23,42,.07);
    -webkit-overflow-scrolling:touch;
}

.feature-matrix-row{
    display:grid;
    grid-template-columns:minmax(280px,1.35fr) repeat(var(--plan-count), minmax(130px,.55fr));
    align-items:stretch;
    border-bottom:1px solid #e2e8f0;
    min-width:760px;
    transition:background .18s ease;
}

.feature-matrix-row:not(.feature-matrix-head):hover{
    background:#f8fbff;
}

.feature-matrix-row:last-child{
    border-bottom:0;
}

.feature-matrix-row > div{
    padding:16px;
    display:flex;
    align-items:center;
    border-right:1px solid #e2e8f0;
}

.feature-matrix-row > div:last-child{
    border-right:0;
}

.feature-matrix-head{
    position:sticky;
    top:76px;
    z-index:3;
    background:#0f172a;
    color:#fff;
    font-weight:900;
}

.feature-matrix-head > div{
    border-color:rgba(255,255,255,.12);
}

.feature-matrix-label{
    display:block !important;
}

.feature-matrix-label strong,
.feature-matrix-label span{
    display:block;
}

.feature-matrix-label strong{
    font-size:15px;
}

.feature-matrix-label span{
    margin-top:5px;
    color:#64748b;
    font-size:13px;
    line-height:1.45;
    font-weight:700;
}

.feature-state{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    width:100%;
    min-height:38px;
    padding:8px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
}

.feature-state.enabled{
    background:#dcfce7;
    color:#047857;
}

.feature-state.disabled{
    background:#f1f5f9;
    color:#94a3b8;
}

.public-cta{
    margin:0 clamp(20px,5vw,76px) clamp(56px,7vw,92px);
    padding:clamp(28px,4vw,44px);
    display:flex;
    justify-content:space-between;
    gap:28px;
    align-items:center;
    border-radius:24px;
    background:linear-gradient(125deg,#3651d4 0%, #2c8de5 46%, #23b0b4 100%);
    color:#fff;
}

.public-cta p{
    color:rgba(255,255,255,.88);
}

.public-cta .public-kicker{
    background:rgba(255,255,255,.12);
    color:#7dd3fc;
}

.public-footer{
    display:flex;
    justify-content:space-between;
    gap:18px;
    padding:24px clamp(20px,5vw,76px);
    border-top:1px solid #e2e8f0;
    color:#64748b;
    font-weight:800;
}

.public-footer a{
    text-decoration:none;
}

@keyframes publicFadeUp{
    from{
        opacity:0;
        transform:translateY(18px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes publicFloat{
    0%,100%{
        transform:translate3d(0,0,0);
    }
    50%{
        transform:translate3d(0,-14px,0);
    }
}

@keyframes publicProgressGlow{
    0%,100%{
        background-position:0% 50%;
        opacity:.72;
    }
    50%{
        background-position:100% 50%;
        opacity:1;
    }
}

@keyframes publicPulseRow{
    0%,100%{
        opacity:.58;
        transform:scaleX(.96);
        transform-origin:left;
    }
    50%{
        opacity:1;
        transform:scaleX(1);
    }
}

@keyframes publicShine{
    0%,74%{
        transform:translateX(-120%) rotate(12deg);
    }
    100%{
        transform:translateX(120%) rotate(12deg);
    }
}

/* RESPONSIVE */
@media(max-width:1280px){
    .reports-hero{
        grid-template-columns:1fr;
    }

    .reports-filter-grid{
        grid-template-columns:1fr;
    }

    .payments-toolbar{
        grid-template-columns:1fr 1fr;
    }

    .quotations-toolbar{
        grid-template-columns:1fr;
    }

    .agency-form-grid,
    .signup-grid{
        grid-template-columns:1fr;
    }

    .login-split{
        grid-template-columns:1fr;
    }

    .login-page{
        place-items:start center;
        padding:18px 0;
    }

    .login-card{
        margin-top:6px;
    }

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

    .metric-grid,
    .premium-metrics,
    .mini-metrics{
        grid-template-columns:repeat(2,1fr);
    }

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

    .public-feature-grid,
    .public-plan-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .public-kpi-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .public-usecase-grid,
    .public-story-grid,
    .public-role-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .public-advantage-grid{
        grid-template-columns:1fr;
    }

    .public-advantage-grid > div{
        border-right:0;
    }

    .public-advantage-grid > div:nth-last-child(-n + 3){
        border-bottom:1px solid #e2e8f7;
    }

    .public-advantage-grid > div:last-child{
        border-bottom:0;
    }

    .public-workflow{
        grid-template-columns:1fr;
    }

    .scene-window-main{
        width:min(500px,48vw);
    }
}

@media(max-width:1100px){
    .td-sidebar{
        width:260px;
    }

    .td-main{
        margin-left:260px;
        width:calc(100% - 260px);
    }

    .nav-link{
        font-size:15px;
        padding:0 14px;
    }

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

    .hotel-form-grid,
    .hotel-summary-grid,
    .transporter-form-grid,
    .transporter-summary-grid,
    .quotation-form-grid,
    .quotation-summary-grid,
    .quotation-doc-grid,
    .quotation-doc-sections,
    .agency-form-grid,
    .profile-layout{
        grid-template-columns:1fr;
    }

    .quotation-doc-header,
    .quotation-signoff{
        flex-direction:column;
    }

    .quotation-doc-meta{
        text-align:left;
    }

    .quotation-status-chip{
        align-self:flex-start;
    }

    .profile-summary{
        position:static;
    }

    .pricing-table{
        min-width:1500px;
    }
}

@media(max-width:1180px){
    .app-shell{
        display:block;
    }

    .sidebar-toggle-mobile{
        display:inline-grid;
    }

    .sidebar-toggle-desktop{
        display:none;
    }

    .td-sidebar{
        position:fixed;
        width:290px;
        max-width:86vw;
        height:100vh;
        max-height:100vh;
        transform:translateX(-100%);
    }

    .td-main{
        margin-left:0;
        width:100%;
    }

    .app-shell.sidebar-open .td-sidebar{
        transform:translateX(0);
    }

    .app-shell.sidebar-open .td-sidebar-backdrop{
        opacity:1;
        pointer-events:auto;
    }

    .td-brand{
        padding:22px;
    }

    .nav-section{
        margin-top:20px;
    }

    .td-topbar{
        min-height:auto;
        padding:20px;
        gap:15px;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
    }

    .top-actions{
        width:auto;
        justify-content:flex-end;
    }

    .profile-link-text{
        display:none;
    }

    .td-content{
        padding:20px;
    }

    .actions{
        flex-direction:column;
        align-items:flex-start;
    }

    .hotel-toolbar{
        grid-template-columns:1fr;
    }

    .transporter-toolbar{
        grid-template-columns:1fr;
    }

    .payments-toolbar{
        grid-template-columns:1fr;
    }

    .metric-grid,
    .premium-metrics,
    .mini-metrics,
    .package-grid{
        grid-template-columns:1fr;
    }

    .hero-dashboard{
        flex-direction:column;
        align-items:flex-start;
        padding:26px;
    }

    .dashboard-command-meta{
        gap:10px;
    }

    .reports-hero{
        padding:24px;
    }

    .reports-hero h1{
        font-size:28px;
    }

    .hero-dashboard h1,
    .package-hero h1{
        font-size:28px;
    }

    .package-hero-overlay{
        flex-direction:column;
        align-items:flex-start;
        padding:24px;
    }

    .package-gallery{
        grid-template-columns:1fr 1fr;
    }

    .timeline-item{
        grid-template-columns:1fr;
    }

    .lead-pro-row{
        grid-template-columns:44px 1fr;
    }

    .lead-pro-row em{
        grid-column:1/-1;
        width:max-content;
    }

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

    .trip-card{
        flex-direction:column;
    }

    .pricing-table{
        min-width:1600px;
    }

    .public-nav{
        align-items:flex-start;
    }

    .public-nav-links{
        display:none;
    }

    .public-hero{
        min-height:78vh;
        padding-top:88px;
    }

    .scene-window-main{
        right:-120px;
        width:520px;
        opacity:.64;
    }

    .scene-window-route{
        right:28vw;
    }

    .feature-matrix-head{
        top:0;
    }
}

@media(max-width:480px){
    .td-topbar{
        flex-direction:column;
        align-items:flex-start;
    }

    .topbar-title-wrap,
    .top-actions{
        width:100%;
    }

    .top-actions{
        justify-content:space-between;
    }

    .profile-link{
        padding:0;
    }

    .td-content{
        padding:16px;
    }

    .login-copy,
    .login-form-wrap{
        padding:28px 24px;
    }

    .td-panel,
    .panel{
        padding:20px;
        border-radius:18px;
    }

    .metric-card,
    .premium-card{
        flex-direction:column;
    }

    .metric-number{
        font-size:30px;
    }

    .package-gallery{
        grid-template-columns:1fr;
    }

    .package-price-row{
        flex-direction:column;
        align-items:flex-start;
    }

    .pill-btn,
    .act{
        padding:8px 12px;
        font-size:12px;
    }

    .action-pills,
    .table-actions{
        gap:6px;
    }

    .public-nav{
        padding:12px 14px;
    }

    .public-brand small{
        display:none;
    }

    .public-brand strong{
        max-width:160px;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .public-login-btn{
        padding:10px 12px;
    }

    .public-hero-actions .btn,
    .public-cta-actions .btn{
        width:100%;
    }

    .public-proof span{
        width:100%;
    }

    .feature-matrix-row{
        min-width:720px;
    }
}

@media(max-width:900px){
    .public-feature-grid,
    .public-plan-grid{
        grid-template-columns:1fr;
    }

    .public-kpi-grid,
    .public-usecase-grid,
    .public-story-grid,
    .public-role-grid{
        grid-template-columns:1fr;
    }

    .public-hero{
        min-height:76vh;
    }

    .public-hero-scene{
        opacity:.38;
        transform:none !important;
    }

    .scene-window-main{
        right:-260px;
        top:13vh;
    }

    .scene-window-route,
    .scene-window-quote{
        display:none;
    }

    .public-cta{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media (prefers-reduced-motion: reduce){
    .public-animate,
    .public-animate-card{
        animation:none !important;
    }

    .public-section,
    .public-cta{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }

    .public-hero-scene{
        transition:none !important;
        transform:none !important;
    }
}

@media(prefers-reduced-motion:reduce){
    .public-animate,
    .public-animate-card,
    .scene-window,
    .scene-pipeline span,
    .scene-table i,
    .public-brand-mark::after{
        animation:none !important;
    }

    .public-feature-card:hover,
    .public-plan-card:hover,
    .workflow-steps div:hover{
        transform:none;
    }
}

/* RESPONSIVE HARDENING */
body{
    overflow-x:hidden;
}

.td-content > *,
.td-panel > *,
.panel > *{
    max-width:100%;
}

.actions,
.top-actions,
.hotel-toolbar-actions,
.transporter-toolbar-actions,
.payments-toolbar-actions,
.quotations-toolbar-actions,
.quotation-view-actions,
.hotel-view-actions,
.transporter-view-actions,
.agency-form-actions,
.profile-facts,
.package-actions,
.table-actions,
.action-pills{
    flex-wrap:wrap;
}

.actions > div,
.td-panel h2,
.panel h2,
.section-note,
.metric-card > div:last-child,
.premium-card > div:last-child,
.package-body,
.quotation-doc-grid section,
.quotation-doc-sections section{
    min-width:0;
}

.actions h2,
.td-panel h2,
.panel h2,
.metric-card h3,
.package-body h3,
.quotation-doc-grid strong,
.quotation-summary-card strong{
    overflow-wrap:break-word;
}

.metric-grid,
.premium-metrics,
.mini-metrics,
.quotation-metrics{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));
}

.metric-card,
.premium-card{
    min-height:unset;
}

.metric-number{
    font-size:30px;
    line-height:1.08;
    overflow-wrap:break-word;
}

.metric-change{
    line-height:1.3;
}

.hotel-toolbar,
.transporter-toolbar,
.payments-toolbar,
.quotations-toolbar,
.reports-filter-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
}

.quotations-toolbar-actions,
.payments-toolbar-actions,
.hotel-toolbar-actions,
.transporter-toolbar-actions,
.reports-filter-actions{
    align-self:end;
}

.table-wrap{
    max-width:100%;
}

.table{
    min-width:760px;
}

.table th,
.table td{
    white-space:normal;
}

.table td{
    overflow-wrap:break-word;
    word-break:normal;
}

.table-actions form,
.package-actions form,
.quotation-view-actions form{
    margin:0;
}

.btn,
.act,
.pill-btn{
    max-width:100%;
    text-align:center;
}

.package-grid{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
}

.package-top,
.package-price-row,
.quotation-price-panel div,
.quotation-signoff{
    flex-wrap:wrap;
}

.package-img-wrap{
    aspect-ratio:16 / 10;
}

.quotation-doc-header,
.package-hero-overlay,
.reports-hero,
.hero-dashboard{
    min-width:0;
}

.quotation-doc-meta,
.package-hero-price{
    min-width:min(100%,230px);
}

@media(max-width:1180px){
    .app-shell.sidebar-collapsed .td-main{
        margin-left:0;
        width:100%;
    }

    .app-shell.sidebar-collapsed .td-sidebar{
        width:290px;
        max-width:86vw;
        transform:translateX(-100%);
    }

    .app-shell.sidebar-open.sidebar-collapsed .td-sidebar{
        transform:translateX(0);
    }

    .td-content{
        padding:24px;
    }

    .td-panel,
    .panel{
        padding:24px;
    }

    .actions{
        align-items:flex-start;
    }

    .actions .btn,
    .quotation-view-actions .btn,
    .hotel-view-actions .btn,
    .transporter-view-actions .btn{
        flex:1 1 180px;
    }

    .season-pill{
        display:none;
    }

    .metric-card{
        padding:20px;
    }

    .quotation-doc-header,
    .quotation-signoff,
    .package-hero-overlay{
        flex-direction:column;
    }

    .quotation-doc-meta{
        text-align:left;
    }

    .quotation-status-chip{
        align-self:flex-start;
    }
}

@media(max-width:640px){
    .td-content{
        padding:16px;
    }

    .td-panel,
    .panel{
        padding:18px;
        border-radius:14px;
    }

    .actions .btn,
    .quotation-view-actions .btn,
    .hotel-view-actions .btn,
    .transporter-view-actions .btn,
    .quotations-toolbar-actions .btn,
    .payments-toolbar-actions .btn,
    .hotel-toolbar-actions .btn,
    .transporter-toolbar-actions .btn{
        width:100%;
        flex-basis:100%;
    }

    .metric-card,
    .premium-card{
        flex-direction:row;
        gap:14px;
        padding:18px;
    }

    .metric-icon{
        width:48px;
        height:48px;
        min-width:48px;
        font-size:20px;
        border-radius:14px;
    }

    .metric-number{
        font-size:28px;
    }

    .quotation-metrics .metric-number{
        font-size:26px;
        white-space:normal;
    }

    .form-grid,
    .hotel-form-grid,
    .transporter-form-grid,
    .quotation-form-grid,
    .agency-form-grid,
    .signup-grid,
    .profile-layout,
    .quotation-doc-grid,
    .quotation-doc-sections,
    .hotel-summary-grid,
    .transporter-summary-grid,
    .quotation-summary-grid{
        grid-template-columns:1fr;
    }

    .quotation-doc-header,
    .quotation-doc-grid,
    .quotation-doc-sections,
    .quotation-signoff{
        padding-left:18px;
        padding-right:18px;
    }

    .quotation-price-panel,
    .quotation-internal-note{
        margin-left:18px;
        margin-right:18px;
    }

    .quotation-doc-header h1{
        font-size:30px;
    }

    .table{
        min-width:680px;
    }

    .profile-link .avatar{
        width:44px;
        height:44px;
    }
}

@media(max-width:420px){
    .td-content{
        padding:12px;
    }

    .metric-card,
    .premium-card{
        flex-direction:column;
    }

    .table{
        min-width:620px;
    }

    .btn{
        padding:11px 14px;
    }
}

/* PRODUCT UI RESPONSIVE REFRESH */
:root{
    --bg:#f4f7fb;
    --card:#ffffff;
    --line:#dfe7f1;
    --radius:14px;
    --shadow:0 10px 28px rgba(15,23,42,.07);
    --shadow-lg:0 18px 42px rgba(15,23,42,.12);
}

html,
body{
    min-height:100%;
}

body{
    background:var(--bg);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body.td-sidebar-open{
    overflow:hidden;
}

.td-sidebar{
    width:300px;
    scrollbar-gutter:stable;
}

.td-main{
    margin-left:300px;
    width:calc(100% - 300px);
}

.td-brand{
    min-height:86px;
    padding:22px 24px;
}

.td-brand strong{
    font-size:20px;
}

.td-brand span{
    font-size:13px;
}

.nav-section{
    margin:22px 0 8px;
    padding:0 22px;
}

.nav-link{
    min-height:44px;
    margin:5px 10px;
    padding:0 14px;
    border-radius:12px;
    font-size:15px;
}

.nav-link:hover{
    transform:none;
}

.app-shell.sidebar-collapsed .td-sidebar{
    width:84px;
}

.app-shell.sidebar-collapsed .td-main{
    margin-left:84px;
    width:calc(100% - 84px);
}

.app-shell.sidebar-collapsed .nav-link::after{
    left:84px;
}

.td-topbar{
    min-height:78px;
    padding:0 clamp(20px,2.6vw,34px);
    background:rgba(255,255,255,.92);
    box-shadow:0 1px 0 rgba(15,23,42,.04);
}

.td-topbar h1{
    font-size:clamp(20px,2vw,27px);
    line-height:1.15;
}

.top-actions{
    gap:12px;
}

.season-pill{
    padding:9px 14px;
    font-size:13px;
}

.avatar{
    width:46px;
    height:46px;
}

.td-content{
    padding:clamp(20px,2.6vw,34px);
}

.td-panel,
.panel{
    border-radius:16px;
    border-color:#e2e8f0;
    padding:clamp(20px,2vw,28px);
    box-shadow:0 10px 28px rgba(15,23,42,.06);
}

.actions{
    gap:14px;
}

.section-note{
    line-height:1.55;
}

.btn{
    min-height:44px;
    border-radius:12px;
    padding:11px 16px;
}

.btn.secondary{
    border:1px solid #dbeafe;
}

.field input,
.field select,
.field textarea,
input,
select,
textarea{
    min-height:44px;
    border-radius:12px;
    border-color:#d8e1ec;
    line-height:1.35;
}

.metric-grid,
.premium-metrics,
.mini-metrics,
.quotation-metrics{
    gap:16px;
}

.metric-card,
.premium-card{
    border-radius:16px;
    padding:20px;
    min-height:118px;
}

.metric-icon,
.premium-icon{
    border-radius:14px;
}

.metric-number,
.premium-card h2{
    letter-spacing:0;
}

.table-wrap,
.pricing-wrapper{
    border:1px solid #e5edf5;
    border-radius:14px;
    background:#fff;
}

.table th,
.pricing-table th{
    background:#f6f9fc;
    color:#334155;
    padding:13px 14px;
}

.table td,
.pricing-table td{
    padding:13px 14px;
}

.table tbody tr:last-child td,
.pricing-table tbody tr:last-child td{
    border-bottom:0;
}

.badge,
.act,
.pill-btn{
    border-radius:999px;
}

.badge,
.act,
.pill-btn,
.money-cell,
.due-cell,
.status-cell{
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal;
}

.booking-table{
    min-width:1120px;
    table-layout:fixed;
}

.booking-col-check{width:36px;}
.booking-col-customer{width:14%;}
.booking-col-destination{width:10%;}
.booking-col-travel{width:9%;}
.booking-col-hotel{width:9%;}
.booking-col-amount{width:8%;}
.booking-col-due{width:7%;}
.booking-col-stage{width:15%;}
.booking-col-status{width:10%;}
.booking-col-payment{width:10%;}
.booking-col-action{width:11%;}

.booking-table th,
.booking-table td{
    vertical-align:middle;
}

.booking-table .stage-cell{
    min-width:0;
    max-width:0;
    overflow:hidden;
    padding-right:10px;
}

.booking-table .status-cell{
    min-width:0;
    max-width:0;
    white-space:normal;
    overflow:hidden;
    padding-left:10px;
    border-left:1px solid #eef2f7;
}

.booking-stage-block{
    display:flex;
    flex-direction:column;
    gap:6px;
    width:100%;
    max-width:100%;
}

.booking-stage-label{
    display:block;
    font-weight:700;
    font-size:12px;
    line-height:1.35;
    color:#0f172a;
    white-space:normal;
    overflow-wrap:anywhere;
}

.booking-table .booking-stage-progress{
    width:100%;
    max-width:100%;
    min-width:0;
    height:8px;
    margin:0;
}

.booking-status-badge{
    display:inline-block;
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.3;
    text-align:center;
}

.booking-table .stage-cell strong{
    display:block;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
}

.booking-table .progress{
    min-width:0;
    max-width:100%;
}

.booking-table .table-actions{
    min-width:150px;
}

.alert{
    border-radius:12px;
    line-height:1.45;
}

.subscription-row-form{
    display:grid;
    grid-template-columns:minmax(140px,1fr) minmax(120px,.8fr) minmax(140px,.9fr) minmax(140px,.9fr) minmax(180px,1.1fr) auto;
    gap:10px;
    align-items:center;
}

.subscription-row-form input,
.subscription-row-form select{
    min-width:0;
    width:100%;
}

.subscription-row-form .act.edit{
    white-space:nowrap;
}

.hero-dashboard,
.reports-hero{
    border-radius:18px;
    padding:clamp(24px,3vw,34px);
    background:linear-gradient(135deg,#0b253f,#0b5fc7 58%,#1d8cff);
}

.hero-dashboard h1,
.reports-hero h1{
    font-size:clamp(28px,3vw,38px);
}

.dashboard-command-meta{
    flex-wrap:wrap;
}

.dashboard-command-meta span,
.hero-chip,
.reports-kicker{
    border-radius:999px;
}

.dashboard-chart-shell{
    min-height:260px;
}

.dashboard-chart-shell canvas{
    max-width:100%;
}

.package-card,
.package-img-wrap img,
.package-gallery img,
.hotel-summary-card,
.transporter-summary-card,
.quotation-summary-card{
    border-radius:14px;
}

.package-card{
    overflow:hidden;
}

.package-hero{
    min-height:320px;
    border-radius:18px;
}

.package-hero-overlay{
    min-height:320px;
    padding:clamp(24px,3vw,38px);
}

.package-hero h1{
    font-size:clamp(30px,3.2vw,42px);
    line-height:1.08;
}

.package-hero p{
    line-height:1.45;
}

.package-hero-price{
    border-radius:16px;
}

.timeline-item{
    gap:16px;
}

@media(min-width:1181px){
    .td-sidebar-backdrop{
        display:none;
    }
}

@media(max-width:1180px){
    .app-shell{
        display:block;
    }

    .sidebar-toggle-mobile{
        display:inline-grid;
    }

    .sidebar-toggle-desktop{
        display:none;
    }

    .td-sidebar{
        width:304px;
        max-width:88vw;
        height:100vh;
        max-height:100vh;
        transform:translate3d(-104%,0,0);
        z-index:300;
        box-shadow:22px 0 50px rgba(15,23,42,.28);
    }

    .td-main,
    .app-shell.sidebar-collapsed .td-main{
        margin-left:0;
        width:100%;
    }

    .app-shell.sidebar-collapsed .td-sidebar{
        width:304px;
        max-width:88vw;
        transform:translate3d(-104%,0,0);
    }

    .app-shell.sidebar-open .td-sidebar,
    .app-shell.sidebar-open.sidebar-collapsed .td-sidebar{
        transform:translate3d(0,0,0);
    }

    .app-shell.sidebar-open .td-sidebar-backdrop{
        opacity:1;
        pointer-events:auto;
        backdrop-filter:blur(3px);
    }

    .td-sidebar-backdrop{
        z-index:290;
    }

    .td-topbar{
        min-height:72px;
        padding:14px 20px;
    }

    .td-content{
        padding:22px;
    }

    .season-pill{
        display:none;
    }

    .profile-link-text strong,
    .profile-link-text small{
        max-width:120px;
    }
}

@supports (height:100dvh){
    @media(max-width:1180px){
        .td-sidebar{
            height:100dvh;
            max-height:100dvh;
        }
    }
}

@media(max-width:820px){
    .package-import-layout{
        grid-template-columns:1fr;
    }

    .package-import-preview{
        position:static;
        min-height:420px;
    }

    .package-import-preview iframe{
        height:420px;
    }

    .td-topbar{
        align-items:center;
    }

    .top-actions{
        gap:8px;
    }

    .td-content{
        padding:16px;
    }

    .td-panel,
    .panel{
        padding:18px;
        border-radius:14px;
    }

    .metric-card,
    .premium-card{
        min-height:unset;
    }

    .table-wrap{
        margin-left:-2px;
        margin-right:-2px;
    }

    .subscription-row-form{
        grid-template-columns:1fr;
        min-width:260px;
    }

    .hero-dashboard,
    .reports-hero,
    .package-hero-overlay{
        padding:22px;
    }

    .hero-chip,
    .hero-chip-stack{
        width:100%;
    }

    .package-hero,
    .package-hero-overlay{
        min-height:280px;
    }

    .package-hero-price{
        width:100%;
        min-width:0;
    }

    .funnel-row{
        grid-template-columns:1fr;
        gap:8px;
    }

    .lead-pro-row{
        grid-template-columns:44px 1fr;
    }

    .lead-pro-row em{
        grid-column:1 / -1;
        justify-self:start;
    }

    .table-wrap{
        overflow:visible;
        border:0;
        background:transparent;
    }

    .table.responsive-card-table{
        min-width:0;
        display:block;
        border-collapse:separate;
        background:transparent;
    }

    .table.responsive-card-table thead{
        display:none;
    }

    .table.responsive-card-table tbody{
        display:grid;
        gap:12px;
    }

    .table.responsive-card-table tr{
        display:block;
        border:1px solid #e2e8f0;
        border-radius:16px;
        background:#fff;
        padding:8px;
        box-shadow:0 8px 22px rgba(15,23,42,.06);
    }

    .table.responsive-card-table td{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:14px;
        padding:11px 8px;
        border-bottom:1px solid #edf2f7;
        text-align:right;
        min-height:42px;
    }

    .table.responsive-card-table td:last-child{
        border-bottom:0;
    }

    .table.responsive-card-table td::before{
        content:attr(data-label);
        flex:0 0 42%;
        max-width:42%;
        color:#64748b;
        font-size:12px;
        font-weight:900;
        letter-spacing:.04em;
        text-transform:uppercase;
        text-align:left;
    }

    .table.responsive-card-table td[data-label="Action"],
    .table.responsive-card-table td[data-label="Actions"]{
        display:block;
        text-align:left;
    }

    .table.responsive-card-table td[data-label="Action"]::before,
    .table.responsive-card-table td[data-label="Actions"]::before{
        display:block;
        max-width:none;
        margin-bottom:8px;
    }

    .table.responsive-card-table td.table-empty,
    .table.responsive-card-table td.table-empty-card{
        display:block;
        text-align:center;
        color:#64748b;
        padding:24px 12px;
    }

    .table.responsive-card-table td.table-empty::before,
    .table.responsive-card-table td.table-empty-card::before{
        display:none;
    }

    .table.responsive-card-table .table-actions,
    .table.responsive-card-table .action-pills{
        justify-content:flex-start;
    }

    .table.responsive-card-table td > *{
        min-width:0;
        max-width:100%;
    }

    .table.responsive-card-table td small{
        white-space:normal;
        overflow-wrap:anywhere;
        word-break:break-word;
    }
}

/* PHONE LAYOUT FIXES */
@media(max-width:640px){
    .actions > div:not(:only-child):last-child{
        display:flex;
        align-items:center;
        flex-wrap:wrap;
        gap:10px;
        width:100%;
    }
}

@media(max-width:480px){
    .td-topbar{
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        min-height:68px;
        padding:12px 16px;
    }

    .topbar-title-wrap{
        width:auto;
        flex:1 1 auto;
        min-width:0;
        gap:10px;
    }

    .topbar-title-wrap .sidebar-toggle{
        flex:0 0 auto;
    }

    .td-topbar h1{
        flex:1 1 auto;
        min-width:0;
        font-size:20px;
        line-height:1.15;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .top-actions{
        width:auto;
        flex:0 0 auto;
        justify-content:flex-end;
        flex-wrap:nowrap;
        gap:0;
    }

    .profile-link{
        padding:0;
    }

    .profile-link .avatar{
        width:42px;
        height:42px;
    }

    .table.responsive-card-table td{
        display:block;
        text-align:left;
        gap:0;
    }

    .table.responsive-card-table td::before{
        display:block;
        max-width:none;
        margin-bottom:6px;
    }

    .table.responsive-card-table td[data-label="Action"],
    .table.responsive-card-table td[data-label="Actions"]{
        padding-top:12px;
    }

    .table.responsive-card-table .table-actions{
        display:flex;
        flex-wrap:wrap;
        gap:8px;
    }

    .table.responsive-card-table .table-actions .act{
        flex:0 0 auto;
    }
}

/* PACKAGE BUILDER FIXES */
.package-grid{
    grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),420px));
    align-items:start;
}

.package-card{
    width:100%;
}

.package-price-row .package-money-clean{
    font-size:0;
}

.package-price-row .package-money-clean span{
    font-size:18px;
}

.package-img-wrap{
    width:100%;
    height:auto;
    aspect-ratio:16 / 10;
    background:#eef2f7;
}

.package-img-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.package-hero{
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
}

.package-gallery img{
    background:#eef2f7;
    object-fit:cover;
    object-position:center;
}

/* VIBRANT JOYFUL THEME REFRESH */
:root{
    --bg:#f6fbff;
    --card:#ffffff;
    --line:#d9e8ff;
    --text:#102347;
    --muted:#5f7396;
    --blue:#2e5bff;
    --blue2:#10b8ff;
    --sky:#63d4ff;
    --green:#16b98a;
    --accent-teal:#16b98a;
    --shadow:0 16px 42px rgba(46, 91, 255, .14);
}

body{
    background:
        radial-gradient(circle at 8% 12%, rgba(46, 91, 255, .10), transparent 35%),
        radial-gradient(circle at 88% 6%, rgba(16, 184, 255, .12), transparent 33%),
        radial-gradient(circle at 78% 88%, rgba(22, 185, 138, .12), transparent 32%),
        var(--bg);
    color:var(--text);
}

.td-sidebar{
    background:linear-gradient(180deg, #153a8c 0%, #1e57b5 50%, #1b8fb3 100%);
}

.nav-link{
    border:1px solid rgba(255, 255, 255, .08);
    background:rgba(255, 255, 255, .04);
}

.nav-link:hover{
    background:rgba(255, 255, 255, .14);
    border-color:rgba(255, 255, 255, .2);
}

.nav-link.active{
    background:linear-gradient(90deg, rgba(99, 212, 255, .26), rgba(22, 185, 138, .22));
    border-color:rgba(255, 255, 255, .25);
}

.td-panel,
.metric-card,
.package-card{
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
}

.td-panel{
    background:linear-gradient(180deg, #ffffff 0%, #fdfcff 100%);
}

.btn{
    background:linear-gradient(135deg, var(--blue), var(--blue2));
    border:none;
    box-shadow:0 10px 24px rgba(46, 91, 255, .28);
}

.btn:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(46, 91, 255, .34);
}

.btn.secondary{
    background:linear-gradient(135deg, #ffffff, #f2faff);
    color:#1f4ea7;
    border:1px solid #cde2ff;
    box-shadow:0 8px 22px rgba(31, 78, 167, .12);
}

.metric-icon.mi-blue{ background:linear-gradient(135deg, #2e5bff, #10b8ff); color:#fff; }
.metric-icon.mi-green{ background:linear-gradient(135deg, #16b98a, #24d4b0); color:#fff; }
.metric-icon.mi-gold{ background:linear-gradient(135deg, #ff9f40, #ffd166); color:#5d3a00; }
.metric-icon.mi-orange{ background:linear-gradient(135deg, #ff8f3a, #ffd166); color:#fff; }

.table th{
    background:linear-gradient(90deg, rgba(46, 91, 255, .08), rgba(16, 184, 255, .08));
    color:#1f4ea7;
}

.table tbody tr:hover{
    background:linear-gradient(90deg, rgba(46, 91, 255, .05), rgba(22, 185, 138, .05));
}

.field input,
.field select,
.field textarea{
    border:1px solid #cfe1ff;
    border-radius:12px;
    background:#fff;
}

.field input:focus,
.field select:focus,
.field textarea:focus{
    border-color:#63d4ff;
    box-shadow:0 0 0 4px rgba(99, 212, 255, .22);
}

.package-hero-overlay{
    background:linear-gradient(135deg, rgba(17, 56, 128, .76), rgba(14, 132, 186, .66));
    backdrop-filter:blur(2px);
}

.dashboard-chart-shell{
    min-height:300px;
    position:relative;
}

.dashboard-chart-shell canvas{
    width:100% !important;
    height:280px !important;
    display:block;
}

.chart-fallback{
    padding:18px;
    border:1px dashed #d7ccff;
    border-radius:14px;
    color:#6b5bb8;
    background:linear-gradient(180deg, #faf7ff 0%, #f3f7ff 100%);
    font-weight:600;
}

.hero-command{
    position:relative;
    overflow:hidden;
    background:linear-gradient(125deg,#142c64 0%, #1f4fa6 44%, #2a78d0 100%);
    box-shadow:0 20px 44px rgba(17, 55, 120, .28);
    border:1px solid rgba(255,255,255,.22);
}

.hero-command::before{
    content:"";
    position:absolute;
    right:-90px;
    top:-70px;
    width:260px;
    height:260px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,255,255,.35), rgba(255,255,255,0) 68%);
    pointer-events:none;
}

.hero-command::after{
    content:"";
    position:absolute;
    inset:auto 14% -46% -12%;
    height:180px;
    background:radial-gradient(ellipse at center, rgba(255,255,255,.3), rgba(255,255,255,0) 72%);
    pointer-events:none;
}

.hero-command > *{
    position:relative;
    z-index:1;
}

.dashboard-command-meta span{
    background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.06));
    border-color:rgba(255,255,255,.28);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.26), 0 8px 18px rgba(7, 35, 88, .2);
}

.premium-metrics{
    gap:16px;
}

.premium-card{
    border-color:#e3eafd;
    background:linear-gradient(165deg,#ffffff 0%,#f8faff 66%,#f2f7ff 100%);
    box-shadow:0 10px 22px rgba(30, 41, 59, .08);
    padding:20px 22px;
}

.premium-card-link:hover .premium-card,
.premium-card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 26px rgba(30, 64, 175, .14);
    border-color:#cfe0ff;
}

.premium-card .premium-icon{
    box-shadow:0 8px 16px rgba(30, 41, 59, .1);
}

.premium-card.blue .premium-icon{
    background:linear-gradient(135deg,#dbeafe,#93c5fd);
    color:#0b3b8a;
}

.premium-card.green .premium-icon{
    background:linear-gradient(135deg,#dcfce7,#86efac);
    color:#065f46;
}

.premium-card.gold .premium-icon{
    background:linear-gradient(135deg,#fef3c7,#fcd34d);
    color:#7c2d12;
}

.premium-card.orange .premium-icon{
    background:linear-gradient(135deg,#ffedd5,#fdba74);
    color:#7c2d12;
}

.premium-card span{
    color:#556082;
    font-size:13px;
    letter-spacing:.02em;
}

.premium-card h2{
    font-size:clamp(34px,2.2vw,38px);
    line-height:1.05;
    letter-spacing:-.02em;
    color:#111827;
    text-shadow:none;
    white-space:nowrap;
}

.premium-card p{
    font-size:13px;
    letter-spacing:.01em;
    margin-top:4px;
}

.mini-metrics div{
    border-color:#e2e9fb;
    background:linear-gradient(160deg,#ffffff 0%,#f8fbff 70%,#f2f7ff 100%);
}

.mini-link:hover div{
    border-color:#cfdbf8;
    box-shadow:0 10px 20px rgba(37, 99, 235, .12);
}

.td-panel{
    border-color:#dee8ff;
    background:linear-gradient(180deg,#ffffff 0%,#fcfdff 100%);
    box-shadow:0 12px 30px rgba(37, 56, 118, .09);
}

.resend-verify-form{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.resend-verify-form .field{
    margin-bottom:0;
}

.resend-verify-form .btn{
    align-self:flex-start;
}

/* PREMIUM UI REFRESH (image-inspired, backward-safe) */
:root{
    --ui-bg:#f4f8ff;
    --ui-card:#ffffff;
    --ui-line:#e4edf8;
    --ui-ink:#10243f;
    --ui-muted:#6c7f99;
    --ui-blue:#2a98ff;
    --ui-blue-dark:#157ce6;
    --ui-soft:#f6fbff;
    --ui-shadow:0 12px 30px rgba(16,36,63,.08);
}

body{
    background:
        linear-gradient(120deg, rgba(42,152,255,.06), rgba(42,152,255,0) 40%),
        linear-gradient(180deg,#f9fcff 0%, var(--ui-bg) 100%);
}

.app-shell{
    background:transparent;
}

.td-sidebar{
    background:#fff;
    color:var(--ui-ink);
    border-right:1px solid var(--ui-line);
    box-shadow:none;
}

.td-brand{
    border-bottom:1px solid var(--ui-line);
}

.td-brand strong{
    color:var(--ui-ink);
}

.td-brand span{
    color:var(--ui-muted);
}

.sidebar-toggle-desktop{
    background:#eaf5ff;
    color:var(--ui-blue-dark);
}

.nav-section{
    color:#97abc3;
}

.nav-link{
    color:#4e6480;
    background:transparent;
    border:1px solid transparent;
}

.nav-link:hover{
    background:#f3f9ff;
    color:#1c4f7e;
    transform:none;
}

.nav-link.active{
    background:linear-gradient(90deg,#dff0ff,#ecf7ff);
    border-color:#cfe8ff;
    box-shadow:none;
    color:#176dc2;
}

.td-main{
    background:transparent;
}

.td-topbar{
    background:transparent;
    border-bottom:0;
    box-shadow:none;
    padding-top:18px;
    padding-bottom:18px;
}

.top-actions{
    gap:10px;
}

.topbar-search{
    display:flex;
    align-items:center;
    gap:8px;
    background:#fff;
    border:1px solid var(--ui-line);
    border-radius:12px;
    padding:0 12px;
    min-width:280px;
    height:42px;
    box-shadow:var(--ui-shadow);
}

.topbar-search i{
    color:#90a4bf;
    font-size:13px;
}

.topbar-search input{
    border:0;
    background:transparent;
    box-shadow:none;
    min-height:0;
    padding:0;
    height:100%;
    font-size:14px;
}

.topbar-search input:focus{
    border:0;
    box-shadow:none;
}

.season-pill{
    background:#fff;
    border:1px solid var(--ui-line);
    color:#4f6581;
    box-shadow:var(--ui-shadow);
}

.profile-link{
    background:#fff;
    border:1px solid var(--ui-line);
    box-shadow:var(--ui-shadow);
}

.profile-link:hover{
    background:#f7fbff;
}

.td-content{
    padding-top:8px;
}

.td-panel,
.panel,
.metric-card,
.premium-card,
.package-card{
    background:var(--ui-card);
    border:1px solid var(--ui-line);
    border-radius:16px;
    box-shadow:var(--ui-shadow);
}

.metric-card:hover,
.premium-card:hover,
.trip-card:hover,
.ops-link:hover .ops-pill{
    box-shadow:0 18px 36px rgba(16,36,63,.12);
}

.hero-dashboard,
.reports-hero{
    background:#fff;
    color:var(--ui-ink);
    border:1px solid var(--ui-line);
    box-shadow:var(--ui-shadow);
}

.hero-dashboard p,
.reports-hero p,
.hero-chip-stack small{
    color:var(--ui-muted);
}

.dashboard-command-meta span{
    background:#f3f9ff;
    border:1px solid #d8ebff;
    color:#315d88;
}

.hero-chip{
    background:#f4faff;
    border:1px solid #d8ebff;
    color:#315d88;
}

.hero-chip-stack strong{
    color:#176dc2;
}

.btn{
    background:linear-gradient(135deg,var(--ui-blue),var(--ui-blue-dark));
    box-shadow:0 10px 20px rgba(42,152,255,.3);
    border-radius:10px;
}

.btn.secondary{
    background:#fff;
    color:#1f5b92;
    border:1px solid #cfe5ff;
    box-shadow:none;
}

.table-wrap{
    border:1px solid var(--ui-line);
    background:#fff;
}

.table{
    background:#fff;
}

.table th{
    background:#f4f9ff;
    color:#54708f;
    border-bottom:1px solid var(--ui-line);
}

.table tbody tr:hover,
.click-row:hover{
    background:#f7fbff;
}

.badge{
    border:1px solid #dbeeff;
}

.badge.source{
    background:#eef7ff;
    color:#2c78be;
}

.trip-card{
    border:1px solid var(--ui-line);
}

.trip-card b{
    color:#176dc2;
}

.ops-pill{
    background:#f8fbff;
    border-color:#dfebf8;
}

.ops-pill strong{
    background:#2a98ff;
}

.reports-stat-row{
    background:#f8fbff;
    border:1px solid #e2edf9;
}

.reports-stat-row.accent{
    background:#eefdff;
    border-color:#cdefff;
}

.dashboard-card{
    border-color:var(--ui-line);
    box-shadow:var(--ui-shadow);
}

.dashboard-card-icon{
    background:linear-gradient(135deg,#6dc7ff,#2a98ff);
}

.dashboard-filter-row{
    grid-template-columns:repeat(4,minmax(0,1fr)) auto;
}

@media(max-width:1180px){
    .topbar-search{
        min-width:220px;
    }
}

@media(max-width:820px){
    .topbar-search{
        display:none;
    }
}

/* Phase B: exact sizing/spacing templates */
.td-sidebar{
    width:272px;
}

.td-main{
    margin-left:272px;
    width:calc(100% - 272px);
}

.nav-link{
    min-height:42px;
    margin:4px 12px;
    padding:0 12px;
    gap:12px;
    border-radius:10px;
    font-size:14px;
    font-weight:700;
}

.nav-link span{
    width:22px;
    min-width:22px;
    font-size:14px;
}

.td-topbar h1{
    font-size:34px;
    font-weight:800;
    letter-spacing:-.01em;
}

.dashboard-kpi-grid{
    grid-template-columns:repeat(4, minmax(220px, 1fr));
}

.dashboard-top-grid{
    display:grid;
    grid-template-columns:1.75fr .9fr;
    gap:14px;
    align-items:start;
    margin-bottom:12px;
}

.dashboard-right-rail{
    display:grid;
    gap:16px;
}

.dashboard-mini-calendar{
    display:grid;
    grid-template-columns:repeat(7, minmax(0,1fr));
    gap:6px;
    font-size:12px;
}

.dashboard-mini-calendar .cal-head{
    text-align:center;
    color:#8aa2bf;
    font-weight:800;
    padding:6px 0;
}

.dashboard-mini-calendar .cal-day{
    text-align:center;
    padding:8px 0;
    border-radius:8px;
    background:#f7fbff;
    border:1px solid #e5f0fb;
    font-weight:700;
    color:#274a71;
}

.dashboard-mini-calendar .cal-day.today{
    background:linear-gradient(135deg,#45adff,#2a98ff);
    color:#fff;
    border-color:#2a98ff;
}

.dashboard-main-rail{
    grid-template-columns:1.75fr .95fr;
    align-items:start;
    gap:14px;
}

.dashboard-main-block{
    min-height:330px;
}

.dashboard-right-block{
    min-height:330px;
}

.page-dashboard .trip-card{
    border-radius:12px;
}

.module-packages .package-grid{
    grid-template-columns:repeat(auto-fill,minmax(320px,360px));
    justify-content:start;
    gap:18px;
}

.module-packages .package-card{
    border-radius:14px;
    overflow:hidden;
}

.module-packages .package-body{
    padding:16px;
}

.module-packages .package-body h3{
    font-size:30px;
    line-height:1.02;
    letter-spacing:-.01em;
}

.module-packages .package-hybrid-table-wrap{
    border-radius:12px;
}

.module-packages .package-hybrid-table th,
.module-packages .package-hybrid-table td{
    font-size:13px;
}

.module-bookings .bookings-premium-shell{
    border-radius:14px;
}

.module-bookings .premium-booking-table-wrap{
    border-radius:12px;
}

.module-bookings .booking-table th{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.module-bookings .booking-table td{
    font-size:12px;
    line-height:1.35;
}

.module-bookings .booking-table .money-cell{
    white-space:nowrap;
}

.module-customers .metric-card h3{
    font-size:13px;
}

.module-customers .metric-number{
    font-size:26px;
}

.module-customers .table th{
    font-size:12px;
    text-transform:uppercase;
}

@media(max-width:1180px){
    .td-sidebar{
        width:272px;
        max-width:86vw;
    }
    .td-main,
    .app-shell.sidebar-collapsed .td-main{
        margin-left:0;
        width:100%;
    }
    .dashboard-main-rail{
        grid-template-columns:1fr;
    }
    .dashboard-top-grid{
        grid-template-columns:1fr;
        margin-bottom:10px;
    }
}

/* DASHBOARD COMMAND CENTER V2 */
.dashboard-breadcrumbs{
    margin-bottom:12px;
    color:#6b7280;
    font-size:13px;
    font-weight:700;
}

.dashboard-command-v2{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    background:
        radial-gradient(130% 220% at 100% 0%, rgba(44,185,176,.22), transparent 45%),
        radial-gradient(120% 180% at 0% 100%, rgba(70,168,255,.16), transparent 42%),
        linear-gradient(145deg, #ffffff, #f6fcff);
    border:1px solid #dcedff;
}

.dashboard-quick-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:flex-end;
}

.dashboard-filter-row{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr)) auto;
    gap:14px;
    align-items:end;
}

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

.dashboard-card{
    border:1px solid #d7e9ff;
    border-radius:16px;
    background:
        linear-gradient(175deg, rgba(255,255,255,0.95), rgba(246,252,255,0.95)),
        linear-gradient(135deg, rgba(38,166,154,0.08), rgba(66,165,245,0.08));
    box-shadow:0 10px 26px rgba(13, 61, 109, 0.1);
    padding:16px;
    display:flex;
    gap:12px;
    min-height:116px;
}

.clickable-card{
    cursor:pointer;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.clickable-card:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 30px rgba(31, 91, 149, 0.16);
    border-color:#8fd0ff;
}

.dashboard-card-icon{
    width:44px;
    height:44px;
    border-radius:12px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#17b0a9,#2f9fff);
    color:#fff;
    font-size:18px;
    box-shadow:0 8px 18px rgba(23, 160, 167, 0.32);
}

.dashboard-card-title{
    font-size:12px;
    font-weight:800;
    color:#5b7089;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.dashboard-card-value{
    margin-top:4px;
    font-size:28px;
    line-height:1.1;
    font-weight:900;
    color:#10263f;
}

.dashboard-card-subtitle{
    margin-top:4px;
    font-size:12px;
    color:#7390ad;
    font-weight:800;
}

.dashboard-chart-shell{
    min-height:210px;
    margin-bottom:8px;
    padding:8px 2px 2px;
}

.dashboard-chart-shell.compact{
    min-height:190px;
    margin-bottom:14px;
}

.dashboard-chart-shell canvas{
    width:100% !important;
    height:100% !important;
}

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

.page-dashboard .td-panel{
    border:1px solid #dbeeff;
    box-shadow:0 12px 25px rgba(18, 83, 142, 0.08);
    background:linear-gradient(180deg,#ffffff,#f9fdff);
}

.page-dashboard .reports-stat-row{
    background:linear-gradient(135deg,#f8fdff,#f3f9ff);
    border-color:#d9ebfb;
}

.page-dashboard .reports-stat-row strong{
    color:#163a5f;
}

.dashboard-right-rail .td-panel{
    border-radius:16px;
}

.dashboard-side-divider{
    border-top:1px solid #d8ecff;
    margin:14px 0 12px;
}

.dashboard-mini-calendar .cal-day{
    background:#f4fbff;
    border-color:#d8ecfb;
}

.dashboard-mini-calendar .cal-day.today{
    background:linear-gradient(135deg,#16b1aa,#2f9fff);
    border-color:#1fa8c4;
}

.dashboard-kpi-grid.is-loading .dashboard-card-value{
    color:transparent;
    border-radius:8px;
    background:linear-gradient(90deg,#e5e7eb,#f1f5f9,#e5e7eb);
    background-size:220% 100%;
    animation:dashShimmer 1.2s linear infinite;
}

.dashboard-toast{
    position:fixed;
    right:24px;
    bottom:24px;
    background:#1f2937;
    color:#fff;
    padding:12px 14px;
    border-radius:12px;
    box-shadow:0 10px 26px rgba(0,0,0,.25);
    z-index:999;
    opacity:0;
    transform:translateY(6px);
    transition:.2s ease;
}

.dashboard-toast.is-visible{
    opacity:1;
    transform:translateY(0);
}

@keyframes dashShimmer{
    0%{background-position:100% 0;}
    100%{background-position:-100% 0;}
}

@media(max-width:768px){
    .actions{
        gap:10px;
    }

    .actions .btn,
    .actions .link-btn{
        width:100%;
        justify-content:center;
    }

    .dashboard-chart-shell{
        min-height:250px;
    }

    .dashboard-chart-shell canvas{
        height:220px !important;
    }

    .hero-command{
        padding:22px 18px;
        border-radius:18px;
    }

    .premium-card{
        padding:18px;
    }

    .premium-card h2{
        font-size:32px;
    }

    .compact-auth-page{
        background:#eef4ff;
        min-height:auto;
        padding:12px;
    }

    .compact-auth-page .login-card{
        width:100%;
        max-width:100%;
        margin:0;
        border-radius:20px;
        padding:24px 20px;
        box-shadow:0 10px 24px rgba(15,23,42,.12);
    }

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

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

    .dashboard-command-v2{
        flex-direction:column;
    }

    .dashboard-quick-actions{
        width:100%;
        justify-content:flex-start;
    }

}

@media(max-width:1200px){
    .subscription-row-form{
        grid-template-columns:repeat(2,minmax(160px,1fr));
    }
}

/* ------------------------------------------------------------------
   Dashboard “Voyage” theme — vibrant travel palette, tighter rhythm,
   premium depth (scoped to home dashboard only).
   ------------------------------------------------------------------ */
.page-dashboard .td-content{
    padding:18px 26px 44px;
    background:
        radial-gradient(900px 520px at 12% -8%, rgba(255, 138, 101, 0.22), transparent 55%),
        radial-gradient(700px 480px at 92% 0%, rgba(167, 139, 250, 0.18), transparent 50%),
        radial-gradient(800px 600px at 50% 105%, rgba(45, 212, 191, 0.14), transparent 55%),
        linear-gradient(165deg, #fffaf5 0%, #f5fbff 38%, #fff8f0 100%);
}

.page-dashboard .dashboard-voyage{
    position:relative;
}

.page-dashboard .dashboard-main-block,
.page-dashboard .dashboard-right-block{
    min-height:auto;
}

.page-dashboard .dashboard-breadcrumbs{
    color:#7c4a2e;
    opacity:.85;
    margin-bottom:10px;
}

.page-dashboard .hero-dashboard,
.page-dashboard .dashboard-command-v2{
    border-radius:22px;
    padding:22px 26px;
    border:1px solid rgba(255, 255, 255, 0.75);
    box-shadow:
        0 4px 0 rgba(255, 255, 255, 0.65) inset,
        0 18px 40px rgba(15, 76, 117, 0.12),
        0 1px 0 rgba(14, 116, 144, 0.08);
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(251, 191, 36, 0.35), transparent 42%),
        radial-gradient(90% 100% at 0% 100%, rgba(45, 212, 191, 0.25), transparent 45%),
        linear-gradient(135deg, #ffffff 0%, #f0fffc 55%, #fff7ed 100%);
}

.page-dashboard .hero-dashboard h1,
.page-dashboard .td-panel h2,
.page-dashboard .dashboard-card-value{
    font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
}

.page-dashboard .hero-dashboard h1{
    font-size:clamp(1.45rem, 2.6vw, 2rem);
    letter-spacing:-.03em;
    color:#0c4a6e;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)){
    .page-dashboard .hero-dashboard h1{
        background:linear-gradient(105deg, #0c4a6e 0%, #0f766e 45%, #c2410c 100%);
        -webkit-background-clip:text;
        background-clip:text;
        color:transparent;
    }
}

.page-dashboard .hero-dashboard p{
    color:#475569;
    font-weight:700;
}

.page-dashboard .dashboard-quick-actions .btn{
    background:linear-gradient(135deg, #0ea5e9, #6366f1);
    box-shadow:0 10px 26px rgba(99, 102, 241, 0.28);
}

.page-dashboard .dashboard-quick-actions .btn.secondary{
    background:linear-gradient(180deg, #ffffff, #fff7ed);
    color:#c2410c;
    border:1px solid rgba(251, 146, 60, 0.45);
    box-shadow:0 8px 18px rgba(251, 146, 60, 0.12);
}

.page-dashboard .td-panel,
.page-dashboard .panel{
    padding:18px 20px;
    margin-bottom:14px;
    border-radius:18px;
    border:1px solid rgba(255, 255, 255, 0.9);
    background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,252,248,.96) 100%);
    box-shadow:
        0 1px 0 rgba(255,255,255,.9) inset,
        0 14px 34px rgba(15, 76, 117, 0.08);
}

.page-dashboard .actions{
    margin-bottom:14px;
}

.page-dashboard .td-panel h2{
    font-size:1.05rem;
    letter-spacing:-.02em;
    color:#0f172a;
}

.page-dashboard .dashboard-pro-grid,
.page-dashboard .dashboard-grid{
    gap:14px;
    margin-bottom:14px;
}

.page-dashboard .dashboard-top-grid{
    grid-template-columns:minmax(0,1fr) minmax(250px,320px);
    margin-bottom:10px;
    gap:12px;
}

.page-dashboard .dashboard-main-rail{
    grid-template-columns:minmax(0,1fr) minmax(280px,360px);
    align-items:start;
}

.page-dashboard .dashboard-kpi-grid{
    gap:12px;
    margin-bottom:4px;
}

.page-dashboard .dashboard-card{
    border-radius:16px;
    border:1px solid rgba(226, 232, 240, 0.95);
    min-height:108px;
    padding:14px 14px 14px 16px;
    background:linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
    box-shadow:0 10px 28px rgba(15, 23, 42, 0.06);
}

.page-dashboard .dashboard-card--accent-lagoon .dashboard-card-icon{
    background:linear-gradient(135deg, #06b6d4, #0ea5e9);
    box-shadow:0 10px 22px rgba(6, 182, 212, 0.35);
}

.page-dashboard .dashboard-card--accent-mint .dashboard-card-icon{
    background:linear-gradient(135deg, #10b981, #14b8a6);
    box-shadow:0 10px 22px rgba(16, 185, 129, 0.32);
}

.page-dashboard .dashboard-card--accent-citrus .dashboard-card-icon{
    background:linear-gradient(135deg, #f59e0b, #f97316);
    box-shadow:0 10px 22px rgba(249, 115, 22, 0.32);
}

.page-dashboard .dashboard-card--accent-violet .dashboard-card-icon{
    background:linear-gradient(135deg, #8b5cf6, #6366f1);
    box-shadow:0 10px 22px rgba(99, 102, 241, 0.32);
}

.page-dashboard .dashboard-card--accent-sunset .dashboard-card-icon{
    background:linear-gradient(135deg, #fb7185, #f97316);
    box-shadow:0 10px 22px rgba(251, 113, 133, 0.32);
}

.page-dashboard .dashboard-card--accent-sky .dashboard-card-icon{
    background:linear-gradient(135deg, #38bdf8, #3b82f6);
    box-shadow:0 10px 22px rgba(59, 130, 246, 0.3);
}

.page-dashboard .dashboard-card--accent-rose .dashboard-card-icon{
    background:linear-gradient(135deg, #f43f5e, #ec4899);
    box-shadow:0 10px 22px rgba(236, 72, 153, 0.28);
}

.page-dashboard .dashboard-chart-shell{
    min-height:170px;
    margin-bottom:6px;
    padding:10px 12px 4px;
    border-radius:14px;
    background:linear-gradient(180deg, rgba(248, 250, 252, 0.9), rgba(255, 255, 255, 0.5));
    border:1px solid rgba(226, 232, 240, 0.85);
}

.page-dashboard .dashboard-chart-shell.compact{
    min-height:156px;
    margin-bottom:10px;
}

.page-dashboard .dashboard-chip-grid .ops-pill{
    border-radius:12px;
    background:linear-gradient(180deg, #ffffff, #f1f5f9);
    border:1px solid #e2e8f0;
}

.page-dashboard .dashboard-chip-grid .ops-pill strong{
    background:linear-gradient(135deg, #6366f1, #8b5cf6);
    min-width:2rem;
    text-align:center;
}

.page-dashboard .reports-stat-row{
    border-radius:12px;
    border:1px solid rgba(226, 232, 240, 0.95);
    background:linear-gradient(95deg, rgba(255,255,255,.95), rgba(240, 253, 250, 0.55));
}

.page-dashboard .reports-stat-row.accent{
    background:linear-gradient(95deg, rgba(255, 247, 237, 0.95), rgba(254, 243, 199, 0.45));
    border-color:rgba(251, 191, 36, 0.45);
}

.page-dashboard .trip-card{
    border-radius:14px;
    border:1px solid rgba(226, 232, 240, 0.95);
    background:linear-gradient(100deg, #ffffff 0%, rgba(240, 253, 250, 0.35) 55%, rgba(255, 251, 235, 0.45) 100%);
    box-shadow:0 8px 22px rgba(15, 23, 42, 0.05);
}

.page-dashboard .trip-card b{
    color:#0f766e;
    font-family:'Plus Jakarta Sans','Inter',sans-serif;
    font-weight:800;
}

.page-dashboard .dashboard-mini-calendar .cal-day.today{
    background:linear-gradient(135deg, #f97316, #ec4899);
    border-color:transparent;
}

.page-dashboard .dashboard-right-rail .td-panel{
    background:linear-gradient(165deg, #ffffff, #fffbeb);
    border-color:rgba(251, 191, 36, 0.35);
}

.page-dashboard .dashboard-side-stack{
    display:grid;
    gap:12px;
    align-content:start;
}

.page-dashboard .dashboard-calendar-card{
    overflow:hidden;
}

.page-dashboard .dashboard-calendar-card .actions{
    margin-bottom:10px;
}

.page-dashboard .dashboard-calendar-card .dashboard-mini-calendar{
    gap:5px;
}

.page-dashboard .dashboard-mini-calendar .cal-head{
    font-size:11px;
    letter-spacing:.02em;
    color:#64748b;
}

.page-dashboard .dashboard-mini-calendar .cal-day{
    min-height:26px;
    display:grid;
    place-items:center;
    border-radius:8px;
    font-size:12px;
}

.page-dashboard .dashboard-command-meta span{
    color:#64748b;
    font-weight:700;
}

/* Final spacing/alignment responsive pass */
.page-dashboard .td-sidebar{
    width:260px;
}

.page-dashboard .td-main{
    margin-left:260px;
    width:calc(100% - 260px);
}

.page-dashboard .dashboard-voyage{
    max-width:1480px;
    margin:0 auto;
}

.page-dashboard .dashboard-command-v2{
    padding:24px 28px;
}

.page-dashboard .dashboard-quick-actions{
    gap:12px 16px;
    align-items:flex-start;
}

.page-dashboard .dashboard-filter-row{
    grid-template-columns:minmax(140px, .9fr) minmax(130px,.85fr) minmax(130px,.85fr) minmax(240px,1.5fr) auto;
    gap:12px 16px;
}

.page-dashboard .dashboard-filter-row .field{
    min-width:0;
}

.page-dashboard .dashboard-filter-row input,
.page-dashboard .dashboard-filter-row select{
    min-height:44px;
}

.page-dashboard .dashboard-top-grid{
    grid-template-columns:minmax(0,1fr) 340px;
    gap:20px;
}

.page-dashboard .dashboard-kpi-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin-top:16px;
}

.page-dashboard .dashboard-card{
    min-height:96px;
    padding:18px;
    border-radius:18px;
    gap:14px;
}

.page-dashboard .dashboard-card-title{
    font-size:12px;
}

.page-dashboard .dashboard-card-value{
    font-size:28px;
}

.page-dashboard .dashboard-content-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 340px;
    gap:20px;
    align-items:start;
    margin-top:22px;
}

.page-dashboard .dashboard-left-stack,
.page-dashboard .dashboard-right-stack{
    display:grid;
    gap:20px;
    align-content:start;
}

.page-dashboard .dashboard-section-card{
    padding:20px;
    border-radius:20px;
    margin-bottom:0;
    box-shadow:0 12px 30px rgba(15, 23, 42, 0.06);
    border:1px solid rgba(15, 23, 42, 0.08);
    background:#fff;
}

.page-dashboard .dashboard-chart-shell{
    min-height:260px;
    margin-bottom:14px;
}

.page-dashboard .dashboard-chart-shell.compact{
    min-height:210px;
}

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

.page-dashboard .reports-stat-row{
    min-height:48px;
    padding:12px 14px;
    align-items:center;
}

.page-dashboard .reports-stat-row strong{
    text-align:right;
}

.page-dashboard .reports-stat-row:hover{
    transform:translateY(-1px);
    box-shadow:0 6px 16px rgba(15,23,42,.06);
}

.page-dashboard .dashboard-calendar-card .dashboard-mini-calendar{
    gap:8px;
}

.page-dashboard .dashboard-mini-calendar .cal-day{
    min-height:34px;
}

.page-dashboard #dashboardRecentBookings .trip-card{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    padding:14px;
    margin-bottom:12px;
}

.page-dashboard .dashboard-right-stack .trip-card{
    padding:14px;
    margin-bottom:12px;
}

.page-dashboard .trip-card .table-actions{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.page-dashboard .trip-card .table-actions .act{
    white-space:nowrap;
}

@media(max-width:1200px){
    .page-dashboard .td-main,
    .page-dashboard .app-shell.sidebar-collapsed .td-main{
        margin-left:0;
        width:100%;
    }

    .page-dashboard .td-content{
        padding:16px;
    }

    .page-dashboard .dashboard-filter-row{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

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

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

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

    .page-dashboard .dashboard-right-stack{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:20px;
    }
}

@media(max-width:768px){
    .page-dashboard .td-content{
        padding:16px;
    }

    .page-dashboard .dashboard-command-v2{
        padding:18px;
        flex-direction:column;
        align-items:flex-start;
    }

    .page-dashboard .dashboard-quick-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }

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

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

    .page-dashboard .dashboard-right-stack{
        grid-template-columns:1fr;
    }

    .page-dashboard #dashboardRecentBookings .trip-card{
        flex-direction:column;
        align-items:flex-start;
    }

    .page-dashboard .trip-card .table-actions{
        justify-content:flex-start;
    }
}

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

    .page-dashboard .dashboard-right-rail{
        grid-template-columns:1fr;
    }

    .page-dashboard .dashboard-main-rail{
        grid-template-columns:1fr;
    }
}

@media(max-width:980px){
    .page-dashboard .td-content{
        padding:14px 14px 28px;
    }

    .page-dashboard .hero-dashboard,
    .page-dashboard .dashboard-command-v2{
        padding:16px;
        border-radius:16px;
    }

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

    .page-dashboard .dashboard-card{
        min-height:96px;
    }

    .page-dashboard .dashboard-card-value{
        font-size:22px;
    }
}

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

    .page-dashboard .dashboard-chart-shell,
    .page-dashboard .dashboard-chart-shell.compact{
        min-height:145px;
        padding:8px;
    }

    .page-dashboard .dashboard-mini-calendar .cal-day{
        min-height:24px;
        font-size:11px;
    }
}

/* Package builder — day-wise itinerary */
#pkg-itinerary .itinerary-card{
    border-radius:16px;
    border:1px solid rgba(15, 23, 42, 0.08);
    box-shadow:0 10px 26px rgba(15, 23, 42, 0.06);
    padding:16px;
    margin-bottom:16px;
    background:#fff;
}

.itinerary-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:4px;
}

.itinerary-accordion-toggle{
    flex:1;
    text-align:left;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid #e2e8f0;
    background:#f8fafc;
    cursor:pointer;
    font:inherit;
    font-weight:800;
    color:#0f172a;
}

.itinerary-accordion-toggle:hover{
    border-color:#cbd5e1;
    background:#f1f5f9;
}

.itinerary-day-pill{
    display:inline-flex;
    align-items:center;
    padding:4px 10px;
    border-radius:999px;
    background:linear-gradient(135deg,#0ea5e9,#6366f1);
    color:#fff;
    font-size:12px;
    font-weight:900;
}

.itinerary-head-summary{
    font-size:13px;
    font-weight:600;
    color:#475569;
    flex:1;
    min-width:0;
}

.itinerary-card-actions{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    justify-content:flex-end;
}

.itinerary-day-grid{
    gap:16px;
}

@media(min-width:900px){
    .itinerary-day-grid{
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    .itinerary-day-grid .field.full{
        grid-column:1 / -1;
    }
}

.pkg-chip-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
}

.pkg-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 10px;
    border-radius:8px;
    background:#f1f5f9;
    border:1px solid #e2e8f0;
    font-size:13px;
    max-width:100%;
}

.pkg-chip-text{
    flex:1;
    min-width:0;
    word-break:break-word;
}

.pkg-chip-actions{
    display:inline-flex;
    flex-shrink:0;
    gap:4px;
    align-items:center;
}

.package-step-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.step-tab{
    border:1px solid #cbd5e1;
    background:#fff;
    color:#334155;
    border-radius:999px;
    padding:8px 12px;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}

.step-tab.active{
    background:#0f172a;
    color:#fff;
    border-color:#0f172a;
}

.package-step-panel{
    display:none;
}

.package-step-panel.is-active{
    display:block;
}

.package-sticky-actions{
    position:sticky;
    bottom:10px;
    z-index:25;
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:12px;
    box-shadow:0 8px 30px rgba(15,23,42,.08);
    padding:12px;
    margin-top:18px;
    display:flex;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
}

@media(max-width:768px){
    .package-sticky-actions{
        bottom:0;
        border-radius:10px 10px 0 0;
    }
}

.sr-only{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0, 0, 0, 0) !important;
    white-space:nowrap !important;
    border:0 !important;
}

input[type="checkbox"]{
    width:14px !important;
    height:14px !important;
    min-width:14px;
    min-height:14px;
}

/* ==========================================================
   Unified 2026 palette: CRM + Auth pages
   Appended at end to override legacy theme blocks.
   ========================================================== */
:root{
    --navy:#0f1b3d;
    --navy2:#14295c;
    --navy3:#1c3f7e;
    --blue:#2563eb;
    --blue2:#3b82f6;
    --sky:#38bdf8;
    --green:#14b8a6;
    --purple:#8b5cf6;
    --gold:#f59e0b;
    --text:#0f172a;
    --muted:#64748b;
    --line:#dbe5f4;
    --bg:#f5f8ff;
    --card:#ffffff;
    --soft:#f8fbff;
    --shadow:0 12px 34px rgba(37,99,235,.09);
    --shadow-lg:0 22px 55px rgba(37,99,235,.14);
}

body{
    background:
        radial-gradient(circle at 8% 8%,rgba(59,130,246,.10),transparent 35%),
        radial-gradient(circle at 92% 6%,rgba(20,184,166,.10),transparent 30%),
        linear-gradient(180deg,#f8fbff 0%,#f3f7ff 100%);
    color:var(--text);
}

.td-sidebar{
    background:
        linear-gradient(180deg,rgba(15,27,61,.98),rgba(20,41,92,.98)),
        radial-gradient(circle at top left,rgba(56,189,248,.24),transparent 42%);
    color:#fff;
}

.td-brand{
    border-bottom:1px solid rgba(255,255,255,.10);
}

.td-brand strong{
    color:#ffffff;
    max-width:200px;
}

.td-brand span{
    color:#bae6fd;
    max-width:200px;
}

.td-brand-main > div{
    min-width:0;
    flex:1;
}

.nav-section{
    color:rgba(255,255,255,.42);
}

.nav-link{
    color:rgba(255,255,255,.78);
}

.nav-link:hover{
    background:rgba(255,255,255,.09);
    color:#ffffff;
}

.sidebar-toggle-desktop{
    background:rgba(255,255,255,.12);
    color:#ffffff;
}

.sidebar-toggle-desktop:hover{
    background:rgba(255,255,255,.18);
}

.nav-link.active{
    background:linear-gradient(90deg,rgba(56,189,248,.22),rgba(139,92,246,.20));
    border-color:rgba(255,255,255,.24);
    color:#ffffff;
}

.btn{
    background:linear-gradient(135deg,var(--blue),var(--blue2));
    border:none;
    box-shadow:0 10px 24px rgba(37,99,235,.28);
}
.btn:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(37,99,235,.34);
}
.btn.secondary{
    background:linear-gradient(135deg,#ffffff,#f3f9ff);
    color:#1e3a8a;
    border:1px solid #cdddf7;
    box-shadow:0 8px 22px rgba(30,58,138,.12);
}

.td-panel,
.panel,
.metric-card,
.package-card{
    border:1px solid var(--line);
    box-shadow:var(--shadow);
}

/* Auth pages: login / signup / forgot / reset / verify */
.login-page{
    background:
        radial-gradient(circle at 10% 10%,rgba(59,130,246,.14),transparent 38%),
        radial-gradient(circle at 90% 8%,rgba(20,184,166,.12),transparent 34%),
        linear-gradient(180deg,#eef4ff 0%,#f3f7ff 100%);
}

.login-card{
    border:1px solid #c7d9f5;
    box-shadow:0 24px 54px rgba(37,99,235,.14);
    background:#ffffff;
    color:var(--text);
}

.login-card h1,
.login-card h2{
    color:#0f172a;
}

.login-card > p,
.login-card .muted{
    color:#475569;
}

/* Left panel — dark branded side, high-contrast white text */
.login-copy{
    background:
        linear-gradient(155deg,#0f1b3d 0%,#1e40af 42%,#2563eb 72%,#0ea5e9 100%),
        radial-gradient(circle at 85% 15%,rgba(255,255,255,.12),transparent 45%);
    color:#ffffff;
    border-right:1px solid rgba(255,255,255,.08);
}

.login-copy h1,
.login-copy h2{
    color:#ffffff;
    text-shadow:0 1px 2px rgba(15,23,42,.2);
}

.login-copy .reports-kicker{
    color:#e0f2fe;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.24);
}

.login-copy .muted,
.login-copy p.muted{
    color:rgba(255,255,255,.92) !important;
}

.login-feature-list span{
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.22);
    color:#ffffff;
}

.login-form-wrap{
    background:#ffffff;
    color:var(--text);
}

.login-form-wrap label{
    color:#1e3a8a;
    font-weight:700;
}

.login-form-wrap input,
.login-form-wrap select,
.login-form-wrap textarea{
    color:#0f172a;
    background:#ffffff;
    border:1px solid #c7d9f5;
}

.login-form-wrap input::placeholder,
.login-form-wrap textarea::placeholder{
    color:#94a3b8;
}

.login-submit,
.login-form-wrap .btn{
    background:linear-gradient(135deg,var(--blue),var(--blue2)) !important;
    color:#fff !important;
}

.login-links a{
    color:var(--blue);
    font-weight:700;
}
.login-links a:hover{
    color:#1d4ed8;
}

.alert{
    border-color:#d3def3;
}
.alert.success{
    background:#ecfdf5;
    border-color:#a7f3d0;
    color:#065f46;
}
.alert.error{
    background:#fef2f2;
    border-color:#fecaca;
    color:#991b1b;
}

/* Agency dashboard — role widgets (P1–P5) */
.page-dashboard .dashboard-owner-plan-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:18px;
    padding:16px 20px;
    border-radius:16px;
    background:linear-gradient(135deg, rgba(99,102,241,.08), rgba(14,165,233,.08));
    border:1px solid rgba(99,102,241,.2);
}
.page-dashboard .dashboard-owner-plan-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
    font-size:14px;
    color:#334155;
}
.page-dashboard .dashboard-owner-plan-meta strong{
    color:#0f172a;
}
.page-dashboard .dashboard-kpi-grid--owner{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
    margin-bottom:18px;
}
.page-dashboard .dashboard-mom-pill{
    display:inline-block;
    margin-left:10px;
    padding:4px 10px;
    border-radius:999px;
    background:rgba(14,165,233,.12);
    color:#0369a1;
    font-size:12px;
    font-weight:700;
}
.page-dashboard .dashboard-admin-strip{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:16px;
    margin-bottom:18px;
}
.page-dashboard .section-note.warn{
    color:#b45309;
    font-weight:700;
}
@media (max-width:900px){
    .page-dashboard .dashboard-kpi-grid--owner{
        grid-template-columns:1fr;
    }
}

.login-page input,
.login-page select,
.login-page textarea{
    color:#0f172a;
    background:#ffffff;
    border:1px solid #c7d9f5;
}
.login-page input:focus,
.login-page select:focus,
.login-page textarea:focus{
    border-color:var(--blue);
    box-shadow:0 0 0 3px rgba(37,99,235,.16);
}

/* Single-column auth cards (forgot / reset / verify) */
.compact-auth-page .login-card{
    color:var(--text);
}
.compact-auth-page .login-card h2{
    color:#0f172a;
}
.compact-auth-page .login-card .muted{
    color:#475569;
}
