/* TaxAI Ver.98.0 Final UI Quality Layer */
:root{
  --taxai-bg:#f6f8fb;
  --taxai-card:#ffffff;
  --taxai-text:#0f172a;
  --taxai-muted:#475569;
  --taxai-border:#d9e2ef;
  --taxai-primary:#2563eb;
  --taxai-primary-soft:#eff6ff;
  --taxai-danger:#dc2626;
  --taxai-success:#16a34a;
  --taxai-warning:#d97706;
}

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

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

.taxai-page,
.taxai-os-page,
.taxai-container,
.container-fluid{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}

.card,
.taxai-card,
.dashboard-card,
.panel,
.box,
.table-card{
  background:var(--taxai-card) !important;
  color:var(--taxai-text) !important;
  border:1px solid var(--taxai-border) !important;
  border-radius:16px !important;
  box-shadow:0 8px 24px rgba(15,23,42,.06) !important;
}

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

h1,h2,h3,h4,h5,h6,
.page-title,
.taxai-title,
.card-title{
  color:var(--taxai-text) !important;
  letter-spacing:.01em;
}

p,span,div,td,th,label,small{
  text-shadow:none !important;
}

.text-muted,
.muted,
.subtitle,
.description,
.taxai-subtitle{
  color:var(--taxai-muted) !important;
}

a{
  color:var(--taxai-primary);
}

.table,
table{
  color:var(--taxai-text) !important;
  background:#fff !important;
  border-collapse:separate;
  border-spacing:0;
}

.table th,
table th{
  background:#f8fafc !important;
  color:#1e293b !important;
  border-bottom:1px solid var(--taxai-border) !important;
  white-space:nowrap;
}

.table td,
table td{
  border-bottom:1px solid #eef2f7 !important;
  vertical-align:middle;
}

.badge,
.label,
.status-badge{
  color:#0f172a !important;
  background:#eaf1fb !important;
  border:1px solid #d7e3f3 !important;
  border-radius:999px !important;
  padding:.28rem .58rem !important;
  font-weight:700 !important;
}

.badge-danger,.label-danger,.status-error{
  color:#991b1b !important;
  background:#fee2e2 !important;
  border-color:#fecaca !important;
}

.badge-success,.label-success,.status-success{
  color:#166534 !important;
  background:#dcfce7 !important;
  border-color:#bbf7d0 !important;
}

.badge-warning,.label-warning,.status-warning{
  color:#92400e !important;
  background:#fef3c7 !important;
  border-color:#fde68a !important;
}

input,select,textarea,
.form-control{
  color:var(--taxai-text) !important;
  background:#fff !important;
  border:1px solid #cbd5e1 !important;
  border-radius:10px !important;
}

input:focus,select:focus,textarea:focus,
.form-control:focus{
  outline:none !important;
  border-color:var(--taxai-primary) !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.14) !important;
}

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

.btn-primary,
button[type="submit"]{
  background:var(--taxai-primary) !important;
  border-color:var(--taxai-primary) !important;
  color:#fff !important;
}

.alert{
  border-radius:14px !important;
  border:1px solid var(--taxai-border) !important;
  color:var(--taxai-text) !important;
}

.taxai-grid,
.dashboard-grid,
.stats-grid,
.kpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}

@media (max-width: 900px){
  .taxai-layout,
  .admin-layout,
  .layout-wrapper{
    display:block !important;
  }

  .sidebar,
  .taxai-sidebar,
  aside{
    max-width:100% !important;
  }

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