/* SAS RADIUS PREMIUM — Royal Black / Ruby / Champagne Gold */
:root {
  --sas-bg:#100d11;
  --sas-panel:#1b151b;
  --sas-panel2:#241a21;
  --sas-ruby:#9e2345;
  --sas-red:#d43d62;
  --sas-gold:#d7b879;
  --sas-text:#f5edf0;
  --sas-muted:#b9aab1;
  --sas-border:rgba(215,184,121,.22);
  --sas-shadow:0 12px 35px rgba(0,0,0,.28);
}

html,body {
  background:var(--sas-bg)!important;
  color:var(--sas-text)!important;
  font-family:"Open Sans",Tahoma,Arial,sans-serif!important;
}

body { overflow-x:hidden; }
*,*:before,*:after { box-sizing:border-box; }

.app,app-root,.app-body,.main,.main-content {
  background:transparent!important;
  color:var(--sas-text)!important;
}

.header,.app-header,.navbar,.header-fixed .app-header {
  background:linear-gradient(110deg,#171117,#261820)!important;
  border-bottom:1px solid var(--sas-border)!important;
  box-shadow:0 5px 25px rgba(0,0,0,.3)!important;
  color:var(--sas-text)!important;
}

.sidebar,.sidebar-fixed .sidebar {
  background:linear-gradient(180deg,#21151d,#120e13)!important;
  border-left:1px solid var(--sas-border)!important;
  border-right:1px solid var(--sas-border)!important;
  box-shadow:var(--sas-shadow)!important;
}

.sidebar .nav-link,
.sidebar a,.sidebar .nav-title {
  color:#e8dce1!important;
  border-bottom:1px solid rgba(215,184,121,.10)!important;
  transition:background .2s ease,color .2s ease!important;
}

.sidebar .nav-link:hover,
.sidebar a:hover,
.sidebar .nav-link.active {
  background:linear-gradient(100deg,rgba(158,35,69,.38),rgba(215,184,121,.09))!important;
  color:var(--sas-gold)!important;
  border-right:3px solid var(--sas-gold)!important;
}

.breadcrumb,.breadcrumb-item {
  background:transparent!important;
  color:var(--sas-muted)!important;
}

.card,.p-card,.ui-card,.panel,.well,
.dashboard-card,.widget,.box {
  background:linear-gradient(145deg,#282027,#191419)!important;
  color:var(--sas-text)!important;
  border:1px solid var(--sas-border)!important;
  border-radius:17px!important;
  box-shadow:var(--sas-shadow)!important;
}

.card-header,.p-card-header,.ui-widget-header,
.panel-heading {
  background:linear-gradient(100deg,#321b27,#211820)!important;
  color:var(--sas-gold)!important;
  border-bottom:1px solid var(--sas-border)!important;
}

.card-body,.p-card-body,.ui-card-body {
  color:var(--sas-text)!important;
}

h1,h2,h3,h4,h5,h6,
label,.control-label,.form-label {
  color:var(--sas-text)!important;
}

p,small,.text-muted,.help-block {
  color:var(--sas-muted)!important;
}

a { color:var(--sas-gold)!important; }
a:hover { color:#f0d59b!important; }

.btn,.p-button,.ui-button,button {
  border-radius:10px!important;
  font-weight:600!important;
  transition:all .2s ease!important;
}

.btn-primary,.p-button,.ui-button,
button.btn-primary {
  background:linear-gradient(120deg,#9e2345,#68182f)!important;
  border:1px solid rgba(215,184,121,.48)!important;
  color:#fff!important;
  box-shadow:0 5px 15px rgba(110,20,48,.25)!important;
}

.btn-primary:hover,.p-button:hover,.ui-button:hover {
  background:linear-gradient(120deg,#bd3158,#85203d)!important;
  transform:translateY(-1px);
}

.btn-success { background:#246d50!important;border-color:#3c9973!important; }
.btn-danger { background:#9e2345!important;border-color:#d43d62!important; }
.btn-warning { background:#9b7433!important;border-color:var(--sas-gold)!important;color:#fff!important; }
.btn-info { background:#55404b!important;border-color:#806174!important; }

.form-control,.form-select,input,select,textarea,
.p-inputtext,.ui-inputtext,.select2-container .select2-selection {
  background:#171217!important;
  color:var(--sas-text)!important;
  border:1px solid rgba(215,184,121,.28)!important;
  border-radius:9px!important;
  min-height:38px;
  max-width:100%;
}

input::placeholder,textarea::placeholder {
  color:#95858d!important;
}

.form-control:focus,input:focus,select:focus,textarea:focus,
.p-inputtext:enabled:focus,.ui-inputtext:focus {
  border-color:var(--sas-gold)!important;
  box-shadow:0 0 0 3px rgba(215,184,121,.12)!important;
  outline:none!important;
}

select option {
  background:#211820!important;
  color:#fff!important;
}

.p-dropdown,.ui-dropdown,.select2-dropdown,
.select2-container--default .select2-selection--single {
  background:#171217!important;
  border:1px solid var(--sas-border)!important;
  color:var(--sas-text)!important;
  border-radius:9px!important;
}

.p-dropdown-label,.ui-dropdown-label,
.select2-selection__rendered {
  color:var(--sas-text)!important;
}

.p-dropdown-panel,.ui-dropdown-panel,
.p-dialog,.ui-dialog,.modal-content,
.p-overlaypanel,.ui-overlaypanel {
  background:#211820!important;
  color:var(--sas-text)!important;
  border:1px solid var(--sas-border)!important;
  border-radius:14px!important;
  box-shadow:var(--sas-shadow)!important;
}

.p-dialog-header,.ui-dialog-titlebar,.modal-header {
  background:#321b27!important;
  color:var(--sas-gold)!important;
  border-bottom:1px solid var(--sas-border)!important;
}

.p-dialog-content,.ui-dialog-content,.modal-body {
  background:#211820!important;
  color:var(--sas-text)!important;
}

.p-dialog-footer,.ui-dialog-buttonpane,.modal-footer {
  background:#1a141a!important;
  border-top:1px solid var(--sas-border)!important;
}

table,.table,.p-datatable-table,.ui-table {
  color:var(--sas-text)!important;
  background:transparent!important;
  border-color:var(--sas-border)!important;
}

.table thead th,.p-datatable-thead>tr>th,
.ui-table thead th {
  background:#38212d!important;
  color:var(--sas-gold)!important;
  border-color:var(--sas-border)!important;
}

.table tbody td,.p-datatable-tbody>tr>td,
.ui-table tbody td {
  background:#211a20!important;
  color:#eee3e8!important;
  border-color:rgba(215,184,121,.12)!important;
}

.table-striped tbody tr:nth-of-type(odd) td {
  background:#291f26!important;
}

.table-hover tbody tr:hover td,
.p-datatable-tbody>tr:hover>td {
  background:#39232e!important;
}

.pagination .page-link,.p-paginator,
.ui-paginator {
  background:#211820!important;
  color:var(--sas-gold)!important;
  border-color:var(--sas-border)!important;
}

.pagination .active .page-link {
  background:var(--sas-ruby)!important;
  border-color:var(--sas-gold)!important;
  color:#fff!important;
}

.alert,.toast,.p-toast-message,.ui-message {
  background:#251b22!important;
  color:var(--sas-text)!important;
  border:1px solid var(--sas-border)!important;
  border-radius:11px!important;
}

.badge {
  border-radius:7px!important;
  padding:5px 9px!important;
}

hr { border-color:var(--sas-border)!important; }
footer,.footer {
  background:#171117!important;
  color:var(--sas-muted)!important;
  border-top:1px solid var(--sas-border)!important;
}

/* Charts */
canvas,svg { max-width:100%; }
.highcharts-background { fill:transparent!important; }
.highcharts-title,.highcharts-axis-labels text,
.highcharts-legend-item text { fill:var(--sas-text)!important; }

/* Layout safety */
.container-fluid,.main .container-fluid {
  max-width:100%!important;
}

.row { min-width:0; }
[class*="col-"] { min-width:0; }

.table-responsive,.p-datatable-wrapper,
.ui-table-wrapper {
  max-width:100%;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
}

img,video,iframe { max-width:100%; }

/* Preserve mobile sidebar toggle and original behavior */
@media(max-width:991.98px) {
  body .app-body .sidebar {
    position:fixed!important;
    top:60px!important;
    right:0!important;
    left:auto!important;
    width:min(280px,82vw)!important;
    min-width:0!important;
    max-width:82vw!important;
    height:calc(100dvh - 60px)!important;
    max-height:calc(100dvh - 60px)!important;
    margin:0!important;
    padding:0!important;
    z-index:1050!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    transform:translateX(105%)!important;
    transition:transform .25s ease-in-out!important;
  }

  body.sidebar-mobile-show .app-body .sidebar {
    transform:translateX(0)!important;
  }

  .main,.main-content {
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
  }

  .container-fluid {
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .card,.p-card,.ui-card {
    border-radius:13px!important;
  }

  .card-body,.p-card-body {
    padding:13px!important;
  }

  .table-responsive {
    width:100%!important;
    overflow-x:auto!important;
  }

  .table-responsive table {
    min-width:650px;
  }

  footer,.footer {
    position:relative!important;
  }
}

@media(max-width:575.98px) {
  body { font-size:13px!important; }
  h1 { font-size:21px!important; }
  h2 { font-size:19px!important; }
  h3 { font-size:17px!important; }
  .card { margin-bottom:12px!important; }
  .btn { padding:7px 11px!important; }
}
