/* Gestionale Pro Next v6.2.27 — Unified Experience shell */
:root{--gp-navy:#101a2c;--gp-navy2:#142036;--gp-blue:#1768d5;--gp-blue2:#0f5fc8;--gp-bg:#f5f7fb;--gp-card:#fff;--gp-border:#e5eaf1;--gp-text:#172033;--gp-muted:#6d788b;--gp-soft:#eef4fb;--gp-green:#167447;--gp-red:#a52b2b;--gp-shadow:0 10px 30px rgba(23,32,51,.06)}
*{box-sizing:border-box}
body{background:var(--gp-bg)!important;color:var(--gp-text)!important}
header,.topbar,.unified-header{height:68px!important;min-height:68px!important;background:var(--gp-navy)!important;border:0!important;box-shadow:none!important;padding:0 20px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;position:sticky!important;top:0!important;z-index:100!important}
header .brand,.topbar .brand{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important}.gpmark,.logo,.company-logo-fallback{width:38px!important;height:38px!important;min-width:38px!important;border-radius:11px!important;background:var(--gp-blue)!important;color:#fff!important;border:0!important;display:grid!important;place-items:center!important;font-weight:900!important;font-size:15px!important}.company-header-logo,.company-logo-slot img{height:40px!important;max-width:125px!important;object-fit:contain!important;background:#fff!important;border-radius:9px!important;padding:4px!important}.company-logo-slot{position:static!important;width:auto!important;height:auto!important;background:transparent!important;border:0!important;padding:0!important}.brand b,.brand h1,.brand-title-row h1{color:#fff!important;font-size:16px!important;line-height:1.1!important;margin:0!important;text-transform:none!important}.brand small,.brand p{color:#91a0b5!important;font-size:10px!important;margin:3px 0 0!important}.version-badge{display:none!important}
.top,.top-actions{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap!important}.top select,.top-actions select,.top-actions input{height:36px!important;border:1px solid #34445f!important;background:#182641!important;color:#eaf0f8!important;border-radius:9px!important;padding:0 10px!important}.top .ghost,.top-actions .btn,.auth-logout,.exit-btn{height:36px!important;border:1px solid #34445f!important;background:#182641!important;color:#eaf0f8!important;border-radius:9px!important;padding:0 12px!important;text-decoration:none!important;font-size:11px!important;font-weight:750!important}.top .ghost:hover,.top-actions .btn:hover{background:#223452!important}.language-control{color:#91a0b5!important;font-size:0!important}.language-control select{font-size:11px!important}.top-actions>label:not(.language-control){color:#91a0b5!important;font-size:10px!important;display:flex!important;align-items:center!important;gap:5px!important}.top-actions #quickTax,.top-actions #quickScan,.top-actions #quickPurchase,.top-actions #quickSale{display:none!important}.workspace-badge{display:inline-flex;align-items:center;gap:6px;background:#1d3152;color:#cfe0f7;border:1px solid #30496e;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:850;letter-spacing:.04em;white-space:nowrap}.workspace-badge i{width:7px;height:7px;border-radius:50%;background:#55a2ff;display:block}
.shell,.layout,.unified-shell{display:grid!important;grid-template-columns:232px minmax(0,1fr)!important;min-height:calc(100vh - 68px)!important;background:var(--gp-bg)!important}.shell>aside,.sidebar,.unified-sidebar{position:sticky!important;top:68px!important;height:calc(100vh - 68px)!important;overflow-y:auto!important;background:var(--gp-navy2)!important;border:0!important;padding:14px 10px 22px!important}.shell nav,.sidebar nav,.unified-sidebar nav{display:flex!important;flex-direction:column!important;gap:2px!important}.shell nav .sep,.nav-sep,.sidebar-title{color:#73839a!important;font-size:9px!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important;margin:14px 10px 5px!important;padding:0!important}.shell nav button,.shell nav a,.sidebar button,.unified-sidebar a,.unified-sidebar button{min-height:40px!important;width:100%!important;display:flex!important;align-items:center!important;gap:10px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#c9d3df!important;text-decoration:none!important;padding:9px 11px!important;margin:0!important;font-size:12px!important;font-weight:720!important;text-align:left!important;cursor:pointer!important}.shell nav button span,.shell nav a span,.unified-sidebar .nav-icon{width:21px!important;min-width:21px!important;text-align:center!important;color:#8da1bb!important;font-size:14px!important}.shell nav button b,.shell nav a b,.unified-sidebar b{font:inherit!important}.shell nav button:hover,.shell nav a:hover,.sidebar button:hover,.unified-sidebar a:hover,.unified-sidebar button:hover{background:#1b2a46!important;color:#fff!important}.shell nav button.active,.shell nav a.active,.sidebar button.active,.unified-sidebar a.active,.unified-sidebar button.active{background:#203657!important;color:#fff!important;box-shadow:inset 3px 0 0 #4b9bff!important}.shell nav .active span,.unified-sidebar .active .nav-icon{color:#67aaff!important}.nav-count{margin-left:auto!important;background:#e7f1ff!important;color:#1768d5!important;border-radius:999px!important;padding:2px 7px!important;font-size:9px!important;font-style:normal!important}.sidebar-scroll-help,.sidebar-end-space{display:none!important}
main{min-width:0!important;padding:24px 28px 40px!important;background:var(--gp-bg)!important}.page,.page.active{max-width:1540px;margin:0 auto}.page-head,.pagehead{margin-bottom:18px!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important}.page-head h2,.pagehead h1{margin:0!important;color:var(--gp-text)!important;font-size:26px!important;line-height:1.15!important;font-weight:850!important;letter-spacing:-.025em!important;text-transform:none!important}.page-head p,.pagehead p{margin:5px 0 0!important;color:var(--gp-muted)!important;font-size:12px!important}.page-head:before,.pagehead:before{content:"";display:none}.page-actions,.action-row{display:flex!important;gap:7px!important;align-items:center!important;flex-wrap:wrap!important}
.panel,.card,.project-card,.action-card,.metric{background:#fff!important;border:1px solid var(--gp-border)!important;border-radius:14px!important;box-shadow:var(--gp-shadow)!important}.panel{padding:18px!important}.cards{gap:12px!important}.card{padding:16px!important}.card .k,.card small{color:var(--gp-muted)!important;font-size:10px!important;font-weight:750!important}.card .v,.card strong{color:var(--gp-text)!important;font-size:24px!important;font-weight:900!important;letter-spacing:-.025em!important}.toolbar{background:#fff!important;border:1px solid var(--gp-border)!important;border-radius:12px!important;padding:9px!important;margin-bottom:12px!important;box-shadow:0 4px 18px rgba(23,32,51,.035)!important}.toolbar input,.toolbar select{height:38px!important;background:#f9fbfd!important;border:1px solid #dde4ed!important;border-radius:9px!important;color:var(--gp-text)!important}.btn,.primary,.ghost,.mini{border-radius:9px!important;font-weight:750!important}.btn.primary,.primary,.mini.primary-action{background:var(--gp-blue)!important;color:#fff!important;border:0!important}.btn.primary:hover,.primary:hover{background:var(--gp-blue2)!important}.btn:not(.primary),.ghost,.mini{background:#eef3f9!important;color:#26364c!important;border:0!important}.table-wrap,.tablewrap{border:1px solid var(--gp-border)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--gp-shadow)!important;overflow:auto!important}table{border-collapse:separate!important;border-spacing:0!important;width:100%!important}th{background:#f8fafc!important;color:#6b778a!important;font-size:9px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.045em!important;border-bottom:1px solid #e9edf3!important;padding:10px!important}td{color:var(--gp-text)!important;background:#fff!important;border-top:1px solid #edf1f5!important;padding:10px!important;font-size:11px!important}tbody tr:hover td{background:#f8fbff!important}
.finance-home{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.finance-action{border:1px solid var(--gp-border);background:#fff;border-radius:15px;padding:18px;text-align:left;cursor:pointer;box-shadow:var(--gp-shadow);transition:.16s ease;min-height:142px}.finance-action:hover{transform:translateY(-2px);border-color:#c9dcf7;box-shadow:0 14px 32px rgba(23,104,213,.09)}.finance-action .fa-icon{width:38px;height:38px;border-radius:11px;background:#edf5ff;color:var(--gp-blue);display:grid;place-items:center;font-size:18px;margin-bottom:14px}.finance-action b{display:block;font-size:14px;color:var(--gp-text);margin-bottom:5px}.finance-action small{display:block;color:var(--gp-muted);font-size:10px;line-height:1.45}.finance-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.finance-kpi{background:#fff;border:1px solid var(--gp-border);border-radius:14px;padding:15px}.finance-kpi small{display:block;color:var(--gp-muted);font-size:9px;text-transform:uppercase;font-weight:850;letter-spacing:.04em}.finance-kpi strong{display:block;margin-top:5px;font-size:22px;color:var(--gp-text)}.finance-kpi.good strong{color:var(--gp-green)}.finance-kpi.warn strong{color:var(--gp-red)}.finance-shortcut-row{display:flex;gap:8px;flex-wrap:wrap}.finance-shortcut-row button{min-width:150px}
.module-back{display:inline-flex;align-items:center;gap:7px;color:#4d617a;font-size:10px;font-weight:800;text-decoration:none;margin-bottom:10px}.module-back:hover{color:var(--gp-blue)}
#page-sales th:last-child,#page-sales td:last-child{min-width:230px!important}.invoice-action-menu{max-width:none!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}.invoice-action-menu .mini{width:100%!important;text-align:center!important}
.auth-dialog .auth-shell,.auth-card{border-radius:18px!important;box-shadow:0 24px 70px rgba(9,18,33,.18)!important}
@media(max-width:1100px){.finance-home,.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.shell,.layout,.unified-shell{grid-template-columns:205px minmax(0,1fr)!important}main{padding:20px!important}}
@media(max-width:760px){header,.topbar,.unified-header{padding:0 12px!important}.workspace-badge,.top-actions>label:not(.language-control),#exitBtn{display:none!important}.shell,.layout,.unified-shell{display:block!important}.shell>aside,.sidebar,.unified-sidebar{position:static!important;height:auto!important;padding:8px!important}.shell nav,.unified-sidebar nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.shell nav .sep,.nav-sep{grid-column:1/-1!important}.shell nav button,.shell nav a,.unified-sidebar a,.unified-sidebar button{min-height:38px!important}main{padding:14px!important}.finance-home,.finance-kpis{grid-template-columns:1fr}.page-head,.pagehead{display:block!important}.page-actions,.action-row{margin-top:10px!important}.top-actions #authUserBadge{display:none!important}}


/* R17 Calm Professional Theme + readability tuning */
:root{
  --gp-navy:#355468;
  --gp-navy2:#3f6076;
  --gp-blue:#547a97;
  --gp-blue2:#486d89;
  --gp-bg:#f3f6f7;
  --gp-card:#ffffff;
  --gp-border:#d9e2e8;
  --gp-text:#22313f;
  --gp-muted:#647486;
  --gp-soft:#eef4f7;
  --gp-green:#1f7a55;
  --gp-red:#b14b43;
  --gp-shadow:0 10px 28px rgba(34,49,63,.07);
}
body{
  background:linear-gradient(180deg,#f6f8f9 0%,#eef3f5 100%)!important;
  color:var(--gp-text)!important;
  font-size:14px!important;
  line-height:1.48!important;
}
header,.topbar{
  background:linear-gradient(135deg,#355468 0%,#44667d 100%)!important;
  box-shadow:0 10px 28px rgba(33,52,69,.16)!important;
}
.gpmark,.logo,.company-logo-fallback{
  background:linear-gradient(145deg,#f7fbff,#dbe8f1)!important;
  color:#355468!important;
  border:1px solid rgba(255,255,255,.6)!important;
  box-shadow:0 3px 10px rgba(18,31,45,.08)!important;
}
.brand b,.brand h1,.brand-title-row h1{font-size:17px!important}
.brand small,.brand p{font-size:11px!important;color:#deebf4!important}
.top .ghost,.top-actions .btn,.auth-logout,.exit-btn,.top select,.top-actions select,.top-actions input{
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#f7fbff!important;
}
.shell>aside,.sidebar,.unified-sidebar{
  background:linear-gradient(180deg,#3b5b70 0%,#355468 100%)!important;
}
.shell nav button,.shell nav a,.sidebar button,.unified-sidebar a,.unified-sidebar button{
  min-height:42px!important;
  padding:10px 12px!important;
  font-size:13px!important;
  color:#e6eef5!important;
}
.shell nav button span,.shell nav a span,.unified-sidebar .nav-icon{color:#cddae4!important}
.shell nav button:hover,.shell nav a:hover,.sidebar button:hover,.unified-sidebar a:hover,.unified-sidebar button:hover{
  background:rgba(255,255,255,.12)!important;
}
.shell nav button.active,.shell nav a.active,.sidebar button.active,.unified-sidebar a.active,.unified-sidebar button.active{
  background:rgba(255,255,255,.18)!important;
  box-shadow:inset 3px 0 0 #cfe0ea!important;
}
main{padding:26px 30px 42px!important}
.page-head h2,.pagehead h1{
  font-size:28px!important;
  line-height:1.14!important;
  letter-spacing:-.028em!important;
}
.page-head p,.pagehead p,.muted{font-size:13px!important;line-height:1.45!important}
.panel,.card,.project-card,.action-card,.metric,.teamcard,.finance-action,.finance-kpi,.table-wrap,.tablewrap{
  border-radius:16px!important;
  box-shadow:var(--gp-shadow)!important;
}
.panel{padding:20px!important}
.card{padding:18px!important}
.card .k,.card small{font-size:11px!important;letter-spacing:.03em!important}
.card .v,.card strong{font-size:25px!important}
.toolbar{
  padding:11px!important;
  border-radius:14px!important;
}
.toolbar input,.toolbar select,
.formgrid input,.formgrid select,.formgrid textarea,
.dialog-form input,.dialog-form select,.dialog-form textarea,
label input,label select,label textarea,
.statement-select select,
.topbar input,.topbar select,
input,select,textarea{
  min-height:46px!important;
  border-radius:11px!important;
  border:1px solid #d3dde5!important;
  background:#fbfdfe!important;
  color:var(--gp-text)!important;
  padding:11px 13px!important;
  line-height:1.42!important;
  box-shadow:none!important;
}
select{
  padding-right:38px!important;
  padding-left:13px!important;
  font-size:14px!important;
}
option{font-size:14px!important}
textarea{min-height:96px!important}
.formgrid label,.dialog-form label,.settings-grid label,label{
  gap:7px!important;
  font-size:12.5px!important;
  font-weight:800!important;
  color:#5e6f80!important;
}
.check{gap:9px!important}
.btn,.primary,.ghost,.mini{
  min-height:42px!important;
  padding:10px 14px!important;
  font-size:12.5px!important;
  border-radius:11px!important;
}
.btn.primary,.primary,.mini.primary-action{
  background:#547a97!important;
}
.btn.primary:hover,.primary:hover{background:#486d89!important}
.btn:not(.primary),.ghost,.mini{background:#edf3f6!important;color:#264052!important}
.table-wrap,.tablewrap{border-radius:16px!important}
th{
  font-size:10.5px!important;
  padding:11px 12px!important;
  background:#f4f8fa!important;
  color:#607182!important;
}
td{
  font-size:12.5px!important;
  padding:11px 12px!important;
}
tbody tr:hover td{background:#f8fbfd!important}
dialog{
  border-radius:18px!important;
  box-shadow:0 24px 70px rgba(34,49,63,.22)!important;
}
.dialog-head,.dlghead{padding:18px 20px!important}
.dialog-head p,.dlghead p{font-size:12px!important}
.form-grid,.formgrid{gap:14px!important}
.warning{font-size:11.5px!important;line-height:1.45!important}
.statusbox{font-size:13px!important}
.search-with-icon{border-radius:12px!important;padding:0 12px!important}
.customer-quick-search{padding:12px 13px!important;font-size:14px!important}
@media(max-width:900px){
  main{padding:18px 16px 30px!important}
  .page-head h2,.pagehead h1{font-size:24px!important}
  .shell nav button,.shell nav a,.sidebar button,.unified-sidebar a,.unified-sidebar button{font-size:12.5px!important}
}

/* R18 page-by-page calm refinement */
.auth-layer{background:radial-gradient(circle at top,#dfe9ef 0%,#eef3f6 35%,#f6f8fa 100%)!important}.auth-card{max-width:420px!important;padding:34px 30px!important;border-radius:24px!important;box-shadow:0 24px 60px rgba(34,49,63,.15)!important;background:rgba(255,255,255,.94)!important;border:1px solid rgba(148,163,184,.22)!important}.auth-card h1{font-size:30px!important;color:#213547!important;margin-bottom:6px!important}.auth-card input,.auth-card select{min-height:48px!important;border-radius:14px!important;font-size:15px!important;padding:12px 14px!important}.auth-card .primary,.auth-card .ghost{min-height:46px!important;border-radius:14px!important}.auth-card .gpmark{background:linear-gradient(135deg,#355468,#53758c)!important;box-shadow:0 12px 30px rgba(53,84,104,.24)!important}.toolbar,.employee-toolbar,.archive-toolbar{gap:12px!important}.attendance-table td,.attendance-table th{font-size:12.5px!important}.attendance-table .ghost{white-space:nowrap}.panelhead h2{font-size:21px!important}.tablewrap table tbody tr:hover{background:#f7fafc!important}.location-cell{max-width:220px}.archive-toolbar .formgrid.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.employee-summary .card,.payroll-summary .card{min-height:92px}.employee-toolbar button,.archive-toolbar button{align-self:end}
