  :root{
    --ink:#F4F6F7;
    --panel:#FFFFFF;
    --panel-2:#EEF1F2;
    --line:#D8DEE1;
    --text:#1E242A;
    --muted:#57636D;

    --header-bg:#1B2126;
    --header-text:#F2F4F5;
    --header-muted:rgba(242,244,245,0.62);
    --amber-bright:#E8A33D;

    --amber:#B45309;
    --amber-bg:#FEF3C7;
    --green:#15803D;
    --green-bg:#DCFCE7;
    --red:#B91C1C;
    --red-bg:#FEE2E2;
    --slate:#2B6E8C;
    --slate-bg:#E3F1F6;
    --orange:#C2410C;
    --orange-bg:#FFEDD5;
    --grey:#52606B;
    --grey-bg:#EEF1F3;
    --teal:#0F766E;
    --teal-bg:#CCFBF1;
    --radius:6px;
  }

  *{box-sizing:border-box;}
  #twb-root{
    background:var(--ink);
    color:var(--text);
    font-family:'Inter',sans-serif;
    font-size:14px;
    line-height:1.4;
    padding:0;
    min-height:100%;
  }
  #twb-root .mono{font-family:'IBM Plex Mono',monospace;}
  #twb-root .eyebrow{
    font-family:'Barlow Condensed',sans-serif;
    text-transform:uppercase;
    letter-spacing:0.09em;
    font-weight:600;
    font-size:12px;
    color:var(--amber-bright);
  }
  #twb-root h1,#twb-root h2,#twb-root h3{
    font-family:'Barlow Condensed',sans-serif;
    font-weight:700;
    letter-spacing:0.01em;
    margin:0;
  }
  #twb-root input::placeholder,#twb-root textarea::placeholder{color:var(--muted);opacity:1;}

  .twb-header{
    padding:22px 26px 18px;
    background:var(--header-bg);
    color:var(--header-text);
  }
  .twb-header-row{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:10px;}
  .twb-header h1{font-size:26px;color:var(--header-text);}
  .twb-sub{color:var(--header-muted);font-size:13px;margin-top:4px;}
  .twb-status{font-size:12px;color:var(--header-muted);text-align:right;}
  .twb-status .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4CAF7D;margin-right:6px;}
  .twb-headerbtns{display:flex;gap:8px;margin-top:8px;justify-content:flex-end;}
  .twb-headerbtns .twb-btn{border-color:rgba(242,244,245,0.28);color:rgba(242,244,245,0.8);}
  .twb-headerbtns .twb-btn:hover{border-color:var(--amber-bright);color:var(--amber-bright);}
  .twb-headerbtns .twb-btn-primary{border-color:var(--amber-bright);color:var(--amber-bright);}
  .twb-hazard{
    height:5px;width:100%;
    background:repeating-linear-gradient(135deg,var(--amber-bright) 0 10px,var(--header-bg) 10px 20px);
    opacity:0.85;
  }

  .twb-tabs{display:flex;gap:4px;padding:12px 26px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;background:var(--ink);}
  .twb-tab{
    font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:14px;letter-spacing:0.02em;
    text-transform:uppercase;color:var(--muted);background:transparent;border:none;
    padding:9px 16px;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;
  }
  .twb-tab:hover{color:var(--text);}
  .twb-tab.active{color:var(--amber);border-bottom-color:var(--amber);}

  .twb-body{padding:20px 26px 60px;display:flex;flex-direction:column;gap:22px;}
  .twb-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  @media (max-width:820px){.twb-grid{grid-template-columns:1fr;}}

  .twb-panel{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:0 1px 2px rgba(20,25,30,0.04);
  }
  .twb-panel-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 16px;border-bottom:1px solid var(--line);
    background:var(--panel-2);
  }
  .twb-panel-head h2{font-size:18px;color:var(--text);}
  .twb-panel-body{padding:10px 14px 14px;}

  table.twb-table{width:100%;border-collapse:collapse;font-size:13px;}
  table.twb-table th{
    text-align:left;font-family:'Barlow Condensed',sans-serif;
    text-transform:uppercase;letter-spacing:0.06em;font-weight:600;
    color:var(--muted);font-size:11.5px;padding:7px 8px;border-bottom:1px solid var(--line);
  }
  table.twb-table td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--text);}
  table.twb-table tr:last-child td{border-bottom:none;}
  table.twb-table tr:hover td{background:var(--panel-2);}
  table.twb-table td.rowdel{width:26px;text-align:center;}
  table.twb-table td.center{text-align:center;}

  .twb-input,.twb-select{
    width:100%;background:transparent;border:1px solid transparent;
    color:var(--text);font-family:'Inter',sans-serif;font-size:13px;
    padding:5px 6px;border-radius:4px;
  }
  .twb-input:hover,.twb-select:hover{border-color:var(--line);}
  .twb-input:focus,.twb-select:focus{outline:none;border-color:var(--amber);background:var(--panel-2);}
  .twb-select{appearance:none;cursor:pointer;}
  .twb-select option{background:var(--panel);color:var(--text);}

  .twb-btn{
    font-family:'Inter',sans-serif;font-size:12.5px;font-weight:500;
    background:transparent;border:1px solid var(--line);color:var(--muted);
    padding:6px 10px;border-radius:5px;cursor:pointer;transition:border-color .15s,color .15s;
  }
  .twb-btn:hover{border-color:var(--amber);color:var(--amber);}
  .twb-btn-primary{border-color:var(--amber);color:var(--amber);}
  .twb-btn-add{border-style:dashed;}
  .twb-btn-icon{border:none;background:none;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;padding:2px 4px;}
  .twb-btn-icon:hover{color:var(--red);}
  .twb-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--amber);}

  .twb-filterbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
  .twb-filter{
    font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:12px;letter-spacing:0.03em;
    text-transform:uppercase;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);
    padding:5px 12px;border-radius:20px;cursor:pointer;
  }
  .twb-filter.active{color:var(--amber);border-color:var(--amber);background:var(--amber-bg);}

  /* Mehrfachzuweisung (Chips) — wiederverwendbar; erster Eintrag = Hauptzuständiger */
  .twb-assign{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-width:170px;}
  .twb-chip{
    background:var(--panel-2);border:1px solid var(--line);border-radius:14px;
    padding:3px 6px 3px 10px;font-size:12px;display:inline-flex;align-items:center;gap:4px;
    font-family:'IBM Plex Mono',monospace;white-space:nowrap;color:var(--text);
  }
  .twb-chip-primary{background:var(--amber-bg);border-color:var(--amber);font-weight:600;}
  .twb-chip-star{color:var(--amber);font-size:11px;margin-right:1px;}
  .twb-chip-promote{background:none;border:none;color:var(--muted);cursor:pointer;font-size:12px;line-height:1;padding:0 1px;}
  .twb-chip-promote:hover{color:var(--amber);}
  .twb-chip-x{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;line-height:1;padding:0 2px;}
  .twb-chip-x:hover{color:var(--red);}
  .twb-assign-add{
    width:auto;min-width:96px;max-width:120px;font-size:11px;padding:4px 5px;
    border:1px dashed var(--line);color:var(--muted);border-radius:14px;
  }
  .twb-assign-add:hover{border-color:var(--amber);color:var(--amber);}
  .twb-assign-empty{color:var(--muted);font-size:12px;font-style:italic;margin-right:4px;}
  .twb-assign-hint{font-size:10.5px;color:var(--muted);margin-top:6px;}
  .twb-weektasks{font-size:10.5px;color:var(--muted);margin-top:4px;line-height:1.3;cursor:help;}

  .twb-pill{
    font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:11px;
    letter-spacing:0.04em;text-transform:uppercase;
    padding:3px 8px;border-radius:20px;border:1px solid transparent;
  }
  .twb-note{
    background:var(--panel);border:1px solid var(--line);border-radius:4px;
    color:var(--text);font-size:12px;padding:5px 7px;width:100%;font-family:'Inter',sans-serif;
  }
  .twb-note:focus{outline:none;border-color:var(--amber);}

  .twb-status-nichtverplant{background:var(--orange-bg);color:var(--orange);border-color:var(--orange);}
  .twb-status-eingeteilt{background:var(--green-bg);color:var(--green);border-color:var(--green);}
  .twb-status-abwesend{background:var(--red-bg);color:var(--red);border-color:var(--red);}
  .twb-status-homeoffice,.twb-status-extern{background:var(--slate-bg);color:var(--slate);border-color:var(--slate);}
  .twb-status-schulung{background:var(--amber-bg);color:var(--amber);border-color:var(--amber);}
  .twb-status-frei{background:var(--grey-bg);color:var(--grey);border-color:var(--grey);}
  .twb-status-bereitschaft{background:var(--teal-bg);color:var(--teal);border-color:var(--teal);}

  .twb-type-aufgabe{background:var(--grey-bg);color:var(--grey);border-color:var(--grey);}
  .twb-type-ticket{background:var(--slate-bg);color:var(--slate);border-color:var(--slate);}
  .twb-type-rundgang{background:var(--green-bg);color:var(--green);border-color:var(--green);}

  .twb-daytoggle{display:inline-flex;gap:2px;margin:0 3px;flex-wrap:wrap;}
  .twb-daybtn{font-family:'IBM Plex Mono',monospace;font-size:9px;padding:1px 3px;border-radius:3px;
    border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;line-height:1.5;}
  .twb-daybtn.on{background:var(--amber-bg);color:var(--amber);border-color:var(--amber);font-weight:700;}

  .twb-add-tech{display:flex;gap:8px;margin-top:12px;}
  .twb-add-tech input{flex:1;background:var(--panel);border:1px solid var(--line);color:var(--text);
    border-radius:5px;padding:8px 10px;font-family:'Inter',sans-serif;font-size:13px;}
  .twb-add-tech input:focus{outline:none;border-color:var(--amber);}

  .twb-footnote{color:var(--muted);font-size:11.5px;padding:0 4px;}
  .twb-loading{padding:60px;text-align:center;color:var(--muted);font-family:'Barlow Condensed',sans-serif;letter-spacing:0.05em;text-transform:uppercase;}

  .twb-ampel-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;flex:none;}
  .twb-ampel-gruen{background:#3FAE72;}
  .twb-ampel-gelb{background:#E0932E;}
  .twb-ampel-rot{background:#D9564F;}

  .twb-warn-row{display:flex;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid var(--line);font-size:13px;}
  .twb-warn-row:last-child{border-bottom:none;}
  .twb-warn-bad{color:var(--red);font-weight:500;}
  .twb-warn-empty{padding:36px 16px;text-align:center;color:var(--green);font-size:16px;font-weight:600;font-family:'Barlow Condensed',sans-serif;}

  .twb-textarea{
    width:100%;min-height:80px;background:var(--panel);border:1px solid var(--line);
    color:var(--text);font-family:'Inter',sans-serif;font-size:13px;padding:10px;border-radius:6px;resize:vertical;
  }
  .twb-textarea:focus{outline:none;border-color:var(--amber);}

  .twb-field-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:12px;}
  .twb-field{display:flex;flex-direction:column;gap:3px;}
  .twb-field label{font-family:'Barlow Condensed',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:0.05em;color:var(--muted);}
  .twb-field input{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:5px;padding:6px 8px;font-family:'Inter',sans-serif;font-size:13px;}
  .twb-field input:focus{outline:none;border-color:var(--amber);}

  .twb-kpi-big{font-family:'Barlow Condensed',sans-serif;font-size:30px;font-weight:700;}
  .twb-kpi-sub{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em;}

  /* Tagesnotizen: sieben kompakte, gleich große Felder statt einer einzelnen großen Notiz */
  .twb-notes-grid{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:10px;
  }
  .twb-notes-cell{display:flex;flex-direction:column;gap:4px;}
  .twb-notes-cell label{
    font-family:'Barlow Condensed',sans-serif;font-size:11px;text-transform:uppercase;
    letter-spacing:0.05em;color:var(--muted);
  }
  .twb-notes-cell textarea{
    width:100%;min-height:64px;background:var(--panel);border:1px solid var(--line);
    color:var(--text);font-family:'Inter',sans-serif;font-size:12.5px;padding:8px;border-radius:6px;resize:vertical;
  }
  .twb-notes-cell textarea:focus{outline:none;border-color:var(--amber);}

  @media print{
    .twb-tabs,.twb-headerbtns,.twb-btn-add,.twb-btn-icon,.twb-add-tech,.twb-assign-add,.twb-chip-x,.twb-chip-promote,.twb-hazard,.twb-filterbar{display:none !important;}
    .twb-header{background:#fff !important;color:#111 !important;border-bottom:2px solid #111;}
    .twb-header *{color:#111 !important;}
    #twb-root{background:#fff;color:#111;}
    .twb-panel{border-color:#ccc;box-shadow:none;}
    .twb-panel-head{background:#eee;}
  }

/* ---------- Auth (Login) & Admin-Bereich — nutzt dieselben Variablen/Bausteine wie das Board ---------- */
.auth-wrap{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:var(--ink); font-family:'Inter',sans-serif; padding:20px;
}
.auth-card{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:0 4px 24px rgba(20,25,30,0.08); padding:32px 30px; width:100%; max-width:380px;
}
.auth-card .eyebrow{display:block;margin-bottom:6px;}
.auth-card h1{font-size:24px;color:var(--text);margin:0 0 4px;}
.auth-sub{color:var(--muted);font-size:13px;margin-bottom:22px;}
.auth-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.auth-field label{font-family:'Barlow Condensed',sans-serif;font-size:11.5px;text-transform:uppercase;letter-spacing:0.05em;color:var(--muted);}
.auth-field input{
  background:var(--panel-2); border:1px solid var(--line); border-radius:6px;
  padding:10px 12px; font-family:'Inter',sans-serif; font-size:14px; color:var(--text);
}
.auth-field input:focus{outline:none;border-color:var(--amber);background:var(--panel);}
.auth-btn{
  width:100%; margin-top:8px; background:var(--header-bg); color:#fff; border:none;
  border-radius:6px; padding:11px; font-family:'Inter',sans-serif; font-size:14px; font-weight:600;
  cursor:pointer; transition:opacity .15s;
}
.auth-btn:hover{opacity:0.88;}
.auth-btn:disabled{opacity:0.5;cursor:not-allowed;}
.auth-error{
  background:var(--red-bg); color:var(--red); border:1px solid var(--red);
  border-radius:6px; padding:9px 12px; font-size:12.5px; margin-bottom:14px; display:none;
}
.auth-error.show{display:block;}
.auth-footnote{margin-top:18px;font-size:11.5px;color:var(--muted);text-align:center;}

.admin-guard{padding:60px;text-align:center;color:var(--muted);font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:0.05em;}
.admin-tabs{display:flex;gap:4px;flex-wrap:wrap;}
.admin-userrow{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:8px;align-items:center;padding:8px;border-bottom:1px solid var(--line);}
.admin-userrow:last-child{border-bottom:none;}
.role-badge{
  font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:11px;letter-spacing:0.04em;
  text-transform:uppercase;padding:3px 9px;border-radius:20px;display:inline-block;
}
.role-badge.admin{background:var(--amber-bg);color:var(--amber);}
.role-badge.disponent{background:var(--slate-bg);color:var(--slate);}
