:root{--blue:#096bd8;--blue2:#0d5fbd;--nav:#1d2b38;--bg:#f4f7fb;--line:#dfe6ef;--text:#172536;--muted:#64748b;--green:#12913d;--orange:#ef7d00;--red:#d52b2b;--shadow:0 5px 22px rgba(30,54,80,.07)}*{box-sizing:border-box}body{margin:0;overflow-x:hidden;font:14px/1.45 Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:var(--blue);text-decoration:none}.topbar{position:fixed;z-index:20;top:0;left:0;right:0;height:64px;background:linear-gradient(90deg,#176fc6,#1262b4);color:#fff;display:flex;align-items:center;padding:0 22px;gap:28px;box-shadow:0 1px 5px #0002}.brand{font-size:21px;min-width:250px}.global-search{flex:1;max-width:650px}.global-search input{width:100%;background:#fff;border:0;padding:11px 15px;border-radius:7px}.userbox{margin-left:auto;display:flex;align-items:center;gap:9px;font-weight:600}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#eef3fa;color:#26405d}.sidebar{position:fixed;z-index:10;top:64px;bottom:0;left:0;width:224px;background:linear-gradient(180deg,#253543,#1b2935);padding:24px 8px;color:#fff}.sidebar a{display:block;color:#f0f4f8;padding:12px 14px;border-radius:6px;margin:2px 0;font-size:15px}.sidebar a:hover,.sidebar a.active{background:linear-gradient(90deg,#176fc6,#2c78c8)}.content{margin-left:224px;padding:92px 26px 45px;max-width:1700px}.pagehead{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.pagehead h1,.project-head h1{font-size:30px;margin:0 0 3px}.pagehead p{margin:0;color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);padding:18px}.table-card{padding:0;overflow:visible}table{width:100%;border-collapse:collapse}th{font-size:12px;color:#44536a;text-align:left;background:#f9fbfd;padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px 14px;border-bottom:1px solid #e6ebf1;vertical-align:middle}tbody tr:hover{background:#f8fbff}td small,.stronglink+small{display:block;color:var(--muted);margin-top:2px}.stronglink{color:var(--text);font-weight:700}.arrow{font-size:25px;color:#2b425e}.badge{display:inline-block;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:650;white-space:nowrap}.badge.blue{background:#e8f2ff;color:#0966c6}.badge.green{background:#e4f7eb;color:#087c31}.badge.orange{background:#fff0df;color:#c65b00}.badge.gray{background:#edf0f3;color:#637083}.badge.red{background:#fde8e8;color:#c42525}.countpill{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:13px;background:#e9f2ff;color:var(--blue);font-weight:800}.filterbar{display:flex;gap:12px;align-items:flex-end;margin-bottom:18px;padding:13px 16px}.filterbar>div{min-width:180px}.filterbar .grow{flex:1}.filterbar label,.form-card label,details form label{display:block;font-size:12px;font-weight:700;color:#4d5d72;margin:0 0 5px}input,select,textarea{width:100%;border:1px solid #ccd6e3;border-radius:7px;padding:10px 11px;background:#fff;color:var(--text);font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#4290e5;box-shadow:0 0 0 3px #dcebfb}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border:1px solid #cad5e2;background:#fff;color:var(--blue);border-radius:7px;font-weight:650;cursor:pointer}.btn:hover{background:#f3f8ff}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:var(--blue2)}.btn.small{min-height:30px;padding:5px 9px;font-size:12px}.btn.wide{width:100%;margin-top:20px}.dangerbtn{color:var(--red)}.form-card{max-width:1100px}.form-card h2,.card h2{margin:0 0 15px}.form-card label{margin-top:13px}.grid2,.grid3{display:grid;gap:16px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.hint{font-weight:400;color:#8a98a9}.project-head{margin-bottom:15px}.back{display:inline-block;margin-bottom:13px}.project-title-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.meta{display:flex;gap:16px;align-items:center;color:#5d6b7d}.tabs{display:flex;gap:10px;border-bottom:1px solid var(--line);margin:0 0 18px;overflow-x:auto}.tabs a{padding:13px 14px;color:#42516a;white-space:nowrap;border-bottom:3px solid transparent}.tabs a.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:700}.tabs b{background:#ddecff;color:var(--blue);padding:2px 6px;border-radius:10px;font-size:11px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.stat{background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px 20px;box-shadow:var(--shadow)}.stat strong{display:block;color:var(--blue);font-size:27px}.stat span{color:#5e6d7f}.orange-text strong{color:var(--orange)}.green-text strong{color:var(--green)}.details{display:grid;grid-template-columns:150px 1fr;margin:0}.details dt,.details dd{padding:10px 0;border-bottom:1px solid #edf0f4;margin:0}.details dt{color:#66768b}.notice{padding:14px;border-radius:8px;background:#eaf3ff;margin-bottom:18px}.notice.success{background:#e9f8ee;color:#087a31}.notice.warning{background:#fff3e6;color:#b65800}.minirow{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #edf0f4}.minirow small{display:block;color:var(--muted)}.danger{color:var(--red);font-weight:700}.addbox{margin-bottom:16px}.addbox summary{cursor:pointer;color:var(--blue);font-weight:700}.addbox form{margin-top:15px}.addbox form label{margin-top:10px}.rowedit{position:relative}.rowedit summary{cursor:pointer;list-style:none;font-weight:700}.rowedit form{position:absolute;z-index:6;right:0;top:26px;width:250px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px #1d304033;padding:14px;border-radius:9px}.rowedit form label{margin-top:8px}.timeline{max-width:1050px}.timeline-item{display:grid;grid-template-columns:155px 1fr;margin-bottom:12px}.timeline-date{color:#576b82;font-weight:700;border-right:2px solid #d5e6fa}.timeline-body{padding-left:18px}.timeline-body p:first-child{margin-top:0}.attachments{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.attachments a{background:#edf5ff;padding:6px 9px;border-radius:6px}.dropzone{text-align:center;border:2px dashed #4d9aeb;padding:28px;cursor:pointer;color:var(--blue);margin-bottom:17px}.dropzone input[type=file]{display:none}.dropzone strong,.dropzone span{display:block}.dropzone.drag{background:#eaf4ff}.filegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.filecard{display:flex;flex-direction:column;gap:9px}.pdfpreview{height:190px;border:1px solid #e2e7ed;background:#f8fafc;overflow:hidden}.pdfpreview iframe{border:0;width:100%;height:100%;pointer-events:none}.checks{display:flex;flex-wrap:wrap;gap:8px 12px;border:1px solid var(--line);padding:11px;border-radius:8px}.checks label{display:flex;align-items:center;gap:5px;margin:0;font-weight:500}.checks input,.check input{width:auto}.check{display:flex!important;align-items:center;gap:7px}.wide-left{grid-template-columns:2fr 1fr}.empty{text-align:center;padding:28px;color:var(--muted)}.muted{color:var(--muted)}.flash{padding:12px 15px;margin-bottom:15px;border-radius:8px;background:#eaf3ff}.flash.success{background:#e5f7eb;color:#087a31}.flash.error{background:#fdeaea;color:#ad1e1e}.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f0f5fb,#e7eff9)}.login-card{width:min(420px,92vw);background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:0 18px 60px #1d304022}.login-card h1{text-align:center;margin:8px 0 0}.login-card p{text-align:center}.login-card label{display:block;font-weight:700;margin:14px 0 5px}.login-logo{width:52px;height:52px;margin:auto;display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:12px;font-size:28px}@media(max-width:950px){.sidebar{width:64px}.sidebar a{font-size:0;text-align:center}.sidebar a:first-letter{font-size:18px}.content{margin-left:64px;padding-left:15px;padding-right:15px}.brand{min-width:auto;font-size:17px}.grid2,.grid3,.wide-left{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.filterbar{flex-wrap:wrap}.filterbar>div{min-width:calc(50% - 7px)}.table-card{overflow-x:auto}.project-title-row{display:block}.project-title-row>.btn{margin-top:10px}}@media(max-width:600px){.global-search{display:none}.content{margin-left:0;padding-top:82px}.sidebar{display:none}.stats{grid-template-columns:1fr 1fr}.timeline-item{grid-template-columns:1fr}.timeline-date{border:0;margin-bottom:8px}.timeline-body{padding:0}.details{grid-template-columns:1fr}.details dt{padding-bottom:0}.details dd{padding-top:2px}}

.site-doc-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}.site-doc-head h2{margin:0 0 4px}.site-doc-count{min-width:92px;background:#eaf3ff;border:1px solid #d7e8fb;border-radius:9px;padding:10px 14px;text-align:center}.site-doc-count strong{display:block;font-size:24px;color:var(--blue)}.site-doc-count span{font-size:12px;color:var(--muted)}.site-upload-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px;padding:14px}.site-upload-actions form{margin:0}.hidden-file{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.camera-btn{font-size:15px}.site-upload-hint{flex-basis:100%;font-size:12px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.photo-card{padding:0;overflow:hidden}.photo-link{display:block;aspect-ratio:4/3;background:#eef2f6}.photo-link img{width:100%;height:100%;display:block;object-fit:cover}.photo-meta{display:flex;justify-content:space-between;gap:10px;padding:11px 12px}.photo-meta strong{font-size:13px}.photo-meta span{font-size:12px;color:var(--muted);text-align:right}.photo-empty{grid-column:1/-1;display:flex;flex-direction:column;gap:4px}.uploading .btn,.uploading label.btn{opacity:.55;pointer-events:none}@media(max-width:600px){.site-doc-head{align-items:center}.site-upload-actions{display:grid;grid-template-columns:1fr}.site-upload-actions .btn{width:100%;min-height:46px}.site-upload-hint{font-size:12px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.photo-meta{display:block}.photo-meta span{display:block;text-align:left;margin-top:2px}}


/* Protokoll */
.protocol-addbox{max-width:1100px}.protocol-mail-hint{margin:10px 0 14px}.protocol-table td{vertical-align:top}.protocol-table th:nth-child(1){width:125px}.protocol-table th:nth-child(2){width:210px}.protocol-table th:nth-child(4){width:220px}.protocol-table th:nth-child(5){width:280px}.protocol-date small{display:block;margin-top:4px}.protocol-description{min-width:280px;white-space:normal;line-height:1.45}.protocol-mail-dropzone{border:1.5px dashed #8ab9ec;border-radius:8px;background:#f7fbff;padding:10px 12px;color:var(--blue);font-size:12px;transition:.15s ease}.protocol-mail-dropzone .drop-label{display:block;font-weight:700}.protocol-mail-pick{display:inline-block;margin-top:3px;color:#61748b;cursor:pointer;text-decoration:underline}.protocol-mails{display:flex;flex-direction:column;gap:5px;margin-top:8px}.protocol-mails a{display:block;background:#edf5ff;border-radius:6px;padding:6px 8px;font-size:12px;overflow-wrap:anywhere}.protocol-row-drop.drag-mail td{background:#edf7ff!important}.protocol-row-drop.drag-mail .protocol-mail-dropzone{border-color:var(--blue);background:#dceeff;transform:scale(1.01)}.protocol-row-drop.uploading-mail{opacity:.72}.autocomplete-wrap{position:relative}.autocomplete-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:#fff;border:1px solid #ccd6e3;border-radius:8px;box-shadow:0 12px 28px #1d304033;max-height:240px;overflow:auto}.autocomplete-menu button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:9px 11px;cursor:pointer;color:var(--text)}.autocomplete-menu button:hover{background:#edf5ff;color:var(--blue)}
@media(max-width:800px){.protocol-table{overflow-x:auto}.protocol-table table{min-width:1050px}}

.psp-list{display:flex;flex-wrap:wrap;gap:4px;max-width:220px}.psp-list span{display:inline-block;padding:3px 7px;border-radius:6px;background:#eef5ff;color:#155da8;font-weight:700;font-size:12px;white-space:nowrap}

/* Mobile Navigation */
.mobile-menu-toggle{display:none;border:0;background:transparent;color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:5px 8px;margin-right:4px}
@media(max-width:600px){
  .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  .topbar{padding-left:10px}
  .brand{font-size:16px}
  .userbox{margin-left:auto;max-width:42vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sidebar{display:flex;position:fixed;z-index:80;top:58px;left:0;bottom:0;width:min(290px,86vw);transform:translateX(-105%);transition:transform .18s ease;box-shadow:12px 0 32px #12263f2b;padding-top:12px}
  body.mobile-menu-open .sidebar{transform:translateX(0)}
  body.mobile-menu-open:after{content:"";position:fixed;z-index:70;inset:58px 0 0;background:#10233a66}
  .sidebar a{font-size:14px!important;text-align:left!important}
  .sidebar a:first-letter{font-size:inherit!important}
}


/* === Mobile layout fix v1.0.1 === */
@media (max-width:600px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .topbar{height:64px;padding:0 10px;gap:8px}
  .mobile-menu-toggle{flex:0 0 42px;margin:0;padding:8px;font-size:26px}
  .brand{min-width:0;flex:1;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .userbox{flex:0 1 auto;max-width:42vw;min-width:0;gap:7px;font-size:14px}
  .userbox .avatar{flex:0 0 34px}
  .sidebar{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    top:64px;
    left:0;
    bottom:0;
    width:290px;
    max-width:86vw;
    padding:12px 8px 20px;
    overflow-y:auto;
    overflow-x:hidden;
    transform:translateX(-105%);
    transition:transform .18s ease;
  }
  body.mobile-menu-open .sidebar{transform:translateX(0)}
  body.mobile-menu-open:after{inset:64px 0 0}
  .sidebar a{
    display:block;
    flex:0 0 auto;
    width:100%;
    font-size:15px!important;
    text-align:left!important;
    padding:12px 14px;
  }
  .content{
    margin-left:0;
    width:100%;
    max-width:100%;
    padding:82px 12px 36px;
    overflow-x:hidden;
  }
  .pagehead{display:block;margin-bottom:14px}
  .pagehead h1,.project-head h1{font-size:25px;line-height:1.15;overflow-wrap:anywhere}
  .pagehead p{font-size:14px}
  .card{max-width:100%}
  .grid2,.grid3,.wide-left{grid-template-columns:minmax(0,1fr)}
  .form-card{width:100%;max-width:100%;min-width:0}
  .form-card input,.form-card select,.form-card textarea{min-width:0}
  .checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .checks label{min-width:0;overflow-wrap:anywhere}
  .table-card{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table-card table{min-width:720px}
  .tabs{margin-left:-12px;margin-right:-12px;padding:0 12px}
  .meta{flex-wrap:wrap;gap:8px 12px}
  .project-title-row{min-width:0}
  .project-title-row h1{max-width:100%}
  .rowedit form{position:fixed;left:12px;right:12px;top:90px;width:auto;max-height:75vh;overflow:auto}
}

/* Benutzerverwaltung: auf kleinen Displays keine abgeschnittene Desktop-Tabelle. */
@media (max-width:600px){
  .users-table{min-width:0!important}
  .users-table thead{display:none}
  .users-table,.users-table tbody,.users-table tr,.users-table td{display:block;width:100%}
  .users-table tr{
    margin:0;
    padding:12px 14px;
    border-bottom:1px solid var(--line);
    background:#fff;
  }
  .users-table tr:last-child{border-bottom:0}
  .users-table td{
    display:grid;
    grid-template-columns:110px minmax(0,1fr);
    gap:10px;
    align-items:start;
    padding:7px 0;
    border:0;
    min-width:0;
    overflow-wrap:anywhere;
  }
  .users-table td:before{font-size:12px;font-weight:700;color:#64748b}
  .users-table td:nth-child(1):before{content:"Name"}
  .users-table td:nth-child(2):before{content:"Rolle"}
  .users-table td:nth-child(3):before{content:"Ortsnetze"}
  .users-table td:nth-child(4):before{content:"Status"}
  .users-table td:nth-child(5):before{content:""}
  .users-table td:nth-child(5){display:flex;justify-content:flex-end}
}


/* === Rechtsakte: mobile Bedienung v1.0.2 === */
.rowedit summary{
  min-width:38px;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  user-select:none;
  -webkit-user-select:none;
  touch-action:manipulation;
  cursor:pointer;
}
.rowedit summary::-webkit-details-marker{display:none}
.rowedit[open] summary{background:#eaf3ff;color:var(--blue)}

@media (max-width:600px){
  .legal-table-card{
    overflow:visible!important;
    padding:0;
  }
  .legal-table{
    min-width:0!important;
  }
  .legal-table thead{display:none}
  .legal-table,
  .legal-table tbody,
  .legal-table tr,
  .legal-table td{
    display:block;
    width:100%;
  }
  .legal-table tr{
    position:relative;
    padding:13px 58px 13px 14px;
    border-bottom:1px solid var(--line);
    background:#fff;
  }
  .legal-table tr:last-child{border-bottom:0}
  .legal-table td{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    gap:8px;
    align-items:center;
    min-width:0;
    padding:5px 0;
    border:0;
    overflow-wrap:anywhere;
  }
  .legal-table td:before{
    font-size:12px;
    font-weight:700;
    color:#64748b;
  }
  .legal-table td:nth-child(1):before{content:"RCV-Nummer"}
  .legal-table td:nth-child(2):before{content:"Status"}
  .legal-table td:nth-child(3):before{content:"Freigabedatum"}
  .legal-table td:nth-child(4):before{content:"Angelegt am"}
  .legal-table td:nth-child(5):before{content:"Von"}
  .legal-table td:nth-child(6){
    display:block;
    position:absolute;
    right:10px;
    top:10px;
    width:auto;
    padding:0;
    overflow:visible;
    z-index:5;
  }
  .legal-table td:nth-child(6):before{display:none}
  .legal-table .rowedit{position:static}
  .legal-table .rowedit summary{
    width:42px;
    height:42px;
    border:1px solid #d8e1eb;
    background:#fff;
    font-size:18px;
  }
  .legal-table .rowedit[open] summary{
    background:#eaf3ff;
    border-color:#a9cdf3;
  }
  .legal-table .rowedit form{
    position:fixed!important;
    z-index:120!important;
    left:14px!important;
    right:14px!important;
    top:50%!important;
    transform:translateY(-50%);
    width:auto!important;
    max-width:none!important;
    max-height:75vh;
    overflow:auto;
    border-radius:12px;
    box-shadow:0 18px 60px rgba(20,40,65,.28);
    padding:18px;
  }
  body:has(.legal-table .rowedit[open])::before{
    content:"";
    position:fixed;
    z-index:110;
    inset:0;
    background:rgba(15,31,49,.42);
  }
}


/* === Bedienungs- und Mobile-Verbesserungen v1.0.3 === */
.file-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.file-actions form{margin:0}
.icon-delete{
  width:36px;height:36px;border:1px solid #e3caca;border-radius:7px;
  background:#fff;color:var(--red);display:inline-flex;align-items:center;
  justify-content:center;cursor:pointer;font-size:16px
}
.icon-delete:hover{background:#fff1f1}
.photo-meta>div{min-width:0}
.photo-meta form{margin:0;flex:0 0 auto}

@media(max-width:600px){
  /* Outlook Drag & Drop ist nur am Desktop relevant. */
  .protocol-mail-hint{display:none!important}
  .protocol-mail-dropzone{display:none!important}
  .protocol-mail-cell:empty:after{content:"–";color:var(--muted)}
  .protocol-mails{margin-top:0}

  /* Aufträge und Kontakte als gut bedienbare Karten statt breiter Desktop-Tabelle. */
  .mobile-action-card{overflow:visible!important;padding:0}
  .mobile-action-table{min-width:0!important}
  .mobile-action-table thead{display:none}
  .mobile-action-table,
  .mobile-action-table tbody,
  .mobile-action-table tr,
  .mobile-action-table td{display:block;width:100%}
  .mobile-action-table tr{
    position:relative;
    padding:13px 58px 13px 14px;
    border-bottom:1px solid var(--line);
    background:#fff;
  }
  .mobile-action-table tr:last-child{border-bottom:0}
  .mobile-action-table td{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    gap:8px;
    align-items:start;
    padding:5px 0;
    border:0;
    min-width:0;
    overflow-wrap:anywhere;
  }
  .mobile-action-table td:before{font-size:12px;font-weight:700;color:#64748b}
  .mobile-action-table td:last-child{
    display:block;position:absolute;right:10px;top:10px;
    width:auto;padding:0;overflow:visible;z-index:6
  }
  .mobile-action-table td:last-child:before{display:none}
  .mobile-action-table .rowedit{position:static}
  .mobile-action-table .rowedit summary{
    width:42px;height:42px;border:1px solid #d8e1eb;background:#fff;font-size:18px
  }
  .mobile-action-table .rowedit[open] summary{background:#eaf3ff;border-color:#a9cdf3}
  .mobile-action-table .rowedit form{
    position:fixed!important;z-index:120!important;left:14px!important;right:14px!important;
    top:50%!important;transform:translateY(-50%);width:auto!important;max-width:none!important;
    max-height:76vh;overflow:auto;border-radius:12px;
    box-shadow:0 18px 60px rgba(20,40,65,.28);padding:18px
  }
  body:has(.mobile-action-table .rowedit[open])::before{
    content:"";position:fixed;z-index:110;inset:0;background:rgba(15,31,49,.42)
  }

  .orders-table td:nth-child(1):before{content:"Auftragsnummer"}
  .orders-table td:nth-child(2):before{content:"PSP-Element"}
  .orders-table td:nth-child(3):before{content:"Auftragstext"}
  .orders-table td:nth-child(4):before{content:"Status"}
  .orders-table td:nth-child(5):before{content:"Verantwortlich"}
  .orders-table td:nth-child(6):before{content:"Geplantes Ende"}

  .contacts-table td:nth-child(1):before{content:"Name"}
  .contacts-table td:nth-child(2):before{content:"Firma"}
  .contacts-table td:nth-child(3):before{content:"Grundstücksnr."}
  .contacts-table td:nth-child(4):before{content:"Adresse"}
  .contacts-table td:nth-child(5):before{content:"E-Mail"}
  .contacts-table td:nth-child(6):before{content:"Telefon"}

  .photo-meta{align-items:center}
  .photo-meta>div{flex:1}
}


/* === Version 1.0.4: Aufgaben, PDF-Vorschau und universeller Mobile-Editor === */

/* Größere, klarere Planvorschau */
.filegrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.pdfpreview{
  position:relative;
  height:300px;
  border:1px solid #dce4ed;
  border-radius:8px;
  background:linear-gradient(180deg,#f7f9fc,#eef3f8);
  overflow:hidden;
}
.pdfpreview object{display:block;width:100%;height:100%;border:0;background:#fff}
.pdfpreview-open{position:absolute;z-index:2;inset:0;display:block}
.pdfpreview:hover{box-shadow:0 0 0 2px #cfe4fb}
.pdf-fallback{height:100%;display:grid;place-items:center;align-content:center;gap:14px;color:var(--muted)}
.pdf-fallback span{font-size:38px;font-weight:800;color:#d44}

/* Aufgaben: Erledigt mit einfacher Checkbox */
.task-check-col{width:76px;text-align:center}
.task-check-cell{text-align:center}
.task-check-form{margin:0}
.task-checkbox{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin:0!important}
.task-checkbox input{position:absolute;opacity:0;width:1px;height:1px}
.task-checkbox span{
  width:25px;height:25px;border:2px solid #aebbc9;border-radius:6px;background:#fff;
  display:inline-flex;align-items:center;justify-content:center;transition:.12s
}
.task-checkbox input:checked + span{background:var(--green);border-color:var(--green)}
.task-checkbox input:checked + span:after{content:"✓";color:#fff;font-weight:900;font-size:17px}
.task-done td:not(:first-child):not(:last-child){opacity:.58}
.task-done td:nth-child(2) strong{text-decoration:line-through}
.task-readonly-check{font-size:20px;color:var(--green)}

/* Universeller mobiler Editor - unabhängig von Tabellen-Overflow */
.mobile-editor-overlay{display:none}
body.mobile-editor-open{overflow:hidden}

@media(max-width:700px){
  .mobile-editor-overlay{
    display:flex;position:fixed;z-index:1000;inset:0;
    align-items:flex-end;justify-content:center;
    background:rgba(14,29,45,.48);padding:12px;
    opacity:0;transition:opacity .12s ease
  }
  .mobile-editor-overlay.open{opacity:1}
  .mobile-editor-panel{
    width:100%;max-width:520px;max-height:86vh;overflow:auto;
    background:#fff;border-radius:16px 16px 12px 12px;
    box-shadow:0 -15px 55px rgba(11,29,48,.28);
    transform:translateY(22px);transition:transform .14s ease
  }
  .mobile-editor-overlay.open .mobile-editor-panel{transform:translateY(0)}
  .mobile-editor-head{
    position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;
    gap:12px;padding:15px 16px;border-bottom:1px solid var(--line);background:#fff
  }
  .mobile-editor-head strong{font-size:18px}
  .mobile-editor-close{
    width:40px;height:40px;border:0;border-radius:20px;background:#eef3f8;
    color:#2a3c50;font-size:28px;line-height:1;cursor:pointer
  }
  .mobile-editor-form{padding:5px 16px 18px}
  .mobile-editor-form label{display:block;font-size:13px;font-weight:700;color:#4d5d72;margin:13px 0 5px}
  .mobile-editor-form .btn.primary{width:100%;min-height:44px;margin-top:18px}

  /* Das ursprüngliche Tabellenformular darf mobil nie selbst über der Tabelle erscheinen. */
  .rowedit > form{display:none!important}
  .rowedit summary{
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    border:1px solid #d8e1eb!important;background:#fff!important;font-size:18px!important;
    position:relative!important;z-index:3!important
  }

  /* Bestellungen ebenfalls als mobile Karten; Drei Punkte dadurch immer sichtbar. */
  .purchases-table td:nth-child(1):before{content:"Datum"}
  .purchases-table td:nth-child(2):before{content:"Firma"}
  .purchases-table td:nth-child(3):before{content:"BAN"}
  .purchases-table td:nth-child(4):before{content:"Bestellnummer"}
  .purchases-table td:nth-child(5):before{content:"Notiz"}
  .purchases-table td:nth-child(6):before{content:"Status"}

  /* Aufgaben auf dem Handy kompakt als Karten. */
  .tasks-card{overflow:visible!important;padding:0}
  .tasks-table{min-width:0!important}
  .tasks-table thead{display:none}
  .tasks-table,.tasks-table tbody,.tasks-table tr,.tasks-table td{display:block;width:100%}
  .tasks-table tr{
    position:relative;padding:13px 58px 13px 58px;border-bottom:1px solid var(--line);background:#fff
  }
  .tasks-table tr:last-child{border-bottom:0}
  .tasks-table td{padding:4px 0;border:0}
  .tasks-table .task-check-cell{
    position:absolute;left:14px;top:15px;width:32px;padding:0
  }
  .tasks-table td:nth-child(2){font-size:15px;padding-bottom:8px}
  .tasks-table td:nth-child(3):before{content:"Priorität: ";font-size:12px;font-weight:700;color:#64748b}
  .tasks-table td:nth-child(4):before{content:"Fällig: ";font-size:12px;font-weight:700;color:#64748b}
  .tasks-table td:nth-child(5){
    position:absolute;right:10px;top:10px;width:auto;padding:0;overflow:visible
  }
  .tasks-table .empty{padding:26px 15px!important}

  /* Plansicht: eine große Vorschau pro Zeile auf kleinen Geräten */
  .filegrid{grid-template-columns:1fr}
  .pdfpreview{height:min(55vh,420px)}
}


/* === Version 1.0.5: kompakte Protokollerfassung === */
.protocol-quick-add{
  margin:0 0 12px;
  border:0;
}
.protocol-quick-add>summary{
  list-style:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:6px 10px;
  border:1px solid #d6e0eb;
  border-radius:7px;
  background:#fff;
  color:#47627f;
  font-weight:650;
  font-size:13px;
  cursor:pointer;
}
.protocol-quick-add>summary::-webkit-details-marker{display:none}
.protocol-quick-add>summary:hover{background:#f7faff;color:var(--blue)}
.protocol-quick-add[open]>summary{
  background:#eef6ff;
  border-color:#b9d7f6;
  color:var(--blue);
}
.protocol-quick-panel{
  margin-top:10px;
  max-width:1050px;
  padding:14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:9px;
  box-shadow:var(--shadow);
}
.protocol-quick-panel label{
  display:block;
  font-size:12px;
  font-weight:700;
  color:#4d5d72;
  margin:0 0 5px;
}
.protocol-quick-grid{
  display:grid;
  grid-template-columns:145px minmax(220px,1fr) minmax(220px,1fr);
  gap:12px;
  margin-bottom:10px;
}
.protocol-quick-panel textarea{resize:vertical}
.protocol-quick-actions{display:flex;justify-content:flex-end;margin-top:10px}
.protocol-quick-actions .btn{min-width:110px}

@media(max-width:700px){
  .protocol-quick-add{margin-bottom:10px}
  .protocol-quick-add>summary{font-size:13px;min-height:36px}
  .protocol-quick-panel{padding:12px;margin-top:8px}
  .protocol-quick-grid{grid-template-columns:1fr;gap:9px}
  .protocol-quick-actions .btn{width:100%;min-height:42px}
}


/* === Version 1.0.6: dezente Mail-Ablage im Protokoll === */
.protocol-mail-cell{min-width:190px}
.protocol-mail-dropzone{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:5px 8px;
  margin:0;
  border:1px dashed #b7c9dd;
  border-radius:6px;
  background:#fbfdff;
  color:#5a7088;
  font-size:11px;
  line-height:1.2;
  transition:.12s ease;
}
.protocol-mail-dropzone .drop-label{
  display:inline;
  font-weight:650;
  white-space:nowrap;
}
.protocol-mail-pick{
  display:inline;
  margin:0;
  color:#7b8da1;
  cursor:pointer;
  text-decoration:underline;
  white-space:nowrap;
}
.protocol-row-drop.drag-mail .protocol-mail-dropzone{
  border-color:var(--blue);
  background:#edf6ff;
  color:var(--blue);
  transform:none;
}
.protocol-mails{margin-top:6px}

@media(max-width:700px){
  .protocol-mail-dropzone{display:none!important}
  .protocol-mail-cell{min-width:0}
}


/* === Version 1.0.7: klare Kennzeichnung von Vertretungsprojekten === */
.delegation-summary{
  display:flex;
  align-items:center;
  gap:11px;
  margin:-4px 0 14px;
  padding:10px 13px;
  border:1px solid #c9dcf2;
  border-left:4px solid #397fc5;
  border-radius:8px;
  background:#f2f7fd;
  color:#315775;
}
.delegation-summary .delegation-icon{
  display:grid;
  place-items:center;
  width:30px;height:30px;
  border-radius:50%;
  background:#dcecff;
  color:#1768b7;
  font-size:17px;
  font-weight:800;
}
.delegation-summary strong{display:block;font-size:13px;color:#245275}
.delegation-summary span:not(.delegation-icon){display:block;font-size:12px;margin-top:1px;color:#607a92}
.delegated-project-row{background:#f8fbff}
.delegated-project-row:hover{background:#eef6ff!important}
.delegated-project-row td:first-child{box-shadow:inset 4px 0 0 #4c8dd0}
.delegation-badge{
  display:table;
  margin-top:5px;
  padding:3px 7px;
  border-radius:999px;
  background:#e7f1fc;
  color:#27669d;
  border:1px solid #c9def3;
  font-size:11px;
  font-weight:700;
  line-height:1.3;
  white-space:normal;
}
.delegation-badge.detail{
  display:inline-flex;
  margin:0;
  align-items:center;
}

@media(max-width:700px){
  .delegation-summary{margin-top:0;padding:10px 11px}
  .delegation-badge{font-size:11px}
  .delegation-badge.detail{flex-basis:100%;width:max-content;max-width:100%}
}


/* === Version 1.0.9: Fotoausrichtung + Upload-Anzeige === */
.photo-processing-overlay{
  position:fixed;
  z-index:2000;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(18,36,56,.42);
  opacity:0;
  visibility:hidden;
  transition:opacity .12s ease,visibility .12s ease;
}
.photo-processing-overlay.show{opacity:1;visibility:visible}
.photo-processing-card{
  width:min(360px,92vw);
  padding:24px 20px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 20px 65px rgba(12,31,52,.28);
  text-align:center;
}
.photo-processing-card strong{
  display:block;
  margin-top:13px;
  font-size:18px;
  color:var(--text);
}
.photo-processing-sub{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
}
.photo-processing-spinner{
  display:inline-block;
  width:38px;height:38px;
  border:4px solid #dbe8f6;
  border-top-color:var(--blue);
  border-radius:50%;
  animation:photo-spin .8s linear infinite;
}
@keyframes photo-spin{to{transform:rotate(360deg)}}
body.photo-processing{overflow:hidden}


/* === Version 1.0.13: kompakte Hinzufügen-Buttons + Projektübersicht === */
.project-overview-main{margin-bottom:16px}

/* Einheitlicher dezenter Hinzufügen-Bereich wie beim Protokoll */
.compact-add{
  margin:0 0 12px;
  border:0;
}
.compact-add>summary{
  list-style:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:6px 10px;
  border:1px solid #d6e0eb;
  border-radius:7px;
  background:#fff;
  color:#47627f;
  font-weight:650;
  font-size:13px;
  cursor:pointer;
}
.compact-add>summary::-webkit-details-marker{display:none}
.compact-add>summary:hover{background:#f7faff;color:var(--blue)}
.compact-add[open]>summary{
  background:#eef6ff;
  border-color:#b9d7f6;
  color:var(--blue);
}
.compact-add>form{
  margin-top:10px;
  max-width:1100px;
  padding:14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:9px;
  box-shadow:var(--shadow);
}
.compact-add>form>label,
.compact-add>form>div>label,
.compact-add>form .grid2 label,
.compact-add>form .grid3 label{
  font-size:12px;
  font-weight:700;
  color:#4d5d72;
}
.compact-add>form>.btn.primary{margin-top:12px}

/* Vertretungsprojekte sollen sofort erkennbar sein */
.delegated-project-row{
  background:#f5f9ff!important;
}
.delegated-project-row td:first-child{
  box-shadow:inset 4px 0 0 #2878c7!important;
}
.delegation-badge{
  background:#dfeeff!important;
  border-color:#afd0f1!important;
  color:#165f9f!important;
}
.delegation-summary{
  background:#edf6ff!important;
  border-color:#bdd8f2!important;
  border-left-color:#2878c7!important;
}

@media(max-width:700px){
  .project-overview-main{margin-bottom:14px}
  .compact-add{margin-bottom:10px}
  .compact-add>summary{min-height:36px;font-size:13px}
  .compact-add>form{padding:12px;margin-top:8px}
  .compact-add>form>.btn.primary{width:100%;min-height:42px}
}


/* === Version 1.0.14: Rechtsakte, Löschen und Projektstatus === */

/* Rechtsaktnummern direkt in der Projektübersicht */
.overview-legal-list{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:7px 0 8px;
}
.overview-legal-pill{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:7px;
  font-size:12px;
  font-weight:700;
  border:1px solid #d8e2ed;
  background:#f6f8fb;
  color:#52677d;
}
.overview-legal-pill.approved{
  background:#e9f7ee;
  border-color:#c4e8d0;
  color:#19733a;
}
.overview-legal-pill.open{
  background:#fff4e7;
  border-color:#f1d6b4;
  color:#a85a09;
}
.overview-more-link{
  display:inline-block;
  margin:0 0 8px;
  font-size:12px;
  font-weight:700;
}

/* Projektstatus direkt in der Liste */
.project-status-form{margin:0}
.compact-status{
  width:auto;
  min-width:126px;
  max-width:155px;
  min-height:32px;
  padding:5px 28px 5px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.compact-status.blue{background:#e8f2ff;color:#0966c6;border-color:#c7ddf8}
.compact-status.green{background:#e4f7eb;color:#087c31;border-color:#bfe6cb}
.compact-status.orange{background:#fff0df;color:#b95900;border-color:#efd1aa}
.compact-status.gray{background:#edf0f3;color:#637083;border-color:#d7dce2}
.show-done-check{
  display:flex!important;
  align-items:center;
  gap:7px;
  min-width:max-content!important;
  margin:0 2px 4px 0!important;
  font-size:12px!important;
  font-weight:650!important;
  color:#52657a!important;
  cursor:pointer;
}
.show-done-check input{width:auto!important;margin:0}

/* Bearbeiten + Löschen */
.rowedit-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
}
.rowedit-actions .btn{margin:0}
.protocol-delete-cell{width:48px;text-align:center}
.protocol-delete-cell form{margin:0}

/* Abgeschlossene Projekte können sichtbar eingeblendet werden */
tr:has(.compact-status.green option[value="done"]:checked){}

/* Mobile */
@media(max-width:700px){
  .filterbar .show-done-check{
    min-width:100%!important;
    justify-content:flex-start;
    padding:2px 0;
  }
  .compact-status{min-width:138px}
  .rowedit-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .rowedit-actions .btn{width:100%!important;min-height:42px}
  .protocol-delete-cell{min-width:48px}
}


/* === Version 1.0.15: Projektstatus nur in der Projektübersicht === */
.overview-status-form{
  display:inline-block;
  margin:0;
}
.overview-status-select{
  width:auto;
  min-width:145px;
  min-height:34px;
  padding:5px 30px 5px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.overview-status-select.blue{background:#e8f2ff;color:#0966c6;border-color:#c7ddf8}
.overview-status-select.green{background:#e4f7eb;color:#087c31;border-color:#bfe6cb}
.overview-status-select.orange{background:#fff0df;color:#b95900;border-color:#efd1aa}
.overview-status-select.gray{background:#edf0f3;color:#637083;border-color:#d7dce2}

@media(max-width:700px){
  .overview-status-select{
    min-width:160px;
    min-height:38px;
  }
}


/* === Version 1.0.19: Bestellungen, Mail-Dateien, Projektstatus === */
.overview-purchases{margin-top:16px}
.overview-table-more{
  padding:10px 14px 2px;
  text-align:right;
  font-size:12px;
  font-weight:700;
}
.mail-file-link{
  display:inline-flex!important;
  align-items:center;
  gap:4px;
}


/* === Version 1.0.20: integrierte Update-Seite === */
.version-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#eaf3ff;
  color:var(--blue);
  border:1px solid #cce0f6;
  font-size:12px;
  font-weight:750;
}
.update-layout{align-items:start}
.update-card,.update-info{min-height:100%}
.update-upload-form{margin-top:16px}
.update-drop{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:170px;
  padding:22px;
  margin:0 0 10px!important;
  border:2px dashed #b7cbe1;
  border-radius:10px;
  background:#f8fbff;
  text-align:center;
  cursor:pointer;
}
.update-drop:hover{border-color:#77a9dd;background:#f2f8ff}
.update-drop .update-icon{font-size:30px;color:var(--blue)}
.update-drop strong{font-size:15px;color:#365979}
.update-drop span:last-of-type{font-size:12px;color:var(--muted)}
.update-drop input{display:none}
.update-selected{
  margin:8px 0 14px;
  padding:8px 10px;
  border-radius:7px;
  background:#f4f6f8;
  color:var(--muted);
  font-size:12px;
}
.update-selected.has-file{background:#eaf6ee;color:#237443;font-weight:700}
.update-info ul{padding-left:20px;line-height:1.65}
.update-info code{font-size:12px}
.update-backups{margin-top:16px}
.update-progress-overlay{
  position:fixed;
  z-index:2500;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(18,36,56,.46);
  padding:20px;
  opacity:0;
  transition:opacity .12s ease;
}
.update-progress-overlay.show{opacity:1}
.update-progress-card{
  width:min(360px,92vw);
  padding:25px 20px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 20px 65px rgba(12,31,52,.3);
  text-align:center;
}
.update-progress-card strong{display:block;margin-top:13px;font-size:18px}
.update-progress-card>span:last-child{display:block;margin-top:6px;color:var(--muted);font-size:13px}

@media(max-width:700px){
  .update-drop{min-height:145px;padding:18px}
  .update-upload-form>.btn{width:100%;min-height:44px}
}


/* === Version 1.0.21: Drag & Drop für ZIP-Updates === */
.update-drop.drag-active{
  border-color:var(--blue);
  background:#eaf4ff;
  box-shadow:0 0 0 3px rgba(34,113,184,.10);
  transform:scale(1.01);
}
.update-drop.drag-active .update-icon{
  transform:translateY(-2px);
}
.update-drop{
  transition:border-color .12s ease,background .12s ease,box-shadow .12s ease,transform .12s ease;
}


/* === Version 1.0.22: Update-Seite Freeze-Fix === */
.update-progress-overlay[hidden]{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.update-progress-overlay:not([hidden]){
  display:flex;
  visibility:visible;
  pointer-events:auto;
}


/* === Version 1.0.24: Menüpunkt "Neues Projekt" garantiert ausblenden === */
.sidebar a[href*="page=project_new"]{
  display:none!important;
}


/* === Version 1.0.27: Update-Seite dauerhaft klickbar === */
body:not(.update-running) .update-progress-overlay{
  display:none!important;
  pointer-events:none!important;
  visibility:hidden!important;
}
body.update-running .update-progress-overlay{
  display:flex!important;
  pointer-events:auto!important;
  visibility:visible!important;
}


/* === Version 1.0.33: Projektübersicht – saubere Tabellenkarten === */

/* Kopfbereich der Übersichts-Tabellen */
.overview-orders,
.overview-purchases{
  overflow:hidden;
}

.overview-orders .section-head,
.overview-purchases .section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px 15px;
  border-bottom:1px solid var(--line);
  background:#fff;
}

.overview-orders .section-head > div,
.overview-purchases .section-head > div{
  min-width:0;
}

.overview-orders .section-head h2,
.overview-purchases .section-head h2{
  margin:0 0 4px;
  font-size:19px;
  line-height:1.25;
  font-weight:750;
  color:var(--text);
}

.overview-orders .section-head p,
.overview-purchases .section-head p{
  margin:0;
  font-size:13px;
  line-height:1.4;
  color:var(--muted);
}

.overview-orders .section-head .btn,
.overview-purchases .section-head .btn{
  flex:0 0 auto;
  min-height:34px;
  padding:6px 11px;
  white-space:nowrap;
}

/* Tabelle optisch ruhiger direkt an den Kartenkopf anschließen */
.overview-orders table,
.overview-purchases table{
  margin:0;
}

.overview-orders th,
.overview-purchases th{
  background:#f7f9fc;
  padding-top:11px;
  padding-bottom:11px;
}

.overview-orders tbody tr:last-child td,
.overview-purchases tbody tr:last-child td{
  border-bottom:0;
}

/* gleichmäßiger Abstand zwischen den Übersichtskarten */
.overview-orders{
  margin-top:0;
}

.overview-purchases{
  margin-top:16px;
}

@media(max-width:700px){
  .overview-orders .section-head,
  .overview-purchases .section-head{
    align-items:flex-start;
    padding:14px;
    gap:10px;
  }

  .overview-orders .section-head h2,
  .overview-purchases .section-head h2{
    font-size:17px;
  }

  .overview-orders .section-head p,
  .overview-purchases .section-head p{
    font-size:12px;
  }

  .overview-orders .section-head .btn,
  .overview-purchases .section-head .btn{
    min-height:32px;
    padding:5px 9px;
    font-size:12px;
  }
}


/* === Version 1.0.36: vollständige Übersichtstabellen auf Mobilgeräten === */
.overview-table-scroll{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}

.mobile-table-hint{
  display:none;
}

@media(max-width:700px){
  .overview-orders,
  .overview-purchases{
    overflow:hidden;
  }

  .overview-table-scroll{
    overflow-x:auto;
    scrollbar-width:thin;
  }

  .overview-table-scroll table{
    width:max-content;
    min-width:100%;
    table-layout:auto;
  }

  .overview-orders .overview-table-scroll table{
    min-width:980px;
  }

  .overview-purchases .overview-table-scroll table{
    min-width:860px;
  }

  .overview-table-scroll th,
  .overview-table-scroll td{
    white-space:nowrap;
  }

  .overview-orders .overview-table-scroll th:nth-child(2),
  .overview-orders .overview-table-scroll td:nth-child(2){
    min-width:330px;
    white-space:normal;
  }

  .overview-purchases .overview-table-scroll th:nth-child(2),
  .overview-purchases .overview-table-scroll td:nth-child(2){
    min-width:180px;
  }

  .mobile-table-hint{
    display:block;
    padding:7px 14px 6px;
    border-bottom:1px solid var(--line);
    background:#fbfcfe;
    color:var(--muted);
    font-size:11px;
    text-align:right;
  }

  .overview-orders .section-head,
  .overview-purchases .section-head{
    flex-wrap:wrap;
  }

  .overview-orders .section-head .btn,
  .overview-purchases .section-head .btn{
    margin-left:auto;
  }
}


/* === Version 1.0.37: ganze Projektzeile klickbar === */
.project-click-row{
  cursor:pointer;
}
.project-click-row:hover td{
  background:#f6f9fd;
}
.project-click-row:focus{
  outline:2px solid rgba(20,109,195,.35);
  outline-offset:-2px;
}


/* === Version 1.0.40: mobile Auftragsfelder korrekt zugeordnet === */
@media(max-width:700px){
  .orders-table tbody tr{
    position:relative;
  }

  .orders-table tbody td[data-label]{
    display:grid;
    grid-template-columns:145px minmax(0,1fr);
    gap:14px;
    align-items:start;
  }

  .orders-table tbody td[data-label]::before{
    content:attr(data-label)!important;
    display:block!important;
    position:static!important;
    width:auto!important;
    font-weight:700;
    color:var(--muted);
  }

  .orders-table tbody td.row-actions-cell{
    position:absolute;
    top:18px;
    right:18px;
    width:auto;
    padding:0;
    border:0;
  }

  .orders-table tbody td[data-label]:nth-of-type(1){
    padding-right:88px;
  }
}



/* === Version 1.0.41: Menü redesign mobile + desktop === */
.topbar{
  height:72px;
  padding:0 22px;
  gap:18px;
  background:linear-gradient(90deg,#0f67c7 0%, #146fce 55%, #1768c4 100%);
  box-shadow:0 8px 24px rgba(17,40,76,.16);
}
.brand{
  min-width:auto;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:19px;
  letter-spacing:-.01em;
}
.brand-icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:16px;
}
.global-search{
  flex:1;
  max-width:700px;
}
.global-search input{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.92);
  border-radius:14px;
  padding:12px 15px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.userbox{
  margin-left:auto;
  gap:11px;
  padding:8px 12px 8px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-weight:700;
  max-width:unset;
}
.userbox-name{
  white-space:nowrap;
}
.userbox-caret{
  font-size:11px;
  opacity:.9;
}
.avatar{
  width:42px;
  height:42px;
  background:#eef4fb;
  color:#28466a;
  font-weight:800;
}

.sidebar{
  top:72px;
  width:270px;
  padding:16px 14px 16px;
  background:
    radial-gradient(circle at top left, rgba(31,103,197,.22), transparent 34%),
    linear-gradient(180deg,#17283a 0%, #102132 100%);
  border-right:1px solid rgba(255,255,255,.06);
  box-shadow:14px 0 36px rgba(10,20,35,.08);
  overflow:hidden;
}
.sidebar-inner{
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.sidebar-nav{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.sidebar-nav-secondary{
  padding-top:8px;
}
.nav-item{
  display:flex !important;
  align-items:center;
  gap:12px;
  min-height:56px;
  padding:12px 14px !important;
  border-radius:16px !important;
  color:#edf4ff !important;
  font-size:16px !important;
  font-weight:600;
  text-align:left !important;
  transition:transform .14s ease, background .14s ease, box-shadow .14s ease, color .14s ease;
}
.nav-item:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.08) !important;
}
.nav-item.active{
  background:linear-gradient(135deg,#1d78df,#2b84e7) !important;
  box-shadow:0 12px 24px rgba(24,98,191,.28);
}
.nav-item.active .nav-ico,
.nav-item.active .nav-label,
.nav-item.active .nav-arrow{
  color:#fff;
}
.nav-ico{
  width:28px;
  flex:0 0 28px;
  text-align:center;
  font-size:20px;
  line-height:1;
  color:#f3f7fd;
}
.nav-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nav-arrow{
  margin-left:auto;
  font-size:24px;
  line-height:1;
  color:rgba(255,255,255,.78);
}
.nav-logout .nav-arrow{ display:none; }

.sidebar-bottom{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.10);
}
.sidebar-version{
  margin-top:18px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 8px 2px;
  color:rgba(234,242,250,.92);
}
.sidebar-version-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,.06);
  font-size:19px;
}
.sidebar-version strong{
  display:block;
  color:#fff;
  font-size:15px;
  line-height:1.1;
}
.sidebar-version small{
  display:block;
  margin-top:3px;
  color:rgba(222,233,245,.72);
  font-size:12px;
}

.content{
  margin-left:270px;
  padding:102px 26px 45px;
  max-width:1800px;
}

/* alte Regeln neutralisieren */
.sidebar a:first-letter{
  font-size:inherit !important;
}

.mobile-menu-toggle{
  display:none;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:26px;
  line-height:1;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.mobile-menu-toggle:hover{
  background:rgba(255,255,255,.16);
}

@media(max-width:1100px){
  .global-search{max-width:420px;}
  .content{padding-left:18px;padding-right:18px;}
}

@media(max-width:900px){
  .userbox-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;}
}

@media(max-width:700px){
  .mobile-menu-toggle{display:inline-flex;}
  .topbar{
    height:64px;
    padding:0 12px;
    gap:10px;
  }
  .brand{
    min-width:0;
    flex:1;
    font-size:16px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .brand-icon{
    width:24px;height:24px;border-radius:7px;font-size:14px;
  }
  .global-search{display:none;}
  .userbox{
    padding:0;
    background:transparent;
    gap:8px;
    max-width:42vw;
  }
  .userbox-caret{display:none;}
  .userbox-name{
    display:block;
    max-width:calc(42vw - 48px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:14px;
  }
  .avatar{width:38px;height:38px;}

  .sidebar{
    display:block;
    z-index:90;
    top:64px;
    left:0;
    bottom:0;
    width:min(320px,88vw);
    max-width:88vw;
    padding:14px 12px 18px;
    border-right:1px solid rgba(255,255,255,.08);
    border-radius:0 18px 18px 0;
    transform:translateX(-106%);
    transition:transform .2s ease;
    overflow:auto;
  }
  body.mobile-menu-open .sidebar{transform:translateX(0);}
  body.mobile-menu-open::after{
    content:"";
    position:fixed;
    z-index:80;
    inset:64px 0 0;
    background:rgba(7,17,29,.52);
    backdrop-filter:blur(2px);
  }
  body.mobile-menu-open{
    overflow:hidden;
  }
  .content{
    margin-left:0;
    width:100%;
    max-width:100%;
    padding:82px 12px 34px;
  }
  .nav-item{
    min-height:54px;
    padding:12px 14px !important;
    border-radius:15px !important;
    font-size:15px !important;
  }
  .sidebar-version{
    margin-top:12px;
    padding-left:4px;
    padding-right:4px;
  }
  .sidebar-version strong{font-size:14px;}
  .sidebar-version small{font-size:11px;}
}


/* === Version 1.0.42: moderne Menü-Icons === */
.nav-ico svg,
.brand-icon svg,
.sidebar-version-icon svg{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nav-ico{
  display:grid;
  place-items:center;
}
.nav-item.active .nav-ico svg{
  stroke-width:2;
}
.brand-icon svg{
  width:18px;
  height:18px;
}
.sidebar-version-icon svg{
  width:20px;
  height:20px;
}


/* === Version 1.0.43: Kontaktsuche === */
.contact-search{
  display:flex;
  align-items:flex-end;
  gap:12px;
  margin-bottom:14px;
  padding:13px 15px;
}
.contact-search-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#edf5ff;
  color:var(--blue);
  font-size:23px;
  line-height:1;
}
.contact-search-field{
  flex:1;
  min-width:0;
}
.contact-search-field label{
  display:block;
  margin:0 0 5px;
  font-size:12px;
  font-weight:700;
  color:#4d5d72;
}
.contact-search-field input{
  width:100%;
}
.contact-search-count{
  flex:0 0 auto;
  padding:9px 11px;
  border-radius:999px;
  background:#f1f5f9;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.contact-search-empty[hidden],
.contacts-table tr[hidden]{
  display:none!important;
}
@media(max-width:600px){
  .contact-search{
    align-items:center;
    padding:12px;
  }
  .contact-search-icon{
    display:none;
  }
  .contact-search-count{
    display:none;
  }
  .contact-search-field label{
    font-size:12px;
  }
}


/* === Version 1.0.44: Kontaktsuche kompakter === */
.contact-search{
  align-items:center;
}


/* === Version 1.0.45: Planbezeichnungen bearbeiten === */
.plan-title{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.plan-title strong{
  font-size:15px;
  line-height:1.35;
}
.plan-original-name{
  color:var(--muted);
  font-size:11px;
  overflow-wrap:anywhere;
}
.plan-rename{
  border-top:1px solid #edf0f4;
  padding-top:8px;
}
.plan-rename summary{
  cursor:pointer;
  color:var(--blue);
  font-size:12px;
  font-weight:700;
  list-style:none;
}
.plan-rename summary::-webkit-details-marker{display:none}
.plan-rename form{
  margin-top:9px;
}
.plan-rename form label{
  display:block;
  margin-bottom:5px;
  font-size:12px;
  font-weight:700;
  color:#4d5d72;
}
.plan-rename form .btn{
  margin-top:8px;
}


/* === Version 1.0.46: Planname inline bearbeiten === */
.plan-inline-name{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-size:15px;
  line-height:1.35;
  font-weight:700;
  text-align:left;
  cursor:text;
  border-radius:5px;
}
.plan-inline-name:hover{
  color:var(--blue);
  text-decoration:underline;
  text-decoration-style:dotted;
  text-underline-offset:3px;
}
.plan-inline-input{
  width:100%;
  padding:7px 9px;
  border-radius:7px;
  font-size:15px;
  font-weight:700;
}
.plan-inline-input.saving{
  opacity:.65;
}


/* === Version 1.0.49: Beteiligte-Autocomplete === */
.autocomplete-wrap input[data-participant-autocomplete]{
  padding-right:12px;
}
.autocomplete-menu button{
  line-height:1.3;
}


/* === Version 1.0.51: Plankategorien + Drag & Drop === */
.plan-category-add{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:16px;
  padding:12px 14px;
}
.plan-category-add input{
  flex:1;
  min-width:220px;
}
.plan-category-add .btn{
  flex:0 0 auto;
}

.plan-board{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,340px));
  gap:14px;
  align-items:start;
  overflow:visible;
  padding:1px 1px 14px;
}
.plan-category{
  padding:0;
  overflow:visible;
  background:#f8fafc;
  border-radius:12px;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.plan-category.drag-over{
  border-color:#4c9bea;
  background:#edf6ff;
  box-shadow:0 0 0 3px rgba(58,143,230,.13),var(--shadow);
}
.plan-category-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:13px 14px;
  border-bottom:1px solid var(--line);
  background:#fff;
  border-radius:12px 12px 0 0;
}
.plan-category-head h3{
  margin:0 0 2px;
  font-size:16px;
  line-height:1.25;
}
.plan-category-count{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
}
.plan-category-menu{
  position:relative;
}
.plan-category-menu summary{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  cursor:pointer;
  list-style:none;
  border-radius:8px;
  color:#53657a;
  font-weight:800;
}
.plan-category-menu summary::-webkit-details-marker{display:none}
.plan-category-menu[open] summary{
  background:#eaf3ff;
  color:var(--blue);
}
.plan-category-menu form{
  position:absolute;
  z-index:25;
  top:38px;
  right:0;
  width:270px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 15px 35px rgba(19,44,72,.18);
}
.plan-category-menu label{
  display:block;
  margin-bottom:5px;
  font-size:12px;
  font-weight:700;
  color:#4d5d72;
}
.plan-category-list{
  min-height:180px;
  padding:10px;
}
.plan-category .plan-card{
  position:relative;
  margin-bottom:10px;
  padding:10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  box-shadow:0 3px 12px rgba(30,54,80,.05);
}
.plan-category .plan-card:last-of-type{
  margin-bottom:0;
}
.plan-category .pdfpreview{
  height:155px;
  border-radius:7px;
}
.plan-category .file-actions{
  margin-top:8px;
}
.plan-drag-handle{
  position:absolute;
  z-index:5;
  top:15px;
  right:15px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(207,219,232,.95);
  border-radius:9px;
  background:rgba(255,255,255,.94);
  color:#52677e;
  font-size:20px;
  line-height:1;
  cursor:grab;
  touch-action:none;
  box-shadow:0 2px 8px rgba(25,45,67,.08);
}
.plan-drag-handle:active{cursor:grabbing}
.plan-card.dragging{
  opacity:.42;
}
.plan-card.plan-moving{
  opacity:.65;
  pointer-events:none;
}
.plan-card.touch-dragging{
  opacity:.55;
}
.plan-category-empty{
  display:grid;
  place-items:center;
  min-height:95px;
  border:2px dashed #cbd8e7;
  border-radius:9px;
  color:#8090a3;
  font-size:12px;
  font-weight:700;
  text-align:center;
  padding:12px;
}
.plan-category-empty[hidden]{display:none!important}
.plan-board-empty{
  padding:12px 2px;
  font-size:13px;
}
.plan-drag-ghost{
  position:fixed;
  z-index:9999;
  max-width:240px;
  padding:10px 13px;
  border:1px solid #bcd5ef;
  border-radius:10px;
  background:#fff;
  color:var(--text);
  box-shadow:0 14px 35px rgba(10,32,56,.24);
  font-size:13px;
  font-weight:750;
  pointer-events:none;
  transform:rotate(1deg);
}
body.plan-touch-drag-active{
  user-select:none;
  -webkit-user-select:none;
}

@media(max-width:700px){
  .plan-category-add{
    display:grid;
    grid-template-columns:1fr;
    padding:10px;
  }
  .plan-category-add input{
    min-width:0;
  }
  .plan-category-add .btn{
    width:100%;
  }
  .plan-board{
    display:flex;
    flex-direction:column;
    overflow:visible;
    gap:12px;
    padding-bottom:0;
  }
  .plan-category{
    width:100%;
  }
  .plan-category-list{
    min-height:110px;
    padding:9px;
  }
  .plan-category .pdfpreview{
    height:175px;
  }
  .plan-category-menu form{
    position:fixed;
    z-index:100;
    left:12px;
    right:12px;
    top:96px;
    width:auto;
  }
}


/* === Version 1.0.52: PDF direkt in Plankategorie hochladen === */
.plan-category-addbox{
  margin-bottom:14px;
}
.plan-category-addbox form{
  max-width:620px;
}
.plan-category-addbox form label{
  display:block;
  margin:0 0 5px;
  font-size:12px;
  font-weight:700;
  color:#4d5d72;
}
.plan-category-addbox form .btn{
  margin-top:10px;
}

.plan-category-upload{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  margin:9px 10px 0;
  padding:8px 10px;
  border:1px dashed #c8d7e7;
  border-radius:9px;
  background:#fff;
  color:#7a899a;
  transition:border-color .15s ease,background .15s ease,color .15s ease;
}
.plan-category-upload-button{
  flex:0 0 auto;
  cursor:pointer;
  color:var(--blue);
  font-size:12px;
  font-weight:750;
}
.plan-category-upload-button:hover{
  text-decoration:underline;
}
.plan-category-upload span{
  font-size:11px;
  line-height:1.3;
}

.plan-category.file-drag-over{
  border-color:#1681e8;
  background:#e9f5ff;
  box-shadow:0 0 0 4px rgba(22,129,232,.12),var(--shadow);
}
.plan-category.file-drag-over .plan-category-upload{
  border-color:#1681e8;
  background:#dff0ff;
  color:#1768b7;
}
.plan-category.file-drag-over .plan-category-upload::after{
  content:"PDF hier ablegen";
  margin-left:auto;
  color:var(--blue);
  font-size:12px;
  font-weight:800;
}
.plan-category.file-drag-over .plan-category-upload span{
  display:none;
}
.plan-category.uploading-plans{
  opacity:.72;
  pointer-events:none;
}
.plan-category.uploading-plans .plan-category-upload{
  border-style:solid;
  border-color:#7db5eb;
  background:#edf6ff;
  color:#1768b7;
}

@media(max-width:700px){
  .plan-category-upload{
    margin:8px 9px 0;
    justify-content:space-between;
  }
  .plan-category-upload span{
    text-align:right;
  }
}

/* alte große Kategorie-Hinzufügen-Leiste aus v1.0.51 nicht mehr verwenden */
.plan-category-add{
  display:none!important;
}


/* === Version 1.0.55: kräftigere graue Kategorienüberschriften bei Plänen === */
.plan-category-head{
  background:linear-gradient(135deg,#dfe4e9 0%, #eaedf1 100%);
  border-bottom:1px solid #c8d0d9;
}
.plan-category-head h3{
  color:#263442;
  font-weight:800;
}
.plan-category-count{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:#cfd6de;
  color:#3f4f60;
}
.plan-category.drag-over .plan-category-head,
.plan-category.file-drag-over .plan-category-head{
  background:linear-gradient(135deg,#d5dce3 0%, #e4e8ed 100%);
  border-bottom-color:#b7c2cd;
}


/* === Version 1.0.56: Drag & Drop während Planname-Bearbeitung deaktiviert === */
.plan-card.plan-name-editing{
  cursor:text;
}
.plan-card.plan-name-editing .plan-drag-handle{
  opacity:.25;
  pointer-events:none;
}
.plan-card.plan-name-editing .plan-inline-input{
  user-select:text;
  -webkit-user-select:text;
}


/* === Version 1.0.57: Auftrag vorbereiten ohne Auftragsnummer === */
.order-add-form{
  max-width:900px;
}
.order-add-main{
  margin-bottom:4px;
}
.order-add-main input{
  font-size:15px;
  min-height:44px;
}
.order-add-secondary{
  margin-top:4px;
}
.order-add-form .btn.primary{
  margin-top:14px;
}
.order-add-form .hint{
  font-size:11px;
  font-weight:500;
  color:#7a899a;
}


/* === Version 1.0.58: Protokolltexte inline bearbeiten === */
.protocol-inline-text{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:text;
  border-radius:5px;
}
.protocol-inline-designation{
  font-weight:700;
}
.protocol-inline-text:hover{
  color:inherit;
  text-decoration:none;
}
.protocol-inline-editor{
  width:100%;
  min-width:160px;
  padding:7px 9px;
  border:1px solid #7fb1e7;
  border-radius:7px;
  background:#fff;
  font:inherit;
}
.protocol-inline-textarea{
  min-width:260px;
  resize:vertical;
  line-height:1.45;
}


/* === Version 1.0.59: Projekt löschen === */
.project-danger-zone{
  margin-top:22px;
  padding:0;
  overflow:hidden;
  border:1px solid #efcaca;
}
.project-danger-head{
  padding:16px 18px 13px;
  background:#fff8f8;
  border-bottom:1px solid #f0d7d7;
}
.project-danger-head h2{
  margin:0 0 4px;
  color:#9f2d2d;
  font-size:17px;
}
.project-danger-head p{
  margin:0;
  color:#765858;
  font-size:13px;
}
.project-delete-details{
  background:#fff;
}
.project-delete-details > summary{
  cursor:pointer;
  list-style:none;
  padding:13px 18px;
  color:#a32929;
  font-weight:750;
}
.project-delete-details > summary::-webkit-details-marker{
  display:none;
}
.project-delete-details > summary::before{
  content:"＋";
  display:inline-block;
  width:20px;
  color:#b73a3a;
}
.project-delete-details[open] > summary::before{
  content:"−";
}
.project-delete-details[open] > summary{
  border-bottom:1px solid #f1dddd;
}
.project-delete-panel{
  padding:16px 18px 18px;
  max-width:760px;
}
.project-delete-panel p{
  margin:0 0 10px;
  color:#5c4a4a;
  line-height:1.5;
}
.project-delete-panel form{
  margin-top:15px;
}
.project-delete-panel label{
  display:block;
  margin-bottom:6px;
  font-size:13px;
  font-weight:700;
}
.project-delete-panel input{
  max-width:320px;
  margin-bottom:12px;
  border-color:#ddb7b7;
}
.project-delete-button{
  display:block;
  border-color:#c44242;
  background:#b93131;
  color:#fff;
}
.project-delete-button:hover{
  background:#a62626;
  color:#fff;
}
@media(max-width:700px){
  .project-danger-head,
  .project-delete-details > summary,
  .project-delete-panel{
    padding-left:14px;
    padding-right:14px;
  }
  .project-delete-panel input{
    max-width:none;
  }
  .project-delete-button{
    width:100%;
  }
}


/* === Version 1.0.60: Projektdateien mit Kategorien === */
.file-board .project-file-card{
  min-width:0;
}
.project-file-image-preview{
  display:block;
  height:155px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:7px;
  background:#f5f7f9;
}
.project-file-image-preview img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.project-file-type-preview{
  height:155px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:7px;
  background:linear-gradient(145deg,#f3f5f7,#fafbfc);
  color:#526170;
}
.project-file-type-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#e1e5e9;
  color:#344250;
  font-size:25px;
  font-weight:850;
}
.project-file-type-preview strong{
  font-size:13px;
}
.file-category-upload.file-drag-over{
  border-color:#1681e8;
}
@media(max-width:700px){
  .project-file-image-preview,
  .project-file-type-preview{
    height:175px;
  }
}


/* === Version 1.0.61: Protokolltexte ohne Link-Hover === */
.protocol-inline-text{
  text-decoration:none;
}
.protocol-inline-text:focus-visible{
  outline:1px solid #b8c5d3;
  outline-offset:2px;
}


/* === Version 1.0.62: Kategorien in der Baustellendokumentation === */
.site-photo-board{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.site-photo-category{
  padding:0;
  overflow:visible;
  background:#f8fafc;
  border-radius:12px;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.site-photo-category.drag-over,
.site-photo-category.file-drag-over{
  border-color:#4c9bea;
  box-shadow:0 0 0 3px rgba(58,143,230,.13),var(--shadow);
}
.site-photo-category.file-drag-over{
  background:#edf6ff;
}
.site-photo-category-head{
  border-radius:12px 12px 0 0;
}
.site-category-upload{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  min-height:46px;
  margin:10px 12px 0;
  padding:9px 11px;
  border:1px dashed #c8d7e7;
  border-radius:9px;
  background:#fff;
}
.site-category-upload form{
  margin:0;
}
.site-photo-upload-link{
  cursor:pointer;
  color:var(--blue);
  font-size:12px;
  font-weight:750;
}
.site-photo-upload-link:hover{
  text-decoration:underline;
}
.site-category-drop-hint{
  margin-left:auto;
  color:#7a899a;
  font-size:11px;
}
.site-photo-category.file-drag-over .site-category-upload{
  border-color:#1681e8;
  background:#dff0ff;
}
.site-photo-category.file-drag-over .site-category-drop-hint{
  color:#1768b7;
  font-weight:750;
}
.site-category-photo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(185px,1fr));
  gap:12px;
  min-height:120px;
  padding:12px;
}
.site-category-photo-card{
  position:relative;
  margin:0;
  padding:0;
  overflow:hidden;
}
.site-category-photo-card .photo-link{
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
}
.site-category-photo-card .photo-link img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.site-photo-drag-handle{
  position:absolute;
  z-index:7;
  top:9px;
  right:9px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(207,219,232,.95);
  border-radius:9px;
  background:rgba(255,255,255,.94);
  color:#52677e;
  font-size:20px;
  line-height:1;
  cursor:grab;
  touch-action:none;
  box-shadow:0 2px 8px rgba(25,45,67,.12);
}
.site-photo-drag-handle:active{
  cursor:grabbing;
}
.site-category-photo-card.dragging,
.site-category-photo-card.touch-dragging{
  opacity:.48;
}
.site-category-empty{
  grid-column:1/-1;
  display:grid;
  place-items:center;
  min-height:90px;
  border:2px dashed #cbd8e7;
  border-radius:9px;
  color:#8090a3;
  font-size:12px;
  font-weight:700;
  text-align:center;
  padding:12px;
}
.site-category-empty[hidden]{
  display:none!important;
}
@media(max-width:700px){
  .site-category-upload{
    gap:10px;
    margin:9px 9px 0;
  }
  .site-category-drop-hint{
    width:100%;
    margin-left:0;
  }
  .site-category-photo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:9px;
  }
}


/* === Version 1.0.65: mobile Mail-Vorschau === */
.mail-preview-page{max-width:900px}.mail-preview-back{display:inline-flex;margin-bottom:14px}.mail-preview-card{padding:0;overflow:hidden}.mail-preview-head{padding:18px 20px;border-bottom:1px solid var(--line);background:#f7f9fb}.mail-preview-head h1{margin:0 0 6px;font-size:20px;line-height:1.3}.mail-preview-meta{display:grid;grid-template-columns:120px 1fr;gap:7px 12px;padding:16px 20px;border-bottom:1px solid var(--line)}.mail-preview-meta dt{color:var(--muted);font-size:12px;font-weight:700}.mail-preview-meta dd{margin:0;min-width:0;overflow-wrap:anywhere}.mail-preview-body{padding:20px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.mail-preview-actions{display:flex;gap:10px;flex-wrap:wrap;padding:14px 20px 20px;border-top:1px solid var(--line)}.mail-preview-note{margin:16px 20px;padding:13px 14px;border:1px solid #d9e0e7;border-radius:9px;background:#f8fafc;color:#556476;line-height:1.45}@media(max-width:700px){.mail-preview-head,.mail-preview-meta,.mail-preview-body,.mail-preview-actions{padding-left:14px;padding-right:14px}.mail-preview-meta{grid-template-columns:86px 1fr}.mail-preview-actions .btn{width:100%;justify-content:center}}

/* === Version 1.0.66: MSG-Inhalt direkt lesbar === */
.mail-preview-body{
  font-size:14px;
  color:#273444;
  background:#fff;
}
.mail-preview-head h1{
  overflow-wrap:anywhere;
}


/* === Version 1.0.67: Mail-Vorschau im Dokumentstil === */
.mail-preview-document-page{
  max-width:980px;
}
.mail-preview-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.mail-document{
  padding:0;
  overflow:hidden;
}
.mail-document-header{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px 20px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(135deg,#eef1f4 0%,#f7f8fa 100%);
}
.mail-document-type{
  flex:0 0 auto;
  min-width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#dde3e9;
  color:#425364;
  font-size:12px;
  font-weight:850;
  letter-spacing:.06em;
}
.mail-document-title{
  min-width:0;
}
.mail-document-title h1{
  margin:0 0 6px;
  color:#233142;
  font-size:22px;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.mail-document-project{
  color:#6e7c8d;
  font-size:13px;
}
.mail-document-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--line);
  border-bottom:1px solid var(--line);
}
.mail-meta-row{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:10px;
  padding:11px 14px;
  background:#fff;
}
.mail-meta-row span{
  color:#7a899a;
  font-size:11px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.mail-meta-row strong{
  color:#334155;
  font-size:13px;
  font-weight:650;
  overflow-wrap:anywhere;
}
.mail-document-preview{
  padding:18px;
  background:#eef1f4;
}
.mail-paper{
  min-height:420px;
  padding:24px 26px;
  border:1px solid #d7dde4;
  border-radius:8px;
  background:#fff;
  box-shadow:0 8px 22px rgba(32,49,68,.08);
}
.mail-paper-label{
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid #e5e9ed;
  color:#7a899a;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.mail-paper-body{
  color:#253243;
  font-size:14px;
  line-height:1.62;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.mail-paper-fallback{
  min-height:220px;
}
.mail-document-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 18px;
  border-top:1px solid var(--line);
  background:#fff;
}
.mail-document-fileinfo{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mail-document-fileinfo span{
  color:#8794a3;
  font-size:10px;
  font-weight:750;
  text-transform:uppercase;
}
.mail-document-fileinfo strong{
  color:#455466;
  font-size:12px;
  overflow-wrap:anywhere;
}
.mail-document-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
@media(max-width:700px){
  .mail-preview-topbar{
    align-items:stretch;
  }
  .mail-preview-topbar .btn{
    display:none;
  }
  .mail-document-header{
    padding:15px 14px;
  }
  .mail-document-type{
    min-width:46px;
    height:46px;
    border-radius:9px;
    font-size:10px;
  }
  .mail-document-title h1{
    font-size:19px;
  }
  .mail-document-meta{
    grid-template-columns:1fr;
  }
  .mail-meta-row{
    grid-template-columns:62px minmax(0,1fr);
    padding:10px 13px;
  }
  .mail-document-preview{
    padding:10px;
  }
  .mail-paper{
    min-height:360px;
    padding:18px 16px;
    border-radius:6px;
  }
  .mail-paper-body{
    font-size:14px;
    line-height:1.58;
  }
  .mail-document-footer{
    align-items:stretch;
    flex-direction:column;
    padding:12px 14px 14px;
  }
  .mail-document-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .mail-document-actions .btn{
    width:100%;
    justify-content:center;
  }
}


/* === Version 1.0.69: originalnahe MSG-Vorschau + Anhänge === */
.mail-paper-original{
  padding:24px 26px;
}
.mail-html-body{
  color:#202b37;
  font-size:14px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.mail-html-body img{
  max-width:100%;
  height:auto;
}
.mail-html-body table{
  max-width:100%;
  border-collapse:collapse;
}
.mail-html-body a{
  word-break:break-word;
}
.mail-attachments{
  border-top:1px solid var(--line);
  background:#fff;
}
.mail-attachments-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:13px 18px;
  background:#f6f8fa;
  border-bottom:1px solid var(--line);
}
.mail-attachments-head strong{
  color:#334155;
  font-size:14px;
}
.mail-attachments-head span{
  color:#7a899a;
  font-size:11px;
  font-weight:700;
}
.mail-attachment-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:9px;
  padding:12px 16px 16px;
}
.mail-attachment-item{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:10px 11px;
  border:1px solid #d9e0e7;
  border-radius:9px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}
.mail-attachment-item:hover{
  border-color:#bbc9d7;
  background:#f8fafc;
  text-decoration:none;
}
.mail-attachment-icon{
  flex:0 0 auto;
  min-width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#e8ecf0;
  color:#4b5c6d;
  font-size:10px;
  font-weight:850;
}
.mail-attachment-name{
  display:flex;
  flex:1;
  min-width:0;
  flex-direction:column;
}
.mail-attachment-name strong{
  color:#344253;
  font-size:12px;
  overflow-wrap:anywhere;
}
.mail-attachment-name small{
  margin-top:2px;
  color:#8995a2;
  font-size:10px;
}
.mail-attachment-open{
  flex:0 0 auto;
  color:#246fbe;
  font-size:11px;
  font-weight:750;
}
@media(max-width:700px){
  .mail-paper-original{
    padding:16px 13px;
  }
  .mail-attachment-list{
    grid-template-columns:1fr;
    padding:10px;
  }
  .mail-attachments-head{
    padding:11px 13px;
  }
}

/* === Version 1.0.70: Benutzer-Einladung + Kurzzeichen === */
.activation-card{max-width:440px}
.user-resend-invite{margin-top:10px}
.users-table td:nth-child(2){white-space:nowrap}


/* === Version 1.0.74: Admin-Einstellungen === */
.settings-card{
  max-width:760px;
  padding:0;
  overflow:hidden;
}
.settings-section-head{
  padding:18px 20px 13px;
  border-bottom:1px solid var(--line);
}
.settings-section-head h2{
  margin:0 0 4px;
}
.settings-section-head p{
  margin:0;
}
.settings-card form{
  padding:14px 18px 18px;
}
.settings-choice{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px;
  margin:0 0 10px;
  border:1px solid #d9e1e9;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
}
.settings-choice:has(input:checked){
  border-color:#9fc5ec;
  background:#f3f8fe;
  box-shadow:0 0 0 1px rgba(37,111,190,.08);
}
.settings-choice input{
  flex:0 0 auto;
  margin-top:3px;
}
.settings-choice span{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.settings-choice strong{
  color:#26384a;
}
.settings-choice small{
  color:#718096;
  line-height:1.45;
}
.settings-actions{
  margin-top:15px;
}
@media(max-width:600px){
  .settings-section-head{padding:15px 14px 11px}
  .settings-card form{padding:11px 12px 14px}
  .settings-choice{padding:12px}
}


/* === Version 1.0.75: Einstellungen mobil korrigiert === */
.settings-card form{
  min-width:0;
}
.settings-card .settings-choice{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  box-sizing:border-box!important;
  gap:12px!important;
  padding:14px!important;
  margin:0 0 10px!important;
}
.settings-card .settings-choice > input[type="radio"]{
  flex:0 0 auto!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  margin:2px 0 0!important;
  padding:0!important;
}
.settings-card .settings-choice > span{
  display:block!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  transform:none!important;
}
.settings-card .settings-choice > span > strong,
.settings-card .settings-choice > span > small{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
}
.settings-card .settings-choice > span > strong{
  font-size:15px;
  line-height:1.35;
}
.settings-card .settings-choice > span > small{
  margin-top:4px!important;
  font-size:12px;
  line-height:1.45;
}
@media(max-width:600px){
  .settings-card{
    width:100%;
    max-width:100%;
  }
  .settings-card form{
    padding:10px 12px 14px!important;
  }
  .settings-card .settings-choice{
    gap:10px!important;
    padding:12px!important;
  }
  .settings-actions{
    margin-top:12px!important;
  }
  .settings-actions .btn{
    width:100%;
    justify-content:center;
  }
}


/* === Version 1.0.79: Aufträge und Bestellungen direkt in Übersicht === */
.overview-section-head{
  align-items:flex-start;
}
.overview-inline-add{
  position:relative;
  flex:0 0 auto;
}
.overview-inline-add > summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}
.overview-inline-add > summary::-webkit-details-marker{
  display:none;
}
.overview-inline-add[open] > summary{
  background:#eaf3ff;
  border-color:#a9cdf3;
}
.overview-inline-form{
  position:absolute;
  z-index:35;
  right:0;
  top:calc(100% + 8px);
  width:min(620px,82vw);
  max-height:75vh;
  overflow:auto;
  padding:16px;
  border:1px solid #d8e1eb;
  border-radius:11px;
  background:#fff;
  box-shadow:0 18px 50px rgba(20,40,65,.2);
}
.overview-inline-form .grid2{
  margin-bottom:10px;
}
.overview-inline-form > .btn{
  margin-top:8px;
}
.overview-orders .row-actions-cell,
.overview-purchases .row-actions-cell{
  width:48px;
}
@media(max-width:700px){
  .overview-section-head{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .overview-inline-add{
    width:100%;
  }
  .overview-inline-add > summary{
    width:100%;
    justify-content:center;
  }
  .overview-inline-form{
    position:fixed!important;
    z-index:120!important;
    left:12px!important;
    right:12px!important;
    top:50%!important;
    transform:translateY(-50%);
    width:auto!important;
    max-width:none!important;
    max-height:80vh;
  }
  body:has(.overview-inline-add[open])::before{
    content:"";
    position:fixed;
    z-index:110;
    inset:0;
    background:rgba(15,31,49,.42);
  }
}


/* === Version 1.0.80: Inline-Bearbeitung Aufträge/Bestellungen === */
.overview-inline-value{
  display:inline;
  width:auto;
  max-width:100%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  line-height:inherit;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
  cursor:text;
}
.overview-inline-value:hover{
  color:inherit;
  background:transparent;
  text-decoration:none;
}
.overview-inline-value:focus-visible{
  outline:2px solid #a9cdf3;
  outline-offset:2px;
  border-radius:3px;
}
.overview-inline-strong{font-weight:700}
.overview-inline-status{
  cursor:pointer;
  border:0;
}
.overview-inline-editor{
  width:100%;
  min-width:120px;
  margin:-5px 0;
  padding:5px 7px;
  border:1px solid #8ab9e8;
  border-radius:6px;
  background:#fff;
  color:#253243;
  font:inherit;
}
.overview-inline-select{min-width:125px}
@media(max-width:700px){
  .overview-inline-editor{
    min-width:150px;
    font-size:16px;
  }
}


/* === Version 1.0.82: Benutzerkonto, Aktivierung und direkte Löschsymbole === */
.userbox{
  position:relative;
  margin-left:auto;
  font-weight:600;
}
.userbox-summary{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  list-style:none;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}
.userbox-summary::-webkit-details-marker{display:none}
.userbox-caret{
  transition:transform .16s ease;
}
.userbox[open] .userbox-caret{
  transform:rotate(180deg);
}
.userbox-dropdown{
  position:absolute;
  z-index:80;
  right:0;
  top:calc(100% + 8px);
  width:210px;
  padding:6px;
  border:1px solid #d8e1eb;
  border-radius:9px;
  background:#fff;
  color:var(--text);
  box-shadow:0 14px 38px rgba(18,43,69,.2);
}
.userbox-dropdown a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border-radius:7px;
  color:#31445a;
  font-weight:600;
}
.userbox-dropdown a:hover{
  background:#f2f7fd;
  color:var(--blue);
}
.userbox-dropdown-icon{
  width:18px;
  height:18px;
  display:inline-flex;
}
.userbox-dropdown-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.password-change-card{
  max-width:620px;
}
.activation-short-code{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  padding:10px 11px;
  border:1px solid #d9e1ea;
  border-radius:7px;
  background:#f3f6f9;
  color:#33465a;
  font-weight:700;
  letter-spacing:.04em;
}
.inline-delete-form{
  display:flex;
  justify-content:center;
  margin:0;
}
.inline-delete-button{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid #e5cccc;
  border-radius:7px;
  background:#fff;
  color:var(--red);
  cursor:pointer;
}
.inline-delete-button:hover{
  background:#fff1f1;
}
.inline-delete-button svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:700px){
  .userbox-name{display:none}
  .userbox-dropdown{
    position:fixed;
    top:58px;
    right:10px;
    width:220px;
  }
  .inline-delete-button{
    width:38px;
    height:38px;
  }
}


/* === Version 1.0.83: Benutzer löschen & Projektzuweisung === */
.nav-count{
  min-width:22px;height:22px;display:inline-grid;place-items:center;
  margin-left:auto;padding:0 6px;border-radius:11px;
  background:#e8f2ff;color:#0966c6;font-size:11px;font-weight:800
}
.sidebar .nav-item.active .nav-count,.sidebar .nav-item:hover .nav-count{
  background:#fff;color:#176fc6
}
.unassigned-text{color:#c65b00}
.user-row-actions{
  display:flex;align-items:center;justify-content:flex-end;gap:7px
}
.user-row-actions form{margin:0}
.assignment-empty{max-width:760px}
.assignment-empty p{margin:5px 0 0}
.assignment-form{
  display:flex;align-items:center;gap:8px;margin:0
}
.assignment-form select{
  min-width:260px
}
@media(max-width:700px){
  .assignment-table-card{overflow:visible!important;padding:0}
  .assignment-table{min-width:0!important}
  .assignment-table thead{display:none}
  .assignment-table,.assignment-table tbody,.assignment-table tr,.assignment-table td{
    display:block;width:100%
  }
  .assignment-table tr{
    padding:13px 14px;border-bottom:1px solid var(--line);background:#fff
  }
  .assignment-table tr:last-child{border-bottom:0}
  .assignment-table td{
    display:grid;grid-template-columns:108px minmax(0,1fr);
    gap:8px;padding:6px 0;border:0;align-items:start
  }
  .assignment-table td:before{
    font-size:12px;font-weight:700;color:#64748b
  }
  .assignment-table td:nth-child(1):before{content:"Projekt"}
  .assignment-table td:nth-child(2):before{content:"Ortsnetz"}
  .assignment-table td:nth-child(3):before{content:"Status"}
  .assignment-table td:nth-child(4):before{content:"Zuweisung"}
  .assignment-form{
    display:grid;grid-template-columns:minmax(0,1fr) auto;
    width:100%;gap:7px
  }
  .assignment-form select{min-width:0;width:100%}
}


/* === Version 1.0.84: erweiterte Projektzuweisung === */
.assignment-unassigned-row{
  background:#fffaf4;
}
.assignment-unassigned-row:hover{
  background:#fff7ed;
}
.assignment-unassigned-label{
  color:#c65b00!important;
  font-weight:700;
}
@media(max-width:700px){
  .assignment-table td:nth-child(1):before{content:"Projekt"}
  .assignment-table td:nth-child(2):before{content:"Ortsnetz"}
  .assignment-table td:nth-child(3):before{content:"Status"}
  .assignment-table td:nth-child(4):before{content:"Aktuell"}
  .assignment-table td:nth-child(5):before{content:"Zuweisung"}
}


/* === Version 1.0.87: Aufgabenbereich in der Übersicht verbessert === */
.overview-status-card{display:flex;flex-direction:column;gap:16px}
.overview-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.overview-card-head h2{margin:0}
.overview-open-count{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:28px;padding:0 11px;border-radius:999px;
  background:#e8f2ff;border:1px solid #c7ddf8;color:#0966c6;
  font-size:12px;font-weight:800;white-space:nowrap
}
.overview-block{display:flex;flex-direction:column;gap:10px}
.overview-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.overview-block-head h3{margin:0}
.overview-tasks-block{padding-top:4px}
.overview-task-list{display:flex;flex-direction:column;gap:10px}
.overview-task-item{
  display:flex;align-items:flex-start;gap:12px;
  padding:14px 15px;border:1px solid #e3eaf2;border-radius:10px;
  background:#f8fbfd;
}
.overview-task-item.is-overdue{
  background:#fff8f2;border-color:#f1d6b4;
}
.overview-task-main{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
.overview-task-title{display:block;font-size:16px;line-height:1.35;color:var(--text)}
.overview-task-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}
.overview-priority-chip{
  display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;
  font-size:12px;font-weight:700;border:1px solid #d6dee8;background:#fff;color:#506174
}
.overview-priority-chip.priority-high{background:#fff2e7;border-color:#efcfaa;color:#af5b0d}
.overview-priority-chip.priority-normal{background:#eef5ff;border-color:#d0e0f6;color:#2268a8}
.overview-priority-chip.priority-low{background:#eef7f1;border-color:#cfe4d6;color:#2a7a4b}
.overview-task-date{font-size:13px;color:#576a7f;font-weight:600}
.overview-empty-state{
  display:flex;flex-direction:column;align-items:flex-start;gap:4px;
  padding:16px 17px;border:1px dashed #d7e0ea;border-radius:10px;background:#fbfcfd;color:#5d6c7d
}
.overview-empty-state strong{color:var(--text)}
.overview-more-tasks{margin-top:2px}

@media(max-width:700px){
  .overview-status-card{gap:14px}
  .overview-card-head,.overview-block-head{align-items:flex-start;flex-direction:column}
  .overview-open-count{min-height:30px}
  .overview-task-item{padding:13px 14px}
  .overview-task-title{font-size:15px}
  .overview-task-meta{gap:8px}
}


/* === Version 1.0.88: Aufgaben mit Bezeichnung/Text und Inline-Bearbeitung === */
.overview-task-text{
  color:#5d6d7f;
  font-size:14px;
  line-height:1.45;
}
.tasks-table .task-inline-value{
  display:inline-block;
  width:100%;
  text-align:left;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.tasks-table td[data-label="Bezeichnung"] .task-inline-value{
  font-weight:700;
  color:var(--text);
}
.tasks-table td[data-label="Text"] .task-inline-value{
  color:#44566b;
}
.task-inline-priority,
.task-inline-date{
  white-space:nowrap;
}
.task-inline-textarea{
  min-height:88px;
  resize:vertical;
}
.task-delete-cell{width:48px}
.task-overdue-note{
  display:block;
  margin-top:5px;
}
.task-done td:not(:first-child):not(:last-child){opacity:.62}
.task-done td[data-label="Bezeichnung"] .task-inline-value{
  text-decoration:line-through;
}

@media(max-width:700px){
  .tasks-table td:nth-child(2),
  .tasks-table td:nth-child(3),
  .tasks-table td:nth-child(4),
  .tasks-table td:nth-child(5){
    display:grid;
    grid-template-columns:100px minmax(0,1fr);
    gap:10px;
    align-items:start;
    padding:5px 0;
  }
  .tasks-table td:nth-child(2)::before,
  .tasks-table td:nth-child(3)::before,
  .tasks-table td:nth-child(4)::before,
  .tasks-table td:nth-child(5)::before{
    font-size:12px;
    font-weight:700;
    color:#64748b;
  }
  .tasks-table td:nth-child(2)::before{content:"Bezeichnung"}
  .tasks-table td:nth-child(3)::before{content:"Text"}
  .tasks-table td:nth-child(4)::before{content:"Priorität"}
  .tasks-table td:nth-child(5)::before{content:"Fällig"}
  .tasks-table tr{
    padding:13px 56px 13px 58px;
  }
  .tasks-table td:nth-child(2){
    font-size:15px;
    padding-bottom:5px;
  }
  .tasks-table td:nth-child(3) .task-inline-value,
  .tasks-table td:nth-child(2) .task-inline-value{
    white-space:pre-wrap;
  }
  .tasks-table td:nth-child(6){
    position:absolute;
    right:10px;
    top:10px;
    width:auto;
    padding:0;
    overflow:visible;
  }
  .task-delete-cell .inline-delete-button{
    width:40px;
    height:40px;
  }
}


/* === Version 1.0.89: Aufgaben in der Übersicht kompakter === */
.overview-task-list-compact{gap:8px}
.overview-task-item-compact{
  padding:10px 12px;
  border-radius:9px;
  gap:10px;
}
.overview-task-item-compact .overview-task-main{gap:5px}
.overview-task-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.overview-task-item-compact .overview-task-title{
  font-size:15px;
  line-height:1.3;
}
.overview-task-text.compact{
  font-size:13px;
  line-height:1.35;
  color:#68788a;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.overview-task-item-compact .overview-task-meta{
  gap:6px 8px;
}
.overview-task-item-compact .overview-priority-chip{
  padding:3px 8px;
  font-size:11px;
}
.overview-task-item-compact .overview-task-date{
  font-size:12px;
  white-space:nowrap;
}
.overview-more-tasks{
  font-size:13px;
}
@media(max-width:700px){
  .overview-task-item-compact{
    padding:10px 11px;
  }
  .overview-task-top{
    flex-direction:column;
    gap:5px;
  }
  .overview-task-item-compact .overview-task-title{
    font-size:14px;
  }
  .overview-task-item-compact .overview-task-date{
    white-space:normal;
  }
  .overview-task-text.compact{
    -webkit-line-clamp:2;
  }
}


/* === Version 1.0.91: Aufgaben in Übersicht strikt einzeilig === */
.overview-status-card,
.overview-tasks-block,
.overview-task-lines{overflow:visible}
.overview-task-lines{
  display:flex;
  flex-direction:column;
  gap:0;
  border:1px solid #e2e8ef;
  border-radius:9px;
  background:#fff;
}
.overview-task-line{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto auto;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:7px 10px 7px 12px;
  border-bottom:1px solid #edf1f5;
  background:#fff;
  outline:none;
}
.overview-task-line:first-child{border-radius:8px 8px 0 0}
.overview-task-line:last-child{border-bottom:0;border-radius:0 0 8px 8px}
.overview-task-line:only-child{border-radius:8px}
.overview-task-line:hover,
.overview-task-line:focus{
  background:#f7faff;
}
.overview-task-line.is-overdue{
  background:#fffaf5;
}
.overview-task-line.is-overdue:hover,
.overview-task-line.is-overdue:focus{
  background:#fff6ec;
}
.overview-task-line-title{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
  line-height:1.25;
  color:var(--text);
}
.overview-task-line .overview-priority-chip{
  flex:none;
  padding:3px 7px;
  font-size:10px;
  line-height:1.15;
}
.overview-task-line-date{
  min-width:95px;
  text-align:right;
  white-space:nowrap;
  font-size:12px;
  font-weight:650;
  color:#607187;
}
.overview-task-info-dot{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border:1px solid #d5e0ec;
  border-radius:50%;
  color:#6c7d90;
  background:#f7f9fc;
  font-size:11px;
  font-weight:800;
  cursor:help;
}
.overview-task-tooltip{
  position:absolute;
  z-index:80;
  left:12px;
  top:calc(100% + 5px);
  width:min(480px,calc(100vw - 70px));
  max-width:calc(100% - 24px);
  padding:10px 12px;
  border:1px solid #d8e1eb;
  border-radius:8px;
  background:#fff;
  color:#3f5064;
  box-shadow:0 12px 30px rgba(20,40,65,.16);
  font-size:13px;
  line-height:1.4;
  font-weight:400;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(-3px);
  transition:opacity .1s ease,transform .1s ease,visibility .1s ease;
}
.overview-task-line.has-text:hover .overview-task-tooltip,
.overview-task-line.has-text:focus .overview-task-tooltip,
.overview-task-line.has-text.is-text-open .overview-task-tooltip{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.overview-task-line.has-text:hover,
.overview-task-line.has-text:focus{z-index:20}

@media(max-width:700px){
  .overview-task-line{
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:8px;
    min-height:44px;
    padding:9px 10px 9px 11px;
  }
  .overview-task-line-title{font-size:13px}
  .overview-task-line .overview-priority-chip{display:none}
  .overview-task-line-date{
    min-width:0;
    font-size:11px;
  }
  .overview-task-info-dot{
    width:24px;
    height:24px;
    cursor:pointer;
    background:#f2f6fa;
  }
  .overview-task-tooltip{
    display:none;
    position:static;
    z-index:auto;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:100%;
    max-width:none;
    margin-top:8px;
    padding:10px 11px;
    border-radius:8px;
    box-shadow:none;
    pointer-events:auto;
    opacity:1;
    visibility:visible;
    transform:none;
    grid-column:1 / -1;
    background:#f7f9fc;
    color:#556678;
    font-size:12px;
    line-height:1.4;
  }
  .overview-task-line.has-text.is-text-open{
    background:#f9fbfe;
  }
  .overview-task-line.has-text.is-text-open .overview-task-tooltip{
    display:block;
  }
}


/* === Version 1.0.92: Mobile Aufgaben-Details ruhiger === */
@media(max-width:700px){
  .overview-block-head{
    gap:8px;
  }
  .overview-block-head h3{
    margin-bottom:0;
  }
  .overview-task-lines{
    border-radius:10px;
    overflow:hidden;
  }
  .overview-task-line.has-text .overview-task-info-dot::after{
    content:"";
  }
}


/* === Version 1.0.93: Aufgabentext per Klick aufklappen === */
.overview-task-line{
  grid-template-columns:minmax(0,1fr) auto auto;
}
.overview-task-line.has-text{
  cursor:pointer;
}
.overview-task-line.has-text:hover{
  background:#f7faff;
}
.overview-task-info-dot{
  display:none!important;
}
.overview-task-tooltip{
  display:none!important;
  position:static!important;
  z-index:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:4px 0 2px!important;
  padding:10px 11px!important;
  border:1px solid #e1e7ee!important;
  border-radius:8px!important;
  background:#f7f9fc!important;
  color:#536477!important;
  box-shadow:none!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:400!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
  grid-column:1 / -1!important;
}
.overview-task-line.has-text.is-text-open{
  background:#f9fbfd;
}
.overview-task-line.has-text.is-text-open .overview-task-tooltip{
  display:block!important;
}
.overview-task-line.has-text:hover .overview-task-tooltip,
.overview-task-line.has-text:focus .overview-task-tooltip{
  display:none!important;
}
.overview-task-line.has-text.is-text-open:hover .overview-task-tooltip,
.overview-task-line.has-text.is-text-open:focus .overview-task-tooltip{
  display:block!important;
}

@media(max-width:700px){
  .overview-task-line{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
  }
  .overview-task-line .overview-priority-chip{
    display:none;
  }
  .overview-task-tooltip{
    font-size:12px!important;
    margin-top:5px!important;
    padding:9px 10px!important;
  }
}


/* === Version 1.0.95: Aufgaben-Uhrzeit & Push === */
.task-push-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;margin-bottom:12px}
.task-push-copy{display:flex;flex-direction:column;gap:3px}.task-push-copy span{font-size:12px;color:var(--muted)}
.task-due-inline-editor{display:flex;align-items:center;gap:6px;min-width:300px}.task-due-inline-editor input{min-width:0;padding:6px 7px;font-size:13px}.task-due-inline-editor input[type=date]{width:155px}.task-due-inline-editor input[type=time]{width:105px}
@media(max-width:700px){.task-push-bar{align-items:stretch;flex-direction:column}.task-push-bar .btn{width:100%;justify-content:center}.task-due-inline-editor{min-width:0;width:100%;flex-direction:column;align-items:stretch}.task-due-inline-editor input[type=date],.task-due-inline-editor input[type=time]{width:100%;font-size:16px}}


/* === Version 1.0.96: zentrale Push-Einstellungen === */
.notification-settings-card{
  max-width:760px;
  padding:22px;
}
.notification-settings-head{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.notification-settings-head h2{
  margin:0 0 5px;
}
.notification-settings-head p{
  margin:0;
  color:var(--muted);
}
.notification-bell{
  flex:0 0 auto;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#eaf3ff;
  color:var(--blue);
}
.notification-bell svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.notification-device-info{
  margin-top:18px;
  padding:12px 13px;
  border:1px solid #dbe4ee;
  border-radius:8px;
  background:#f8fafc;
  color:#536477;
  font-size:13px;
  line-height:1.5;
}
.notification-settings-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}
.notification-test-status{
  margin-top:12px;
  padding:10px 12px;
  border-radius:8px;
  background:#f3f7fb;
  color:#42566d;
  font-size:13px;
}
.task-push-actions{
  display:flex;
  align-items:center;
  gap:7px;
}
@media(max-width:700px){
  .notification-settings-card{
    padding:17px;
  }
  .notification-settings-actions{
    flex-direction:column;
  }
  .notification-settings-actions .btn{
    width:100%;
    justify-content:center;
  }
  .task-push-actions{
    flex-direction:column;
    align-items:stretch;
    width:100%;
  }
  .task-push-actions .btn{
    width:100%;
    justify-content:center;
  }
}


/* === Version 1.0.97: Push-Aktivierung zuverlässig === */
[hidden]{
  display:none!important;
}
.notification-settings-card [data-push-test-status]:not([hidden]){
  display:block!important;
}


/* === Version 1.0.99: iPhone Home-Bildschirm-Anleitung === */
.ios-install-help{
  margin-top:16px;
  padding:16px 17px;
  border:1px solid #cfe0f3;
  border-radius:10px;
  background:#f7fbff;
  color:#40546a;
}
.ios-install-help-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.ios-install-help-head strong{
  color:var(--text);
  font-size:16px;
}
.ios-install-help-close{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#eaf1f8;
  color:#42566d;
  font-size:22px;
  cursor:pointer;
}
.ios-install-help ol{
  margin:13px 0 10px;
  padding-left:22px;
  line-height:1.6;
}
.ios-install-help p{
  margin:0;
  font-size:13px;
  color:#5a6d81;
}
@media(max-width:700px){
  .ios-install-help{
    padding:14px;
  }
  .ios-install-help ol{
    padding-left:20px;
  }
}


/* === Version 1.0.100: iPhone-Anleitung ohne JavaScript-Klick === */
.ios-install-help{
  margin-top:16px;
  padding:0;
  border:1px solid #cfe0f3;
  border-radius:10px;
  background:#f7fbff;
  color:#40546a;
  overflow:hidden;
}
.ios-install-help > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  list-style:none;
  padding:13px 15px;
  color:#0b6fd3;
  font-weight:750;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}
.ios-install-help > summary::-webkit-details-marker{
  display:none;
}
.ios-install-help > summary::after{
  content:"›";
  font-size:22px;
  line-height:1;
  transition:transform .15s ease;
}
.ios-install-help[open] > summary::after{
  transform:rotate(90deg);
}
.ios-install-help-body{
  padding:0 15px 15px;
  border-top:1px solid #dce8f4;
}
.ios-install-help-body > strong{
  display:block;
  margin-top:13px;
  color:var(--text);
  font-size:15px;
}
.ios-install-help-body ol{
  margin:12px 0 10px;
  padding-left:21px;
  line-height:1.6;
}
.ios-install-help-body p{
  margin:0;
  font-size:13px;
  color:#5a6d81;
}
@media(max-width:700px){
  .ios-install-help > summary{
    min-height:46px;
    padding:12px 14px;
  }
  .ios-install-help-body{
    padding:0 14px 14px;
  }
}


/* === Version 1.0.102: Freigegeben von bei Rechtsakten === */
@media(max-width:700px){
  .legal-table td:nth-child(1):before{content:"RCV-Nummer"}
  .legal-table td:nth-child(2):before{content:"Status"}
  .legal-table td:nth-child(3):before{content:"Freigabedatum"}
  .legal-table td:nth-child(4):before{content:"Freigegeben von"}
  .legal-table td:nth-child(5):before{content:"Angelegt am"}
  .legal-table td:nth-child(6):before{content:"Angelegt von"}
}


/* === Version 1.0.103: Rechtsakt direkt bearbeiten === */
.legal-table [data-legal-inline]{
  display:inline-block;
  width:auto;
  max-width:100%;
}
.legal-table td:last-child .inline-delete-form{
  margin:0;
}
.legal-person-inline-editor{
  min-width:180px;
}
.legal-person-inline-editor .autocomplete-menu{
  z-index:90;
}

@media(max-width:700px){
  .legal-table td:last-child{
    overflow:visible;
  }
  .legal-table .inline-delete-form{
    justify-content:flex-end;
  }
  .legal-table .overview-inline-editor{
    width:100%;
    min-width:0;
  }
  .legal-person-inline-editor{
    width:100%;
    min-width:0;
  }
}


/* === Version 1.0.104: Rechtsakt-Freigabe als gemeinsamer Vorgang === */
.legal-table tr[data-legal-row]{
  position:relative;
}
.legal-approval-editor{
  position:absolute;
  z-index:70;
  top:calc(100% - 4px);
  right:56px;
  width:330px;
  padding:14px;
  border:1px solid #cad8e7;
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 34px rgba(18,43,69,.18);
}
.legal-approval-editor label{
  display:block;
  margin:0 0 5px;
  font-size:12px;
  font-weight:700;
  color:#5a6d81;
}
.legal-approval-editor input{
  width:100%;
  margin:0 0 11px;
}
.legal-approval-editor .autocomplete-menu{
  z-index:90;
  margin-top:-8px;
}
.legal-approval-editor-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:2px;
}
@media(max-width:700px){
  .legal-approval-editor{
    position:fixed;
    z-index:130;
    left:14px;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    width:auto;
    max-height:80vh;
    overflow:visible;
  }
  body:has(.legal-approval-editor)::before{
    content:"";
    position:fixed;
    z-index:120;
    inset:0;
    background:rgba(15,31,49,.42);
  }
  .legal-approval-editor-actions{
    flex-direction:column;
  }
  .legal-approval-editor-actions .btn{
    width:100%;
    justify-content:center;
  }
}


/* === Version 1.0.105: Rechtsakt-Freigabe direkt unter der Tabellenzeile === */
.legal-approval-edit-row[hidden]{
  display:none!important;
}
.legal-approval-edit-row td{
  padding:0!important;
  border-top:0!important;
  background:#f8fafc;
}
.legal-approval-inline-panel{
  display:grid;
  grid-template-columns:minmax(150px,190px) minmax(220px,1fr) auto;
  gap:12px;
  align-items:end;
  padding:13px 16px 15px;
  border-top:1px solid #e3eaf2;
  border-bottom:1px solid #dce4ed;
  background:#f8fafc;
}
.legal-approval-field{
  min-width:0;
}
.legal-approval-field label{
  display:block;
  margin:0 0 5px;
  color:#66788b;
  font-size:12px;
  font-weight:700;
}
.legal-approval-field input{
  width:100%;
  margin:0;
}
.legal-approval-person-field .autocomplete-wrap{
  width:100%;
}
.legal-approval-inline-actions{
  display:flex;
  align-items:center;
  gap:7px;
  padding-bottom:1px;
}
.legal-approval-inline-panel .autocomplete-menu{
  z-index:95;
}

/* Alte schwebende Popup-Darstellung aus v1.0.104 deaktivieren. */
.legal-approval-editor{
  position:static!important;
  transform:none!important;
  width:auto!important;
  box-shadow:none!important;
}

@media(max-width:700px){
  .legal-approval-edit-row{
    display:table-row;
  }
  .legal-approval-edit-row[hidden]{
    display:none!important;
  }
  .legal-approval-edit-row td{
    display:block!important;
    width:100%!important;
    padding:0!important;
  }
  .legal-approval-edit-row td:before{
    display:none!important;
  }
  .legal-approval-inline-panel{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:13px 14px 15px;
    background:#f8fafc;
  }
  .legal-approval-inline-actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    gap:7px;
    padding:0;
  }
  .legal-approval-inline-actions .btn{
    width:100%;
    justify-content:center;
  }

  /* Kein Overlay mehr auf Mobilgeräten. */
  body:has(.legal-approval-editor)::before{
    display:none!important;
    content:none!important;
  }
}


/* === Version 1.0.108: Plankategorien ohne horizontales Scrollen ===
   Kategorien umbrechen am Desktop automatisch in weitere Zeilen.
   Die Karten bleiben kompakt (max. 340px) und werden bei wenigen Kategorien
   nicht unnötig über die gesamte verfügbare Breite gestreckt. */
.plan-board{
  grid-auto-flow:row;
}

/* === Version 1.0.110: lange Dateinamen ===
   Die schnelle Browser-PDF-Vorschau wurde wiederhergestellt.
   Die in 1.0.109 ergänzte kompakte Darstellung langer Dateinamen bleibt erhalten. */
/* Lange Plan-/Dateinamen bleiben auf maximal zwei Zeilen kompakt.
   Der vollständige Name ist weiterhin über den title-Hinweis erreichbar. */
.plan-title .plan-inline-name,
.plan-title > strong,
.plan-global-name{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  overflow-wrap:anywhere;
  max-width:100%;
}
.plan-original-name{
  display:block;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* === Version 1.0.111: Plankategorien als Masonry-Raster ===
   Unterschiedlich hohe Kategorien erzeugen keine großen Leerflächen mehr.
   Weitere Kategorien rücken unter kürzere Karten nach, statt auf die Höhe
   der größten Kategorie derselben Zeile warten zu müssen. */
@media(min-width:701px){
  .plan-board{
    grid-auto-flow:dense;
    grid-auto-rows:8px;
    align-items:start;
  }
  .plan-category{
    align-self:start;
  }
}

/* === Version 1.0.112: Aufgaben mobil als ruhige, kompakte Karten === */
@media (max-width:700px){
  .tasks-card{
    background:transparent;
    border:0;
    box-shadow:none;
  }
  .tasks-table,
  .tasks-table tbody{
    display:block!important;
    width:100%!important;
  }
  .tasks-table tbody{
    display:flex!important;
    flex-direction:column;
    gap:10px;
  }
  .tasks-table tr{
    position:relative;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "title due"
      "text text"
      "priority actions";
    column-gap:12px;
    row-gap:8px;
    width:100%!important;
    padding:14px 14px 14px 54px!important;
    border:1px solid var(--line)!important;
    border-radius:12px;
    background:#fff;
    box-shadow:0 2px 8px rgba(15,31,49,.04);
  }
  .tasks-table tr:last-child{border-bottom:1px solid var(--line)!important}
  .tasks-table td{
    display:block!important;
    width:auto!important;
    min-width:0;
    padding:0!important;
    border:0!important;
  }
  .tasks-table .task-check-cell{
    position:absolute!important;
    left:14px!important;
    top:15px!important;
    width:28px!important;
  }
  .tasks-table td:nth-child(2){
    grid-area:title;
    font-size:16px!important;
    line-height:1.3;
    padding:0!important;
  }
  .tasks-table td:nth-child(2)::before{display:none!important}
  .tasks-table td:nth-child(2) .task-inline-value{
    font-weight:750;
    color:var(--text);
  }
  .tasks-table td:nth-child(3){
    grid-area:text;
    display:block!important;
    padding-top:2px!important;
  }
  .tasks-table td:nth-child(3)::before{display:none!important}
  .tasks-table td:nth-child(3) .task-inline-value{
    color:#607187;
    font-size:14px;
    line-height:1.4;
  }
  .tasks-table td:nth-child(3):has(.task-inline-value[data-value=""]){display:none!important}
  .tasks-table td:nth-child(4){
    grid-area:priority;
    display:flex!important;
    align-items:center;
  }
  .tasks-table td:nth-child(4)::before{display:none!important}
  .tasks-table td:nth-child(4) .task-inline-priority{
    display:inline-flex;
    width:auto;
    align-items:center;
    min-height:28px;
    padding:4px 9px;
    border-radius:999px;
    background:#f1f5f9;
    color:#40556e;
    font-size:13px;
    font-weight:700;
    line-height:1;
  }
  .tasks-table td:nth-child(5){
    grid-area:due;
    position:static!important;
    display:flex!important;
    flex-direction:column;
    align-items:flex-end;
    justify-content:flex-start;
    width:auto!important;
    text-align:right;
  }
  .tasks-table td:nth-child(5)::before{
    content:"Fällig"!important;
    display:block;
    margin-bottom:2px;
    color:#7a899b;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.03em;
  }
  .tasks-table td:nth-child(5) .task-inline-date{
    width:auto;
    font-size:13px;
    font-weight:650;
    white-space:nowrap;
    text-align:right;
  }
  .tasks-table td:nth-child(6){
    grid-area:actions;
    position:static!important;
    display:flex!important;
    justify-content:flex-end;
    align-items:center;
    width:auto!important;
  }
  .task-delete-cell .inline-delete-button{
    width:34px!important;
    height:34px!important;
    border-radius:8px;
  }
  .task-overdue-note{
    margin-top:4px;
    font-size:11px;
  }
  .tasks-table .empty{
    display:block!important;
    padding:22px 16px!important;
    text-align:center;
  }
}
\n\n/* === Version 1.0.114: Aufgabenstatus in der Projektliste klarer === */\n.project-task-cell{\n  white-space:nowrap;\n}\n.project-task-badge{\n  display:inline-flex;\n  align-items:center;\n  gap:7px;\n  min-height:30px;\n  padding:4px 11px 4px 5px;\n  border-radius:999px;\n  font-size:12px;\n  font-weight:750;\n  line-height:1;\n}\n.project-task-badge.open{\n  background:#fff0df;\n  color:#b95700;\n}\n.project-task-badge.done{\n  background:#e4f7eb;\n  color:#087c31;\n  padding-left:10px;\n}\n.project-task-count{\n  display:grid;\n  place-items:center;\n  min-width:22px;\n  height:22px;\n  padding:0 6px;\n  border-radius:999px;\n  background:#ef7d00;\n  color:#fff;\n  font-size:11px;\n  font-weight:800;\n}\n.project-task-check{\n  display:grid;\n  place-items:center;\n  width:18px;\n  height:18px;\n  border-radius:50%;\n  background:#12913d;\n  color:#fff;\n  font-size:11px;\n  font-weight:900;\n}\n.project-task-empty{\n  color:#8a97a8;\n}\n

/* === Version 1.0.115: Offene Aufgaben wie Auftragszähler === */
.project-task-cell{
  white-space:nowrap;
}
.task-countpill.has-open{
  background:#fff0df;
  color:#c65b00;
}
.task-countpill.is-zero{
  background:#edf0f3;
  color:#7a8798;
}


/* === Version 1.0.117: Aufgaben mobil kompakter und klarer === */
@media (max-width:700px){
  /* Kennzahlen: auf dem Handy alle drei kompakt in einer Reihe. */
  .task-stats{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin-bottom:14px!important;
  }
  .task-stats .stat{
    min-width:0;
    padding:10px 10px 9px!important;
    border-radius:10px;
    box-shadow:0 1px 4px rgba(15,31,49,.035);
  }
  .task-stats .stat strong{
    font-size:22px!important;
    line-height:1.05;
    margin-bottom:3px;
  }
  .task-stats .stat span{
    font-size:12px;
    line-height:1.15;
  }

  /* Hinzufügen bleibt gut erreichbar, aber nimmt weniger Höhe ein. */
  .compact-add:has(+ .task-stats){
    margin-bottom:12px;
  }
  .compact-add:has(+ .task-stats) > summary{
    min-height:40px;
    padding:8px 13px;
    border-radius:9px;
  }

  /* Aufgabenkarte: Titel bekommt die volle Breite; Termin kommt in eine eigene Meta-Zeile. */
  .tasks-table tr{
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-areas:
      "title title"
      "text text"
      "priority due"!important;
    column-gap:10px!important;
    row-gap:9px!important;
    padding:14px 14px 13px 52px!important;
    border-radius:12px!important;
  }
  .tasks-table .task-check-cell{
    left:14px!important;
    top:14px!important;
  }
  .task-checkbox span{
    width:25px!important;
    height:25px!important;
    border-radius:7px;
  }

  .tasks-table td:nth-child(2){
    padding-right:40px!important;
    min-height:25px;
  }
  .tasks-table td:nth-child(2) .task-inline-value{
    display:block;
    font-size:16px!important;
    line-height:1.3!important;
    font-weight:750!important;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  .tasks-table td:nth-child(3){
    padding:0 2px 1px 0!important;
  }
  .tasks-table td:nth-child(3) .task-inline-value{
    font-size:13px!important;
    line-height:1.4!important;
    color:#65768a!important;
  }

  .tasks-table td:nth-child(4){
    align-self:end;
  }
  .tasks-table td:nth-child(4) .task-inline-priority{
    min-height:26px!important;
    padding:4px 9px!important;
    font-size:12px!important;
  }
  .tasks-table td:nth-child(4) .task-inline-priority[data-value="high"]{
    background:#fff0df;
    color:#b95700;
  }
  .tasks-table td:nth-child(4) .task-inline-priority[data-value="normal"]{
    background:#eaf3ff;
    color:#1469be;
  }
  .tasks-table td:nth-child(4) .task-inline-priority[data-value="low"]{
    background:#e8f6ec;
    color:#18713a;
  }

  .tasks-table td:nth-child(5){
    align-self:end;
    min-width:0!important;
  }
  .tasks-table td:nth-child(5)::before{
    margin-bottom:3px!important;
    font-size:9px!important;
    letter-spacing:.06em!important;
  }
  .tasks-table td:nth-child(5) .task-inline-date{
    max-width:100%;
    font-size:12px!important;
    line-height:1.25!important;
    white-space:normal!important;
    text-align:right!important;
  }

  /* Löschen sitzt oben rechts und blockiert keine eigene Zeile. */
  .tasks-table td:nth-child(6){
    position:absolute!important;
    right:10px!important;
    top:10px!important;
    width:auto!important;
  }
  .task-delete-cell .inline-delete-button{
    width:34px!important;
    height:34px!important;
    border-radius:9px!important;
    background:#fff!important;
  }

  /* Überfällige Aufgaben dezent, aber sofort erkennbar. */
  .tasks-table tr:has(td:nth-child(5).danger){
    border-left:3px solid #d94545!important;
    padding-left:49px!important;
  }
  .tasks-table tr:has(td:nth-child(5).danger) .task-overdue-note{
    display:inline-block;
    margin-top:5px;
    padding:2px 7px;
    border-radius:999px;
    background:#fdeaea;
    font-size:10px;
    line-height:1.4;
  }

  /* Erledigte Aufgaben optisch zurücknehmen, ohne unleserlich zu werden. */
  .tasks-table tr.task-done{
    background:#fbfcfd!important;
  }
  .tasks-table tr.task-done td:not(:first-child):not(:last-child){
    opacity:.7!important;
  }
}

/* === Version 1.0.118: kompakte Mail-Spalte im Protokoll === */
.protocol-table th:nth-child(5){width:132px}
.protocol-mail-cell{min-width:112px;width:132px}
.protocol-mail-tools{
  display:flex;
  align-items:flex-start;
  gap:7px;
  flex-wrap:wrap;
}
.protocol-mail-dropzone{
  width:38px;
  height:34px;
  min-height:34px;
  padding:0;
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1px;
  border:1px dashed #a9bfd6;
  border-radius:7px;
  background:#fbfdff;
  color:#58708a;
  cursor:pointer;
  line-height:1;
  flex:0 0 auto;
}
.protocol-mail-dropzone:hover{
  border-color:var(--blue);
  background:#edf6ff;
  color:var(--blue);
}
.protocol-mail-dropzone .mail-add-icon{font-size:13px;font-weight:800;line-height:1}
.protocol-mail-dropzone .mail-envelope{font-size:14px;line-height:1}
.protocol-mails{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  gap:6px;
  margin:0;
}
.protocol-mails a.mail-file-link{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:38px;
  height:34px;
  padding:0;
  border:1px solid #c8dff7;
  border-radius:7px;
  background:#edf5ff;
  color:var(--blue);
  font-size:16px;
  text-decoration:none;
  flex:0 0 auto;
}
.protocol-mails a.mail-file-link:hover{
  background:#dfeeff;
  border-color:#a9cbed;
}
.protocol-mail-empty{color:var(--muted)}
.protocol-row-drop.drag-mail .protocol-mail-dropzone{
  border-color:var(--blue);
  background:#dceeff;
  color:var(--blue);
}
@media(max-width:700px){
  .protocol-mail-cell{width:auto;min-width:0}
  .protocol-mail-dropzone{display:none!important}
  .protocol-mails{margin-top:0}
}

/* === Version 1.0.119: Mail-Betreff auf Mobilgeräten === */
.protocol-mails-mobile{display:none}
@media(max-width:700px){
  .protocol-mails-desktop{display:none!important}
  .protocol-mails-mobile{
    display:block;
    position:relative;
    margin:0;
  }
  .protocol-mails-mobile>summary{
    list-style:none;
    position:relative;
    width:42px;
    height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #c8dff7;
    border-radius:8px;
    background:#edf5ff;
    color:var(--blue);
    cursor:pointer;
    user-select:none;
    -webkit-tap-highlight-color:transparent;
  }
  .protocol-mails-mobile>summary::-webkit-details-marker{display:none}
  .protocol-mails-mobile>summary::marker{display:none;content:""}
  .mobile-mail-summary-icon{font-size:17px;line-height:1}
  .mobile-mail-count{
    position:absolute;
    right:-7px;
    top:-7px;
    min-width:19px;
    height:19px;
    padding:0 5px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--blue);
    color:#fff;
    border:2px solid #fff;
    font-size:10px;
    font-weight:800;
    line-height:1;
  }
  body:has(.protocol-mails-mobile[open])::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:190;
    background:rgba(15,31,49,.42);
  }
  .protocol-mails-mobile[open] .mobile-mail-popover{
    display:block;
  }
  .mobile-mail-popover{
    display:none;
    position:fixed;
    z-index:200;
    left:14px;
    right:14px;
    bottom:max(14px, env(safe-area-inset-bottom));
    max-height:min(62vh,520px);
    overflow:auto;
    background:#fff;
    border:1px solid #d9e3ee;
    border-radius:15px;
    box-shadow:0 20px 65px rgba(15,31,49,.28);
    padding:8px;
  }
  .mobile-mail-popover-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:7px 8px 10px 10px;
    border-bottom:1px solid #e6edf4;
  }
  .mobile-mail-popover-head strong{
    font-size:16px;
    color:var(--text);
  }
  .mobile-mail-close{
    width:34px;
    height:34px;
    border:0;
    border-radius:9px;
    background:#f2f5f8;
    color:#526579;
    font-size:24px;
    line-height:1;
    cursor:pointer;
  }
  .mobile-mail-list{
    display:flex;
    flex-direction:column;
    gap:6px;
    padding-top:8px;
  }
  .mobile-mail-list a{
    display:grid;
    grid-template-columns:32px minmax(0,1fr) 18px;
    align-items:center;
    gap:9px;
    min-width:0;
    padding:11px 10px;
    border:1px solid #dbe7f3;
    border-radius:10px;
    background:#f8fbff;
    color:var(--text);
    text-decoration:none;
  }
  .mobile-mail-list-icon{
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    background:#e8f3ff;
    color:var(--blue);
    font-size:16px;
  }
  .mobile-mail-subject{
    min-width:0;
    font-size:13px;
    font-weight:650;
    line-height:1.35;
    overflow-wrap:anywhere;
  }
  .mobile-mail-chevron{
    color:#8a9bad;
    font-size:22px;
    line-height:1;
  }
}


/* === Version 1.0.120: Mobile Mail-Betreffliste nicht mehr durch Tabelle abgeschnitten === */
@media(max-width:700px){
  /* Das Sheet wird per JS direkt an <body> verschoben. So kann ein scrollbarer
     Tabellen-Container es auf iPhone/iPad nicht mehr beschneiden. */
  .mobile-mail-popover.mobile-mail-portal{
    display:block!important;
    position:fixed!important;
    z-index:1001!important;
    left:14px!important;
    right:14px!important;
    bottom:max(14px, env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(68dvh,560px)!important;
    overflow:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  body.mobile-mail-open::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:1000;
    background:rgba(15,31,49,.42);
  }
  body.mobile-mail-open{overflow:hidden}
}

/* === Version 1.0.121: kompakte Mail-Anzeige + wichtige Protokolleinträge === */
.protocol-table th:nth-child(5){width:118px}
.protocol-mail-cell{width:118px;min-width:102px}
.protocol-mails-menu{
  display:inline-block;
  position:relative;
  margin:0;
  flex:0 0 auto;
}
.protocol-mails-menu>summary{
  list-style:none;
  min-width:48px;
  height:34px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid #c8dff7;
  border-radius:7px;
  background:#edf5ff;
  color:var(--blue);
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.protocol-mails-menu>summary::-webkit-details-marker{display:none}
.protocol-mails-menu>summary::marker{display:none;content:""}
.protocol-mails-menu>summary:hover{background:#dfeeff;border-color:#a9cbed}
.protocol-mail-summary-icon{font-size:15px;line-height:1}
.protocol-mail-count{font-size:12px;font-weight:800;line-height:1}
.protocol-mail-popover{display:none}
.protocol-mail-popover.protocol-mail-portal{
  display:block!important;
  position:fixed!important;
  z-index:1201!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:max(18px, env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;
  width:min(720px,calc(100vw - 36px))!important;
  max-height:min(68dvh,620px)!important;
  overflow:auto!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  background:#fff;
  border:1px solid #d9e3ee;
  border-radius:16px;
  box-shadow:0 22px 70px rgba(15,31,49,.30);
  padding:8px;
}
.protocol-mail-popover-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 8px 11px 10px;
  border-bottom:1px solid #e6edf4;
}
.protocol-mail-popover-head strong{font-size:16px;color:var(--text)}
.protocol-mail-close{
  width:34px;height:34px;border:0;border-radius:9px;background:#f2f5f8;
  color:#526579;font-size:24px;line-height:1;cursor:pointer;
}
.protocol-mail-list{display:flex;flex-direction:column;gap:6px;padding-top:8px}
.protocol-mail-list a{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 18px;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:11px 10px;
  border:1px solid #dbe7f3;
  border-radius:10px;
  background:#f8fbff;
  color:var(--text);
  text-decoration:none;
}
.protocol-mail-list a:hover{background:#edf6ff;border-color:#bfd8ef}
.protocol-mail-list-icon{
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  border-radius:8px;background:#e8f3ff;color:var(--blue);font-size:16px;
}
.protocol-mail-subject{min-width:0;font-size:13px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
.protocol-mail-chevron{color:#8a9bad;font-size:22px;line-height:1}
body.protocol-mail-open::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:1200;
  background:rgba(15,31,49,.42);
}
body.protocol-mail-open{overflow:hidden}

/* Ein einfacher Klick auf eine nicht-interaktive Stelle der Zeile markiert sie als wichtig. */
.protocol-row-clickable{cursor:pointer}
.protocol-row-clickable [data-log-inline],
.protocol-row-clickable a,
.protocol-row-clickable button,
.protocol-row-clickable input,
.protocol-row-clickable textarea,
.protocol-row-clickable select,
.protocol-row-clickable label,
.protocol-row-clickable summary{cursor:auto}
.protocol-row-important>td{background:#fff7e8!important}
.protocol-row-important>td:first-child{box-shadow:inset 4px 0 0 var(--orange)}
.protocol-row-important:hover>td{background:#fff1d8!important}
.protocol-row-highlight-saving{opacity:.72}

@media(max-width:700px){
  .protocol-mail-cell{width:auto;min-width:0}
  .protocol-mail-tools{align-items:center}
  .protocol-mails-menu>summary{height:36px;min-width:50px;border-radius:8px}
  .protocol-mail-popover.protocol-mail-portal{
    left:14px!important;
    right:14px!important;
    top:auto!important;
    bottom:max(14px, env(safe-area-inset-bottom))!important;
    transform:none!important;
    width:auto!important;
    max-height:min(68dvh,560px)!important;
    border-radius:15px!important;
  }
}

/* === Version 1.0.122: Mail-Vorschau auf Desktop wie mobil + robuste Anhangsvorschau === */
.mail-attachment-view-page{max-width:1180px;margin:0 auto}
.mail-attachment-view-card{padding:0;overflow:hidden}
.mail-attachment-view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:#f8fafc}
.mail-attachment-view-head h1{margin:6px 0 4px;font-size:22px;line-height:1.25;overflow-wrap:anywhere}
.mail-attachment-view-head p{margin:0;color:var(--muted)}
.mail-attachment-frame-wrap{height:min(74vh,900px);min-height:520px;background:#eef2f6}
.mail-attachment-frame{display:block;width:100%;height:100%;border:0;background:#fff}
.mail-attachment-image-wrap{display:flex;align-items:center;justify-content:center;min-height:320px;padding:18px;background:#eef2f6}
.mail-attachment-image-wrap img{display:block;max-width:100%;max-height:76vh;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px rgba(15,31,49,.12)}
.mail-attachment-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:300px;padding:28px;text-align:center;color:var(--muted)}
.mail-attachment-empty strong{color:var(--text);font-size:18px}
@media(max-width:700px){
  .mail-attachment-view-head{padding:14px}
  .mail-attachment-view-head h1{font-size:18px}
  .mail-attachment-frame-wrap{height:68dvh;min-height:420px}
  .mail-attachment-image-wrap{padding:10px;min-height:240px}
}

/* === Version 1.0.125: Benutzerverwaltung mobil optimiert === */
@media(max-width:700px){
  .users-table{min-width:0!important}
  .users-table thead{display:none}
  .users-table,.users-table tbody,.users-table tr,.users-table td{display:block;width:100%}
  .users-table tr{
    position:relative;
    margin:0;
    padding:16px 16px 14px;
    border-bottom:1px solid var(--line);
    background:#fff;
  }
  .users-table tr:last-child{border-bottom:0}
  .users-table td{
    border:0;
    min-width:0;
    padding:0;
    overflow-wrap:anywhere;
  }
  .users-table td:before{content:none!important}

  /* Name + E-Mail als klarer Kartenkopf */
  .users-table td:nth-child(1){
    padding:0 0 14px;
    border-bottom:1px solid #edf1f5;
  }
  .users-table td:nth-child(1) strong{
    display:block;
    font-size:17px;
    line-height:1.25;
    color:var(--text);
  }
  .users-table td:nth-child(1) small{
    display:block;
    margin-top:4px;
    font-size:13px;
    line-height:1.35;
    color:var(--muted);
    overflow-wrap:anywhere;
  }

  /* Detailzeilen */
  .users-table td:nth-child(2),
  .users-table td:nth-child(3),
  .users-table td:nth-child(4),
  .users-table td:nth-child(5){
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    align-items:center;
    gap:10px;
    padding:10px 0 0;
    white-space:normal;
  }
  .users-table td:nth-child(2):before,
  .users-table td:nth-child(3):before,
  .users-table td:nth-child(4):before,
  .users-table td:nth-child(5):before{
    display:block;
    font-size:12px;
    font-weight:700;
    color:#64748b;
  }
  .users-table td:nth-child(2):before{content:"Kurzzeichen"!important}
  .users-table td:nth-child(3):before{content:"Rolle"!important}
  .users-table td:nth-child(4):before{content:"Ortsnetze"!important}
  .users-table td:nth-child(5):before{content:"Status"!important}
  .users-table td:nth-child(3) .badge,
  .users-table td:nth-child(5) .badge{
    justify-self:start;
  }

  /* Aktionen sauber nebeneinander am Kartenende */
  .users-table td:nth-child(6){
    display:block;
    padding-top:14px;
  }
  .users-table td:nth-child(6):before{content:none!important}
  .users-table .user-row-actions{
    justify-content:flex-start;
    gap:9px;
  }
  .users-table .user-row-actions .btn.small{
    min-height:42px;
    padding:8px 14px;
    font-size:14px;
    white-space:nowrap;
  }
  .users-table .inline-delete-button{
    width:42px;
    height:42px;
    min-width:42px;
  }
}

/* === Version 1.0.127: Benutzer bearbeiten mit sichtbarer Überschrift anspringen === */
#user-edit { scroll-margin-top: 96px; }
@media (max-width: 760px) {
  /* Platz für die feste mobile Kopfzeile + etwas Luft, damit "Benutzer bearbeiten" sichtbar bleibt. */
  #user-edit { scroll-margin-top: 118px; }
}

/* === Version 1.0.128: Dashboard, Favoriten, globale Suche und Aktivitäten === */
.global-search{position:relative;max-width:520px;flex:1;margin:0 22px}
.global-search .global-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#dbeafe;pointer-events:none}
.global-search input{width:100%;padding-left:38px;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24);color:#fff}
.global-search input::placeholder{color:rgba(255,255,255,.76)}
.projects-pagehead p{max-width:760px}
.project-filterbar{align-items:end}
.project-favorite-filter.is-active{background:#fff7e6;border-color:#f3ba54;color:#9a5c00}
.favorite-col{width:72px;text-align:center}
.favorite-form{display:inline-flex;margin:0}
.favorite-star{border:0;background:transparent;color:#b9c6d5;font-size:25px;line-height:1;cursor:pointer;padding:6px;transition:.16s ease;filter:grayscale(.2)}
.favorite-star:hover{transform:scale(1.1);color:#f4a400}
.favorite-star.is-favorite{color:#f4a400}
.favorite-star:disabled{opacity:.55;cursor:wait}
.projects-modern-table table{min-width:1000px}
.projects-modern-table th{font-size:13px}
.projects-modern-table td{vertical-align:middle}
.projects-modern-table .stronglink{font-size:15px}
.project-task-ratio{font-weight:750;color:#1267c5}
.project-task-ratio.has-overdue{color:#d43d32}
.project-overdue-mini{display:block;color:#d43d32;font-size:11px;margin-top:3px;font-weight:700}
.countplain{font-weight:750;color:#34485f}
.last-activity{white-space:nowrap;color:#51667f;font-size:13px}
.project-title-with-star{display:flex;align-items:flex-start;gap:10px}
.project-title-favorite{margin-top:5px}
.project-title-actions{display:flex;gap:8px;align-items:center}
.btn.icon-only{min-width:44px;padding-left:10px;padding-right:10px}
.project-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0 14px}
.project-kpi-card{display:flex;gap:11px;align-items:center;min-width:0;padding:14px 15px;border:1px solid #dce7f2;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(32,74,115,.045);color:#192d42;text-decoration:none;transition:.15s ease}
.project-kpi-card:hover{border-color:#aacff1;transform:translateY(-1px);box-shadow:0 8px 24px rgba(32,74,115,.08)}
.project-kpi-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#edf6ff;color:#0874d8;font-weight:900;font-size:18px;flex:none}
.project-kpi-card.attention .project-kpi-icon{background:#fff0ec;color:#df3e32}
.project-kpi-card>div{min-width:0;display:grid;gap:2px}
.project-kpi-card strong{font-size:12px;color:#213750}
.project-kpi-card b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-kpi-card small{font-size:11px;color:#71849a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-kpi-card.attention small{color:#d43d32;font-weight:700}
.project-note-bar{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid #f2d99b;background:#fff8e8;border-radius:10px;margin:0 0 14px;color:#6f4c0d}
.project-note-pin{color:#e28a00;font-size:18px}
.project-note-bar>div:nth-child(2){flex:1;min-width:0}
.project-note-edit{position:relative;margin-left:auto}
.project-note-edit>summary{list-style:none;cursor:pointer}
.project-note-edit>summary::-webkit-details-marker{display:none}
.project-note-edit form{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:min(440px,80vw);padding:12px;background:white;border:1px solid #d7e2ed;border-radius:10px;box-shadow:0 12px 32px rgba(20,49,79,.16)}
.project-note-edit textarea{width:100%;margin-bottom:8px}
.protocol-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.protocol-task-link{display:inline-flex;align-items:center;gap:5px;border:1px solid #c7d9ea;border-radius:8px;padding:7px 9px;text-decoration:none;color:#1769b8;background:#fff;font-size:12px;font-weight:750;white-space:nowrap;cursor:pointer}
.protocol-task-link:hover{background:#edf6ff}
.task-source-hint{margin:8px 0 0;color:#1769b8;background:#eef7ff;border-radius:8px;padding:8px 10px;font-size:13px}
.activity-head{display:flex;align-items:end;justify-content:space-between;margin:6px 0 12px}
.activity-head h2{margin:0 0 2px}
.activity-count{font-size:13px;color:#60758d}
.activity-list{padding:0;overflow:hidden}
.activity-item{display:flex;gap:13px;padding:15px 18px;border-bottom:1px solid #edf1f5}
.activity-item:last-child{border-bottom:0}
.activity-dot{width:10px;height:10px;border-radius:50%;background:#0b78db;margin-top:5px;box-shadow:0 0 0 4px #e6f2fd;flex:none}
.activity-body{flex:1;min-width:0}
.activity-title{display:flex;justify-content:space-between;gap:16px}
.activity-title time{color:#7b8da0;font-size:12px;white-space:nowrap}
.activity-meta{color:#64778d;font-size:13px;margin-top:3px}
.global-search-page{display:flex;align-items:center;gap:10px;padding:12px;margin-bottom:18px}
.global-search-page-icon{font-size:22px;color:#6b8198}
.global-search-page input{flex:1;border:0;background:transparent;font-size:18px;outline:0;min-width:0}
.search-empty{display:grid;gap:5px;padding:32px;text-align:center;color:#61758b}
.search-empty strong{color:#1c3045;font-size:18px}
.search-results{display:grid;gap:10px}
.search-result-count{color:#63778d;font-size:13px;margin:0 2px 2px}
.search-result-card{display:grid;grid-template-columns:minmax(220px,1fr) auto 24px;gap:16px;align-items:center;text-decoration:none;color:inherit;padding:15px 17px}
.search-result-card:hover{border-color:#a9cdee;box-shadow:0 8px 24px rgba(32,74,115,.08)}
.search-result-main{display:grid;gap:3px;min-width:0}
.search-result-main strong{color:#0d65b7;font-size:16px}
.search-result-main span{color:#6f8297;font-size:13px}
.search-result-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
.search-result-tags span{background:#edf5fd;color:#1769b8;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}
.search-result-arrow{font-size:24px;color:#7b8da0}

@media (max-width:1200px){
  .project-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .global-search{display:none}
  .projects-modern-table{overflow:visible}
  .projects-modern-table table,.projects-modern-table tbody{display:block;min-width:0}
  .projects-modern-table thead{display:none}
  .projects-modern-table tr{display:grid;grid-template-columns:34px 1fr auto;gap:7px 10px;padding:14px 12px;border-bottom:1px solid #e3ebf3}
  .projects-modern-table td{padding:0!important;border:0!important;display:block!important}
  .projects-modern-table td.favorite-col{grid-column:1;grid-row:1 / span 3;align-self:start;width:auto;text-align:left}
  .projects-modern-table td:nth-child(2){grid-column:2;grid-row:1}
  .projects-modern-table td:nth-child(3){grid-column:2;grid-row:2;color:#71849a;font-size:13px}
  .projects-modern-table td:nth-child(4){grid-column:3;grid-row:1}
  .projects-modern-table td:nth-child(5){grid-column:3;grid-row:2;text-align:right}
  .projects-modern-table td:nth-child(6),.projects-modern-table td:nth-child(7){display:none!important}
  .projects-modern-table td:nth-child(8){grid-column:2;grid-row:3;font-size:12px}
  .projects-modern-table td:nth-child(9){grid-column:3;grid-row:3;text-align:right}
  .projects-modern-table .favorite-star{font-size:21px;padding:2px}
  .projects-modern-table .badge{font-size:11px;padding:4px 7px}
  .project-overdue-mini{font-size:10px}
  .project-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}
  .project-kpi-card{padding:12px 11px;align-items:flex-start}
  .project-kpi-icon{width:31px;height:31px;font-size:16px}
  .project-kpi-card b{font-size:13px}
  .project-title-with-star{gap:5px}
  .project-title-favorite{margin-top:2px}
  .project-title-favorite .favorite-star{font-size:22px}
  .project-title-actions .btn.icon-only{display:none}
  .project-note-bar{align-items:flex-start;flex-wrap:wrap}
  .project-note-edit{width:100%;margin-left:28px}
  .project-note-edit form{position:fixed;left:16px;right:16px;bottom:18px;top:auto;width:auto;z-index:200}
  .protocol-task-link span{display:none}
  .protocol-task-link{width:38px;height:38px;padding:0;justify-content:center}
  .search-result-card{grid-template-columns:1fr 18px;padding:13px}
  .search-result-tags{grid-column:1;justify-content:flex-start}
  .search-result-arrow{grid-column:2;grid-row:1 / span 2}
  .global-search-page input{font-size:16px}
}
.global-list-table td small{display:block;color:#71849a;margin-top:3px;max-width:520px}
.global-plan-grid{display:grid;gap:10px}
.global-plan-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 15px}
.global-plan-icon{width:42px;height:42px;border-radius:9px;display:grid;place-items:center;background:#fff0ed;color:#d94233;font-weight:900;font-size:11px}
.global-plan-card>div:nth-child(2){display:grid;gap:3px;min-width:0}
.global-plan-card>div:nth-child(2)>span,.global-plan-card small{color:#6c8096;font-size:12px}
@media(max-width:760px){.global-plan-card{grid-template-columns:42px minmax(0,1fr)}.global-plan-card>.btn{grid-column:2;justify-self:start}.global-list-table table{min-width:720px}}

/* Version 1.0.130: Favorit wird kurz als speichernd markiert, bleibt danach sofort bedienbar. */
.favorite-star.is-saving{opacity:.6;transform:scale(.94)}

/* Version 1.0.131: Favoriten bleiben nach jedem AJAX-Wechsel sofort klickbar. */
.favorite-star{-webkit-tap-highlight-color:transparent;touch-action:manipulation}

/* Version 1.0.132: Favoriten bleiben während des Speicherns klickbar. */
.favorite-star.is-saving{pointer-events:auto;cursor:pointer}

/* === Version 1.0.136: Hand-Cursor für „Als Aufgabe“ im Protokoll ===
   Die allgemeinere Regel .protocol-row-clickable a { cursor:auto } hatte
   den Cursor der Schaltfläche wegen höherer CSS-Spezifität überschrieben. */
.protocol-row-clickable .protocol-task-link,
.protocol-row-clickable .protocol-task-link:hover {
  cursor: pointer;
}


/* === Version 1.0.137: schlankeres Desktop-Hauptmenü === */
.sidebar{
  width:230px;
  padding:12px 10px 12px;
  overflow:auto;
}
.sidebar-nav{
  gap:6px;
}
.nav-item{
  min-height:46px;
  padding:10px 12px !important;
  border-radius:13px !important;
  gap:10px;
  font-size:14px !important;
}
.nav-ico{
  width:24px;
  flex:0 0 24px;
  font-size:18px;
}
.nav-label{
  font-size:14px;
}
.nav-arrow{
  font-size:20px;
}
.sidebar-bottom{
  padding-top:12px;
}
.sidebar-version{
  margin-top:12px;
  gap:10px;
  padding:8px 6px 0;
}
.sidebar-version-icon{
  width:30px;
  height:30px;
  border-radius:9px;
  font-size:16px;
}
.sidebar-version strong{
  font-size:13px;
}
.sidebar-version small{
  font-size:11px;
  margin-top:1px;
}
.content{
  margin-left:230px;
}
@media (min-width:701px) and (max-width:1200px){
  .sidebar{
    width:210px;
  }
  .content{
    margin-left:210px;
  }
  .nav-item{
    min-height:44px;
    padding:9px 11px !important;
    font-size:13px !important;
  }
  .nav-label{
    font-size:13px;
  }
  .nav-arrow{
    font-size:18px;
  }
}

/* === Version 1.0.140: mobile Layout nach schlanker Desktop-Sidebar korrigieren ===
   Die Desktop-Regeln aus 1.0.137 standen nach den Mobile-Regeln und
   überschrieben auf Smartphones u.a. margin-left der Inhaltsfläche. */
@media (max-width:700px){
  .sidebar{
    width:min(320px,88vw) !important;
    max-width:88vw !important;
    padding:14px 12px 18px !important;
    overflow:auto !important;
  }
  .content{
    margin-left:0 !important;
    width:100% !important;
    max-width:100% !important;
    padding:82px 12px 34px !important;
  }
  .nav-item{
    min-height:54px !important;
    padding:12px 14px !important;
    border-radius:15px !important;
    font-size:15px !important;
    gap:12px !important;
  }
  .nav-label{font-size:15px !important;}
  .nav-ico{width:28px !important;flex:0 0 28px !important;}
  .nav-arrow{font-size:24px !important;}
}


/* === Version 1.0.141: Suche am Desktop nur in der Kopfzeile, mobil als aufklappbare Suche === */
.mobile-search-toggle,
.mobile-search-panel{
  display:none;
}

@media (max-width:700px){
  .mobile-search-toggle{
    display:inline-flex;
    width:42px;
    height:42px;
    flex:0 0 42px;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:12px;
    background:rgba(255,255,255,.08);
    color:#fff;
    padding:0;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-search-toggle svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-search-toggle:active,
  body.mobile-search-open .mobile-search-toggle{
    background:rgba(255,255,255,.18);
  }
  .mobile-search-panel{
    display:block;
    position:fixed;
    z-index:88;
    top:64px;
    left:0;
    right:0;
    padding:10px 12px 12px;
    background:#fff;
    border-bottom:1px solid #dbe5ef;
    box-shadow:0 12px 28px rgba(18,44,72,.16);
    transform:translateY(calc(-100% - 10px));
    opacity:0;
    pointer-events:none;
    transition:transform .18s ease, opacity .18s ease;
  }
  body.mobile-search-open .mobile-search-panel{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  .mobile-global-search{
    display:flex;
    align-items:center;
    gap:8px;
    position:relative;
  }
  .mobile-global-search input[type="search"]{
    min-width:0;
    flex:1;
    height:46px;
    padding:10px 44px 10px 42px;
    border:1px solid #c9d7e6;
    border-radius:13px;
    background:#f8fbff;
    font-size:16px;
    -webkit-appearance:none;
  }
  .mobile-global-search input[type="search"]::-webkit-search-cancel-button{
    display:none;
  }
  .mobile-global-search-icon{
    position:absolute;
    z-index:2;
    left:13px;
    top:50%;
    width:20px;
    height:20px;
    transform:translateY(-50%);
    color:#56708d;
    pointer-events:none;
  }
  .mobile-global-search-icon svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
  }
  .mobile-search-close{
    position:absolute;
    right:7px;
    top:50%;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#526a83;
    font-size:27px;
    line-height:1;
    cursor:pointer;
  }
  .mobile-search-suggestions{
    position:absolute;
    left:0;
    right:0;
    top:54px;
    max-height:min(58vh,440px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    background:#fff;
    border:1px solid #d8e3ef;
    border-radius:14px;
    box-shadow:0 16px 36px rgba(18,44,72,.2);
    z-index:5;
  }
  .mobile-search-suggestions[hidden]{display:none!important}
  .mobile-search-suggestion{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:64px;
    padding:10px 12px;
    color:var(--text);
    border-bottom:1px solid #edf2f7;
    background:#fff;
  }
  .mobile-search-suggestion:last-child{border-bottom:0}
  .mobile-search-suggestion:active{background:#f1f7ff}
  .mobile-search-suggestion-main{min-width:0;display:flex;flex-direction:column;gap:3px}
  .mobile-search-suggestion-main strong{font-size:15px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-search-suggestion-main small{font-size:12px;line-height:1.3;color:#60738a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-search-suggestion-right{display:flex;align-items:center;gap:7px;flex:0 0 auto}
  .mobile-search-suggestion-tag{padding:4px 7px;border-radius:999px;background:#eaf3ff;color:#0b67c7;font-size:11px;font-weight:700}
  .mobile-search-suggestion-arrow{font-size:24px;color:#7c8da1;line-height:1}
  .mobile-search-suggestion-empty{padding:16px;text-align:center;color:#64748b;font-size:14px}
  body.mobile-search-open .content{
    padding-top:144px;
  }
}

@media (max-width:430px){
  .topbar{
    gap:8px;
  }
  .brand{
    font-size:15px;
  }
  .brand-icon{
    width:23px;
    height:23px;
  }
  .mobile-menu-toggle,
  .mobile-search-toggle{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
  .avatar{
    width:36px;
    height:36px;
  }
}


/* === Version 1.0.145: Projektliste weiter vereinfacht === */
.projects-modern-table table{min-width:930px}
.project-filterbar{gap:12px}
@media (max-width:760px){
  .projects-modern-table td:nth-child(8){grid-column:2 / 4;grid-row:3;font-size:12px}
  .projects-modern-table td:nth-child(9){display:none!important}
}


/* === Version 1.0.148: präzisere globale Suche === */
.search-result-main .search-result-match{
  display:block;
  margin-top:3px;
  color:#435b73;
  font-size:12px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.protocol-row[id],
.plan-card[id],
.photo-card[id]{scroll-margin-top:96px;}
.protocol-row:target,
.plan-card:target,
.photo-card:target{
  outline:2px solid #79b8f2;
  outline-offset:2px;
}

/* === Version 1.0.149: Hinzufügen-Formulare in der Übersicht ohne Überlagerung === */
@media (min-width:701px){
  .overview-section-head{
    flex-wrap:wrap;
  }
  .overview-inline-add[open]{
    flex:1 0 100%;
    width:100%;
  }
  .overview-inline-add[open] > summary{
    width:max-content;
    margin-left:auto;
  }
  .overview-inline-form{
    position:static;
    width:100%;
    max-width:none;
    max-height:none;
    overflow:visible;
    margin-top:12px;
    padding:16px;
    border:1px solid #d8e1eb;
    border-radius:10px;
    background:#f8fbff;
    box-shadow:none;
  }
}


/* === Version 1.0.150: mobile Projektliste deutlich ruhiger === */
@media (max-width:760px){
  .projects-pagehead{
    display:block;
    margin-bottom:14px;
  }
  .projects-pagehead p{
    margin:6px 0 12px;
    max-width:unset;
  }
  .projects-pagehead .btn.primary{
    width:100%;
    justify-content:center;
  }

  .project-filterbar{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    padding:14px;
  }
  .project-filterbar > div{
    min-width:0;
  }
  .project-filterbar > div:nth-child(3){
    grid-column:1 / -1;
  }
  .project-filterbar .project-favorite-filter,
  .project-filterbar > .btn{
    width:100%;
    justify-content:center;
    min-height:44px;
  }

  .projects-modern-table{
    overflow:visible;
    border-radius:14px;
  }
  .projects-modern-table table,
  .projects-modern-table tbody{
    display:block;
    min-width:0;
  }
  .projects-modern-table tr{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:8px 10px;
    padding:16px 14px;
    border-bottom:1px solid #e5edf5;
    background:#fff;
  }
  .projects-modern-table tr:last-child{
    border-bottom:0;
  }
  .projects-modern-table td.favorite-col{
    grid-column:1;
    grid-row:1 / span 2;
    align-self:start;
    padding-top:2px !important;
  }
  .projects-modern-table td:nth-child(2){
    grid-column:2;
    grid-row:1;
    min-width:0;
  }
  .projects-modern-table td:nth-child(3){
    grid-column:2;
    grid-row:2;
    color:#6f8196;
    font-size:14px;
  }
  .projects-modern-table td:nth-child(4){
    grid-column:3;
    grid-row:1;
    align-self:start;
    justify-self:end;
  }
  .projects-modern-table td:nth-child(8){
    grid-column:3;
    grid-row:2;
    color:#6f8196;
    font-size:12px;
    text-align:right;
    white-space:nowrap;
  }
  .projects-modern-table td:nth-child(5),
  .projects-modern-table td:nth-child(6),
  .projects-modern-table td:nth-child(7){
    display:flex !important;
    align-items:center;
    gap:6px;
    min-height:30px;
    padding:0 10px !important;
    border:1px solid #e3ebf3 !important;
    border-radius:999px;
    background:#f8fbff;
    color:#27425f;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
  }
  .projects-modern-table td:nth-child(5){
    grid-column:1 / -1;
    grid-row:3;
    width:max-content;
  }
  .projects-modern-table td:nth-child(6){
    grid-column:1 / 3;
    grid-row:4;
    width:max-content;
  }
  .projects-modern-table td:nth-child(7){
    grid-column:3;
    grid-row:4;
    justify-self:end;
    width:max-content;
  }
  .projects-modern-table td:nth-child(5)::before{
    content:'Aufgaben';
    color:#6e8196;
    font-weight:600;
  }
  .projects-modern-table td:nth-child(6)::before{
    content:'Pläne';
    color:#6e8196;
    font-weight:600;
  }
  .projects-modern-table td:nth-child(7)::before{
    content:'Protokolle';
    color:#6e8196;
    font-weight:600;
  }
  .projects-modern-table .stronglink{
    display:block;
    font-size:17px;
    line-height:1.25;
    margin:0;
    word-break:break-word;
  }
  .projects-modern-table .favorite-star{
    font-size:21px;
    padding:0;
  }
  .projects-modern-table .badge{
    font-size:11px;
    padding:5px 9px;
  }
  .project-task-ratio,
  .countplain{
    font-size:12px;
    font-weight:800;
  }
  .project-overdue-mini{
    display:none;
  }
}


/* === Version 1.0.151: Projektliste mobil auf maximal zwei Zeilen verdichtet === */
@media (max-width:760px){
  .projects-modern-table tr{
    display:grid;
    grid-template-columns:28px minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    column-gap:9px;
    row-gap:4px;
    padding:12px 12px;
    min-height:0;
  }

  .projects-modern-table td.favorite-col{
    grid-column:1;
    grid-row:1 / 3;
    align-self:center;
    width:auto;
    padding:0 !important;
  }

  .projects-modern-table td:nth-child(2){
    grid-column:2;
    grid-row:1;
    min-width:0;
    align-self:center;
  }

  .projects-modern-table td:nth-child(3){
    grid-column:2;
    grid-row:2;
    min-width:0;
    align-self:center;
    color:#6f8196;
    font-size:12px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .projects-modern-table td:nth-child(4){
    grid-column:3;
    grid-row:1;
    align-self:center;
    justify-self:end;
    white-space:nowrap;
  }

  .projects-modern-table td:nth-child(8){
    grid-column:3;
    grid-row:2;
    align-self:center;
    justify-self:end;
    color:#71849a;
    font-size:11px;
    line-height:1.2;
    text-align:right;
    white-space:nowrap;
  }

  .projects-modern-table td:nth-child(5),
  .projects-modern-table td:nth-child(6),
  .projects-modern-table td:nth-child(7){
    display:none !important;
  }

  .projects-modern-table .stronglink{
    display:block;
    min-width:0;
    max-width:100%;
    font-size:16px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .projects-modern-table .favorite-star{
    font-size:20px;
    line-height:1;
    padding:0;
  }

  .projects-modern-table .badge{
    font-size:10px;
    line-height:1;
    padding:5px 7px;
  }

  .projects-modern-table .last-activity{
    font-size:11px;
  }
}


/* === Version 1.0.152: Projektliste auf 5 wesentliche Spalten reduziert === */
.projects-modern-table table{min-width:760px}
@media (max-width:760px){
  .projects-modern-table table,
  .projects-modern-table tbody{display:block;min-width:0}
  .projects-modern-table tr{
    display:grid;
    grid-template-columns:32px minmax(0,1fr) auto;
    gap:6px 10px;
    padding:12px 12px;
    align-items:center;
  }
  .projects-modern-table td{padding:0!important;border:0!important;display:block!important}
  .projects-modern-table td.favorite-col{grid-column:1;grid-row:1 / span 2;align-self:center;width:auto;text-align:left}
  .projects-modern-table td:nth-child(2){grid-column:2;grid-row:1;min-width:0}
  .projects-modern-table td:nth-child(3){grid-column:2;grid-row:2;color:#708299;font-size:13px}
  .projects-modern-table td:nth-child(4){grid-column:3;grid-row:1;justify-self:end;align-self:start}
  .projects-modern-table td:nth-child(5){grid-column:3;grid-row:2;justify-self:end;width:auto;min-height:0;padding:0!important;border:0!important;background:transparent;font-size:13px}
  .projects-modern-table td:nth-child(5)::before{content:'Aufgaben ';color:#708299;font-weight:600}
  .projects-modern-table .stronglink{font-size:16px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .projects-modern-table .badge{font-size:10px;padding:4px 7px}
  .projects-modern-table .favorite-star{font-size:20px;padding:0}
  .project-overdue-mini{display:none}
}


/* === Version 1.0.155: Mails je Rechtsakt === */
.legal-mail-row-drop{transition:background .14s ease,box-shadow .14s ease}
.legal-mail-row-drop.drag-mail{background:#fff4e6!important;box-shadow:inset 0 0 0 2px #f0a23a}
.legal-mail-row-drop.uploading-mail{opacity:.65}
.legal-mail-cell{min-width:92px}
.legal-mail-cell .protocol-mail-tools{justify-content:flex-start}
@media(max-width:700px){
  .legal-table td:nth-child(1):before{content:"RCV-Nummer"}
  .legal-table td:nth-child(2):before{content:"Status"}
  .legal-table td:nth-child(3):before{content:"Freigabedatum"}
  .legal-table td:nth-child(4):before{content:"Freigegeben von"}
  .legal-table td:nth-child(5):before{content:"Mails"}
  .legal-table td:nth-child(6):before{content:"Angelegt am"}
  .legal-table td:nth-child(7):before{content:"Angelegt von"}
  .legal-table td:nth-child(8){display:block;position:absolute;right:10px;top:10px;width:auto;padding:0;overflow:visible;z-index:5}
  .legal-table td:nth-child(8):before{display:none}
  .legal-table td:nth-child(6){display:grid;position:static;width:100%;padding:5px 0;overflow-wrap:anywhere;z-index:auto}
  .legal-table td:nth-child(6):before{display:block}
  .legal-mail-cell .protocol-mail-tools{justify-content:flex-start}
}

/* === Version 1.0.157: Protokolleintrag per Zeilenklick bearbeiten === */
.protocol-row-clickable{cursor:pointer}
.protocol-highlight-btn{
  width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #d7e1eb;border-radius:9px;background:#fff;color:#b5c1ce;
  font-size:18px;line-height:1;cursor:pointer;transition:.15s ease;
}
.protocol-highlight-btn.is-active{background:#fff2d6;border-color:#efbd55;color:#e58f00}
.protocol-row-clickable .protocol-highlight-btn{cursor:pointer}
.protocol-edit-modal[hidden]{display:none!important}
.protocol-edit-modal{position:fixed;z-index:1600;inset:0;display:grid;place-items:center;padding:20px}
.protocol-edit-backdrop{position:absolute;inset:0;background:rgba(12,27,43,.48);backdrop-filter:blur(2px)}
.protocol-edit-dialog{position:relative;width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border:1px solid #dbe5ef;border-radius:16px;box-shadow:0 24px 70px rgba(14,35,57,.25);padding:20px}
.protocol-edit-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.protocol-edit-head h3{margin:0;font-size:21px}
.protocol-edit-close{width:38px;height:38px;border:0;border-radius:10px;background:#f2f6fa;color:#40566e;font-size:26px;cursor:pointer}
.protocol-edit-dialog form{display:grid;gap:14px}
.protocol-edit-dialog label{display:block;font-size:12px;font-weight:700;color:#4d5d72;margin:0 0 5px}
.protocol-edit-grid{display:grid;grid-template-columns:180px 1fr;gap:14px}
.protocol-edit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}
body.protocol-edit-open{overflow:hidden}
@media(max-width:700px){
  .protocol-edit-modal{place-items:end stretch;padding:0}
  .protocol-edit-dialog{width:100%;max-height:88vh;border-radius:18px 18px 0 0;padding:18px 16px 20px}
  .protocol-edit-grid{grid-template-columns:1fr}
  .protocol-edit-actions{position:sticky;bottom:0;background:#fff;padding-top:8px}
  .protocol-edit-actions .btn{flex:1}
  .protocol-highlight-btn{width:36px;height:36px}
}


/* === Version 1.0.158: Protokoll-Bearbeitung mobil optimiert; Inline-Editor entfernt === */
.protocol-row-clickable td:nth-child(2),
.protocol-row-clickable .protocol-description{
  cursor:pointer;
}
@media(max-width:700px){
  .protocol-edit-modal{
    inset:0;
    padding:0;
    place-items:end stretch;
    overflow:hidden;
  }
  .protocol-edit-dialog{
    box-sizing:border-box;
    width:auto;
    max-width:none;
    margin:0;
    max-height:92dvh;
    border-radius:20px 20px 0 0;
    padding:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .protocol-edit-head{
    position:sticky;
    top:0;
    z-index:2;
    margin:0;
    padding:16px 16px 12px;
    background:#fff;
    border-bottom:1px solid #edf1f5;
  }
  .protocol-edit-head h3{
    min-width:0;
    font-size:22px;
    line-height:1.2;
    overflow-wrap:anywhere;
  }
  .protocol-edit-close{
    flex:0 0 38px;
    width:38px;
    height:38px;
  }
  .protocol-edit-dialog form{
    min-width:0;
    padding:14px 16px calc(16px + env(safe-area-inset-bottom));
    gap:12px;
  }
  .protocol-edit-dialog input,
  .protocol-edit-dialog textarea,
  .protocol-edit-dialog select{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
    font-size:16px;
  }
  .protocol-edit-dialog textarea{
    min-height:150px;
    resize:vertical;
  }
  .protocol-edit-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    min-width:0;
  }
  .protocol-edit-actions{
    position:sticky;
    bottom:0;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:2px -16px -16px;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));
    background:#fff;
    border-top:1px solid #edf1f5;
  }
  .protocol-edit-actions .btn{
    min-width:0;
    width:100%;
    min-height:46px;
    padding:9px 10px;
    white-space:normal;
    line-height:1.2;
    font-size:14px;
  }
}
@media(max-width:430px){
  .protocol-edit-head h3{font-size:20px}
  .protocol-edit-actions{grid-template-columns:1fr}
  .protocol-edit-actions .btn.primary{grid-row:1}
  .protocol-edit-actions .btn:not(.primary){grid-row:2}
}

/* === Version 1.0.159: Protokoll-Stern zuverlässig an/aus === */
.protocol-highlight-btn.is-saving{opacity:.72}


/* === Version 1.0.160: Stern-Markierung auf Touchgeräten sofort korrekt === */
@media (hover:hover) and (pointer:fine){
  .protocol-highlight-btn:hover{
    background:#fff8e8;
    border-color:#f3c76f;
    color:#e99a00;
  }
}
@media (hover:none), (pointer:coarse){
  .protocol-highlight-btn:not(.is-active):hover,
  .protocol-highlight-btn:not(.is-active):focus,
  .protocol-highlight-btn:not(.is-active):active{
    background:#fff;
    border-color:#cad5e2;
    color:#7890a8;
  }
}


/* === Version 1.0.161: Autocomplete beim Bearbeiten von Protokolleinträgen === */
.protocol-edit-participants .autocomplete-menu{z-index:1705}
.protocol-edit-dialog:has(.protocol-edit-participants .autocomplete-menu:not([hidden])){overflow:visible}
@media(max-width:600px){
  .protocol-edit-participants .autocomplete-menu{max-height:190px}
}


/* === Version 1.0.163: Kontaktbearbeitung wie Protokoll === */
.contacts-table tr[data-contact-edit-row]{cursor:pointer}
.contacts-table tr[data-contact-edit-row]:hover td{background:#f7fbff}
.contact-edit-actions{display:flex;align-items:center;gap:10px;margin-top:4px}
.contact-edit-actions-spacer{flex:1}
body.contact-edit-open{overflow:hidden}
@media (max-width:760px){
  .contacts-table tr[data-contact-edit-row]{cursor:default}
  .contact-edit-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;position:sticky;bottom:0;background:#fff;padding-top:8px}
  .contact-edit-actions-spacer{display:none}
  .contact-edit-actions .dangerbtn{grid-column:1 / -1;grid-row:2}
  .contact-edit-actions .btn:not(.dangerbtn){width:100%}
}
@media (max-width:430px){
  .contact-edit-actions{grid-template-columns:1fr}
  .contact-edit-actions .btn.primary{grid-row:1}
  .contact-edit-actions .btn:not(.primary):not(.dangerbtn){grid-row:2}
  .contact-edit-actions .dangerbtn{grid-column:1;grid-row:3}
}

/* === Version 1.0.164: etwas größere, besser lesbare Schrift === */
body{
  font-size:15px;
}

/* Tabellen und allgemeine Oberflächen */
th{
  font-size:13px;
}
.badge{
  font-size:13px;
}
.filterbar label,
.form-card label,
details form label{
  font-size:13px;
}
.btn{
  font-size:15px;
}
.btn.small{
  font-size:13px;
}
.tabs a{
  font-size:15px;
}
.tabs b{
  font-size:12px;
}
.minirow small,
td small,
.stronglink + small{
  font-size:13px;
}

/* Hauptmenü etwas besser lesbar, ohne es wieder unnötig groß zu machen */
.nav-item,
.nav-label{
  font-size:15px !important;
}
.sidebar-version strong{
  font-size:14px;
}
.sidebar-version small{
  font-size:12px;
}

/* Eingabefelder */
input,
select,
textarea{
  font-size:15px;
}

@media (max-width:700px){
  body{
    font-size:16px;
  }
  .pagehead h1,
  .project-head h1{
    font-size:28px;
    line-height:1.15;
  }
  .pagehead p,
  .muted,
  .meta{
    font-size:14px;
  }
  input,
  select,
  textarea{
    font-size:16px;
  }
  .btn{
    font-size:15px;
  }
  .btn.small{
    font-size:14px;
  }
  .tabs a{
    font-size:15px;
  }
  .badge{
    font-size:12px;
  }
  .projects-modern-table .stronglink{
    font-size:18px;
  }
  .projects-modern-table td:nth-child(3){
    font-size:14px;
  }
  .projects-modern-table td:nth-child(5),
  .projects-modern-table td:nth-child(6),
  .projects-modern-table td:nth-child(7){
    font-size:13px;
  }
  .project-task-ratio,
  .countplain{
    font-size:13px;
  }
}


/* === Version 1.0.166: zentrale Aufgabenverwaltung === */
.global-tasks-head{align-items:center}
.task-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,180px));gap:12px;margin-bottom:14px}
.task-summary-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 16px;box-shadow:var(--shadow)}
.task-summary-card strong{font-size:22px;color:var(--blue);margin-right:7px}.task-summary-card span{color:var(--muted);font-weight:650}
.global-task-filter{display:flex;align-items:end;max-width:320px;margin-bottom:14px;padding:12px 14px}.global-task-filter label{width:100%;font-size:12px;font-weight:700;color:#4d5d72}.global-task-filter select{margin-top:5px}
.global-tasks-table tr[data-project-href]{cursor:pointer}.global-tasks-table td small{display:block;color:var(--muted);margin-top:3px}.global-personal-task{background:#fbfdff}.global-task-open-arrow{font-size:25px;color:#7b8da0}
.global-task-sheet[hidden]{display:none!important}.global-task-sheet{position:fixed;inset:0;z-index:250;background:rgba(10,23,38,.48);display:flex;align-items:flex-end;justify-content:center;padding:20px}.global-task-sheet .sheet-panel{width:min(650px,100%);background:#fff;border-radius:16px 16px 12px 12px;box-shadow:0 22px 70px #081a2d55;padding:0;max-height:90vh;overflow:auto}.global-task-sheet .sheet-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px;border-bottom:1px solid var(--line)}.global-task-sheet .sheet-head small{color:var(--muted)}.global-task-sheet .sheet-head h2{margin:2px 0 0}.global-task-sheet .sheet-close{border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer;color:#64748b}.global-task-form{padding:18px 20px}.global-task-form label{display:block;font-size:12px;font-weight:700;color:#4d5d72;margin-bottom:14px}.global-task-form label input,.global-task-form label textarea,.global-task-form label select{margin-top:5px}.sheet-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}
@media(max-width:760px){.global-tasks-head .btn.primary{width:100%;margin-top:12px}.task-summary-row{grid-template-columns:repeat(3,1fr);gap:7px}.task-summary-card{padding:10px 8px;text-align:center}.task-summary-card strong{display:block;font-size:19px;margin:0}.task-summary-card span{font-size:12px}.global-task-filter{max-width:none}.global-tasks-table thead{display:none}.global-tasks-table table,.global-tasks-table tbody{display:block}.global-tasks-table tr{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:7px 9px;padding:14px 12px;border-bottom:1px solid #e5edf5}.global-tasks-table td{display:block!important;padding:0!important;border:0!important}.global-tasks-table td:nth-child(1){grid-column:1;grid-row:1 / span 2}.global-tasks-table td:nth-child(2){grid-column:2;grid-row:1}.global-tasks-table td:nth-child(3){grid-column:2;grid-row:2}.global-tasks-table td:nth-child(4){grid-column:3;grid-row:1}.global-tasks-table td:nth-child(5){grid-column:2 / 4;grid-row:3;font-size:13px}.global-tasks-table td:nth-child(6){grid-column:3;grid-row:2;text-align:right}.global-tasks-table td[data-label]::before{display:none}.global-task-sheet{padding:0}.global-task-sheet .sheet-panel{width:100%;max-height:92vh;border-radius:18px 18px 0 0}.global-task-form .grid2{grid-template-columns:1fr}.sheet-actions{flex-direction:column-reverse}.sheet-actions .btn{width:100%}}

/* === Version 1.0.167: zentrale Aufgaben – Hinzufügen, Bearbeiten und Heute === */
.global-task-quick-add{margin-bottom:16px}
.global-task-add-grid{grid-template-columns:minmax(240px,2fr) minmax(150px,.8fr) minmax(160px,.9fr) minmax(130px,.7fr)}
.today-tasks-card{padding:0;margin:0 0 16px;overflow:hidden;border-color:#cfe2f6}
.today-tasks-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;background:linear-gradient(90deg,#eef7ff,#fff8ea);border-bottom:1px solid #dceaf6}
.today-tasks-head>div{display:flex;align-items:center;gap:11px}
.today-tasks-head h2{margin:0;font-size:18px}
.today-tasks-head p{margin:2px 0 0;color:#6a7d91;font-size:13px}
.today-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#fff0c6;color:#d78a00;font-size:20px}
.today-count{min-width:30px;height:30px;padding:0 9px;border-radius:999px;display:grid;place-items:center;background:#1675d1;color:#fff;font-weight:800}
.today-task-list{display:grid}
.today-task-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto 70px;align-items:center;gap:11px;padding:13px 18px;border-bottom:1px solid #edf1f5}
.today-task-item:last-child{border-bottom:0}
.today-task-item.is-editable{cursor:pointer}
.today-task-item.is-editable:hover{background:#f8fbff}
.today-task-main{min-width:0;display:grid;gap:2px}
.today-task-main strong{font-size:15px;color:#20364e}
.today-task-main small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#64778b}
.today-task-main span{font-size:12px;color:#7b8da0}
.today-task-item time{text-align:right;font-weight:800;color:#176ab8}
.global-task-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:6px 0 10px}
.global-task-list-head h2{margin:0 0 2px;font-size:18px}
.global-task-list-head .global-task-filter{margin:0;min-width:230px}
.global-task-edit-row{cursor:pointer}
.global-task-edit-row:hover td{background:#f8fbff}

@media(max-width:900px){
  .global-task-add-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .global-task-quick-add>summary{min-height:44px;font-size:15px}
  .global-task-add-grid{grid-template-columns:1fr}
  .today-tasks-card{border-radius:12px}
  .today-tasks-head{padding:13px 14px}
  .today-task-item{grid-template-columns:30px minmax(0,1fr) auto;gap:8px;padding:12px 13px}
  .today-task-item .overview-priority-chip{grid-column:3;grid-row:1;align-self:start}
  .today-task-item time{grid-column:3;grid-row:2;font-size:12px}
  .today-task-main strong{font-size:16px}
  .today-task-main small{font-size:13px}
  .global-task-list-head{display:block;margin-top:18px}
  .global-task-list-head h2{margin-bottom:9px}
  .global-task-list-head .global-task-filter{min-width:0;width:100%;margin:0}
}


/* === Version 1.0.169: Protokoll hinzufügen wie Bearbeiten === */
.protocol-add-form{display:grid;gap:14px}
.protocol-add-grid{display:grid;grid-template-columns:180px 1fr;gap:14px}
.protocol-add-form textarea{resize:vertical;min-height:130px}
.protocol-add-form .protocol-mail-hint{margin:0}
.protocol-add-form .protocol-quick-actions{margin-top:0}
@media(max-width:700px){
  .protocol-add-grid{grid-template-columns:1fr;gap:12px}
  .protocol-add-form textarea{min-height:150px}
}

/* === Version 1.0.170: Datumsfeld im Protokollformular mobil korrigiert === */
.protocol-add-grid > div,
.protocol-add-form > div{
  min-width:0;
}
.protocol-add-form input,
.protocol-add-form select,
.protocol-add-form textarea{
  max-width:100%;
  box-sizing:border-box;
}
.protocol-add-form input[type="date"]{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
}
@media(max-width:700px){
  .protocol-quick-panel{
    width:100%;
    max-width:100%;
    overflow:visible;
  }
  .protocol-add-grid{
    width:100%;
    min-width:0;
  }
  .protocol-add-form input[type="date"]{
    inline-size:100%;
    min-inline-size:0;
  }
}

/* === Version 1.0.171: zentrale Aufgaben mobil kompaktere Schrift === */
@media(max-width:760px){
  .global-tasks-table tr{
    padding:12px 11px;
    gap:6px 8px;
  }
  .global-tasks-table td:nth-child(2),
  .global-tasks-table td:nth-child(2) strong{
    font-size:15px;
    line-height:1.28;
  }
  .global-tasks-table td:nth-child(3),
  .global-tasks-table td:nth-child(3) small{
    font-size:12px;
    line-height:1.3;
  }
  .global-tasks-table td:nth-child(4),
  .global-tasks-table td:nth-child(5),
  .global-tasks-table td:nth-child(6){
    font-size:12px;
  }
  .global-tasks-table .badge,
  .global-tasks-table .overview-priority-chip{
    font-size:11px;
  }
  .global-tasks-table .task-checkbox span{
    width:24px;
    height:24px;
  }

  .today-task-main strong{
    font-size:15px;
    line-height:1.28;
  }
  .today-task-main small{
    font-size:12px;
  }
  .today-task-item{
    padding:11px 12px;
  }
}

/* === Version 1.0.172: zentrale Aufgaben mobil sichtbar kleinere Typografie === */
@media (max-width:760px){
  .global-tasks-table td:nth-child(2),
  .global-tasks-table td:nth-child(2) strong{
    font-size:13.5px !important;
    line-height:1.22 !important;
  }
  .global-tasks-table td:nth-child(2) small{
    font-size:11.5px !important;
    line-height:1.25 !important;
  }
  .global-tasks-table td:nth-child(3),
  .global-tasks-table td:nth-child(3) .stronglink,
  .global-tasks-table td:nth-child(3) small{
    font-size:12px !important;
    line-height:1.24 !important;
  }
  .global-tasks-table td:nth-child(5),
  .global-tasks-table td:nth-child(5) small{
    font-size:12px !important;
    line-height:1.25 !important;
  }
  .global-tasks-table .badge,
  .global-tasks-table .overview-priority-chip{
    font-size:10.5px !important;
  }
  .global-tasks-table tr{
    padding:10px 10px !important;
    gap:5px 7px !important;
  }

  .today-task-main strong{
    font-size:13.5px !important;
    line-height:1.22 !important;
  }
  .today-task-main small,
  .today-task-main span,
  .today-task-item time{
    font-size:11.5px !important;
    line-height:1.25 !important;
  }
  .today-task-item{
    padding:10px 11px !important;
  }
}

/* === Version 1.0.173: mobile Aufgaben-Typografie ausbalanciert === */
@media (max-width:760px){
  /* Heute darf bewusst etwas stärker hervortreten */
  .today-task-main strong{
    font-size:15px !important;
    line-height:1.28 !important;
  }
  .today-task-main small,
  .today-task-main span{
    font-size:12.5px !important;
    line-height:1.3 !important;
  }
  .today-task-item time{
    font-size:12.5px !important;
    line-height:1.3 !important;
  }

  /* Die normale Liste bleibt kompakter als der Heute-Bereich */
  .global-tasks-table td:nth-child(2),
  .global-tasks-table td:nth-child(2) strong{
    font-size:12.5px !important;
    line-height:1.24 !important;
  }
  .global-tasks-table td:nth-child(2) small{
    font-size:11.5px !important;
    line-height:1.28 !important;
  }

  /* Abschnittsüberschrift nicht so dominant */
  .global-task-list-head h2{
    font-size:16px !important;
    line-height:1.2 !important;
    margin-bottom:8px !important;
  }
}


/* === Version 1.0.174: Aufgaben mobil sauber skaliert + Projektaufgaben abhakbar === */
@media (max-width:760px){
  /* iOS vergrößert Tabellen-/Grid-Text sonst eigenständig. */
  .today-tasks-card,
  .global-task-list-head,
  .global-tasks-table,
  .global-task-filter,
  .task-summary-row{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }

  .today-tasks-head h2{
    font-size:18px !important;
    line-height:1.2 !important;
  }
  .today-tasks-head p{
    font-size:13px !important;
  }
  .today-task-main strong{
    font-size:16px !important;
    line-height:1.28 !important;
  }
  .today-task-main small,
  .today-task-main span,
  .today-task-item time{
    font-size:13px !important;
    line-height:1.3 !important;
  }

  .global-task-list-head h2{
    font-size:18px !important;
    line-height:1.2 !important;
    margin-bottom:10px !important;
  }
  .global-tasks-table td:nth-child(2),
  .global-tasks-table td:nth-child(2) strong{
    font-size:15px !important;
    line-height:1.3 !important;
  }
  .global-tasks-table td:nth-child(2) small{
    font-size:13px !important;
    line-height:1.32 !important;
  }
  .global-tasks-table td:nth-child(3),
  .global-tasks-table td:nth-child(3) .stronglink,
  .global-tasks-table td:nth-child(3) small,
  .global-tasks-table td:nth-child(5),
  .global-tasks-table td:nth-child(5) small{
    font-size:13px !important;
    line-height:1.3 !important;
  }
  .global-tasks-table .badge,
  .global-tasks-table .overview-priority-chip{
    font-size:11.5px !important;
  }
  .global-tasks-table tr{
    padding:12px 11px !important;
    gap:6px 8px !important;
  }
}


/* === Version 1.0.175: normale Schrift in Aufgaben-Bearbeitung === */
.global-task-form input,
.global-task-form textarea,
.global-task-form select{
  font-weight:400;
}

/* === Version 1.0.177: Aufgabenliste mobil optisch verfeinert === */
@media (max-width:760px){
  .global-tasks-head p{
    font-size:15px;
    line-height:1.4;
  }

  .task-summary-row{
    gap:10px;
    margin-bottom:16px;
  }
  .task-summary-card{
    padding:12px 10px;
    border-radius:14px;
  }
  .task-summary-card strong{
    font-size:24px !important;
  }
  .task-summary-card span{
    font-size:13px !important;
  }

  .today-tasks-card{
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 10px 24px rgba(15,23,42,.05);
  }
  .today-tasks-head{
    padding:14px 16px !important;
  }
  .today-tasks-head h2{
    font-size:19px !important;
    line-height:1.18 !important;
  }
  .today-tasks-head p{
    font-size:14px !important;
    line-height:1.35 !important;
  }
  .today-count{
    min-width:44px;
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    font-size:21px;
    font-weight:800;
    background:#1b74db;
    color:#fff;
  }
  .today-task-item{
    position:relative;
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:8px 10px;
    padding:14px 16px !important;
  }
  .today-task-item::before,
  .global-tasks-table tr::before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:transparent;
  }
  .today-task-item.priority-high::before,
  .global-tasks-table tr.priority-high::before{background:#f59e0b;}
  .today-task-item.priority-normal::before,
  .global-tasks-table tr.priority-normal::before{background:#4b93ea;}
  .today-task-item.priority-low::before,
  .global-tasks-table tr.priority-low::before{background:#2fa36b;}
  .today-task-item.task-overdue::before,
  .global-tasks-table tr.task-overdue::before{background:#ef4444;}
  .today-task-main{
    gap:4px;
  }
  .today-task-main strong{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    font-size:16px !important;
    line-height:1.28 !important;
  }
  .today-task-main small{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:1;
    overflow:hidden;
    color:#6b7c8f;
    font-size:13px !important;
    line-height:1.3 !important;
  }
  .today-task-main span{
    font-size:12.5px !important;
    line-height:1.3 !important;
    color:#5b6d81;
    font-weight:700;
  }
  .today-task-item .overview-priority-chip{
    padding:4px 9px;
    font-size:11px !important;
  }
  .today-task-item time{
    font-size:12.5px !important;
    line-height:1.3 !important;
    font-weight:800;
  }

  .global-task-list-head{
    margin-top:20px !important;
  }
  .global-task-list-head h2{
    font-size:17px !important;
    line-height:1.2 !important;
    margin-bottom:10px !important;
  }
  .global-task-filter{
    padding:14px 16px;
    border-radius:16px;
  }
  .global-task-filter label{
    font-size:13px;
  }
  .global-task-filter select{
    min-height:46px;
    font-size:15px;
  }

  .global-tasks-table{
    background:transparent;
    border:0;
    box-shadow:none;
    padding:0;
  }
  .global-tasks-table table{
    min-width:0 !important;
    width:100%;
  }
  .global-tasks-table tbody{
    display:grid;
    gap:12px;
  }
  .global-tasks-table tr{
    position:relative;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:7px 10px !important;
    padding:14px 14px 13px !important;
    margin:0 !important;
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:0 10px 24px rgba(15,23,42,.05);
    overflow:hidden;
  }
  .global-tasks-table td{
    min-width:0;
  }
  .global-tasks-table td:nth-child(1){
    padding-top:2px !important;
  }
  .global-tasks-table td:nth-child(2),
  .global-tasks-table td:nth-child(2) strong{
    font-size:15px !important;
    line-height:1.28 !important;
  }
  .global-tasks-table td:nth-child(2) strong{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
  }
  .global-tasks-table td:nth-child(2) small{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:1;
    overflow:hidden;
    margin-top:4px;
    color:#6b7c8f;
    font-size:13px !important;
    line-height:1.3 !important;
  }
  .global-tasks-table td:nth-child(3){
    display:flex !important;
    flex-direction:column;
    gap:3px;
  }
  .global-tasks-table td:nth-child(3),
  .global-tasks-table td:nth-child(3) .stronglink,
  .global-tasks-table td:nth-child(3) small{
    font-size:12.5px !important;
    line-height:1.3 !important;
  }
  .global-tasks-table td:nth-child(3) .stronglink{
    font-weight:700;
  }
  .global-tasks-table td:nth-child(5),
  .global-tasks-table td:nth-child(5) small{
    font-size:12.5px !important;
    line-height:1.3 !important;
  }
  .global-tasks-table td:nth-child(5){
    color:#56697d;
    font-weight:700;
  }
  .global-tasks-table td:nth-child(5).danger,
  .global-tasks-table td:nth-child(5).danger small{
    color:#cc4d16 !important;
  }
  .global-tasks-table td:nth-child(6){
    align-self:start;
  }
  .global-tasks-table .badge,
  .global-tasks-table .overview-priority-chip{
    font-size:11px !important;
    padding:4px 8px;
  }
  .global-tasks-table .task-checkbox span{
    width:27px !important;
    height:27px !important;
    border-radius:8px;
  }
  .global-task-open-arrow{
    font-size:22px;
  }
  .global-tasks-table .empty{
    display:block;
    padding:18px 14px !important;
    border:1px dashed #d7e1ec !important;
    border-radius:14px;
    background:#fff;
    text-align:center;
  }
}


/* === Version 1.0.178: sichtbare Bestätigung beim Aufgaben-Abhaken === */
.today-task-item,
.global-tasks-table tr,
.tasks-table tr{
  transition:background-color .22s ease, opacity .28s ease, transform .28s ease;
}
.today-task-item.task-just-checked,
.global-tasks-table tr.task-just-checked,
.tasks-table tr.task-just-checked{
  background:#edf9f1 !important;
}
.today-task-item.task-completing,
.global-tasks-table tr.task-completing,
.tasks-table tr.task-completing{
  opacity:.48;
  transform:translateX(4px);
}
.today-task-item.task-reopening,
.global-tasks-table tr.task-reopening,
.tasks-table tr.task-reopening{
  background:#f5f9fe !important;
}
@media (prefers-reduced-motion: reduce){
  .today-task-item,
  .global-tasks-table tr,
  .tasks-table tr{
    transition:none !important;
  }
  .today-task-item.task-completing,
  .global-tasks-table tr.task-completing,
  .tasks-table tr.task-completing{
    transform:none;
  }
}

/* === Version 1.0.179: Smartphones auch im Querformat immer mit Overlay-Menü ===
   Touch-Geräte bis 1000px CSS-Breite verwenden dieselbe Navigation wie im Hochformat.
   Dadurch bleibt im Querformat die volle Breite für den Inhalt erhalten. */
@media (pointer:coarse) and (max-width:1000px){
  .mobile-menu-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    margin:0;
    padding:8px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:12px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:26px;
    cursor:pointer;
  }

  .global-search{
    display:none !important;
  }
  .mobile-search-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
  }

  .topbar{
    height:64px;
    padding:0 12px;
    gap:10px;
  }
  .brand{
    min-width:0;
    flex:1;
    font-size:17px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .userbox{
    margin-left:0;
    padding:0;
    background:transparent;
    gap:8px;
  }
  .userbox-name,
  .userbox-caret{
    display:none !important;
  }
  .avatar{
    width:38px;
    height:38px;
  }

  .sidebar{
    display:block !important;
    position:fixed !important;
    z-index:90 !important;
    top:64px !important;
    left:0 !important;
    bottom:0 !important;
    width:min(300px,82vw) !important;
    max-width:82vw !important;
    padding:14px 12px 18px !important;
    border-right:1px solid rgba(255,255,255,.08) !important;
    border-radius:0 18px 18px 0 !important;
    transform:translateX(-106%) !important;
    transition:transform .2s ease !important;
    overflow:auto !important;
    box-shadow:12px 0 32px rgba(10,20,35,.22) !important;
  }
  body.mobile-menu-open .sidebar{
    transform:translateX(0) !important;
  }
  body.mobile-menu-open::after{
    content:"";
    position:fixed;
    z-index:80;
    inset:64px 0 0;
    background:rgba(7,17,29,.52);
    backdrop-filter:blur(2px);
  }
  body.mobile-menu-open{
    overflow:hidden;
  }
  .sidebar .nav-item{
    min-height:50px !important;
    padding:10px 12px !important;
    border-radius:13px !important;
    font-size:15px !important;
    gap:11px !important;
  }
  .sidebar .nav-label{
    font-size:15px !important;
  }
  .sidebar .nav-ico{
    width:27px !important;
    flex:0 0 27px !important;
  }
  .sidebar .nav-arrow{
    font-size:22px !important;
  }

  .content{
    margin-left:0 !important;
    width:100% !important;
    max-width:100% !important;
    padding-top:82px !important;
  }

  .mobile-search-panel{
    top:64px !important;
  }
}

/* Sehr flache Querformat-Smartphones: Menü etwas schmaler und kompakter. */
@media (pointer:coarse) and (orientation:landscape) and (max-height:520px){
  .sidebar{
    width:min(280px,48vw) !important;
    max-width:48vw !important;
    padding-top:9px !important;
  }
  .sidebar .nav-item{
    min-height:42px !important;
    padding:8px 11px !important;
  }
  .sidebar-version{
    display:none !important;
  }
}


/* === Version 1.0.180: Kontaktliste mobil sauberer dargestellt === */
.contacts-list-card{
  border-radius:14px;
}
@media (max-width:600px){
  .contact-search.card{
    padding:12px;
    border-radius:16px;
  }
  .contact-search-field input{
    min-height:48px;
    border-radius:14px;
    font-size:15px;
  }
  .contacts-list-card{
    overflow:hidden!important;
    border-radius:16px;
  }
  .contacts-list-card .contacts-table{
    min-width:0!important;
    width:100%;
    border-collapse:separate;
    border-spacing:0;
  }
  .contacts-list-card .contacts-table tbody{
    display:block;
    width:100%;
  }
  .contacts-list-card .contacts-table .empty{
    display:block!important;
    width:100%;
    padding:24px 16px!important;
    text-align:center;
    color:var(--muted);
    background:#fff;
    border:0!important;
  }
}


/* === Version 1.0.181: Kontaktliste mobil klarer und Empty-State sichtbar === */
.contacts-empty-card{
  padding:0;
  border-radius:16px;
  overflow:hidden;
}
.contacts-empty-inner{
  padding:28px 18px;
  text-align:center;
  color:var(--muted);
  font-size:16px;
}
@media (max-width:600px){
  .contacts-list-card{
    overflow:hidden!important;
    border-radius:18px;
    padding:0;
  }
  .contacts-list-card .contacts-table tr{
    padding:16px;
  }
  .contacts-list-card .contacts-table td{
    grid-template-columns:96px minmax(0,1fr);
    gap:10px;
    padding:6px 0;
    align-items:start;
  }
  .contacts-list-card .contacts-table td:last-child{
    position:static;
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    width:100%;
    padding:6px 0 0;
  }
  .contacts-list-card .contacts-table td:last-child:before{
    display:block;
  }
  .contacts-list-card .contacts-table td:first-child{
    display:block;
    padding:0 0 10px;
    margin-bottom:4px;
    border-bottom:1px solid #e9eff6;
  }
  .contacts-list-card .contacts-table td:first-child:before{
    display:none;
  }
  .contacts-list-card .contacts-table td:first-child strong{
    display:block;
    font-size:17px;
    line-height:1.3;
    font-weight:800;
    color:var(--text);
  }
  .contacts-list-card .contacts-table td:before{
    font-size:12px;
    font-weight:700;
    color:#64748b;
  }
  .contacts-list-card .contacts-table td a{
    word-break:break-word;
    text-decoration:none;
  }
  .contacts-list-card .contacts-table td:nth-child(6) a{
    display:inline-block;
    word-break:normal;
    overflow-wrap:normal;
    white-space:normal;
    line-height:1.25;
  }
  .contacts-list-card .contacts-table td:nth-child(5) a,
  .contacts-list-card .contacts-table td:nth-child(6) a{
    font-weight:600;
  }
  .contacts-list-card .contacts-table .empty{
    display:block!important;
    width:100%;
    padding:26px 16px!important;
    text-align:center;
    color:var(--muted);
    background:#fff;
    border:0!important;
  }
  .contacts-empty-card{
    border-radius:18px;
  }
  .contacts-empty-inner{
    padding:24px 16px;
    font-size:15px;
  }
}


/* === Version 1.0.182: Telefonnummern in Kontaktliste mobil sauber anzeigen === */
@media (max-width:600px){
  .contacts-list-card .contacts-table td:nth-child(6){
    align-items:start;
  }
}

/* === Version 1.0.185: Mail-Liste mit Datum, Uhrzeit, Absender und Neueste-Badge === */
.protocol-mail-list-content{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.protocol-mail-subject-row{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:8px;
}
.protocol-mail-subject-row .protocol-mail-subject{
  flex:1;
  min-width:0;
}
.protocol-mail-meta{
  display:block;
  min-width:0;
  color:#6d7f91;
  font-size:11.5px;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.protocol-mail-newest{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 7px;
  border-radius:999px;
  background:#e8f3ff;
  color:#0b69c7;
  font-size:10px;
  font-weight:800;
  line-height:1;
}
@media(max-width:600px){
  .protocol-mail-list a{
    grid-template-columns:32px minmax(0,1fr) 16px;
    gap:9px;
    padding:11px 9px;
  }
  .protocol-mail-list-icon{
    width:32px;
    height:32px;
  }
  .protocol-mail-subject-row{
    gap:6px;
  }
  .protocol-mail-subject{
    font-size:13px;
  }
  .protocol-mail-meta{
    font-size:11px;
  }
}


/* === Version 1.0.186: Aufträge per Drag & Drop sortieren === */
.order-sort-col{width:44px;padding-left:10px!important;padding-right:4px!important}
.order-sort-cell{width:44px;padding-left:10px!important;padding-right:4px!important;text-align:center}
.order-drag-handle{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:34px;border-radius:8px;color:#71849a;
  font-size:20px;font-weight:800;letter-spacing:0;cursor:grab;
  user-select:none;-webkit-user-select:none;touch-action:none;
}
.order-drag-handle:hover{background:#eef5fd;color:#176fc6}
.order-drag-handle:active{cursor:grabbing}
tr.order-dragging{opacity:.48;background:#edf6ff!important}
[data-order-sort].order-sort-active tr[data-order-id]{transition:transform .08s ease}
[data-order-sort].order-sort-saving{opacity:.72;pointer-events:none}
[data-order-sort].order-sort-saved{box-shadow:inset 3px 0 0 #1da75a}
@media(max-width:760px){
  .order-sort-col,.order-sort-cell{display:none!important}
}


/* === Version 1.0.187: Sortiersymbol bei Aufträgen wie bei Plänen === */


/* === Version 1.0.188: Sortiergriff rechts neben dem Papierkorb === */
.order-actions-cell{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  white-space:nowrap;
}
.order-actions-cell .inline-delete-form{margin:0}
.order-actions-cell .order-drag-handle{
  position:static;
  flex:0 0 auto;
}
@media(max-width:760px){
  .order-actions-cell .order-drag-handle{
    display:inline-flex!important;
    width:34px;
    height:34px;
    font-size:21px;
  }
}


/* === Version 1.0.190: einzelne Protokoll-Mails löschbar === */
.protocol-mail-list-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  align-items:stretch;
}
.protocol-mail-list .protocol-mail-open-link{
  min-width:0;
}
.protocol-mail-delete-form{
  margin:0;
  display:flex;
  align-items:stretch;
}
.protocol-mail-delete-btn{
  width:42px;
  min-width:42px;
  border:1px solid #ead7d7;
  border-radius:10px;
  background:#fff;
  color:var(--red);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  line-height:1;
}
.protocol-mail-delete-btn:hover{
  background:#fff1f1;
  border-color:#e4bcbc;
}
@media(max-width:600px){
  .protocol-mail-list-item{
    gap:6px;
  }
  .protocol-mail-delete-btn{
    width:40px;
    min-width:40px;
    border-radius:9px;
  }
}

/* Fotos: optionaler eigener Anzeigename */
.photo-name-wrap{padding:10px 12px 0;min-width:0}
.photo-inline-name{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-weight:700;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text}
.photo-inline-name:hover{text-decoration:underline;text-underline-offset:2px}
.photo-inline-input{display:block;width:100%;min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);font:inherit;font-weight:600}
.photo-original-name{display:block;margin-top:3px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){.photo-name-wrap{padding:8px 9px 0}.photo-inline-name{font-size:12px}.photo-original-name{font-size:10px}}


/* === Version 1.0.192: Aufträge auch mobil per Touch sortieren === */
@media(max-width:760px){
  .overview-orders .order-actions-cell{
    min-width:82px;
  }
  tr.order-touch-dragging{
    opacity:.58;
    background:#edf6ff!important;
    box-shadow:inset 3px 0 0 #176fc6;
  }
  body.order-touch-drag-active{
    overscroll-behavior:none;
  }
}


/* Version 1.0.193: Auftragstatus direkt änderbar */
.order-status-direct{
  width:auto;
  min-width:112px;
  max-width:100%;
  padding:5px 28px 5px 10px;
  border:1px solid transparent;
  border-radius:999px;
  font:inherit;
  font-weight:600;
  line-height:1.2;
  cursor:pointer;
}
.order-status-direct.orange{background:#fff1d6;color:#8a5414;border-color:#f1d49b}
.order-status-direct.green{background:#e6f5e9;color:#2c6c38;border-color:#bfe0c6}
.order-status-direct:focus{outline:2px solid #8ab9e8;outline-offset:2px}
.order-status-direct:disabled{opacity:.65;cursor:wait}
@media(max-width:700px){.order-status-direct{font-size:16px;min-width:145px}}

/* === Version 1.0.196: Rechtsaktnummern direkt in der Projektliste === */
.projects-modern-table table{min-width:920px}
.project-legal-cell{min-width:180px}
.project-legal-list{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.project-legal-badge{white-space:nowrap;font-size:11px;padding:5px 8px}
.project-legal-none{color:#91a0af}

@media (max-width:760px){
  .projects-modern-table table{min-width:0}
  .projects-modern-table tr{grid-template-rows:auto auto auto}
  .projects-modern-table td.favorite-col{grid-row:1 / span 3}
  .projects-modern-table td:nth-child(6){
    grid-column:2 / 4;
    grid-row:3;
    min-width:0;
    padding-top:3px!important;
  }
  .projects-modern-table td:nth-child(6).is-empty{display:none!important}
  .projects-modern-table td:nth-child(6):not(.is-empty){display:flex!important;align-items:center;gap:7px}
  .projects-modern-table td:nth-child(6):not(.is-empty)::before{content:'Rechtsakt';color:#708299;font-size:11px;font-weight:600;flex:0 0 auto}
  .project-legal-list{gap:4px;min-width:0}
  .project-legal-badge{font-size:10px!important;padding:3px 6px!important}
}


/* === Version 1.0.198: Live-Suchergebnisse auch am Desktop === */
@media (min-width:701px){
  .global-search{overflow:visible}
  .desktop-search-suggestions{
    position:absolute;
    left:0;
    right:0;
    top:calc(100% + 8px);
    max-height:min(62vh,520px);
    overflow-y:auto;
    background:#fff;
    border:1px solid #d8e3ef;
    border-radius:12px;
    box-shadow:0 16px 38px rgba(18,44,72,.22);
    z-index:120;
  }
  .desktop-search-suggestions[hidden]{display:none!important}
  .desktop-search-suggestion{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:62px;
    padding:10px 13px;
    color:var(--text);
    background:#fff;
    border-bottom:1px solid #edf2f7;
  }
  .desktop-search-suggestion:last-child{border-bottom:0}
  .desktop-search-suggestion:hover{background:#f4f8fd}
  .desktop-search-suggestion-main{min-width:0;display:flex;flex-direction:column;gap:3px}
  .desktop-search-suggestion-main strong{font-size:14px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desktop-search-suggestion-main small{font-size:12px;line-height:1.3;color:#60738a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .desktop-search-suggestion-right{display:flex;align-items:center;gap:8px;flex:0 0 auto}
  .desktop-search-suggestion-tag{padding:4px 7px;border-radius:999px;background:#eaf3ff;color:#0b67c7;font-size:11px;font-weight:700}
  .desktop-search-suggestion-arrow{font-size:22px;color:#7c8da1;line-height:1}
  .desktop-search-suggestion-empty{padding:15px;text-align:center;color:#64748b;font-size:13px}
}

/* === Version 1.0.199: Suchlupe fokussiert direkt, Suche leert sich beim Schließen/Verlassen === */
.global-search .global-search-icon{pointer-events:auto;cursor:text;z-index:2;text-decoration:none}

/* === Version 1.0.203: Suchlupe ist ein echtes Label für das Suchfeld === */
.mobile-search-toggle{user-select:none;-webkit-user-select:none}


/* === Version 1.0.205: Baustellenfotos direkt in der Seite öffnen + Wischen === */
.photo-viewer-open{overflow:hidden}
.photo-viewer-modal[hidden]{display:none!important}
.photo-viewer-modal{position:fixed;inset:0;z-index:1900;display:grid;place-items:center;padding:18px}
.photo-viewer-backdrop{position:absolute;inset:0;background:rgba(12,24,38,.72);backdrop-filter:blur(2px)}
.photo-viewer-dialog{position:relative;z-index:1;width:min(980px,100%);max-height:calc(100vh - 36px);display:flex;flex-direction:column;gap:12px}
.photo-viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:min(72vh,760px);background:rgba(10,18,29,.94);border-radius:20px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.28);touch-action:pan-y}
.photo-viewer-image{display:block;max-width:100%;max-height:min(72vh,760px);width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.photo-viewer-arrow,.photo-viewer-close{position:absolute;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .16s ease,color .16s ease,opacity .16s ease}
.photo-viewer-close{top:12px;right:12px;width:42px;height:42px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:28px;line-height:1;z-index:3}
.photo-viewer-close:hover{background:rgba(255,255,255,.22)}
.photo-viewer-arrow{top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:34px;line-height:1;z-index:2;opacity:.92}
.photo-viewer-arrow:hover{background:rgba(255,255,255,.24)}
.photo-viewer-arrow.is-prev{left:14px}
.photo-viewer-arrow.is-next{right:14px}
.photo-viewer-arrow[disabled]{opacity:.35;cursor:default}
.photo-viewer-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:0 10px 24px rgba(18,44,72,.12)}
.photo-viewer-caption-main{min-width:0;display:flex;flex-direction:column;gap:4px}
.photo-viewer-caption strong{font-size:18px;line-height:1.3;color:var(--text);word-break:break-word}
.photo-viewer-caption span{color:var(--muted);font-size:14px;line-height:1.45}
.photo-viewer-counter{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:62px;padding:7px 10px;border-radius:999px;background:#edf5ff;color:var(--blue);font-weight:700}
@media(max-width:760px){
  .photo-viewer-modal{padding:0;place-items:stretch}
  .photo-viewer-dialog{width:100%;max-height:100vh;height:100%;border-radius:0;gap:0}
  .photo-viewer-stage{min-height:calc(100vh - 112px);border-radius:0}
  .photo-viewer-image{max-height:calc(100vh - 112px)}
  .photo-viewer-close{top:10px;right:10px;width:40px;height:40px;font-size:27px}
  .photo-viewer-arrow{width:40px;height:40px;font-size:31px;background:rgba(255,255,255,.12)}
  .photo-viewer-arrow.is-prev{left:10px}
  .photo-viewer-arrow.is-next{right:10px}
  .photo-viewer-caption{border-radius:0;padding:12px 14px 14px;gap:10px}
  .photo-viewer-caption strong{font-size:16px}
  .photo-viewer-caption span{font-size:13px}
  .photo-viewer-counter{min-width:56px;font-size:13px;padding:6px 9px}
}


/* === Version 1.0.206: Kategorie in der Fotoansicht immer sichtbar === */
.photo-viewer-category{display:inline-flex!important;align-self:flex-start;max-width:100%;padding:5px 9px;border-radius:999px;background:#eaf3ff;color:var(--blue)!important;font-size:12px!important;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.photo-viewer-category{font-size:12px!important;padding:5px 8px}}


/* Version 1.0.207 – Aufträge mit Bestellungen verbinden */
.order-purchase-cell{min-width:145px}
.order-purchase-number{display:inline-flex;margin:2px 4px 2px 0;padding:4px 8px;border-radius:7px;white-space:nowrap;font-size:12px;font-weight:700}
.order-purchase-number.has-number{color:#176342;background:#e8f5ed;border:1px solid #cae6d2}
.order-purchase-number.pending-number{color:#865919;background:#fff3dd;border:1px solid #f4dfb1}
.purchase-assignment-cell{min-width:145px}
.purchase-orders-edit-trigger{border:1px solid #d2e2f4;border-radius:8px;background:#f2f8ff;color:#1763a8;padding:7px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.purchase-orders-edit-trigger:hover{background:#e5f2ff}
.purchase-assignment-preview{display:block;margin-top:5px;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:11px}
.purchase-order-selector{margin:12px 0;padding:12px;border:1px solid #d9e4ef;border-radius:11px;min-width:0}
.purchase-order-selector legend{font-weight:700;font-size:13px;padding:0 5px;color:var(--text)}
.purchase-order-options{display:grid;gap:6px;max-height:235px;overflow-y:auto}
.purchase-order-option{display:flex!important;align-items:center;gap:10px;min-width:0;padding:9px 10px!important;border-radius:8px;background:#f8fbff;border:1px solid #e7eef6;cursor:pointer;font-weight:400!important;line-height:1.35;margin:0!important}
.purchase-order-option input{flex:0 0 auto;width:17px!important;height:17px!important;margin:0!important;accent-color:var(--blue)}
.purchase-order-option span{min-width:0;overflow-wrap:anywhere;font-size:13px}
.purchase-orders-dialog-open{overflow:hidden}
.purchase-orders-modal[hidden]{display:none!important}
.purchase-orders-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:16px}
.purchase-orders-modal-shade{position:absolute;inset:0;background:#10233899}
.purchase-orders-dialog{position:relative;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;border-radius:15px;background:#fff;padding:20px;box-shadow:0 20px 50px #10233a33}
.purchase-orders-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.purchase-orders-dialog-head strong{font-size:20px;display:block}
.purchase-orders-dialog-head small{display:block;margin-top:4px;color:var(--muted);font-size:13px}
.purchase-orders-x{background:#f0f5fa;border:0;border-radius:8px;cursor:pointer;width:36px;height:36px;font-size:25px;flex:0 0 auto}
.purchase-orders-dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
@media(max-width:760px){.purchase-orders-modal{padding:0;place-items:end stretch}.purchase-orders-dialog{width:100%;max-height:90dvh;border-radius:17px 17px 0 0;padding:18px}.purchase-order-options{max-height:43dvh}.purchase-order-option{min-height:48px}.order-purchase-number{white-space:normal}}


/* Version 1.0.208: Live-Suche im Projektprotokoll */
.protocol-search-box{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:12px;min-width:0}
.protocol-search-field{position:relative;display:flex;align-items:center;flex:1;min-width:0}
.protocol-search-field input{width:100%;min-width:0;height:43px;padding:9px 42px 9px 41px;border:1px solid #d2dfeb;border-radius:10px;background:#fbfdff;color:var(--text);font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s}
.protocol-search-field input:focus{border-color:#488bcc;box-shadow:0 0 0 3px rgba(37,120,203,.11);background:#fff}
.protocol-search-icon{position:absolute;left:13px;pointer-events:none;color:#71859c}
.protocol-search-clear{position:absolute;right:6px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;background:transparent;border-radius:8px;color:#6f8193;font-size:25px;cursor:pointer}
.protocol-search-clear:hover{background:#ecf3fa;color:var(--text)}
.protocol-search-count{flex:0 0 auto;white-space:nowrap;color:var(--muted);font-size:13px;font-weight:650}
.protocol-search-box [hidden],.protocol-search-empty[hidden],.protocol-row[hidden],.protocol-table[hidden]{display:none!important}
.protocol-search-empty{padding:24px 16px;text-align:center;color:var(--muted);margin-bottom:12px}
@media(max-width:760px){.protocol-search-box{padding:10px;gap:8px}.protocol-search-field input{height:46px;font-size:16px}.protocol-search-count{font-size:11px}}

/* === Version 1.0.211: Excel-Vorschau in Projektdateien === */
.excelpreview{
  position:relative;
  height:190px;
  border:1px solid #e2e7ed;
  background:#f8fafc;
  overflow:hidden;
}
.excelpreview iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  pointer-events:none;
  background:#fff;
}
.excelpreview-open{
  position:absolute;
  z-index:2;
  inset:0;
  display:block;
}
.excelpreview:hover{box-shadow:0 0 0 2px #cfe4fb}
@media(max-width:600px){
  .excelpreview{height:220px}
}

/* v1.0.216 – Fotozoom und einfache Fotonotizen */
.photo-viewer-stage{touch-action:none}
.photo-viewer-image{transform-origin:center center;will-change:transform;touch-action:none;max-height:min(69vh,710px)}
.photo-viewer-image.is-zoomed{cursor:move}
.photo-zoom-toolbar{align-self:center;display:flex;align-items:center;gap:5px;background:rgba(20,36,53,.92);padding:5px;border-radius:30px;z-index:4}
.photo-zoom-toolbar button{border:0;border-radius:20px;min-width:39px;min-height:33px;padding:3px 8px;background:rgba(255,255,255,.15);color:#fff;font-size:18px;font-weight:700;cursor:pointer}
.photo-zoom-toolbar [data-photo-zoom-reset]{font-size:12px;min-width:64px}
.photo-viewer-note-area{background:#fff;border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}
.photo-viewer-note-area label{color:#26394e;font-size:13px}
.photo-viewer-note-area textarea{width:100%;min-height:52px;max-height:110px;resize:vertical;font:inherit;font-size:14px;line-height:1.4;padding:8px 10px;border:1px solid #cad8e7;border-radius:9px;background:#fff}
.photo-note-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;min-height:28px}
.photo-note-actions span{font-size:12px;color:#53677d}
.photo-viewer-dialog{gap:7px}
@media(max-width:760px){
.photo-viewer-dialog{max-height:100dvh;height:100dvh;gap:0;display:flex;flex-direction:column}
.photo-viewer-stage{min-height:0;flex:1;height:auto;overflow:hidden}
.photo-viewer-image{max-height:100%;}
.photo-zoom-toolbar{position:absolute;top:9px;left:50%;transform:translateX(-50%);z-index:5}
.photo-viewer-close{z-index:6}
.photo-viewer-caption{flex:0 0 auto;padding:9px 13px}
.photo-viewer-note-area{flex:0 0 auto;padding:8px 13px 10px;border-radius:0}
.photo-viewer-note-area textarea{min-height:44px;max-height:68px;font-size:16px}
.photo-viewer-note-area label{font-size:12px}
.photo-note-actions{min-height:28px}
}


/* v1.0.217 – Compact project edit action, better photo viewer layout and panning */
.project-edit-label-short{display:none}
@media(max-width:760px){
 .project-title-actions{margin-top:8px!important;gap:5px}
 .project-title-actions .btn:not(.icon-only){min-height:32px!important;width:auto!important;max-width:max-content!important;padding:5px 10px!important;font-size:12px!important;font-weight:650;line-height:1.25;border-radius:8px}
 .project-edit-label-full{display:none}
 .project-edit-label-short{display:inline}
}
.photo-viewer-dialog{height:min(860px,calc(100dvh - 30px));max-height:calc(100dvh - 30px);gap:5px;min-height:0}
.photo-viewer-stage{flex:1 1 auto;min-height:0;height:auto;overflow:hidden;touch-action:none}
.photo-viewer-image{max-width:100%;max-height:100%;object-fit:contain;touch-action:none;-webkit-user-drag:none}
.photo-viewer-caption{flex:0 0 auto;padding:9px 12px;gap:8px}
.photo-viewer-caption-main{gap:2px}
.photo-viewer-category{padding:3px 7px}
.photo-viewer-note-area{flex:0 0 auto;gap:4px;padding:8px 12px;border-radius:11px}
.photo-viewer-note-area textarea{min-height:45px;max-height:75px;padding:6px 9px}
.photo-note-actions{min-height:27px}
@media(max-width:760px){
 .photo-viewer-dialog{height:100dvh;max-height:100dvh;gap:0}
 .photo-viewer-stage{flex:1 1 auto;min-height:100px;height:auto}
 .photo-viewer-caption{padding:8px 12px}
 .photo-viewer-note-area{padding:6px 12px max(8px,env(safe-area-inset-bottom));border-radius:0}
 .photo-viewer-note-area textarea{min-height:42px;max-height:60px}
 .photo-viewer-note-area label{font-size:12px}
}

/* v1.0.218: auto-save photo notes and show an unobtrusive note marker */
.site-category-photo-card{position:relative}
.photo-note-indicator[hidden]{display:none!important}
.photo-note-indicator{position:absolute;top:10px;left:10px;z-index:4;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #c5d8ed;border-radius:9px;background:#f3f8ff;color:#166ec0;box-shadow:0 2px 9px rgba(22,55,88,.16);cursor:pointer;font-size:20px;font-weight:700}
.photo-note-indicator:hover,.photo-note-indicator:focus-visible,.photo-note-indicator.is-open{background:#dfefff;color:#0958a5}
.photo-note-tooltip{display:none;position:absolute;left:0;top:calc(100% + 7px);width:max-content;max-width:min(280px,72vw);padding:9px 11px;border-radius:10px;background:#17334f;color:#fff;text-align:left;font-size:12px;font-weight:500;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 8px 24px rgba(10,28,50,.24);pointer-events:none}
.photo-note-indicator:hover .photo-note-tooltip,.photo-note-indicator:focus-visible .photo-note-tooltip,.photo-note-indicator.is-open .photo-note-tooltip{display:block}
.photo-note-autosave{display:block;min-height:15px;text-align:right;color:#647a90;font-size:11px}
@media(max-width:760px){.photo-note-indicator{top:7px;left:7px;width:30px;height:30px}}


/* v1.0.219: floating note text remains legible beyond the clipped photo tile. */
.photo-note-tooltip{display:none!important}
.photo-note-floating[hidden]{display:none!important}
.photo-note-floating{
 position:fixed;z-index:2100;box-sizing:border-box;
 max-width:calc(100vw - 24px);max-height:min(42vh,340px);
 overflow-y:auto;overflow-wrap:anywhere;white-space:pre-wrap;
 border:1px solid #b9d1e8;border-radius:11px;
 background:#17334f;color:#fff;padding:11px 13px;
 font-size:14px;font-weight:500;line-height:1.5;text-align:left;
 box-shadow:0 10px 28px rgba(10,28,50,.3);pointer-events:none;
}
@media(max-width:760px){.photo-note-floating{font-size:14px;max-height:36vh}}


/* v1.0.222 – schneller Baustellen-Fotomodus, ausschließlich Smartphone */
.quick-site-camera{display:none}
.quick-site-camera-panel[hidden]{display:none!important}
@media(max-width:760px){
  .quick-site-camera{display:block}
  .quick-site-camera-fab{position:fixed;z-index:700;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));display:flex;gap:7px;align-items:center;justify-content:center;height:54px;padding:0 18px;border:0;border-radius:999px;background:#086dd0;color:#fff;box-shadow:0 7px 24px rgba(6,71,134,.32);font:inherit;font-size:15px;font-weight:750;cursor:pointer}
  .quick-site-camera-fab svg{height:23px;width:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .quick-site-camera-panel{position:fixed;z-index:2200;inset:0;display:flex;align-items:flex-end;justify-content:center}
  .quick-site-camera-backdrop{position:absolute;inset:0;border:0;background:rgba(8,23,40,.55)}
  .quick-site-camera-sheet{position:relative;width:100%;max-width:680px;max-height:calc(100dvh - 28px);overflow:auto;background:#fff;border-radius:21px 21px 0 0;padding:20px 20px calc(22px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 45px rgba(11,31,55,.22)}
  .quick-site-camera-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
  .quick-site-camera-sheet-head strong{display:block;font-size:20px;line-height:1.25;color:#15283c}
  .quick-site-camera-sheet-head small{display:block;color:#6c7e91;font-size:13px;margin-top:5px}
  .quick-site-camera-close{border:0;background:#eef3f8;border-radius:50%;width:38px;height:38px;flex:0 0 auto;font-size:26px;color:#566a7f}
  .quick-site-camera-sheet p{font-size:14px;line-height:1.45;margin:16px 0}
  .quick-site-camera-count{border:1px solid #d7e7f8;background:#edf6ff;border-radius:14px;padding:15px;display:flex;align-items:center;gap:13px;color:#244c75;font-size:14px}
  .quick-site-camera-count strong{font-size:32px;color:#086dd0;line-height:1}
  .quick-site-camera-status{font-size:14px;color:#267346;min-height:21px;margin:14px 0}
  .quick-site-camera-status.is-error{color:#b42332}
  .quick-site-camera-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
  .quick-site-camera-next{display:block;width:100%;min-height:55px;font-size:17px;border-radius:12px}
  .quick-site-camera-next:disabled{opacity:.6}
  .quick-site-camera-finish{display:block;margin:13px auto 0;border:0;background:transparent;color:#587088;text-decoration:underline;font-size:14px;min-height:40px}
  body.quick-camera-active{overflow:hidden}
  body.quick-camera-active .quick-site-camera-fab{display:none}
}


/* v1.0.230: Heute mit eigener Projektspalte wie in der Aufgabenliste */
@media(min-width:761px){
  .today-task-columns,.today-task-item{
    display:grid!important;
    grid-template-columns:72px minmax(240px,2.1fr) minmax(175px,1fr) 100px 100px!important;
    gap:14px!important;
    align-items:center;
  }
  .today-task-columns{padding:9px 18px;border-bottom:1px solid #e5edf5;background:#fbfdff;color:#617187;font-size:12px;font-weight:700}
  .today-task-check{justify-self:center}
  .today-task-main{grid-column:2;min-width:0}
  .today-task-project{grid-column:3;min-width:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere;font-size:13px}
  .today-task-project small{color:#7b8da0;font-size:12px}
  .today-task-item .overview-priority-chip{grid-column:4;justify-self:start}
  .today-task-item time{grid-column:5;justify-self:start;text-align:left}
}
@media(max-width:760px){
  .today-task-columns{display:none!important}
  .today-task-item{grid-template-columns:30px minmax(0,1fr) auto!important;gap:8px 10px}
  .today-task-check{grid-column:1;grid-row:1 / span 3;align-self:start}
  .today-task-main{grid-column:2;grid-row:1;min-width:0}
  .today-task-project{grid-column:2;grid-row:2;min-width:0;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
  .today-task-project small{display:block;color:#7b8da0;font-size:11px}
  .today-task-item .overview-priority-chip{grid-column:3;grid-row:1;align-self:start}
  .today-task-item time{grid-column:3;grid-row:2;align-self:start}
}


/* v1.0.231 – identische Spaltenachsen bei Heute und Weitere Aufgaben (Desktop).
   Die native Tabelle nutzt dieselben Prozentspalten wie die Heute-Zeilen. */
@media(min-width:761px){
  .global-tasks-table table{table-layout:fixed;width:100%!important;min-width:0!important}
  .today-task-columns,.today-task-item{
    grid-template-columns:7% minmax(0,50%) minmax(0,23%) 9% 8% 3%!important;
    gap:0!important;
    padding-left:0!important;padding-right:0!important;
    width:100%;
  }
  .today-task-columns>span,.today-task-item>div,.today-task-item>time,.today-task-item>.overview-priority-chip,.today-task-item>.today-task-action-spacer{
    min-width:0;box-sizing:border-box;
  }
  .today-task-columns>span{padding:9px 14px}
  .today-task-item>.today-task-main,.today-task-item>.today-task-project,.today-task-item>time{padding:10px 14px}
  .today-task-item>.today-task-check{grid-column:1;padding:10px 14px;justify-self:start}
  .today-task-item>.overview-priority-chip{grid-column:4;justify-self:start;margin-left:14px}
  .today-task-item>.today-task-action-spacer{grid-column:6}
  .global-tasks-table th,.global-tasks-table td{padding-left:14px;padding-right:14px;min-width:0}
  .global-tasks-table td:nth-child(2),.global-tasks-table td:nth-child(3){overflow-wrap:anywhere}
}


/* v1.0.232: Optionales dauerhaftes Login auf eigenen Geräten */
.login-card .remember-login-choice{display:flex;align-items:center;gap:10px;margin:16px 0;text-align:left;font-weight:600;cursor:pointer}
.login-card .remember-login-choice input{width:19px;height:19px;flex:0 0 auto;accent-color:var(--blue);margin:0}
.login-card .remember-login-choice span{display:block;font-size:14px;line-height:1.4}
.login-card .remember-login-choice small{display:block;font-size:12px;font-weight:400;color:var(--muted)}

/* v1.0.233 – Kamera auch nach Login-Update als schwebender Schnellzugriff */
@media(max-width:760px){
  .quick-site-camera{display:contents!important}
  .quick-site-camera-fab{position:fixed!important;right:18px!important;bottom:calc(18px + env(safe-area-inset-bottom, 0px))!important;left:auto!important;top:auto!important;z-index:700!important;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;width:auto!important;min-width:0!important;height:54px!important;padding:0 18px!important;border:0!important;border-radius:999px!important;background:#086dd0!important;color:#fff!important;box-shadow:0 7px 24px rgba(6,71,134,.32)!important;font-size:15px!important;font-weight:750!important}
  .quick-site-camera-fab svg{display:block;width:23px!important;height:23px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important}
  body.quick-camera-active .quick-site-camera-fab{display:none!important}
}
@media(min-width:761px){.quick-site-camera{display:none!important}}
