/* TECNOFA Gestionale — dashboard v39 */
.tf-dashboard{display:grid;gap:16px}.tf-dashboard-head{margin-bottom:0}.tf-dashboard-head h1{letter-spacing:-.035em}.tf-dashboard-actions{display:flex;gap:10px;align-items:center}.tf-command-strip{display:grid;grid-template-columns:1.8fr repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:var(--shadow)}.tf-command-strip>div{background:#fff;padding:12px 14px;min-width:0}.tf-command-strip>div:first-child{display:flex;align-items:center;gap:9px}.tf-command-strip strong{font-size:12px}.tf-command-strip small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.tf-command-dot{width:9px;height:9px;border-radius:50%;background:#3da653;box-shadow:0 0 0 4px #e4f4e7;flex:0 0 auto}.tf-command-metric span{display:block;color:var(--muted);font-size:10px}.tf-command-metric strong{display:block;font-size:19px;margin-top:3px}.tf-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tf-kpi{appearance:none;width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:13px;padding:16px;text-align:left;box-shadow:var(--shadow);min-width:0;position:relative;overflow:hidden}.tf-kpi:hover{border-color:#b9cfbe;background:var(--green-soft);transform:translateY(-1px)}.tf-kpi span,.tf-kpi small{display:block;color:var(--muted)}.tf-kpi span{font-size:12px;font-weight:750}.tf-kpi strong{display:block;font-size:29px;line-height:1.1;margin:7px 0 4px;color:var(--green-dark)}.tf-kpi small{font-size:10px;padding-right:32px}.tf-kpi i{position:absolute;right:14px;top:14px;width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#edf4ef;color:var(--green-dark);font-style:normal;font-size:19px}.tf-kpi-green{border-color:#cfe3d3}.tf-kpi-green i{background:#dff1e3}.tf-dashboard-grid-top{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:16px}.tf-dashboard-grid-bottom{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:16px}.tf-dashboard .panel{min-width:0}.tf-ops-list,.tf-focus-list,.tf-tech-list,.tf-next-pro{display:grid;gap:7px}.tf-ops-row{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:10px 11px;text-align:left;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:11px}.tf-ops-row:hover,.tf-next-pro button:hover,.tf-tech-row:hover{border-color:#b9cfbe;background:var(--green-soft)}.tf-ops-time{font-weight:850;color:var(--green-dark);font-size:14px}.tf-ops-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.tf-ops-type{min-width:0}.tf-ops-type b,.tf-ops-type small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-ops-type b{font-size:12px}.tf-ops-type small{color:var(--muted);font-size:10px;margin-top:2px}.tf-ops-tech{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;white-space:nowrap}.tf-ops-tech i,.tf-tech-avatar{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e8f0eb;color:var(--green-dark);font-size:9px;font-weight:850;font-style:normal}.tf-state{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;white-space:nowrap}.tf-state.is-live{background:#e1f4e7;color:#23743b}.tf-state.is-done{background:#eef1ef;color:#53615a}.tf-state.is-wait{background:#fff3dc;color:#9a6616}.tf-state.is-plan{background:#edf3ff;color:#45688e}.tf-focus-panel{background:linear-gradient(180deg,#fff 0%,#fbfdfb 100%)}.tf-alert-count{min-width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#edf5ee;color:var(--green-dark);font-weight:850;font-size:11px}.tf-focus-list button{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;text-align:left;color:var(--ink)}.tf-focus-list button:hover{border-color:#b9cfbe;background:var(--green-soft)}.tf-focus-list b,.tf-focus-list small{display:block}.tf-focus-list b{font-size:11px}.tf-focus-list small{font-size:9px;color:var(--muted);margin-top:2px}.tf-focus-list em{font-style:normal;color:var(--muted)}.tf-focus-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-weight:850}.tf-focus-icon.orange{background:#fff0dc;color:#b76b0b}.tf-focus-icon.red{background:#fde7e7;color:#b84444}.tf-focus-icon.blue{background:#e8f1fb;color:#4773a2}.tf-stock-mini{margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}.tf-stock-mini>strong{font-size:10px}.tf-stock-mini>div{display:flex;justify-content:space-between;gap:10px;margin-top:7px;font-size:10px}.tf-stock-mini>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-stock-mini b{color:#b84444}.tf-tech-row{display:grid;grid-template-columns:32px minmax(140px,1fr) minmax(80px,.8fr) 25px;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:9px 10px;text-align:left}.tf-tech-name{min-width:0}.tf-tech-name b,.tf-tech-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-tech-name b{font-size:11px}.tf-tech-name small{color:var(--muted);font-size:9px;margin-top:2px}.tf-tech-bar{height:6px;background:#edf1ee;border-radius:99px;overflow:hidden}.tf-tech-bar i{display:block;height:100%;border-radius:99px;background:var(--green)}.tf-tech-row>strong{text-align:right;font-size:12px}.tf-next-pro button{display:grid;grid-template-columns:82px minmax(0,1fr) 90px;gap:9px;align-items:center;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:9px 10px;text-align:left}.tf-next-pro span,.tf-next-pro strong,.tf-next-pro small{min-width:0;display:block}.tf-next-pro b{font-size:10px}.tf-next-pro span:first-child small{color:var(--muted);margin-top:2px}.tf-next-pro strong,.tf-next-pro small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-next-pro strong{font-size:10px}.tf-next-pro small{font-size:9px;color:var(--muted);margin-top:2px}.tf-next-pro em{font-size:9px;color:var(--muted);font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-performance{padding:15px 17px}.tf-performance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tf-performance-grid>div{border:1px solid var(--line);background:#fbfcfb;border-radius:10px;padding:12px}.tf-performance-grid span,.tf-performance-grid small{display:block;color:var(--muted)}.tf-performance-grid span{font-size:10px;font-weight:750}.tf-performance-grid strong{display:block;font-size:20px;color:var(--green-dark);margin:4px 0}.tf-performance-grid small{font-size:9px}.tf-empty-state{display:grid;justify-items:start;gap:5px;padding:27px 15px}.tf-empty-state strong{font-size:14px}.tf-empty-state span{font-size:11px;color:var(--muted);margin-bottom:6px}
@media(max-width:1050px){.tf-command-strip{grid-template-columns:1.4fr repeat(4,1fr)}.tf-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-dashboard-grid-top,.tf-dashboard-grid-bottom{grid-template-columns:1fr}.tf-performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.tf-dashboard-actions{width:100%;display:grid;grid-template-columns:1fr 1.5fr}.tf-dashboard-actions button{width:100%}.tf-command-strip{grid-template-columns:1fr 1fr}.tf-command-strip>div:first-child{grid-column:1/-1}.tf-kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.tf-kpi{padding:13px}.tf-kpi strong{font-size:23px}.tf-ops-row{grid-template-columns:48px minmax(0,1fr);gap:8px}.tf-state{grid-column:2;justify-self:start}.tf-ops-line{display:block}.tf-ops-tech{margin-top:5px}.tf-tech-row{grid-template-columns:32px minmax(100px,1fr) 55px 22px}.tf-next-pro button{grid-template-columns:70px minmax(0,1fr);gap:7px}.tf-next-pro em{grid-column:2}.tf-performance-grid{grid-template-columns:1fr 1fr}.tf-performance{padding:13px}.tf-focus-panel{padding-bottom:12px}}
