:root{
  --pro-ink:#171614;
  --pro-muted:#6f6a61;
  --pro-faint:#9a9388;
  --pro-line:#e7e1d7;
  --pro-line-strong:#d8d0c4;
  --pro-bg:#f8f6f1;
  --pro-panel:#fff;
  --pro-green:#184f3a;
  --pro-green-2:#103b2a;
  --pro-soft:#f1f7f3;
  --pro-shadow:0 18px 44px rgba(38,32,24,.075);
  --pro-shadow-soft:0 10px 26px rgba(38,32,24,.052);
}

html{background:var(--pro-bg)}
body{
  color:var(--pro-ink)!important;
  background:
    linear-gradient(180deg,#fff 0%,#faf8f3 45%,#f4f0e8 100%)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

header{
  border-bottom:1px solid rgba(231,225,215,.95)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 12px 32px rgba(33,29,23,.045)!important;
}

.brand h1,.brandName,.title h1,h1,h2,h3,strong{
  letter-spacing:0!important;
}

button,.linkBtn,.fileAction,.homeLink,.topNav a,input::file-selector-button,.filePick{
  border-radius:7px!important;
  font-weight:760!important;
  box-shadow:none!important;
  transition:background-color .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease!important;
}

button:hover,.linkBtn:hover,.fileAction:hover,.topNav a:hover,input::file-selector-button:hover,.filePick:hover{
  transform:none!important;
}

button,.linkBtn,.fileAction{
  border-color:transparent!important;
  background:transparent!important;
  color:var(--pro-ink)!important;
}

button:hover,.linkBtn:hover,.fileAction:hover{
  border-color:transparent!important;
  background:rgba(24,79,58,.055)!important;
  color:var(--pro-green)!important;
  box-shadow:inset 0 -2px 0 rgba(24,79,58,.42)!important;
}

.primaryBtn,button.primary,.linkBtn.primary,.fileAction.primary,input::file-selector-button,.filePick{
  border-color:var(--pro-green)!important;
  background:var(--pro-green)!important;
  color:#fff!important;
  box-shadow:0 9px 18px rgba(24,79,58,.13)!important;
}

.primaryBtn:hover,button.primary:hover,.linkBtn.primary:hover,input::file-selector-button:hover,.filePick:hover{
  border-color:var(--pro-green-2)!important;
  background:var(--pro-green-2)!important;
  color:#fff!important;
}

.switchClientBtn,.moreBtn,#moreButton,#kanzleiNavButton,.topNav a,.homeLink{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}

.switchClientBtn:hover,.moreBtn:hover,#moreButton:hover,#kanzleiNavButton:hover,.topNav a:hover,.homeLink:hover{
  background:transparent!important;
  color:var(--pro-green)!important;
}

button.active,.topNav a.active,#kanzleiNavButton.active{
  border-color:transparent!important;
  background:transparent!important;
  color:var(--pro-green)!important;
  box-shadow:none!important;
}

.officeNav button,.sideNav button{
  border:0!important;
  background:transparent!important;
  color:var(--pro-muted)!important;
  border-radius:7px!important;
}

.officeNav button.active,.officeNav button:hover,
.sideNav button.active,.sideNav button:hover{
  background:var(--pro-soft)!important;
  color:var(--pro-green)!important;
}

.caseSide,.officeSide{
  background:rgba(255,255,255,.72)!important;
  border-right:1px solid var(--pro-line)!important;
  box-shadow:none!important;
}

.app,.panel,.card,.box,.hero,.clientHero,.clientCard,.authPanel,.modalBox,.modalCard,.sideCard,.learnCard,.complianceMonitor{
  border:1px solid var(--pro-line)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:var(--pro-shadow-soft)!important;
}

.panel,.card,.box,.hero,.clientHero,.clientCard{
  overflow:hidden;
}

.panelHead,.timelineHead,.toolbar,.modalHead,.previewHead{
  border-color:var(--pro-line)!important;
}

.panel h3,.card h2,.eyebrow,.clientTitle h2,.hero h2,.title h1{
  color:var(--pro-green)!important;
}

.sub,.panelSub,.heroText,.small,.meta,.fileMeta,.clientNo,.count,.status,.hint,.driveHint,.driveList,.sideFoot,label,.fact span{
  color:var(--pro-muted)!important;
}

.panelSub,.heroText,.small,.hint,.drop p,.driveAuto span span,.title p,.brand .sub{
  display:none!important;
}

input,select,textarea,.passwordWrap{
  border:1px solid var(--pro-line-strong)!important;
  border-radius:7px!important;
  background:#fff!important;
  box-shadow:none!important;
}

input:focus,select:focus,textarea:focus,.passwordWrap:focus-within{
  outline:3px solid rgba(24,79,58,.12)!important;
  border-color:#97b7a6!important;
}

.drop{
  border:1px dashed #c9bda9!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
}

.drop:before{border-color:#d8cdbc!important}
.drop strong{color:var(--pro-green)!important}

.empty,.notesEmpty{
  min-height:72px!important;
  border:1px dashed #ddd5ca!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--pro-muted)!important;
  box-shadow:none!important;
}

.empty::before{display:none!important}

.doc,.fileRow,.deadlineItem,.startSignal,.line,.supplierRow,.noteItem,.dailyReminderItem{
  border-color:var(--pro-line)!important;
  background:#fff!important;
  border-radius:7px!important;
}

.doc,.deadlineItem,.startSignal,.noteItem,.dailyReminderItem{
  box-shadow:none!important;
}

.fileRow{
  border-radius:0!important;
}

.tag,.pill,.year,.mandantBadge,.driveStat,.complianceState{
  border-color:#d9e8df!important;
  background:#f7fbf8!important;
  color:var(--pro-green)!important;
}

.updatePill{
  border:1px solid #d8e6dc!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--pro-green)!important;
  box-shadow:0 8px 22px rgba(33,29,23,.08)!important;
}

.preview{
  border-radius:8px!important;
  box-shadow:0 24px 70px rgba(25,24,22,.22)!important;
}

.previewFrame{
  background:#f2efe8!important;
}

table{
  border-collapse:separate!important;
  border-spacing:0!important;
}

th{
  background:#faf8f3!important;
  color:var(--pro-muted)!important;
  font-size:12px!important;
  letter-spacing:0!important;
}

td,th{
  border-color:var(--pro-line)!important;
}

@media(max-width:1120px){
  .panel,.card,.box,.hero,.clientHero,.clientCard{box-shadow:none!important}
}

/* Professional surface pass 15.64 */
:root{
  --pro-ink:#1f1f1d;
  --pro-muted:#6a655d;
  --pro-faint:#8d867b;
  --pro-line:#ded7cc;
  --pro-line-strong:#cfc5b7;
  --pro-bg:#f5f2ec;
  --pro-panel:#fffdf9;
  --pro-green:#174b37;
  --pro-green-2:#0f3a2a;
  --pro-soft:#eef4f0;
  --pro-selection:#e8f1ec;
  --pro-danger:#a92b2b;
  --pro-shadow:0 1px 2px rgba(26,24,21,.04),0 14px 34px rgba(26,24,21,.055);
  --pro-shadow-soft:0 1px 2px rgba(26,24,21,.035),0 8px 20px rgba(26,24,21,.045);
}

html,body{
  background:var(--pro-bg)!important;
}

body{
  font-size:14px!important;
  line-height:1.42!important;
}

header{
  min-height:72px!important;
  padding:14px clamp(22px,4vw,54px)!important;
  border-bottom:1px solid var(--pro-line)!important;
  background:rgba(255,253,249,.94)!important;
  backdrop-filter:saturate(1.15) blur(14px)!important;
}

.logo{
  width:50px!important;
  height:50px!important;
  border-radius:0!important;
}

.brand{
  gap:12px!important;
}

.brand h1,.brandName{
  font-size:16px!important;
  font-weight:780!important;
}

main{
  color:var(--pro-ink)!important;
}

.app{
  background:var(--pro-bg)!important;
}

.caseMain,.officeMain{
  padding-top:18px!important;
}

.caseSide,.officeSide,.mailSidebar{
  background:rgba(255,253,249,.84)!important;
}

.sideNav,.officeNav{
  gap:4px!important;
}

.sideNav button,.officeNav button{
  min-height:44px!important;
  padding:10px 12px!important;
  font-weight:720!important;
}

.sideIcon,.officeIcon{
  color:var(--pro-green)!important;
  opacity:.92!important;
}

.crumbs,.eyebrow,.panelSub,.heroText,.small,.meta,.fileMeta,.clientNo,.count,.status,.hint,.driveHint,.sideFoot,label,.fact span,.heroFact span{
  color:var(--pro-muted)!important;
}

.eyebrow{
  font-size:10px!important;
  font-weight:820!important;
  letter-spacing:.12em!important;
}

h1,h2,h3,.title h1,.hero h2,.clientTitle h2{
  color:var(--pro-ink)!important;
  font-weight:820!important;
  letter-spacing:0!important;
}

.panel h3,.card h2{
  color:var(--pro-green)!important;
  font-size:15px!important;
}

.hero,.clientHero,.clientCard,.panel,.card,.box,.authPanel,.modalCard,.modalBox,.complianceMonitor{
  border:1px solid var(--pro-line)!important;
  border-radius:8px!important;
  background:var(--pro-panel)!important;
  box-shadow:var(--pro-shadow-soft)!important;
}

.hero,.clientHero{
  padding:14px 16px!important;
}

.panel{
  padding:14px!important;
}

.panelHead,.timelineHead,.toolbar,.readerTop,.viewerHead,.previewHead,.modalHead{
  min-height:44px!important;
}

button,.linkBtn,.fileAction,.homeLink,input::file-selector-button,.filePick{
  min-height:38px!important;
  border:0!important;
  border-color:transparent!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--pro-ink)!important;
  font-weight:760!important;
  padding:8px 12px!important;
  box-shadow:none!important;
}

button:hover,.linkBtn:hover,.fileAction:hover,.homeLink:hover,input::file-selector-button:hover,.filePick:hover{
  background:rgba(24,79,58,.055)!important;
  border-color:transparent!important;
  color:var(--pro-green)!important;
  box-shadow:inset 0 -2px 0 rgba(24,79,58,.42)!important;
}

.primaryBtn,button.primary,.linkBtn.primary,.fileAction.primary,input::file-selector-button,.filePick{
  border:0!important;
  border-color:transparent!important;
  border-radius:9px!important;
  background:var(--pro-green)!important;
  color:#fff!important;
}

.primaryBtn:hover,button.primary:hover,.linkBtn.primary:hover,.fileAction.primary:hover,input::file-selector-button:hover,.filePick:hover{
  background:var(--pro-green-2)!important;
  color:#fff!important;
}

button:disabled,.linkBtn:disabled,.fileAction:disabled{
  opacity:.48!important;
}

input,select,textarea,.passwordWrap{
  min-height:38px!important;
  border:1px solid var(--pro-line-strong)!important;
  border-radius:7px!important;
  background:#fff!important;
  color:var(--pro-ink)!important;
  font-weight:680!important;
}

input:focus,select:focus,textarea:focus,.passwordWrap:focus-within{
  outline:2px solid rgba(23,75,55,.14)!important;
  border-color:#8daa9a!important;
}

.clientLogo{
  border-radius:8px!important;
  box-shadow:none!important;
  background:var(--pro-green)!important;
}

.year,.pill,.tag,.mandantBadge,.driveStat,.complianceState,.updatePill,.attachmentBadge{
  border-radius:999px!important;
  border-color:#d7e2db!important;
  background:#f8fbf9!important;
  color:var(--pro-green)!important;
  box-shadow:none!important;
}

.doc,.fileRow,.deadlineItem,.startSignal,.line,.supplierRow,.noteItem,.dailyReminderItem,.mailItem,.folder,.categoryFolder,.attachmentRow{
  border:1px solid var(--pro-line)!important;
  border-radius:7px!important;
  background:#fffdf9!important;
  box-shadow:none!important;
}

.fileRow{
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
}

.doc:hover,.fileRow:hover,.deadlineItem:hover,.startSignal:hover,.mailItem:hover,.folder:hover,.categoryFolder:hover{
  background:#faf8f3!important;
}

.doc.active,.fileRow.active,.deadlineItem.active,.mailItem.active,.folder.active,.categoryFolder.active,.sideNav button.active,.officeNav button.active{
  background:var(--pro-selection)!important;
  outline:none!important;
}

.drop,.empty,.notesEmpty{
  border:1px dashed #d2c8ba!important;
  border-radius:7px!important;
  background:#fffdf9!important;
  box-shadow:none!important;
}

.drop strong{
  color:var(--pro-green)!important;
}

.preview,.viewerDialog{
  border-radius:8px!important;
  background:var(--pro-panel)!important;
  box-shadow:0 22px 70px rgba(25,24,22,.25)!important;
}

.previewFrame,.viewerBody{
  background:#f0ede7!important;
}

.mailWorkspace{
  background:#fffdf9!important;
}

.messageCanvas{
  background:#f4f1eb!important;
}

.messagePaper{
  background:#fffdf9!important;
}

.readerTop,.listHeader,.toolbarTop{
  border-color:var(--pro-line)!important;
}

.detailBody{
  color:var(--pro-ink)!important;
}

.dangerBtn,button.danger,.fileAction.danger{
  color:var(--pro-danger)!important;
  border-color:transparent!important;
  background:rgba(177,18,18,.045)!important;
}

.dangerBtn:hover,button.danger:hover,.fileAction.danger:hover{
  color:#7f1717!important;
  background:rgba(177,18,18,.075)!important;
  box-shadow:inset 0 -2px 0 rgba(177,18,18,.42)!important;
}

table,td,th{
  border-color:var(--pro-line)!important;
}

th{
  background:#f7f4ee!important;
}


/* Responsive desktop layout 16.19 */
@media (max-width: 1500px){
  .startGrid{
    grid-template-columns:minmax(250px,.82fr) minmax(340px,1.18fr) minmax(250px,.82fr)!important;
    gap:12px!important;
  }
  .officeDataRow{
    grid-template-columns:minmax(88px,.72fr) minmax(0,1.28fr)!important;
    gap:8px!important;
  }
  .officeDataRow span:last-child{
    min-width:0!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .clientSearch label{min-width:0!important}
  .clientSearch input{width:100%!important;min-width:0!important}
  .clientSearch button{max-width:100%!important}
  .officeDocRow{grid-template-columns:minmax(0,1fr) 104px!important;gap:9px!important;padding:9px 10px!important}
  .sectionHead{align-items:flex-start!important;flex-wrap:wrap!important}
  .sectionHead h3{min-width:0!important;overflow-wrap:anywhere!important}
}
@media (max-width: 1280px){
  .clientPanel{padding:16px 18px 22px!important}
  .officeLayout{grid-template-columns:190px minmax(0,1fr)!important}
  .officeSide{padding:22px 12px 18px!important}
  .officeNav button{padding:11px 10px!important;gap:10px!important}
  .startGrid{grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr)!important}
  #officeUpload{grid-column:1 / -1!important}
  .officeUploadDrop{min-height:92px!important}
  header{gap:12px!important;padding-left:18px!important;padding-right:18px!important}
  .brand{min-width:170px!important}
  nav{gap:4px!important}
}
@media (max-width: 1040px){
  .startGrid{grid-template-columns:1fr!important}
  #officeUpload{grid-column:auto!important}
  .clientSearch{grid-template-columns:1fr!important}
  .clientSearch button{width:100%!important}
  .officeDataRow{grid-template-columns:minmax(110px,.55fr) minmax(0,1fr)!important}
}

.clientPortalTabBadge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:5px;border-radius:999px;background:#b11212;color:#fff;font-size:11px;font-weight:950;line-height:1}
.clientPortalTabBadge[hidden]{display:none!important}
#clientPortalClient option[data-unread]:not([data-unread="0"]){font-weight:800}

/* Rahmenlose Hauptnavigation 16.29 */
#programNav .programTile,
#programNav .programTile:hover,
#programNav .programTile.active,
#programNav #kanzleiNavButton,
#programNav #kanzleiNavButton:hover,
#programNav #kanzleiNavButton.active{
  border:0!important;
  border-color:transparent!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
}
#programNav .programTile:hover{transform:translateY(-2px)!important}
#programNav .programTile.active,
#programNav #kanzleiNavButton.active{transform:translateY(-1px)!important}

/* Klassische rahmenlose Aktionsknöpfe 16.30 */
.linkBtn:not(.primary):not(.danger),
.fileAction:not(.primary):not(.danger){
  border:0!important;
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}
.linkBtn:not(.primary):not(.danger):hover,
.fileAction:not(.primary):not(.danger):hover{
  border:0!important;
  background:rgba(24,79,58,.055)!important;
  box-shadow:inset 0 -2px 0 rgba(24,79,58,.42)!important;
}
button:focus-visible,.linkBtn:focus-visible,.fileAction:focus-visible{
  outline:2px solid rgba(24,79,58,.34)!important;
  outline-offset:2px!important;
}
.primaryBtn,button.primary,.linkBtn.primary,.fileAction.primary,input::file-selector-button,.filePick{
  border:0!important;
  border-radius:9px!important;
}
