@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root {
    --rm-canvas: #f7f7f4;
    --rm-surface: #ffffff;
    --rm-ink: #121212;
    --rm-muted: #77766f;
    --rm-line: #e3e2dc;
    --rm-gold: #f7ca18;
    --rm-gold-deep: #d7a700;
    --rm-gold-soft: #fff8d8;
    --rm-blue: #3c4856;
    --rm-green: #16845c;
    --rm-coral: #c94f45;
    --rm-shadow: 0 10px 30px rgba(24, 24, 24, .07);
    --rm-radius: 16px;
}

html { background: var(--rm-canvas); }
body {
    background: var(--rm-canvas) !important;
    color: var(--rm-ink);
    font-family: 'DM Sans', 'PingFang SC', sans-serif !important;
    letter-spacing: -.01em;
}
h1, h2, h3, h4, h5, h6, .brand-text { font-family: 'Manrope', 'PingFang SC', sans-serif; }

.workspace-sidebar {
    width: 258px !important;
    padding: 20px 14px 108px !important;
    background: linear-gradient(180deg, #101010 0%, #191919 76%, #121212 100%) !important;
    border-right: 1px solid #2a2a28 !important;
    box-shadow: 12px 0 35px rgba(0,0,0,.12) !important;
    overflow-x: hidden;
}
.workspace-sidebar:before, .workspace-sidebar:after { content: ''; position: absolute; pointer-events: none; opacity: .55; }
.workspace-sidebar:before { top: 106px; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, #f7ca18, transparent); }
.workspace-sidebar:after { bottom: 98px; left: -34px; width: 130px; height: 130px; border: 1px solid rgba(247,202,24,.22); transform: rotate(45deg); }
.workspace-sidebar-header {
    display: flex; align-items: center; gap: 12px;
    padding: 8px 8px 24px !important;
    margin-bottom: 8px;
    border: 0 !important;
}
.workspace-mark {
    width: 58px; height: 58px; flex: 0 0 58px; border-radius: 50%;
    display: grid; place-items: center; color: var(--rm-gold); font-size: 34px;
    background: transparent;
}
.workspace-sidebar-header h4,
.workspace-sidebar-header h4 .brand-text { margin: 0; font-size: 18px; line-height: .92; font-weight: 800; color: var(--rm-gold) !important; }
.workspace-subtitle { margin-top: 6px; color: #e5ba16; font-size: 9px; font-weight: 700; letter-spacing: .04em; }
.sidebar-section { margin-top: 6px; }
.sidebar-section-title { display: none; }
.workspace-sidebar ul li a,
.workspace-sidebar ul li a:visited {
    display: flex; align-items: center; gap: 11px;
    margin: 2px 0; padding: 12px 14px !important; border: 0 !important; border-radius: 0;
    color: #deded9 !important; font-size: 15px; font-weight: 600; text-decoration: none;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}
.workspace-sidebar ul li a i { width: 20px !important; margin: 0 !important; text-align: center; color: #a4a49d; }
.workspace-sidebar ul li a:hover { background: #272726 !important; color: #fff !important; transform: none; }
.workspace-sidebar ul li a.active { color: #111 !important; background: linear-gradient(90deg, var(--rm-gold) 0 5px, #272726 5px) !important; box-shadow: none; }
.workspace-sidebar ul li a.active i { color: #111; }
.workspace-sidebar .nav,
.workspace-sidebar .nav li,
.workspace-sidebar .sidebar-section,
.workspace-sidebar .sidebar-section li { border: 0 !important; }
.workspace-sidebar .nav li { width: 100%; }
.workspace-sidebar .nav li a,
.workspace-sidebar .nav li a .menu-text { color: #d0d0c9 !important; opacity: 1 !important; }
.workspace-sidebar .nav li a i { color: #aaa9a2 !important; }
.workspace-sidebar .nav li a.active,
.workspace-sidebar .nav li a.active .menu-text,
.workspace-sidebar .nav li a.active i { color: #121212 !important; }
.workspace-sidebar .legacy-sidebar-logout { display: none; }
.sidebar-account {
    position: absolute; left: 14px; right: 14px; bottom: 16px;
    display: flex; align-items: center; gap: 10px; padding: 11px;
    border: 1px solid #333330; border-radius: 12px; background: #1d1d1b;
}
.sidebar-account-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--rm-gold); color: #111; font-weight: 800; }
.sidebar-account-copy { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.sidebar-account-copy strong { color: #fff; font-size: 12px; overflow: hidden; text-overflow: ellipsis; }
.sidebar-account-copy span { color: #8b8b84; font-size: 10px; }
.sidebar-account .sidebar-account-logout { padding: 6px !important; margin: 0; color: #bcbcb4 !important; }
.sidebar-collapse-btn { top: 28px !important; right: -13px !important; width: 26px !important; height: 26px !important; background: #20201e !important; color: #fff !important; border: 1px solid #3b3b37 !important; box-shadow: 0 4px 12px rgba(0,0,0,.2) !important; }

.workspace-topbar { position: fixed; z-index: 1025; top: 0; left: 258px; right: 0; height: 60px; display: flex; align-items: center; gap: 20px; padding: 0 30px; background: #101010; border-bottom: 1px solid #2d2d2a; color: #f7f7f4; box-shadow: 0 4px 14px rgba(0,0,0,.18); }
.workspace-menu-trigger { width: 30px; height: 34px; border: 0; border-right: 1px solid #55554f; background: transparent; color: #fff; font-size: 17px; text-align: left; cursor: pointer; }
.workspace-crumb { display: flex; align-items: center; gap: 12px; font-size: 14px; }
.workspace-crumb span { color: #c8c8c1; }.workspace-crumb i { color: #75756f; font-size: 10px; }.workspace-crumb strong { color: #fff; font-weight: 700; }
.workspace-topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 18px; }.topbar-icon { color: #fff; font-size: 18px; text-decoration: none; }.topbar-divider { width: 1px; height: 24px; background: #595953; }.topbar-user { display: flex; align-items: center; gap: 9px; font-size: 13px; }.topbar-user span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--rm-gold); color: #111; font-size: 12px; font-weight: 800; }.topbar-user strong { font-weight: 700; }.topbar-user > i { margin-left: 7px; color: #b8b8b1; font-size: 10px; }

.main-content, .admin-main-content, .voucher-main-content {
    margin-left: 258px !important;
    width: calc(100vw - 258px) !important;
    padding: 96px clamp(22px, 3.2vw, 56px) 56px !important;
    background: radial-gradient(circle at 84% 0, rgba(247,202,24,.13), transparent 32%), var(--rm-canvas);
}
.container-fluid { padding: 0 !important; overflow: visible !important; }
.page-command-bar { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.page-context { margin: 0 0 6px; color: var(--rm-gold); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.page-command-bar h1 { margin: 0; color: var(--rm-ink); font-size: clamp(25px, 2vw, 34px); font-weight: 800; letter-spacing: -.04em; }
.page-subtitle { margin: 6px 0 0; color: var(--rm-muted); font-size: 13px; }
.page-command-actions { display: flex; align-items: center; gap: 10px; }
.dashboard-date { align-items: center; gap: 8px; min-height: 42px; padding: 0 14px; border: 1px solid var(--rm-line); border-radius: 10px; background: white; color: var(--rm-muted); font-size: 12px; }

.card { border: 1px solid var(--rm-line) !important; border-radius: 12px !important; background: var(--rm-surface) !important; box-shadow: none !important; overflow: hidden; }
.card-header { min-height: 52px; display: flex; align-items: center; padding: 14px 18px !important; border-bottom: 1px solid var(--rm-line) !important; background: white !important; color: var(--rm-ink) !important; }
.card-header h5 { font-size: 15px; font-weight: 750; }
.card-body { padding: 18px !important; }
.metric-card { min-height: 142px; margin: 0 !important; position: relative; }
.metric-card .card-title { color: var(--rm-muted); font-size: 11px; font-weight: 650; }
.metric-card h3 { margin-top: 12px; color: var(--rm-ink); font-size: clamp(25px, 2vw, 32px); font-weight: 800; letter-spacing: -.04em; }
.metric-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; font-size: 17px; }
.metric-card-amber .metric-icon { color: #7c6200; background: var(--rm-gold-soft); }
.metric-card-blue .metric-icon { color: var(--rm-blue); background: #eaf1ff; }
.metric-card-green .metric-icon { color: var(--rm-green); background: #e4f6ef; }
.metric-card-coral .metric-icon { color: var(--rm-coral); background: #ffedeb; }
.dashboard-panel { margin: 0 !important; }
.dashboard-panel .card-header small { color: var(--rm-muted); font: 500 11px 'DM Sans'; }
.panel-link, .panel-link:visited { color: #776000 !important; font-size: 11px; font-weight: 700; text-decoration: none; }
.fiscal-overview-body { display: grid; grid-template-columns: minmax(210px, .75fr) 2fr; gap: 26px; min-height: 300px; }
.fiscal-summary { padding: 8px 22px 8px 4px; border-right: 1px solid var(--rm-line); }
.fiscal-summary > span { color: var(--rm-muted); font-size: 11px; }
.fiscal-summary > strong { display: block; margin: 10px 0 14px; color: var(--rm-ink); font: 800 clamp(28px, 3vw, 42px)/1.1 'Manrope'; letter-spacing: -.05em; }
.fiscal-summary > strong.is-positive { color: var(--rm-green); }
.fiscal-summary > strong.is-negative { color: var(--rm-coral); }
.fiscal-summary-rule { height: 1px; margin: 18px 0; background: var(--rm-line); }
.fiscal-summary dl { display: grid; gap: 14px; margin: 0; }
.fiscal-summary dl > div { display: flex; justify-content: space-between; gap: 12px; }
.fiscal-summary dt { color: var(--rm-muted); font-size: 10px; font-weight: 500; }
.fiscal-summary dd { margin: 0; color: var(--rm-ink); font-size: 11px; font-weight: 750; }
.fiscal-chart-wrap { position: relative; min-width: 0; min-height: 260px; }
.service-summary-list { padding: 0 18px !important; }
.service-summary-item { display: grid; grid-template-columns: 42px 1fr auto 10px; align-items: center; gap: 11px; min-height: 66px; border-bottom: 1px solid #e8edf3; color: var(--rm-ink) !important; text-decoration: none; }
.service-summary-item:last-child { border-bottom: 0; }
.service-summary-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; }
.service-summary-icon.is-success { color: var(--rm-green); background: #dff4eb; }
.service-summary-icon.is-warning { color: #796000; background: var(--rm-gold-soft); }
.service-summary-icon.is-danger { color: var(--rm-coral); background: #ffe7e4; }
.service-summary-icon.is-secondary { color: #526176; background: #e9eef4; }
.service-summary-copy { display: flex; flex-direction: column; }
.service-summary-copy strong { color: var(--rm-ink); font-size: 12px; }
.service-summary-copy small { margin-top: 2px; color: var(--rm-muted); font-size: 9px; }
.service-summary-item b { font: 800 20px 'Manrope'; }
.service-summary-item b.is-success { color: var(--rm-green); }
.service-summary-item b.is-warning { color: #796000; }
.service-summary-item b.is-danger { color: var(--rm-coral); }
.service-summary-item b.is-secondary { color: #526176; }
.service-summary-item > .fa-chevron-right { color: #9ba7b6; font-size: 9px; }
.dashboard-history-table { min-height: 0 !important; }
.dashboard-history-table .table > :not(caption) > * > * { padding-top: 11px; padding-bottom: 11px; }
.monthly-summary { padding-top: 8px !important; padding-bottom: 8px !important; }
.monthly-summary > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 46px; border-bottom: 1px solid #e8edf3; }
.monthly-summary > div:last-child { border-bottom: 0; }
.monthly-summary span { color: var(--rm-muted); font-size: 11px; }
.monthly-summary strong { color: var(--rm-ink); font-size: 12px; }
.monthly-summary-total strong { color: var(--rm-green); font-size: 16px; }
.status-dot-label { display: inline-flex; align-items: center; gap: 5px; color: var(--rm-muted); font-size: 10px; font-weight: 700; }
.status-dot-label:before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--rm-gold); }
.status-dot-label.complete:before { background: var(--rm-green); }
.quick-action-panel { margin-top: 0 !important; }
.quick-action-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.quick-action-row a, .quick-action-row a:visited { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 8px 12px; border: 1px solid var(--rm-line); border-radius: 10px; color: #45556a !important; font-size: 11px; font-weight: 700; text-decoration: none; transition: .18s ease; }
.quick-action-row a:hover { border-color: var(--rm-gold); background: var(--rm-gold-soft); color: var(--rm-ink) !important; transform: translateY(-1px); }
.quick-action-row i { color: var(--rm-gold); font-size: 14px; }
.venue-payment-toggle { display: inline-flex; align-items: center; gap: 5px; border: 1px solid; border-radius: 8px; padding: 5px 9px; font-size: 10px; font-weight: 800; cursor: pointer; transition: .18s ease; }
.venue-payment-toggle.is-unpaid { color: #725a00; border-color: #e7c951; background: var(--rm-gold-soft); }
.venue-payment-toggle.is-paid { color: var(--rm-green); border-color: #9fd8c0; background: #ecfaf3; }
.venue-payment-toggle:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 4px 10px rgba(31,47,70,.08); }
.venue-payment-toggle:disabled { cursor: not-allowed; opacity: .5; }
.fiscal-profit-panel {
    display: flex; align-items: center; justify-content: space-between; gap: 25px;
    min-height: 170px; padding: 28px 32px; border-radius: 18px;
    background: linear-gradient(115deg, #111111, #333333); color: white !important;
    box-shadow: 0 18px 35px rgba(17,17,17,.18);
}
.fiscal-label { color: #f8d64f; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.fiscal-profit-panel h4 { margin: 15px 0 6px; font-size: 20px; font-weight: 750; }
.fiscal-profit-panel p { margin: 0; color: #b9c6d4; font-size: 12px; }
.fiscal-value { display: flex; flex-direction: column; align-items: flex-end; }
.fiscal-value strong { font: 800 clamp(32px, 4vw, 54px)/1 'Manrope'; letter-spacing: -.05em; }
.fiscal-value span { margin-top: 14px; color: #f8d64f; font-size: 11px; }
.fiscal-profit-panel.is-negative { background: linear-gradient(115deg, #3d1717, #6b2d28); }
.fiscal-profit-panel,
.fiscal-profit-panel:visited,
.fiscal-profit-panel h4,
.fiscal-profit-panel strong { color: #ffffff !important; }
.fiscal-profit-panel p { color: #b9c6d4 !important; }
.fiscal-profit-panel .fiscal-label,
.fiscal-profit-panel .fiscal-value span { color: #f8d64f !important; }

.btn { min-height: 40px; padding: 9px 15px !important; border-radius: 8px !important; font-size: 12px !important; font-weight: 750 !important; box-shadow: none !important; }
.btn-primary, .btn-success, .btn-info { border-color: var(--rm-gold) !important; background: var(--rm-gold) !important; color: #171717 !important; }
.btn-primary:hover, .btn-success:hover, .btn-info:hover { border-color: var(--rm-gold-deep) !important; background: var(--rm-gold-deep) !important; color: #171717 !important; transform: translateY(-1px); }
.btn-outline-primary { color: #625000 !important; border-color: #dfbd32 !important; }
.form-control, .form-select, .input-group-text { min-height: 42px; border-color: var(--rm-line) !important; border-radius: 10px !important; font-size: 13px; }
.form-control:focus, .form-select:focus { border-color: #d8ae00 !important; box-shadow: 0 0 0 3px rgba(243,198,35,.2) !important; }
.table { margin-bottom: 0; font-size: 12px; }
.table > :not(caption) > * > * { padding: 12px 13px; border-bottom-color: #e8edf3; vertical-align: middle; }
.table thead th { color: #748196 !important; background: #f8fafc !important; font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.table-hover tbody tr:hover td { background: #fffbeb !important; }
.badge { padding: 6px 9px; border-radius: 8px; font-size: 10px; font-weight: 700; }
.alert { border: 0; border-radius: 12px; box-shadow: var(--rm-shadow); }
.modal-content { border: 0; border-radius: 18px; box-shadow: 0 24px 70px rgba(18,32,51,.2); }

/* Fleet control console */
.equipment-console { max-width: 1540px; margin: 0 auto; }
.console-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; padding: 8px 0 22px; }
.console-overline { margin: 0 0 12px; color: #9a7b00; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.console-header h1 { margin: 0; font-size: clamp(32px, 3vw, 42px); font-weight: 800; letter-spacing: -.065em; }
.console-header p:not(.console-overline) { margin: 10px 0 0; color: var(--rm-muted); font-size: 14px; }
.console-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.btn-console-primary { border-color: var(--rm-gold) !important; background: var(--rm-gold) !important; color: #151515 !important; }
.btn-console-primary:hover { border-color: var(--rm-gold-deep) !important; background: var(--rm-gold-deep) !important; color: #151515 !important; }
.btn-console-quiet { border: 1px solid var(--rm-line) !important; background: #fff !important; color: #3a3a36 !important; }
.btn-console-quiet:hover { border-color: #cfc89d !important; background: #fffbed !important; color: #181818 !important; }
.console-metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border: 1px solid var(--rm-line); border-radius: 12px; overflow: hidden; background: #fff; }
.console-metrics > div { min-height: 116px; padding: 24px 26px; border-right: 1px solid var(--rm-line); display: flex; flex-direction: column; justify-content: space-between; }
.console-metrics > div:last-child { border-right: 0; }
.console-metrics span { color: var(--rm-muted); font-size: 11px; font-weight: 700; }
.console-metrics span i { margin-right: 6px; color: #252522; }
.console-metrics strong { color: #1b1b19; font: 800 34px/1 'Manrope'; letter-spacing: -.06em; }
.console-metrics .metric-positive strong, .console-metrics .metric-positive span i { color: var(--rm-green); }
.console-metrics .metric-idle strong, .console-metrics .metric-idle span i { color: #b88b00; }
.console-metrics .metric-alert strong, .console-metrics .metric-alert span i { color: var(--rm-coral); }
.equipment-console .nav-tabs { gap: 20px; margin: 30px 0 18px !important; border-bottom: 1px solid var(--rm-line); }
.equipment-console .nav-tabs .nav-link { padding: 0 0 12px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: var(--rm-muted); font-size: 12px; font-weight: 750; background: transparent; }
.equipment-console .nav-tabs .nav-link.active { color: #161615; border-bottom-color: var(--rm-gold-deep); background: transparent; }
.console-table-card .card-header { min-height: 76px; justify-content: space-between; padding: 18px 24px !important; }
.equipment-filter-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border-bottom: 1px solid var(--rm-line); background: #fff; }
.equipment-search { display: flex; align-items: center; gap: 10px; min-width: min(320px, 100%); margin: 0; padding: 0 12px; border: 1px solid #d8d8d2; border-radius: 5px; color: #20201e; background: #fff; }.equipment-search input { width: 100%; height: 38px; border: 0; outline: 0; font-size: 12px; background: transparent; }.equipment-search:focus-within { border-color: #d8ae00; box-shadow: 0 0 0 3px rgba(243,198,35,.15); }
.equipment-filter-selects { display: flex; align-items: center; gap: 12px; }.equipment-filter-selects label { display: flex; align-items: center; gap: 9px; margin: 0; color: #4b4b45; font-size: 11px; font-weight: 700; }.equipment-filter-selects select { height: 38px; min-width: 118px; padding: 0 28px 0 10px; border: 1px solid #d8d8d2; border-radius: 5px; background: #fff; color: #252522; font-size: 12px; }.equipment-filter-selects .btn { min-height: 38px; }
.console-table-card .card-header h5 { font-size: 15px; font-weight: 800; }
.console-table-card .card-header small { color: var(--rm-muted); font-size: 11px; }
.console-inline-link { color: #6c5700; font-size: 11px; font-weight: 800; text-decoration: none; }
.console-table-card .table thead th { padding: 13px 20px; background: #fafaf8 !important; color: #85847d !important; }
.console-table-card .table tbody td { padding: 16px 20px; }
.equipment-identity strong, .rule-value, .revenue-value { display: block; color: #20201e; font-size: 12px; font-weight: 800; }
.equipment-identity span, .revenue-month { display: block; margin-top: 4px; color: #85847d; font: 700 10px 'DM Sans'; letter-spacing: .04em; }
.venue-tag { display: inline-flex; align-items: center; gap: 6px; color: #41413d; font-size: 11px; font-weight: 700; }
.venue-tag i { color: #928063; font-size: 10px; }
.venue-tag.is-unassigned { color: #9a7600; }
.rule-type { display: block; margin-bottom: 4px; color: #85847d; font-size: 10px; font-weight: 650; }
.rule-value small { margin-left: 3px; color: #85847d; font-size: 9px; font-weight: 650; }
.equipment-state { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 800; }
.equipment-state i { font-size: 7px; }
.equipment-state.is-active { color: var(--rm-green); }
.equipment-state.is-idle { color: #9a7600; }
.equipment-state.is-inactive { color: var(--rm-coral); }
.equipment-actions { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.equipment-actions .btn { min-height: 32px; padding: 6px 8px !important; }
.state-action { border: 1px solid #dcdad1 !important; background: #fff !important; color: #5f5e58 !important; }
.state-action:hover { border-color: #c7a812 !important; background: #fff9da !important; color: #312800 !important; }
.state-action.is-resume { border-color: #d5bf4a !important; background: #fff8d6 !important; color: #5f4b00 !important; }
.state-action span { margin-left: 4px; }
.equipment-console .alert-danger { border-left: 4px solid var(--rm-coral); background: #fff4f2; color: #492423; }

.assignment-board-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 4px 0 22px; }.assignment-board-intro h2 { margin: 0; color: #1a1a18; font-size: 26px; font-weight: 800; letter-spacing: -.045em; }.assignment-board-intro p:not(.console-overline) { max-width: 720px; margin: 8px 0 0; color: var(--rm-muted); font-size: 13px; line-height: 1.65; }.assignment-board-date { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; padding: 9px 12px; border: 1px solid #e4c647; border-radius: 7px; background: #fff9df; color: #695300; font-size: 11px; font-weight: 800; }
.assignment-notice { display: none; margin-bottom: 16px; padding: 10px 13px; border-radius: 7px; font-size: 12px; font-weight: 700; }.assignment-notice.is-visible { display: block; background: #f2f2ee; color: #4b4b45; }.assignment-notice.is-success { background: #e8f8ef; color: #116440; }.assignment-notice.is-error { background: #fff0ed; color: #9b342b; }
.assignment-board { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.8fr); gap: 20px; align-items: start; }.assignment-venue-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }.assignment-lane { min-height: 220px; border: 1px solid #dddcd6; border-radius: 10px; overflow: hidden; background: #fff; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }.assignment-lane.is-unassigned { background: #fbfaf6; border-color: #dfd9bf; }.assignment-lane.is-over { border-color: var(--rm-gold-deep); background: #fffbe9; box-shadow: 0 0 0 3px rgba(247,202,24,.2); }.assignment-lane header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; min-height: 64px; padding: 14px 15px; border-bottom: 1px solid #e7e6e0; }.assignment-lane header span { display: block; color: #1d1d1b; font-size: 13px; font-weight: 800; }.assignment-lane header span i { margin-right: 6px; color: #b68a00; }.assignment-lane header small { display: block; margin-top: 3px; color: #8a8981; font-size: 10px; }.assignment-lane header b { min-width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: #f1f0eb; color: #3d3d38; font-size: 11px; }.assignment-lane.is-unassigned header b { background: var(--rm-gold); color: #201b07; }.assignment-cards { min-height: 154px; padding: 10px; }.assignment-card { display: flex; align-items: center; gap: 9px; margin-bottom: 8px; padding: 10px 9px; border: 1px solid #e2e1dc; border-radius: 7px; background: #fff; box-shadow: 0 2px 5px rgba(30,30,25,.04); cursor: grab; transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease; }.assignment-card:hover { transform: translateY(-1px); box-shadow: 0 8px 16px rgba(30,30,25,.1); }.assignment-card.is-dragging { opacity: .45; cursor: grabbing; }.assignment-grip { color: #aaa9a2; font-size: 13px; }.assignment-card > div { min-width: 0; flex: 1; }.assignment-card strong { display: block; overflow: hidden; color: #282824; font-size: 11px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }.assignment-card span { display: block; margin-top: 3px; color: #898880; font-size: 9px; font-weight: 700; letter-spacing: .04em; }.assignment-card em { flex: 0 0 auto; padding: 4px 6px; border-radius: 5px; font-size: 9px; font-style: normal; font-weight: 800; }.assignment-card em.is-active { background: #e5f6ed; color: #117245; }.assignment-card em.is-idle { background: #fff2c5; color: #876700; }.assignment-empty { display: none; margin: 42px 0 0; color: #a2a199; font-size: 11px; text-align: center; }.assignment-lane.is-empty .assignment-empty { display: block; }
.archived-venues-panel { margin-top: 20px; border: 1px solid #deddd8; border-radius: 9px; background: #f8f8f6; }.archived-venues-panel summary { display: flex; align-items: center; gap: 10px; padding: 14px 16px; color: #51514c; cursor: pointer; list-style: none; font-size: 12px; font-weight: 800; }.archived-venues-panel summary::-webkit-details-marker { display: none; }.archived-venues-panel summary span i { margin-right: 7px; color: #77766f; }.archived-venues-panel summary b { min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: #e2e1dc; color: #4b4b45; font-size: 10px; }.archived-chevron { margin-left: auto; color: #92918a; font-size: 10px; transition: transform .16s ease; }.archived-venues-panel[open] .archived-chevron { transform: rotate(180deg); }.archived-venues-content { padding: 0 16px 16px; border-top: 1px solid #e3e2dd; }.archived-venues-content > p { margin: 13px 0; color: #797871; font-size: 11px; }.archived-venue-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }.archived-venue-item { display: flex; flex-direction: column; gap: 4px; padding: 11px; border: 1px solid #e0dfd9; border-radius: 7px; background: #fff; }.archived-venue-item span { color: #41413c; font-size: 11px; font-weight: 800; }.archived-venue-item span i { margin-right: 6px; color: #85847d; }.archived-venue-item small { color: #85847d; font-size: 10px; }.archived-venue-item em { color: #787770; font-size: 10px; font-style: normal; font-weight: 700; }.archived-venue-empty { padding: 16px; color: #96958f; font-size: 11px; text-align: center; }.archived-venues-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; color: #6a5500; font-size: 11px; font-weight: 800; text-decoration: none; }
.workspace-section-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 4px 0 22px; }.workspace-section-header h2 { margin: 0; color: #1a1a18; font-size: 26px; font-weight: 800; letter-spacing: -.045em; }.workspace-section-header p { margin: 8px 0 0; color: var(--rm-muted); font-size: 13px; }.venue-control-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }.venue-control-card { min-height: 174px; display: flex; flex-direction: column; border: 1px solid #dfded8; border-radius: 10px; background: #fff; overflow: hidden; }.venue-control-card.is-archived { background: #f7f7f5; border-color: #d8d7d1; }.venue-control-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 15px; border-bottom: 1px solid #e8e7e2; }.venue-control-card header > div { display: flex; min-width: 0; gap: 10px; }.venue-control-icon { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 7px; background: #fff3c5; color: #765900; }.venue-control-card h3 { overflow: hidden; margin: 0; color: #22221f; font-size: 13px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }.venue-control-card header small { display: block; overflow: hidden; margin-top: 4px; color: #898880; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.venue-control-card header em { flex: 0 0 auto; padding: 4px 7px; border-radius: 5px; background: #e5f6ed; color: #117245; font-size: 9px; font-style: normal; font-weight: 800; }.venue-control-card.is-archived header em { background: #e8e7e2; color: #66655f; }.venue-control-meta { display: flex; gap: 13px; padding: 12px 15px; color: #77766f; font-size: 10px; }.venue-control-meta i { margin-right: 4px; color: #a27d00; }.venue-control-card footer { display: flex; gap: 6px; margin-top: auto; padding: 10px 12px; border-top: 1px solid #e8e7e2; }.venue-control-card footer .btn { min-height: 31px; padding: 5px 7px !important; font-size: 10px !important; }.venue-control-card footer .btn:first-child { flex: 1; }

@media (max-width: 1100px) {
    .console-header { align-items: flex-start; flex-direction: column; }
    .console-actions { justify-content: flex-start; }
    .console-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .console-metrics > div:nth-child(2) { border-right: 0; }
    .console-metrics > div:nth-child(-n+2) { border-bottom: 1px solid var(--rm-line); }
    .assignment-board { grid-template-columns: 1fr; }.assignment-venue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .archived-venue-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.login-premium { position: relative; overflow: hidden; padding: 24px; background: #edf2f7 !important; }
.login-frame { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; max-width: 1180px; min-height: calc(100vh - 48px); margin: 0 auto; overflow: hidden; border: 1px solid rgba(255,255,255,.8); border-radius: 26px; background: white; box-shadow: 0 30px 80px rgba(23,39,58,.15); }
.login-story { position: relative; flex-direction: column; justify-content: space-between; padding: 48px; color: white; background: radial-gradient(circle at 15% 85%, rgba(243,198,35,.32), transparent 31%), linear-gradient(145deg, #111111, #303030); }
.login-story:after { content: ''; position: absolute; width: 260px; height: 260px; right: -70px; top: 20%; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.025), 0 0 0 84px rgba(255,255,255,.018); }
.login-brand, .login-mobile-brand { display: flex; align-items: center; gap: 11px; font: 800 17px 'Manrope'; }
.login-brand { color: #ffffff !important; }
.login-brand span, .login-mobile-brand span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: white; background: var(--rm-gold); font-size: 13px; }
.login-story-copy { position: relative; z-index: 1; max-width: 470px; }
.login-story h1 { margin: 0 0 22px; color: #ffffff !important; font-size: clamp(38px, 4vw, 60px); line-height: 1.14; font-weight: 800; letter-spacing: -.055em; }
.login-story p { color: #cbd6e1 !important; font-size: 15px; line-height: 1.8; }
.login-proof { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 38px; color: #d7e0e9; font-size: 12px; }
.login-proof i { margin-right: 6px; color: var(--rm-gold); }
.login-story > small { color: #89a0b5; font-size: 9px; letter-spacing: .18em; }
.login-panel { display: grid; place-items: center; padding: 42px; }
.login-card { width: 100%; max-width: 410px; }
.login-card-body { padding: 0; }
.login-heading { margin-bottom: 34px; }
.login-heading h2 { margin: 0; color: var(--rm-ink); font-size: 32px; font-weight: 800; }
.login-heading p { margin: 8px 0 0; color: var(--rm-muted); }
.login-premium .input-group { padding: 2px; border: 1px solid var(--rm-line); border-radius: 12px; background: white; }
.login-premium .input-group-text, .login-premium .form-control { border: 0 !important; background: white !important; }
.login-premium .input-group-text { color: #8290a3; }
.login-premium .btn-lg { min-height: 50px; }
.login-premium hr { border-color: var(--rm-line); opacity: 1; }

@media (max-width: 992px) {
    .login-frame { grid-template-columns: 1fr; }
    .workspace-sidebar { transform: translateX(-100%); width: 270px !important; box-shadow: 16px 0 45px rgba(0,0,0,.3) !important; }
    .workspace-sidebar.show { transform: translateX(0); }
    .workspace-topbar { left: 0; padding: 0 18px; }.workspace-topbar-actions { gap: 10px; }.workspace-crumb { font-size: 12px; }.topbar-user strong, .topbar-user > i, .topbar-divider { display: none; }
    .main-content, .admin-main-content, .voucher-main-content { margin-left: 0 !important; width: 100% !important; padding: 84px 18px 36px !important; }
    .quick-action-row { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
    .page-command-bar { flex-direction: column; }
    .page-command-actions, .page-command-actions .btn { width: 100%; }
    .fiscal-profit-panel { align-items: flex-start; flex-direction: column; padding: 24px; }
    .fiscal-value { align-items: flex-start; }
    .fiscal-overview-body { grid-template-columns: 1fr; }
    .fiscal-summary { padding-right: 4px; border-right: 0; border-bottom: 1px solid var(--rm-line); }
    .fiscal-chart-wrap { min-height: 230px; }
    .quick-action-row { grid-template-columns: repeat(2, 1fr); }
    .login-premium { padding: 0; }
    .login-frame { min-height: 100vh; border-radius: 0; }
    .login-panel { padding: 28px 22px; }
    .login-mobile-brand { margin-bottom: 38px; }
    .console-metrics { grid-template-columns: 1fr; }
    .console-metrics > div, .console-metrics > div:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--rm-line); }
    .console-metrics > div:last-child { border-bottom: 0; }
    .console-header { padding-bottom: 24px; }
    .console-actions { width: 100%; }
    .console-actions .btn { flex: 1; }
    .equipment-filter-bar, .equipment-filter-selects { align-items: stretch; flex-direction: column; }.equipment-search { min-width: 100%; }.equipment-filter-selects label { justify-content: space-between; }.equipment-filter-selects select { flex: 1; }
    .assignment-board-intro { align-items: flex-start; flex-direction: column; }.assignment-venue-grid { grid-template-columns: 1fr; }
    .archived-venue-list { grid-template-columns: 1fr; }
    .state-action span { display: none; }
}
