/* Views2 presentation layer. Retains legacy component classes and API hooks. */
:root { --v2-primary:#ff5b35; --v2-soft:#fff2ed; --v2-border:#eaeff5; --v2-muted:#64748b; --v2-bg:#f5f7fa; --cui-primary:#ff5b35; --cui-primary-rgb:255,91,53; --bs-primary:#ff5b35; --bs-primary-rgb:255,91,53; }
body.interface-v2 { font-family:Inter,system-ui,-apple-system,sans-serif!important; font-size:13px; line-height:1.5; color:#0f172a; background:var(--v2-bg)!important; }
.interface-v2 button,.interface-v2 input,.interface-v2 select,.interface-v2 textarea { font-family:inherit; }
.interface-v2 a { text-decoration:none; }
.interface-v2 .wrapper { background:var(--v2-bg); }
.interface-v2 .body > .container-lg { padding:0 24px 24px; }
.interface-v2 .body .container-fluid { padding:0; }
.interface-v2 .sidebar { --cui-sidebar-width:256px; width:256px; background:#fff!important; border-right:1px solid var(--v2-border)!important; color:#475569; }
.interface-v2 .sidebar-header { min-height:80px; padding:20px 24px; border:0!important; }
.interface-v2 .sidebar-brand { width:100%; }
.interface-v2 .sidebar-brand img { max-width:150px; max-height:38px; object-fit:contain; }
.interface-v2 .sidebar-nav { padding:0 16px 24px!important; scrollbar-width:thin; }
.interface-v2 .sidebar .simplebar-content { padding:0!important; }
.interface-v2 .sidebar .simplebar-wrapper { margin:0!important; }
.interface-v2 .sidebar .simplebar-placeholder,.interface-v2 .sidebar .simplebar-track { display:none; }
.interface-v2 .sidebar .simplebar-content-wrapper { overflow:auto!important; }
.interface-v2 .sidebar .nav-title { color:#94a3b8; font-size:11px; font-weight:600; letter-spacing:.06em; margin:0; padding:22px 12px 10px; }
.interface-v2 .sidebar .nav-link { padding:10px 12px; margin-bottom:3px; border-radius:8px; color:#475569; font-size:13px; font-weight:500; gap:10px; white-space:normal; }
.interface-v2 .sidebar .nav-link:hover { background:#f8fafc; color:#0f172a; }
.interface-v2 .sidebar .nav-link.active { background:var(--v2-soft)!important; color:var(--v2-primary)!important; box-shadow:inset 0 0 0 1px #ff5b3533; }
.interface-v2 .sidebar .nav-icon { flex-shrink:0; width:20px; height:20px; margin:0; color:#94a3b8; }
.interface-v2 .sidebar .nav-link.active .nav-icon { color:var(--v2-primary); }
.interface-v2 .sidebar .nav-group { background:transparent!important; }
.interface-v2 .sidebar .nav-group-items { margin-left:16px; padding-left:6px; border-left:1px solid #f1f5f9; }
.interface-v2 .sidebar .nav-group-items .nav-link { font-size:12px; }
.interface-v2 .sidebar .nav-group-items.compact .nav-link { padding-block:9px; }
.interface-v2 .sidebar .badge { border-radius:7px; min-width:22px; font-size:10px; padding:5px 7px; }
.interface-v2 .sidebar .badge.bg-info,.interface-v2 .sidebar .badge.bg-danger { background:var(--v2-soft)!important; color:var(--v2-primary)!important; }
.interface-v2 .sidebar .badge.bg-warning { background:#fff1f2!important; color:#e11d48!important; }
.interface-v2 .sidebar .badge.v2-empty { background:#f1f5f9!important; color:#94a3b8!important; }
.interface-v2 .header { min-height:80px; background:#fff; border-bottom:1px solid var(--v2-border); box-shadow:none; margin-bottom:24px!important; }
.interface-v2 .header > .container-fluid { min-height:80px; border:0!important; gap:16px; }
.interface-v2 .header-toggler { display:flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid var(--v2-border); border-radius:9px; margin:0!important; color:#64748b; }
.v2-header-search { display:flex; flex:1; max-width:440px; align-items:center; gap:10px; color:#94a3b8; }
.v2-header-search svg { width:20px; height:20px; flex-shrink:0; }
.v2-header-search input { width:100%; min-width:0; border:0; border-radius:8px; padding:10px 4px; font-size:13px; background:transparent; color:#475569; outline:none; }
.v2-header-search input:focus { box-shadow:0 0 0 2px var(--v2-soft); }
.interface-v2 .header-nav { margin-left:auto; }
.interface-v2 .header .avatar { width:40px; height:40px; }
.interface-v2 .avatar-img { border-radius:50%; }
.interface-v2 .dropdown-menu { border:1px solid var(--v2-border); border-radius:12px; padding:8px; box-shadow:0 8px 32px #0f172a12; font-size:13px; }
.interface-v2 .dropdown-item { padding:9px 12px; border-radius:8px; color:#475569; }
.interface-v2 .dropdown-item:hover { color:var(--v2-primary); background:var(--v2-soft); }
.interface-v2 .card { border:1px solid var(--v2-border); border-radius:16px; box-shadow:0 1px 3px #1018280a,0 4px 12px #10182805; background:#fff; margin-bottom:16px!important; }
.interface-v2 .card-header { display:flex; align-items:center; gap:8px; min-height:52px; margin:0 20px; padding:14px 0; border-bottom:1px solid #f1f5f9; border-radius:0; background:#fff; color:#0f172a; font-size:13.5px; font-weight:700; }
.interface-v2 .card-header .header-icon { color:var(--v2-primary); }
.interface-v2 .card-body { padding:20px; }
.interface-v2 .card-title { font-weight:700; font-size:15px; color:#0f172a; }
.interface-v2 .form-group { margin-bottom:14px; }
.interface-v2 .form-control,.interface-v2 .form-select,.interface-v2 select.form-control { padding:9px 12px; border:1px solid #cbd5e1; border-radius:10px; background-color:#fff; color:#0f172a; font-size:12px; min-height:38px; box-shadow:none; }
.interface-v2 .form-control:focus,.interface-v2 .form-select:focus { border-color:var(--v2-primary); box-shadow:0 0 0 3px #ff5b3514; }
.interface-v2 .form-control:disabled { background:#f8fafc; }
.interface-v2 .col-form-label,.interface-v2 .form-label { font-size:12px; font-weight:500; color:#475569; }
.interface-v2 input[type=checkbox],.interface-v2 input[type=radio] { accent-color:var(--v2-primary); }
.interface-v2 .btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; border-radius:9px; padding:8px 12px; font-size:12px; font-weight:600; box-shadow:none; }
.interface-v2 .btn-block { display:flex; width:100%; }
.interface-v2 .btn-primary,.interface-v2 .btn-info,.interface-v2 .btn-outline-info { color:#fff; background:var(--v2-primary); border-color:var(--v2-primary); }
.interface-v2 .btn-primary:hover,.interface-v2 .btn-info:hover,.interface-v2 .btn-outline-info:hover { background:#e04825; border-color:#e04825; }
.interface-v2 .btn:disabled { opacity:.5; }
.interface-v2 .btn-outline-primary { color:var(--v2-primary); border-color:#ff5b3533; background:var(--v2-soft); }
.interface-v2 .btn-outline-danger { background:#fff1f2; border-color:#fecdd3; color:#e11d48; }
.interface-v2 .btn-outline-success { background:#ecfdf5; border-color:#a7f3d0; color:#059669; }
.interface-v2 .btn-outline-warning { background:#fffbeb; border-color:#fde68a; color:#b45309; }
.interface-v2 .tabs-animated { display:flex; gap:16px; padding:0; border:0; }
.interface-v2 .tabs-animated > .nav-item { flex:1; margin:0!important; }
.interface-v2 .tabs-animated .btn { width:100%; min-height:40px; background:var(--v2-soft); color:var(--v2-primary); border:1px solid #ff5b3533; border-radius:10px; }
.interface-v2 .tabs-animated .btn.active,.interface-v2 .tabs-animated .btn[aria-selected=true] { background:linear-gradient(135deg,#ff5b35,#ff7a59); color:#fff; border-color:#ff5b35; }
.interface-v2 .tabs-animated::before,.interface-v2 .tabs-animated::after { display:none; }
.interface-v2 .alert { border-radius:12px; padding:14px 16px; font-size:12px; }
.interface-v2 .alert-danger { background:#fff7ed; color:#9a5b32; border:1px solid #fed7aa; border-left:3px solid #f59e0b; }
.interface-v2 .alert-primary,.interface-v2 .alert-info { background:#f0f9ff; border-color:#bae6fd; color:#0369a1; }
.interface-v2 .alert-success { background:#ecfdf5; border-color:#a7f3d0; color:#047857; }
.interface-v2 .list-group-item { border-color:#f1f5f9; padding:12px 16px; font-size:12px; }
.interface-v2 .table-responsive { border:1px solid var(--v2-border); border-radius:12px; overflow:auto; }
.interface-v2 .table { font-size:12px; white-space:nowrap; border-color:#f1f5f9; }
.interface-v2 .table th { padding:13px 14px; background:#f8fafc; color:#64748b; font-weight:600; border-color:#f1f5f9; }
.interface-v2 .table td { padding:13px 14px; vertical-align:middle; border-color:#f1f5f9; }
.interface-v2 .table-striped > tbody > tr:nth-of-type(odd) > * { --cui-table-accent-bg:#fff; --bs-table-accent-bg:#fff; background:#fff; }
.interface-v2 .table tbody tr:hover > * { background:#fffaf7; }
.interface-v2 .badge { border-radius:20px; padding:5px 8px; font-size:10px; font-weight:600; }
.interface-v2 .dataTables_wrapper .dataTables_filter input,.interface-v2 .dataTables_wrapper .dataTables_length select,.interface-v2 .dt-container .dt-input { padding:8px 10px; margin:0 4px; border:1px solid #e2e8f0; border-radius:8px; background:#fff; }
.interface-v2 .dataTables_wrapper .dataTables_filter,.interface-v2 .dataTables_wrapper .dataTables_length { margin-bottom:16px; font-size:12px; }
.interface-v2 .paginate_button.current,.interface-v2 .page-item.active .page-link { background:var(--v2-primary)!important; border-color:var(--v2-primary)!important; color:#fff!important; border-radius:8px; }
.interface-v2 .page-link { color:var(--v2-primary); font-size:12px; }
.interface-v2 .modal-content { border:1px solid var(--v2-border); border-radius:16px; box-shadow:0 12px 50px #0f172a20; }
.interface-v2 .modal-header,.interface-v2 .modal-footer { border-color:#f1f5f9; padding:16px 20px; }
.interface-v2 .modal-title { font-size:16px; font-weight:700; }
.interface-v2 .modal-body { padding:20px; font-size:13px; }
.interface-v2 .footer { margin:0 24px 16px; padding:12px 20px; border:0; border-radius:14px; background:#0f172a; color:#cbd5e1; font-size:11px; min-height:0; }
.interface-v2 .footer a { color:#fdba74; }
.interface-v2 .app-page-title { margin:0 0 20px; padding:20px; background:#fff; border:1px solid var(--v2-border); border-radius:16px; }
.interface-v2 .widget-content { padding:18px; }
.interface-v2 .widget-numbers { color:var(--v2-primary); }
.interface-v2 .btn-actions-pane-right { margin-left:auto; }
@media(min-width:992px) { .interface-v2 .wrapper { margin-left:256px; padding-left:0; } .interface-v2 .sidebar.hide ~ .wrapper { margin-left:0; } }
@media(max-width:991px) { .interface-v2 .body > .container-lg { padding:0 14px 16px; } .interface-v2 .card-body { padding:16px; } .interface-v2 .header { min-height:64px; margin-bottom:16px!important; } .interface-v2 .header > .container-fluid { min-height:64px; padding:0 14px!important; } .interface-v2 .footer { margin-inline:14px; } .interface-v2 .sidebar { z-index:1040; } }
@media(max-width:575px) { .interface-v2 .tabs-animated { gap:8px; } .interface-v2 .tabs-animated .btn { font-size:11px; padding-inline:8px; } .interface-v2 .form-group > .col-form-label { margin-bottom:5px; } }
/* Legacy CoreUI uses a full-width wrapper; reserve the sidebar's width once. */
.interface-v2 .wrapper { min-width:0; }
.interface-v2 .custom-control-inline { display:inline-flex; align-items:center; gap:7px; margin-right:16px; }
.interface-v2 .custom-control-label { display:inline-flex; align-items:center; margin:0; }
.interface-v2 .tab-content { min-width:0; }
.interface-v2 .sidebar-nav { min-width:0; }
.interface-v2 .sidebar-nav .nav-link { min-width:0; }
@media(min-width:992px) { .interface-v2 .wrapper { width:calc(100% - 256px); } .interface-v2 .sidebar.hide ~ .wrapper { width:100%; } }
@media(max-width:991px) { .interface-v2 .wrapper { width:100%; margin-left:0; padding-left:0!important; } }
.interface-v2 .landing-page .topBar,.interface-v2 .landing-page header,.interface-v2 .landing-page .accountMenu { background:#fff; border-bottom:1px solid var(--v2-border); }
.interface-v2 .landing-page .accountMenu ul { list-style:none; padding:12px; }
.interface-v2 .landing-page .accountMenu a { display:block; padding:10px 12px; border-radius:8px; color:#475569; }
.interface-v2 .landing-page .accountMenu a:hover { background:var(--v2-soft); color:var(--v2-primary); }
.interface-v2 .landing-page .panel { border:1px solid var(--v2-border); border-radius:16px; background:white; margin-bottom:16px; }
.interface-v2 .landing-page .panel-heading { padding:16px 20px; font-weight:700; border-bottom:1px solid #f1f5f9; }
.interface-v2 .landing-page .panel-body { padding:20px; }
/* Bootstrap 4 aliases retained by the service templates. */
.interface-v2 .badge-danger { background:#fff1f2; color:#e11d48; }
.interface-v2 .badge-success { background:#ecfdf5; color:#059669; }
.interface-v2 .badge-warning { background:#fffbeb; color:#b45309; }
.interface-v2 .badge-primary,.interface-v2 .badge-info { background:var(--v2-soft); color:var(--v2-primary); }
.interface-v2 .badge-secondary { background:#f1f5f9; color:#64748b; }
.interface-v2 .float-right { float:right; }
.interface-v2 .float-left { float:left; }
.interface-v2 .mr-1 { margin-right:4px; }
.interface-v2 .ml-1 { margin-left:4px; }
.interface-v2 .mr-2 { margin-right:8px; }
.interface-v2 .ml-2 { margin-left:8px; }
.interface-v2 .text-right { text-align:right; }
.interface-v2 .text-left { text-align:left; }
.interface-v2 .card-body .form-group:last-child { margin-bottom:0; }
.interface-v2 .close { border:0; background:none; padding:4px 8px; font-size:22px; color:#64748b; }
.interface-v2 i[data-v2-icon] { display:inline-flex!important; align-items:center; vertical-align:middle; font-size:inherit; }
.interface-v2 i[data-v2-icon]::before { display:none!important; }
.interface-v2 i[data-v2-icon] svg { width:16px; height:16px; fill:currentColor; }
.interface-v2 .header .header-nav .nav-link { display:flex; align-items:center; gap:10px; }
.v2-account-label { color:#334155; font-size:13px; font-weight:600; }
.v2-account-label small { display:block; margin-top:2px; color:#94a3b8; font-size:11px; font-weight:400; }
@media(max-width:575px) { .v2-account-label { display:none; } }
