:root{--navy:#102a43;--navy2:#163f63;--blue:#146c94;--cyan:#159eae;--green:#4f9f3f;--lime:#78b943;--bg:#f4f7fa;--panel:#fff;--text:#1c2b39;--muted:#6e7e8e;--line:#dfe7ee;--danger:#c0392b;--shadow:0 10px 30px rgba(16,42,67,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px}a{color:var(--blue);text-decoration:none}button,input,select{font:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:272px;background:linear-gradient(180deg,#102a43,#0b2034);color:#fff;display:flex;flex-direction:column;z-index:30;box-shadow:8px 0 30px rgba(8,28,45,.16)}.sidebar-head{height:82px;padding:18px 18px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.09)}.brand{display:flex;align-items:center;gap:11px;color:inherit}.brand strong{display:block;letter-spacing:.08em;font-size:16px}.brand small{display:block;color:#8fc9d0;font-size:11px;margin-top:2px}.brand-mark{width:39px;height:39px;border-radius:12px;background:linear-gradient(135deg,var(--lime),var(--cyan));display:grid;place-items:center;font-weight:800;font-size:21px;color:#fff;box-shadow:0 8px 18px rgba(21,158,174,.28)}.sidebar-nav{padding:12px 10px 24px;overflow:auto;display:flex;flex-direction:column;gap:3px}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:#c9d6e1;font-weight:590;transition:.18s}.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}.nav-item.active{background:linear-gradient(90deg,rgba(21,158,174,.28),rgba(79,159,63,.18));color:#fff;box-shadow:inset 3px 0 0 #6ebc45}.nav-icon{width:20px;height:20px;display:grid;place-items:center}.nav-icon svg,.resource-icon svg{width:19px;height:19px}.sidebar-foot{margin-top:auto;padding:16px 18px;border-top:1px solid rgba(255,255,255,.09);display:flex;align-items:center;gap:10px;color:#dce7ef}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot small{font-size:11px;color:#8fa8ba;margin-top:2px}.tenant-dot{width:9px;height:9px;border-radius:50%;background:#6fbd45;box-shadow:0 0 0 5px rgba(111,189,69,.12)}.app-main{margin-left:272px;min-width:0;width:calc(100% - 272px)}.topbar{height:82px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.topbar-title{display:flex;flex-direction:column}.topbar-title strong{font-size:18px;color:var(--navy)}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:800;color:var(--cyan)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.topbar select,.search-form input,.form-stack input{border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:#fff;outline:none}.topbar select:focus,.search-form input:focus,.form-stack input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(21,158,174,.12)}.user-chip{display:flex;align-items:center;gap:9px;padding:5px 10px}.user-chip strong,.user-chip small{display:block}.user-chip strong{font-size:12px}.user-chip small{font-size:10px;color:var(--muted);margin-top:1px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dcecf0;color:var(--navy);font-weight:800}.content-area{padding:28px;max-width:1600px;margin:0 auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:24px}.page-heading h1{font-size:30px;line-height:1.12;margin:5px 0 7px;color:var(--navy);letter-spacing:-.025em}.page-heading p{margin:0;color:var(--muted);max-width:760px;font-size:14px}.page-heading.compact{align-items:center}.back-link{display:inline-block;font-size:12px;font-weight:700;margin-bottom:6px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:10px 15px;font-weight:750;cursor:pointer}.button-primary{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;box-shadow:0 8px 18px rgba(20,108,148,.18)}.button-secondary{background:#e9f1f5;color:var(--navy)}.button-ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}.icon-button{border:0;background:transparent;color:inherit;font-size:20px;cursor:pointer}.sidebar-close,.menu-toggle{display:none}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent,#146c94)}.metric-card span{display:block;color:var(--muted);font-weight:650;font-size:12px}.metric-card strong{display:block;font-size:24px;margin-top:8px;color:var(--navy)}.tone-cyan{--accent:#159eae}.tone-green{--accent:#4f9f3f}.tone-violet{--accent:#7456a4}.tone-orange{--accent:#d8872e}.tone-red{--accent:#c94b45}.tone-slate{--accent:#607d8b}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);min-width:0}.panel-wide{grid-row:span 2}.panel-head{padding:17px 19px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-head h2{font-size:16px;margin:0;color:var(--navy)}.panel-head p{font-size:12px;margin:4px 0 0;color:var(--muted)}.panel-head>a{font-size:12px;font-weight:750}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:#647687;font-size:10px;text-transform:uppercase;letter-spacing:.06em;background:#f8fafc}th,td{padding:12px 14px;border-bottom:1px solid #edf1f4}td{font-size:12px}tbody tr:hover{background:#f8fbfd}.empty-cell{text-align:center;color:var(--muted);padding:30px}.status{display:inline-block;padding:4px 8px;border-radius:999px;background:#e9eef3;color:#4e6172;text-transform:capitalize;font-size:10px;font-weight:750}.status-active,.status-accepted,.status-completed,.status-paid,.status-collected,.status-resolved{background:#e4f4df;color:#34732e}.status-warning,.status-overdue,.status-failed,.status-critical,.status-cancelled{background:#fbe7e4;color:#9d322a}.status-draft,.status-planned,.status-open{background:#e8f1f6;color:#276582}.stack-list{padding:8px 10px}.stack-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:9px;color:var(--text)}.stack-item:hover{background:#f4f8fa}.stack-item strong,.stack-item small{display:block}.stack-item strong{font-size:12px}.stack-item small{font-size:10px;color:var(--muted);margin-top:3px;text-transform:capitalize}.severity{width:8px;height:8px;border-radius:50%;background:#7a8b99;flex:0 0 auto}.severity-attention{background:#d69b2c}.severity-warning{background:#e16836}.severity-critical{background:#c0392b;box-shadow:0 0 0 4px rgba(192,57,43,.1)}.code-chip{padding:5px 7px;border-radius:6px;background:#eaf3f6;color:var(--blue);font-size:9px;font-weight:800}.empty-state{padding:24px;text-align:center;color:var(--muted)}.resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.resource-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 15px;color:var(--text);box-shadow:0 5px 18px rgba(16,42,67,.05);transition:.18s}.resource-card:hover{transform:translateY(-2px);border-color:#b9d9df;box-shadow:var(--shadow)}.resource-icon{width:38px;height:38px;border-radius:10px;background:#eaf4f5;color:var(--cyan);display:grid;place-items:center;flex:0 0 auto}.resource-copy{min-width:0}.resource-copy strong,.resource-copy small{display:block}.resource-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-copy small{font-size:9px;color:#8b99a6;margin-top:3px}.resource-count{margin-left:auto;font-weight:800;color:var(--navy);font-size:16px}.notice-panel{margin-top:20px;border:1px solid #cfe1c6;background:#f1f8ed;border-radius:12px;padding:15px 17px;color:#365832}.notice-panel p{margin:5px 0 0;font-size:12px}.search-form{display:flex;gap:8px}.search-form input{min-width:260px}.row-action{font-size:11px;font-weight:750}.pagination-wrap{padding:15px}.detail-panel{padding:8px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.detail-grid>div{padding:15px;border-bottom:1px solid var(--line);min-width:0}.detail-grid dt{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.detail-grid dd{margin:6px 0 0;overflow-wrap:anywhere}.auth-body{min-height:100vh;background:radial-gradient(circle at 15% 20%,rgba(21,158,174,.18),transparent 35%),linear-gradient(135deg,#0c2237,#173f5f);display:grid;place-items:center;padding:20px}.auth-shell{width:100%;max-width:430px}.auth-card{background:#fff;border-radius:20px;padding:31px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.brand-large{color:var(--navy);margin-bottom:30px}.brand-large .brand-mark{width:48px;height:48px}.auth-copy h1{font-size:30px;margin:0;color:var(--navy)}.auth-copy p{color:var(--muted);margin:8px 0 23px}.form-stack{display:flex;flex-direction:column;gap:15px}.form-stack label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#425466}.form-stack .checkbox-row{flex-direction:row;align-items:center;font-weight:500}.alert{padding:11px 13px;border-radius:9px;margin-bottom:13px}.alert-danger{background:#fce9e7;color:#9c342c}.alert-success{background:#e6f5e1;color:#34732e}.menu-toggle{margin-right:10px}@media(max-width:1250px){.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open:after{content:"";position:fixed;inset:0;background:rgba(8,24,38,.45);z-index:25}.app-main{margin-left:0;width:100%}.menu-toggle,.sidebar-close{display:block}.dashboard-grid{grid-template-columns:1fr}.panel-wide{grid-row:auto}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:0 18px}.user-chip span:not(.avatar){display:none}}@media(max-width:680px){.content-area{padding:18px 14px}.topbar{height:68px}.topbar-title .eyebrow{display:none}.topbar-actions select{max-width:120px}.button-ghost{padding:8px 10px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:25px}.metric-grid,.resource-grid,.detail-grid{grid-template-columns:1fr}.search-form{width:100%}.search-form input{min-width:0;width:100%}.resource-card{padding:13px}.auth-card{padding:24px}.topbar-actions{gap:4px}}
.form-panel{padding:20px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:750;color:#425466}.form-grid input,.form-grid select,.form-grid textarea,.builder-row input,.estimate-row input,.estimate-row select,.statement-row input,.statement-row select,.statement-row textarea,.decision-form select,.decision-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:#fff;outline:none}.form-grid textarea,.statement-row textarea,.decision-form textarea{resize:vertical}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.check,.mini-check{flex-direction:row!important;align-items:center}.check input,.mini-check input{width:auto}.form-actions{display:flex;justify-content:flex-end;margin-top:20px}.inline{display:inline}.panel-body{padding:20px}.prose{line-height:1.65}.builder-panel{margin-top:18px}.builder-row{display:grid;grid-template-columns:1.2fr 1.8fr .5fr .5fr .5fr .6fr 34px;gap:8px;padding:12px;border-bottom:1px solid var(--line);align-items:center}.estimate-head,.estimate-row{display:grid;grid-template-columns:1.5fr .8fr 1fr 1fr .65fr .7fr .7fr .7fr .6fr 34px;gap:8px;padding:10px 12px;align-items:center}.estimate-head{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:800;background:#f8fafc}.estimate-row{border-bottom:1px solid var(--line)}.statement-row{display:grid;grid-template-columns:.8fr 1fr 2fr .55fr 34px;gap:8px;padding:12px;border-bottom:1px solid var(--line);align-items:center}.remove-row{border:0;background:#fbe7e4;color:#9d322a;border-radius:8px;width:32px;height:32px;font-size:20px;cursor:pointer}.sticky-actions{position:sticky;bottom:16px;display:flex;justify-content:flex-end;padding:14px;margin-top:16px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);backdrop-filter:blur(8px)}.recommendation{background:#edf7ea;border:1px solid #cde4c5;border-radius:14px;padding:20px;margin-bottom:20px}.recommendation h2{margin:5px 0;color:var(--navy)}.recommendation p{margin:0;color:#456343}.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.scenario-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow)}.scenario-card.approved{outline:3px solid rgba(79,159,63,.25);border-color:#67a958}.scenario-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.scenario-card h2{margin:4px 0 0;color:var(--navy)}.scenario-price{font-size:31px;font-weight:850;color:var(--navy);margin:20px 0}.scenario-card dl{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0}.scenario-card dl div{padding:10px 0;border-bottom:1px solid var(--line)}.scenario-card dt{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.scenario-card dd{margin:4px 0 0;font-weight:750}.risk{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.risk-low{background:#e4f4df;color:#34732e}.risk-medium{background:#fff0d8;color:#945f12}.risk-high{background:#fbe7e4;color:#9d322a}.scenario-desc{min-height:42px;color:var(--muted)}.risk-list{background:#fff7f2;border-radius:9px;padding:8px;margin:12px 0}.risk-list div{padding:6px}.risk-list strong,.risk-list span{display:block}.risk-list span{font-size:11px;color:var(--muted);margin-top:3px}.decision-form{display:flex;flex-direction:column;gap:8px;margin-top:16px}.decision-form textarea{min-height:70px}@media(max-width:1100px){.scenario-grid{grid-template-columns:1fr}.estimate-head{display:none}.estimate-row{grid-template-columns:1fr 1fr}.estimate-row .remove-row{grid-column:2;justify-self:end}.builder-row{grid-template-columns:1fr 1fr}.statement-row{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr 1fr}.span-3{grid-column:span 2}}@media(max-width:680px){.form-grid,.builder-row,.estimate-row,.statement-row{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.estimate-row .remove-row{grid-column:1}.scenario-card dl{grid-template-columns:1fr}}

/* JO.CO UX semplice v2.1 */
.heading-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.button-block{width:100%}.metric-text{font-size:18px!important;line-height:1.25}.compact-metrics{margin-top:2px}.field-help{font-size:11px;color:var(--muted);font-weight:500}.friendly-form-section{padding:2px 0 20px}.friendly-step-badge{display:inline-flex;background:#e8f5f6;color:#117887;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:15px}.friendly-form-grid{align-items:start}.friendly-actions{gap:9px;align-items:center;flex-wrap:wrap}.advanced-box{margin-top:18px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 5px 18px rgba(16,42,67,.04)}.advanced-box>summary{cursor:pointer;list-style:none;padding:16px 18px;font-weight:800;color:var(--navy);display:flex;align-items:center;justify-content:space-between}.advanced-box>summary::-webkit-details-marker{display:none}.advanced-box>summary:after{content:"+";font-size:20px;color:var(--cyan)}.advanced-box[open]>summary:after{content:"−"}.advanced-box[open]>summary{border-bottom:1px solid var(--line)}.advanced-box-body{padding:18px}.advanced-intro{margin:0 0 15px;color:var(--muted)}.input-with-suffix{display:flex;align-items:stretch}.input-with-suffix input{border-radius:9px 0 0 9px!important;min-width:0}.input-with-suffix span{display:grid;place-items:center;padding:0 11px;border:1px solid var(--line);border-left:0;border-radius:0 9px 9px 0;background:#f5f8fa;color:var(--muted);font-weight:700;white-space:nowrap}.quick-start-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.quick-start-card{display:flex;gap:13px;align-items:flex-start;padding:17px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);color:var(--text);transition:.18s}.quick-start-card:hover{transform:translateY(-2px);border-color:#a9d5dc}.quick-start-card strong,.quick-start-card small{display:block}.quick-start-card strong{color:var(--navy);font-size:14px}.quick-start-card small{color:var(--muted);font-size:11px;line-height:1.45;margin-top:4px}.quick-step{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;display:grid;place-items:center;font-weight:850;flex:0 0 auto}.search-form-wrap{flex-wrap:wrap}.search-form select{border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:#fff}.process-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px}.process-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 12px 14px 48px;min-height:68px}.process-step>span{position:absolute;left:13px;top:15px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e9eef3;color:#6a7a89;font-weight:800}.process-step strong,.process-step small{display:block}.process-step strong{color:var(--navy);font-size:12px}.process-step small{color:var(--muted);font-size:10px;margin-top:4px}.process-step.done{border-color:#c9e1c2;background:#f7fbf5}.process-step.done>span{background:#5ba548;color:#fff}.process-step.current{border-color:#8dcfd7;box-shadow:0 0 0 3px rgba(21,158,174,.08)}.process-step.current>span{background:var(--cyan);color:#fff}.action-panel .panel-body p{color:var(--muted);line-height:1.55}.history-box{margin-top:18px}.history-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.history-grid h3{margin:0 10px 7px;color:var(--navy)}.template-panel{margin-bottom:18px}.template-picker{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:17px 19px}.template-picker select{min-width:260px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:#fff}.template-picker small{color:var(--muted)}.friendly-builder .panel-head>div{position:relative;padding-left:40px}.friendly-step-number{position:absolute;left:0;top:-2px;width:28px;height:28px;border-radius:9px;background:#e5f3f5;color:#117887;display:grid;place-items:center;font-weight:850}.friendly-list{padding:0}.friendly-row{padding:14px 16px;border-bottom:1px solid var(--line);background:#fff}.friendly-row:last-child{border-bottom:0}.friendly-row label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:750;color:#425466}.friendly-row input,.friendly-row select,.friendly-row textarea,.template-picker select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:#fff;outline:none}.friendly-row input:focus,.friendly-row select:focus,.friendly-row textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(21,158,174,.1)}.row-main-fields{display:grid;grid-template-columns:1.25fr 1.5fr .45fr;gap:10px;align-items:end}.labor-basic-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr .45fr;gap:10px;align-items:end}.external-basic-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr .6fr;gap:10px;align-items:end}.statement-basic-grid{display:grid;grid-template-columns:.65fr .9fr 2fr;gap:10px;align-items:start}.row-side-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px}.row-side-actions .row-advanced{margin-right:auto}.row-advanced>summary{cursor:pointer;color:var(--blue);font-size:11px;font-weight:750}.row-advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;padding:12px 0 2px}.external-friendly-row .row-advanced-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.subsection-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:25px 0 10px}.subsection-head h3{margin:0;color:var(--navy)}.subsection-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.economic-defaults-box{background:#fbfcfd}.friendly-sticky-actions{align-items:center;justify-content:space-between;gap:15px}.sticky-copy strong,.sticky-copy small{display:block}.sticky-copy strong{color:var(--navy)}.sticky-copy small{color:var(--muted);font-size:11px;margin-top:3px}.sticky-buttons{display:flex;gap:9px}.friendly-recommendation{position:relative}.recommendation-badge{display:inline-flex;background:#dcefd5;color:#34732e;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.friendly-recommendation small{display:block;margin-top:10px;color:#67805f}.friendly-scenario-grid{align-items:start}.friendly-scenario-card{padding:0;overflow:hidden}.friendly-scenario-card>header,.friendly-scenario-card>.scenario-hint,.friendly-scenario-card>.scenario-price,.friendly-scenario-card>.scenario-kpi-grid,.friendly-scenario-card>.risk-list,.friendly-scenario-card>.decision-box,.friendly-scenario-card>.technical-details,.friendly-scenario-card>.selected-scenario-message{margin-left:20px;margin-right:20px}.friendly-scenario-card>header{padding-top:20px}.scenario-hint{color:var(--muted);min-height:40px;line-height:1.45}.scenario-price{display:flex;flex-direction:column}.scenario-price small{font-size:10px;color:var(--muted);font-weight:650;margin-top:3px}.scenario-kpi-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:10px;overflow:hidden}.scenario-kpi-grid>div{padding:11px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.scenario-kpi-grid span,.scenario-kpi-grid strong,.scenario-kpi-grid small{display:block}.scenario-kpi-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.scenario-kpi-grid strong{font-size:16px;color:var(--navy);margin-top:4px}.scenario-kpi-grid small{font-size:10px;color:var(--muted);margin-top:2px}.small-kpi{font-size:12px!important}.friendly-risk-list small{display:block;margin-top:5px;color:#8b5a3e}.decision-box{margin-top:16px;margin-bottom:14px;border:1px solid #c7dde4;border-radius:10px;background:#f8fbfc}.decision-box>summary{cursor:pointer;padding:12px 14px;font-weight:800;color:var(--blue);list-style:none}.decision-box>summary::-webkit-details-marker{display:none}.friendly-decision-form{padding:0 14px 14px}.decision-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.decision-choice-grid label{display:flex;flex-direction:row;align-items:flex-start;gap:7px;border:1px solid var(--line);border-radius:9px;padding:9px;background:#fff;cursor:pointer}.decision-choice-grid input{width:auto;margin-top:2px}.decision-choice-grid strong,.decision-choice-grid small{display:block}.decision-choice-grid strong{font-size:11px}.decision-choice-grid small{font-size:9px;color:var(--muted);margin-top:2px}.friendly-decision-form>label{font-size:11px;font-weight:750;color:#425466}.selected-scenario-message{padding:12px;border-radius:9px;background:#e8f5e4;color:#34732e;font-weight:800;text-align:center;margin-top:16px;margin-bottom:14px}.technical-details{border-top:1px solid var(--line);padding:13px 0 17px}.technical-details>summary{cursor:pointer;font-size:10px;color:var(--muted);font-weight:750}.technical-details dl{margin:10px 0 0!important}.technical-details dl div{padding:7px 0!important}.friendly-risk-list{margin-top:12px!important}.metric-card.tone-blue{--accent:#146c94}
@media(max-width:1100px){.quick-start-grid{grid-template-columns:1fr}.process-strip{grid-template-columns:1fr 1fr}.row-main-fields,.labor-basic-grid,.external-basic-grid,.statement-basic-grid{grid-template-columns:1fr 1fr}.statement-body-field{grid-column:span 2}.row-advanced-grid{grid-template-columns:1fr 1fr}.friendly-sticky-actions{align-items:flex-start;flex-direction:column}.sticky-buttons{width:100%}.sticky-buttons .button{flex:1}}
@media(max-width:680px){.heading-actions{width:100%}.heading-actions .button,.heading-actions form{width:100%}.heading-actions form .button{width:100%}.process-strip{grid-template-columns:1fr}.history-grid{grid-template-columns:1fr}.template-picker{align-items:stretch;flex-direction:column}.template-picker select{min-width:0}.row-main-fields,.labor-basic-grid,.external-basic-grid,.statement-basic-grid,.row-advanced-grid,.external-friendly-row .row-advanced-grid{grid-template-columns:1fr}.statement-body-field{grid-column:auto}.row-side-actions{align-items:flex-end}.row-side-actions .row-advanced{width:100%}.sticky-buttons{flex-direction:column}.decision-choice-grid{grid-template-columns:1fr}.friendly-scenario-card>header{flex-direction:column}.scenario-kpi-grid{grid-template-columns:1fr}}

/* JO.CO v3.2 — Preventivi e commesse */
.quick-start-four{grid-template-columns:repeat(4,minmax(0,1fr))}.request-process-strip{grid-template-columns:repeat(6,minmax(0,1fr))}.quote-process-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.history-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.history-columns h3{margin:0 0 10px;color:var(--navy)}.alert-warning{border:1px solid #f0cf80;background:#fff9e8;color:#72510b}.quote-warning ul{margin:8px 0 0 18px;padding:0}.quote-form-panel{margin-bottom:18px}.quote-form-panel .panel-body{padding:18px}.quote-editor input,.quote-editor select,.quote-editor textarea,.inline-reason-form input{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:#fff;outline:none;color:var(--text)}.quote-editor input:focus,.quote-editor select:focus,.quote-editor textarea:focus,.inline-reason-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(21,158,174,.1)}.quote-editor label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:750;color:#425466}.quote-lines,.payment-lines{display:flex;flex-direction:column}.quote-line{display:grid;grid-template-columns:minmax(260px,2.2fr) .55fr .55fr .8fr .65fr .65fr .8fr;gap:10px;align-items:end;padding:16px;border-bottom:1px solid var(--line)}.quote-line:last-child{border-bottom:0}.quote-line-description textarea{min-height:72px;resize:vertical}.quote-line-total{display:flex;flex-direction:column;gap:5px;padding:10px 0}.quote-line-total span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.quote-line-total strong{color:var(--navy);white-space:nowrap}.quote-line-flags{grid-column:1/-1;display:flex;align-items:center;gap:18px}.quote-line-flags .checkbox-inline{display:flex;flex-direction:row;align-items:center;gap:7px}.quote-line-flags input[type=checkbox]{width:auto}.button-link{border:0;background:none;padding:0;cursor:pointer;font:inherit;font-weight:750}.danger-link{color:var(--danger);margin-left:auto}.quote-totals{display:flex;justify-content:flex-end;gap:22px;padding:16px 18px;border-top:1px solid var(--line);background:#f8fafb}.quote-totals>div{display:flex;flex-direction:column;gap:4px;min-width:130px}.quote-totals span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.quote-totals strong{font-size:17px;color:var(--navy)}.quote-grand-total{padding-left:20px;border-left:1px solid var(--line)}.payment-line{display:grid;grid-template-columns:.75fr minmax(220px,1.6fr) .65fr .8fr .9fr .9fr auto;gap:10px;align-items:end;padding:14px 16px;border-bottom:1px solid var(--line)}.payment-line:last-child{border-bottom:0}.payment-line .danger-link{margin:0 0 11px}.payment-check{padding:12px 16px;border-top:1px solid var(--line);font-weight:800}.payment-check.is-valid{background:#f0f8ed;color:#34732e}.payment-check.is-invalid{background:#fff4f0;color:#9d3b25}.quote-text-fields{gap:14px}.sticky-action-bar{position:sticky;bottom:12px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;margin-top:18px;border:1px solid #c9dae5;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 14px 36px rgba(16,42,67,.16);backdrop-filter:blur(8px)}.sticky-action-bar strong,.sticky-action-bar small{display:block}.sticky-action-bar small{margin-top:3px;color:var(--muted)}.quote-dashboard-grid{align-items:start}.quote-summary-row{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:15px 18px;border-top:1px solid var(--line);background:#f8fafb}.quote-summary-row strong{font-size:18px;color:var(--navy)}.quote-action-panel .panel-body>p{line-height:1.55;color:var(--muted)}.compact-form{gap:10px}.compact-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:750;color:#425466}.compact-form input,.compact-form select,.compact-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff}.success-action-box{padding:14px;border-radius:10px;background:#f0f8ed;border:1px solid #c9e1c2}.success-action-box p{color:#56764c!important}.stack-amount{white-space:nowrap;color:var(--navy)}.quote-copy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.quote-copy-grid h3{margin:0 0 7px;color:var(--navy)}.quote-copy-grid p{white-space:normal;line-height:1.55;color:#435465}.history-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.history-card{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:10px}.history-card span,.history-card small{color:var(--muted)}.success-history{background:#f0f8ed;border-color:#c9e1c2}.version-list{display:flex;flex-direction:column;gap:8px}.version-item{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:10px;padding:11px;border:1px solid var(--line);border-radius:9px}.version-item span,.version-item small{color:var(--muted)}.current-version{border-color:#8dcfd7;background:#f5fbfc}.revision-form{display:flex;align-items:end;gap:10px;margin-top:15px}.revision-form label{display:flex;flex-direction:column;gap:5px;flex:1;font-size:11px;font-weight:750}.revision-form input{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px}.quote-preview-shell{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:38px}.quote-preview-head{display:flex;justify-content:space-between;gap:30px;padding-bottom:22px;border-bottom:2px solid var(--navy)}.quote-preview-head h1{margin:0;color:var(--navy)}.quote-preview-head p{margin:4px 0;color:var(--muted)}.preview-section{margin-top:25px}.preview-section h2{color:var(--navy);font-size:17px}.preview-table{width:100%;border-collapse:collapse}.preview-table th,.preview-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.preview-table th:last-child,.preview-table td:last-child{text-align:right}.preview-total{text-align:right;font-size:20px;font-weight:850;color:var(--navy);margin-top:14px}.preview-signatures{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:55px}.preview-signatures>div{border-top:1px solid #8494a1;padding-top:7px;color:var(--muted)}.project-summary-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-bottom:18px}.phase-list{display:flex;flex-direction:column}.phase-card{border-bottom:1px solid var(--line)}.phase-card:last-child{border-bottom:0}.phase-card>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;cursor:pointer;list-style:none}.phase-card>summary::-webkit-details-marker{display:none}.phase-card>summary strong,.phase-card>summary small{display:block}.phase-card>summary small{color:var(--muted);margin-top:3px}.phase-description{margin:0;padding:0 18px 12px;color:var(--muted)}.task-list{border-top:1px solid var(--line);background:#fbfcfd}.task-row{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:11px 18px;border-bottom:1px solid #edf1f4}.task-row:last-child{border-bottom:0}.task-check{width:17px;height:17px;border:2px solid #a8b6c1;border-radius:5px}.task-copy strong,.task-copy small{display:block}.task-copy small,.task-date{font-size:10px;color:var(--muted);margin-top:2px}.project-lower-grid{align-items:start}.budget-stack .stack-item{display:flex}.inline-reason-form{display:flex;gap:8px;align-items:center}.inline-reason-form input{min-width:220px}.project-dashboard-list .stack-item{align-items:center}.danger-button{color:var(--danger);border-color:#efc1b8}.wrap-cell{white-space:normal;min-width:260px}
@media(max-width:1250px){.quick-start-four{grid-template-columns:1fr 1fr}.request-process-strip,.quote-process-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-line{grid-template-columns:minmax(240px,2fr) .6fr .6fr .9fr}.quote-line-description{grid-column:span 2}.payment-line{grid-template-columns:1fr 1.6fr 1fr 1fr}.payment-line .danger-link{grid-column:1/-1;justify-self:end}.quote-copy-grid{grid-template-columns:1fr 1fr}.project-summary-grid{grid-template-columns:1fr}}
@media(max-width:760px){.quick-start-four,.history-columns,.quote-copy-grid{grid-template-columns:1fr}.request-process-strip,.quote-process-strip{grid-template-columns:1fr}.quote-line,.payment-line{grid-template-columns:1fr}.quote-line-description{grid-column:auto}.quote-line-flags{grid-column:auto;flex-wrap:wrap}.quote-totals{flex-direction:column;gap:10px}.quote-grand-total{border-left:0;border-top:1px solid var(--line);padding:10px 0 0}.sticky-action-bar{position:static;align-items:stretch;flex-direction:column}.sticky-buttons{flex-direction:column}.quote-summary-row{align-items:flex-end;flex-direction:column}.version-item{grid-template-columns:1fr}.revision-form,.inline-reason-form{align-items:stretch;flex-direction:column}.quote-preview-shell{padding:22px 16px}.quote-preview-head{flex-direction:column}.preview-signatures{grid-template-columns:1fr;gap:45px}.task-row{grid-template-columns:22px 1fr}.task-date{grid-column:2}.phase-card>summary{align-items:flex-start;flex-direction:column}}

/* JO.CO v3.3 — Commesse operative, task, contatempo e ore */
.tone-purple{--accent:#7456a4}.button-small{padding:7px 10px;border-radius:8px;font-size:11px}.panel-head-wrap{gap:15px;flex-wrap:wrap}.muted{color:var(--muted)}.text-danger{color:var(--danger)!important}.link-button{border:0;background:none;padding:0;color:var(--blue);font:inherit;font-size:11px;font-weight:750;cursor:pointer}.row-actions-cell{display:flex;align-items:center;gap:9px}.field small{font-size:10px;color:var(--muted);font-weight:500}.field-span-3{grid-column:1/-1}.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}
.topbar-timer{display:flex;align-items:center;gap:9px;padding:7px 8px 7px 11px;border:1px solid #b9dbe0;border-radius:12px;background:#f3fbfc;max-width:470px}.topbar-timer-copy{min-width:0}.topbar-timer-copy small,.topbar-timer-copy strong{display:block}.topbar-timer-copy small{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--cyan);font-weight:850}.topbar-timer-copy strong{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:var(--navy)}.topbar-timer-time{font-variant-numeric:tabular-nums;font-size:13px;font-weight:850;color:var(--navy)}.timer-pulse{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(79,159,63,.45);animation:timerPulse 1.8s infinite;flex:0 0 auto}@keyframes timerPulse{0%{box-shadow:0 0 0 0 rgba(79,159,63,.45)}70%{box-shadow:0 0 0 8px rgba(79,159,63,0)}100%{box-shadow:0 0 0 0 rgba(79,159,63,0)}}
.project-progress-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:17px 19px;margin-bottom:18px;background:linear-gradient(135deg,#102a43,#163f63);border-radius:15px;color:#fff;box-shadow:var(--shadow)}.project-progress-copy span,.project-progress-copy strong{display:block}.project-progress-copy span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#a9cad4}.project-progress-copy strong{font-size:25px;margin-top:3px}.progress-track{height:10px;border-radius:999px;background:rgba(255,255,255,.16);overflow:hidden}.progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cyan),var(--lime))}.project-health{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:10px;font-weight:800}.health-critical{background:#8f3029}.health-attention{background:#8b6a1d}.health-healthy{background:#34732e}.metric-text-value{font-size:15px!important;line-height:1.2}.project-state-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:18px}.phase-summary-copy{min-width:0}.phase-summary-right{display:flex;align-items:center;gap:10px}.mini-progress{width:90px;height:6px;background:#e6edf2;border-radius:999px;overflow:hidden}.mini-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--green))}.mini-link{font-size:10px;font-weight:800}.operational-task-list{padding:5px 0}.operational-task-row{grid-template-columns:minmax(280px,1fr) auto auto auto;padding:10px 18px}.task-main-link{display:flex;align-items:center;gap:10px;color:var(--text);min-width:0}.task-state-dot{width:10px;height:10px;border-radius:50%;background:#9eabb5;flex:0 0 auto}.task-state-in_progress{background:var(--cyan)}.task-state-completed{background:var(--green)}.task-state-blocked{background:var(--danger)}.task-state-review{background:#7456a4}.task-state-waiting_client{background:#d8872e}.task-quick-actions{display:flex;align-items:center;gap:7px}.task-quick-actions form{margin:0}.timer-running-label{font-size:10px;font-weight:800;color:var(--green)}.timeline-list{padding:10px 15px}.timeline-item{display:grid;grid-template-columns:10px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.timeline-item:last-child{border-bottom:0}.timeline-item>span{width:8px;height:8px;border-radius:50%;background:var(--cyan);margin-top:4px}.timeline-item strong,.timeline-item small{display:block}.timeline-item small{color:var(--muted);font-size:10px;margin-top:3px}.timeline-item p{margin:5px 0 0;font-size:11px;color:#435465}
.form-panel{padding:20px}.form-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.form-section-head h2{margin:0;color:var(--navy);font-size:16px}.form-section-head p{margin:4px 0 13px;color:var(--muted);font-size:12px}.member-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.member-choice{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:11px;cursor:pointer;background:#fbfcfd}.member-choice:has(input:checked){border-color:#71bec8;background:#f1fafb}.member-choice input{width:auto!important}.member-choice strong,.member-choice small{display:block}.member-choice small{margin-top:2px}.task-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.task-description-box{margin:0 18px 18px;padding:14px;border-radius:10px;background:#f7fafc;line-height:1.6;color:#3e5060}.status-action-grid{display:flex;gap:8px;flex-wrap:wrap;padding:18px 18px 10px}.status-reason-forms{display:flex;flex-direction:column;gap:8px;padding:0 18px 18px}.checklist-list{padding:10px 16px}.checklist-row{display:grid;grid-template-columns:28px 1fr 28px;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #edf1f4}.checklist-row.is-complete span{text-decoration:line-through;color:var(--muted)}.check-button{width:24px;height:24px;border:1px solid #a7b8c4;border-radius:7px;background:#fff;color:var(--green);font-weight:900;cursor:pointer}.subtle-delete{font-size:16px;color:#9eabb5}.inline-add-form{display:flex;gap:8px;padding:12px 16px 16px}.inline-add-form input{flex:1;border:1px solid var(--line);border-radius:9px;padding:10px}.comment-form{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line)}.comment-form textarea{border:1px solid var(--line);border-radius:9px;padding:10px;resize:vertical}.comment-form .button{align-self:flex-end}.comment-list{max-height:420px;overflow:auto;padding:10px 16px}.comment-card{padding:10px 0;border-bottom:1px solid #edf1f4}.comment-card:last-child{border-bottom:0}.comment-card>div{display:flex;justify-content:space-between;gap:10px}.comment-card small{color:var(--muted);font-size:10px}.comment-card p{margin:7px 0 0;line-height:1.55;color:#40515f}
.active-timer-panel{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:17px 19px;margin-bottom:18px;border-color:#8fcfd5;background:linear-gradient(135deg,#f1fafb,#fff)}.active-timer-info{display:flex;align-items:center;gap:13px}.active-timer-info span,.active-timer-info strong,.active-timer-info small{display:block}.active-timer-info>div>span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--cyan);font-weight:800}.active-timer-info strong{font-size:16px;color:var(--navy);margin-top:3px}.active-timer-info small{font-size:10px;color:var(--muted);margin-top:3px}.active-timer-clock{font-size:28px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--navy)}.active-timer-actions{display:flex;align-items:center;gap:8px}.time-filter-form{align-items:end}.time-filter-form label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:800;color:var(--muted)}.time-filter-form input,.time-filter-form select{border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff;min-width:140px}.checkbox-column{width:38px}.time-table td{vertical-align:middle}.approval-panel{margin-top:18px}.approval-batch-list{display:flex;flex-direction:column}.approval-batch-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-bottom:1px solid var(--line)}.approval-batch-card:last-child{border-bottom:0}.approval-batch-main{display:flex;align-items:flex-start;gap:11px}.approval-batch-main strong,.approval-batch-main small{display:block}.approval-batch-main small{color:var(--muted);font-size:10px;margin-top:3px}.approval-batch-main p{margin:6px 0 0;color:#536575}.approval-batch-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.approval-inline-form{display:flex;align-items:center;gap:7px}.approval-inline-form input{border:1px solid var(--line);border-radius:8px;padding:8px;min-width:170px}.duration-preview-field{padding:10px 12px;border-radius:10px;background:#f1f7f9;justify-content:center}.duration-preview-field span,.duration-preview-field strong{display:block}.duration-preview-field span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.duration-preview-field strong{font-size:18px;color:var(--navy);margin-top:5px}
.status-submitted{background:#fff1ce;color:#75540c}.status-rejected,.status-blocked{background:#fbe7e4;color:#9d322a}.status-review{background:#eee8f6;color:#63428b}.status-waiting_client{background:#fff1df;color:#8a5719}.status-in_progress{background:#e3f4f6;color:#176b74}.status-ready{background:#e8f1f6;color:#276582}.status-healthy{background:#e4f4df;color:#34732e}.status-attention{background:#fff1ce;color:#75540c}.status-critical{background:#fbe7e4;color:#9d322a}
@media(max-width:1350px){.topbar-timer-copy{display:none}.operational-task-row{grid-template-columns:minmax(240px,1fr) auto auto}.task-quick-actions{grid-column:1/-1;justify-content:flex-end}.member-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.field-span-3{grid-column:1/-1}}
@media(max-width:980px){.topbar-timer{position:fixed;left:14px;right:14px;bottom:14px;z-index:50;max-width:none;box-shadow:0 10px 30px rgba(16,42,67,.2)}.topbar-timer-copy{display:block;flex:1}.task-detail-grid{grid-template-columns:1fr}.active-timer-panel{grid-template-columns:1fr}.active-timer-actions{justify-content:flex-start}.approval-batch-card{align-items:flex-start;flex-direction:column}.approval-batch-actions{justify-content:flex-start}.time-filter-form{align-items:stretch}.time-filter-form label{width:100%}.time-filter-form input,.time-filter-form select{width:100%}}
@media(max-width:720px){.project-progress-hero{grid-template-columns:1fr}.phase-summary-right{width:100%;justify-content:space-between}.operational-task-row{grid-template-columns:1fr}.task-date,.task-quick-actions{grid-column:auto}.task-quick-actions{justify-content:flex-start}.member-choice-grid,.three-columns{grid-template-columns:1fr}.field-span-3{grid-column:auto}.approval-inline-form{align-items:stretch;flex-direction:column;width:100%}.approval-inline-form input,.approval-inline-form .button{width:100%}.active-timer-actions{align-items:stretch;flex-direction:column}.active-timer-actions form,.active-timer-actions .button{width:100%}.status-reason-forms .inline-reason-form{align-items:stretch;flex-direction:column}}
.table-progress{width:100px;height:6px;border-radius:999px;background:#e6edf2;overflow:hidden;margin-bottom:4px}.table-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--green))}

/* JO.CO v3.3 - rifiniture commesse e ore */
.quick-start-five{grid-template-columns:repeat(5,minmax(0,1fr))}.read-only-field{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafb}.read-only-field>span{font-size:11px;font-weight:750;color:#425466}.read-only-field>strong{color:var(--navy)}.read-only-field>small{color:var(--muted);font-size:10px}.project-dashboard-item small+small{margin-top:4px}.approval-batch-actions{flex-wrap:wrap}
@media(max-width:1450px){.quick-start-five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.quick-start-five{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.quick-start-five{grid-template-columns:1fr}}

/* JO.CO v3.4 - configurazione team e capacità reale */
.quick-start-six{grid-template-columns:repeat(6,minmax(0,1fr))}
.settings-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.settings-card{display:flex;align-items:center;gap:14px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);color:var(--text);transition:.18s}.settings-card:hover{transform:translateY(-2px);border-color:#9ed1d6}.settings-card-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#e4f3f5,#eef6e8);color:var(--navy);font-weight:900}.settings-card strong,.settings-card small{display:block}.settings-card small{margin-top:4px;color:var(--muted);line-height:1.45}
.settings-form input,.settings-form select,.settings-form textarea,.role-form-grid input,.role-form-grid select,.role-form-grid textarea,.role-edit-grid input,.role-edit-grid select,.role-edit-grid textarea,.team-add-grid input,.team-add-grid select,.calendar-form input,.calendar-form select,.what-if-form input,.what-if-form select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:#fff;color:var(--text);outline:none}.settings-form input:focus,.settings-form select:focus,.settings-form textarea:focus,.role-form-grid input:focus,.role-edit-grid input:focus,.team-add-grid input:focus,.calendar-form input:focus,.what-if-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(21,158,174,.1)}.form-grid{display:grid;gap:14px}.field{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:750;color:#425466}.field textarea{resize:vertical}.input-suffix{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.input-suffix input{border:0!important;border-radius:0!important;box-shadow:none!important}.input-suffix b{padding:0 11px;color:var(--muted);font-size:11px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.role-create-panel{margin-bottom:18px}.role-form-grid{grid-template-columns:.7fr 1.2fr .8fr .8fr .8fr 1.7fr auto;align-items:end}.role-description-field{min-width:200px}.role-card-list{display:flex;flex-direction:column}.role-config-card{border-bottom:1px solid var(--line)}.role-config-card:last-child{border-bottom:0}.role-config-card>summary{display:grid;grid-template-columns:minmax(220px,1fr) 105px 105px auto;align-items:center;gap:16px;padding:16px 18px;cursor:pointer;list-style:none}.role-config-card>summary::-webkit-details-marker{display:none}.role-config-card>summary strong,.role-config-card>summary small,.role-price-summary b,.role-price-summary small{display:block}.role-config-card>summary small,.role-price-summary small{color:var(--muted);margin-top:3px;font-size:10px}.role-edit-grid{grid-template-columns:repeat(5,minmax(0,1fr));padding:18px;background:#f8fafb;border-top:1px solid var(--line)}.role-edit-grid .field-span-3{grid-column:1/-1}.role-actions{margin:0;padding:0;border:0}.role-archive-form{padding:0 18px 16px;background:#f8fafb}
.team-add-panel{margin-bottom:18px}.team-add-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}.team-card-grid{display:flex;flex-direction:column}.team-card{display:grid;grid-template-columns:48px minmax(220px,1fr) 90px 105px auto;align-items:center;gap:13px;padding:14px 18px;border-bottom:1px solid var(--line);color:var(--text)}.team-card:last-child{border-bottom:0}.team-card:hover{background:#f8fbfd}.team-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e3f2f4;color:var(--navy);font-weight:900}.team-card-copy strong,.team-card-copy small,.team-card-stats b,.team-card-stats small{display:block}.team-card-copy small,.team-card-stats small{font-size:10px;color:var(--muted);margin-top:3px}.team-card-stats{text-align:right}.temporary-password-alert code{font-size:16px;margin-left:6px}.temporary-password-alert p{margin:6px 0 0}.settings-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.leave-form{display:grid;grid-template-columns:.8fr 1fr 1fr 1.2fr auto;gap:9px;align-items:end;padding:16px;border-bottom:1px solid var(--line)}.leave-form label{display:flex;flex-direction:column;gap:5px}.leave-item{justify-content:space-between}.leave-item>span:first-of-type{flex:1}.history-rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:16px}.history-rate-grid h3{margin:0 0 8px;color:var(--navy)}.rate-history-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf1f4;font-size:11px}.rate-history-row span{color:var(--muted)}
.calendar-name{max-width:420px;margin-bottom:16px}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.calendar-day-card{display:flex;flex-direction:column;gap:8px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fbfcfd;font-size:11px;font-weight:800;color:var(--navy)}.calendar-total{margin-top:14px;padding:12px 14px;border-radius:10px;background:#eef6f7;color:#40606b}.calendar-lower-grid{align-items:start}.calendar-exception-item{justify-content:space-between}.calendar-exception-item>span{flex:1}
.capacity-filter-bar{display:flex;align-items:end;gap:10px;padding:14px 16px;margin-bottom:8px}.capacity-filter-bar label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:800;color:var(--muted)}.capacity-filter-bar input,.capacity-filter-bar select{border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff}.capacity-recalculate-form{display:flex;justify-content:flex-end;margin-bottom:15px}.capacity-metrics{margin-top:15px}.capacity-table-panel{margin-bottom:18px}.capacity-legend{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.capacity-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-left:5px}.cap-ok{background:#62ab50}.cap-watch{background:#d9992f}.cap-over{background:#c94b45}.capacity-table-wrap{max-width:100%}.capacity-table th,.capacity-table td{text-align:center;min-width:105px}.capacity-table .capacity-person-column{position:sticky;left:0;z-index:2;text-align:left;min-width:210px;background:#fff;box-shadow:6px 0 10px rgba(16,42,67,.04)}.capacity-table thead .capacity-person-column{background:#f8fafc;z-index:3}.capacity-table th small{display:block;margin-top:2px;font-weight:500}.capacity-person-column strong,.capacity-person-column small{display:block}.capacity-person-column small{margin-top:3px;color:var(--muted);font-size:10px}.capacity-cell{padding:8px 5px;border-radius:9px}.capacity-cell strong,.capacity-cell span,.capacity-cell small{display:block}.capacity-cell strong{font-size:14px}.capacity-cell span,.capacity-cell small{font-size:9px;margin-top:2px}.capacity-cell-ok{background:#edf7ea;color:#34732e}.capacity-cell-watch{background:#fff4d8;color:#79570d}.capacity-cell-over{background:#fce9e7;color:#9c342c}.capacity-lower-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;align-items:start}.what-if-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}.what-if-result{margin-top:17px;padding:17px;border-radius:12px}.what-if-result span,.what-if-result strong{display:block}.what-if-result span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.what-if-result strong{font-size:24px;margin-top:4px}.what-if-result p{margin:6px 0 0}.what-if-result.is-success{background:#edf7ea;color:#34732e}.what-if-result.is-danger{background:#fce9e7;color:#9c342c}.capacity-conflict-item{display:grid;grid-template-columns:10px 1fr auto}.conflict-resolution-form{display:flex;align-items:center;gap:7px}.conflict-resolution-form select,.conflict-resolution-form input{border:1px solid var(--line);border-radius:8px;padding:7px 8px}.persisted-conflict-panel{margin-top:18px}.status-suspended,.status-left,.status-invited,.status-acknowledged{background:#fff1ce;color:#75540c}.status-high{background:#f9e8dc;color:#974d1e}.status-info{background:#e8f1f6;color:#276582}.status-dismissed{background:#edf0f2;color:#5d6b76}.status-accepted{background:#e4f4df;color:#34732e}
@media(max-width:1500px){.quick-start-six{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.role-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-add-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.what-if-form{grid-template-columns:repeat(2,minmax(0,1fr))}.what-if-form .button{align-self:end}}
@media(max-width:1050px){.capacity-lower-grid,.settings-two-columns{grid-template-columns:1fr}.team-card{grid-template-columns:48px 1fr auto}.team-card-stats{display:none}.role-config-card>summary{grid-template-columns:1fr auto}.role-price-summary{display:none}.role-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-form{grid-template-columns:1fr 1fr}.calendar-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.conflict-resolution-form{flex-direction:column;align-items:stretch}}
@media(max-width:700px){.quick-start-six,.settings-card-grid,.role-form-grid,.team-add-grid,.role-edit-grid,.calendar-week-grid,.what-if-form{grid-template-columns:1fr}.capacity-filter-bar{align-items:stretch;flex-direction:column}.capacity-filter-bar label,.capacity-filter-bar input,.capacity-filter-bar select,.capacity-filter-bar .button{width:100%}.team-card{grid-template-columns:42px 1fr}.team-card>.status{grid-column:2}.leave-form{grid-template-columns:1fr}.history-rate-grid{grid-template-columns:1fr}.capacity-legend{display:none}}

/* JO.CO v3.5 - Finance Lite e cash flow */
.quick-start-eight{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-nav-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.finance-nav-card{display:flex;flex-direction:column;gap:4px;padding:17px 18px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--text);box-shadow:var(--shadow);transition:.18s}.finance-nav-card:hover{transform:translateY(-2px);border-color:#a9d4da}.finance-nav-card span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted)}.finance-nav-card strong{font-size:19px;color:var(--navy)}.finance-nav-card small{color:var(--muted)}.finance-nav-primary{background:linear-gradient(135deg,#123e61,#157b93);color:#fff;border:0}.finance-nav-primary span,.finance-nav-primary strong,.finance-nav-primary small{color:#fff}.finance-metric-grid{margin-top:0}.finance-dashboard-grid{grid-template-columns:1.5fr 1fr}.account-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}.account-card{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fbfcfd}.account-card.is-primary{border-color:#8dccd2;background:#f3fbfb}.account-card-head{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px;text-transform:uppercase}.account-card-head b{color:var(--green)}.account-card h3{margin:9px 0 4px;color:var(--navy)}.account-card>small{display:block;color:var(--muted);min-height:26px}.account-card>strong{display:block;font-size:21px;color:var(--navy);margin:13px 0 8px}.account-card>a{font-size:11px;font-weight:800}.account-empty-state{grid-column:1/-1}.finance-details{margin:0 16px 16px;border:1px solid var(--line);border-radius:11px}.finance-details>summary{padding:12px 14px;cursor:pointer;font-weight:800;color:var(--navy)}.finance-inline-form{display:grid;gap:10px;padding:14px;border-top:1px solid var(--line)}.transfer-form{grid-template-columns:repeat(6,minmax(0,1fr)) auto}.finance-inline-form label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:800;color:var(--muted)}.finance-inline-form input,.finance-inline-form select,.finance-filter-bar input,.finance-filter-bar select,.finance-form input,.finance-form select,.finance-form textarea,.lock-period-form input{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff}.finance-deadline-list .stack-item{justify-content:space-between}.finance-deadline-list .stack-item>span:last-child{text-align:right}.stack-amount{white-space:nowrap}.cashflow-mini-card{margin:16px;padding:18px;border-radius:12px}.cashflow-mini-card span,.cashflow-mini-card strong,.cashflow-mini-card small{display:block}.cashflow-mini-card strong{font-size:26px;margin:5px 0}.cashflow-mini-card p{margin:9px 0 0;font-weight:700}.cashflow-mini-card.is-success{background:#eaf6e7;color:#34732e}.cashflow-mini-card.is-danger{background:#fce9e7;color:#9c342c}.finance-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px}.admin-action-card{border:1px solid var(--line);border-radius:12px;padding:15px}.admin-action-card h3{margin:0;color:var(--navy)}.admin-action-card p{color:var(--muted);line-height:1.5}.lock-period-form{display:grid;grid-template-columns:1fr 1fr 1.3fr auto;gap:8px}.period-lock-list{padding:0 16px 16px}.period-lock-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.period-lock-row strong,.period-lock-row small{display:block}.period-lock-row small{color:var(--muted);margin-top:3px}.period-lock-row form{display:flex;gap:7px}.finance-filter-bar{display:flex;align-items:end;gap:9px;padding:14px 16px}.finance-filter-bar label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:10px;font-weight:800}.finance-table-panel{margin-bottom:18px}.finance-form{padding:19px}.finance-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.finance-summary-box{padding:17px;border-radius:12px;background:#f4f8fa}.finance-summary-box strong{font-size:24px;color:var(--navy)}.finance-payment-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.finance-payment-row small{display:block;color:var(--muted);margin-top:3px}.amount-positive{color:#34732e}.amount-negative{color:#a43b32}.status-partially_collected,.status-partially_paid,.status-upcoming,.status-pending_approval,.status-due{background:#fff1ce;color:#75540c}.status-invoiced,.status-to_invoice,.status-future,.status-calculated{background:#e8f1f6;color:#276582}.status-locked{background:#fbe7e4;color:#9d322a}.status-unlocked,.status-archived{background:#edf0f2;color:#5d6b76}
.cashflow-heading{align-items:flex-end}.cashflow-calculate-form{display:flex;align-items:end;gap:9px}.cashflow-calculate-form label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:800;color:var(--muted)}.cashflow-calculate-form input,.cashflow-calculate-form select{border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff}.cashflow-context-bar{display:flex;gap:10px;overflow:auto;padding-bottom:10px;margin-bottom:8px}.cashflow-context-tab{min-width:190px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--text);text-align:left;cursor:pointer}.cashflow-context-tab strong,.cashflow-context-tab small{display:block}.cashflow-context-tab small{margin-top:3px;color:var(--muted);font-size:10px}.cashflow-context-tab.active{border-color:var(--cyan);background:#eef9fa;box-shadow:inset 0 0 0 1px var(--cyan)}.cashflow-new-tab{border-style:dashed}.cashflow-metric-grid .metric-card small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.cashflow-window-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:-6px 0 18px}.cashflow-window-grid article{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:#fff;border:1px solid var(--line);border-radius:10px}.cashflow-window-grid span{font-size:11px;color:var(--muted)}.cashflow-window-grid strong{color:var(--navy)}.cashflow-layout{grid-template-columns:1.7fr .8fr}.cashflow-chart-panel{grid-row:auto}.cashflow-chart-wrap{padding:16px}.cashflow-chart{display:block;width:100%;height:auto;min-height:260px}.chart-grid-line{stroke:#e6edf2;stroke-width:1}.chart-axis-label{fill:#718191;font-size:11px}.cashflow-chart [data-chart-area]{fill:rgba(21,158,174,.10);stroke:none}.cashflow-chart [data-chart-line]{fill:none;stroke:#157f97;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.cashflow-chart [data-chart-threshold]{fill:none;stroke:#c94b45;stroke-width:2;stroke-dasharray:8 6}.chart-danger-point{fill:#c94b45}.cashflow-chart-legend{display:flex;justify-content:center;gap:24px;color:var(--muted);font-size:10px}.cashflow-chart-legend i{display:inline-block;width:18px;height:3px;margin-right:6px;vertical-align:middle}.legend-balance{background:#157f97}.legend-threshold{border-top:2px dashed #c94b45}.cashflow-low-point{justify-content:space-between}.cashflow-low-point.is-below{background:#fff3f1}.cashflow-table-panel,.cashflow-scenario-panel{grid-column:1/-1}.cashflow-row-below{background:#fff3f1}.cashflow-scenario-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:20px;padding:18px}.scenario-settings-form,.scenario-adjustment-form{padding:15px;border:1px solid var(--line);border-radius:12px}.scenario-settings-form h3,.scenario-adjustment-form h3{margin:0 0 4px;color:var(--navy)}.form-stack select,.form-stack textarea{border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:#fff;outline:none}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.scenario-adjustment-list{padding:0 18px 18px}.scenario-adjustment-list article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.scenario-adjustment-list strong,.scenario-adjustment-list small{display:block}.scenario-adjustment-list small{margin-top:3px;color:var(--muted)}.danger-zone-inline{padding:0 18px 18px;text-align:right}.modal-open{overflow:hidden}.modal-shell{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.modal-shell[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:rgba(7,24,38,.58)}.modal-card{position:relative;width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.3);z-index:1}.modal-card h2{margin:0;color:var(--navy)}.modal-card>p{color:var(--muted)}.modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;color:var(--muted);cursor:pointer}.cashflow-empty-notice{margin-bottom:18px}
@media(max-width:1350px){.finance-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transfer-form{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-start-eight{grid-template-columns:repeat(3,minmax(0,1fr))}.cashflow-layout{grid-template-columns:1fr}.cashflow-causes-panel{grid-column:1/-1}}
@media(max-width:900px){.finance-dashboard-grid,.finance-detail-grid,.finance-admin-grid,.cashflow-scenario-grid{grid-template-columns:1fr}.cashflow-calculate-form{align-items:stretch;flex-direction:column}.cashflow-calculate-form input,.cashflow-calculate-form select,.cashflow-calculate-form .button{width:100%}.lock-period-form{grid-template-columns:1fr 1fr}.period-lock-row{align-items:flex-start;flex-direction:column}.period-lock-row form{width:100%}.period-lock-row form input{flex:1}.cashflow-window-grid{grid-template-columns:1fr}.scenario-adjustment-list article{grid-template-columns:1fr auto}.scenario-adjustment-list article form{grid-column:1/-1}.quick-start-eight{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.finance-nav-grid,.account-card-grid,.quick-start-eight,.two-columns,.three-columns{grid-template-columns:1fr}.transfer-form,.lock-period-form{grid-template-columns:1fr}.finance-filter-bar{align-items:stretch;flex-direction:column}.finance-filter-bar label,.finance-filter-bar input,.finance-filter-bar select,.finance-filter-bar .button{width:100%}.cashflow-context-tab{min-width:165px}.cashflow-chart{min-height:220px}.scenario-adjustment-list article{grid-template-columns:1fr}.period-lock-row form{flex-direction:column}.period-lock-row form input,.period-lock-row form button{width:100%}}

/* JO.CO v3.5 - ricorrenze e rifiniture Finance Lite */
.four-columns{grid-template-columns:repeat(4,minmax(0,1fr))}.field-span-2{grid-column:span 2}.field-inline-link{float:right;font-size:10px;font-weight:800}.recurrence-box{margin-top:18px;border:1px solid #cfe0e7;border-radius:12px;background:#f8fbfc}.recurrence-box>summary{padding:15px 17px;cursor:pointer;list-style:none;color:var(--navy)}.recurrence-box>summary::-webkit-details-marker{display:none}.recurrence-box>summary span,.recurrence-box>summary strong,.recurrence-box>summary small{display:block}.recurrence-box>summary small{margin-top:4px;color:var(--muted);font-weight:500}.recurrence-content{padding:0 17px 17px}.recurrence-switch{margin:0 0 14px}.recurrence-fields{padding:15px;border:1px solid var(--line);border-radius:11px;background:#fff;transition:.15s}.recurrence-fields.is-disabled{opacity:.48}.recurrence-note{align-self:end;padding:10px 12px;border-radius:9px;background:#eef6f8;color:#4f6474;font-size:11px;line-height:1.45}.inline-notice.info{margin:18px 0 0;border-color:#bedde4;background:#eff9fa;color:#245f6c}.recurrence-rule-list{padding:4px 18px 16px}.recurrence-rule-row{display:grid;grid-template-columns:minmax(260px,1fr) 110px auto auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.recurrence-rule-row:last-child{border-bottom:0}.recurrence-rule-main{display:flex;align-items:center;gap:11px;min-width:0}.recurrence-rule-main>span:last-child{min-width:0}.recurrence-rule-main strong,.recurrence-rule-main small,.recurrence-rule-next small,.recurrence-rule-next strong{display:block}.recurrence-rule-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--navy)}.recurrence-rule-main small,.recurrence-rule-next small{margin-top:3px;color:var(--muted);font-size:10px}.recurrence-direction{min-width:55px;padding:5px 7px;border-radius:999px;text-align:center;font-size:9px;font-weight:850;text-transform:uppercase}.recurrence-direction.is-income{background:#e7f5e3;color:#34732e}.recurrence-direction.is-expense{background:#fce9e7;color:#9c342c}.recurrence-rule-next{text-align:right}.recurrence-rule-next strong{margin-top:3px}.recurrence-rule-actions{display:flex;align-items:center;gap:6px}.recurrence-rule-actions form{margin:0}.button-danger-soft{background:#fce9e7;color:#9c342c}.status-paused{background:#fff1ce;color:#75540c}.status-completed{background:#e4f4df;color:#34732e}
@media(max-width:1100px){.four-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.recurrence-rule-row{grid-template-columns:minmax(220px,1fr) 100px auto}.recurrence-rule-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:650px){.four-columns{grid-template-columns:1fr}.field-span-2{grid-column:auto}.recurrence-rule-row{grid-template-columns:1fr auto}.recurrence-rule-next{text-align:left}.recurrence-rule-row>.status{justify-self:end}.recurrence-rule-actions{justify-content:flex-start;flex-wrap:wrap}.recurrence-note{grid-column:auto}}

/* JO.CO v3.6 - previsione a finire, scostamenti e varianti */
.forecast-heading{align-items:flex-end}.forecast-answer-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;margin-bottom:18px;border:1px solid var(--line);border-left:6px solid #8ca0ae;border-radius:15px;background:#fff}.forecast-answer-card h2{margin:4px 0 6px;color:var(--navy);font-size:22px}.forecast-answer-card p{margin:0;color:var(--muted)}.forecast-answer-card.health-critical{border-left-color:#c94b45;background:#fff7f6}.forecast-answer-card.health-attention{border-left-color:#d69a25;background:#fffaf0}.forecast-answer-card.health-healthy,.forecast-answer-card.health-normal{border-left-color:#4e9b55;background:#f7fbf6}.forecast-metrics .metric-card small{display:block;margin-top:5px;color:var(--muted);font-size:10px}.forecast-layout{grid-template-columns:1.65fr .75fr}.formula-tag{padding:6px 9px;border-radius:999px;background:#edf4f7;color:#557080;font-size:10px;font-weight:800}.forecast-form{padding:0 18px 18px}.forecast-task-table input{width:110px;max-width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:8px}.forecast-task-table td strong,.forecast-task-table td small{display:block}.forecast-task-table td small{margin-top:3px;color:var(--muted);font-size:10px}.forecast-row-closed{opacity:.55}.forecast-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}.forecast-actions p{margin:0;color:var(--muted);font-size:11px}.forecast-breakdown-panel{align-self:start}.forecast-breakdown .stack-item{padding:13px 0}.forecast-phase-panel,.forecast-history-panel{margin-top:18px}.forecast-history-list{padding:4px 18px 16px}.forecast-history-row{display:grid;grid-template-columns:minmax(250px,1fr) 150px 130px;align-items:center;gap:16px;padding:12px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.forecast-history-row:last-child{border-bottom:0}.forecast-history-row.active{background:#eef9fa;border-radius:10px}.forecast-history-row span strong,.forecast-history-row span small{display:block}.forecast-history-row span small{color:var(--muted);font-size:10px;margin-bottom:2px}.outscope-summary-card{display:grid;grid-template-columns:minmax(260px,1.4fr) 190px 190px auto;align-items:center;gap:18px;padding:20px 22px;margin-bottom:18px;border:1px solid #cfe0e7;border-radius:15px;background:#f8fbfc}.outscope-summary-card>div>span,.outscope-summary-card>div>strong,.outscope-summary-card>div>p{display:block}.outscope-summary-card>div>strong{margin-top:4px;color:var(--navy);font-size:24px}.outscope-summary-card p{margin:4px 0 0;color:var(--muted);font-size:11px}.change-card-list{padding:4px 18px 16px}.change-card{display:grid;grid-template-columns:minmax(280px,1fr) 160px auto;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.change-card:last-child{border-bottom:0}.change-card:hover .change-card-main strong{color:var(--cyan)}.change-card-main strong,.change-card-main small,.change-card-amount strong,.change-card-amount small{display:block}.change-card-main small,.change-card-amount small{margin-top:3px;color:var(--muted);font-size:10px}.change-card-amount{text-align:right}.change-edit-panel{margin-bottom:18px}.change-form{padding:18px}.change-form table input{width:100%;min-width:100px;padding:8px 9px;border:1px solid var(--line);border-radius:8px}.switch-line{display:flex!important;flex-direction:row!important;align-items:center;gap:9px}.switch-line input{width:auto!important}.change-workflow-panel{margin-top:18px}.change-workflow-actions{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:18px}.change-workflow-actions>.form-grid{width:100%}.status-client_review{background:#e8f1f6;color:#276582}.status-implemented{background:#e4f4df;color:#34732e}.status-periodic,.status-milestone,.status-closure{background:#edf0f2;color:#5d6b76}.inline-notice.success{border-color:#c9dfc5;background:#f2f9f0;color:#34732e}
@media(max-width:1100px){.forecast-layout{grid-template-columns:1fr}.outscope-summary-card{grid-template-columns:1fr 1fr}.outscope-summary-card form{grid-column:1/-1}.forecast-history-row{grid-template-columns:1fr 120px 110px}}
@media(max-width:720px){.forecast-answer-card{align-items:flex-start;flex-direction:column}.forecast-actions{align-items:stretch;flex-direction:column}.forecast-actions .button{width:100%}.forecast-history-row,.change-card,.outscope-summary-card{grid-template-columns:1fr}.change-card-amount{text-align:left}.forecast-task-table{min-width:760px}.outscope-summary-card form .button{width:100%}}
.manual-change-box{margin-bottom:18px}.manual-change-box>summary strong,.manual-change-box>summary small{display:block}.manual-change-box>summary small{margin-top:4px;color:var(--muted);font-weight:500}.remove-check{display:flex!important;align-items:center;justify-content:center;gap:5px;font-size:10px;color:#9c342c}.remove-check input{width:auto!important;min-width:0!important}.form-help{margin:12px 0 0;color:var(--muted);font-size:11px}.forecast-history-row-compact{grid-template-columns:minmax(250px,1fr) 160px}.forecast-phase-panel td strong{display:block}
@media(max-width:720px){.forecast-history-row-compact{grid-template-columns:1fr}}
.radar-card{border-left:5px solid var(--border-color,#d7dce2)}.radar-card.severity-critical{border-left-color:#b42318}.radar-card.severity-warning{border-left-color:#d97706}.radar-card.severity-attention{border-left-color:#2563eb}.stack-list{display:grid;gap:14px}.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.list-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #e5e7eb}.list-row small,td small{display:block;color:#667085;margin-top:4px}.badge.critical{background:#fee4e2;color:#b42318}.badge.warning{background:#fef0c7;color:#b54708}.badge.attention{background:#dbeafe;color:#1d4ed8}.badge.success{background:#dcfae6;color:#067647}.badge.muted{background:#f2f4f7;color:#475467}

/* JO.CO v3.8 — apprendimento, importazioni e report */
.button.primary{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;box-shadow:0 8px 18px rgba(20,108,148,.18)}
.button.small{padding:7px 10px;font-size:11px;background:#e9f1f5;color:var(--navy)}
.button.danger{background:#fbe7e4;color:#9d322a;border:1px solid #f2c8c2}
.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.alert.success{background:#e6f5e1;color:#34732e}
.alert.info{background:#e8f4f8;color:#245f79}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
.action-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px;box-shadow:var(--shadow)}
.action-card h2{margin:6px 0 8px;color:var(--navy);font-size:18px}
.action-card>p{margin:0 0 15px;color:var(--muted);line-height:1.5}
.report-card{display:flex;flex-direction:column}.report-card form{margin-top:auto}
.two-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.two-column-grid>.panel>h2,.panel>h2{margin:0;padding:17px 19px;border-bottom:1px solid var(--line);color:var(--navy);font-size:16px}
.compact-panel{box-shadow:none;margin:10px 0;border-radius:11px}
.compact-panel .panel-head{align-items:flex-start}.compact-panel h3{margin:9px 0 5px;color:var(--navy)}
.compact-panel p{margin:0;color:var(--muted);line-height:1.5}
.compact-metric strong{font-size:19px}
.status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#edf1f4;color:#526777;font-size:10px;font-weight:800}
.status-badge.warning{background:#fff2d8;color:#94640b}.status-badge.danger{background:#fbe7e4;color:#9d322a}.status-badge.success{background:#e6f5e1;color:#34732e}
.compact-form{gap:9px}.compact-form input,.compact-form select,.compact-form textarea{padding:8px 9px}
.success-panel{border-left:5px solid var(--green)}.danger-panel{border-left:5px solid var(--danger)}
.text-danger{color:var(--danger)!important}
.learning-scope-panel{margin-bottom:18px;border-left:5px solid var(--cyan)}
.panel .form-grid{padding:18px}
details>summary.button{list-style:none}details>summary.button::-webkit-details-marker{display:none}
@media(max-width:980px){.card-grid,.two-column-grid{grid-template-columns:1fr}}
@media(max-width:640px){.button-row{align-items:stretch}.button-row>.button,.button-row>form,.button-row>form>.button{width:100%}.action-card{padding:15px}}

/* JO.CO v3.8.1 — dashboard direzionale Radar-first */
.dashboard-radar-shell{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(520px,1.35fr);gap:18px;margin-bottom:16px;padding:18px;border-radius:19px;background:linear-gradient(135deg,#0d2942 0%,#123f5d 58%,#126f80 100%);box-shadow:0 20px 50px rgba(12,43,67,.18);overflow:hidden;position:relative}.dashboard-radar-shell:before{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(255,255,255,.08);border-radius:50%;left:-145px;bottom:-230px;box-shadow:0 0 0 65px rgba(255,255,255,.035),0 0 0 130px rgba(255,255,255,.02)}.dashboard-radar-shell.radar-state-critical{background:linear-gradient(135deg,#351c27 0%,#5f2934 45%,#123f5d 100%)}.dashboard-radar-summary{position:relative;z-index:1;padding:8px 8px 7px;color:#fff;display:flex;flex-direction:column;min-width:0}.dashboard-radar-kicker{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:850;color:#9bdde2}.dashboard-radar-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:#75c84a;box-shadow:0 0 0 5px rgba(117,200,74,.13)}.radar-state-critical .dashboard-radar-kicker:before{background:#ff786f;box-shadow:0 0 0 5px rgba(255,120,111,.14)}.dashboard-radar-main{display:flex;align-items:center;gap:18px;margin-top:17px}.dashboard-radar-main h1{margin:0 0 7px;font-size:25px;line-height:1.14;letter-spacing:-.025em;color:#fff}.dashboard-radar-main p{margin:0;color:#c9dbe6;line-height:1.5;font-size:12px;max-width:480px}.dashboard-radar-orbit{width:74px;height:74px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;flex:0 0 auto;position:relative;background:rgba(255,255,255,.06)}.dashboard-radar-orbit:before,.dashboard-radar-orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.13)}.dashboard-radar-orbit:before{inset:8px}.dashboard-radar-orbit:after{inset:20px}.dashboard-radar-orbit span{font-size:28px;line-height:1;font-weight:900;color:#fff;z-index:1}.radar-state-clear .dashboard-radar-orbit span{color:#b9ef9f}.radar-state-critical .dashboard-radar-orbit span{color:#ffb0aa}.dashboard-radar-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}.dashboard-radar-stats>div{padding:10px 11px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.065)}.dashboard-radar-stats span,.dashboard-radar-stats strong{display:block}.dashboard-radar-stats span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#bcd1dc;font-weight:800}.dashboard-radar-stats strong{margin-top:4px;font-size:19px;color:#fff}.dashboard-radar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px}.dashboard-radar-actions form{margin:0}.dashboard-radar-primary{background:#fff;color:#123c59;box-shadow:0 8px 20px rgba(0,0,0,.14)}.dashboard-radar-secondary{background:rgba(255,255,255,.09);color:#fff;border:1px solid rgba(255,255,255,.22)}.dashboard-radar-new-work{font-size:11px;font-weight:800;color:#bcecf0;padding:8px 4px}.dashboard-radar-updated{display:block;margin-top:10px;color:#9fb9c7;font-size:9px}.dashboard-radar-feed{position:relative;z-index:1;background:#fff;border-radius:15px;box-shadow:0 12px 32px rgba(3,25,43,.14);min-width:0;overflow:hidden}.dashboard-radar-feed-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px 12px;border-bottom:1px solid #e8eef2}.dashboard-radar-feed-head span,.dashboard-radar-feed-head strong{display:block}.dashboard-radar-feed-head span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--cyan);font-weight:850}.dashboard-radar-feed-head strong{margin-top:3px;color:var(--navy);font-size:15px}.dashboard-radar-feed-head>a{font-size:11px;font-weight:800}.dashboard-radar-signal-list{padding:4px 14px 10px}.dashboard-radar-signal{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 12px;margin:4px 0;border:1px solid #e7edf1;border-left:4px solid #367c9a;border-radius:10px;background:#fff;color:var(--navy)}.dashboard-radar-signal.dashboard-severity-critical{background:#fff7f6;border-left-color:#c53b31}.dashboard-radar-signal.dashboard-severity-warning{background:#fffaf2;border-left-color:#dc8b1f}.dashboard-radar-signal.dashboard-severity-attention{background:#f5f9ff;border-left-color:#2f75c9}.dashboard-radar-signal:last-child{margin-bottom:0}.dashboard-radar-signal-dot{width:8px;height:8px;border-radius:50%;background:#367c9a;box-shadow:0 0 0 4px rgba(54,124,154,.10)}.dashboard-radar-signal.dashboard-severity-critical .dashboard-radar-signal-dot{background:#c53b31;box-shadow:0 0 0 4px rgba(197,59,49,.10)}.dashboard-radar-signal.dashboard-severity-warning .dashboard-radar-signal-dot{background:#dc8b1f;box-shadow:0 0 0 4px rgba(220,139,31,.11)}.dashboard-radar-signal.dashboard-severity-attention .dashboard-radar-signal-dot{background:#2f75c9;box-shadow:0 0 0 4px rgba(47,117,201,.10)}.dashboard-radar-signal-copy{min-width:0}.dashboard-radar-signal-copy>div{display:flex;align-items:center;gap:8px;margin-bottom:2px}.dashboard-radar-severity{font-size:9px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#516474}.dashboard-radar-signal-copy>div small{font-size:10px;color:#758594}.dashboard-radar-signal-copy>strong{display:block;color:#102a43;font-size:13px;line-height:1.3}.dashboard-radar-signal-copy>p{margin:4px 0 0;color:#526474;font-size:11px;line-height:1.45;white-space:normal;overflow:visible;text-overflow:clip}.dashboard-radar-signal-action{font-size:10px;font-weight:850;padding:7px 9px;border-radius:8px;background:#edf5f7;color:#17677e;white-space:nowrap}.dashboard-radar-signal-action:hover{background:#dceff2}.dashboard-radar-clear-state{display:flex;align-items:center;gap:13px;padding:25px 10px}.dashboard-radar-check{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e7f5e1;color:#3d8734;font-size:21px;font-weight:900}.dashboard-radar-clear-state strong{display:block;color:var(--navy)}.dashboard-radar-clear-state p{margin:4px 0 0;color:var(--muted);font-size:11px}.dashboard-shortcut-strip{display:flex;align-items:center;gap:14px;padding:10px 12px 10px 16px;margin-bottom:16px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 7px 22px rgba(16,42,67,.06)}.dashboard-shortcut-title{min-width:188px;padding-right:14px;border-right:1px solid var(--line)}.dashboard-shortcut-title span,.dashboard-shortcut-title strong{display:block}.dashboard-shortcut-title strong{margin-top:3px;color:var(--navy);font-size:12px}.dashboard-shortcut-links{display:flex;align-items:center;gap:5px;flex:1;min-width:0;overflow-x:auto;padding:1px 0}.dashboard-shortcut{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:9px;color:#506577;white-space:nowrap;transition:.16s}.dashboard-shortcut:hover{background:#eef6f7;color:var(--navy)}.dashboard-shortcut-primary{background:linear-gradient(135deg,#166b91,#1598a8);color:#fff}.dashboard-shortcut-primary:hover{color:#fff;background:linear-gradient(135deg,#125f82,#128b9b)}.dashboard-shortcut-icon{width:18px;height:18px;display:grid;place-items:center;flex:0 0 auto}.dashboard-shortcut-icon svg{width:17px;height:17px}.dashboard-shortcut strong{font-size:10px}.dashboard-metric-grid{grid-template-columns:repeat(7,minmax(132px,1fr));gap:10px;margin-bottom:18px;overflow-x:auto;padding-bottom:2px}.dashboard-metric-grid .metric-card{min-height:78px;padding:12px 13px;border-radius:12px;box-shadow:0 6px 18px rgba(16,42,67,.055)}.dashboard-metric-grid .metric-card span{font-size:10px;line-height:1.25}.dashboard-metric-grid .metric-card strong{font-size:20px;margin-top:7px}.dashboard-compact-heading{margin-bottom:16px}
@media(max-width:1250px){.dashboard-metric-grid{grid-template-columns:repeat(7,minmax(125px,1fr))}.dashboard-radar-shell{grid-template-columns:1fr 1.25fr}.dashboard-radar-main h1{font-size:22px}.dashboard-shortcut-title{display:none}.dashboard-shortcut-links{justify-content:flex-start}}
@media(max-width:980px){.dashboard-metric-grid{grid-template-columns:repeat(7,minmax(125px,1fr))}.dashboard-radar-shell{grid-template-columns:1fr}.dashboard-radar-feed{min-height:0}.dashboard-radar-summary{padding-bottom:4px}.dashboard-shortcut-strip{padding:9px}.dashboard-shortcut-links{overflow-x:auto}.dashboard-radar-signal-copy>p{white-space:normal}}
@media(max-width:640px){.dashboard-metric-grid{grid-template-columns:repeat(7,minmax(118px,1fr));gap:8px}.dashboard-metric-grid .metric-card{min-height:72px;padding:10px 11px}.dashboard-metric-grid .metric-card span{font-size:9px}.dashboard-metric-grid .metric-card strong{font-size:18px}.dashboard-radar-shell{padding:13px;border-radius:15px}.dashboard-radar-main{align-items:flex-start}.dashboard-radar-orbit{width:58px;height:58px}.dashboard-radar-orbit span{font-size:22px}.dashboard-radar-main h1{font-size:20px}.dashboard-radar-stats{grid-template-columns:repeat(3,1fr)}.dashboard-radar-stats>div{padding:8px}.dashboard-radar-stats span{font-size:8px}.dashboard-radar-stats strong{font-size:16px}.dashboard-radar-actions{align-items:stretch}.dashboard-radar-actions .button,.dashboard-radar-actions form{width:100%}.dashboard-radar-actions form .button{width:100%}.dashboard-radar-new-work{text-align:center}.dashboard-radar-signal{grid-template-columns:9px 1fr}.dashboard-radar-signal-action{grid-column:2;justify-self:start}.dashboard-shortcut{padding:8px}.dashboard-shortcut strong{font-size:9px}}

/* JO.CO v3.8.3 - Scrollbar sidebar */
.sidebar-nav{
  scrollbar-width:thin;
  scrollbar-color:rgba(143,201,208,.58) transparent;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
.sidebar-nav::-webkit-scrollbar{width:8px}
.sidebar-nav::-webkit-scrollbar-track{
  background:rgba(255,255,255,.025);
  border-radius:999px;
  margin:8px 0 10px;
}
.sidebar-nav::-webkit-scrollbar-thumb{
  min-height:46px;
  border:2px solid transparent;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(120,185,67,.70),rgba(21,158,174,.72));
  background-clip:padding-box;
}
.sidebar-nav::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,rgba(120,185,67,.95),rgba(21,158,174,.96));
  background-clip:padding-box;
}
.sidebar-nav::-webkit-scrollbar-button{
  display:none;
  width:0;
  height:0;
}

/* JO.CO v3.8.4 - KPI allineati e modelli di stima per tenant */
.dashboard-metric-grid .metric-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  height:100%;
}
.dashboard-metric-grid .metric-card strong{
  margin-top:auto;
  padding-top:8px;
  line-height:1;
}

/* JO.CO v4.0.0 demo - Preventivo assistito IA */
.button-ai{gap:7px;background:linear-gradient(135deg,#5b3db3,#159eae);color:#fff;box-shadow:0 8px 20px rgba(91,61,179,.18)}
.button-ai:hover{color:#fff;filter:brightness(.97)}
.manual-scope-link{margin-top:8px}.manual-scope-link .button{width:100%}
.ai-quote-heading{align-items:center}.ai-mode-badge{min-width:205px;padding:12px 14px;border-radius:13px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.ai-mode-badge span,.ai-mode-badge strong,.ai-mode-badge small{display:block}.ai-mode-badge span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.ai-mode-badge strong{margin-top:4px;color:var(--navy);font-size:14px}.ai-mode-badge small{margin-top:3px;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.ai-mode-badge.is-live{border-left:5px solid #4f9f3f}.ai-mode-badge.is-live span{color:#3b8232}.ai-mode-badge.is-demo{border-left:5px solid #d8872e}.ai-mode-badge.is-demo span{color:#aa641d}
.ai-request-panel{margin-bottom:20px}.ai-review-chip{display:inline-flex;padding:6px 9px;border-radius:999px;background:#fff0d9;color:#9b5b12;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.ai-quote-form{padding:19px}.ai-input-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px}.ai-quote-form textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:13px 14px;background:#fff;color:var(--text);line-height:1.55;resize:vertical;outline:none}.ai-quote-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(21,158,174,.11)}.ai-main-prompt textarea{font-size:15px;min-height:210px}.ai-quote-form .field>small{color:var(--muted);font-weight:500;line-height:1.4}.ai-context-column{display:flex;flex-direction:column;gap:12px}.ai-option-card{display:flex;gap:11px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:11px;background:#f8fbfc;cursor:pointer}.ai-option-card input{margin-top:3px}.ai-option-card strong,.ai-option-card small{display:block}.ai-option-card strong{color:var(--navy);font-size:12px}.ai-option-card small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}.ai-form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.ai-safety-note{display:flex;flex-direction:column;gap:3px}.ai-safety-note strong{font-size:11px;color:var(--navy)}.ai-safety-note span{font-size:10px;color:var(--muted)}.ai-generate-button{min-width:220px;gap:7px}
.ai-result-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;margin-bottom:15px;border-radius:15px;background:linear-gradient(135deg,#102a43,#17506c 58%,#117d88);color:#fff;box-shadow:0 14px 34px rgba(16,42,67,.18)}.ai-result-hero h2{margin:5px 0 7px;color:#fff;font-size:23px}.ai-result-hero p{margin:0;max-width:940px;color:#d2e4ec;line-height:1.5}.ai-result-hero .eyebrow{color:#9ae0e5}.ai-confidence{width:105px;height:105px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.09)}.ai-confidence span{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#c4dae4}.ai-confidence strong{font-size:18px;margin-top:3px}.ai-confidence small{font-size:11px;margin-top:2px;color:#d7e8ee}.ai-confidence-alta{box-shadow:inset 0 0 0 5px rgba(117,200,74,.22)}.ai-confidence-media{box-shadow:inset 0 0 0 5px rgba(216,135,46,.24)}.ai-confidence-bassa{box-shadow:inset 0 0 0 5px rgba(201,75,69,.23)}
.ai-proposal-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.ai-proposal-metrics .metric-card{display:flex;flex-direction:column;min-height:102px}.ai-proposal-metrics .metric-card strong{font-size:22px;margin-top:auto;padding-top:7px}.ai-proposal-metrics .metric-card small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.ai-result-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.65fr);gap:18px;align-items:start}.ai-deliverable-list{padding:14px}.ai-deliverable-card{border:1px solid var(--line);border-radius:13px;background:#fff;margin-bottom:12px;overflow:hidden}.ai-deliverable-card:last-child{margin-bottom:0}.ai-deliverable-card>header{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:11px;padding:14px 15px;background:#f8fbfc;border-bottom:1px solid var(--line)}.ai-deliverable-number{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-weight:900}.ai-deliverable-card h3{margin:0;color:var(--navy);font-size:14px}.ai-deliverable-card header p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.ai-mini-confidence{font-size:9px;font-weight:850;color:#567080;background:#eaf3f6;padding:5px 7px;border-radius:999px}.ai-task-list{padding:4px 14px}.ai-task-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.35fr) 62px;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid #edf1f4}.ai-task-row:last-child{border-bottom:0}.ai-task-copy strong,.ai-task-copy small,.ai-task-role span,.ai-task-role small{display:block}.ai-task-copy strong{font-size:11px;color:#263a4b}.ai-task-copy small,.ai-task-role small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}.ai-task-role span{font-size:10px;font-weight:800;color:#466071}.ai-task-hours{text-align:right;color:var(--navy);font-size:14px}.ai-deliverable-card>footer{padding:10px 15px;background:#f7fafb;color:#586c7c;font-size:10px;line-height:1.45;border-top:1px solid var(--line)}.ai-side-stack{display:flex;flex-direction:column;gap:18px}.ai-question-list{padding:10px 13px 14px}.ai-question-card{padding:11px 12px;margin-bottom:8px;border:1px solid var(--line);border-left:4px solid #607d8b;border-radius:10px;background:#fff}.ai-question-card:last-child{margin-bottom:0}.ai-question-card>span{display:inline-block;margin-bottom:5px;font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#607d8b}.ai-question-card strong,.ai-question-card p{display:block}.ai-question-card strong{font-size:11px;color:var(--navy);line-height:1.4}.ai-question-card p{margin:4px 0 0;font-size:9px;color:var(--muted);line-height:1.4}.ai-question-card.priority-blocking{border-left-color:#c0392b;background:#fff8f7}.ai-question-card.priority-blocking>span{color:#a9362e}.ai-question-card.priority-high{border-left-color:#d8872e;background:#fffaf4}.ai-question-card.priority-high>span{color:#a6631d}.ai-question-card.priority-normal{border-left-color:#159eae}.ai-basis-copy{padding:15px 17px}.ai-basis-copy>p{margin:0 0 13px;color:#516575;font-size:11px;line-height:1.5}.ai-basis-copy dl{margin:0}.ai-basis-copy dl>div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px;padding:7px 0;border-top:1px solid var(--line)}.ai-basis-copy dt{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:800}.ai-basis-copy dd{margin:0;font-size:10px;color:var(--navy);overflow-wrap:anywhere}
.ai-materials-panel{margin-top:18px}.ai-material-table td strong,.ai-material-table td small{display:block;white-space:normal}.ai-material-table td strong{max-width:480px}.ai-material-table td small{margin-top:3px;color:var(--muted);font-size:9px}.ai-source-pill{display:inline-block;padding:5px 7px;border-radius:7px;background:#eaf3f6;color:#276582;font-size:9px;font-weight:800}.ai-confirmation-required{display:inline-block;padding:5px 7px;border-radius:7px;background:#fff0d9;color:#9b5b12;font-size:9px;font-weight:850}.ai-detail-grid{margin-top:18px;grid-template-columns:1.1fr .9fr}.ai-statement-list{padding:11px 14px}.ai-statement{padding:10px 11px;margin-bottom:8px;border-radius:10px;border:1px solid var(--line);background:#f9fbfc}.ai-statement:last-child{margin-bottom:0}.ai-statement span{display:inline-block;font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#567080}.ai-statement strong,.ai-statement p{display:block}.ai-statement strong{margin-top:3px;color:var(--navy);font-size:11px}.ai-statement p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.ai-statement.is-critical{border-left:4px solid #d8872e}.ai-statement-exclusion{background:#fff8f7}.ai-statement-inclusion{background:#f7fbf5}.ai-commercial-copy{padding:18px;line-height:1.65;color:#415566}.ai-warning-panel{margin-top:18px;padding:16px 18px;border:1px solid #eacb9f;border-left:5px solid #d8872e;border-radius:13px;background:#fffaf3}.ai-warning-panel>strong{color:#8a5116}.ai-warning-panel ul{margin:9px 0 0;padding-left:19px}.ai-warning-panel li{margin:5px 0;color:#6b553c;font-size:11px;line-height:1.45}.ai-apply-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.6fr);gap:24px;align-items:center;padding:21px 22px;margin-top:18px;border-left:6px solid var(--green)}.ai-apply-panel h2{margin:5px 0 7px;color:var(--navy)}.ai-apply-panel p{margin:0;color:var(--muted);line-height:1.5}.ai-apply-panel form{padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8fbfc}.ai-apply-panel form>small{display:block;margin-top:7px;text-align:center;color:var(--muted);font-size:9px}.ai-confirm-review{display:flex;align-items:flex-start;gap:9px;margin-bottom:12px;color:#425466;font-size:10px;line-height:1.45}.ai-confirm-review input{margin-top:2px}
@media(max-width:1250px){.ai-proposal-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.ai-result-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr)}}
@media(max-width:980px){.ai-quote-heading{align-items:flex-start}.ai-input-grid,.ai-result-grid,.ai-detail-grid,.ai-apply-panel{grid-template-columns:1fr}.ai-mode-badge{min-width:180px}.ai-proposal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-apply-panel form{width:100%}}
@media(max-width:640px){.ai-quote-heading{align-items:stretch}.ai-mode-badge{width:100%}.ai-form-footer{align-items:stretch;flex-direction:column}.ai-generate-button{width:100%}.ai-result-hero{align-items:flex-start}.ai-confidence{width:78px;height:78px}.ai-confidence strong{font-size:14px}.ai-proposal-metrics{grid-template-columns:1fr}.ai-task-row{grid-template-columns:1fr auto}.ai-task-role{grid-column:1}.ai-task-hours{grid-column:2;grid-row:1/3}.ai-deliverable-card>header{grid-template-columns:32px 1fr}.ai-mini-confidence{grid-column:2;justify-self:start}.ai-material-table{min-width:780px}.ai-apply-panel{padding:17px}}

/* JO.CO v4.1.0 - Preventivo IA operativo */
.ai-mode-badge.is-offline{border-left:5px solid #c94b45}.ai-mode-badge.is-offline span{color:#a9362e}
.ai-configuration-warning{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.ai-configuration-warning p{flex:1 1 520px;margin:0}.ai-configuration-warning .button{margin-left:auto}
.ai-question-card textarea,.ai-refine-form textarea{width:100%;margin-top:9px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);resize:vertical;outline:none;font:inherit}.ai-question-card textarea:focus,.ai-refine-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(21,158,174,.11)}
.ai-refine-form{padding-top:10px}.ai-refine-form .ai-question-list{padding:0 0 12px}.ai-review-feedback{margin:0 0 12px}.ai-review-feedback textarea{display:block}
.ai-apply-actions{display:flex;flex-direction:column;gap:9px}.ai-apply-actions form{width:100%}.ai-apply-actions form+form{padding:0;border:0;background:transparent}
.ai-settings-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start}.ai-settings-side{display:flex;flex-direction:column;gap:18px}.ai-test-result{margin-bottom:14px;padding:13px;border:1px solid #b8dbaf;border-radius:10px;background:#f5fbf2}.ai-test-result>strong{display:block;margin-bottom:8px;color:#34752d}.ai-test-result dl{margin:0}.ai-test-result dl>div{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:5px 0;border-top:1px solid #dfeeda}.ai-test-result dt{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:800}.ai-test-result dd{margin:0;font-size:10px;color:var(--navy)}.danger-zone-form{margin-top:10px}.form-grid.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.input-with-suffix{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.input-with-suffix input{flex:1;border:0!important;border-radius:0!important;box-shadow:none!important}.input-with-suffix span{padding:0 10px;color:var(--muted);font-size:10px;white-space:nowrap}
@media(max-width:980px){.ai-settings-grid,.form-grid.two-columns{grid-template-columns:1fr}.ai-configuration-warning .button{margin-left:0}}
.button-danger{background:#c0392b;color:#fff}.button-danger:hover{color:#fff;filter:brightness(.96)}

/* JO.CO v4.1.1 - Catalogo prezzi e revisione costi IA */
.money-input,.suffix-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}.money-input input,.suffix-input input{min-width:0;flex:1;border:0!important;border-radius:0!important;box-shadow:none!important}.money-input span,.suffix-input span{padding:0 9px;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}.money-input.compact,.suffix-input.compact{min-width:105px}.button-small{padding:7px 10px;font-size:9px}.catalog-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-create-panel,.catalog-list-panel{margin-top:18px}.catalog-form-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;padding:17px}.catalog-field-wide{grid-column:span 2}.catalog-field-full{grid-column:1/-1}.catalog-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.catalog-list-head{align-items:flex-end}.catalog-filter-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.catalog-filter-form input{min-width:240px}.catalog-table{min-width:1180px}.catalog-table th{white-space:nowrap}.catalog-table td{vertical-align:top}.catalog-table input,.catalog-table select,.catalog-table textarea{width:100%;min-width:0}.catalog-main-cell{min-width:320px}.catalog-main-cell textarea{margin-top:6px;resize:vertical}.catalog-code-input{max-width:135px;font-size:9px;font-weight:850;color:var(--cyan)}.catalog-name-input{margin-top:5px;font-weight:800;color:var(--navy)}.catalog-category-input{margin-top:5px}.catalog-unit-input{min-width:85px}.catalog-qty-input{margin-top:6px;min-width:85px}.catalog-inline-pair{display:grid;grid-template-columns:.8fr 1.2fr;gap:6px;margin-top:6px}.catalog-actions-cell{min-width:92px}.catalog-actions-cell form{margin-bottom:7px}.compact-switch{padding:5px 0}.compact-switch span{font-size:9px}.ai-prices-head{align-items:flex-end}.ai-price-editor-table{min-width:1220px}.ai-price-editor-table td{vertical-align:top}.ai-price-editor-table input{width:100%}.ai-price-description-cell{min-width:330px}.ai-price-description-cell input{font-weight:750;color:var(--navy)}.ai-quantity-editor{display:grid;grid-template-columns:90px 90px;gap:6px}.ai-price-input{min-width:125px}.ai-save-catalog-switch{min-width:150px}.ai-price-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line)}.ai-price-actions p{margin:4px 0 0;color:var(--muted);font-size:10px}.ai-price-actions strong{color:var(--navy);font-size:11px}
@media(max-width:1250px){.catalog-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-field-wide{grid-column:span 2}.catalog-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.catalog-form-grid{grid-template-columns:1fr}.catalog-field-wide,.catalog-field-full{grid-column:auto}.catalog-list-head,.ai-prices-head,.ai-price-actions{align-items:stretch;flex-direction:column}.catalog-filter-form{align-items:stretch}.catalog-filter-form input,.catalog-filter-form select,.catalog-filter-form .button{width:100%;min-width:0}.catalog-metrics{grid-template-columns:1fr}.ai-price-actions .button{width:100%}}

/* JO.CO 4.2 — Radar assistito IA con cache per fingerprint */
.radar-ai-governance{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:22px;align-items:center;padding:18px 20px;margin-bottom:18px;border:1px solid rgba(31,78,121,.15);background:linear-gradient(135deg,#f7fbff,#eef8f6)}
.radar-ai-governance p{margin:5px 0 0;color:#5f6f7f;max-width:820px}.radar-ai-governance strong{display:block;color:#163a5c;font-size:1.05rem}
.radar-ai-usage{padding-left:20px;border-left:1px solid rgba(31,78,121,.14);min-width:170px}.radar-ai-usage span,.radar-ai-usage small{display:block;color:#657687}.radar-ai-usage strong{font-size:1.35rem;margin:2px 0}
.radar-ai-status{padding:9px 12px;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap}.radar-ai-status.is-live{background:#dff3e6;color:#16633c}.radar-ai-status.is-offline{background:#fce7e7;color:#9c2424}
.radar-factor-row{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.radar-factor-row span{padding:5px 8px;border-radius:999px;background:#eef3f7;color:#496071;font-size:.72rem;text-transform:capitalize}
.radar-ai-analysis{margin:16px 0;padding:17px;border-radius:15px;border:1px solid #b9d8d4;background:#f5fbfa}.radar-ai-analysis.is-stale{border-color:#e1c68b;background:#fffaf0}
.radar-ai-analysis-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.radar-ai-analysis-head strong{display:block;color:#173e5d}.radar-ai-analysis-head small{color:#647687;text-align:right}
.radar-ai-summary{font-size:1.02rem;font-weight:700;color:#1d415d;margin:12px 0}.radar-ai-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.radar-ai-grid>div{background:#fff;border:1px solid rgba(31,78,121,.1);border-radius:11px;padding:11px}.radar-ai-grid span,.radar-ai-recommendation span{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#628092}.radar-ai-grid p{margin:4px 0 0;color:#334b5d}
.radar-ai-recommendation{margin-top:10px;padding:13px 14px;border-radius:11px;background:#e6f2fa;border-left:4px solid #1f6f99}.radar-ai-recommendation strong{display:block;margin-top:4px;color:#174b6d}.radar-ai-recommendation p{margin:4px 0 0}
.radar-ai-details{margin-top:9px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid rgba(31,78,121,.1)}.radar-ai-details summary{cursor:pointer;font-weight:700;color:#28536f}.radar-ai-details ul{margin:8px 0 2px;padding-left:20px}.radar-ai-meta{display:block;margin-top:10px;color:#71808d}
.radar-ai-error{display:flex;flex-direction:column;gap:3px;margin:12px 0;padding:10px 12px;border-radius:10px;background:#fff0f0;color:#8f2727;border:1px solid #f0c6c6}.radar-ai-error small{color:#7a5b5b}
.radar-standard-note{display:flex;gap:8px;align-items:center;margin:12px 0;padding:9px 11px;border-radius:10px;background:#f2f5f7;color:#5d6d79}.radar-standard-note strong{color:#334c5e}.radar-actions-row{align-items:flex-start}.radar-ai-form{display:flex;flex-direction:column;gap:6px}.radar-ai-form label{font-size:.75rem;color:#8a5b16}.radar-ai-button{background:#e5f4f2!important;border-color:#8cc8bf!important;color:#0d675c!important;font-weight:800}
.radar-ai-settings-panel{border-top:4px solid #1e9ba6}.radar-ai-toggle{background:#edf9f7}.radar-ai-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.radar-ai-rules-grid>div{padding:12px;border-radius:12px;background:#f4f7f9}.radar-ai-rules-grid strong,.radar-ai-rules-grid span{display:block}.radar-ai-rules-grid span{margin-top:3px;color:#667784;font-size:.82rem}.radar-ai-monthly-usage>strong{font-size:1.7rem;color:#173e5d}.radar-ai-progress{height:8px;background:#e5ebef;border-radius:999px;overflow:hidden;margin:10px 0 14px}.radar-ai-progress span{display:block;height:100%;background:#1e9ba6;border-radius:999px}.radar-ai-monthly-usage dl{display:grid;gap:7px}.radar-ai-monthly-usage dl div{display:flex;justify-content:space-between;gap:12px}.radar-ai-monthly-usage dt{color:#687985}.radar-ai-monthly-usage dd{margin:0;font-weight:700;color:#30495b}
@media(max-width:900px){.radar-ai-governance{grid-template-columns:1fr}.radar-ai-usage{padding-left:0;border-left:0}.radar-ai-status{justify-self:start}.radar-ai-grid,.radar-ai-rules-grid{grid-template-columns:1fr}.radar-ai-analysis-head{flex-direction:column}.radar-ai-analysis-head small{text-align:left}}


.radar-ai-cache-badge {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid rgba(30, 155, 166, .28);
    background: rgba(30, 155, 166, .08);
    color: #176f77;
    font-size: .82rem;
    font-weight: 750;
}

/* JO.CO v4.3.0 — Interfaccia chiara, navigazione a macro-aree e sidebar compatta */
:root{
    --navy:#111827;
    --navy2:#1f2937;
    --blue:#075fae;
    --cyan:#0797b3;
    --green:#68ad37;
    --lime:#7fbd36;
    --bg:#ffffff;
    --panel:#ffffff;
    --text:#202123;
    --muted:#6b7280;
    --line:#e5e7eb;
    --line-strong:#d7d9dd;
    --soft:#f7f7f8;
    --soft-hover:#ececee;
    --danger:#c24138;
    --shadow:none;
    font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    color:var(--text)
}
html{background:#fff}
body{background:#fff;color:var(--text);font-size:14px;line-height:1.45}
a{color:var(--blue)}
.app-shell{background:#fff}

/* Sidebar */
.sidebar{
    width:288px;
    background:#f7f7f8;
    color:#202123;
    border-right:1px solid #e5e5e7;
    box-shadow:none;
    transition:width .2s ease,transform .2s ease
}
.sidebar-head{
    height:76px;
    padding:12px 12px 12px 16px;
    border-bottom:0;
    gap:10px
}
.brand{min-width:0;flex:1;height:48px;display:flex;align-items:center;color:inherit;overflow:hidden}
.brand-logo-full{display:block;width:190px;height:56px;object-fit:contain;object-position:left center}
.brand-logo-mark{display:none;width:42px;height:42px;object-fit:contain}
.sidebar-head-actions{display:flex;align-items:center;gap:3px;flex:0 0 auto}
.sidebar-collapse-button{
    width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:#666;
    display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s
}
.sidebar-collapse-button:hover{background:#e7e7e9;color:#111}
.sidebar-collapse-button svg{width:20px;height:20px}
.sidebar-collapse-arrow{transition:transform .2s ease;transform-origin:center}
.sidebar-workspace{margin:0 10px 9px;padding:10px 11px;border-radius:10px;background:#eeeeef;min-width:0}
.sidebar-workspace-label{display:block;color:#777;font-size:10px;font-weight:650;margin-bottom:2px}
.sidebar-workspace strong{display:block;color:#252525;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-nav{padding:0 8px 18px;gap:3px;scrollbar-color:#c5c5c8 transparent}
.sidebar-nav::-webkit-scrollbar{width:6px}
.sidebar-nav::-webkit-scrollbar-track{background:transparent!important}
.sidebar-nav::-webkit-scrollbar-thumb{background:#c9c9cc!important;border:0!important;border-radius:999px!important;box-shadow:none!important}
.nav-group{border-radius:11px}
.nav-group+.nav-group{margin-top:4px}
.nav-group-summary{
    list-style:none;display:grid;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:9px;
    min-height:48px;padding:7px 9px;border-radius:10px;color:#4b4b4f;cursor:pointer;user-select:none
}
.nav-group-summary::-webkit-details-marker{display:none}
.nav-group-summary:hover{background:#ececee;color:#111}
.nav-group-icon{width:21px;height:21px;display:grid;place-items:center;color:#65656a}
.nav-group-icon svg{width:19px;height:19px}
.nav-group-copy{min-width:0}
.nav-group-copy strong,.nav-group-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-group-copy strong{font-size:12px;font-weight:720;color:inherit}
.nav-group-copy small{font-size:9px;color:#85858b;margin-top:1px}
.nav-group-chevron{width:16px;height:16px;color:#8a8a8e;transition:transform .16s ease}
.nav-group[open]>.nav-group-summary .nav-group-chevron{transform:rotate(180deg)}
.nav-group.is-active>.nav-group-summary{color:#111}
.nav-group-items{display:flex;flex-direction:column;gap:2px;padding:1px 0 5px 30px}
.nav-item{
    position:relative;min-height:40px;padding:8px 10px;border-radius:9px;gap:10px;color:#4b4b4f;font-weight:560;
    transition:background .14s,color .14s
}
.nav-item:hover{background:#ececee;color:#111}
.nav-item.active{background:#e5e5e7;color:#111;box-shadow:none;font-weight:690}
.nav-icon{width:20px;height:20px;color:#626268;flex:0 0 auto}
.nav-item.active .nav-icon{color:#075fae}
.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-foot{
    min-height:70px;margin-top:auto;padding:12px 14px;border-top:1px solid #e4e4e6;color:#292929;gap:10px
}
.tenant-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#202123;color:#fff;font-size:12px;font-weight:750}
.sidebar-foot-copy{min-width:0}
.sidebar-foot-copy strong,.sidebar-foot-copy small{display:block}
.sidebar-foot-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-foot-copy small{margin-top:2px;color:#777;font-size:10px;display:flex;align-items:center;gap:6px}
.tenant-dot{width:7px;height:7px;background:#6aae35;box-shadow:none}
.sidebar-overlay{display:none}

/* Compact sidebar */
.app-main{margin-left:288px;width:calc(100% - 288px);transition:margin-left .2s ease,width .2s ease}
.app-shell.sidebar-collapsed .sidebar,
html.flussivo-sidebar-compact .sidebar{width:76px}
.app-shell.sidebar-collapsed .app-main,
html.flussivo-sidebar-compact .app-main{margin-left:76px;width:calc(100% - 76px)}
.app-shell.sidebar-collapsed .sidebar-head,
html.flussivo-sidebar-compact .sidebar-head{padding:12px 10px;justify-content:center}
.app-shell.sidebar-collapsed .brand,
html.flussivo-sidebar-compact .brand{flex:0 0 44px;justify-content:center}
.app-shell.sidebar-collapsed .brand-logo-full,
html.flussivo-sidebar-compact .brand-logo-full{display:none}
.app-shell.sidebar-collapsed .brand-logo-mark,
html.flussivo-sidebar-compact .brand-logo-mark{display:block}
.app-shell.sidebar-collapsed .sidebar-collapse-button,
html.flussivo-sidebar-compact .sidebar-collapse-button{position:absolute;left:61px;top:22px;width:28px;height:28px;background:#fff;border:1px solid #dedee1;box-shadow:0 2px 8px rgba(0,0,0,.06);z-index:2}
.app-shell.sidebar-collapsed .sidebar-collapse-arrow,
html.flussivo-sidebar-compact .sidebar-collapse-arrow{transform:rotate(180deg)}
.app-shell.sidebar-collapsed .sidebar-workspace,
html.flussivo-sidebar-compact .sidebar-workspace,
.app-shell.sidebar-collapsed .nav-group-summary,
html.flussivo-sidebar-compact .nav-group-summary,
.app-shell.sidebar-collapsed .sidebar-foot-copy,
html.flussivo-sidebar-compact .sidebar-foot-copy{display:none}
.app-shell.sidebar-collapsed .sidebar-nav,
html.flussivo-sidebar-compact .sidebar-nav{padding:9px 9px 18px;overflow:visible}
.app-shell.sidebar-collapsed .nav-group,
html.flussivo-sidebar-compact .nav-group{margin:0}
.app-shell.sidebar-collapsed .nav-group-items,
html.flussivo-sidebar-compact .nav-group-items{padding:0;gap:4px}
.app-shell.sidebar-collapsed .nav-group+.nav-group,
html.flussivo-sidebar-compact .nav-group+.nav-group{margin-top:9px;padding-top:9px;border-top:1px solid #e1e1e3;border-radius:0}
.app-shell.sidebar-collapsed .nav-item,
html.flussivo-sidebar-compact .nav-item{width:48px;height:44px;min-height:44px;margin:0 auto;padding:0;justify-content:center;overflow:visible}
.app-shell.sidebar-collapsed .nav-label,
html.flussivo-sidebar-compact .nav-label{display:none}
.app-shell.sidebar-collapsed .nav-icon,
html.flussivo-sidebar-compact .nav-icon{width:22px;height:22px}
.app-shell.sidebar-collapsed .nav-icon svg,
html.flussivo-sidebar-compact .nav-icon svg{width:21px;height:21px}
.app-shell.sidebar-collapsed .nav-item::after,
html.flussivo-sidebar-compact .nav-item::after{
    content:attr(data-tooltip);position:absolute;left:58px;top:50%;transform:translateY(-50%) translateX(-3px);
    z-index:100;pointer-events:none;opacity:0;visibility:hidden;white-space:nowrap;padding:7px 9px;border-radius:7px;
    background:#202123;color:#fff;font-size:11px;font-weight:650;box-shadow:0 5px 18px rgba(0,0,0,.16);transition:.13s
}
.app-shell.sidebar-collapsed .nav-item:hover::after,
html.flussivo-sidebar-compact .nav-item:hover::after{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
.app-shell.sidebar-collapsed .sidebar-foot,
html.flussivo-sidebar-compact .sidebar-foot{justify-content:center;padding:12px 8px}

/* Top bar and page area */
.topbar{
    height:72px;background:rgba(255,255,255,.96);border-bottom:1px solid #ededee;padding:0 38px;
    backdrop-filter:blur(12px);box-shadow:none
}
.topbar-title strong{font-size:17px;line-height:1.2;color:#202123;font-weight:700}
.eyebrow{color:#777;text-transform:none;letter-spacing:0;font-size:10px;font-weight:620}
.topbar-actions{gap:8px}
.topbar select,.search-form input,.form-stack input{border-color:#d7d7da;border-radius:10px;background:#fff}
.topbar select:focus,.search-form input:focus,.form-stack input:focus{border-color:#737373;box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.user-chip{border-radius:10px;padding:5px 8px}
.user-chip:hover{background:#f4f4f5}
.avatar{background:#202123;color:#fff}
.content-area{max-width:none;margin:0;padding:36px 42px 52px}
.page-heading{margin-bottom:25px;align-items:center}
.page-heading h1{color:#202123;font-size:32px;font-weight:680;letter-spacing:-.035em}
.page-heading p{color:#6b7280;font-size:13px}
.back-link{color:#666}

/* Shared surfaces */
.panel,.metric-card,.resource-card,.scenario-card,.advanced-box,.quick-start-card,.dashboard-shortcut-strip{
    border-color:#e4e4e7;border-radius:15px;box-shadow:none;background:#fff
}
.panel-head{padding:17px 20px;border-bottom-color:#ececee}
.panel-head h2{color:#202123;font-size:15px}
.panel-head p{color:#777}
.metric-grid{gap:12px}
.metric-card{padding:16px 17px;overflow:hidden}
.metric-card::before{width:100%;height:2px;right:0;bottom:auto;background:var(--accent,#075fae);opacity:.7}
.metric-card span{color:#727278;font-size:11px;font-weight:600}
.metric-card strong{color:#202123;font-size:23px;font-weight:700}
.resource-card{box-shadow:none}
.resource-card:hover,.quick-start-card:hover{transform:none;border-color:#c9c9cd;background:#fafafa;box-shadow:none}
.resource-icon,.quick-step{background:#f0f0f1;color:#075fae}
.quick-step{border-radius:9px}
.detail-grid>div,th,td{border-bottom-color:#ececee}
th{background:#fafafa;color:#73737a;font-size:10px;font-weight:700}
tbody tr:hover{background:#fafafa}
.status{background:#f0f0f1;color:#55565b}
.code-chip{background:#eff5fb;color:#075fae}
.notice-panel{border-color:#d8e7ce;background:#f6faf3;color:#395d2f}
.empty-state,.empty-cell{color:#777}

/* Inputs and actions */
.button{border-radius:10px;padding:9px 14px;font-weight:680;transition:background .14s,border-color .14s,color .14s,transform .14s}
.button:hover{transform:none}
.button-primary{background:#075fae;color:#fff;box-shadow:none}
.button-primary:hover{background:#064f91;color:#fff}
.button-secondary{background:#f0f0f1;color:#202123;border:1px solid #e2e2e4}
.button-secondary:hover{background:#e7e7e9;color:#111}
.button-ghost{background:#fff;color:#4e4e53;border:1px solid #dddddf}
.button-ghost:hover{background:#f6f6f7;color:#111}
.button-ai{background:#075fae;color:#fff;box-shadow:none}
.form-panel,.panel-body{padding:20px}
.form-grid input,.form-grid select,.form-grid textarea,.builder-row input,.estimate-row input,.estimate-row select,.statement-row input,.statement-row select,.statement-row textarea,.decision-form select,.decision-form textarea,.catalog-table input,.catalog-table select,.catalog-table textarea,.ai-question-card textarea,.ai-refine-form textarea{
    border-color:#d7d7da;border-radius:10px;background:#fff;color:#202123
}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.builder-row input:focus,.estimate-row input:focus,.estimate-row select:focus,.statement-row input:focus,.statement-row select:focus,.statement-row textarea:focus,.decision-form select:focus,.decision-form textarea:focus{
    border-color:#737373;box-shadow:0 0 0 3px rgba(0,0,0,.055);outline:none
}
.sticky-actions{border-color:#dedee1;border-radius:14px;box-shadow:0 8px 26px rgba(0,0,0,.07)}
.alert{border:1px solid transparent;border-radius:11px}
.alert-success{background:#f1f8ed;border-color:#d6e8cc;color:#315c28}
.alert-danger{background:#fff1f0;border-color:#f2cfcc;color:#9d342d}

/* Dashboard: Radar remains first, but follows the light product language */
.dashboard-radar-shell{
    grid-template-columns:minmax(360px,.88fr) minmax(520px,1.32fr);gap:0;padding:0;margin-bottom:18px;
    border:1px solid #e2e2e5;border-radius:18px;background:#fff;box-shadow:none;overflow:hidden
}
.dashboard-radar-shell::before{display:none}
.dashboard-radar-shell.radar-state-critical{background:#fff}
.dashboard-radar-summary{
    padding:24px 25px 22px;color:#202123;border-right:1px solid #e5e5e7;
    background:linear-gradient(135deg,#edf7ff 0%,#f1f8ed 55%,#fff7e8 100%)
}
.radar-state-critical .dashboard-radar-summary{background:linear-gradient(135deg,#fff0ee 0%,#fff8ea 52%,#eef7ff 100%)}
.dashboard-radar-kicker{color:#335f74;font-size:10px}
.dashboard-radar-kicker::before{background:#68ad37;box-shadow:0 0 0 4px rgba(104,173,55,.13)}
.radar-state-critical .dashboard-radar-kicker::before{background:#d64b43;box-shadow:0 0 0 4px rgba(214,75,67,.13)}
.dashboard-radar-main{margin-top:18px}
.dashboard-radar-main h1{color:#202123;font-size:25px;font-weight:700}
.dashboard-radar-main p{color:#5f6368;font-size:12px}
.dashboard-radar-orbit{width:74px;height:74px;border-color:rgba(7,95,174,.25);background:rgba(255,255,255,.56)}
.dashboard-radar-orbit::before,.dashboard-radar-orbit::after{border-color:rgba(7,95,174,.15)}
.dashboard-radar-orbit span,.radar-state-clear .dashboard-radar-orbit span,.radar-state-critical .dashboard-radar-orbit span{color:#075fae}
.radar-state-critical .dashboard-radar-orbit span{color:#bd3e37}
.dashboard-radar-stats>div{background:rgba(255,255,255,.62);border-color:rgba(32,33,35,.10)}
.dashboard-radar-stats span{color:#727278}
.dashboard-radar-stats strong{color:#202123}
.dashboard-radar-primary{background:#202123;color:#fff;box-shadow:none}
.dashboard-radar-primary:hover{background:#000;color:#fff}
.dashboard-radar-secondary{background:rgba(255,255,255,.65);color:#202123;border-color:rgba(32,33,35,.15)}
.dashboard-radar-secondary:hover{background:#fff;color:#111}
.dashboard-radar-new-work{color:#075fae}
.dashboard-radar-updated{color:#727278}
.dashboard-radar-feed{border-radius:0;background:#fff;box-shadow:none}
.dashboard-radar-feed-head{padding:20px 20px 15px}
.dashboard-radar-feed-head span{color:#6a6a70}
.dashboard-radar-feed-head strong{color:#202123}
.dashboard-radar-signal-list{padding:7px 14px 14px}
.dashboard-radar-signal{border-color:#e7e7e9;border-left-width:3px;border-radius:11px}
.dashboard-radar-signal.dashboard-severity-critical{background:#fff8f7}
.dashboard-radar-signal.dashboard-severity-warning{background:#fffbf4}
.dashboard-radar-signal.dashboard-severity-attention{background:#f7faff}
.dashboard-radar-signal-copy>strong{color:#202123}
.dashboard-radar-signal-copy>p{color:#666a70}
.dashboard-radar-signal-action{background:#f0f0f1;color:#202123}
.dashboard-radar-signal-action:hover{background:#e5e5e7}
.dashboard-shortcut-strip{padding:10px 12px 10px 16px}
.dashboard-shortcut:hover{background:#f0f0f1;color:#202123}
.dashboard-shortcut-primary{background:#202123;color:#fff}
.dashboard-shortcut-primary:hover{background:#000;color:#fff}
.dashboard-metric-grid .metric-card{box-shadow:none}

/* Radar, AI and finance panels inherit the same neutral hierarchy */
.radar-ai-governance,.radar-ai-analysis,.radar-ai-settings-panel,.ai-test-result,.recommendation{
    box-shadow:none;border-radius:15px
}
.radar-ai-governance{border-color:#e1e1e4;background:linear-gradient(135deg,#f7fbff,#f5faf2)}
.radar-ai-analysis{border-color:#cfe0df;background:#f7fbfa}
.radar-ai-grid>div,.radar-ai-details{border-color:#e3e3e5}
.radar-ai-recommendation{background:#eff6fb;border-left-color:#075fae}
.radar-ai-progress span{background:#075fae}

/* Login */
.auth-body{background:#fff;min-height:100vh;padding:24px}
.auth-shell{max-width:420px}
.auth-card{padding:34px 36px 36px;border:1px solid #e4e4e7;border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.07)}
.auth-brand{display:block;width:290px;max-width:100%;margin:0 auto 30px}
.auth-brand img{display:block;width:100%;height:auto}
.auth-copy{text-align:center}
.auth-copy h1{color:#202123;font-size:28px;font-weight:680}
.auth-copy p{color:#73737a;margin-bottom:25px}
.form-stack label{color:#3f3f43;font-size:12px}
.form-stack .button{margin-top:3px;min-height:42px}

@media(max-width:1250px){
    .content-area{padding-left:30px;padding-right:30px}
}
@media(max-width:980px){
    html.flussivo-sidebar-compact .sidebar{width:288px}
    html.flussivo-sidebar-compact .app-main{margin-left:0;width:100%}
    html.flussivo-sidebar-compact .sidebar-head{padding:12px 12px 12px 16px;justify-content:space-between}
    html.flussivo-sidebar-compact .brand{flex:1;justify-content:flex-start}
    html.flussivo-sidebar-compact .brand-logo-full{display:block}
    html.flussivo-sidebar-compact .brand-logo-mark{display:none}
    html.flussivo-sidebar-compact .sidebar-collapse-button{display:none}
    html.flussivo-sidebar-compact .sidebar-workspace{display:block}
    html.flussivo-sidebar-compact .nav-group-summary{display:grid}
    html.flussivo-sidebar-compact .sidebar-foot-copy{display:block}
    html.flussivo-sidebar-compact .sidebar-nav{padding:0 8px 18px;overflow:auto}
    html.flussivo-sidebar-compact .nav-group+.nav-group{margin-top:4px;padding-top:0;border-top:0;border-radius:11px}
    html.flussivo-sidebar-compact .nav-group-items{padding:1px 0 5px 30px;gap:2px}
    html.flussivo-sidebar-compact .nav-item{width:auto;height:auto;min-height:40px;margin:0;padding:8px 10px;justify-content:flex-start}
    html.flussivo-sidebar-compact .nav-label{display:inline}
    html.flussivo-sidebar-compact .nav-item::after{display:none}
    html.flussivo-sidebar-compact .sidebar-foot{justify-content:flex-start;padding:12px 14px}
    .sidebar{width:288px;transform:translateX(-100%)}
    .sidebar-open .sidebar{transform:translateX(0)}
    .sidebar-open::after{display:none}
    .sidebar-overlay{position:fixed;inset:0;z-index:25;border:0;background:rgba(0,0,0,.28);display:block;opacity:0;visibility:hidden;transition:.18s;cursor:default}
    .sidebar-open .sidebar-overlay{opacity:1;visibility:visible}
    .app-main,.app-shell.sidebar-collapsed .app-main{margin-left:0;width:100%}
    .sidebar-collapse-button{display:none}
    .menu-toggle,.sidebar-close{display:block}
    .sidebar-close{width:34px;height:34px;border-radius:9px;color:#555}
    .sidebar-close:hover{background:#e7e7e9}
    .topbar{padding:0 20px}
    .content-area{padding:28px 22px 42px}
    .dashboard-radar-shell{grid-template-columns:1fr}
    .dashboard-radar-summary{border-right:0;border-bottom:1px solid #e5e5e7}
}
@media(max-width:680px){
    .content-area{padding:22px 14px 36px}
    .topbar{height:66px;padding:0 12px}
    .page-heading h1{font-size:27px}
    .auth-card{padding:28px 22px}
    .auth-brand{width:250px}
    .dashboard-radar-summary{padding:20px 18px}
}

/* JO.CO v4.4.0 — rifiniture UX, menu semplice e confronto mensile */

/* Azioni rapide nella barra superiore */
.topbar-context-actions{
    flex:1;min-width:0;margin:0 18px;display:flex;align-items:center;overflow:hidden
}
.dashboard-topbar-shortcuts{
    display:flex;align-items:center;gap:4px;min-width:0;overflow-x:auto;padding:3px 2px;
    scrollbar-width:none
}
.dashboard-topbar-shortcuts::-webkit-scrollbar{display:none}
.topbar-shortcut{
    min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;
    color:#4f5f70;white-space:nowrap;flex:0 0 auto;transition:background .14s,color .14s
}
.topbar-shortcut:hover{background:#f0f0f1;color:#202123}
.topbar-shortcut>span{width:18px;height:18px;display:grid;place-items:center;flex:0 0 auto}
.topbar-shortcut svg{width:17px;height:17px}
.topbar-shortcut strong{font-size:10px;font-weight:700}
.topbar-shortcut-primary{background:#202123;color:#fff;padding-left:12px;padding-right:12px}
.topbar-shortcut-primary:hover{background:#000;color:#fff}

/* Dashboard: blocchi recenti larghi, uno sotto l'altro */
.dashboard-recent-stack{display:grid;grid-template-columns:1fr;gap:18px}
.dashboard-recent-panel{width:100%;min-width:0}
.dashboard-recent-panel .stack-list{padding:8px 12px}
.dashboard-recent-panel .stack-item{min-height:62px;padding:11px 12px;justify-content:space-between;border-bottom:1px solid #ededee;border-radius:0}
.dashboard-recent-panel .stack-item:last-child{border-bottom:0}
.dashboard-recent-panel .stack-item:hover{background:#fafafa;border-radius:10px}
.dashboard-recent-panel .stack-item>span:first-child{min-width:0}
.dashboard-recent-panel .stack-item strong{font-size:13px}
.dashboard-recent-panel .stack-item small{white-space:normal}

/* Filtri integrati nello stesso pannello della tabella, come Analisi lavori */
.list-table-panel{overflow:hidden}
.list-filter-head{justify-content:flex-start;padding:18px 22px;background:#fff}
.list-filter-head .search-form{width:100%}
.list-filter-head .search-form input{flex:1;min-width:260px}
.list-filter-head .search-form select{min-width:190px}

/* Radar: contenuti interni respirano e non toccano il bordo */
.radar-signal-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.radar-card{overflow:hidden}
.radar-card>.panel-head{padding:20px 24px}
.radar-card>p{margin:0;padding:20px 24px 8px;line-height:1.55;color:#384654}
.radar-card>.radar-factor-row{margin:0;padding:6px 24px 15px}
.radar-card>.radar-ai-error,
.radar-card>.radar-ai-analysis,
.radar-card>.radar-standard-note,
.radar-card>.radar-ai-details{margin-left:24px;margin-right:24px}
.radar-card>.radar-ai-analysis{margin-top:14px;margin-bottom:14px}
.radar-card>.radar-actions-row{margin:0;padding:16px 24px 22px;border-top:1px solid #ededee}
.radar-card>.radar-ai-history{margin-bottom:14px}
.radar-card .inline-form input,.radar-card .inline-form select{min-height:38px;border:1px solid #d7d7da;border-radius:9px;padding:8px 10px;background:#fff}

/* Finanza: pannelli complessi sempre a tutta larghezza */
.finance-recurring-panel,.finance-admin-panel{grid-column:1/-1;grid-row:auto;min-width:0;overflow:hidden}
.finance-admin-grid{grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr)}
.admin-action-card{min-width:0;overflow:hidden}
.lock-period-form{grid-template-columns:minmax(145px,.8fr) minmax(145px,.8fr) minmax(180px,1.4fr) auto;align-items:end}
.lock-period-form .button{white-space:nowrap}

/* Cash flow: confronto entrate/uscite per mese */
.cashflow-monthly-panel{grid-column:1/-1;min-width:0}
.cashflow-monthly-chart-wrap{padding:18px 20px 16px}
.cashflow-monthly-chart{display:block;width:100%;height:auto;min-height:280px}
.monthly-bar{stroke:none}
.monthly-bar-inflows{fill:#2f7f9a}
.monthly-bar-outflows{fill:#d17a45}
.legend-inflows,.legend-outflows{height:8px!important;border-radius:2px}
.legend-inflows{background:#2f7f9a}
.legend-outflows{background:#d17a45}

/* Menu: la sezione che lavora per l'utente spiega ogni voce */
.nav-item-copy{min-width:0;display:flex;flex-direction:column}
.nav-item-description{display:block;margin-top:2px;color:#8a8a90;font-size:8.5px;line-height:1.25;white-space:normal}
.nav-group[data-nav-group="assistant"] .nav-item{min-height:49px;align-items:flex-start;padding-top:8px;padding-bottom:8px}
.nav-group[data-nav-group="assistant"] .nav-icon{margin-top:2px}
.nav-group[data-nav-group="assistant"] .nav-item.active .nav-item-description{color:#67676c}
.app-shell.sidebar-collapsed .nav-item-copy,
html.flussivo-sidebar-compact .nav-item-copy{display:none}

/* Pagine "JO.CO lavora per te" */
.automation-explainer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.automation-explainer-grid article{padding:16px 18px;border:1px solid #e4e4e7;border-radius:14px;background:#fff}
.automation-explainer-grid strong,.automation-explainer-grid span{display:block}
.automation-explainer-grid strong{font-size:14px;color:#202123}
.automation-explainer-grid span{margin-top:5px;color:#6b7280;font-size:11px;line-height:1.45}
.automation-recipe-grid{margin-bottom:18px}
.value-register-panel{margin-bottom:18px}
.value-register-panel>summary{padding:16px 20px;cursor:pointer}

@media(max-width:1450px){
    .topbar-context-actions{margin-left:12px;margin-right:10px}
    .topbar-shortcut{padding-left:8px;padding-right:8px}
    .topbar-shortcut strong{font-size:9px}
}
@media(max-width:1180px){
    .topbar-shortcut strong{display:none}
    .topbar-shortcut{width:36px;justify-content:center;padding:8px}
    .topbar-shortcut-primary{width:auto}
    .topbar-shortcut-primary strong{display:block}
    .finance-admin-grid{grid-template-columns:1fr}
    .lock-period-form{grid-template-columns:1fr 1fr}
}
@media(max-width:980px){
    .topbar-context-actions{display:none}
    .dashboard-recent-panel .table-wrap{overflow-x:auto}
    .automation-explainer-grid{grid-template-columns:1fr}
    .app-shell.sidebar-collapsed .nav-item-copy,
    html.flussivo-sidebar-compact .nav-item-copy{display:flex}
}
@media(max-width:680px){
    .list-filter-head{padding:14px}
    .list-filter-head .search-form{align-items:stretch;flex-direction:column}
    .list-filter-head .search-form input,.list-filter-head .search-form select,.list-filter-head .search-form .button{width:100%;min-width:0}
    .radar-card>.panel-head{padding:17px 18px}
    .radar-card>p{padding:17px 18px 7px}
    .radar-card>.radar-factor-row{padding-left:18px;padding-right:18px}
    .radar-card>.radar-ai-error,.radar-card>.radar-ai-analysis,.radar-card>.radar-standard-note,.radar-card>.radar-ai-details{margin-left:18px;margin-right:18px}
    .radar-card>.radar-actions-row{padding:14px 18px 18px}
    .lock-period-form{grid-template-columns:1fr}
    .cashflow-monthly-chart{min-height:230px}
}


/* JO.CO v4.5.0 — rebranding applicativo */

/* JO.CO v4.5.1 — logo corretto e cache-busting */
.sidebar-head{height:88px}
.brand{height:64px}
.brand-logo-full{width:190px;height:64px;opacity:1;filter:none}
.brand-logo-mark{opacity:1;filter:none}
.auth-brand img{opacity:1;filter:none}
@media(max-width:980px){
    html.flussivo-sidebar-compact .sidebar-head,.sidebar-head{height:88px}
    html.flussivo-sidebar-compact .brand{height:64px}
}

/* JO.CO 5.0 - gruppi, task e calendario operativo */
.heading-actions,.calendar-nav-actions,.integration-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.heading-actions form,.integration-actions form{margin:0}.button-danger{background:#9f2d35;color:#fff;border-color:#9f2d35}.button-danger:hover{background:#86232b}.group-color-dot{width:12px;height:12px;border-radius:999px;display:inline-block;flex:0 0 auto}.inline-dot{margin-right:7px;vertical-align:-1px}.group-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.group-card{display:flex;flex-direction:column;gap:13px;padding:18px;border:1px solid var(--border);border-radius:16px;text-decoration:none;color:inherit;background:var(--surface)}.group-card:hover{border-color:var(--primary);transform:translateY(-1px)}.group-card-head{display:flex;align-items:center;gap:10px}.group-card-head strong{font-size:1rem}.group-card-head small{display:block;color:var(--muted)}.group-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.group-card-stats span{padding:10px;border-radius:12px;background:var(--surface-muted);text-align:center}.group-card-stats strong{display:block;font-size:1.15rem}.group-card-stats small{font-size:.72rem;color:var(--muted)}.group-member-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.7fr) auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}.group-member-row:last-child{border-bottom:0}.group-member-editor{display:flex;gap:8px;align-items:center}.group-member-editor select{min-width:135px}.group-chip,.assignment-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface-muted);border-radius:999px;padding:4px 9px;font-size:.78rem}.group-chip i{width:8px;height:8px;border-radius:50%}.assignment-chip.is-primary{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.assignment-stack{display:flex;gap:6px;flex-wrap:wrap}.compact-choice-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.team-groups-field{grid-column:1/-1}.task-filter-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.task-metrics .metric-card{min-height:108px}.task-table .task-title-link{display:flex;align-items:flex-start;gap:10px;color:inherit;text-decoration:none}.task-title-link span:last-child{display:flex;flex-direction:column}.task-title-link small,.table-subline{display:block;margin-top:3px;color:var(--muted);font-size:.77rem}.priority-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;background:#6b7280}.priority-urgent{background:#b91c1c}.priority-high{background:#c2410c}.priority-normal{background:#0f766e}.priority-low{background:#64748b}.row-overdue{background:rgba(185,28,28,.04)}.text-danger{color:#b4232d!important}.calendar-toolbar-panel{padding:14px 18px}.calendar-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.segmented-control{display:inline-flex;border:1px solid var(--border);border-radius:12px;overflow:hidden}.segmented-control button{padding:9px 13px;border:0;border-right:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.segmented-control button:last-child{border-right:0}.segmented-control button.is-active{background:var(--primary);color:#fff}.compact-field{min-width:150px;margin:0}.compact-field select{min-width:130px}.calendar-type-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding-bottom:8px}.calendar-panel{overflow:hidden}.calendar-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--border)}.calendar-nav h2{margin:0}.calendar-nav p{margin:3px 0 0;color:var(--muted)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface-muted);border-bottom:1px solid var(--border)}.calendar-weekdays span{padding:10px;text-align:center;font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-height:145px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px;background:var(--surface)}.calendar-day:nth-child(7n){border-right:0}.calendar-day.is-outside{background:var(--surface-muted);opacity:.72}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--primary)}.calendar-day>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.calendar-day>header span{font-weight:700}.calendar-day>header a{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;text-decoration:none;color:var(--primary)}.calendar-day>header a:hover{background:color-mix(in srgb,var(--primary) 12%,transparent)}.calendar-day-events{display:flex;flex-direction:column;gap:5px}.calendar-event{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px 8px;border-left:3px solid var(--event-color,#2563eb);border-radius:7px;background:color-mix(in srgb,var(--event-color,#2563eb) 9%,var(--surface));text-decoration:none;color:var(--text);font-size:.75rem;overflow:hidden}.calendar-event strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event small{display:none;color:var(--muted)}.calendar-event i{font-style:normal;font-weight:800;color:var(--event-color)}.calendar-more{border:0;background:transparent;color:var(--primary);text-align:left;padding:3px;cursor:pointer;font-size:.76rem}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:480px}.calendar-week-column{border-right:1px solid var(--border);padding:10px}.calendar-week-column:last-child{border-right:0}.calendar-week-column>header{display:flex;justify-content:space-between;align-items:center;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid var(--border)}.calendar-week-column>div{display:flex;flex-direction:column;gap:7px}.calendar-week-column .calendar-event{grid-template-columns:1fr}.calendar-week-column .calendar-event span,.calendar-week-column .calendar-event small{display:block}.calendar-agenda-list,.calendar-day-list{display:flex;flex-direction:column}.agenda-day{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--border)}.agenda-day>header{display:flex;justify-content:space-between;gap:10px;text-transform:capitalize}.agenda-day>header span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--surface-muted);font-size:.75rem}.agenda-day>div{display:flex;flex-direction:column;gap:8px}.agenda-day .calendar-event{grid-template-columns:70px minmax(160px,1fr) minmax(180px,.8fr) auto;padding:10px 12px}.agenda-day .calendar-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-source-badge{display:inline-flex;align-items:center;border-left:4px solid var(--event-color);padding:5px 10px;border-radius:8px;background:color-mix(in srgb,var(--event-color) 10%,var(--surface));font-size:.78rem;font-weight:700}.participant-list{display:flex;flex-direction:column;gap:10px}.participant-list>div{display:flex;flex-direction:column;padding-bottom:10px;border-bottom:1px solid var(--border)}.participant-list small{color:var(--muted)}.sync-state{display:flex;flex-direction:column;gap:2px;border-radius:12px;padding:11px 13px;background:var(--surface-muted)}.sync-state.is-ok{border-left:4px solid #16835b}.sync-state.is-pending{border-left:4px solid #b87900}.sync-state small{color:var(--muted)}.integration-connect-panel{display:flex;align-items:center;gap:24px;padding:30px}.integration-mark{display:grid;place-items:center;width:70px;height:70px;border-radius:18px;background:var(--primary);color:#fff;font-size:2rem;font-weight:800}.integration-connect-panel h2{margin-top:0}.integration-actions{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.check-list{display:flex;flex-direction:column;gap:10px;padding-left:20px}.danger-zone{border-color:rgba(159,45,53,.35)}.warning-panel,.warning-note{border-left:4px solid #b87900}.form-note{padding:10px 12px;border-radius:8px;background:var(--surface-muted)}
@media(max-width:900px){.calendar-month-grid,.calendar-weekdays{grid-template-columns:repeat(7,minmax(90px,1fr));min-width:700px}.calendar-panel{overflow-x:auto}.calendar-week-grid{min-width:800px}.calendar-day{min-height:115px}.agenda-day{grid-template-columns:1fr}.calendar-toolbar{align-items:stretch}.calendar-toolbar .field{flex:1 1 180px}.group-member-row{grid-template-columns:1fr}.group-member-editor{flex-wrap:wrap}}
@media(max-width:640px){.calendar-nav{grid-template-columns:auto 1fr}.calendar-nav-actions{grid-column:1/-1;justify-content:space-between}.agenda-day .calendar-event{grid-template-columns:65px 1fr}.agenda-day .calendar-event small{grid-column:2}.integration-connect-panel{align-items:flex-start;flex-direction:column}.heading-actions{width:100%}.heading-actions .button{flex:1}.group-card-stats{grid-template-columns:1fr 1fr}.task-table th:nth-child(2),.task-table td:nth-child(2),.task-table th:nth-child(3),.task-table td:nth-child(3){display:none}}
.dashboard-operational-strip{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:16px;margin:0 0 20px}.dashboard-task-summary,.dashboard-agenda-compact{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px}.dashboard-task-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dashboard-task-metrics a{display:flex;flex-direction:column;gap:4px;padding:13px;border-radius:13px;background:var(--surface-muted);text-decoration:none;color:inherit}.dashboard-task-metrics strong{font-size:1.45rem}.dashboard-task-metrics span{font-size:.78rem;color:var(--muted)}.dashboard-agenda-items{display:flex;flex-direction:column}.dashboard-agenda-item{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:9px 0 9px 10px;border-left:3px solid var(--agenda-color);border-bottom:1px solid var(--border);text-decoration:none;color:inherit}.dashboard-agenda-item:last-child{border-bottom:0}.dashboard-agenda-item>span{display:flex;flex-direction:column}.dashboard-agenda-item small{color:var(--muted);font-size:.75rem}.dashboard-agenda-item b{font-size:.88rem}@media(max-width:900px){.dashboard-operational-strip{grid-template-columns:1fr}}@media(max-width:520px){.dashboard-task-metrics{grid-template-columns:1fr 1fr}.dashboard-agenda-item{grid-template-columns:65px 1fr}}
