/* =============================================================
   Vision Projects — Designsystem
   Warm-elegant · Creme-Flächen · Serifen-Überschriften
   Ein kräftiger Akzent. Das Klima wird zentral hier gesteuert.
   ============================================================= */

:root{
  /* Akzent — kräftiges, warmes Rot */
  --accent:#B23A2E;
  --accent-dark:#9A3026;

  /* Tinten und Text */
  --ink:#2A2420;
  --dark:#231E1A;
  --text:#2A2420;
  --text-2:#6f6862;
  --text-3:#a39c93;

  /* Flächen — warmes Creme statt kühlem Grau */
  --paper:#FFFFFF;
  --surface:#F4F1EC;
  --surface-2:#FBF9F5;

  /* Linien */
  --line:rgba(42,36,32,.09);
  --line-2:rgba(42,36,32,.16);

  /* Zusatzfarben */
  --teal:#3F7A52;
  --amber:#9A6515;
  --danger:#B23A2E;

  /* Radien — etwas weicher */
  --r:10px; --r-lg:16px; --r-xl:22px;

  /* Schatten — sanft, hochwertig */
  --shadow-card:0 1px 2px rgba(42,36,32,.04),0 10px 28px rgba(42,36,32,.07);
  --shadow-modal:0 1px 3px rgba(42,36,32,.05),0 24px 56px rgba(42,36,32,.16);

  /* Serifenschrift für Überschriften */
  --font-serif:'Fraunces','Georgia','Times New Roman',serif;
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--surface);color:var(--text);
  letter-spacing:-.011em;line-height:1.55;font-size:14px;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}

/* -- Typo-Helfer -- */
.cap{font-size:10.5px;font-weight:500;letter-spacing:.05em;
  text-transform:uppercase;color:var(--text-3);}
h1{font-size:27px;font-weight:600;letter-spacing:-.01em;line-height:1.18;
  font-family:var(--font-serif);}
h2{font-size:18px;font-weight:600;letter-spacing:-.01em;
  font-family:var(--font-serif);}
h3{font-size:14px;font-weight:600;}

/* -- Buttons -- */
.btn{display:inline-flex;align-items:center;gap:7px;
  font-size:12.5px;font-weight:500;font-family:inherit;
  padding:10px 16px;border-radius:var(--r);border:none;cursor:pointer;
  transition:transform .14s,filter .14s,background .14s;}
.btn:active{transform:scale(.985);}
.btn:hover{text-decoration:none;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{filter:brightness(1.07);}
.btn-ghost{background:#fff;color:var(--ink);border:.5px solid var(--line-2);}
.btn-ghost:hover{background:var(--surface-2);}
.btn-amber{background:var(--amber);color:#fff;}
.btn-amber:hover{filter:brightness(1.1);}
.btn-teal{background:var(--teal);color:#fff;}
.btn-teal:hover{filter:brightness(1.1);}
.btn-sm{padding:7px 12px;font-size:11.5px;}
.btn-block{width:100%;justify-content:center;}

/* -- Icons (inline SVG) -- */
.i{width:1em;height:1em;display:inline-block;vertical-align:-.13em;
  fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;}

/* -- Status-Pills (ruhiges System) -- */
.status{display:inline-flex;align-items:center;gap:6px;font-size:11px;
  font-weight:500;border-radius:7px;padding:4px 10px;white-space:nowrap;flex-shrink:0;}
.status .dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.status-neutral{background:var(--surface);color:#44443f;}
.status-neutral .dot{background:#a8a69d;}
.status-attention{background:var(--paper);border:.5px solid var(--accent);
  color:var(--ink);padding:3.5px 10px;}
.status-attention .dot{background:var(--accent);}
.status-done{background:transparent;border:.5px solid var(--line);
  color:#86857e;padding:3.5px 10px;}

/* -- Cards -- */
.card{background:#fff;border:.5px solid var(--line);border-radius:var(--r-lg);}
.card-head{padding:15px 22px;border-bottom:.5px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;}
.card-body{padding:18px 22px;}

/* -- Top-Bar -- */
.bar{display:flex;align-items:center;justify-content:space-between;
  padding:14px 26px;border-bottom:.5px solid var(--line);
  background:rgba(252,252,251,.94);position:sticky;top:0;z-index:20;
  backdrop-filter:blur(8px);}
.bar-dark{background:var(--dark);border-bottom:none;}
.bar-dark .brand-name{color:#fff;}
.brand{display:flex;align-items:center;gap:10px;}
.brand-mark{width:26px;height:26px;border-radius:7px;background:var(--accent);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;}
.brand-name{font-size:14px;font-weight:600;}
.avatar{width:30px;height:30px;border-radius:50%;background:#EEF4F9;
  color:var(--accent);display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:600;}

/* -- Detail-Bar (mit Zurück-Pfeil) -- */
.subbar{display:flex;align-items:center;justify-content:space-between;
  padding:13px 26px;border-bottom:.5px solid var(--line);
  background:rgba(252,252,251,.94);position:sticky;top:0;z-index:20;}
.subbar-left{display:flex;align-items:center;gap:9px;}
.back{display:flex;font-size:16px;color:var(--text-2);}

/* -- Timeline / Projektverlauf -- */
.tl-row{display:flex;gap:15px;}
.tl-spine{display:flex;flex-direction:column;align-items:center;padding-top:3px;}
.tl-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.tl-dot.now{background:var(--accent);}
.tl-dot.done{background:var(--teal);}
.tl-dot.open{background:#fff;border:1.5px solid #d6d4cb;}
.tl-line{width:1.5px;flex:1;background:var(--line);margin:4px 0;min-height:14px;}

/* -- Datei-Chip -- */
.chip{display:flex;align-items:center;gap:11px;background:var(--paper);
  border:.5px solid var(--line);border-radius:11px;padding:11px 14px;
  transition:background .14s;text-decoration:none;color:inherit;}
.chip:hover{background:var(--surface-2);text-decoration:none;}
.chip-ico{width:32px;height:32px;border-radius:8px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:16px;}
.chip-k-html{background:#E1F5EE;color:#0F6E56;}
.chip-k-pdf{background:#FCEBEB;color:#A32D2D;}
.chip-k-image{background:#FBEAF0;color:#993556;}
.chip-k-docx{background:#E6F1FB;color:#185FA5;}
.chip-k-other{background:var(--surface);color:#5f5e5a;}

/* -- Formularfelder -- */
.field{background:#fff;border:.5px solid var(--line-2);border-radius:var(--r);
  padding:9px 12px;font-size:12.5px;width:100%;color:var(--ink);
  font-family:inherit;}
.field:focus{outline:none;border-color:var(--accent);}
.flabel{display:block;font-size:11px;font-weight:500;color:var(--text-2);
  margin-bottom:6px;}
textarea.field{resize:vertical;min-height:80px;}

/* -- Flash / Hinweise -- */
.notice{padding:11px 15px;border-radius:10px;font-size:12.5px;line-height:1.55;}
.notice-info{background:#EEF4F9;color:#0C447C;}
.notice-error{background:#FCEBEB;color:#7d2424;}
.notice-ok{background:#E1F5EE;color:#0c5742;}

/* -- Admin-Layout -- */
.admin-shell{display:flex;min-height:calc(100vh - 53px);}
.sidebar{width:172px;background:#fff;border-right:.5px solid var(--line);
  padding:14px 9px;flex-shrink:0;}
.nav-item{display:flex;align-items:center;gap:10px;padding:8px 11px;
  border-radius:8px;font-size:12.5px;color:var(--text-2);width:100%;
  text-align:left;text-decoration:none;transition:background .14s;}
.nav-item:hover{background:var(--surface);text-decoration:none;}
.nav-item.on{background:#E6F1FB;color:var(--accent-dark);font-weight:500;}
.admin-main{flex:1;padding:22px 26px;min-width:0;}

/* -- Kennzahl-Karten -- */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.metric{background:#fff;border:.5px solid var(--line);border-radius:var(--r);
  padding:13px 14px;}
.metric .ml{font-size:11px;color:var(--text-2);margin-bottom:5px;}
.metric .mv{font-size:22px;font-weight:600;}

/* -- Tabelle -- */
.tbl{width:100%;border-collapse:collapse;}
.tbl th{font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--text-3);
  text-align:left;padding:9px 14px;background:var(--surface-2);
  border-bottom:.5px solid var(--line);}
.tbl td{padding:11px 14px;border-bottom:.5px solid var(--line);font-size:12.5px;}
.tbl tr:last-child td{border-bottom:none;}
.tbl tbody tr{transition:background .14s;}
.tbl tbody tr:hover{background:var(--surface-2);}

/* -- Container -- */
.wrap{max-width:760px;margin:0 auto;padding:34px 24px 64px;}
.wrap-wide{max-width:1000px;margin:0 auto;padding:22px 26px 60px;}

/* -- Dokument-Vorschau (HTML-Konzept) -- */
.doc-stage{background:var(--surface);padding:26px;display:flex;justify-content:center;}
.browser{max-width:560px;width:100%;background:var(--dark);border-radius:9px;
  overflow:hidden;box-shadow:var(--shadow-card);}
.browser-bar{display:flex;align-items:center;gap:7px;padding:10px 13px;
  background:#0A1420;border-bottom:.5px solid rgba(255,255,255,.07);}
.browser-dot{width:9px;height:9px;border-radius:50%;}
.doc-frame{width:100%;border:none;background:#fff;min-height:420px;display:block;}

/* -- Marker -- */
.marker{position:absolute;width:25px;height:25px;border:2.5px solid var(--surface);
  border-radius:50% 50% 50% 3px;display:flex;align-items:center;
  justify-content:center;color:#fff;font-size:11px;font-weight:600;cursor:pointer;
  transition:transform .2s cubic-bezier(.34,1.56,.64,1);}
.marker:hover{transform:scale(1.13);}
.marker-accent{background:var(--accent);}
.marker-amber{background:#D85A30;}

/* -- Login / PIN -- */
.auth-wrap{min-height:100vh;display:flex;align-items:center;
  justify-content:center;padding:24px;}
.auth-card{background:#fff;border:.5px solid var(--line);
  border-radius:var(--r-xl);box-shadow:var(--shadow-card);
  padding:38px 36px;max-width:380px;width:100%;}
.auth-ico{width:46px;height:46px;border-radius:13px;background:#EEF4F9;
  display:flex;align-items:center;justify-content:center;
  color:var(--accent);font-size:22px;margin-bottom:20px;}

/* -- Composer (Anmerkung schreiben) -- */
.composer{display:flex;align-items:center;gap:10px;padding:13px 0;}
.composer .ci{flex:1;border:.5px solid var(--line-2);border-radius:18px;
  padding:9px 14px;font-size:12.5px;font-family:inherit;}

/* -- Mobile -- */
@media (max-width:720px){
  .bar,.subbar{padding:12px 16px;}
  .wrap{padding:24px 16px 56px;}
  .wrap-wide{padding:16px 14px 48px;}
  .admin-shell{flex-direction:column;}
  .sidebar{width:100%;display:flex;gap:4px;overflow-x:auto;
    border-right:none;border-bottom:.5px solid var(--line);padding:8px 12px;}
  .nav-item{white-space:nowrap;}
  .admin-main{padding:18px 16px;}
  .metrics{grid-template-columns:repeat(2,1fr);}
  h1{font-size:21px;}
}

/* -- Aktionsleiste mobil (unten fixiert) -- */
.actionbar{display:flex;gap:10px;}
@media (max-width:720px){
  .actionbar{position:sticky;bottom:0;background:rgba(252,252,251,.96);
    backdrop-filter:blur(8px);padding:12px 16px;margin:0 -16px -56px;
    border-top:.5px solid var(--line);}
}

.fade-in{animation:fade .35s ease;}
@keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

