/* FIX5 professional visual layer. Feature behavior is intentionally unchanged. */
:root{
  --fix5-radius-sm:10px;
  --fix5-radius:16px;
  --fix5-radius-lg:22px;
  --fix5-shadow:0 18px 50px rgba(2,8,23,.24);
  --fix5-border:rgba(148,163,184,.16);
  --fix5-focus:0 0 0 4px rgba(var(--primary-rgb),.18);
}
html{scroll-behavior:smooth}
body{font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}
.public-header,.dashboard-sidebar,.dashboard-topbar{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.public-header{border-bottom:1px solid var(--fix5-border)}
.brand img,.sidebar-brand img{object-fit:contain}
.card,.data-panel,.form-panel,.hero-panel,.pricing-card,.content-card,.security-notice,.announcement-card,.stat-card{
  border-radius:var(--fix5-radius-lg)!important;
  border:1px solid var(--fix5-border)!important;
  box-shadow:var(--fix5-shadow);
}
.card,.data-panel,.form-panel,.content-card,.stat-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.card:hover,.stat-card:hover{transform:translateY(-2px);border-color:rgba(var(--primary-rgb),.34)!important}
.button,button,input[type="submit"]{border-radius:var(--fix5-radius-sm)!important;min-height:42px;font-weight:700;letter-spacing:.01em;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.button:hover,button:hover,input[type="submit"]:hover{transform:translateY(-1px);filter:brightness(1.04)}
.button:active,button:active,input[type="submit"]:active{transform:translateY(0)}
input,select,textarea{border-radius:var(--fix5-radius-sm)!important;min-height:44px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--primary)!important;box-shadow:var(--fix5-focus)!important}
textarea{min-height:112px}
.table-scroll{border-radius:var(--fix5-radius);border:1px solid var(--fix5-border);overflow:auto}
table{border-collapse:separate;border-spacing:0;width:100%}
thead th{position:sticky;top:0;z-index:2;backdrop-filter:blur(12px)}
tbody tr{transition:background .15s ease}
.chip,.status-badge,.badge{border-radius:999px!important;font-weight:700;letter-spacing:.02em}
.page-heading{gap:18px;align-items:flex-end}
.page-heading h1,.hero-copy h1{letter-spacing:-.035em;line-height:1.06}
.section-note,.muted,small{line-height:1.55}
.dashboard-content{max-width:1680px;width:100%;margin-inline:auto}
.dashboard-sidebar a,.public-nav-link{border-radius:12px;transition:background .15s ease,color .15s ease,transform .15s ease}
.dashboard-sidebar a:hover,.public-nav-link:hover{transform:translateX(2px)}
[data-app-busy="1"] button[type="submit"]{opacity:.72;pointer-events:none}
[data-app-busy="1"] button[type="submit"]::after{content:"  •••";letter-spacing:.12em}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
@media (max-width:900px){
  .page-heading{align-items:flex-start;flex-direction:column}
  .card,.data-panel,.form-panel,.hero-panel,.pricing-card,.content-card,.security-notice,.announcement-card,.stat-card{border-radius:16px!important;box-shadow:0 12px 34px rgba(2,8,23,.20)}
  .dashboard-content{padding-inline:14px!important}
  .button,button{min-height:46px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
