:root{
  --client-petrol:#0F2C33;
  --client-deep:#081D22;
  --client-sand:#D8C6A0;
  --client-brick:#A93622;
  --client-warm:#F8F5EE;
  --client-gray:#E4E2DE;
  --client-text:#26383C;
  --client-muted:#737873;
  --client-line:rgba(15,44,51,.13);
  --client-serif:Georgia,"Times New Roman",serif;
  --client-sans:Inter,Manrope,Arial,sans-serif;
}

/* Area Clienti — rifinitura operativa 2026-08-27 */
.client-shell{grid-template-columns:265px minmax(0,1fr)!important}
.client-sidebar{overflow:hidden!important;padding:0!important}
.client-navigation{
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(216,198,160,.35) transparent;
}
.client-sidebar__footer{flex:0 0 auto}
.client-topbar-notifications{
  position:relative;
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border:1px solid var(--client-line);
  color:var(--client-petrol);
  text-decoration:none;
}
.client-topbar-notifications>b{
  position:absolute;
  top:-6px;
  right:-6px;
  display:grid;
  min-width:18px;
  height:18px;
  place-items:center;
  padding:0 4px;
  background:var(--client-brick);
  color:#fff;
  font-size:8px;
}
.client-helper{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:120;
}
.client-helper__trigger{
  position:relative;
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  border:1px solid rgba(216,198,160,.45);
  border-radius:50%;
  background:var(--client-petrol);
  color:var(--client-warm);
  box-shadow:0 16px 40px rgba(8,29,34,.22);
  cursor:pointer;
}
.client-helper__trigger span{font-family:var(--client-serif);font-size:18px}
.client-helper__trigger i{
  position:absolute;
  top:-3px;
  right:-3px;
  display:grid;
  width:20px;
  height:20px;
  place-items:center;
  border-radius:50%;
  background:var(--client-brick);
  color:#fff;
  font-size:10px;
  font-style:normal;
}
.client-helper__panel{
  position:absolute;
  right:0;
  bottom:70px;
  width:min(340px,calc(100vw - 32px));
  padding:20px;
  border:1px solid var(--client-line);
  background:var(--client-warm);
  box-shadow:0 22px 65px rgba(8,29,34,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.2s ease;
}
.client-helper.is-open .client-helper__panel{
  opacity:1;
  visibility:visible;
  transform:none;
}
.client-helper__panel header{display:flex;justify-content:space-between;align-items:center}
.client-helper__panel header span{color:var(--client-brick);font-size:8px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.client-helper__panel header button{border:0;background:transparent;color:var(--client-petrol);font-size:20px;cursor:pointer}
.client-helper__panel>strong{display:block;margin-top:18px;color:var(--client-petrol);font-family:var(--client-serif);font-size:25px;font-weight:500}
.client-helper__panel p{margin:10px 0 18px;font-size:12px;line-height:1.65}
.client-helper__panel>a{color:var(--client-brick);font-size:10px;font-weight:900;text-decoration:none;text-transform:uppercase;letter-spacing:.08em}
.client-calendar-events a.is-event{border-left-color:var(--client-sand)!important;background:#f3ede1!important}

@media(max-width:1180px){
  .client-main{margin-left:0!important}
}
@media(max-width:760px){
  .client-content{width:100%!important;padding:28px 16px 90px!important}
  .client-helper{right:16px;bottom:16px}
  .client-user-menu>div{display:none}
}
.client-portal-body,
.client-auth-body{
  background:var(--client-warm)!important;
  color:var(--client-text)!important;
  font-family:var(--client-sans)!important;
}
.client-auth-body.client-auth-body--login{
  background:var(--client-petrol)!important;
}
.client-sidebar{
  width:265px!important;
  background:linear-gradient(180deg,var(--client-deep),var(--client-petrol))!important;
  border-right:1px solid rgba(248,245,238,.08)!important;
  color:var(--client-warm)!important;
  box-shadow:none!important;
}
.client-sidebar__header{
  min-height:86px!important;
  padding:15px 18px!important;
  border-bottom:1px solid rgba(248,245,238,.10)!important;
}
.client-brand{padding:0!important;background:none!important;text-decoration:none!important}
.client-brand-logo{display:block;width:172px;height:auto;max-height:58px}
.client-sidebar__close{
  border:1px solid rgba(248,245,238,.16)!important;
  border-radius:2px!important;
  background:transparent!important;
  color:var(--client-warm)!important;
}
.client-company-card{
  margin:15px!important;
  padding:16px!important;
  border:1px solid rgba(216,198,160,.23)!important;
  border-radius:2px!important;
  background:rgba(216,198,160,.06)!important;
  box-shadow:none!important;
}
.client-company-card>span{
  color:var(--client-sand)!important;
  font-size:8px!important;
  letter-spacing:.14em!important;
}
.client-company-card strong{
  color:var(--client-warm)!important;
  font-family:var(--client-serif)!important;
  font-size:20px!important;
  font-weight:500!important;
}
.client-company-card small{color:rgba(248,245,238,.48)!important}
.client-navigation{padding:3px 12px!important}
.client-navigation__label{
  margin:18px 10px 7px!important;
  color:rgba(216,198,160,.68)!important;
  font-size:8px!important;
  letter-spacing:.15em!important;
}
.client-nav-link{
  min-height:46px!important;
  margin:2px 0!important;
  padding:8px 10px!important;
  border:0!important;
  border-left:2px solid transparent!important;
  border-radius:2px!important;
  background:transparent!important;
  color:rgba(248,245,238,.70)!important;
  transition:.18s ease!important;
}
.client-nav-link:hover{
  padding-left:14px!important;
  background:rgba(248,245,238,.055)!important;
  color:var(--client-warm)!important;
}
.client-nav-link.is-active{
  border-left-color:var(--client-brick)!important;
  background:rgba(216,198,160,.095)!important;
  color:var(--client-warm)!important;
}
.client-nav-link i{
  display:grid!important;
  width:28px!important;height:28px!important;
  place-items:center!important;
  border:1px solid rgba(248,245,238,.12)!important;
  border-radius:2px!important;
  color:var(--client-sand)!important;
  font-style:normal!important;
}
.client-nav-badge{
  border-radius:1px!important;
  background:var(--client-brick)!important;
  color:#fff!important;
}
.client-sidebar__footer{padding:15px!important;border-top:1px solid rgba(248,245,238,.08)!important}
.client-logout-button{
  min-height:43px!important;
  border:1px solid rgba(248,245,238,.15)!important;
  border-radius:2px!important;
  background:transparent!important;
  color:var(--client-warm)!important;
}
.client-main{
  min-width:0!important;
  min-height:100vh!important;
  margin-left:0!important;
  background:var(--client-warm)!important;
}
.client-topbar{
  min-height:72px!important;
  padding:10px 28px!important;
  border-bottom:1px solid var(--client-line)!important;
  background:rgba(248,245,238,.94)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px)!important;
}
.client-topbar__context span{
  color:var(--client-brick)!important;
  letter-spacing:.12em!important;
}
.client-topbar__context strong{
  color:var(--client-petrol)!important;
  font-family:var(--client-serif)!important;
  font-size:18px!important;
  font-weight:500!important;
}
.client-user-menu>span{
  border-radius:2px!important;
  background:var(--client-petrol)!important;
  color:var(--client-warm)!important;
}
.client-user-menu strong{color:var(--client-petrol)!important}
.client-user-menu small{color:var(--client-muted)!important}
.client-content{
  max-width:1500px!important;
  padding:50px 45px 80px!important;
}
.client-content h1,.client-content h2,.client-content h3{
  color:var(--client-petrol)!important;
}
.client-content h1,.client-content h2{
  font-family:var(--client-serif)!important;
  font-weight:500!important;
  letter-spacing:-.035em!important;
}
.client-content h1{font-size:clamp(43px,4vw,68px)!important;line-height:.95!important}
.client-content p{color:var(--client-muted)}
.client-content [class*="eyebrow"],
.client-content [class*="kicker"]{
  color:var(--client-brick)!important;
  letter-spacing:.14em!important;
}
.client-content [class*="card"],
.client-content [class*="panel"],
.client-content [class*="box"],
.client-content [class*="widget"]{
  border-radius:2px!important;
  border-color:var(--client-line)!important;
  box-shadow:0 14px 42px rgba(8,29,34,.07)!important;
  background:#fff!important;
}
.client-content button,.client-content .button,.client-content [class*="btn"]{
  border-radius:2px!important;
  box-shadow:none!important;
}
.client-content input,.client-content textarea,.client-content select{
  border-radius:2px!important;
  border-color:var(--client-line)!important;
  background:#fff!important;
}
.client-content table{
  border:1px solid var(--client-line)!important;
  border-radius:2px!important;
  background:#fff!important;
}
.client-content th{
  background:#EEE9DF!important;
  color:var(--client-petrol)!important;
}
.client-content tr:hover td{background:#FBF8F2!important}

/* Client login / activation / recovery */
.client-auth-body{
  min-height:100vh!important;
  background:
    linear-gradient(110deg,var(--client-deep) 0 58%,var(--client-petrol) 58% 100%)!important;
}
.client-auth-background{display:none!important}
.client-auth-shell{
  width:min(calc(100% - 40px),1320px)!important;
  min-height:100vh!important;
  margin:auto!important;
  grid-template-columns:1fr .84fr!important;
  align-items:center!important;
  gap:70px!important;
}
.client-auth-shell--login{
  display:grid!important;
  width:min(calc(100% - 32px),580px)!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  place-items:center!important;
  padding:42px 0!important;
}
.client-auth-shell--login .client-auth-panel{
  width:100%!important;
  padding:0!important;
}
.client-auth-shell--login .client-auth-card{
  width:100%!important;
}
.client-auth-intro{padding:70px 0!important}
.client-auth-logo{
  display:block;
  width:84px!important;
  height:84px!important;
  object-fit:contain;
}
.client-auth-intro__content{margin-top:72px!important}
.client-auth-eyebrow{color:var(--client-sand)!important;letter-spacing:.15em!important}
.client-auth-intro h1{
  color:var(--client-warm)!important;
  font-family:var(--client-serif)!important;
  font-size:clamp(58px,6vw,92px)!important;
  font-weight:500!important;
  line-height:.9!important;
  letter-spacing:-.045em!important;
}
.client-auth-intro__content p{max-width:650px!important;color:rgba(248,245,238,.64)!important;font-size:16px!important}
.client-auth-features{display:grid!important;gap:1px!important;background:rgba(248,245,238,.13)!important}
.client-auth-features article{
  border:0!important;
  border-radius:0!important;
  background:rgba(8,29,34,.48)!important;
}
.client-auth-features article>span{
  border-radius:2px!important;
  background:var(--client-brick)!important;
  color:#fff!important;
}
.client-auth-features strong{color:var(--client-warm)!important}
.client-auth-features small{color:rgba(248,245,238,.47)!important}
.client-auth-panel{padding:55px 0!important}
.client-auth-card{
  border:0!important;
  border-radius:2px!important;
  background:var(--client-warm)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.23)!important;
}
.client-auth-card__mark{
  display:grid!important;
  place-items:center!important;
  flex:0 0 58px!important;
  width:58px!important;
  height:58px!important;
  border-radius:2px!important;
  background:var(--client-petrol)!important;
  color:var(--client-warm)!important;
}
.client-auth-card__mark img{
  display:block;
  width:34px;
  height:34px;
  object-fit:contain;
}
.client-auth-card__header{
  grid-template-columns:58px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.client-auth-card h2{
  color:var(--client-petrol)!important;
  font-family:var(--client-serif)!important;
  font-size:clamp(32px,3vw,40px)!important;
  font-weight:500!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
.client-auth-card__header p{color:var(--client-muted)!important}
.client-auth-shell--single{
  display:flex!important;
  width:min(calc(100% - 32px),680px)!important;
  justify-content:center!important;
  padding:50px 0!important;
}
.client-auth-shell--single .client-auth-card{padding:36px!important}
.client-auth-footer{
  display:flex!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-top:14px!important;
}
.client-auth-input{
  border-radius:2px!important;
  border-color:var(--client-line)!important;
  background:#fff!important;
}
.client-auth-input:focus-within{
  border-color:var(--client-petrol)!important;
  box-shadow:0 0 0 3px rgba(15,44,51,.08)!important;
}
.client-auth-submit{
  border-radius:2px!important;
  background:var(--client-brick)!important;
  box-shadow:none!important;
}
.client-auth-submit:hover{background:var(--client-petrol)!important}
.client-message{border-radius:2px!important;background:#EEE9DF!important;color:var(--client-petrol)!important}
.client-error{border-radius:2px!important;background:#F3E2DD!important;color:#762517!important}
@media(max-width:1000px){
  .client-main{margin-left:0!important}
  .client-auth-shell{grid-template-columns:1fr!important;padding:90px 0 45px!important}
  .client-auth-intro__content{margin-top:55px!important}
}
@media(max-width:680px){
  .client-content{padding:30px 16px 55px!important}
  .client-topbar{padding:9px 14px!important}
  .client-auth-shell{width:min(calc(100% - 26px),1320px)!important}
  .client-auth-intro{padding:25px 0!important}
  .client-auth-features{display:none!important}
  .client-auth-card{padding:26px 20px!important}
}

/* Stati canonici condivisi con il database Manager. */
.client-status.is-draft,
.client-status.is-planning{background:#eee9df;color:#5f625e}
.client-status.is-review{background:#e8efe8;color:#244a3f}
.client-status.is-waiting_client{background:#fff0cd;color:#805515}
.client-status.is-blocked{background:#f8dfd9;color:#8a2d1d}

/* Area Clienti: identità, navigazione e moduli condivisi. */
.client-sidebar__header{min-height:88px;padding:18px 20px;border-bottom:1px solid rgba(218,201,169,.18)}
.client-brand{display:flex!important;align-items:center;gap:12px;width:auto!important;height:auto!important;text-decoration:none}
.client-brand-logo{width:54px!important;height:44px!important;object-fit:contain;object-position:center}
.client-brand>span{display:grid;gap:3px;color:#fff;line-height:1}
.client-brand>span strong{font-family:var(--client-serif);font-size:15px;letter-spacing:.13em}
.client-brand>span small{font-size:7px;letter-spacing:.2em;color:#dac9a9}
.client-topbar{min-height:72px;padding:0 28px;border-bottom:1px solid #d9dcd9;background:rgba(250,248,243,.96)}
.client-topbar__context span{color:#a52c1d;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.client-user-menu{gap:10px;padding-left:20px;border-left:1px solid #d9dcd9}
.client-nav-link>i.client-nav-icon{position:relative;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid rgba(218,201,169,.2);font-style:normal}
.client-nav-icon:before{font-size:13px;line-height:1;color:#dac9a9}
.client-nav-icon.is-home:before{content:'⌂'}.client-nav-icon.is-calendar:before{content:'□'}
.client-nav-icon.is-projects:before{content:'▥'}.client-nav-icon.is-strategy:before{content:'◎'}
.client-nav-icon.is-requests:before{content:'＋'}.client-nav-icon.is-approval:before{content:'✓'}
.client-nav-icon.is-files:before{content:'↓'}.client-nav-icon.is-documents:before{content:'▤'}
.client-nav-icon.is-analytics:before{content:'↗'}.client-nav-icon.is-invoices:before{content:'€'}
.client-nav-icon.is-profile:before{content:'○'}.client-nav-icon.is-security:before{content:'◇'}
.client-nav-link.is-active .client-nav-icon{background:#dac9a9;border-color:#dac9a9}
.client-nav-link.is-active .client-nav-icon:before{color:#102b30}

.client-strategy-grid,.client-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.client-strategy-card,.client-analytics-card{display:flex;flex-direction:column;gap:18px;padding:24px;border:1px solid #d9dcd9;background:#fff;color:#102b30;text-decoration:none}
.client-strategy-card header{display:flex;justify-content:space-between;align-items:center}.client-strategy-card h2,.client-analytics-card strong{font-family:var(--client-serif);font-size:28px;font-weight:500}
.client-strategy-card p{min-height:48px;color:#68716f}.client-strategy-progress{display:flex;align-items:center;gap:12px}.client-strategy-progress>span{flex:1;height:4px;background:#e8e8e3}.client-strategy-progress i{display:block;height:100%;background:#a52c1d}.client-strategy-card footer{display:flex;gap:18px;padding-top:14px;border-top:1px solid #e5e6e2;font-size:11px;text-transform:uppercase}
.client-strategy-hero{margin-bottom:18px;padding:32px;background:#102b30;color:#fff}.client-strategy-hero small{color:#dac9a9;letter-spacing:.16em}.client-strategy-hero h2{max-width:900px;margin:12px 0 22px;font-family:var(--client-serif);font-size:40px;font-weight:500}.client-strategy-hero p{color:#dfe5e3}
.client-decision-list,.client-answer-list{display:grid;gap:12px}.client-decision-list article,.client-answer-list article{padding:18px;border:1px solid #e0e2df;background:#faf8f3}.client-decision-list h3{margin:12px 0 6px;font-family:var(--client-serif);font-size:24px}.client-answer-list strong{display:block;margin:5px 0 8px;font-family:var(--client-serif);font-size:21px}.client-answer-list small{color:#a52c1d;text-transform:uppercase;letter-spacing:.12em}
.client-kpi-table{display:grid;gap:8px}.client-kpi-table article{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:12px;align-items:center;padding:15px;border-bottom:1px solid #e1e2df}.client-kpi-table span{display:grid;gap:4px;color:#737873;font-size:10px}.client-kpi-table b{color:#102b30;font-size:14px}
.client-analytics-section{margin-bottom:30px}.client-analytics-section>header{display:flex;gap:16px;align-items:center;margin-bottom:14px}.client-analytics-section>header>span{font-family:var(--client-serif);font-size:38px;color:#dac9a9}.client-analytics-section h2{margin:2px 0 0;font-family:var(--client-serif);font-size:30px}.client-analytics-section small{font-size:9px;letter-spacing:.12em}.client-analytics-card>div{display:grid;gap:5px}.client-analytics-card>div>span{color:#a52c1d;font-size:9px;font-weight:800;letter-spacing:.14em}.client-analytics-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0;background:#dfe1de}.client-analytics-card dl div{padding:14px;background:#faf8f3}.client-analytics-card dt{font-size:8px;color:#737873;text-transform:uppercase}.client-analytics-card dd{margin:5px 0 0;font-family:var(--client-serif);font-size:24px}
@media(max-width:900px){.client-strategy-grid,.client-analytics-grid{grid-template-columns:1fr}.client-kpi-table article{grid-template-columns:1fr 1fr}.client-brand>span{display:none}}
@media(max-width:560px){.client-analytics-card dl{grid-template-columns:repeat(2,1fr)}.client-strategy-hero h2{font-size:30px}}

/* Shell client finale: stessa grammatica visiva del Manager. */
:root{--client-sidebar-width:282px}
.client-portal-body{background:linear-gradient(90deg,rgba(15,44,51,.018) 1px,transparent 1px),linear-gradient(rgba(15,44,51,.018) 1px,transparent 1px),#F8F5EE!important;background-size:52px 52px!important;color:#26383C!important}
.client-shell{display:grid!important;grid-template-columns:282px minmax(0,1fr)!important;min-height:100vh!important;background:transparent!important}
.client-sidebar{position:sticky!important;top:0!important;display:flex!important;width:282px!important;height:100vh!important;min-height:0!important;flex-direction:column!important;padding:0!important;background:linear-gradient(180deg,#081D22,#0F2C33)!important;border-right:1px solid rgba(248,245,238,.08)!important;box-shadow:12px 0 45px rgba(8,29,34,.08)!important}
.client-sidebar__header{display:flex!important;min-height:88px!important;height:88px!important;align-items:center!important;justify-content:space-between!important;padding:15px 18px!important;border-bottom:1px solid rgba(248,245,238,.1)!important}
.client-brand{display:inline-flex!important;padding:0!important}.client-brand-logo{display:block!important;width:54px!important;height:54px!important;max-height:none!important;object-fit:contain!important}
.client-sidebar__close{display:grid!important;width:42px!important;height:42px!important;place-items:center!important;border:1px solid rgba(248,245,238,.17)!important;border-radius:2px!important;background:rgba(248,245,238,.05)!important;color:#F8F5EE!important}
.client-navigation{flex:1 1 auto!important;min-height:0!important;padding:16px 11px!important;overflow-y:auto!important}
.client-navigation__environment{margin:0 10px 18px!important;color:#F8F5EE!important;font-family:Georgia,"Times New Roman",serif!important;font-size:17px!important;font-weight:500!important}
.client-navigation__label{display:block!important;margin:17px 0 0!important;padding:0 10px 7px!important;color:rgba(216,198,160,.7)!important;font-size:8px!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase!important}
.client-navigation__environment+.client-navigation__label{margin-top:0!important}
.client-nav-link{display:flex!important;min-height:52px!important;align-items:center!important;gap:10px!important;margin:2px 0!important;padding:8px 10px!important;border:0!important;border-left:2px solid transparent!important;border-radius:2px!important;background:transparent!important;color:rgba(248,245,238,.72)!important;box-shadow:none!important;text-decoration:none!important;transition:.18s ease!important}
.client-nav-link:hover{padding-left:14px!important;background:rgba(248,245,238,.055)!important;color:#F8F5EE!important}.client-nav-link.is-active{border-left-color:#A93622!important;background:rgba(216,198,160,.095)!important;color:#F8F5EE!important}
.client-nav-link>i.client-nav-icon{display:grid!important;width:31px!important;height:31px!important;flex:0 0 31px!important;place-items:center!important;padding:0!important;border:1px solid rgba(248,245,238,.13)!important;border-radius:2px!important;background:transparent!important;color:#D8C6A0!important}.client-nav-icon svg{width:17px!important;height:17px!important}.client-nav-link.is-active .client-nav-icon{border-color:rgba(169,54,34,.72)!important;background:rgba(169,54,34,.16)!important;color:#F2C4B8!important}.client-nav-link>span{font-size:10px!important;font-weight:700!important}.client-nav-link>em{margin-left:auto;color:rgba(248,245,238,.25);font-style:normal}
.client-sidebar__footer{flex:0 0 auto!important;margin:0!important;padding:13px 14px 15px!important;border-top:1px solid rgba(248,245,238,.1)!important;background:rgba(8,29,34,.34)!important}
.client-sidebar-profile{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;padding:8px!important;color:#F8F5EE!important;text-decoration:none!important}.client-sidebar-profile>span:first-child{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(216,198,160,.42);background:rgba(216,198,160,.11);color:#D8C6A0;font-size:10px;font-weight:800}.client-sidebar-profile strong,.client-sidebar-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-sidebar-profile strong{font-size:10px}.client-sidebar-profile small{margin-top:3px;color:rgba(248,245,238,.48);font-size:8px}
.client-sidebar__footer form{margin-top:5px!important}.client-logout-button{display:flex!important;width:100%!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;padding:9px 11px!important;border:0!important;background:transparent!important;color:rgba(248,245,238,.62)!important;font-size:9px!important}.client-logout-button:hover{background:rgba(169,54,34,.15)!important;color:#F2C4B8!important}
.client-main{grid-column:2!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important;background:transparent!important}.client-topbar{display:flex!important;min-height:72px!important;height:72px!important;align-items:center!important;padding:10px 28px!important;border-bottom:1px solid rgba(15,44,51,.13)!important;background:rgba(248,245,238,.93)!important;backdrop-filter:blur(18px)!important;box-shadow:none!important}.client-topbar__context strong{color:#0F2C33!important;font-family:Georgia,"Times New Roman",serif!important;font-size:17px!important;font-weight:500!important}.client-user-menu{display:flex!important;align-items:center!important;gap:10px!important;margin-left:auto!important;padding:0!important;border:0!important}.client-today-link{display:flex;min-height:44px;flex-direction:column;justify-content:center;padding:5px 11px;border-left:1px solid rgba(15,44,51,.13);color:#0F2C33;text-decoration:none}.client-today-link span{color:#737873;font-size:7px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.client-today-link strong{font-size:10px}.client-topbar-notifications{position:relative!important;display:grid!important;width:44px!important;height:44px!important;place-items:center!important;border:1px solid rgba(15,44,51,.13)!important;border-radius:2px!important;background:#fff!important;color:#0F2C33!important}.client-topbar-notifications svg{width:17px;height:17px}.client-topbar-notifications b{position:absolute;right:-5px;top:-5px;display:grid;min-width:17px;height:17px;place-items:center;border-radius:50%;background:#A93622;color:#fff;font-size:7px}
.client-content{width:100%!important;max-width:none!important;padding:30px 28px 44px!important}.client-page{width:100%!important;max-width:none!important;margin:0!important}.client-page-heading{margin-bottom:22px!important}.client-page-heading h1,.client-dashboard-heading h1{color:#0F2C33!important;font-family:Georgia,"Times New Roman",serif!important;font-weight:500!important}.client-panel,.client-project-card,.client-kpi-card,.client-strategy-card,.client-analytics-card{border:1px solid rgba(15,44,51,.13)!important;border-radius:2px!important;box-shadow:none!important}.client-button,.client-project-filters input,.client-project-filters select{border-radius:2px!important}
@media(max-width:900px){.client-shell{display:block!important}.client-sidebar{position:fixed!important;width:min(282px,88vw)!important;transform:translateX(-105%)}.client-shell.is-sidebar-open .client-sidebar{transform:translateX(0)}.client-main{width:100%!important}.client-content{padding:22px 15px 35px!important}}
@media(min-width:901px){.client-shell.is-sidebar-collapsed{grid-template-columns:minmax(0,1fr)!important}.client-shell.is-sidebar-collapsed .client-sidebar{display:none!important}.client-shell.is-sidebar-collapsed .client-main{grid-column:1!important}.client-sidebar-global-open{position:fixed;z-index:1000;top:15px;left:16px;display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:2px;background:#0F2C33;color:#F8F5EE;cursor:pointer}.client-sidebar-global-open[hidden]{display:none!important}.client-shell.is-sidebar-collapsed .client-topbar{padding-left:74px!important}}

/* ============================================================
   GLOBAL VISUAL NORMALIZATION — AREA CLIENTI
   ============================================================ */

.client-portal-body,
.client-auth-body{
  --client-primary:#0F2C33!important;
  --client-accent:#A93622!important;
  --client-soft:#EEE9DF!important;
  --client-border:rgba(15,44,51,.13)!important;
}

.client-content .portal-button--primary,
.client-content button[type="submit"],
.client-content [class*="button--primary"],
.client-content [class*="primary-button"]{
  border:1px solid #0F2C33!important;
  border-radius:2px!important;
  background:#0F2C33!important;
  color:#F8F5EE!important;
  box-shadow:none!important;
}

.client-content .portal-button--primary:hover,
.client-content button[type="submit"]:hover,
.client-content [class*="button--primary"]:hover,
.client-content [class*="primary-button"]:hover{
  border-color:#A93622!important;
  background:#A93622!important;
}

.client-content [class*="-heading"],
.client-content [class*="-header"]{
  margin-bottom:22px;
}

.client-content [class*="-heading"] h1,
.client-content [class*="-heading"] h2,
.client-content [class*="-header"] h1,
.client-content [class*="-header"] h2{
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:500!important;
}

.client-content [class*="-toolbar"],
.client-content [class*="-filters"]{
  padding:14px!important;
  border:1px solid rgba(15,44,51,.13)!important;
  border-radius:2px!important;
  background:#EEE9DF!important;
  box-shadow:none!important;
}

.client-content [class*="card"],
.client-content [class*="panel"],
.client-content [class*="box"],
.client-content [class*="widget"]{
  border:1px solid rgba(15,44,51,.13)!important;
  border-radius:2px!important;
  background:#fff!important;
  box-shadow:none!important;
}

.client-content [class*="progress"]{
  border-radius:0!important;
}

.client-content [class*="progress"] i,
.client-content [class*="progress"] span[class*="fill"]{
  background:#0F2C33!important;
}

.client-content table{
  border-collapse:separate!important;
  border-spacing:0!important;
  overflow:hidden!important;
}

.client-content th{
  padding:13px 15px!important;
  background:#EEE9DF!important;
  color:#0F2C33!important;
  font-size:8px!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
}

.client-content td{
  padding:15px!important;
  border-color:rgba(15,44,51,.10)!important;
}

.client-content [class*="badge"],
.client-content [class*="pill"]{
  border-radius:1px!important;
}

.client-content [class*="empty"]{
  border:1px dashed rgba(15,44,51,.18)!important;
  border-radius:2px!important;
  background:#FBF8F2!important;
}

.client-auth-card a,
.client-auth-card button[type="button"]{
  color:#A93622!important;
}

.client-auth-card button[type="submit"],
.client-auth-submit{
  border-radius:2px!important;
  background:#A93622!important;
}

.client-auth-card button[type="submit"]:hover,
.client-auth-submit:hover{
  background:#0F2C33!important;
}

@media(max-width:720px){
  .client-content [class*="-toolbar"],
  .client-content [class*="-filters"]{
    padding:11px!important;
  }
}


/* ============================================================
   AREA CLIENTI — ALLINEAMENTO VISIVO AL MANAGER
   ============================================================ */

.client-shell{
  display:grid!important;
  grid-template-columns:282px minmax(0,1fr)!important;
  min-height:100vh!important;
}

.client-sidebar{
  position:sticky!important;
  top:0!important;
  width:282px!important;
  height:100vh!important;
}

.client-main{
  min-width:0!important;
  margin-left:0!important;
  background:
    linear-gradient(90deg,rgba(15,44,51,.018) 1px,transparent 1px),
    linear-gradient(rgba(15,44,51,.018) 1px,transparent 1px),
    #F8F5EE!important;
  background-size:52px 52px!important;
}

.client-topbar{
  min-height:72px!important;
  padding:10px 28px!important;
  border-bottom:1px solid rgba(15,44,51,.13)!important;
  background:rgba(248,245,238,.94)!important;
  box-shadow:none!important;
}

.client-manager-context{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}

.client-manager-context span{
  color:#737873!important;
  font-size:8px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

.client-manager-context i{
  color:rgba(15,44,51,.26)!important;
  font-style:normal!important;
}

.client-manager-context strong{
  color:#0F2C33!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:17px!important;
  font-weight:500!important;
}

.client-user-menu>span{
  display:grid!important;
  width:36px!important;
  height:36px!important;
  place-items:center!important;
  border-radius:2px!important;
  background:#0F2C33!important;
  color:#F8F5EE!important;
}

.client-content{
  width:100%!important;
  max-width:1680px!important;
  padding:52px 48px 80px!important;
}

.client-dashboard-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:42px!important;
  align-items:end!important;
  margin-bottom:34px!important;
}

.client-dashboard-heading>div:first-child{
  max-width:920px!important;
}

.client-dashboard-heading .client-eyebrow{
  color:#A93622!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}

.client-dashboard-heading h1{
  margin:8px 0 13px!important;
  color:#0F2C33!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(48px,5vw,78px)!important;
  font-weight:500!important;
  line-height:.88!important;
  letter-spacing:-.055em!important;
}

.client-dashboard-heading>div:first-child>p{
  max-width:720px!important;
  margin:0!important;
  color:#737873!important;
  font-size:12px!important;
  line-height:1.65!important;
}

.client-dashboard-heading__identity{
  display:flex!important;
  min-width:250px!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 14px!important;
  border:1px solid rgba(15,44,51,.13)!important;
  border-radius:2px!important;
  background:#fff!important;
}

.client-dashboard-heading__identity>span{
  display:grid!important;
  width:38px!important;
  height:38px!important;
  place-items:center!important;
  border-radius:2px!important;
  background:#0F2C33!important;
  color:#F8F5EE!important;
  font-size:12px!important;
  font-weight:900!important;
}

.client-dashboard-heading__identity small,
.client-dashboard-heading__identity strong,
.client-dashboard-heading__identity p{
  display:block!important;
  margin:0!important;
}

.client-dashboard-heading__identity small{
  color:#A93622!important;
  font-size:7px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.client-dashboard-heading__identity strong{
  margin-top:2px!important;
  color:#0F2C33!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:17px!important;
  font-weight:500!important;
}

.client-dashboard-heading__identity p{
  color:#737873!important;
  font-size:7px!important;
}

.client-control-focus{
  display:grid!important;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.55fr)!important;
  gap:12px!important;
  margin-bottom:12px!important;
}

.client-control-focus__main{
  position:relative!important;
  min-height:300px!important;
  overflow:hidden!important;
  padding:26px!important;
  border:1px solid rgba(216,198,160,.15)!important;
  border-radius:2px!important;
  background:
    linear-gradient(115deg,rgba(216,198,160,.05),transparent 38%),
    linear-gradient(145deg,#081D22,#0F2C33)!important;
  color:#F8F5EE!important;
}

.client-control-focus__main::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  opacity:.14!important;
  background:
    linear-gradient(rgba(248,245,238,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(248,245,238,.06) 1px,transparent 1px)!important;
  background-size:44px 44px!important;
  pointer-events:none!important;
}

.client-control-focus__main::after{
  content:""!important;
  position:absolute!important;
  right:28px!important;
  bottom:28px!important;
  width:120px!important;
  height:2px!important;
  background:#A93622!important;
}

.client-control-focus__main>*{
  position:relative!important;
  z-index:1!important;
}

.client-control-focus__main>header{
  display:flex!important;
  justify-content:space-between!important;
  gap:20px!important;
}

.client-control-focus__main>header span{
  color:#D8C6A0!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
}

.client-control-focus__main>header strong{
  color:rgba(248,245,238,.70)!important;
  font-size:9px!important;
}

.client-control-focus__main h2{
  margin:45px 0 9px!important;
  color:#F8F5EE!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(34px,4vw,55px)!important;
  font-weight:500!important;
  line-height:.96!important;
  letter-spacing:-.045em!important;
}

.client-control-focus__main>p{
  max-width:650px!important;
  color:rgba(248,245,238,.64)!important;
  font-size:10px!important;
}

.client-control-focus__summary{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:1px!important;
  margin-top:25px!important;
  background:rgba(248,245,238,.10)!important;
}

.client-control-focus__summary article{
  display:grid!important;
  grid-template-columns:30px 1fr!important;
  gap:10px!important;
  min-height:72px!important;
  align-items:center!important;
  padding:12px!important;
  background:rgba(8,29,34,.60)!important;
}

.client-control-focus__summary article>span{
  color:#D8C6A0!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:17px!important;
}

.client-control-focus__summary small{
  display:block!important;
  color:rgba(248,245,238,.43)!important;
  font-size:7px!important;
  text-transform:uppercase!important;
}

.client-control-focus__summary strong{
  display:block!important;
  margin-top:3px!important;
  color:#F8F5EE!important;
  font-size:9px!important;
}

.client-control-focus__side{
  min-height:220px!important;
  padding:22px!important;
  border:1px solid rgba(15,44,51,.13)!important;
  border-radius:2px!important;
  background:#fff!important;
}

.client-control-focus__side>span{
  color:#A93622!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.10em!important;
}

.client-control-focus__side>strong{
  display:block!important;
  margin-top:17px!important;
  color:#0F2C33!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:52px!important;
  font-weight:500!important;
  line-height:1!important;
}

.client-control-focus__side>p{
  color:#737873!important;
  font-size:8px!important;
}

.client-control-focus__bar{
  height:4px!important;
  margin-top:27px!important;
  overflow:hidden!important;
  background:#E4E2DE!important;
}

.client-control-focus__bar i{
  display:block!important;
  height:100%!important;
  background:#0F2C33!important;
}

.client-kpi-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin-bottom:14px!important;
}

.client-kpi-card{
  min-height:124px!important;
  padding:17px!important;
  border:1px solid rgba(15,44,51,.13)!important;
  border-top:2px solid #0F2C33!important;
  border-radius:2px!important;
  background:#fff!important;
  box-shadow:none!important;
}

.client-kpi-card>span{
  border:1px solid rgba(15,44,51,.13)!important;
  border-radius:2px!important;
  background:#EEE9DF!important;
  color:#0F2C33!important;
}

.client-kpi-card small{
  color:#737873!important;
  font-size:7px!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}

.client-kpi-card strong{
  color:#0F2C33!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:26px!important;
  font-weight:500!important;
}

.client-kpi-card>i{
  color:#A93622!important;
}

.client-dashboard-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)!important;
  gap:12px!important;
  align-items:start!important;
  margin-bottom:12px!important;
}

.client-dashboard-grid>.client-panel:nth-child(1){
  grid-row:span 2!important;
}

.client-panel{
  padding:22px!important;
  border:1px solid rgba(15,44,51,.13)!important;
  border-radius:2px!important;
  background:#fff!important;
  box-shadow:none!important;
}

.client-panel__heading{
  margin-bottom:18px!important;
  padding-bottom:13px!important;
  border-bottom:1px solid rgba(15,44,51,.13)!important;
}

.client-panel__heading>span,
.client-panel__heading>div>span{
  color:#A93622!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}

.client-panel__heading h2{
  margin:4px 0 0!important;
  color:#0F2C33!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:30px!important;
  font-weight:500!important;
  letter-spacing:-.035em!important;
}

.client-button--small{
  min-height:34px!important;
  padding:0 11px!important;
  border:1px solid rgba(15,44,51,.13)!important;
  border-radius:2px!important;
  background:#fff!important;
  color:#0F2C33!important;
  box-shadow:none!important;
}

.client-project-stack,
.client-task-list,
.client-service-list,
.client-document-list,
.client-communication-list{
  gap:1px!important;
  background:rgba(15,44,51,.13)!important;
}

.client-project-row,
.client-task-list article,
.client-service-list article,
.client-document-list article,
.client-communication-list article{
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}

.client-project-row:hover,
.client-task-list article:hover,
.client-service-list article:hover,
.client-document-list article:hover,
.client-communication-list article:hover{
  background:#FBF8F2!important;
}

.client-project-row{
  grid-template-columns:1fr 70px!important;
  min-height:150px!important;
  padding:17px!important;
}

.client-project-row h3{
  margin:8px 0 5px!important;
  color:#0F2C33!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:23px!important;
  font-weight:500!important;
}

.client-progress-ring{
  width:64px!important;
  height:64px!important;
  border-radius:2px!important;
  background:#EEE9DF!important;
}

.client-progress-ring::before{
  display:none!important;
}

.client-progress-ring span{
  color:#0F2C33!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:18px!important;
  font-weight:500!important;
}

.client-status{
  border-radius:1px!important;
  background:#EEE9DF!important;
  color:#0F2C33!important;
}

.client-status.is-active,
.client-status.is-in_progress{
  background:#E4ECE7!important;
  color:#395647!important;
}

.client-status.is-on_hold,
.client-status.is-waiting{
  background:#F2E7D4!important;
  color:#77562A!important;
}

.client-task-priority{background:#D8C6A0!important}
.client-task-priority.is-high,
.client-task-priority.is-urgent{background:#A93622!important}

.client-service-list article>span,
.client-document-list article>span,
.client-communication-list article>span{
  border-radius:2px!important;
  background:#EEE9DF!important;
  color:#0F2C33!important;
}

.client-empty-state{
  border:1px dashed rgba(15,44,51,.18)!important;
  border-radius:2px!important;
  background:#FBF8F2!important;
}

.client-empty-state>span{
  color:#A93622!important;
}

.client-dashboard-hero{
  display:none!important;
}

@media(max-width:1200px){
  .client-dashboard-heading,
  .client-control-focus,
  .client-dashboard-grid{
    grid-template-columns:1fr!important;
  }

  .client-kpi-grid{
    grid-template-columns:repeat(2,1fr)!important;
  }

  .client-dashboard-grid>.client-panel:nth-child(1){
    grid-row:auto!important;
  }
}

@media(max-width:1000px){
  .client-shell{display:block!important}
  .client-main{margin-left:0!important}
  .client-sidebar{position:fixed!important;width:282px!important}
}

@media(max-width:680px){
  .client-content{padding:28px 16px 55px!important}
  .client-dashboard-heading__identity{min-width:0!important;width:100%!important}
  .client-kpi-grid,
  .client-control-focus__summary{grid-template-columns:1fr!important}
  .client-project-row{grid-template-columns:1fr!important}
}


/* Project phases */
.client-phase-list{
  display:grid;
  gap:1px;
  background:rgba(15,44,51,.13);
}

.client-phase-list>article{
  padding:16px;
  background:#fff;
}

.client-phase-list>article>header{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
}

.client-phase-list>article>header>div{
  display:flex;
  gap:11px;
  align-items:center;
}

.client-phase-list>article>header>div>span{
  color:#A93622;
  font-family:Georgia,"Times New Roman",serif;
  font-size:19px;
}

.client-phase-list strong{
  display:block;
  color:#0F2C33;
}

.client-phase-list small{
  display:block;
  margin-top:2px;
  color:#737873;
  font-size:7px;
}

.client-phase-list b{
  color:#0F2C33;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:500;
}

.client-phase-list p{
  margin:10px 0;
  color:#737873;
  font-size:8px;
}

.client-phase-progress{
  height:3px;
  margin-top:12px;
  background:#E4E2DE;
}

.client-phase-progress i{
  display:block;
  height:100%;
  background:#0F2C33;
}

.client-phase-tasks{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:12px;
}

.client-phase-tasks span{
  padding:5px 7px;
  background:#EEE9DF;
  color:#26383C;
  font-size:7px;
}

/* Better sidebar grouping */
.client-navigation__label{
  margin-top:20px!important;
}

.client-navigation__label:first-child{
  margin-top:8px!important;
}


/* FIX ALTEZZA + FILE DETAIL + CALENDARIO */
html,
body.client-portal-body{
  min-height:100%!important;
}

.client-portal-body{
  min-height:100vh!important;
  background:#081D22!important;
}

.client-shell{
  min-height:100vh!important;
  align-items:stretch!important;
  background:#F8F5EE!important;
}

.client-sidebar{
  align-self:stretch!important;
  min-height:100vh!important;
  height:100vh!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  background:linear-gradient(180deg,#081D22,#0F2C33)!important;
}

.client-main{
  min-height:100vh!important;
}

.client-file-detail-grid{
  display:grid;
  grid-template-columns:minmax(300px,.55fr) minmax(0,1.45fr);
  gap:12px;
  align-items:start;
}

.client-file-meta{
  display:grid;
  gap:1px;
  margin:0;
  background:rgba(15,44,51,.12);
}

.client-file-meta>div{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:15px;
  padding:12px 14px;
  background:#fff;
}

/* Regole finali: impediscono doppio offset e mantengono fissa la testata. */
.client-shell{grid-template-columns:282px minmax(0,1fr)!important}
.client-sidebar{overflow:hidden!important;padding:0!important}
.client-sidebar__header,.client-company-card,.client-sidebar__footer{flex:0 0 auto!important}
.client-navigation{min-height:0!important;overflow-y:auto!important;padding-bottom:12px!important}
.client-main{min-width:0!important;min-height:100vh!important;margin-left:0!important}

@media(max-width:1000px){
  .client-shell{display:block!important}
  .client-main{margin-left:0!important}
}

.client-file-meta dt{
  color:#737873;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.client-file-meta dd{
  margin:0;
  color:#0F2C33;
  font-size:9px;
  font-weight:700;
  overflow-wrap:anywhere;
}

.client-file-preview__frame{
  min-height:560px;
  overflow:hidden;
  border:1px solid rgba(15,44,51,.13);
  background:#EEE9DF;
}

.client-file-preview__frame iframe,
.client-file-preview__frame img{
  display:block;
  width:100%;
  min-height:560px;
  border:0;
  object-fit:contain;
  background:#fff;
}

.client-back-link{
  display:inline-block;
  margin-bottom:14px;
  color:#A93622;
  font-size:8px;
  font-weight:900;
  text-decoration:none;
}

.client-calendar-navigation{
  display:flex;
  align-items:center;
  gap:1px;
  border:1px solid rgba(15,44,51,.13);
  background:rgba(15,44,51,.13);
}

.client-calendar-navigation a,
.client-calendar-navigation strong{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}

.client-calendar-navigation a{
  width:42px;
  color:#0F2C33;
  text-decoration:none;
  font-size:16px;
}

.client-calendar-navigation a:hover{
  background:#0F2C33;
  color:#F8F5EE;
}

.client-calendar-navigation strong{
  min-width:180px;
  padding:0 18px;
  color:#0F2C33;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:500;
}

.client-calendar-weekdays,
.client-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:1px;
  background:rgba(15,44,51,.13);
}

.client-calendar-weekdays{
  margin-bottom:1px;
}

.client-calendar-weekdays span{
  padding:9px 10px;
  background:#EEE9DF;
  color:#737873;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.client-calendar-grid{
  border:1px solid rgba(15,44,51,.13);
}

.client-calendar-day{
  min-height:155px;
  padding:10px;
  background:#fff;
}

.client-calendar-day.is-empty{
  background:#F3EFE7;
}

.client-calendar-day.is-today{
  box-shadow:inset 0 0 0 2px #A93622;
}

.client-calendar-day>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:9px;
}

.client-calendar-day>header>span{
  color:#0F2C33;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
}

.client-calendar-day>header>small{
  display:grid;
  min-width:20px;
  height:20px;
  place-items:center;
  background:#EEE9DF;
  color:#0F2C33;
  font-size:7px;
}

.client-calendar-events{
  display:grid;
  gap:4px;
}

.client-calendar-events a{
  display:block;
  padding:6px 7px;
  border-left:2px solid #0F2C33;
  background:#FBF8F2;
  color:#26383C;
  text-decoration:none;
}

.client-calendar-events a.is-task{border-left-color:#A93622}
.client-calendar-events a.is-phase{border-left-color:#D8C6A0}
.client-calendar-events a.is-project{border-left-color:#0F2C33}

.client-calendar-events strong{
  display:block;
  font-size:7px;
  line-height:1.25;
}

.client-calendar-events small{
  display:block;
  margin-top:2px;
  color:#737873;
  font-size:6px;
}

.client-calendar-agenda{
  margin-top:12px;
}

.client-calendar-agenda-list{
  display:grid;
  gap:1px;
  background:rgba(15,44,51,.13);
}

.client-calendar-agenda-list>a{
  display:grid;
  grid-template-columns:70px 1fr auto;
  gap:15px;
  align-items:center;
  min-height:58px;
  padding:10px 12px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}

.client-calendar-agenda-list>a:hover{
  background:#FBF8F2;
}

.client-calendar-agenda-list time{
  color:#A93622;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px;
}

.client-calendar-agenda-list strong{
  display:block;
  color:#0F2C33;
  font-size:9px;
}

.client-calendar-agenda-list small{
  display:block;
  margin-top:2px;
  color:#737873;
  font-size:7px;
}

.client-calendar-agenda-list>a>span{
  padding:4px 6px;
  background:#EEE9DF;
  color:#737873;
  font-size:6px;
  text-transform:uppercase;
}

@media(max-width:1050px){
  .client-file-detail-grid{grid-template-columns:1fr}
  .client-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-calendar-weekdays{display:none}
}

@media(max-width:680px){
  .client-calendar-navigation{width:100%}
  .client-calendar-navigation strong{flex:1;min-width:0}
  .client-calendar-grid{grid-template-columns:1fr}
  .client-calendar-day.is-empty{display:none}
  .client-calendar-agenda-list>a{grid-template-columns:55px 1fr}
  .client-calendar-agenda-list>a>span{grid-column:2;width:max-content}
}
