/* Struvio App v0.3 — web-brand design system */
:root{
  --bg:#F5FAF8;
  --panel:#FFFFFF;
  --ink:#172033;
  --muted:#66778A;
  --line:#D7E6E2;
  --accent:#3156D3;
  --accent2:#0F766E;
  --accent-soft:#EEF3FF;
  --surface:#FFFFFF;
  --surface-muted:#F3F9F7;
  --surface-soft:#F6FAF9;
  --text:#172033;
  --text-muted:#66778A;
  --border:#D7E6E2;
  --good:#0F766E;
  --warn:#D97706;
  --bad:#C2414B;
  --shadow:0 16px 38px rgba(22,50,79,.08);
}
body{
  background:
    radial-gradient(circle at 85% 4%,rgba(49,86,211,.07),transparent 28%),
    linear-gradient(180deg,#F8FCFB 0%,#F3F9F7 100%);
}
.sidebar{
  width:252px;
  background:
    radial-gradient(circle at 15% 8%,rgba(49,86,211,.25),transparent 28%),
    linear-gradient(165deg,#102A43 0%,#12384B 56%,#0E4A47 120%);
  border-right:1px solid rgba(255,255,255,.06);
  padding:22px 16px;
}
.main{margin-left:252px}
.struvio-brand{gap:6px}
.struvio-brand-row{display:flex;align-items:center;gap:11px}
.struvio-mark{width:38px;height:38px;display:block}
.login-brand .struvio-mark{width:54px;height:54px}
.struvio-word{
  font-size:22px;
  line-height:1;
  font-weight:900;
  letter-spacing:.18em;
  color:#FFFFFF;
}
.login-brand .struvio-word{
  color:#16324F;
  font-size:34px;
}
.brand-subtitle{
  color:#A8BBC9;
  font-size:10px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.login-brand .brand-subtitle{color:#66778A}
.nav{
  color:#C6D4DF;
  border:1px solid transparent;
  border-radius:12px;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.nav:hover{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.07);
  color:#FFFFFF;
  transform:translateX(2px);
}
.nav.active{
  background:linear-gradient(135deg,rgba(49,86,211,.82),rgba(15,118,110,.78));
  border-color:rgba(255,255,255,.12);
  color:#FFFFFF;
  box-shadow:0 10px 26px rgba(0,0,0,.13);
}
.nav-section,.tenant-platform-section{
  color:#8FB0BD!important;
  opacity:1!important;
  letter-spacing:.14em!important;
}
.nav-overview .nav-ico,
.nav-customers .nav-ico,
.nav-finance .nav-ico,
.nav-payroll .nav-ico{color:#65D4C4}
.nav-projects .nav-ico,
.nav-capacity .nav-ico,
.nav-invoices .nav-ico{color:#8EA7FF}
.nav-expenses .nav-ico{color:#F3A1A8}
.sidebar-foot{color:#7F9CAA}
.topbar{
  min-height:92px;
  height:auto;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid #D7E6E2;
  box-shadow:0 4px 22px rgba(22,50,79,.035);
}
.topbar h1{color:#16324F;letter-spacing:-.025em}
.topbar p{color:#718195}
.btn{
  border-radius:11px;
  border-color:#D4E3DF;
}
.btn.primary{
  background:linear-gradient(135deg,#3156D3 0%,#2867BC 48%,#14998C 100%);
  border-color:transparent;
  color:#fff;
  box-shadow:0 10px 24px rgba(31,97,163,.18);
}
.btn.primary:hover{filter:brightness(.97);transform:translateY(-1px)}
.btn.ghost{background:#F8FCFB;border-color:#D7E6E2}
.panel,.card,.modal-card,.login-card{
  border:1px solid #D8E7E3;
  box-shadow:0 16px 36px rgba(22,50,79,.055);
}
.login-screen{
  background:
    radial-gradient(circle at 18% 18%,rgba(20,153,140,.15),transparent 30%),
    radial-gradient(circle at 82% 22%,rgba(49,86,211,.10),transparent 34%),
    linear-gradient(180deg,#FFFFFF 0%,#F2FBF8 100%);
}
.login-card{
  border-radius:24px;
  padding:32px;
}
.login-card:before{
  content:"";
  display:block;
  width:64px;
  height:4px;
  margin:0 auto 24px;
  border-radius:999px;
  background:linear-gradient(90deg,#3156D3,#0F766E);
}
.field input,.field select,.field textarea,
.search,input,select,textarea{
  border-color:#D5E4E0;
  border-radius:10px;
}
.field input:focus,.field select:focus,.field textarea:focus,
input:focus,select:focus,textarea:focus{
  border-color:#0F766E;
  outline:none;
  box-shadow:0 0 0 3px rgba(15,118,110,.09);
}
.kpi,.mini-kpi,.summary-card{
  border-color:#D9E7E4!important;
  background:linear-gradient(180deg,#FFFFFF 0%,#FBFEFD 100%)!important;
}
.badge,.status-pill{border-radius:999px}
.tabs{border-bottom-color:#D7E6E2}
.tab.active{
  color:#0F766E!important;
  border-bottom-color:#0F766E!important;
}
.language-switch{border-color:#D7E6E2;background:#fff}
.language-switch button.active{
  background:linear-gradient(135deg,#3156D3,#0F766E);
  color:#fff;
}
.notification-bell,.theme-toggle,.user-chip,.tenant-company-chip{
  border-color:#D7E6E2!important;
}
.active-timer-chip{
  border-color:#9DD8CF;
  background:#EEF9F6;
}
table thead th{
  color:#5D6F82;
  background:#F4F9F7;
}
table tbody tr:hover td{background:#F7FBFA}
.modal{backdrop-filter:blur(4px)}
.modal-card{border-radius:20px}
#toast{border-radius:12px}
@media(max-width:760px){
  .sidebar{width:74px;padding-left:10px;padding-right:10px}
  .main{margin-left:74px}
  .sidebar .struvio-word,.sidebar .brand-subtitle{display:none}
  .sidebar .struvio-mark{width:40px;height:40px}
  .sidebar-brand{align-items:center;padding-left:0;padding-right:0}
}

/* Struvio v0.3 — product polish: onboarding, plans and purposeful empty states */
.onboarding-panel{
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 8%,rgba(49,86,211,.08),transparent 30%),
    linear-gradient(180deg,#FFFFFF 0%,#FBFEFD 100%);
}
.onboarding-panel.is-complete{
  background:
    radial-gradient(circle at 92% 8%,rgba(15,118,110,.10),transparent 32%),
    linear-gradient(180deg,#FFFFFF 0%,#F6FCFA 100%);
}
.onboarding-progress-label{
  min-width:58px;
  text-align:center;
  padding:6px 10px;
  border-radius:999px;
  background:#EEF3FF;
  color:#3156D3;
  font-weight:800;
  font-size:13px;
}
.onboarding-progress{
  width:100%;
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#E8F0EE;
  margin:2px 0 18px;
}
.onboarding-progress>span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#3156D3,#0F766E);
  transition:width .3s ease;
}
.onboarding-steps{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.onboarding-step{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:12px;
  border:1px solid #DCE8E5;
  border-radius:14px;
  background:#FFFFFF;
}
.onboarding-step.done{background:#F5FBF9;border-color:#CFE5DF}
.onboarding-check{
  flex:0 0 24px;
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#EEF3FF;
  color:#3156D3;
  font-weight:900;
}
.onboarding-step.done .onboarding-check{background:#E3F5EF;color:#0F766E}
.onboarding-step-copy{min-width:0;display:flex;flex-direction:column;gap:3px;flex:1}
.onboarding-step-copy>b{font-size:13px;color:#172033}
.onboarding-step-copy>span{font-size:12px;color:#66778A;line-height:1.35;overflow-wrap:anywhere}
.onboarding-step .btn{align-self:center;white-space:normal}
.plan-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.plan-card{
  position:relative;
  min-width:0;
  padding:18px;
  border:1px solid #DCE6ED;
  border-radius:16px;
  background:#FFFFFF;
}
.plan-card.current{
  border-color:#8FA7F5;
  box-shadow:0 10px 28px rgba(49,86,211,.10);
  background:linear-gradient(180deg,#F8FAFF 0%,#FFFFFF 62%);
}
.plan-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.plan-card h3{font-size:20px;margin:3px 0 0;color:#16324F}
.plan-card p{margin:12px 0;color:#66778A;font-size:13px;line-height:1.45}
.plan-card ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.plan-card li{position:relative;padding-left:20px;color:#334155;font-size:13px;line-height:1.35}
.plan-card li:before{content:"✓";position:absolute;left:0;top:0;color:#0F766E;font-weight:900}
.plan-kicker{display:block;color:#718195;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.company-overview-panel{
  background:linear-gradient(135deg,#FFFFFF 0%,#F5FAFF 52%,#F2FBF8 100%);
}
.company-overview-panel h2{margin-top:4px}
.company-overview-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.company-overview-stats>span{
  display:flex;
  align-items:baseline;
  gap:7px;
  padding:8px 11px;
  border:1px solid #DCE8E5;
  border-radius:12px;
  background:rgba(255,255,255,.75);
}
.company-overview-stats b{font-size:17px;color:#16324F}
.company-overview-stats small{font-size:11px;color:#66778A}
.locked-feature-panel{background:#FAFBFC}
.empty-state{
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:28px;
  border:1px dashed #C9DAD5;
  border-radius:16px;
  background:linear-gradient(180deg,#FBFEFD,#F7FBFA);
  text-align:left;
}
.empty-state-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(135deg,#EEF3FF,#E9F8F4);
  color:#3156D3;
  font-size:24px;
  font-weight:900;
}
.empty-state b{display:block;color:#16324F;font-size:16px;margin-bottom:5px}
.empty-state p{max-width:560px;margin:0 0 12px;color:#66778A;line-height:1.45}
@media(max-width:1100px){
  .onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .onboarding-steps{grid-template-columns:1fr}
  .empty-state{align-items:flex-start;padding:20px}
  .company-overview-stats{display:grid;grid-template-columns:1fr 1fr;width:100%}
}

/* Struvio v0.3.1 — complete dark-theme overrides.
   Keep this block last: the branded light theme above intentionally uses
   fixed light surfaces, so dark mode must override those declarations. */
html[data-theme="dark"] body{
  background:
    radial-gradient(circle at 85% 4%,rgba(111,141,240,.10),transparent 30%),
    linear-gradient(180deg,#0f141d 0%,#111923 100%);
  color:var(--text);
}
html[data-theme="dark"] .topbar{
  background:rgba(23,32,44,.94);
  border-bottom-color:var(--border);
  box-shadow:0 4px 22px rgba(0,0,0,.18);
}
html[data-theme="dark"] .topbar h1,
html[data-theme="dark"] .plan-card h3,
html[data-theme="dark"] .company-overview-stats b,
html[data-theme="dark"] .empty-state b,
html[data-theme="dark"] .onboarding-step-copy>b{
  color:var(--text);
}
html[data-theme="dark"] .topbar p,
html[data-theme="dark"] .plan-card p,
html[data-theme="dark"] .plan-kicker,
html[data-theme="dark"] .company-overview-stats small,
html[data-theme="dark"] .empty-state p,
html[data-theme="dark"] .onboarding-step-copy>span{
  color:var(--text-muted);
}
html[data-theme="dark"] .btn{
  border-color:var(--border);
}
html[data-theme="dark"] .btn.ghost{
  background:var(--surface-soft);
  border-color:var(--border);
}
html[data-theme="dark"] .panel,
html[data-theme="dark"] .card,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .login-card{
  background:var(--surface);
  border-color:var(--border);
  box-shadow:0 16px 36px rgba(0,0,0,.18);
}
html[data-theme="dark"] .login-screen{
  background:
    radial-gradient(circle at 18% 18%,rgba(98,189,153,.10),transparent 30%),
    radial-gradient(circle at 82% 22%,rgba(111,141,240,.11),transparent 34%),
    linear-gradient(180deg,#0f141d 0%,#111923 100%);
}
html[data-theme="dark"] .login-brand .struvio-word{color:var(--text)}
html[data-theme="dark"] .login-brand .brand-subtitle{color:var(--text-muted)}
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field select,
html[data-theme="dark"] .field textarea,
html[data-theme="dark"] .search,
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{
  background:var(--surface);
  border-color:var(--border);
  color:var(--text);
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{color:var(--text-muted)}
html[data-theme="dark"] .kpi,
html[data-theme="dark"] .mini-kpi,
html[data-theme="dark"] .summary-card{
  border-color:var(--border)!important;
  background:linear-gradient(180deg,var(--surface) 0%,var(--surface-soft) 100%)!important;
  color:var(--text);
}
html[data-theme="dark"] .language-switch{
  border-color:var(--border);
  background:var(--surface);
}
html[data-theme="dark"] .notification-bell,
html[data-theme="dark"] .theme-toggle,
html[data-theme="dark"] .user-chip,
html[data-theme="dark"] .tenant-company-chip{
  border-color:var(--border)!important;
  background:var(--surface-soft);
  color:var(--text);
}
html[data-theme="dark"] .active-timer-chip{
  border-color:#4d97ff;
  background:rgba(77,151,255,.14);
}
html[data-theme="dark"] table thead th{
  color:var(--text-muted);
  background:var(--surface-soft);
}
html[data-theme="dark"] table tbody tr:hover td{background:var(--surface-soft)}
html[data-theme="dark"] .onboarding-panel{
  background:
    radial-gradient(circle at 92% 8%,rgba(111,141,240,.10),transparent 30%),
    linear-gradient(180deg,var(--surface) 0%,var(--surface-soft) 100%);
}
html[data-theme="dark"] .onboarding-panel.is-complete{
  background:
    radial-gradient(circle at 92% 8%,rgba(98,189,153,.11),transparent 32%),
    linear-gradient(180deg,var(--surface) 0%,var(--surface-soft) 100%);
}
html[data-theme="dark"] .onboarding-progress-label{
  background:var(--accent-soft);
  color:#aebeff;
}
html[data-theme="dark"] .onboarding-progress{background:var(--surface-muted)}
html[data-theme="dark"] .onboarding-step{
  border-color:var(--border);
  background:var(--surface);
}
html[data-theme="dark"] .onboarding-step.done{
  background:color-mix(in srgb,var(--good) 8%,var(--surface));
  border-color:color-mix(in srgb,var(--good) 32%,var(--border));
}
html[data-theme="dark"] .onboarding-check{
  background:var(--accent-soft);
  color:#aebeff;
}
html[data-theme="dark"] .onboarding-step.done .onboarding-check{
  background:color-mix(in srgb,var(--good) 18%,var(--surface));
  color:#7bd0ae;
}
html[data-theme="dark"] .plan-card{
  border-color:var(--border);
  background:var(--surface);
}
html[data-theme="dark"] .plan-card.current{
  border-color:color-mix(in srgb,var(--accent) 62%,var(--border));
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,var(--surface)) 0%,var(--surface) 68%);
  box-shadow:0 10px 28px rgba(0,0,0,.20);
}
html[data-theme="dark"] .plan-card li{color:var(--text)}
html[data-theme="dark"] .plan-card li:before{color:var(--good)}
html[data-theme="dark"] .company-overview-panel{
  background:linear-gradient(135deg,var(--surface) 0%,color-mix(in srgb,var(--accent) 7%,var(--surface)) 52%,color-mix(in srgb,var(--good) 6%,var(--surface)) 100%);
}
html[data-theme="dark"] .company-overview-stats>span{
  border-color:var(--border);
  background:color-mix(in srgb,var(--surface-muted) 82%,transparent);
}
html[data-theme="dark"] .locked-feature-panel{background:var(--surface-soft)}
html[data-theme="dark"] .empty-state{
  border-color:var(--border);
  background:linear-gradient(180deg,var(--surface) 0%,var(--surface-soft) 100%);
}
html[data-theme="dark"] .empty-state-icon{
  background:linear-gradient(135deg,var(--accent-soft),color-mix(in srgb,var(--good) 12%,var(--surface)));
  color:#aebeff;
}

/* Struvio v0.3.3-B — onboarding wizard + structured settings shell */
.settings-shell-nav{
  display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:6px;
  border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)
}
.settings-section-btn{
  appearance:none;border:0;background:transparent;color:var(--text-muted);font:inherit;font-weight:700;
  padding:9px 13px;border-radius:11px;cursor:pointer
}
.settings-section-btn:hover{background:var(--surface);color:var(--text)}
.settings-section-btn.active{background:var(--surface);color:var(--accent);box-shadow:0 5px 16px rgba(35,49,81,.08)}
.settings-shell-body{display:flex;flex-direction:column;gap:16px}
.settings-section-intro{padding:4px 2px 0}
.settings-section-intro h2{margin:0 0 4px;font-size:19px;color:var(--text)}
.settings-section-intro p{margin:0;color:var(--text-muted);font-size:13px}
.settings-choice-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--border)}
.settings-choice-row:first-of-type{border-top:0}
.segmented{display:flex;gap:6px}
.onboarding-wizard{min-width:0}
.onboarding-wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px}
.onboarding-wizard-step{
  appearance:none;border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;padding:10px 8px;
  color:var(--text-muted);cursor:pointer;text-align:center;min-width:0
}
.onboarding-wizard-step>span{display:flex;width:26px;height:26px;align-items:center;justify-content:center;margin:0 auto 6px;border-radius:50%;background:var(--surface);font-weight:800}
.onboarding-wizard-step>small{display:block;font-weight:700;white-space:normal;line-height:1.2}
.onboarding-wizard-step.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.onboarding-wizard-step.done{border-color:color-mix(in srgb,var(--good) 45%,var(--border))}
.onboarding-wizard-step.done>span{background:color-mix(in srgb,var(--good) 14%,var(--surface));color:var(--good)}
.onboarding-wizard-copy{margin-bottom:14px}
.onboarding-wizard-copy h3{margin:0 0 5px;font-size:18px;color:var(--text)}
.onboarding-wizard-copy p{margin:0;color:var(--text-muted);line-height:1.5}
.onboarding-complete-mark{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin:18px auto;border-radius:50%;background:color-mix(in srgb,var(--good) 14%,var(--surface));color:var(--good);font-size:36px;font-weight:900}

@media(max-width:780px){
  .settings-shell-nav{display:grid;grid-template-columns:1fr 1fr}
  .settings-section-btn{text-align:left}
  .onboarding-wizard-steps{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .settings-shell-nav{grid-template-columns:1fr}
  .onboarding-wizard-steps{grid-template-columns:1fr}
  .onboarding-wizard-step{display:flex;align-items:center;text-align:left;gap:9px}
  .onboarding-wizard-step>span{margin:0;flex:0 0 26px}
  .settings-choice-row{align-items:flex-start;flex-direction:column}
}
html[data-theme="dark"] .settings-shell-nav,
html[data-theme="dark"] .onboarding-wizard-step{background:var(--surface-soft);border-color:var(--border)}
html[data-theme="dark"] .settings-section-btn.active{background:var(--surface);color:#aebeff;box-shadow:0 6px 18px rgba(0,0,0,.18)}
html[data-theme="dark"] .onboarding-wizard-step.active{background:var(--accent-soft);border-color:#7187e8;color:#aebeff}
html[data-theme="dark"] .onboarding-wizard-step>span{background:var(--surface)}

/* Struvio v0.3.3 — UX consistency, account-security states and responsive polish */
.service-state{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-soft);
  color:var(--text);
  line-height:1.45;
}
.service-state span{color:var(--text-muted);font-size:12px}
.service-state.warn{
  border-color:color-mix(in srgb,var(--warn) 42%,var(--border));
  background:color-mix(in srgb,var(--warn) 8%,var(--surface));
}
.account-security-panel .panel-head{gap:10px;flex-wrap:wrap}
.settings-shell-body .form-actions{flex-wrap:wrap}
.settings-shell-body .btn[disabled],
.modal-card .btn[disabled]{
  cursor:not-allowed;
  opacity:.55;
  box-shadow:none;
  transform:none;
}
.btn:focus-visible,
.settings-section-btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 32%,transparent);
  outline-offset:2px;
}
.account-flow-panel .login-error:not(:empty){
  margin-top:10px;
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--bad) 38%,var(--border));
  border-radius:9px;
  background:color-mix(in srgb,var(--bad) 7%,var(--surface));
}
@media(max-width:680px){
  .settings-shell-body .grid2{grid-template-columns:1fr!important}
  .settings-shell-body .panel-head{align-items:flex-start;flex-wrap:wrap}
  .settings-shell-body .form-actions>.btn{max-width:100%}
  .modal-card{width:min(96vw,680px);max-height:92vh;overflow:auto}
  .account-security-panel .badge{white-space:normal;text-align:center}
}
html[data-theme="dark"] .service-state{
  border-color:var(--border);
  background:var(--surface-soft);
}
html[data-theme="dark"] .service-state.warn{
  border-color:color-mix(in srgb,var(--warn) 40%,var(--border));
  background:color-mix(in srgb,var(--warn) 9%,var(--surface));
}
html[data-theme="dark"] .account-flow-panel .login-error:not(:empty){
  background:color-mix(in srgb,var(--bad) 10%,var(--surface));
  border-color:color-mix(in srgb,var(--bad) 38%,var(--border));
}


/* Struvio v0.3.4 — responsive application header. */
.topbar{gap:18px}
.topbar-heading{flex:1 1 320px;min-width:220px;overflow:hidden}
.topbar-heading h1,.topbar-heading p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 1 auto;min-width:0}
.top-action-group{display:flex;align-items:center;gap:8px;min-width:0}
.top-actions .btn,.top-actions .theme-toggle,.top-actions .user-chip,.top-actions .tenant-company-chip,.top-actions .active-timer-chip{white-space:nowrap}
.top-actions .user-chip{max-width:190px;overflow:hidden;text-overflow:ellipsis}
.top-actions .tenant-company-chip{max-width:165px}
#newProjectBtn{min-width:max-content}
@media(max-width:1600px){
  .topbar{padding-left:20px;padding-right:20px;gap:14px}
  .top-actions,.top-action-group{gap:6px}
  .top-actions .btn{padding-left:11px;padding-right:11px}
  .top-actions .global-search-btn kbd{display:none}
  .top-actions .tenant-company-chip{max-width:135px}
  .top-actions .user-chip{max-width:155px}
  .top-actions .theme-toggle{padding-left:10px;padding-right:10px}
}
@media(max-width:1450px){
  .topbar{align-items:flex-start;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;gap:10px}
  .topbar-heading{flex:1 1 100%;min-width:0}
  .top-actions{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px 10px;justify-content:stretch}
  .top-actions-context{min-width:0}
  .top-actions-context .tenant-company-chip{max-width:145px}
  .top-actions-context .user-chip{max-width:190px}
  .top-actions-preferences,.top-actions-project{justify-self:end}
}
@media(max-width:1180px){
  .sidebar{width:74px;padding:14px 10px}
  .main{margin-left:74px}
  .sidebar .brand{padding:0 0 18px;align-items:center}
  .sidebar .struvio-word,.sidebar .brand-subtitle,.sidebar .nav-section,.sidebar .tenant-platform-section,.sidebar-foot{display:none}
  .sidebar .struvio-mark{width:40px;height:40px}
  .sidebar-brand{align-items:center;padding-left:0;padding-right:0}
  .sidebar .nav{justify-content:center;padding:11px 8px;font-size:0}
  .sidebar .nav>span:not(.nav-ico){display:none}
  .sidebar .nav-ico{width:22px;height:22px;flex-basis:22px}
  .sidebar .nav-ico svg{width:20px;height:20px}
  .top-actions{grid-template-columns:minmax(0,1fr) auto}
  .top-actions-context,.top-actions-project{justify-self:end}
  .top-actions-main,.top-actions-preferences{justify-self:start}
}
@media(max-width:820px){
  .topbar{padding:12px 14px}
  .topbar h1{font-size:21px}
  .top-actions{gap:7px 8px}
  .top-actions .user-chip{max-width:180px}
  .top-actions-context .tenant-company-chip{max-width:125px}
}
@media(max-width:680px){
  .topbar-heading p{white-space:normal}
  .top-actions{grid-template-columns:1fr}
  .top-action-group{justify-self:stretch;justify-content:flex-start;flex-wrap:wrap}
  .top-actions-context,.top-actions-preferences,.top-actions-project{justify-self:stretch}
  .top-actions-project #newProjectBtn{flex:1 1 auto}
}
