:root{
  --taxai-bg:#f6f8fb;
  --taxai-surface:#ffffff;
  --taxai-surface-soft:#f8fafc;
  --taxai-border:#e5e7eb;
  --taxai-text:#0f172a;
  --taxai-muted:#64748b;
  --taxai-primary:#2563eb;
  --taxai-primary-dark:#1d4ed8;
  --taxai-purple:#7c3aed;
  --taxai-success:#059669;
  --taxai-warning:#d97706;
  --taxai-danger:#dc2626;
  --taxai-radius:18px;
  --taxai-radius-lg:24px;
  --taxai-shadow:0 16px 42px rgba(15,23,42,.08);
  --taxai-shadow-sm:0 8px 22px rgba(15,23,42,.06);
}

html,body{
  background:var(--taxai-bg)!important;
  color:var(--taxai-text);
}

body{
  font-family:
    Inter,
    "Noto Sans JP",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif!important;
}

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

main,
.taxai-main,
.taxai-content,
.taxai-os-main,
.admin-content,
.content-wrapper{
  background:var(--taxai-bg)!important;
}

.taxai-page,
.taxai-page-wrap,
.taxai-dashboard,
.taxai-admin-page{
  max-width:1440px;
  margin:0 auto;
}

/* Page Header */
.taxai-page-header,
.page-header,
.admin-page-header{
  border:1px solid var(--taxai-border)!important;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.12), transparent 32%),
    linear-gradient(180deg,#fff,#f8fafc)!important;
  border-radius:var(--taxai-radius-lg)!important;
  padding:24px!important;
  box-shadow:var(--taxai-shadow-sm)!important;
  margin-bottom:20px!important;
}

.taxai-page-header h1,
.page-header h1,
.admin-page-header h1,
.taxai-page-title,
h1{
  color:var(--taxai-text);
  letter-spacing:.01em;
}

.taxai-page-header p,
.page-header p,
.admin-page-header p,
.taxai-page-lead{
  color:var(--taxai-muted);
  line-height:1.75;
}

/* Cards */
.card,
.taxai-card,
.taxai-kpi-card,
.taxai-panel,
.taxai-box,
.dashboard-card,
.kpi-card{
  background:rgba(255,255,255,.94)!important;
  border:1px solid var(--taxai-border)!important;
  border-radius:var(--taxai-radius-lg)!important;
  box-shadow:var(--taxai-shadow-sm)!important;
}

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

/* KPI */
.taxai-kpi,
.taxai-stat,
.stat-card,
.metric-card{
  background:#fff!important;
  border:1px solid var(--taxai-border)!important;
  border-radius:22px!important;
  box-shadow:var(--taxai-shadow-sm)!important;
  padding:18px!important;
}

.taxai-kpi .label,
.taxai-stat .label,
.metric-label,
.stat-label{
  color:var(--taxai-muted)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
}

.taxai-kpi .value,
.taxai-stat .value,
.metric-value,
.stat-value{
  color:var(--taxai-text)!important;
  font-size:28px!important;
  font-weight:900!important;
}

/* Tables */
table{
  border-collapse:separate!important;
  border-spacing:0!important;
}

.table,
.taxai-table,
.admin-table{
  width:100%;
  background:#fff!important;
  border:1px solid var(--taxai-border)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:var(--taxai-shadow-sm)!important;
}

.table th,
.taxai-table th,
.admin-table th,
thead th{
  background:#f8fafc!important;
  color:#475569!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  border-bottom:1px solid var(--taxai-border)!important;
  padding:13px 14px!important;
}

.table td,
.taxai-table td,
.admin-table td,
tbody td{
  border-bottom:1px solid #edf2f7!important;
  padding:14px!important;
  color:#0f172a!important;
  vertical-align:middle!important;
}

tr:hover td{
  background:#f8fafc!important;
}

/* Buttons */
.btn,
button,
.taxai-btn,
.admin-btn,
.button{
  border-radius:999px!important;
  font-weight:800!important;
  min-height:38px;
  border:1px solid transparent;
  box-shadow:none!important;
}

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

.btn-secondary,
.taxai-btn-secondary{
  background:#fff!important;
  color:var(--taxai-text)!important;
  border:1px solid var(--taxai-border)!important;
}

.btn-danger{
  background:var(--taxai-danger)!important;
  color:#fff!important;
}

/* Forms */
input,
select,
textarea,
.form-control,
.form-select{
  border:1px solid var(--taxai-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--taxai-text)!important;
  min-height:40px;
}

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

/* Badges */
.badge,
.taxai-badge,
.status-badge{
  border-radius:999px!important;
  padding:5px 10px!important;
  font-size:12px!important;
  font-weight:900!important;
}

.badge-success,
.status-success{
  background:#ecfdf5!important;
  color:#047857!important;
}

.badge-warning,
.status-warning{
  background:#fffbeb!important;
  color:#b45309!important;
}

.badge-danger,
.status-danger{
  background:#fef2f2!important;
  color:#b91c1c!important;
}

.badge-info,
.status-info{
  background:#eff6ff!important;
  color:#1d4ed8!important;
}

/* Sidebar polish */
.taxai-common-sidebar{
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.20), transparent 34%),
    linear-gradient(180deg,#07111f,#0f172a 58%,#111827)!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  box-shadow:18px 0 45px rgba(15,23,42,.18)!important;
}

.taxai-common-sidebar__item{
  border-radius:14px!important;
  margin:3px 10px!important;
  transition:.16s ease!important;
}

.taxai-common-sidebar__item:hover{
  background:rgba(255,255,255,.09)!important;
  transform:translateX(2px);
}

.taxai-common-sidebar__item.is-active{
  background:linear-gradient(135deg,#2563eb,#7c3aed)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(37,99,235,.28)!important;
}

.taxai-common-sidebar__section-title{
  color:rgba(255,255,255,.52)!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}

/* Alerts */
.alert,
.taxai-alert{
  border-radius:18px!important;
  border:1px solid var(--taxai-border)!important;
  box-shadow:var(--taxai-shadow-sm)!important;
}

/* Utility */
.taxai-glass{
  background:rgba(255,255,255,.82)!important;
  backdrop-filter:blur(12px)!important;
  border:1px solid rgba(255,255,255,.58)!important;
}

.taxai-scroll-x{
  overflow-x:auto!important;
}

@media(max-width:900px){
  .taxai-page-header,
  .page-header,
  .admin-page-header{
    padding:18px!important;
    border-radius:20px!important;
  }

  .table,
  .taxai-table,
  .admin-table{
    display:block;
    overflow-x:auto!important;
  }

  .taxai-kpi .value,
  .taxai-stat .value,
  .metric-value,
  .stat-value{
    font-size:23px!important;
  }
}

/* Ver.181.3 Login Pro polish */
.taxai-login,
.login-page,
.auth-page{
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.22), transparent 34%),
    linear-gradient(135deg,#f8fafc,#eef2ff)!important;
}

.taxai-login__card,
.login-card,
.auth-card{
  border:1px solid rgba(226,232,240,.9)!important;
  border-radius:28px!important;
  box-shadow:0 24px 70px rgba(15,23,42,.14)!important;
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(14px)!important;
}

.taxai-login__name{
  font-weight:900!important;
  letter-spacing:.02em!important;
}

.taxai-login input,
.login-card input,
.auth-card input{
  border-radius:16px!important;
  min-height:46px!important;
}

.taxai-login button,
.login-card button,
.auth-card button{
  border-radius:999px!important;
  min-height:46px!important;
  font-weight:900!important;
  background:linear-gradient(135deg,#2563eb,#7c3aed)!important;
  color:#fff!important;
}

/* Ver.181.4 Common Header / Breadcrumb */
.taxai-pro-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 22px;
  padding:18px 20px;
  border:1px solid var(--taxai-border,#e5e7eb);
  border-radius:24px;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.10), transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,252,.94));
  box-shadow:0 14px 34px rgba(15,23,42,.07);
}

.taxai-pro-topbar__main{
  min-width:0;
}

.taxai-pro-breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  margin-bottom:6px;
}

.taxai-pro-breadcrumb a{
  color:#2563eb;
  text-decoration:none;
}

.taxai-pro-topbar__title-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.taxai-pro-topbar__title-row h1{
  margin:0;
  font-size:22px;
  font-weight:900;
  color:#0f172a;
  line-height:1.25;
}

.taxai-pro-status-pill{
  display:inline-flex;
  align-items:center;
  height:26px;
  padding:0 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#4338ca;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
}

.taxai-pro-topbar__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.taxai-pro-global-search{
  display:flex;
  align-items:center;
  gap:8px;
  padding:4px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
  min-width:320px;
}

.taxai-pro-global-search input{
  border:0!important;
  box-shadow:none!important;
  min-height:34px!important;
  padding:0 12px!important;
  flex:1;
  background:transparent!important;
}

.taxai-pro-global-search button,
.taxai-pro-action-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  border:0;
  background:#0f172a;
  color:#fff!important;
  font-size:13px;
  font-weight:900;
  text-decoration:none!important;
}

.taxai-pro-action-link{
  background:#fff;
  color:#0f172a!important;
  border:1px solid #e5e7eb;
}

@media(max-width:980px){
  .taxai-pro-topbar{
    align-items:stretch;
    flex-direction:column;
  }
  .taxai-pro-topbar__actions{
    justify-content:flex-start;
  }
  .taxai-pro-global-search{
    width:100%;
    min-width:0;
  }
}

@media(max-width:640px){
  .taxai-pro-topbar{
    padding:15px;
    border-radius:20px;
  }
  .taxai-pro-topbar__title-row h1{
    font-size:19px;
  }
}

/* Ver.181.5 Common Table / Search / Filter Pro UI */
.taxai-list-toolbar,
.list-toolbar,
.table-toolbar,
.filter-bar,
.search-bar,
.admin-filter,
.admin-search,
form[action*="/admin"][method="GET"]{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 18px;
  padding:14px;
  border:1px solid var(--taxai-border,#e5e7eb);
  border-radius:22px;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 26px rgba(15,23,42,.06);
}

.taxai-list-toolbar input,
.taxai-list-toolbar select,
.list-toolbar input,
.list-toolbar select,
.table-toolbar input,
.table-toolbar select,
.filter-bar input,
.filter-bar select,
.search-bar input,
.search-bar select,
.admin-filter input,
.admin-filter select,
.admin-search input,
.admin-search select,
form[action*="/admin"][method="GET"] input,
form[action*="/admin"][method="GET"] select{
  min-height:42px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  padding:0 14px!important;
}

.taxai-list-toolbar button,
.list-toolbar button,
.table-toolbar button,
.filter-bar button,
.search-bar button,
.admin-filter button,
.admin-search button,
form[action*="/admin"][method="GET"] button{
  min-height:42px!important;
  border-radius:999px!important;
  padding:0 16px!important;
  font-weight:900!important;
}

.table-responsive,
.taxai-table-responsive,
.admin-table-wrap,
.table-wrap,
.list-table-wrap{
  width:100%;
  overflow-x:auto!important;
  border-radius:22px!important;
  border:1px solid var(--taxai-border,#e5e7eb)!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(15,23,42,.06)!important;
}

.table-responsive > table,
.taxai-table-responsive > table,
.admin-table-wrap > table,
.table-wrap > table,
.list-table-wrap > table{
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}

table.taxai-table,
table.admin-table,
table.table,
.table-responsive table,
.admin-table-wrap table{
  font-size:14px;
}

table.taxai-table thead th,
table.admin-table thead th,
table.table thead th,
.table-responsive table thead th,
.admin-table-wrap table thead th{
  position:sticky;
  top:0;
  z-index:2;
  white-space:nowrap;
  background:linear-gradient(180deg,#f8fafc,#f1f5f9)!important;
}

table.taxai-table tbody tr,
table.admin-table tbody tr,
table.table tbody tr,
.table-responsive table tbody tr{
  transition:background .14s ease, transform .14s ease;
}

table.taxai-table tbody tr:hover td,
table.admin-table tbody tr:hover td,
table.table tbody tr:hover td,
.table-responsive table tbody tr:hover td{
  background:#f8fafc!important;
}

table.taxai-table td:last-child,
table.admin-table td:last-child,
table.table td:last-child{
  white-space:nowrap;
}

td a,
.table a,
.taxai-table a,
.admin-table a{
  font-weight:800;
  text-decoration:none;
}

td .btn,
.table .btn,
.taxai-table .btn,
.admin-table .btn,
td button{
  min-height:32px!important;
  padding:0 11px!important;
  font-size:12px!important;
}

.pagination,
nav[role="navigation"] > div{
  margin-top:18px;
}

.pagination{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}

.pagination .page-item .page-link,
.pagination a,
.pagination span{
  border-radius:12px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  color:#0f172a!important;
  min-width:36px;
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  text-decoration:none!important;
}

.pagination .active .page-link,
.pagination .page-item.active .page-link,
.pagination span[aria-current="page"]{
  background:linear-gradient(135deg,#2563eb,#7c3aed)!important;
  color:#fff!important;
  border-color:transparent!important;
}

.empty-state,
.taxai-empty,
.no-data,
.no-results{
  border:1px dashed #cbd5e1!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
  padding:34px!important;
  color:#64748b!important;
  text-align:center!important;
}

.empty-state h2,
.taxai-empty h2,
.no-data h2,
.no-results h2{
  color:#0f172a!important;
  font-weight:900!important;
}

.taxai-row-actions,
.row-actions,
.action-buttons,
.table-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.taxai-chip,
.filter-chip,
.search-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#eef2ff;
  color:#4338ca;
  font-size:12px;
  font-weight:900;
}

/* checkbox column polish */
table input[type="checkbox"]{
  width:16px;
  height:16px;
  accent-color:#2563eb;
}

/* numeric cells */
td[data-type="money"],
td.money,
td.amount,
.table .amount{
  font-variant-numeric:tabular-nums;
  font-weight:800;
}

/* compact dense lists */
.taxai-dense-table td,
.taxai-dense-table th{
  padding:10px 12px!important;
}

@media(max-width:760px){
  .taxai-list-toolbar,
  .list-toolbar,
  .table-toolbar,
  .filter-bar,
  .search-bar,
  .admin-filter,
  .admin-search,
  form[action*="/admin"][method="GET"]{
    align-items:stretch;
    flex-direction:column;
  }

  .taxai-list-toolbar input,
  .taxai-list-toolbar select,
  .list-toolbar input,
  .list-toolbar select,
  .table-toolbar input,
  .table-toolbar select,
  .filter-bar input,
  .filter-bar select,
  .search-bar input,
  .search-bar select,
  .admin-filter input,
  .admin-filter select,
  .admin-search input,
  .admin-search select,
  form[action*="/admin"][method="GET"] input,
  form[action*="/admin"][method="GET"] select,
  form[action*="/admin"][method="GET"] button{
    width:100%!important;
  }

  .taxai-row-actions,
  .row-actions,
  .action-buttons,
  .table-actions{
    justify-content:flex-start;
  }
}

/* Ver.181.6 Common Form / Create / Edit Pro UI */
.taxai-form-card,
.form-card,
.edit-card,
.create-card,
.admin-form-card,
.card:has(form),
.taxai-card:has(form),
.taxai-panel:has(form){
  background:rgba(255,255,255,.96)!important;
  border:1px solid var(--taxai-border,#e5e7eb)!important;
  border-radius:26px!important;
  box-shadow:0 16px 42px rgba(15,23,42,.08)!important;
  overflow:hidden;
}

.taxai-form-card form,
.form-card form,
.edit-card form,
.create-card form,
.admin-form-card form,
.card form,
.taxai-card form,
.taxai-panel form{
  margin:0;
}

.taxai-form-section,
.form-section,
.fieldset,
fieldset{
  border:1px solid #e5e7eb!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#ffffff,#f8fafc)!important;
  padding:20px!important;
  margin:0 0 18px!important;
}

fieldset legend,
.taxai-form-section-title,
.form-section-title{
  font-size:14px!important;
  font-weight:900!important;
  color:#0f172a!important;
  padding:0 8px!important;
}

.form-group,
.mb-3,
.taxai-form-group,
.field,
.input-group-wrap{
  margin-bottom:18px!important;
}

label,
.form-label,
.taxai-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:7px!important;
  color:#334155!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.02em;
}

label.required::after,
.form-label.required::after,
.taxai-label.required::after,
.required label::after{
  content:"必須";
  display:inline-flex;
  align-items:center;
  height:20px;
  padding:0 7px;
  border-radius:999px;
  background:#fef2f2;
  color:#b91c1c;
  font-size:10px;
  font-weight:900;
  margin-left:4px;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="tel"],
input[type="url"],
input[type="search"],
select,
textarea,
.form-control,
.form-select{
  width:100%;
  min-height:46px!important;
  border-radius:16px!important;
  border:1px solid #dbe3ef!important;
  background:#fff!important;
  padding:0 14px!important;
  color:#0f172a!important;
  font-size:14px!important;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

textarea,
textarea.form-control{
  min-height:120px!important;
  padding:12px 14px!important;
  line-height:1.7!important;
}

select,
.form-select{
  padding-right:36px!important;
}

input::placeholder,
textarea::placeholder{
  color:#94a3b8!important;
}

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

input[readonly],
textarea[readonly],
input:disabled,
select:disabled,
textarea:disabled{
  background:#f8fafc!important;
  color:#64748b!important;
  cursor:not-allowed;
}

.form-text,
.help-text,
.taxai-help,
small.form-text{
  display:block;
  margin-top:6px!important;
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.6!important;
}

.invalid-feedback,
.error,
.text-danger,
.taxai-error{
  display:block;
  margin-top:7px!important;
  color:#b91c1c!important;
  font-size:12px!important;
  font-weight:800!important;
}

.is-invalid,
input.is-invalid,
select.is-invalid,
textarea.is-invalid{
  border-color:#ef4444!important;
  box-shadow:0 0 0 4px rgba(239,68,68,.12)!important;
}

.alert-danger,
.validation-errors{
  border:1px solid #fecaca!important;
  background:#fef2f2!important;
  color:#991b1b!important;
  border-radius:20px!important;
  padding:16px!important;
  font-weight:700;
}

.taxai-form-grid,
.form-grid,
.admin-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
}

.taxai-form-grid-3,
.form-grid-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px 18px;
}

.taxai-form-actions,
.form-actions,
.card-footer,
.taxai-card-footer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  padding-top:18px!important;
  margin-top:18px!important;
  border-top:1px solid #e5e7eb!important;
}

form button[type="submit"],
form .btn-primary,
form .taxai-btn-primary{
  min-height:44px!important;
  padding:0 20px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#2563eb,#7c3aed)!important;
  color:#fff!important;
  font-weight:900!important;
  border:0!important;
  box-shadow:0 10px 24px rgba(37,99,235,.22)!important;
}

form .btn-secondary,
form .taxai-btn-secondary,
form a.btn,
form a.taxai-btn{
  min-height:42px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  font-weight:900!important;
}

.input-group{
  display:flex;
  align-items:stretch;
  border-radius:16px!important;
}

.input-group-text{
  display:flex;
  align-items:center;
  padding:0 13px!important;
  border:1px solid #dbe3ef!important;
  background:#f8fafc!important;
  color:#64748b!important;
  font-weight:900!important;
}

.form-check,
.checkbox,
.radio{
  display:flex;
  align-items:center;
  gap:8px;
  margin:10px 0!important;
}

.form-check-input,
input[type="checkbox"],
input[type="radio"]{
  accent-color:#2563eb;
}

.form-check-label{
  margin-bottom:0!important;
  font-weight:800!important;
  color:#334155!important;
}

.taxai-form-note,
.form-note{
  border:1px solid #dbeafe!important;
  background:#eff6ff!important;
  color:#1e3a8a!important;
  border-radius:18px!important;
  padding:14px 16px!important;
  line-height:1.7!important;
  font-size:13px!important;
  font-weight:700!important;
}

@media(max-width:860px){
  .taxai-form-grid,
  .form-grid,
  .admin-form-grid,
  .taxai-form-grid-3,
  .form-grid-3{
    grid-template-columns:1fr;
  }

  .taxai-form-actions,
  .form-actions,
  .card-footer,
  .taxai-card-footer{
    justify-content:stretch;
    flex-direction:column-reverse;
    align-items:stretch;
  }

  .taxai-form-actions .btn,
  .taxai-form-actions .taxai-btn,
  .form-actions .btn,
  .form-actions .taxai-btn,
  .card-footer .btn,
  .card-footer .taxai-btn,
  form button[type="submit"]{
    width:100%!important;
  }
}

/* Ver.181.7 Common KPI / Dashboard / AI Card Pro UI */
.taxai-dashboard-grid,
.dashboard-grid,
.kpi-grid,
.stats-grid,
.metrics-grid,
.summary-grid,
.os-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:0 0 22px;
}

.taxai-kpi-card,
.taxai-kpi,
.kpi-card,
.stat-card,
.metric-card,
.summary-card,
.dashboard-card,
.os-card,
.taxai-stat{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.10), transparent 32%),
    linear-gradient(180deg,#ffffff,#f8fafc)!important;
  border:1px solid #e5e7eb!important;
  border-radius:26px!important;
  padding:20px!important;
  box-shadow:0 14px 34px rgba(15,23,42,.07)!important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.taxai-kpi-card::before,
.taxai-kpi::before,
.kpi-card::before,
.stat-card::before,
.metric-card::before,
.summary-card::before,
.dashboard-card::before,
.os-card::before,
.taxai-stat::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,#2563eb,#7c3aed);
  opacity:.95;
}

.taxai-kpi-card:hover,
.taxai-kpi:hover,
.kpi-card:hover,
.stat-card:hover,
.metric-card:hover,
.summary-card:hover,
.dashboard-card:hover,
.os-card:hover,
.taxai-stat:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 48px rgba(15,23,42,.10)!important;
  border-color:#cbd5e1!important;
}

.taxai-kpi-label,
.taxai-card-label,
.kpi-label,
.stat-label,
.metric-label,
.summary-label,
.dashboard-label,
.taxai-kpi .label,
.taxai-stat .label{
  display:flex;
  align-items:center;
  gap:7px;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  margin-bottom:8px!important;
}

.taxai-kpi-value,
.kpi-value,
.stat-value,
.metric-value,
.summary-value,
.dashboard-value,
.taxai-kpi .value,
.taxai-stat .value{
  color:#0f172a!important;
  font-size:30px!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
  font-variant-numeric:tabular-nums;
}

.taxai-kpi-note,
.kpi-note,
.stat-note,
.metric-note,
.summary-note,
.dashboard-note,
.taxai-kpi .note,
.taxai-stat .note{
  margin-top:8px!important;
  color:#64748b!important;
  font-size:13px!important;
  line-height:1.6!important;
  font-weight:700!important;
}

.taxai-kpi-trend,
.kpi-trend,
.metric-trend,
.stat-trend{
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:26px;
  padding:0 9px;
  border-radius:999px;
  background:#ecfdf5;
  color:#047857;
  font-size:12px;
  font-weight:900;
  margin-top:10px;
}

.taxai-kpi-trend.down,
.kpi-trend.down,
.metric-trend.down,
.stat-trend.down{
  background:#fef2f2;
  color:#b91c1c;
}

.taxai-section,
.dashboard-section,
.os-section,
.taxai-panel,
.panel,
.card-section{
  border:1px solid #e5e7eb!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 16px 42px rgba(15,23,42,.08)!important;
  padding:22px!important;
  margin-bottom:22px!important;
}

.taxai-section-header,
.dashboard-section-header,
.os-section-header,
.panel-heading,
.taxai-panel-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid #e5e7eb!important;
}

.taxai-section-header h2,
.dashboard-section-header h2,
.os-section-header h2,
.taxai-panel h2,
.panel h2,
.card h2{
  margin:0!important;
  color:#0f172a!important;
  font-size:18px!important;
  font-weight:950!important;
  letter-spacing:-.01em!important;
}

.taxai-section-header p,
.dashboard-section-header p,
.os-section-header p{
  margin:6px 0 0!important;
  color:#64748b!important;
  line-height:1.7!important;
  font-size:13px!important;
}

.taxai-ai-card,
.ai-card,
.ai-comment,
.ai-insight,
.taxai-ai-insight,
.ai-summary,
.taxai-pro-ai{
  position:relative;
  overflow:hidden;
  border:1px solid #dbeafe!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at top right, rgba(124,58,237,.13), transparent 30%),
    linear-gradient(135deg,#eff6ff,#f8fafc 58%,#ffffff)!important;
  color:#1e293b!important;
  box-shadow:0 14px 34px rgba(37,99,235,.09)!important;
  padding:20px!important;
}

.taxai-ai-card::before,
.ai-card::before,
.ai-comment::before,
.ai-insight::before,
.taxai-ai-insight::before,
.ai-summary::before,
.taxai-pro-ai::before{
  content:"AI";
  position:absolute;
  right:16px;
  top:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:24px;
  border-radius:999px;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  color:#fff;
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
}

.taxai-ai-card strong,
.ai-card strong,
.ai-comment strong,
.ai-insight strong,
.taxai-ai-insight strong,
.ai-summary strong{
  color:#1d4ed8!important;
  font-weight:950!important;
}

.chart-card,
.graph-card,
.taxai-chart-card,
.taxai-graph-card,
.chart-container,
.graph-container{
  border:1px solid #e5e7eb!important;
  border-radius:28px!important;
  background:
    linear-gradient(180deg,#ffffff,#f8fafc)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.07)!important;
  padding:20px!important;
  min-height:260px;
}

canvas,
svg{
  max-width:100%;
}

.taxai-status-card,
.status-card,
.health-card,
.alert-card,
.risk-card{
  border-radius:24px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  box-shadow:0 12px 28px rgba(15,23,42,.06)!important;
  padding:18px!important;
}

.taxai-status-dot,
.status-dot{
  display:inline-flex;
  width:9px;
  height:9px;
  border-radius:999px;
  background:#10b981;
  box-shadow:0 0 0 5px rgba(16,185,129,.12);
}

.taxai-status-dot.warning,
.status-dot.warning{
  background:#f59e0b;
  box-shadow:0 0 0 5px rgba(245,158,11,.14);
}

.taxai-status-dot.danger,
.status-dot.danger{
  background:#ef4444;
  box-shadow:0 0 0 5px rgba(239,68,68,.14);
}

.progress,
.taxai-progress{
  height:10px!important;
  border-radius:999px!important;
  background:#e5e7eb!important;
  overflow:hidden!important;
}

.progress-bar,
.taxai-progress-bar{
  border-radius:999px!important;
  background:linear-gradient(135deg,#2563eb,#7c3aed)!important;
}

.taxai-mini-list,
.mini-list,
.activity-list,
.timeline-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.taxai-mini-list-item,
.mini-list-item,
.activity-item,
.timeline-item{
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  background:#fff!important;
  padding:13px 14px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.04)!important;
}

@media(max-width:1180px){
  .taxai-dashboard-grid,
  .dashboard-grid,
  .kpi-grid,
  .stats-grid,
  .metrics-grid,
  .summary-grid,
  .os-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .taxai-dashboard-grid,
  .dashboard-grid,
  .kpi-grid,
  .stats-grid,
  .metrics-grid,
  .summary-grid,
  .os-grid{
    grid-template-columns:1fr;
  }

  .taxai-kpi-value,
  .kpi-value,
  .stat-value,
  .metric-value,
  .summary-value,
  .dashboard-value,
  .taxai-kpi .value,
  .taxai-stat .value{
    font-size:25px!important;
  }

  .taxai-section-header,
  .dashboard-section-header,
  .os-section-header,
  .panel-heading,
  .taxai-panel-header{
    flex-direction:column;
  }
}

/* Ver.181.9 Common Alert / Badge / Status Pro UI */
.alert,
.taxai-alert,
.notice,
.message,
.flash-message{
  position:relative;
  border-radius:22px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  box-shadow:0 12px 28px rgba(15,23,42,.06)!important;
  padding:16px 18px 16px 48px!important;
  color:#334155!important;
  font-weight:700!important;
  line-height:1.7!important;
}

.alert::before,
.taxai-alert::before,
.notice::before,
.message::before,
.flash-message::before{
  content:"";
  position:absolute;
  left:18px;
  top:21px;
  width:12px;
  height:12px;
  border-radius:999px;
  background:#2563eb;
  box-shadow:0 0 0 6px rgba(37,99,235,.12);
}

.alert-success,
.taxai-alert-success,
.success,
.flash-success{
  background:#ecfdf5!important;
  border-color:#bbf7d0!important;
  color:#065f46!important;
}

.alert-success::before,
.taxai-alert-success::before,
.success::before,
.flash-success::before{
  background:#10b981;
  box-shadow:0 0 0 6px rgba(16,185,129,.14);
}

.alert-warning,
.taxai-alert-warning,
.warning,
.flash-warning{
  background:#fffbeb!important;
  border-color:#fde68a!important;
  color:#92400e!important;
}

.alert-warning::before,
.taxai-alert-warning::before,
.warning::before,
.flash-warning::before{
  background:#f59e0b;
  box-shadow:0 0 0 6px rgba(245,158,11,.16);
}

.alert-danger,
.alert-error,
.taxai-alert-danger,
.danger,
.error,
.flash-error{
  background:#fef2f2!important;
  border-color:#fecaca!important;
  color:#991b1b!important;
}

.alert-danger::before,
.alert-error::before,
.taxai-alert-danger::before,
.danger::before,
.error::before,
.flash-error::before{
  background:#ef4444;
  box-shadow:0 0 0 6px rgba(239,68,68,.16);
}

.alert-info,
.taxai-alert-info,
.info,
.flash-info{
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
  color:#1e3a8a!important;
}

.alert-info::before,
.taxai-alert-info::before,
.info::before,
.flash-info::before{
  background:#2563eb;
  box-shadow:0 0 0 6px rgba(37,99,235,.14);
}

.badge,
.taxai-badge,
.status-badge,
.priority-badge,
.rank-badge,
.ai-badge,
.label,
.tag,
.pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:26px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
  line-height:1!important;
  border:1px solid transparent!important;
  white-space:nowrap!important;
}

.badge::before,
.taxai-badge::before,
.status-badge::before,
.priority-badge::before,
.rank-badge::before,
.ai-badge::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:currentColor;
  opacity:.7;
}

.badge-success,
.status-success,
.status-done,
.status-active,
.status-approved,
.priority-low,
.rank-a,
.rank-s,
.badge-green{
  background:#ecfdf5!important;
  color:#047857!important;
  border-color:#bbf7d0!important;
}

.badge-warning,
.status-warning,
.status-pending,
.status-review,
.status-doing,
.priority-medium,
.badge-yellow,
.badge-orange{
  background:#fffbeb!important;
  color:#b45309!important;
  border-color:#fde68a!important;
}

.badge-danger,
.status-danger,
.status-error,
.status-failed,
.status-rejected,
.status-overdue,
.priority-high,
.priority-s,
.badge-red{
  background:#fef2f2!important;
  color:#b91c1c!important;
  border-color:#fecaca!important;
}

.badge-info,
.status-info,
.status-open,
.status-new,
.status-ready,
.badge-blue{
  background:#eff6ff!important;
  color:#1d4ed8!important;
  border-color:#bfdbfe!important;
}

.badge-secondary,
.status-secondary,
.status-archived,
.status-hold,
.badge-gray{
  background:#f1f5f9!important;
  color:#475569!important;
  border-color:#e2e8f0!important;
}

.ai-badge,
.badge-ai,
.status-ai,
.taxai-ai-label{
  background:linear-gradient(135deg,#eff6ff,#f5f3ff)!important;
  color:#4338ca!important;
  border-color:#ddd6fe!important;
}

.priority-badge,
.priority,
[class*="priority"]{
  font-weight:950!important;
}

.priority-s,
.priority-high,
.priority-高,
.rank-s{
  background:#fef2f2!important;
  color:#b91c1c!important;
  border-color:#fecaca!important;
}

.priority-a,
.priority-medium,
.priority-中,
.rank-a{
  background:#fffbeb!important;
  color:#b45309!important;
  border-color:#fde68a!important;
}

.priority-b,
.priority-c,
.priority-low,
.priority-低,
.rank-b,
.rank-c{
  background:#eff6ff!important;
  color:#1d4ed8!important;
  border-color:#bfdbfe!important;
}

.taxai-status-inline,
.status-inline,
.health-inline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:900;
  color:#334155;
}

.taxai-status-dot,
.status-dot,
.health-dot,
.live-dot{
  display:inline-flex!important;
  width:10px!important;
  height:10px!important;
  border-radius:999px!important;
  background:#10b981!important;
  box-shadow:0 0 0 6px rgba(16,185,129,.14)!important;
  flex:0 0 auto;
}

.taxai-status-dot.warning,
.status-dot.warning,
.health-dot.warning,
.live-dot.warning{
  background:#f59e0b!important;
  box-shadow:0 0 0 6px rgba(245,158,11,.16)!important;
}

.taxai-status-dot.danger,
.status-dot.danger,
.health-dot.danger,
.live-dot.danger{
  background:#ef4444!important;
  box-shadow:0 0 0 6px rgba(239,68,68,.16)!important;
}

.taxai-status-dot.idle,
.status-dot.idle,
.health-dot.idle,
.live-dot.idle{
  background:#94a3b8!important;
  box-shadow:0 0 0 6px rgba(148,163,184,.16)!important;
}

.taxai-health-card,
.health-card,
.status-card,
.alert-card,
.risk-card,
.monitor-card{
  border-radius:24px!important;
  border:1px solid #e5e7eb!important;
  background:linear-gradient(180deg,#ffffff,#f8fafc)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.06)!important;
}

.taxai-health-good,
.health-good,
.status-good{
  border-color:#bbf7d0!important;
  background:linear-gradient(180deg,#ffffff,#ecfdf5)!important;
}

.taxai-health-warning,
.health-warning,
.status-warning-card{
  border-color:#fde68a!important;
  background:linear-gradient(180deg,#ffffff,#fffbeb)!important;
}

.taxai-health-danger,
.health-danger,
.status-danger-card{
  border-color:#fecaca!important;
  background:linear-gradient(180deg,#ffffff,#fef2f2)!important;
}

.taxai-severity-critical,
.severity-critical,
.severity-high{
  background:#7f1d1d!important;
  color:#fff!important;
  border-color:#7f1d1d!important;
}

.taxai-severity-medium,
.severity-medium{
  background:#fffbeb!important;
  color:#92400e!important;
  border-color:#fde68a!important;
}

.taxai-severity-low,
.severity-low{
  background:#ecfdf5!important;
  color:#047857!important;
  border-color:#bbf7d0!important;
}

@media(max-width:640px){
  .alert,
  .taxai-alert,
  .notice,
  .message,
  .flash-message{
    padding:14px 14px 14px 42px!important;
    border-radius:18px!important;
  }

  .alert::before,
  .taxai-alert::before,
  .notice::before,
  .message::before,
  .flash-message::before{
    left:15px;
    top:20px;
  }
}

/* Ver.182.3 Common Modal / Drawer / Dialog Pro UI */
.modal-backdrop,
.taxai-modal-backdrop,
.drawer-backdrop,
.taxai-drawer-backdrop{
  background:rgba(15,23,42,.58)!important;
  backdrop-filter:blur(6px)!important;
}

.modal,
.taxai-modal,
.dialog,
.taxai-dialog{
  color:#0f172a!important;
}

.modal-dialog,
.taxai-modal-dialog,
.dialog-box,
.taxai-dialog-box{
  border-radius:30px!important;
}

.modal-content,
.taxai-modal-content,
.dialog-content,
.taxai-dialog-content,
.confirm-dialog,
.taxai-confirm-dialog{
  overflow:hidden!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 30px 90px rgba(15,23,42,.24)!important;
  backdrop-filter:blur(14px)!important;
}

.modal-header,
.taxai-modal-header,
.dialog-header,
.taxai-dialog-header,
.confirm-dialog-header{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:22px 24px!important;
  border-bottom:1px solid #e5e7eb!important;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.12), transparent 30%),
    linear-gradient(180deg,#ffffff,#f8fafc)!important;
}

.modal-title,
.taxai-modal-title,
.dialog-title,
.taxai-dialog-title,
.confirm-dialog-title{
  margin:0!important;
  color:#0f172a!important;
  font-size:20px!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
}

.modal-header p,
.taxai-modal-header p,
.dialog-header p,
.taxai-dialog-header p{
  margin:6px 0 0!important;
  color:#64748b!important;
  line-height:1.7!important;
  font-size:13px!important;
  font-weight:700!important;
}

.modal-body,
.taxai-modal-body,
.dialog-body,
.taxai-dialog-body,
.confirm-dialog-body{
  padding:24px!important;
  color:#334155!important;
  line-height:1.75!important;
}

.modal-footer,
.taxai-modal-footer,
.dialog-footer,
.taxai-dialog-footer,
.confirm-dialog-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  padding:18px 24px!important;
  border-top:1px solid #e5e7eb!important;
  background:#f8fafc!important;
}

.modal .btn,
.taxai-modal .btn,
.dialog .btn,
.confirm-dialog .btn,
.modal button,
.taxai-modal button,
.dialog button,
.confirm-dialog button{
  min-height:40px!important;
  border-radius:999px!important;
  font-weight:900!important;
  padding:0 16px!important;
}

.btn-close,
.modal-close,
.taxai-modal-close,
.dialog-close,
.drawer-close{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:36px!important;
  height:36px!important;
  border-radius:999px!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  color:#64748b!important;
  opacity:1!important;
  box-shadow:0 8px 18px rgba(15,23,42,.06)!important;
}

.btn-close:hover,
.modal-close:hover,
.taxai-modal-close:hover,
.dialog-close:hover,
.drawer-close:hover{
  background:#f1f5f9!important;
  color:#0f172a!important;
}

.offcanvas,
.drawer,
.taxai-drawer,
.side-panel,
.taxai-side-panel,
.notification-drawer,
.command-drawer{
  border:0!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:-24px 0 80px rgba(15,23,42,.22)!important;
  backdrop-filter:blur(14px)!important;
  color:#0f172a!important;
}

.offcanvas-header,
.drawer-header,
.taxai-drawer-header,
.side-panel-header,
.notification-drawer-header,
.command-drawer-header{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:22px 24px!important;
  border-bottom:1px solid #e5e7eb!important;
  background:
    radial-gradient(circle at top right, rgba(124,58,237,.12), transparent 30%),
    linear-gradient(180deg,#fff,#f8fafc)!important;
}

.offcanvas-title,
.drawer-title,
.taxai-drawer-title,
.side-panel-title,
.notification-drawer-title,
.command-drawer-title{
  margin:0!important;
  font-size:19px!important;
  font-weight:950!important;
  letter-spacing:-.02em!important;
  color:#0f172a!important;
}

.offcanvas-body,
.drawer-body,
.taxai-drawer-body,
.side-panel-body,
.notification-drawer-body,
.command-drawer-body{
  padding:22px 24px!important;
  line-height:1.75!important;
  color:#334155!important;
}

.drawer-footer,
.taxai-drawer-footer,
.side-panel-footer,
.notification-drawer-footer,
.command-drawer-footer{
  padding:18px 24px!important;
  border-top:1px solid #e5e7eb!important;
  background:#f8fafc!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
}

.taxai-command-palette,
.command-palette,
.command-panel{
  border:1px solid #e5e7eb!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 30px 90px rgba(15,23,42,.24)!important;
  overflow:hidden!important;
}

.taxai-command-search,
.command-search{
  padding:16px!important;
  border-bottom:1px solid #e5e7eb!important;
  background:#f8fafc!important;
}

.taxai-command-search input,
.command-search input{
  min-height:46px!important;
  border-radius:16px!important;
  background:#fff!important;
}

.taxai-command-item,
.command-item{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:13px 16px!important;
  border-bottom:1px solid #f1f5f9!important;
  color:#0f172a!important;
  text-decoration:none!important;
  font-weight:800!important;
}

.taxai-command-item:hover,
.command-item:hover{
  background:#f8fafc!important;
}

.popover,
.taxai-popover,
.dropdown-menu,
.taxai-dropdown-menu{
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 18px 52px rgba(15,23,42,.16)!important;
  padding:8px!important;
  backdrop-filter:blur(10px)!important;
}

.dropdown-item,
.taxai-dropdown-item{
  border-radius:12px!important;
  padding:10px 12px!important;
  font-weight:800!important;
  color:#334155!important;
}

.dropdown-item:hover,
.taxai-dropdown-item:hover{
  background:#f1f5f9!important;
  color:#0f172a!important;
}

.tooltip,
.taxai-tooltip{
  font-weight:800!important;
}

.tooltip-inner,
.taxai-tooltip-inner{
  border-radius:12px!important;
  padding:8px 10px!important;
  background:#0f172a!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(15,23,42,.18)!important;
}

.taxai-confirm-danger,
.confirm-danger{
  border-color:#fecaca!important;
}

.taxai-confirm-danger .modal-header,
.confirm-danger .modal-header,
.taxai-confirm-danger .confirm-dialog-header,
.confirm-danger .confirm-dialog-header{
  background:
    radial-gradient(circle at top right, rgba(239,68,68,.14), transparent 30%),
    linear-gradient(180deg,#fff,#fef2f2)!important;
}

.taxai-confirm-danger .modal-title,
.confirm-danger .modal-title,
.taxai-confirm-danger .confirm-dialog-title,
.confirm-danger .confirm-dialog-title{
  color:#991b1b!important;
}

@media(max-width:720px){
  .modal-dialog,
  .taxai-modal-dialog,
  .dialog-box,
  .taxai-dialog-box{
    margin:12px!important;
  }

  .modal-content,
  .taxai-modal-content,
  .dialog-content,
  .taxai-dialog-content,
  .confirm-dialog,
  .taxai-confirm-dialog{
    border-radius:24px!important;
  }

  .modal-header,
  .taxai-modal-header,
  .dialog-header,
  .taxai-dialog-header,
  .confirm-dialog-header,
  .modal-body,
  .taxai-modal-body,
  .dialog-body,
  .taxai-dialog-body,
  .confirm-dialog-body,
  .modal-footer,
  .taxai-modal-footer,
  .dialog-footer,
  .taxai-dialog-footer,
  .confirm-dialog-footer{
    padding-left:18px!important;
    padding-right:18px!important;
  }

  .modal-footer,
  .taxai-modal-footer,
  .dialog-footer,
  .taxai-dialog-footer,
  .confirm-dialog-footer,
  .drawer-footer,
  .taxai-drawer-footer,
  .side-panel-footer{
    align-items:stretch!important;
    flex-direction:column-reverse!important;
  }

  .modal-footer .btn,
  .taxai-modal-footer .btn,
  .dialog-footer .btn,
  .confirm-dialog-footer .btn,
  .drawer-footer .btn,
  .taxai-drawer-footer .btn,
  .side-panel-footer .btn{
    width:100%!important;
  }
}

/* Ver.182.4 Command Palette / Notification Pro UI */
.taxai-header-icon-btn-v135,
[data-taxai-open-command-v135],
.taxai-command-trigger,
.command-trigger,
.notification-trigger{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:42px!important;
  height:42px!important;
  border-radius:999px!important;
  border:1px solid #e5e7eb!important;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.14), transparent 32%),
    #ffffff!important;
  color:#0f172a!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease!important;
}

.taxai-header-icon-btn-v135:hover,
[data-taxai-open-command-v135]:hover,
.taxai-command-trigger:hover,
.command-trigger:hover,
.notification-trigger:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 16px 36px rgba(15,23,42,.13)!important;
  background:#f8fafc!important;
}

.taxai-header-badge-v135,
.notification-badge,
.command-badge{
  position:absolute!important;
  top:-4px!important;
  right:-4px!important;
  min-width:20px!important;
  height:20px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(135deg,#ef4444,#f97316)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:950!important;
  border:2px solid #fff!important;
  box-shadow:0 8px 16px rgba(239,68,68,.24)!important;
}

.taxai-header-command-palette-v135,
.taxai-ai-command-palette-v139,
[data-taxai-command-palette-v135],
.command-palette,
.taxai-command-palette{
  position:fixed!important;
  inset:0!important;
  z-index:9999!important;
  background:rgba(15,23,42,.56)!important;
  backdrop-filter:blur(8px)!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:8vh 18px 24px!important;
}

.taxai-header-command-palette-v135:not(.is-open):not(.active):not([style*="display: block"]):not([style*="display:block"]),
.taxai-ai-command-palette-v139:not(.is-open):not(.active):not([style*="display: block"]):not([style*="display:block"]){
  pointer-events:none;
}

.taxai-header-command-box-v135,
.taxai-ai-command-box-v139,
.command-box,
.taxai-command-box{
  width:min(760px,100%)!important;
  max-height:78vh!important;
  overflow:hidden!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 34px 100px rgba(15,23,42,.30)!important;
  backdrop-filter:blur(16px)!important;
}

.taxai-header-command-box-v135::before,
.taxai-ai-command-box-v139::before,
.command-box::before,
.taxai-command-box::before{
  content:"画面検索 / Command Palette";
  display:block;
  padding:18px 22px 8px;
  color:#0f172a;
  font-size:16px;
  font-weight:950;
  letter-spacing:-.01em;
}

.taxai-header-command-box-v135 input[type="search"],
.taxai-ai-command-box-v139 input[type="search"],
[data-taxai-command-input-v135],
.command-input,
.taxai-command-input{
  width:calc(100% - 36px)!important;
  margin:10px 18px 14px!important;
  min-height:50px!important;
  border-radius:18px!important;
  border:1px solid #dbe3ef!important;
  background:#f8fafc!important;
  padding:0 16px!important;
  color:#0f172a!important;
  font-size:15px!important;
  font-weight:800!important;
  outline:none!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65)!important;
}

.taxai-header-command-box-v135 input[type="search"]:focus,
.taxai-ai-command-box-v139 input[type="search"]:focus,
[data-taxai-command-input-v135]:focus,
.command-input:focus,
.taxai-command-input:focus{
  background:#fff!important;
  border-color:#2563eb!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.13)!important;
}

.taxai-header-command-list-v135,
.taxai-ai-command-list-v139,
.command-list,
.taxai-command-list{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  max-height:55vh!important;
  overflow:auto!important;
  padding:0 14px 16px!important;
}

.taxai-header-command-list-v135 a,
.taxai-ai-command-list-v139 a,
[data-taxai-command-link-v135],
.command-item,
.taxai-command-item{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:48px!important;
  padding:11px 14px!important;
  border:1px solid transparent!important;
  border-radius:16px!important;
  color:#0f172a!important;
  background:#fff!important;
  text-decoration:none!important;
  font-weight:900!important;
  box-shadow:0 6px 14px rgba(15,23,42,.04)!important;
  transition:background .14s ease, border-color .14s ease, transform .14s ease!important;
}

.taxai-header-command-list-v135 a:hover,
.taxai-ai-command-list-v139 a:hover,
[data-taxai-command-link-v135]:hover,
.command-item:hover,
.taxai-command-item:hover{
  background:#eff6ff!important;
  border-color:#bfdbfe!important;
  transform:translateX(2px)!important;
}

.taxai-header-command-list-v135 a span,
.taxai-ai-command-list-v139 a span,
[data-taxai-command-link-v135] span{
  color:#0f172a!important;
  font-weight:950!important;
}

.taxai-header-command-list-v135 a small,
.taxai-ai-command-list-v139 a small,
[data-taxai-command-link-v135] small{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

.taxai-notification-panel,
.notification-panel,
.taxai-notification-drawer,
.notification-drawer,
[data-taxai-notification-panel]{
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 24px 74px rgba(15,23,42,.22)!important;
  backdrop-filter:blur(14px)!important;
  overflow:hidden!important;
}

.taxai-notification-header,
.notification-header{
  padding:18px 20px!important;
  border-bottom:1px solid #e5e7eb!important;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.13), transparent 30%),
    linear-gradient(180deg,#fff,#f8fafc)!important;
}

.taxai-notification-header h3,
.notification-header h3{
  margin:0!important;
  font-size:17px!important;
  font-weight:950!important;
  color:#0f172a!important;
}

.taxai-notification-list,
.notification-list{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  padding:12px!important;
  max-height:420px!important;
  overflow:auto!important;
}

.taxai-notification-item,
.notification-item{
  display:flex!important;
  gap:12px!important;
  padding:13px!important;
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#334155!important;
  box-shadow:0 8px 18px rgba(15,23,42,.04)!important;
}

.taxai-notification-item::before,
.notification-item::before{
  content:"";
  width:10px;
  height:10px;
  margin-top:6px;
  border-radius:999px;
  background:#2563eb;
  box-shadow:0 0 0 5px rgba(37,99,235,.12);
  flex:0 0 auto;
}

.taxai-notification-item.warning::before,
.notification-item.warning::before{
  background:#f59e0b;
  box-shadow:0 0 0 5px rgba(245,158,11,.14);
}

.taxai-notification-item.danger::before,
.notification-item.danger::before{
  background:#ef4444;
  box-shadow:0 0 0 5px rgba(239,68,68,.14);
}

.taxai-notification-footer,
.notification-footer{
  padding:12px 16px!important;
  border-top:1px solid #e5e7eb!important;
  background:#f8fafc!important;
  display:flex!important;
  justify-content:flex-end!important;
  gap:8px!important;
}

@media(max-width:720px){
  .taxai-header-command-palette-v135,
  .taxai-ai-command-palette-v139,
  [data-taxai-command-palette-v135],
  .command-palette,
  .taxai-command-palette{
    padding:5vh 12px 16px!important;
  }

  .taxai-header-command-box-v135,
  .taxai-ai-command-box-v139,
  .command-box,
  .taxai-command-box{
    border-radius:24px!important;
  }

  .taxai-header-command-list-v135 a,
  .taxai-ai-command-list-v139 a,
  [data-taxai-command-link-v135],
  .command-item,
  .taxai-command-item{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:4px!important;
  }

  .taxai-header-command-list-v135 a small,
  .taxai-ai-command-list-v139 a small,
  [data-taxai-command-link-v135] small{
    white-space:normal!important;
  }
}

/* Ver.182.5 Responsive / Overflow / Layout Safety */
html,
body{
  max-width:100%!important;
  overflow-x:hidden!important;
}

*,
*::before,
*::after{
  box-sizing:border-box!important;
}

img,
video,
canvas,
svg,
iframe{
  max-width:100%!important;
}

pre,
code{
  white-space:pre-wrap!important;
  word-break:break-word!important;
}

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

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

.taxai-grid,
.taxai-grid-2,
.taxai-grid-3,
.taxai-grid-4,
.taxai-dashboard-grid,
.dashboard-grid,
.kpi-grid,
.stats-grid,
.metrics-grid,
.summary-grid,
.os-grid{
  min-width:0!important;
}

.taxai-card,
.taxai-panel,
.card,
.dashboard-card,
.kpi-card,
.stat-card,
.metric-card,
.summary-card,
.os-card{
  min-width:0!important;
  max-width:100%!important;
}

.taxai-card *,
.taxai-panel *,
.card *,
.dashboard-card *,
.kpi-card *,
.stat-card *,
.metric-card *,
.summary-card *,
.os-card *{
  min-width:0;
}

table{
  max-width:100%!important;
}

.table-responsive,
.taxai-table-responsive,
.taxai-table-wrap,
.admin-table-wrap,
.table-wrap,
.list-table-wrap{
  max-width:100%!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
}

.table-responsive table,
.taxai-table-responsive table,
.taxai-table-wrap table,
.admin-table-wrap table,
.table-wrap table,
.list-table-wrap table{
  width:100%!important;
}

td,
th{
  word-break:break-word;
}

td:last-child,
th:last-child{
  max-width:260px;
}

.taxai-btn,
.btn,
button,
.button,
.admin-btn{
  white-space:normal!important;
  text-align:center!important;
}

.taxai-pro-topbar,
.taxai-pro-topbar__actions,
.taxai-pro-global-search,
.taxai-list-toolbar,
.list-toolbar,
.table-toolbar,
.filter-bar,
.search-bar,
.admin-filter,
.admin-search{
  min-width:0!important;
  max-width:100%!important;
}

.taxai-pro-global-search input{
  min-width:0!important;
}

.taxai-common-sidebar{
  z-index:1000!important;
}

.taxai-common-sidebar__label,
.taxai-common-sidebar__item span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Desktop content offset safety */
@media(min-width:981px){
  .taxai-os-main,
  .taxai-main,
  .admin-content,
  .content-wrapper,
  main{
    min-height:100vh;
  }

  body:has(.taxai-common-sidebar) .taxai-os-main,
  body:has(.taxai-common-sidebar) .taxai-main,
  body:has(.taxai-common-sidebar) .admin-content,
  body:has(.taxai-common-sidebar) .content-wrapper{
    max-width:calc(100vw - 0px)!important;
  }
}

/* Tablet */
@media(max-width:1180px){
  .taxai-grid-4,
  .taxai-dashboard-grid,
  .dashboard-grid,
  .kpi-grid,
  .stats-grid,
  .metrics-grid,
  .summary-grid,
  .os-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .taxai-pro-topbar{
    flex-direction:column!important;
    align-items:stretch!important;
  }

  .taxai-pro-topbar__actions{
    justify-content:flex-start!important;
  }
}

/* Mobile */
@media(max-width:760px){
  body{
    overflow-x:hidden!important;
  }

  .taxai-page,
  .taxai-page-wrap,
  .taxai-dashboard,
  .taxai-admin-page,
  .taxai-pro-page,
  main,
  .taxai-main,
  .taxai-content,
  .taxai-os-main,
  .admin-content,
  .content-wrapper{
    width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .taxai-grid,
  .taxai-grid-2,
  .taxai-grid-3,
  .taxai-grid-4,
  .taxai-dashboard-grid,
  .dashboard-grid,
  .kpi-grid,
  .stats-grid,
  .metrics-grid,
  .summary-grid,
  .os-grid,
  .taxai-form-grid,
  .form-grid,
  .admin-form-grid{
    grid-template-columns:1fr!important;
  }

  .taxai-page-header,
  .page-header,
  .admin-page-header,
  .taxai-pro-topbar,
  .taxai-card,
  .taxai-panel,
  .card,
  .dashboard-card,
  .kpi-card,
  .stat-card,
  .metric-card,
  .summary-card,
  .os-card{
    border-radius:20px!important;
  }

  .taxai-pro-global-search,
  .taxai-list-toolbar,
  .list-toolbar,
  .table-toolbar,
  .filter-bar,
  .search-bar,
  .admin-filter,
  .admin-search,
  form[action*="/admin"][method="GET"]{
    flex-direction:column!important;
    align-items:stretch!important;
  }

  .taxai-pro-global-search input,
  .taxai-pro-global-search button,
  .taxai-list-toolbar input,
  .taxai-list-toolbar select,
  .taxai-list-toolbar button,
  .list-toolbar input,
  .list-toolbar select,
  .list-toolbar button,
  .table-toolbar input,
  .table-toolbar select,
  .table-toolbar button,
  .filter-bar input,
  .filter-bar select,
  .filter-bar button,
  .search-bar input,
  .search-bar select,
  .search-bar button,
  .admin-filter input,
  .admin-filter select,
  .admin-filter button,
  .admin-search input,
  .admin-search select,
  .admin-search button,
  form[action*="/admin"][method="GET"] input,
  form[action*="/admin"][method="GET"] select,
  form[action*="/admin"][method="GET"] button{
    width:100%!important;
  }

  .taxai-row-actions,
  .row-actions,
  .action-buttons,
  .table-actions,
  .taxai-form-actions,
  .form-actions,
  .card-footer,
  .taxai-card-footer{
    align-items:stretch!important;
    justify-content:flex-start!important;
    flex-direction:column!important;
  }

  .taxai-row-actions .btn,
  .row-actions .btn,
  .action-buttons .btn,
  .table-actions .btn,
  .taxai-form-actions .btn,
  .form-actions .btn,
  .card-footer .btn,
  .taxai-card-footer .btn,
  .taxai-row-actions .taxai-btn,
  .row-actions .taxai-btn,
  .action-buttons .taxai-btn,
  .table-actions .taxai-btn,
  .taxai-form-actions .taxai-btn,
  .form-actions .taxai-btn,
  .card-footer .taxai-btn,
  .taxai-card-footer .taxai-btn{
    width:100%!important;
  }

  .table-responsive,
  .taxai-table-responsive,
  .taxai-table-wrap,
  .admin-table-wrap,
  .table-wrap,
  .list-table-wrap{
    margin-left:-2px!important;
    margin-right:-2px!important;
  }

  .taxai-common-sidebar{
    max-width:86vw!important;
  }

  .taxai-header-command-box-v135,
  .taxai-ai-command-box-v139,
  .command-box,
  .taxai-command-box{
    width:100%!important;
  }
}

/* Narrow mobile */
@media(max-width:430px){
  .taxai-page,
  .taxai-page-wrap,
  .taxai-dashboard,
  .taxai-admin-page,
  .taxai-pro-page,
  main,
  .taxai-main,
  .taxai-content,
  .taxai-os-main,
  .admin-content,
  .content-wrapper{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  .taxai-pro-topbar__title-row h1,
  h1{
    font-size:20px!important;
    line-height:1.25!important;
  }

  .taxai-kpi-value,
  .kpi-value,
  .stat-value,
  .metric-value,
  .summary-value,
  .dashboard-value,
  .taxai-kpi .value,
  .taxai-stat .value{
    font-size:23px!important;
  }

  .taxai-card,
  .taxai-panel,
  .card,
  .dashboard-card,
  .kpi-card,
  .stat-card,
  .metric-card,
  .summary-card,
  .os-card{
    padding:16px!important;
  }
}

/* Ver.183.0 Button class unification */
.taxai-btn-danger,
.btn.taxai-btn-danger,
button.taxai-btn-danger,
a.taxai-btn-danger{
  background:#dc2626!important;
  color:#fff!important;
  border-color:#dc2626!important;
}

.taxai-btn-sm,
.btn-sm.taxai-btn,
.taxai-btn.taxai-btn-sm{
  min-height:32px!important;
  padding:0 11px!important;
  font-size:12px!important;
}

.taxai-btn-outline,
.btn-outline-primary.taxai-btn,
.btn-outline-secondary.taxai-btn{
  background:#fff!important;
  color:#0f172a!important;
  border:1px solid #e5e7eb!important;
}

.taxai-btn-block,
.taxai-btn.w-full,
.btn.w-full{
  width:100%!important;
}

.taxai-btn + .taxai-btn,
.taxai-btn + .btn,
.btn + .taxai-btn{
  margin-left:6px;
}

@media(max-width:640px){
  .taxai-btn + .taxai-btn,
  .taxai-btn + .btn,
  .btn + .taxai-btn{
    margin-left:0;
    margin-top:8px;
  }
}

/* Ver.183.2 Form class unification */
.taxai-form{
  width:100%;
}

.taxai-input,
.taxai-select,
.taxai-textarea{
  width:100%;
  min-height:46px!important;
  border-radius:16px!important;
  border:1px solid #dbe3ef!important;
  background:#fff!important;
  color:#0f172a!important;
  padding:0 14px!important;
  font-size:14px!important;
}

.taxai-textarea{
  min-height:120px!important;
  padding:12px 14px!important;
  line-height:1.7!important;
}

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

.taxai-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:7px!important;
  color:#334155!important;
  font-size:13px!important;
  font-weight:900!important;
}

.taxai-check,
.taxai-radio{
  accent-color:#2563eb;
}

.taxai-file{
  padding:10px!important;
  min-height:46px!important;
}

.taxai-form .taxai-btn{
  margin-top:2px;
}

/* Ver.183.5 Duplicate header / H1 cleanup */
.taxai-pro-topbar + .taxai-page .taxai-page-header,
.taxai-pro-topbar + .taxai-page-wrap .taxai-page-header,
.taxai-pro-topbar + .taxai-dashboard .taxai-page-header,
.taxai-pro-topbar + .taxai-admin-page .taxai-page-header{
  padding:18px 20px!important;
  margin-top:-4px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
}

.taxai-pro-topbar + .taxai-page .taxai-page-header h1,
.taxai-pro-topbar + .taxai-page-wrap .taxai-page-header h1,
.taxai-pro-topbar + .taxai-dashboard .taxai-page-header h1,
.taxai-pro-topbar + .taxai-admin-page .taxai-page-header h1{
  font-size:18px!important;
}

.taxai-pro-topbar + .taxai-page .taxai-page-header p,
.taxai-pro-topbar + .taxai-page-wrap .taxai-page-header p,
.taxai-pro-topbar + .taxai-dashboard .taxai-page-header p,
.taxai-pro-topbar + .taxai-admin-page .taxai-page-header p{
  font-size:13px!important;
}

/* Ver.183.6 H1 unify */

[data-taxai-common-header="v1814"]
~ * .taxai-page-title{
    display:none!important;
}

[data-taxai-common-header="v1814"]
~ * .page-title{
    display:none!important;
}

[data-taxai-common-header="v1814"]
~ * .admin-page-title{
    display:none!important;
}

/* 共通ヘッダーを唯一のH1扱いに寄せる */

.taxai-pro-topbar__title-row h1{
    font-size:24px!important;
    font-weight:900!important;
}

/* 旧ページタイトルは見出しレベルを下げる */

.taxai-page-header h1{
    font-size:18px!important;
    font-weight:800!important;
}
