/*
  static/css/shared.css — Gemeinsame Styles (beide Themes)
  ══════════════════════════════════════════════════════════
  Zweck: Basis-Reset, Tabellen, Modals, Buttons, Utilities
  Geladen von: templates/dashboard.html (immer, vor theme-*.css)
  Geändert in: v1.9.5 (extrahiert aus dashboard.html + dashboard_alt.html)
*/

/* RESET */
*{margin:0;padding:0;box-sizing:border-box}

/* LAYOUT HELPERS */
.pnl{display:none}.pnl.on{display:block}
#app{display:none}

/* GRAPH */
#gc{overflow:hidden;position:relative}
#gc svg{width:100%;height:550px;display:block}
.gli{display:flex;align-items:center;gap:.35rem;margin-bottom:.2rem}
.gld{border-radius:50%}

/* TABLES */
table{width:100%;border-collapse:collapse}
tr:last-child td{border-bottom:none}

/* BADGES */
.badge{display:inline-block;font-weight:600;text-transform:uppercase}
.b-h{background:rgba(248,113,113,.12);color:var(--r)}
.b-m{background:rgba(251,191,36,.12);color:var(--y)}
.b-l{background:rgba(78,222,128,.12);color:var(--g)}
.b-p{background:rgba(192,132,252,.12);color:var(--p)}
.b-o{background:rgba(251,146,60,.12);color:var(--o)}
.b-c{background:rgba(103,232,249,.12);color:var(--c)}
.b-g{background:rgba(78,222,128,.12);color:var(--g)}
.b-y{background:rgba(251,191,36,.12);color:var(--y)}
.dim{color:var(--td)}
.em{color:var(--p)}

/* SEARCH RESULTS */
.ri .sc-lbl{color:var(--g);font-weight:600}
.ri .rtxt{margin-top:.3rem;line-height:1.55}

/* STATES */
.empty{color:var(--td);text-align:center}
.ld{display:flex;align-items:center;justify-content:center;padding:2.5rem;color:var(--td)}
.sp{border-top-color:var(--ac);border-radius:50%;animation:sp .7s linear infinite;flex-shrink:0}
@keyframes sp{to{transform:rotate(360deg)}}

/* MODAL */
.mo{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;align-items:center;justify-content:center;padding:2rem}
.mo.open{display:flex}
.mdl{width:100%;overflow-y:auto;position:relative}
.mx{float:right;background:none;cursor:pointer}
.mx:hover{color:var(--t)}
.elink{color:var(--ac);cursor:pointer;text-decoration:none}
.elink:hover{text-decoration:underline}

/* INTENSITY */
.intensity-whisper{color:var(--td)}
.intensity-present{color:var(--c)}
.intensity-strong{color:var(--y)}
.intensity-overwhelming{color:var(--r)}

/* SUBCONSCIOUS — shared structure */
.mood-emoji{flex-shrink:0}
.mood-dominant{font-weight:700;text-transform:capitalize}
.mood-conf{color:var(--td);margin-top:.1rem}
.mood-time{color:var(--td);margin-left:auto;text-align:right}
.warmth-bar{display:inline-block;border-radius:3px;background:var(--ac);vertical-align:middle}
.daemon-settings select:focus{border-color:var(--ac);outline:none}

/* BUTTONS — shared semantics */
.del-btn{background:none;color:var(--r);cursor:pointer}
.del-btn:hover{background:rgba(248,113,113,.1)}
.edit-btn{background:none;color:var(--y);cursor:pointer}
.edit-btn:hover{background:rgba(251,191,36,.1)}
.act-btn{background:none;color:var(--g);cursor:pointer}
.act-btn:hover{background:rgba(78,222,128,.1)}
.inline-form{display:inline-flex;gap:.3rem;align-items:center;margin-top:.3rem}

/* EMOJI PICKER */
.emoji-pick{display:inline-block;cursor:pointer;font-size:1.4rem;vertical-align:middle;padding:.1rem .3rem;border:1px solid transparent}
.emoji-pick:hover{border-color:var(--bd);background:var(--s2)}
.emoji-dropdown{position:absolute;background:var(--s1);z-index:200;display:grid;grid-template-columns:repeat(8,1fr);gap:.2rem;max-height:200px;overflow-y:auto;width:320px}
.emoji-dropdown span{cursor:pointer;padding:.2rem;text-align:center}
.emoji-dropdown span:hover{background:var(--s3)}

/* CONSOLIDATION — shared structure */
.cons-bar{display:flex;align-items:center;gap:.8rem}
.cons-pattern{font-weight:600;color:var(--t);margin-bottom:.3rem;word-break:break-all}
.cons-meta{color:var(--td);margin-bottom:.4rem}
.cons-evidence-list{margin-top:.4rem;padding:.5rem;background:var(--bg)}
.cons-ev-item{background:var(--s2);margin-bottom:.2rem;line-height:1.45}
.cons-ev-meta{color:var(--td);display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.2rem}
.cons-actions{display:flex;gap:.5rem;margin-top:.7rem;padding-top:.55rem;border-top:1px solid var(--bd)}

/* CHANGELOG — shared structure */
.cl-changes{padding-left:1rem;margin-top:.45rem;line-height:1.7;color:var(--td)}
.cl-changes li{margin-bottom:.1rem}

/* OVERVIEW CARDS */
.ov-card-title{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ac);margin-bottom:.5rem;font-weight:600}
.ov-row{font-size:.75rem;margin:.2rem 0}
.ov-secondary{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.8rem}

/* HAMBURGER — shared structure */
.hamburger{display:none;flex-direction:column;justify-content:center;cursor:pointer;background:none}
.hamburger span{width:100%;height:2px;border-radius:1px;transition:all .2s}

/* SETTINGS — shared structure */
.settings-row{display:flex;align-items:center;justify-content:space-between}
.settings-row:last-child{border-bottom:none}
.settings-desc{color:var(--td);margin-top:.15rem}

/* emotional_weight badges (v2.1.19) */
.ew-badge{display:inline-block;padding:.1em .45em;border-radius:.25em;font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle}
.ew-light{background:#2a3a4a;color:#8ab4d4}
.ew-medium{background:#3a3020;color:#d4a85a}
.ew-heavy{background:#3a1a20;color:#d46a7a}
.ew-pending{background:#1e2a1e;color:#7ab87a}
