/* GASIX STO UI 4.0 — unified design system for every workspace */
:root{
  --gx-bg:#f2f4f7;--gx-surface:#fff;--gx-soft:#f8f9fb;--gx-ink:#14171d;--gx-muted:#717a89;
  --gx-line:#e4e7ec;--gx-gold:#d5aa2f;--gx-gold-dark:#9f7611;--gx-gold-soft:#fff7da;
  --gx-success:#118554;--gx-danger:#d83a4a;--gx-warning:#d98a00;--gx-info:#315a9b;
  --gx-radius-sm:10px;--gx-radius:16px;--gx-radius-lg:22px;
  --gx-shadow:0 12px 34px rgba(20,23,29,.07);--gx-shadow-lg:0 22px 60px rgba(20,23,29,.11)
}
body{background:radial-gradient(circle at 90% -10%,rgba(213,170,47,.11),transparent 30rem),var(--gx-bg);color:var(--gx-ink)}
.main-content{animation:gxPageIn .24s ease both}
@keyframes gxPageIn{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}

/* Headings and page chrome */
.main-content>h1,.main-content>.d-flex h1,.page-heading h1{font-weight:800;letter-spacing:-.045em;color:var(--gx-ink)}
.main-content>p.text-muted,.page-heading p{font-size:15px}
.main-content>hr{border-color:var(--gx-line);opacity:1}

/* Universal panels */
.card,.panel-card,.metric-card,.ops-tile,.appointment-item,.order-item,.bay-item,.master-item{
  border-color:var(--gx-line)!important;background:rgba(255,255,255,.97);box-shadow:var(--gx-shadow)
}
.card,.panel-card{border-radius:var(--gx-radius-lg)!important}
.card-header{background:linear-gradient(180deg,#fff,#fafbfc)!important;border-color:var(--gx-line)!important}
.card:hover,.panel-card:hover{box-shadow:var(--gx-shadow-lg)}
.card,.panel-card{transition:box-shadow .18s ease,border-color .18s ease}
.card-title,.panel-title{letter-spacing:-.025em}

/* Forms */
.form-label{font-weight:700;color:#303642;margin-bottom:.55rem}
.form-text{color:#858e9d}
.form-control,.form-select,.input-group-text{border-color:#dce1e8!important;background-color:#fff;min-height:48px;border-radius:12px}
textarea.form-control{min-height:118px;line-height:1.55}
.form-control:hover,.form-select:hover{border-color:#c9cfd8!important}
.form-control:focus,.form-select:focus{border-color:var(--gx-gold)!important;box-shadow:0 0 0 .23rem rgba(213,170,47,.14)!important}
.form-control::placeholder{color:#99a1ad}
.form-select:disabled,.form-control:disabled{background:#eef1f5;color:#7f8794}
.input-group>.form-control:not(:first-child),.input-group>.form-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}
.input-group>.input-group-text:first-child{border-top-right-radius:0;border-bottom-right-radius:0}
.invalid-feedback{font-weight:600}

/* Buttons */
.btn{border-radius:12px;min-height:44px;font-weight:750;letter-spacing:-.01em}
.btn-warning,.btn-primary{color:#17140a;background:linear-gradient(135deg,#f1d260,#d1a027);border-color:#c89820;box-shadow:0 9px 22px rgba(200,152,32,.21)}
.btn-warning:hover,.btn-primary:hover{color:#fff;background:linear-gradient(135deg,#c99a22,#9f7410);border-color:#9f7410}
.btn-outline-primary,.btn-outline-warning{color:#90690d;border-color:#cfa52d;background:#fff}
.btn-outline-primary:hover,.btn-outline-warning:hover{color:#17140a;background:#f0cf59;border-color:#cfa52d}
.btn-light{background:#f4f6f8;border-color:#e2e6eb}
.btn-sm{min-height:36px;border-radius:10px}

/* Tables */
.table-responsive{border:1px solid var(--gx-line);border-radius:16px;background:#fff;overflow:auto}
.table{margin-bottom:0;vertical-align:middle}
.table thead th{position:sticky;top:0;z-index:2;background:#f5f7f9!important;color:#596273!important;font-size:11.5px!important;letter-spacing:.055em}
.table tbody tr{transition:background .14s ease}
.table tbody tr:hover{background:#fffaf0}
.table td{color:#2b313a}
.table a:not(.btn){font-weight:700;text-decoration:none}

/* Tabs and filters */
.nav-tabs{gap:6px;border:0;padding:7px;background:#fff;border-radius:16px;box-shadow:var(--gx-shadow)}
.nav-tabs .nav-link{border:0!important;border-radius:11px;color:#667083;font-weight:700;padding:.72rem 1rem}
.nav-tabs .nav-link.active{color:#17140a;background:linear-gradient(135deg,#f1d260,#d5aa2f);box-shadow:0 8px 18px rgba(201,151,30,.18)}
.nav-pills .nav-link{border-radius:11px;font-weight:700}
.nav-pills .nav-link.active{background:linear-gradient(135deg,#e8c653,#bd8d17);color:#14120b}

/* Statuses */
.badge{font-size:12px;padding:.5em .75em;border-radius:999px}
.alert{border:1px solid transparent!important;border-radius:14px!important}
.alert-success{background:#edf9f3;color:#12613f;border-color:#cfeede!important}
.alert-danger{background:#fff0f2;color:#9f2735;border-color:#f5ccd2!important}
.alert-warning{background:#fff8e6;color:#8c5d00;border-color:#f4e0a8!important}

/* Lists and records */
.list-group{border-radius:16px;overflow:hidden;box-shadow:var(--gx-shadow)}
.list-group-item{padding:15px 17px;border-color:var(--gx-line)}
.dropdown-menu{border:1px solid var(--gx-line);border-radius:14px;padding:7px;box-shadow:var(--gx-shadow-lg)}
.dropdown-item{border-radius:9px;padding:.65rem .8rem}
.dropdown-item:active{background:var(--gx-gold);color:#17140a}

/* Empty states */
.empty-state{border:1px dashed #d9dee5;border-radius:16px;background:#fafbfc;color:#7d8796}

/* Dashboard hero */
.dashboard-hero{border-radius:26px!important;padding:32px!important;box-shadow:0 20px 52px rgba(10,12,16,.22)!important}
.dashboard-hero h1{font-size:clamp(2rem,3vw,2.7rem)!important;letter-spacing:-.05em}
.dashboard-hero .hero-kicker{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#e5c75f;font-weight:800}
.dashboard-hero .hero-subtitle{max-width:760px;color:rgba(255,255,255,.68);font-size:15px}
.metric-card{border-radius:18px!important}
.metric-value{font-variant-numeric:tabular-nums}

/* Scrollbars */
*{scrollbar-width:thin;scrollbar-color:#c9ced6 transparent}
*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#c9ced6;border-radius:99px}

/* Mobile: all panels remain usable */
@media(max-width:991.98px){
  .main-content{padding:26px 18px 50px!important}
  .card-body{padding:19px!important}
  .table{min-width:760px}
  .dashboard-hero{padding:25px!important}
}
@media(max-width:767.98px){
  .main-content>.d-flex.justify-content-between{align-items:stretch!important;flex-direction:column;gap:14px}
  .main-content>.d-flex.justify-content-between .btn{width:100%}
  .card,.panel-card{border-radius:17px!important}
  .form-control,.form-select{font-size:16px}
  .btn{width:auto}
  .d-flex.justify-content-end.gap-2{flex-wrap:wrap}
  .d-flex.justify-content-end.gap-2>.btn,.d-flex.justify-content-end.gap-2>a{flex:1 1 150px}
  .nav-tabs{overflow-x:auto;flex-wrap:nowrap}
  .nav-tabs .nav-link{white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
