/*
  static/css/theme-terminal.css — Terminal Design Theme
  ═══════════════════════════════════════════════════════
  Zweck: Dunkles Terminal-Design (grüne Akzente, Sidebar-Nav)
  Geladen von: templates/dashboard.html wenn theme="terminal"
  Geändert in: v1.9.5 (extrahiert aus dashboard.html)
*/

:root{
  --bg:#080d08;--s1:#0d150d;--s2:#111b11;--s3:#172317;
  --bd:#1e3320;--bd2:#2a4a2e;
  --t:#c8e6c9;--t2:#a5d6a7;--td:#5d8c61;--ts:#2d4d30;
  --ac:#4ade80;--ac2:#22c55e;
  --g:#4ade80;--y:#fbbf24;--r:#f87171;--p:#c084fc;--c:#67e8f9;--o:#fb923c;--b:#60a5fa;
  --sw:220px;--hh:50px;
  --mono:'JetBrains Mono','Courier New',monospace;
  --ui:'Orbitron','JetBrains Mono',monospace;
}

body{font-family:var(--mono);background:var(--bg);color:var(--t);min-height:100vh;font-size:13px}

/* AUTH */
#auth{display:flex;align-items:center;justify-content:center;min-height:100vh;
  background:var(--bg);
  background-image:repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(78,222,128,.018) 28px,rgba(78,222,128,.018) 29px),
                   repeating-linear-gradient(90deg,transparent,transparent 28px,rgba(78,222,128,.018) 28px,rgba(78,222,128,.018) 29px)}
.abox{background:var(--s1);border:1px solid var(--bd2);border-radius:3px;padding:2.5rem 2rem;width:420px;text-align:center;position:relative;
  box-shadow:0 0 60px rgba(78,222,128,.07),0 0 0 1px rgba(78,222,128,.04)}
.abox::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--ac),transparent);opacity:.5}
.auth-logo{font-family:var(--ui);font-size:1.4rem;font-weight:700;color:var(--ac);letter-spacing:.12em;margin-bottom:.3rem}
.auth-sub{font-size:.6rem;color:var(--ts);letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.8rem}
.auth-status{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.65rem;color:var(--td);letter-spacing:.15em;margin-bottom:1.4rem}
.abox input,.sinput{width:100%;padding:.6rem .85rem;background:var(--bg);border:1px solid var(--bd);border-radius:2px;color:var(--t);font-size:.85rem;font-family:var(--mono);outline:none;letter-spacing:.05em}
.abox input:focus,.sinput:focus{border-color:var(--ac);box-shadow:0 0 0 2px rgba(78,222,128,.12)}
.abtn{width:100%;padding:.62rem;background:transparent;color:var(--ac);border:1px solid var(--ac);border-radius:2px;font-weight:600;cursor:pointer;margin-top:.7rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;transition:background .15s,box-shadow .15s}
.abtn:hover{background:rgba(78,222,128,.1);box-shadow:0 0 15px rgba(78,222,128,.15)}
.aerr{color:var(--r);font-size:.72rem;margin-top:.6rem;min-height:1.2em;letter-spacing:.04em}

/* APP */
#app{min-height:100vh}

/* SIDEBAR */
.sidebar{width:var(--sw);min-height:100vh;background:#060b06;border-right:1px solid var(--bd);display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:50;overflow-y:auto}
.brand{padding:1.1rem .9rem .9rem;border-bottom:1px solid var(--bd)}
.brand-row{display:flex;align-items:center;gap:.45rem;margin-bottom:.2rem}
.brand-hex{font-size:1rem;color:var(--ac);animation:hexPulse 3s ease-in-out infinite}
@keyframes hexPulse{0%,100%{opacity:1}50%{opacity:.45}}
.brand-name{font-family:var(--ui);font-size:.72rem;font-weight:700;color:var(--ac);letter-spacing:.15em}
.brand-ver{font-size:.55rem;color:var(--ts);letter-spacing:.1em;margin-left:1.45rem}
.daemon-mini{display:flex;align-items:center;gap:.4rem;margin-top:.55rem;font-size:.6rem;color:var(--td);letter-spacing:.06em}

.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--ac);flex-shrink:0;animation:dotPulse 2.2s ease-in-out infinite}
.pulse-dot.warn{background:var(--y)}
.pulse-dot.err{background:var(--r)}
.pulse-dot.off{background:var(--ts);animation:none}
@keyframes dotPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(78,222,128,.4)}50%{opacity:.65;box-shadow:0 0 0 5px rgba(78,222,128,0)}}

/* TABS = sidebar nav */
.tabs{flex:1;padding:.4rem 0;overflow-y:auto}
.nav-section{padding:.85rem .75rem .25rem;font-size:.52rem;color:var(--ts);letter-spacing:.2em;text-transform:uppercase;font-family:var(--ui)}
.tab{display:flex;align-items:center;gap:.45rem;padding:.48rem .75rem;cursor:pointer;color:var(--td);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;border-left:2px solid transparent;transition:color .1s,background .1s,border-color .1s;user-select:none;white-space:nowrap}
.tab:hover{color:var(--t2);background:rgba(78,222,128,.035)}
.tab.on{color:var(--ac);border-left-color:var(--ac);background:rgba(78,222,128,.055)}
.nav-dot{width:4px;height:4px;border-radius:50%;background:currentColor;flex-shrink:0;opacity:.5}
.tab.on .nav-dot{opacity:1}
.sidebar-footer{padding:.7rem .9rem;border-top:1px solid var(--bd);display:flex;align-items:center;gap:.45rem;font-size:.58rem;color:var(--ts);letter-spacing:.08em}

/* MAIN AREA */
.main-wrap{margin-left:var(--sw);min-height:100vh;display:flex;flex-direction:column}

/* HEADER */
header{display:flex;align-items:center;justify-content:space-between;padding:0 1.4rem;height:var(--hh);border-bottom:1px solid var(--bd);background:var(--s1);position:sticky;top:0;z-index:40}
.hdr-l{display:flex;align-items:center;gap:.8rem}
.hdr-path{font-size:.58rem;color:var(--ts);letter-spacing:.15em;text-transform:uppercase}
.hdr-sep{color:var(--ts);margin:0 .3rem}
.hdr-cur{color:var(--t2);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}
.hdr-r{display:flex;align-items:center;gap:.7rem}
.hdr-mood{display:flex;align-items:center;gap:.4rem;padding:.22rem .55rem;background:var(--bg);border:1px solid var(--bd);border-radius:2px;font-size:.62rem;cursor:default}
.hdr-mood-emoji{font-size:.95rem}
.hdr-mood-text{color:var(--t);text-transform:capitalize;letter-spacing:.04em}
.hdr-mood-conf{font-size:.55rem;color:var(--td)}
.hdr-conn{display:flex;align-items:center;gap:.4rem;font-size:.6rem;color:var(--td);letter-spacing:.07em}
.ver{color:var(--td);font-size:.6rem;letter-spacing:.08em}
.btn2{padding:.28rem .65rem;background:var(--bg);color:var(--td);border:1px solid var(--bd);border-radius:2px;font-size:.65rem;cursor:pointer;font-family:var(--mono);letter-spacing:.05em;transition:border-color .1s,color .1s}
.btn2:hover{border-color:var(--ac);color:var(--ac)}

/* CONTENT */
.cnt{padding:1.4rem;flex:1}

/* CARDS */
.crd{background:var(--s1);border:1px solid var(--bd);border-radius:2px;padding:.95rem 1rem;margin-bottom:.9rem;position:relative}
.crd::before{content:'';position:absolute;top:0;left:0;width:2px;height:100%;background:var(--bd2);border-radius:2px 0 0 2px}
.crd h3{font-size:.6rem;margin-bottom:.65rem;color:var(--td);letter-spacing:.18em;text-transform:uppercase;font-family:var(--ui)}

/* STATS */
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:.55rem;margin-bottom:1.1rem}
.sc{background:var(--s1);border:1px solid var(--bd);border-radius:2px;padding:.8rem .75rem;position:relative;overflow:hidden}
.sc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--ac),transparent);opacity:.25}
.sc .n{font-size:1.55rem;font-weight:700;color:var(--ac);font-family:var(--mono);line-height:1}
.sc .l{font-size:.56rem;color:var(--td);margin-top:.35rem;letter-spacing:.12em;text-transform:uppercase}
.ov-card{background:var(--s1);border:1px solid var(--bd);border-radius:4px;padding:.8rem;margin-bottom:.6rem}

/* MOOD OVERVIEW */
.mood-overview{background:var(--s1);border:1px solid var(--bd);border-radius:2px;padding:.9rem 1.1rem;margin-bottom:.9rem;display:flex;align-items:center;gap:1.1rem}
.mood-overview .big-emoji{font-size:2rem}
.mood-overview .mood-detail h4{font-size:.56rem;color:var(--td);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.2rem;font-family:var(--ui)}
.mood-overview .mood-detail .mood-name{font-size:1.05rem;font-weight:700;text-transform:capitalize;color:var(--t)}
.mood-overview .mood-detail .mood-meta{font-size:.65rem;color:var(--td);margin-top:.2rem}

/* GRAPH */
#gc{background:var(--s1);border:1px solid var(--bd);border-radius:2px}
.gl{position:absolute;top:.7rem;right:.7rem;background:rgba(6,11,6,.92);border:1px solid var(--bd);border-radius:2px;padding:.45rem .6rem;font-size:.6rem;letter-spacing:.07em}
.gli{color:var(--td)}
.gld{width:8px;height:8px}

/* TABLES */
th{text-align:left;padding:.4rem .55rem;color:var(--ts);font-size:.57rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--bd);font-family:var(--ui)}
td{padding:.48rem .55rem;border-bottom:1px solid rgba(30,51,32,.45);font-size:.78rem;vertical-align:top;font-family:var(--mono)}
tr:hover td{background:rgba(78,222,128,.025)}

/* BADGES */
.badge{padding:.08rem .38rem;border-radius:2px;font-size:.6rem;letter-spacing:.07em;font-family:var(--mono)}
.b-s{background:rgba(96,165,250,.12);color:var(--b)}
.tag{display:inline-block;padding:.04rem .28rem;background:var(--s3);border:1px solid var(--bd);border-radius:2px;font-size:.6rem;color:var(--td);margin:0 .1rem;font-family:var(--mono)}
.dim{font-size:.75rem}

/* SEARCH */
.sbar{display:flex;gap:.5rem;margin-bottom:1rem}
.sbar button{padding:.58rem 1.1rem;background:transparent;color:var(--ac);border:1px solid var(--ac);border-radius:2px;font-weight:600;cursor:pointer;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;white-space:nowrap;transition:background .12s}
.sbar button:hover{background:rgba(78,222,128,.1)}
.ri{padding:.65rem .85rem;background:var(--s1);border:1px solid var(--bd);border-radius:2px;margin-bottom:.45rem}
.ri .sc-lbl{font-size:.65rem}
.ri .rtxt{font-size:.78rem}

/* STATES */
.empty{padding:2.5rem 1rem;font-size:.72rem;letter-spacing:.05em}
.sp{width:15px;height:15px;border:2px solid var(--bd);margin-right:.6rem}

/* MODAL */
.mo{background:rgba(0,0,0,.72)}
.mdl{background:var(--s1);border:1px solid var(--bd2);border-radius:2px;padding:1.5rem;max-width:620px;max-height:85vh;box-shadow:0 0 50px rgba(0,0,0,.6)}
.mdl::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--ac),transparent);opacity:.4}
.mdl h2{font-size:.88rem;margin-bottom:.25rem;color:var(--t);letter-spacing:.04em}
.mdl .tb{color:var(--td);font-size:.7rem;margin-bottom:.8rem;display:block;letter-spacing:.04em}
.mx{border:1px solid var(--bd);color:var(--td);font-size:.9rem;width:22px;height:22px;border-radius:2px;display:flex;align-items:center;justify-content:center;font-family:var(--mono)}
.mx:hover{border-color:var(--ac)}
.mdl h4{font-size:.6rem;color:var(--td);margin:.85rem 0 .35rem;text-transform:uppercase;letter-spacing:.12em;font-family:var(--ui)}

/* SUBCONSCIOUS */
.mood-box{display:flex;align-items:center;gap:1.1rem;margin-bottom:.9rem;padding:.9rem 1.1rem;background:var(--s2);border:1px solid var(--bd);border-radius:2px}
.mood-emoji{font-size:1.9rem}
.mood-info h4{font-size:.58rem;color:var(--td);margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.12em;font-family:var(--ui)}
.mood-dominant{font-size:1.05rem}
.mood-conf{font-size:.65rem}
.mood-time{font-size:.62rem}
.warmth-bar{height:4px;opacity:.65}
.daemon-settings{display:flex;align-items:center;gap:.9rem;margin-bottom:.8rem;padding:.65rem .9rem;background:var(--s2);border:1px solid var(--bd);border-radius:2px}
.daemon-settings label{font-size:.68rem;color:var(--td);font-weight:500;letter-spacing:.07em}
.daemon-settings select{padding:.28rem .45rem;background:var(--bg);border:1px solid var(--bd);border-radius:2px;color:var(--t);font-size:.72rem;cursor:pointer;font-family:var(--mono)}

/* BUTTONS */
.del-btn{border:1px solid rgba(248,113,113,.4);border-radius:2px;padding:.13rem .38rem;font-size:.62rem;font-family:var(--mono)}
.edit-btn{border:1px solid rgba(251,191,36,.4);border-radius:2px;padding:.13rem .38rem;font-size:.62rem;font-family:var(--mono)}
.act-btn{border:1px solid rgba(78,222,128,.4);border-radius:2px;padding:.13rem .38rem;font-size:.62rem;font-family:var(--mono)}
.inline-form input,.inline-form select{padding:.22rem .38rem;background:var(--bg);border:1px solid var(--bd);border-radius:2px;color:var(--t);font-size:.7rem;font-family:var(--mono)}
.inline-form button{padding:.22rem .45rem;background:transparent;color:var(--ac);border:1px solid var(--ac);border-radius:2px;font-size:.68rem;cursor:pointer;font-family:var(--mono)}

/* EMOJI PICKER */
.emoji-pick{border-radius:3px}
.emoji-dropdown{border:1px solid var(--bd2);border-radius:2px;padding:.5rem;box-shadow:0 8px 24px rgba(0,0,0,.55)}
.emoji-dropdown span{font-size:1.2rem;border-radius:2px}

/* CONSOLIDATION */
.cons-bar{margin-bottom:.8rem;padding:.5rem .8rem;background:var(--s2);border:1px solid var(--bd);border-radius:2px;font-size:.7rem}
.cons-pattern{font-size:.8rem;font-family:var(--mono)}
.cons-meta{font-size:.68rem}
.cons-content-block{font-size:.76rem;line-height:1.55;padding:.5rem .7rem;background:rgba(78,222,128,.05);border-radius:2px;border-left:2px solid var(--ac);margin-bottom:.4rem}
.cons-evidence-list{border-radius:2px;border:1px solid var(--bd)}
.cons-ev-item{padding:.35rem .5rem;border-radius:2px;font-size:.73rem}
.cons-ev-meta{font-size:.6rem}
.conf-badge-h{display:inline-block;padding:.08rem .38rem;border-radius:2px;font-size:.62rem;font-weight:600;background:rgba(78,222,128,.12);color:var(--g);font-family:var(--mono)}
.conf-badge-m{display:inline-block;padding:.08rem .38rem;border-radius:2px;font-size:.62rem;font-weight:600;background:rgba(251,191,36,.12);color:var(--y);font-family:var(--mono)}
.conf-badge-l{display:inline-block;padding:.08rem .38rem;border-radius:2px;font-size:.62rem;font-weight:600;background:rgba(96,165,250,.12);color:var(--b);font-family:var(--mono)}

/* CHANGELOG */
.cl-card{background:var(--s1);border:1px solid var(--bd);border-radius:2px;padding:.85rem .95rem;margin-bottom:.55rem;position:relative}
.cl-card:first-child::before{content:'';position:absolute;top:0;left:0;width:2px;height:100%;background:var(--ac);border-radius:2px 0 0 2px}
.cl-ver{font-size:.88rem;font-weight:700;color:var(--t);font-family:var(--mono)}
.cl-date{font-size:.62rem;color:var(--td);font-family:var(--mono)}
.cl-changes{font-size:.72rem}

/* SCROLLBARS */
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:2px}
::-webkit-scrollbar-thumb:hover{background:var(--td)}

/* HAMBURGER */
.hamburger{gap:4px;width:36px;height:36px;padding:6px;border:1px solid var(--bd);border-radius:2px;flex-shrink:0}
.hamburger span{background:var(--td)}
.hamburger:hover span{background:var(--ac)}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:45;cursor:pointer}

/* MOBILE */
@media(max-width:768px){
  .hamburger{display:flex}
  .sidebar{transform:translateX(-100%);transition:transform .25s ease;z-index:60;height:100vh;overflow-y:auto}
  .sidebar.open{transform:translateX(0)}
  .sidebar-overlay.open{display:block}
  .main-wrap{margin-left:0}
  .cnt{padding:1rem .75rem}
  .hdr-path{display:none}
  header{padding:0 .75rem}
}
@media(min-width:769px){
  .sidebar{transform:none!important}
  .sidebar-overlay{display:none!important}
}

/* SETTINGS PANEL */
.settings-section{margin-bottom:1.2rem}
.settings-section h4{font-size:.6rem;color:var(--td);letter-spacing:.18em;text-transform:uppercase;font-family:var(--ui);margin-bottom:.7rem;padding-bottom:.4rem;border-bottom:1px solid var(--bd)}
.settings-row{padding:.6rem 0;border-bottom:1px solid rgba(30,51,32,.4)}
.settings-label{font-size:.75rem;color:var(--t);letter-spacing:.04em}
.settings-desc{font-size:.65rem}
