:root { --bg:#0a0610; --card:rgba(14,8,22,.92); --line:rgba(255,80,200,.28); --text:#f6f1ff; --muted:#b9a8d0; --cyan:#5cf0ff; --gold:#ffb43c; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--bg); color: var(--text); font: 15px/1.4 "Segoe UI", system-ui, -apple-system, sans-serif; }
header { display: flex; align-items: center; justify-content: space-between; padding: .8rem 1rem; border-bottom: 1px solid var(--line); }
h1 { margin: 0; font: 400 1.5rem Impact, "Arial Black", sans-serif; letter-spacing: .06em; color: var(--cyan); }
h2 { margin: 0; font: 400 1.2rem Impact, "Arial Black", sans-serif; letter-spacing: .05em; color: var(--cyan); flex: 1; }
main { max-width: 1200px; margin: 0 auto; padding: 1rem; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 1rem; }
#login { max-width: 360px; margin: 6vh auto; display: flex; flex-direction: column; gap: .7rem; }
label { display: flex; flex-direction: column; gap: .25rem; color: var(--muted); }
.bar label { flex-direction: row; align-items: center; gap: .4rem; }
input, select { font: inherit; color: var(--text); background: rgba(255,255,255,.05); border: 1px solid rgba(92,240,255,.35); border-radius: 8px; padding: .5rem .6rem; }
.btn { font: 600 .95rem inherit; border: 0; border-radius: 9px; padding: .55rem .9rem; cursor: pointer; color: #140610; background: linear-gradient(90deg, var(--cyan), #7d7bff 50%, #ff3ad6); }
.btn.ghost { background: transparent; color: var(--cyan); border: 1px solid rgba(92,240,255,.45); }
.btn:disabled { opacity: .5; }
.bar { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: .4rem; }
.muted { color: var(--muted); } .msg { min-height: 1.2em; margin: .2rem 0; } .err { color: #ff6b8a; }
.wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .92rem; }
th, td { text-align: left; padding: .45rem .5rem; border-bottom: 1px solid rgba(255,255,255,.08); vertical-align: top; }
th { color: var(--cyan); white-space: nowrap; }
td.idea { max-width: 320px; overflow-wrap: anywhere; } td.nowrap { white-space: nowrap; }
.status { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; padding: .1rem .45rem; border-radius: 6px; border: 1px solid rgba(92,240,255,.4); color: var(--cyan); }
a { color: var(--gold); }
td.edit { min-width: 210px; }
td.edit select, td.edit input { padding: .3rem .4rem; font-size: .85rem; margin: 0 .3rem .3rem 0; max-width: 100%; }
td.edit input { width: 100%; }
.btn.small { padding: .3rem .6rem; font-size: .82rem; }
.note { font-size: .8rem; min-height: 1em; } .note.err { color: #ff6b8a; }
