/* EVE Killmails Mirror — Shared CSS */
*, *::before, *::after { box-sizing: border-box; }
:root {
    --eve-red: #ff4444;
    --eve-blue: #4488ff;
    --eve-dark: #1a1a2e;
    --eve-darker: #0f0f1a;
    --eve-accent: #e94560;
}
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; background-color:var(--eve-darker); color:#f3f4f6; min-height:100vh; line-height:1.5; }
a { color:inherit; text-decoration:none; }

/* Backgrounds */
.bg-eve-dark{background-color:var(--eve-dark)}.bg-eve-darker{background-color:var(--eve-darker)}.bg-eve-accent{background-color:var(--eve-accent)}

/* Text colors */
.text-eve-red{color:var(--eve-red)}.text-eve-blue{color:var(--eve-blue)}.text-eve-accent{color:var(--eve-accent)}
.text-white{color:#fff}.text-gray-100{color:#f3f4f6}.text-gray-300{color:#d1d5db}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}
.text-green-400{color:#4ade80}.text-green-500{color:#22c55e}.text-red-400{color:#f87171}.text-red-500{color:#ef4444}
.text-yellow-300{color:#fde047}.text-yellow-400{color:#facc15}.text-yellow-500{color:#eab308}
.text-orange-400{color:#fb923c}.text-orange-500{color:#f97316}.text-blue-400{color:#60a5fa}.text-blue-500{color:#3b82f6}.text-purple-500{color:#a855f7}

/* Glass / glow */
.glass-card{background:rgba(26,26,46,.8);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}
.glow-accent{box-shadow:0 0 20px rgba(233,69,96,.3)}.glow-blue{box-shadow:0 0 20px rgba(68,136,255,.3)}

/* Layout utilities */
.max-w-7xl{max-width:80rem}.mx-auto{margin-left:auto;margin-right:auto}.px-4{padding-left:1rem;padding-right:1rem}
.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.p-2{padding:.5rem}.p-3{padding:.75rem}.p-6{padding:1.5rem}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}
.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}
.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}
.space-y-2>*+*{margin-top:.5rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}
.space-x-2>*+*{margin-left:.5rem}.space-x-3>*+*{margin-left:.75rem}.space-x-4>*+*{margin-left:1rem}

/* Grid */
.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
@media(min-width:768px){
    .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
    .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
    .md\:flex-row{flex-direction:row}
    .md\:items-center{align-items:center}
    .md\:justify-between{justify-content:space-between}
    .md\:text-left{text-align:left}
    .md\:text-right{text-align:right}
}
@media(min-width:1024px){
    .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
    .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Flex */
.flex{display:flex}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}.justify-between{justify-content:space-between}
.justify-center{justify-content:center}.items-end{align-items:flex-end}

/* Typography */
.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}
.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}
.font-bold{font-weight:700}.font-medium{font-weight:500}
.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}

/* Borders */
.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}
.border-gray-600{border-color:#4b5563}.border-gray-700{border-color:#374151}
.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}

/* Nav & Footer */
nav{background-color:var(--eve-dark);border-bottom:1px solid #374151;position:sticky;top:0;z-index:50}
nav .h-16{height:4rem}
footer{background-color:var(--eve-dark);border-top:1px solid #374151;margin-top:auto}

/* Forms */
input,textarea,select{background-color:rgba(15,15,26,.8);border:1px solid #4b5563;border-radius:.5rem;padding:.5rem 1rem;color:#f3f4f6;width:100%}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--eve-accent)}

/* Table */
table{width:100%;border-collapse:collapse}th,td{padding:.75rem;text-align:left}
th{background-color:rgba(15,15,26,.8);font-weight:500}tbody tr:hover{background-color:rgba(26,26,46,.5)}

/* Animation */
.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}

/* Hover */
.hover\:text-eve-accent:hover{color:var(--eve-accent)}
.hover\:bg-gray-700:hover{background-color:#374151}
.hover\:bg-gray-600:hover{background-color:#4b5563}
.hover\:bg-eve-darker:hover{background-color:var(--eve-darker)}
.hover\:underline:hover{text-decoration:underline}
.hover\:border-eve-accent:hover{border-color:var(--eve-accent)}
.hover\:text-orange-300:hover{color:#fb923c}
.hover\:text-red-300:hover{color:#fca5a5}

/* Transition */
.transition{transition-property:all;transition-duration:150ms}

/* Scrollbar */
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--eve-darker)}::-webkit-scrollbar-thumb{background:#4b5563;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6b7280}

/* Display & overflow */
.hidden{display:none}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.min-h-screen{min-height:100vh}
.max-h-96{max-height:24rem}

/* Sizing */
.w-2{width:.5rem}.w-16{width:4rem}.w-24{width:6rem}
.h-2{height:.5rem}.h-16{height:4rem}.h-24{height:6rem}
.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}

/* Background fills */
.bg-gray-500{background-color:#6b7280}.bg-gray-600{background-color:#4b5563}.bg-gray-700{background-color:#374151}
.bg-green-500{background-color:#22c55e}.bg-red-500{background-color:#ef4444}.bg-yellow-500{background-color:#eab308}
.bg-orange-500{background-color:#f97316}.bg-blue-500{background-color:#3b82f6}
.bg-red-600{background-color:#dc2626}
.bg-yellow-900\/30{background-color:rgba(113,63,18,.3)}.border-yellow-600{border-color:#ca8a04}

/* Dividers */
.divide-y>*+*{border-top-width:1px}.divide-gray-700\/50>*+*{border-color:rgba(55,65,81,.5)}

/* Misc */
.cursor-pointer{cursor:pointer}.resize-none{resize:none}.flex-shrink-0{flex-shrink:0}.inline-block{display:inline-block}

/* === Table-specific additions for new UI features === */

/* Drag & drop column reorder */
th.draggable-col{cursor:grab;user-select:none}
th.draggable-col:active{cursor:grabbing}
th.drag-over{border-left:2px solid var(--eve-accent)}
th.dragging{opacity:.4}

/* Sort indicators */
.sort-indicator{margin-left:.25rem;font-size:.65rem;opacity:.5}
.sort-active .sort-indicator{opacity:1;color:var(--eve-accent)}

/* Column settings dropdown */
.col-settings-dropdown-content{min-width:200px;max-height:400px;overflow-y:auto}

/* Filter badge */
.filter-badge{min-width:1.25rem;height:1.25rem;font-size:.65rem;line-height:1.25rem;text-align:center;border-radius:9999px}

/* Filter modal overlay */
.modal-overlay{position:fixed;inset:0;z-index:70;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}
.modal-overlay.hidden{display:none!important}
.modal-content{background-color:var(--eve-dark);border:1px solid #374151;border-radius:.5rem;padding:1.5rem;max-width:42rem;width:100%;margin:1rem;max-height:90vh;overflow-y:auto}

/* Sticky first column */
.sticky-col{position:sticky;left:0;z-index:5;background-color:var(--eve-darker)}
tbody .sticky-col{background-color:rgba(15,15,26,.9)}

/* Compact mode */
.compact th, .compact td{padding:.375rem .5rem;font-size:.8rem}
