/* Shared UI Components */
*,*::before,*::after{box-sizing:border-box}
body,input,button,select,textarea{font-family:Inter,"Segoe UI",Tahoma,Arial,sans-serif}
a{color:inherit}
img,svg,video,canvas{max-width:100%}
.card,.panel,.hero{
 background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow),var(--glow);
 backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius)
}
input,select,textarea{
 width:100%;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-sm);
 background:var(--input);color:var(--text);padding:11px 13px;outline:none
}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(79,156,255,.12)}
button,.btn{min-height:44px;touch-action:manipulation}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;border:1px solid var(--border);
 border-radius:var(--radius-sm);background:var(--surface);color:var(--text);text-decoration:none;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,var(--primary-strong),var(--primary));border-color:transparent;color:#fff}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:700}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius)}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
::selection{background:var(--primary);color:#fff}
