/* TaxAI Common UI Pro v113.4 */
:root{
  --taxai-bg:#f5f7fb;
  --taxai-panel:#ffffff;
  --taxai-border:#e5e7eb;
  --taxai-text:#0f172a;
  --taxai-muted:#64748b;
  --taxai-primary:#2563eb;
  --taxai-primary-soft:#eff6ff;
  --taxai-sidebar:#0f172a;
  --taxai-sidebar-2:#111827;
  --taxai-sidebar-text:#e5e7eb;
  --taxai-sidebar-muted:#94a3b8;
  --taxai-radius:18px;
  --taxai-shadow:0 14px 36px rgba(15,23,42,.08);
}

html,body{
  background:var(--taxai-bg)!important;
  color:var(--taxai-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;
}

body{
  overflow-x:hidden;
}

.taxai-layout,
.app-shell,
.admin-shell,
.taxai-os-shell{
  min-height:100vh;
  background:linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%)!important;
}

.taxai-sidebar,
.sidebar,
.admin-sidebar,
.os-sidebar,
aside[class*="sidebar"],
nav[class*="sidebar"]{
  background:linear-gradient(180deg,var(--taxai-sidebar) 0%,var(--taxai-sidebar-2) 100%)!important;
  color:var(--taxai-sidebar-text)!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  box-shadow:12px 0 32px rgba(15,23,42,.16);
}

.taxai-sidebar a,
.sidebar a,
.admin-sidebar a,
.os-sidebar a,
aside[class*="sidebar"] a,
nav[class*="sidebar"] a{
  color:var(--taxai-sidebar-text)!important;
  text-decoration:none!important;
  border-radius:12px;
  transition:background .16s ease, transform .16s ease, color .16s ease;
}

.taxai-sidebar a:hover,
.sidebar a:hover,
.admin-sidebar a:hover,
.os-sidebar a:hover,
aside[class*="sidebar"] a:hover,
nav[class*="sidebar"] a:hover{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  transform:translateX(2px);
}

.taxai-sidebar .active,
.sidebar .active,
.admin-sidebar .active,
.os-sidebar .active,
aside[class*="sidebar"] .active,
nav[class*="sidebar"] .active{
  background:linear-gradient(90deg,rgba(37,99,235,.95),rgba(59,130,246,.65))!important;
  color:#fff!important;
  box-shadow:0 10px 26px rgba(37,99,235,.28);
}

.taxai-main,
.main-content,
.admin-main,
.content-wrapper,
main{
  background:transparent!important;
}

.taxai-content,
.page-content,
.admin-content,
.content,
main > .container,
main > .container-fluid{
  max-width:1440px;
  margin:0 auto;
}

.card,
.taxai-card,
.admin-card,
.dashboard-card,
.panel,
.box{
  background:rgba(255,255,255,.96)!important;
  border:1px solid var(--taxai-border)!important;
  border-radius:var(--taxai-radius)!important;
  box-shadow:var(--taxai-shadow)!important;
}

.card-header,
.taxai-card-header,
.panel-heading{
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
  border-bottom:1px solid var(--taxai-border)!important;
  border-radius:var(--taxai-radius) var(--taxai-radius) 0 0!important;
}

h1,h2,h3{
  letter-spacing:-.02em;
}

.btn,
button,
input[type="submit"]{
  border-radius:12px!important;
  font-weight:700;
}

.btn-primary,
.bg-primary{
  background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;
  border-color:#1d4ed8!important;
}

.table,
table{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
}

.table th,
table th{
  background:#f8fafc!important;
  color:#334155;
  font-weight:800;
  border-bottom:1px solid var(--taxai-border)!important;
}

.table td,
table td{
  border-color:#eef2f7!important;
}

input,
select,
textarea,
.form-control,
.form-select{
  border-radius:12px!important;
  border:1px solid #dbe3ef!important;
  background:#fff!important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.form-select:focus{
  border-color:#2563eb!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12)!important;
}

.badge,
.label{
  border-radius:999px!important;
  padding:.38rem .68rem!important;
  font-weight:800!important;
}

@media (max-width: 1024px){
  .taxai-content,
  .page-content,
  .admin-content,
  .content,
  main > .container,
  main > .container-fluid{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .taxai-sidebar,
  .sidebar,
  .admin-sidebar,
  .os-sidebar,
  aside[class*="sidebar"],
  nav[class*="sidebar"]{
    box-shadow:0 10px 28px rgba(15,23,42,.18);
  }
}
