.ui-icon{width:20px;height:20px;flex:0 0 20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.ui-card,.site-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm)}
.ui-card-subtle{background:var(--ui-surface-subtle);border:1px solid var(--ui-border-subtle);border-radius:var(--ui-radius-lg)}
.ui-panel{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md)}
.ui-elevated{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-md)}

.ui-btn,.site-primary-btn,.site-secondary-link{min-height:var(--ui-control-h);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border-radius:var(--ui-radius-md);border:1px solid transparent;font-size:14px;font-weight:700;line-height:1;cursor:pointer;transition:background var(--ui-duration-fast) var(--ui-ease),border-color var(--ui-duration-fast) var(--ui-ease),color var(--ui-duration-fast) var(--ui-ease),box-shadow var(--ui-duration-fast) var(--ui-ease),transform var(--ui-duration-fast) var(--ui-ease)}
.ui-btn:hover,.site-primary-btn:hover,.site-secondary-link:hover{text-decoration:none}
.ui-btn:active,.site-primary-btn:active,.site-secondary-link:active{transform:translateY(1px)}
.ui-btn-primary,.site-primary-btn{background:var(--ui-navy-900);border-color:var(--ui-navy-900);color:#fff}
.ui-btn-primary:hover,.site-primary-btn:hover{background:var(--ui-navy-950);border-color:var(--ui-navy-950);color:#fff}
.ui-btn-secondary,.site-secondary-link{background:#fff;border-color:var(--ui-border);color:var(--ui-navy-800)}
.ui-btn-secondary:hover,.site-secondary-link:hover{background:var(--ui-surface-subtle);border-color:#c7d3d9;color:var(--ui-navy-950)}
.ui-btn-ghost{background:transparent;border-color:transparent;color:var(--ui-text-secondary)}
.ui-btn-ghost:hover{background:var(--ui-surface-muted);color:var(--ui-text)}
.ui-btn-danger{background:var(--ui-danger);border-color:var(--ui-danger);color:#fff}
.ui-btn-danger:hover{background:#912018;border-color:#912018;color:#fff}
.ui-btn-sm{min-height:var(--ui-control-h-sm);padding-inline:13px;font-size:13.5px}
.ui-btn-lg{min-height:var(--ui-control-h-lg);padding-inline:20px}
.ui-btn-icon{width:var(--ui-icon-btn);min-width:var(--ui-icon-btn);height:var(--ui-icon-btn);padding:0}
.ui-btn[disabled],.site-primary-btn[disabled],.ui-btn.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none;transform:none}

.ui-badge{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:3px 9px;border-radius:var(--ui-radius-pill);background:var(--ui-surface-muted);color:var(--ui-text-secondary);font-size:12px;font-weight:700;line-height:1.35}
.ui-badge-success{background:var(--ui-success-soft);color:var(--ui-success)}
.ui-badge-warning{background:var(--ui-warning-soft);color:var(--ui-warning)}
.ui-badge-danger{background:var(--ui-danger-soft);color:var(--ui-danger)}
.ui-badge-info{background:var(--ui-info-soft);color:var(--ui-info)}

.site-messages{display:grid;gap:8px;margin-bottom:16px}
.site-message{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #cfe0ea;background:var(--ui-info-soft);border-radius:var(--ui-radius-md);color:#205b7a;font-size:13.5px}
.site-message.is-success{background:var(--ui-success-soft);border-color:#bfdfce;color:#1d6548}
.site-message.is-warning{background:var(--ui-warning-soft);border-color:#ecd6ae;color:#81520d}
.site-message.is-error,.site-message.is-danger{background:var(--ui-danger-soft);border-color:#efc3bd;color:#8f2119}

.site-pagination{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:20px}
.site-pagination a,.site-pagination span{min-width:38px;height:38px;padding:0 11px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);display:grid;place-items:center;background:#fff;color:var(--ui-text-secondary);font-size:13px;font-weight:650;transition:background var(--ui-duration-fast) var(--ui-ease),border-color var(--ui-duration-fast) var(--ui-ease),color var(--ui-duration-fast) var(--ui-ease)}
.site-pagination a:hover{background:var(--ui-surface-subtle);border-color:#c8d4da;color:var(--ui-navy-900)}
.site-pagination .is-current{background:var(--ui-navy-900);color:#fff;border-color:var(--ui-navy-900)}
.site-pagination-meta{width:100%;text-align:center;color:var(--ui-text-muted);font-size:12.5px;margin-bottom:4px}
.site-page-size{display:flex;align-items:center;gap:8px;margin-right:auto;color:var(--ui-text-secondary);font-size:13px}
.site-page-size select{min-height:38px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);padding:0 10px;background:#fff}

.ui-empty{padding:28px 20px;border:1px dashed #cdd9de;border-radius:var(--ui-radius-lg);background:var(--ui-surface-subtle);color:var(--ui-text-secondary);text-align:center}
.ui-divider{height:1px;background:var(--ui-border-subtle);border:0;margin:20px 0}
.ui-muted,.site-muted{color:var(--ui-text-secondary)}
