
/* ==========================================================
   CONTEC ServiceDesk V35.0.0 – Fresh Operations Design
   ========================================================== */
:root{
  --v35-bg:#f4f7f9;
  --v35-surface:#ffffff;
  --v35-surface-soft:#f8fafb;
  --v35-ink:#15313d;
  --v35-muted:#617985;
  --v35-line:#dbe5e9;
  --v35-line-strong:#cad8de;
  --v35-brand:#0d819a;
  --v35-brand-dark:#075f73;
  --v35-good:#2b9c6a;
  --v35-warn:#d69c26;
  --v35-bad:#d95656;
  --v35-radius:14px;
  --v35-shadow:0 10px 30px rgba(14,48,63,.055);
}
html{font-size:18px!important}
body{
  background:var(--v35-bg)!important;color:var(--v35-ink)!important;
  font-family:Inter,Arial,"Helvetica Neue",sans-serif!important;
  font-size:16px!important;line-height:1.52!important;
  letter-spacing:0!important;
}
body,button,input,select,textarea,table{font-family:Inter,Arial,"Helvetica Neue",sans-serif!important}
p,li,td{font-size:15px!important;line-height:1.5!important}
small,.small,.muted,.hint,.sub,.meta,.detail{font-size:13px!important;line-height:1.45!important;color:var(--v35-muted)}
label,.label,.field-label{font-size:14px!important;font-weight:700!important;color:#31515e!important}
input,select,textarea{font-size:15px!important;min-height:44px!important;border-radius:9px!important;border-color:var(--v35-line-strong)!important;background:#fff!important}
textarea{line-height:1.5!important}
button,.btn{font-size:14px!important;min-height:41px!important;border-radius:9px!important;font-weight:750!important}
h1{font-size:33px!important;line-height:1.1!important;letter-spacing:-.035em!important}
h2{font-size:24px!important;line-height:1.18!important;letter-spacing:-.02em!important}
h3{font-size:19px!important;line-height:1.22!important}
h4{font-size:16px!important}

/* APP SHELL – deliberately different from V34 */
.sidebar{
  width:238px!important;min-width:238px!important;
  background:#102f3b!important;
  border-right:0!important;
  box-shadow:10px 0 30px rgba(12,43,55,.08)!important;
}
.brand{
  min-height:88px!important;padding:17px 16px!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
.brand strong{font-size:18px!important;color:#fff!important}
.brand small{font-size:12px!important;color:rgba(255,255,255,.62)!important}
.sidebar-nav{padding:14px 11px 28px!important}
.sidebar-nav .nav-group-title,.sidebar .nav-group-title{
  font-size:10px!important;letter-spacing:.11em!important;
  color:rgba(255,255,255,.42)!important;margin:18px 9px 7px!important;
}
.sidebar .nav-btn,.sidebar-nav .nav-btn{
  min-height:46px!important;padding:10px 12px!important;border-radius:10px!important;
  color:rgba(255,255,255,.82)!important;background:transparent!important;
  font-size:14px!important;font-weight:700!important;border:0!important;
  display:flex!important;align-items:center!important;gap:10px!important;
}
.sidebar .nav-btn:hover,.sidebar-nav .nav-btn:hover{
  background:rgba(255,255,255,.07)!important;color:#fff!important;
}
.sidebar .nav-btn.active,.sidebar-nav .nav-btn.active{
  color:#102f3b!important;background:#fff!important;box-shadow:0 8px 22px rgba(0,0,0,.15)!important;
}
.sidebar .nav-btn.permission-hidden,.sidebar-nav .nav-btn.permission-hidden{display:none!important}

/* Header */
.topbar{
  min-height:86px!important;padding:16px 28px!important;background:#fff!important;
  border-bottom:1px solid var(--v35-line)!important;box-shadow:none!important;
}
.topbar h1{font-size:26px!important}
.topbar p{font-size:13px!important}
.global-search-wrap{max-width:610px!important}
.global-search-wrap input{font-size:15px!important;background:#f7f9fa!important;border-color:#d4e1e6!important}
.workspace-quickbar{display:none!important}

/* Main working canvas */
main{background:var(--v35-bg)!important}
.view{
  max-width:1640px!important;margin:0 auto!important;padding:28px 34px 56px!important;
}
.panel,.card,.box,.widget,.pro-kpi,.dashboard-card-v217{
  background:var(--v35-surface)!important;border:1px solid var(--v35-line)!important;
  border-radius:var(--v35-radius)!important;box-shadow:none!important;
}
.panel:hover,.card:hover{box-shadow:var(--v35-shadow)!important}
.panel-head,.section-head,.card-header{
  border-bottom:1px solid #edf2f4!important;padding-bottom:13px!important;margin-bottom:14px!important;
}
.panel-head h2,.panel-head h3,.section-title,.card-title{color:var(--v35-ink)!important}
.badge,.pill,.chip,.status-badge,.assistant-badge{
  font-size:12px!important;border-radius:999px!important;padding:6px 9px!important;
}

/* Buttons */
.primary,button.primary,.btn.primary{
  background:var(--v35-brand)!important;border-color:var(--v35-brand)!important;color:#fff!important;
  box-shadow:none!important;
}
.primary:hover,button.primary:hover{background:var(--v35-brand-dark)!important}
button:not(.primary):not(.danger),.btn:not(.primary):not(.danger){
  background:#fff!important;border-color:#ccd9de!important;color:#183744!important;
}

/* Dashboard – new command-center layout */
#dashboard{padding-top:30px!important}
#dashboard .pro-dashboard-head{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;
  gap:24px!important;padding:0 0 20px!important;margin:0 0 18px!important;border-bottom:1px solid var(--v35-line)!important;
}
#dashboard .pro-dashboard-head h1{font-size:38px!important}
#dashboard .workspace-kicker{font-size:11px!important;color:var(--v35-brand)!important}
#dashboard .v34-command,#dashboard .v34-workspaces,#dashboard .v34-beosys-boundary{display:none!important}
#dashboard .pro-kpi-grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin-bottom:14px!important;
}
#dashboard .pro-kpi{
  min-height:112px!important;padding:18px!important;text-align:left!important;border-top:4px solid #cbdde2!important;
}
#dashboard .pro-kpi:nth-child(1){border-top-color:var(--v35-brand)!important}
#dashboard .pro-kpi:nth-child(2){border-top-color:var(--v35-good)!important}
#dashboard .pro-kpi:nth-child(3){border-top-color:#6575d9!important}
#dashboard .pro-kpi:nth-child(4){border-top-color:var(--v35-warn)!important}
#dashboard .pro-kpi span{font-size:13px!important}
#dashboard .pro-kpi b{font-size:31px!important;margin:7px 0 2px!important}
#dashboard .pro-kpi small{font-size:12px!important}
#dashboard .v342-analytics{
  display:grid!important;grid-template-columns:1fr 1fr 2fr!important;gap:12px!important;margin-bottom:14px!important;
}
#dashboard .v342-chart-card{
  min-height:250px!important;padding:18px!important;border-radius:14px!important;border:1px solid var(--v35-line)!important;background:#fff!important;
}
#dashboard .v342-chart-card.v342-wide{grid-column:auto!important}
#dashboard .v342-chart-card:nth-child(4){grid-column:1/2!important}
#dashboard .pro-dashboard-grid{grid-template-columns:minmax(0,1fr)!important;margin-top:14px!important}
#dashboard .pro-dashboard-grid>.panel:last-child{display:none!important}
#dashboard .pro-dashboard-grid>.panel:first-child{min-height:300px!important}
#dashboard .dashboard-greeting-v217,#dashboard .dashboard-kpis-v217,#dashboard .dashboard-main-v217,
#dashboard .dashboard-team-v217,#dashboard .dashboard-quick-v217,#dashboard .dashboard-mindmap-v217{display:none!important}

/* OFFICE – completely separate, darker/focused workspace */
body.office-dashboard-v219 #dashboard{display:none!important}
body.office-dashboard-v219 #office{display:block!important}
#office{
  max-width:1640px!important;background:transparent!important;
}
#office>.workspace-view-header{
  display:flex!important;margin-bottom:18px!important;padding:0 0 17px!important;border-bottom:1px solid var(--v35-line)!important;
}
#office .office-team-pagehead{
  background:linear-gradient(135deg,#123844,#0d6172)!important;color:#fff!important;
  border-radius:18px!important;padding:24px!important;margin-bottom:14px!important;
}
#office .office-team-pagehead h1,#office .office-team-pagehead p,#office .office-team-pagehead .quality-eyebrow{color:#fff!important}
#office .office-team-kpis{
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;margin:0 0 14px!important;
}
#office .office-team-kpi{
  min-height:110px!important;background:#fff!important;border:1px solid var(--v35-line)!important;border-radius:12px!important;box-shadow:none!important;
}
#office .office-team-kpi small{font-size:12px!important}
#office .office-team-kpi b{font-size:19px!important}
#office .office-team-toolbar{
  padding:10px!important;background:#fff!important;border:1px solid var(--v35-line)!important;border-radius:12px!important;margin-bottom:14px!important;
}
#office .office-hero{
  background:#fff!important;border:1px solid var(--v35-line)!important;border-left:4px solid var(--v35-brand)!important;
  color:var(--v35-ink)!important;border-radius:14px!important;padding:18px!important;
}
#office .office-chat-grid{grid-template-columns:minmax(0,1.5fr) minmax(340px,.8fr)!important;gap:14px!important}
#office .panel{margin-bottom:14px!important}

/* Project / service / inventory – cleaner page rhythm */
#projectplanner .sd-process-strip,#service .sd-process-strip{
  background:#fff!important;border:1px solid var(--v35-line)!important;border-radius:12px!important;padding:9px!important;
}
#projectplanner .sd-process-step,#service .sd-process-step{
  font-size:13px!important;min-height:39px!important;
}
.tabs,[class*="tabs"],.filterbar,.toolbar{
  background:#eef3f5!important;border:0!important;border-radius:11px!important;padding:6px!important;
}
.tabs button,[role="tab"],[class*="tab"] button{min-height:40px!important;font-size:14px!important}

/* Tables */
table{border-collapse:separate!important;border-spacing:0!important}
table th{
  background:#f3f7f8!important;color:#526b76!important;font-size:13px!important;
  padding:12px 10px!important;border-bottom:1px solid var(--v35-line)!important;
}
table td{font-size:14px!important;padding:12px 10px!important;border-bottom:1px solid #edf2f4!important}
table tr:hover td{background:#fafcfc!important}

/* RENTAL – fix clipping and make it a real workspace */
#rental .rental-hero{
  background:linear-gradient(135deg,#123844,#0d6172)!important;color:#fff!important;border-radius:18px!important;padding:22px!important;
}
#rental .rental-grid{
  display:grid!important;grid-template-columns:minmax(360px,.75fr) minmax(620px,1.25fr)!important;gap:16px!important;align-items:start!important;
}
#rental .rental-assistant-panel,#rental .rental-create-panel{min-width:0!important}
#rental .rental-create-form{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;
}
#rental .rental-create-form label{font-size:14px!important;min-width:0!important}
#rental .rental-create-form input,#rental .rental-create-form select,#rental .rental-create-form textarea{width:100%!important;min-width:0!important;box-sizing:border-box!important}
#rental .rental-create-form .wide{grid-column:1/-1!important}
#rental .rental-chat-messages{height:260px!important}
#rental .rental-rows{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#rental .rental-card{padding:15px!important}
#rental .rental-category{font-size:11px!important}
#rental .rental-specs{font-size:13px!important}
#rental .rental-reservation-form{
  grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(145px,.7fr)) minmax(180px,1fr) minmax(180px,1fr)!important;
}
#rental .rental-reservation-form label{font-size:13px!important}

/* Forms everywhere */
.enterprise-form-row{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:10px!important}
.form-grid,.fields-grid{gap:12px!important}
.settings-actions{gap:9px!important}

/* Intranet / cards */
#intranet .panel,#machinepark .panel,#inventory .panel,#admin .panel,#service .panel,#projectplanner .panel{padding:18px!important}

/* old microscopic inline styles: hard floor */
main [style*="font-size: 8px"],main [style*="font-size:8px"],
main [style*="font-size: 9px"],main [style*="font-size:9px"],
main [style*="font-size: 10px"],main [style*="font-size:10px"],
main [style*="font-size: 11px"],main [style*="font-size:11px"]{font-size:13px!important}

/* Responsive */
@media(max-width:1300px){
  .sidebar{width:210px!important;min-width:210px!important}
  .view{padding:24px!important}
  #dashboard .v342-analytics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #dashboard .v342-chart-card.v342-wide{grid-column:span 2!important}
  #rental .rental-grid{grid-template-columns:1fr!important}
  #rental .rental-rows{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .sidebar{width:170px!important;min-width:170px!important}
  #dashboard .pro-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #office .office-team-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #office .office-chat-grid{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  .view{padding:14px!important}
  #dashboard .pro-kpi-grid,#dashboard .v342-analytics{grid-template-columns:1fr!important}
  #dashboard .v342-chart-card.v342-wide{grid-column:auto!important}
  #rental .rental-create-form,#rental .rental-rows,#rental .rental-reservation-form{grid-template-columns:1fr!important}
}
