:root{
  --sh-font:system-ui,-apple-system,"Segoe UI","Noto Sans","PingFang SC","Microsoft YaHei",sans-serif;
  --sh-ink:#132333;--sh-muted:#64748b;--sh-line:#d7e3ec;--sh-bg:#f3f7fa;
  --sh-blue:#075985;--sh-blue-2:#0377ad;--sh-teal:#0f766e;--sh-red:#be123c;
  --sh-radius-sm:10px;--sh-radius:16px;--sh-radius-lg:24px;
  --sh-shadow:0 10px 30px rgba(15,23,42,.065);--sh-focus:0 0 0 3px rgba(14,165,233,.22)
}
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--sh-font);color:var(--sh-ink);background-color:var(--sh-bg);line-height:1.55;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{outline:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{box-shadow:var(--sh-focus);outline:2px solid transparent;outline-offset:2px}
button,[role="button"],summary,select{touch-action:manipulation}
button{min-height:44px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}
button:not(:disabled):hover{filter:brightness(1.035);box-shadow:0 6px 16px rgba(3,105,161,.15)}
button:not(:disabled):active{transform:translateY(1px)}
button:disabled{cursor:not-allowed;opacity:.58}
input,select,textarea{min-height:46px;font-size:1rem}
textarea{line-height:1.5;resize:vertical}
h1,h2,h3{overflow-wrap:anywhere;text-wrap:balance;line-height:1.18}
p,small,td,th,label{overflow-wrap:anywhere}
.hero,.banner,[class*="-hero"]{min-width:0;overflow:hidden}
.hero h1,.hero h2,.banner h1,.banner h2,[class*="-hero"] h1,[class*="-hero"] h2{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-wrap:balance}
.panel,.card,.kpi,.login-card,dialog{border-color:var(--sh-line);box-shadow:var(--sh-shadow)}
.panel,.card,.kpi{min-width:0}
.grid,.cards,.kpis,.form-grid{min-width:0}
.grid>* ,.cards>* ,.kpis>* ,.form-grid>*{min-width:0}
.table-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
table{font-variant-numeric:tabular-nums}
th{font-weight:850;letter-spacing:.025em}
td,th{vertical-align:top}
dialog{max-width:min(760px,calc(100vw - 28px));max-height:min(88vh,900px);overflow:auto}
dialog::backdrop{background:rgba(15,23,42,.58);backdrop-filter:blur(2px)}
.empty,[class*="empty"]{min-height:96px;display:grid;place-items:center;padding:24px;color:var(--sh-muted)}
.pill,.tag,.status,.badge,[class*="state"]{line-height:1.25}
@media(max-width:900px){
  .hero,[class*="-hero"]{border-radius:20px}
  .hero h1,.hero h2,[class*="-hero"] h1,[class*="-hero"] h2{font-size:clamp(1.65rem,6vw,2.35rem)}
  .panel,.card{border-radius:16px}
}
@media(max-width:600px){
  html{font-size:17px}
  button{min-height:48px!important}
  input,select,textarea{min-height:50px}
  .hero,.panel,.card,.kpi{padding:16px}
  .hero{margin-bottom:14px}
  .hero h1,.hero h2{font-size:clamp(1.55rem,8vw,2.05rem);line-height:1.16}
  .hero p{font-size:.96rem}
  dialog{max-width:calc(100vw - 18px);border-radius:18px}
  .table-wrap{border-radius:12px}
  th,td{padding:11px 10px;font-size:.82rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(prefers-contrast:more){:root{--sh-line:#94a3b8}.panel,.card,.kpi,input,select,textarea{border-width:2px!important}}
