:root{--app-bg:#edf1f6;--panel-bg:#f7f9fc;--surface-0:#fff;--surface-1:#fbfcfe;--surface-2:#f4f7fb;--sidebar-bg:#eef2f7;--topbar-bg:#f8fafe;--border-subtle:#d9e1ec;--border-strong:#c7d2e2;--text-strong:#1f2937;--text-body:#2b3645;--text-muted:#5f6b7c;--text-dim:#7c8797;--primary:#1f6feb;--primary-weak:#e8f0ff;--primary-hover:#1656bc;--success:#1f9d5b;--success-weak:#e7f7ee;--danger:#c93c4b;--danger-weak:#fdecee;--warning:#c17a1d;--warning-weak:#fff5e6;--focus-ring:0 0 0 3px #1f6feb2e;--shadow-xs:0 1px 2px #1118270f;--shadow-sm:0 2px 8px #1118270f;--shadow-md:0 8px 22px #0f172a0f;--radius-lg:14px;--radius-md:10px;--radius-sm:8px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:20px;--space-xl:24px;--space-2xl:32px;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--fs-xs:.75rem;--fs-sm:.825rem;--fs-md:.92rem;--fs-lg:1rem;--fs-xl:1.125rem;--input-h:38px;--button-h:36px;--sidebar-w:252px;--topbar-h:62px;--ease-fast:.14s ease;--ease-med:.18s ease}*{box-sizing:border-box}html,body,#app{width:100%;height:100%}body{font-family:var(--font-ui);color:var(--text-body);background:var(--app-bg);margin:0;line-height:1.45;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}h2,h3,h4,h5,p{margin:0}button,a,summary,input,select,textarea{transition:background-color var(--ease-fast), border-color var(--ease-fast), color var(--ease-fast), box-shadow var(--ease-fast), transform var(--ease-fast), opacity var(--ease-fast)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);background:var(--app-bg);grid-template-areas:"sidebar main";height:100dvh;display:grid}.sidebar{min-height:0;padding:var(--space-lg) var(--space-md);background:var(--sidebar-bg);border-right:1px solid var(--border-subtle);gap:var(--space-lg);grid-area:sidebar;grid-template-rows:auto auto auto 1fr;display:grid;overflow-y:auto}.brand{align-items:center;gap:var(--space-sm);display:flex}.brand-mark{background:var(--primary);color:#fff;width:36px;height:36px;font-weight:700;font-size:var(--fs-md);box-shadow:var(--shadow-xs);border-radius:10px;place-items:center;display:grid}.brand-label{font-size:var(--fs-md);color:var(--text-strong);font-weight:700}.brand-subtitle{font-size:var(--fs-xs);color:var(--text-dim);margin-top:1px}.nav-menu ul,.admin-menu ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.nav-menu a,.admin-menu a{border-radius:var(--radius-sm);min-height:36px;color:var(--text-body);font-size:var(--fs-sm);align-items:center;gap:10px;padding:0 10px;font-weight:600;text-decoration:none;display:flex}.nav-icon{text-align:center;width:18px;color:var(--text-dim);font-size:12px;line-height:1}.nav-menu a:hover,.admin-menu a:hover{background:#1f6feb14}.nav-menu a.active,.admin-menu a.active{background:var(--primary-weak);color:#11408e;border:1px solid #1f6feb29}.nav-menu a.active .nav-icon,.admin-menu a.active .nav-icon{color:var(--primary)}.sidebar-divider{background:var(--border-subtle);height:1px}.admin-menu{align-self:start}.admin-menu summary{cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-1);min-height:36px;color:var(--text-body);font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:0 10px;font-weight:600;list-style:none;display:flex}.admin-menu summary::-webkit-details-marker{display:none}.admin-title{line-height:1}.admin-chevron{color:var(--text-dim);transform-origin:50%;transition:transform var(--ease-med);transform:rotate(-90deg)}.admin-menu[open] .admin-chevron{transform:rotate(0)}.admin-menu ul{max-height:0;transition:max-height var(--ease-med);margin-top:8px;overflow:hidden}.admin-menu[open] ul{max-height:320px}.main-panel{grid-area:main;grid-template-rows:var(--topbar-h) minmax(0, 1fr);background:var(--panel-bg);min-width:0;min-height:0;display:grid}.topbar{z-index:40;min-height:var(--topbar-h);padding:0 var(--space-xl);border-bottom:1px solid var(--border-subtle);background:var(--topbar-bg);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar-title{font-size:var(--fs-md);letter-spacing:.02em;color:var(--text-strong);font-weight:700}.topbar-subtitle{font-size:var(--fs-sm);color:var(--text-dim);margin-top:2px}.topbar-status{align-items:center;gap:8px;display:flex}.status-pill,.version-pill{border:1px solid var(--border-subtle);min-height:28px;font-size:var(--fs-xs);border-radius:999px;align-items:center;padding:0 10px;font-weight:600;display:inline-flex}.status-online{background:var(--success-weak);color:#15613a;border-color:#1f9d5b47}.version-pill{background:var(--surface-0);color:var(--text-dim)}.content-panel{min-height:0;padding:var(--space-lg) var(--space-xl);overflow:auto}.page-shell{gap:var(--space-lg);display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.page-header h2{color:var(--text-strong);font-size:1.18rem}.page-header p{font-size:var(--fs-md);color:var(--text-muted);margin-top:4px}.page-placeholder{padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-0);box-shadow:var(--shadow-xs)}.card,.dashboard-card,.generator-section,.documents-panel,.upload-panel,.status-card,.stat-card,.workspace-card,.profile-card,.machines-table-shell,.document-detail-card,.document-pages-card,.search-panel{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-0);box-shadow:var(--shadow-xs)}.primary-button,.secondary-button,.danger-button,.card-button{min-height:var(--button-h);border-radius:var(--radius-sm);font-size:var(--fs-sm);cursor:pointer;border:1px solid #0000;padding:0 12px;font-weight:600;line-height:1}.primary-button,.card-button{background:var(--primary);color:#fff}.primary-button:hover,.card-button:hover{background:var(--primary-hover)}.secondary-button{background:var(--surface-1);color:var(--text-body);border-color:var(--border-subtle)}.secondary-button:hover{background:var(--surface-2)}.danger-button{background:var(--danger-weak);color:#8f2430;border-color:#c93c4b33}.danger-button:hover{background:#c93c4b33}.card-button:hover,.primary-button:hover,.secondary-button:hover,.danger-button:hover{transform:translateY(-1px)}label{font-size:var(--fs-sm);color:var(--text-muted);gap:6px;font-weight:600;display:grid}input,select,textarea{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-0);width:100%;color:var(--text-body)}input,select{min-height:var(--input-h);padding:0 10px}textarea{resize:vertical;min-height:104px;padding:10px}input::placeholder,textarea::placeholder{color:var(--text-dim)}.dashboard-shell,.dashboard-header,.generator-shell,.generator-header,.workspace-shell,.workspace-header{padding:0}.dashboard-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-card{grid-template-rows:auto auto;grid-template-columns:auto 1fr;gap:10px 12px;min-height:184px;padding:16px;display:grid}.card-icon{background:var(--primary-weak);width:34px;height:34px;color:var(--primary);border-radius:8px;place-items:center;font-size:.95rem;display:grid}.card-title{font-size:var(--fs-md);color:var(--text-strong);font-weight:700}.card-description{font-size:var(--fs-sm);color:var(--text-muted);margin-top:4px}.card-footer{grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.status-badge{background:var(--danger-weak);color:#8f2430;min-height:26px;font-size:var(--fs-xs);border:1px solid #c93c4b33;border-radius:999px;align-items:center;padding:0 10px;font-weight:600;display:inline-flex}.status-badge-live{background:var(--success-weak);color:#15613a;border-color:#1f9d5b3d}.dashboard-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.generator-header-badge{border-radius:var(--radius-sm);background:var(--primary-weak);border:1px solid #1f6feb26;gap:2px;padding:8px 10px;display:grid}.generator-header-badge span{color:#4f6788;font-size:var(--fs-xs);letter-spacing:.03em;text-transform:uppercase}.generator-header-badge strong{color:#11408e;font-size:var(--fs-sm)}.generator-workflow{gap:var(--space-md);display:grid}.generator-section{gap:var(--space-md);padding:var(--space-md);display:grid}.generator-section-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:10px;display:flex}.generator-section-header>div{align-items:flex-start;gap:10px;display:flex}.generator-step{background:var(--primary-weak);width:24px;height:24px;color:var(--primary);font-size:var(--fs-xs);font-weight:700;font-family:var(--font-mono);border:1px solid #1f6feb40;border-radius:6px;place-items:center;display:grid}.generator-section-header h3{font-size:var(--fs-md);color:var(--text-strong)}.generator-section-header p{font-size:var(--fs-sm);color:var(--text-muted);margin-top:3px}.generator-upload-card{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-1);cursor:pointer;grid-template-columns:54px 1fr;align-items:center;gap:12px;padding:12px;display:grid}.generator-upload-card:hover{background:#f5f8fd;border-color:#abc0de}.generator-upload-card strong{font-size:var(--fs-sm);color:var(--text-strong)}.generator-upload-card p{font-size:var(--fs-sm);color:var(--text-muted);margin-top:3px}.generator-upload-icon{background:var(--primary-weak);width:54px;height:54px;color:var(--primary);border-radius:10px;place-items:center;font-weight:700;display:grid}.generator-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.generator-info-tile{border:1px solid var(--border-subtle);background:var(--surface-1);border-radius:var(--radius-md);gap:4px;padding:10px;display:grid}.generator-info-tile span,.generator-panel-head span{font-size:var(--fs-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em}.generator-info-tile strong{font-size:var(--fs-sm);color:var(--text-strong)}.generator-info-tile p{font-size:var(--fs-sm);color:var(--text-muted)}.generator-origin-list,.revision-list,.manuals-table,.manual-search-sources-list,.search-results,.page-list,.document-list{gap:10px;display:grid}.origin-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);gap:12px;padding:12px;display:grid}.origin-card.active{background:#f2f7ff;border-color:#1f6feb4d}.origin-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.origin-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.origin-card-actions,.generator-action-row,.manual-row-actions,.search-actions{flex-wrap:wrap;gap:8px;display:flex}.origin-card-status,.origin-card-warning,.badge{min-height:24px;font-size:var(--fs-xs);border-radius:999px;align-items:center;padding:0 10px;font-weight:600;display:inline-flex}.status-positive,.badge.success{background:var(--success-weak);color:#15613a}.status-neutral,.badge.primary{background:var(--primary-weak);color:#11408e}.origin-card-warning,.badge.warning{background:var(--warning-weak);color:#8f5f1c}.generator-origin-actions{justify-content:flex-end;display:flex}.generator-notes{min-height:132px;font-family:var(--font-ui)}.generator-note-hints{flex-wrap:wrap;gap:8px;display:flex}.generator-note-hints span{border:1px solid var(--border-subtle);background:var(--surface-1);min-height:24px;color:var(--text-dim);font-size:var(--fs-xs);border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.generator-section-action{gap:12px}.generator-cta{min-height:42px;font-size:var(--fs-md);font-weight:700}.generator-status-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);gap:8px;padding:10px;display:grid}.generator-status-line{font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:8px;display:flex}.generator-status-line span,.generator-status-panel p,.generator-warning-list,.revision-meta-line,.manuals-counter,.manual-search-examples,.document-meta,.document-status,.document-pages{color:var(--text-muted)}.generator-status-line strong{color:var(--text-strong)}.progress-track{background:#e6edf7;border-radius:999px;height:8px;overflow:hidden}.progress-fill{height:100%;transition:width var(--ease-med);background:linear-gradient(90deg,#2c7cf0 0%,#5c9cf6 100%)}.field-error,.upload-error,.alert-error{color:#9e2733;font-size:var(--fs-sm)}.alert-error{border-radius:var(--radius-sm);background:var(--danger-weak);border:1px solid #c93c4b3d;padding:10px}.upload-success{color:#15613a;font-size:var(--fs-sm)}.generator-result-grid,.revision-diff-grid,.document-detail-grid,.manual-detail-grid,.profile-layout,.workspace-grid,.knowledge-layout,.status-summary,.manual-inspector-info-grid{gap:var(--space-md);display:grid}.generator-result-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.generator-code-panel,.generator-explanation-panel,.revision-diff-card,.manual-page-summary,.document-page-summary,.search-row,.manual-search-source-card,.page-row{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1)}.generator-code-panel,.generator-explanation-panel{gap:10px;padding:12px;display:grid}.generator-panel-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.generator-panel-head h4,.revision-diff-card h4,.generator-explanation-card h5,.card-header h3,.document-detail-card h3,.document-pages-card h3,.search-header h3{font-size:var(--fs-md);color:var(--text-strong)}.siemens-code-block,.revision-diff-card pre{border-radius:var(--radius-sm);color:#1f2d40;white-space:pre-wrap;font-size:12.5px;line-height:1.5;font-family:var(--font-mono);background:#f5f9ff;border:1px solid #d8e2f1;margin:0;padding:12px;overflow:auto}.siemens-code-block{min-height:420px}.code-line{display:block}.code-keyword{color:#1b5ec8;font-weight:600}.code-comment{color:#6f7f95}.code-label{color:#a0671b}.generator-explanation-panel{align-content:start}.generator-explanation-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-0);padding:10px}.generator-explanation-card ul{color:var(--text-muted);font-size:var(--fs-sm);gap:4px;margin:6px 0 0;padding-left:16px;display:grid}.generator-section-modification,.generator-section-history,.generator-section-diff{scroll-margin-top:76px}.generator-modification-input{min-height:138px}.revision-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);grid-template-columns:1fr auto;gap:10px;padding:12px;display:grid}.revision-item.active{background:#f2f7ff;border-color:#1f6feb4d}.revision-item strong{color:var(--text-strong);font-size:var(--fs-sm)}.revision-item p{font-size:var(--fs-sm);margin-top:3px}.revision-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.revision-diff-grid,.manual-detail-grid,.document-detail-grid,.profile-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.revision-diff-card{padding:12px}.manuals-table-header,.manuals-table-row{border-radius:var(--radius-sm);grid-template-columns:1.6fr 1.3fr 1fr .8fr .55fr .55fr 1fr 1fr 1.1fr 1.2fr;align-items:center;gap:10px;padding:8px 10px;display:grid}.manual-import-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.manual-import-meta-grid label{gap:6px;display:grid}.manual-category-badge{min-height:24px;font-size:var(--fs-xs);border:1px solid #0000;border-radius:999px;align-items:center;padding:0 10px;font-weight:700;display:inline-flex}.manual-category-badge.documento-master-macchina{color:#8a4f00;background:#fff2d9;border-color:#8a4f0033}.manual-category-badge.manuale-tecnico{color:#134b94;background:#e9f3ff;border-color:#134b9433}.manual-category-badge.catalogo-utensili{color:#1d6e3c;background:#eaf8ef;border-color:#1d6e3c33}.manual-category-badge.documentazione-aziendale{color:#5a3194;background:#f3ecff;border-color:#5a319433}.manual-category-badge.altro{color:#516276;background:#eef1f6;border-color:#51627633}.manuals-table-header{background:var(--surface-2);border:1px solid var(--border-subtle);font-size:var(--fs-xs);color:var(--text-dim);letter-spacing:.02em;font-weight:700}.manuals-table-row{border:1px solid var(--border-subtle);background:var(--surface-0);font-size:var(--fs-sm)}.manuals-admin-tools{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.cleanup-modal-overlay{z-index:100;animation:fadeIn var(--ease-med);background:#0f172a47;place-items:center;display:grid;position:fixed;inset:0}.cleanup-modal-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-0);width:min(760px,92vw);max-height:84vh;padding:var(--space-lg);box-shadow:var(--shadow-md);overflow:auto}.cleanup-modal-card p{color:var(--text-muted);margin-top:8px}.cleanup-candidates-list{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);gap:6px;max-height:46vh;margin-top:10px;padding:10px;display:grid;overflow:auto}.cleanup-candidate-item{font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.cleanup-modal-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.manual-search-panel,.search-panel{padding:var(--space-md)}.manual-search-main-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.manual-search-examples{font-size:var(--fs-sm);gap:2px;display:grid}.manual-search-quick-row{flex-wrap:wrap;gap:8px;display:flex}.manual-search-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.manual-search-answer-grid{gap:12px;display:grid}.manual-search-source-card{padding:10px}.manual-search-source-head,.manual-inspector-pages-toolbar,.manual-inspector-toolbar,.page-row-header,.card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.manual-search-source-head,.page-row-header,.search-meta{color:var(--text-dim);font-size:var(--fs-xs)}.manual-search-source-actions{flex-wrap:wrap;gap:8px;display:flex}.manual-inspector-shell{gap:12px}.manual-inspector-toolbar{z-index:20;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-0);padding:8px;position:sticky;top:0}.manual-inspector-toolbar-left,.manual-inspector-toolbar-right,.manual-inspector-pages-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.manual-inspector-toolbar-right{flex:1;justify-content:flex-end}.manual-inspector-pages-toolbar h3,.manual-inspector-toolbar h3,.search-header h3{font-size:var(--fs-md)}.manual-inspector-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.manual-inspector-info-grid p,.search-result-row p,.document-detail-meta p,.document-page-summary p,.manual-page-summary p{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.search-result-row,.search-row,.page-row,.document-row{padding:10px}.search-result-row,.search-row,.page-row,.document-row,.manual-search-source-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-1)}.search-excerpt{font-size:var(--fs-sm);color:var(--text-body)}.search-excerpt mark,.search-result-row mark,.page-row mark{color:#573d0d;background:#fff2b8;border-radius:2px;padding:0 2px}.knowledge-layout{grid-template-columns:1fr}.knowledge-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.stat-card{padding:12px}.stat-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim)}.stat-value{color:var(--text-strong);font-size:1.35rem;font-weight:700;font-family:var(--font-mono);margin-top:5px}.status-card,.documents-panel,.upload-panel{padding:var(--space-md)}.status-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.status-summary strong{color:var(--text-strong);font-size:var(--fs-lg)}.upload-dropzone{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-1);grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;padding:10px;display:grid}.upload-dropzone.dragging{background:#eef4ff;border-color:#99b3da}.dropzone-icon{background:var(--primary-weak);width:54px;height:54px;color:var(--primary);border-radius:10px;place-items:center;font-weight:700;display:grid}.upload-panel h3,.documents-panel h3,.status-card h3{color:var(--text-strong)}.upload-panel p,.empty-state{color:var(--text-muted);font-size:var(--fs-sm)}.upload-progress{gap:6px;display:grid}.progress-label,.upload-info{font-size:var(--fs-sm);color:var(--text-muted)}.document-row{grid-template-columns:1.8fr 1fr .9fr auto;align-items:center;gap:10px;display:grid}.document-content{gap:2px;display:grid}.document-name{color:var(--text-strong);font-size:var(--fs-sm);font-weight:600}.document-status,.document-pages{text-align:right;font-size:var(--fs-sm)}.document-detail-card,.document-pages-card{padding:12px}.document-detail-meta,.document-page-summary{gap:6px;margin-top:10px;display:grid}.document-page-summary,.manual-page-summary{padding:10px}.search-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.search-row{gap:8px;display:grid}.search-meta{flex-wrap:wrap;gap:8px;display:flex}.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-card,.workspace-card-large{padding:var(--space-md);gap:12px;display:grid}.workspace-card-large{grid-column:span 2}.card-label{align-items:center;gap:10px;display:flex}.card-label h3{font-size:var(--fs-md);color:var(--text-strong)}.card-label p{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.card-body,.field-group{gap:8px;display:grid}.field-label,.select-label,.label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.field-value{color:var(--text-strong);font-size:var(--fs-sm);font-weight:600}.status-chip{background:var(--primary-weak);color:#11408e;border-radius:999px;align-items:center;width:fit-content;min-height:26px;padding:0 10px;display:inline-flex}.workspace-action{justify-content:center;display:flex}.workspace-action-button{width:min(100%,420px);min-height:42px}.profile-card{padding:var(--space-md);gap:10px;display:grid}.profile-card-wide{grid-column:span 2}.profile-card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.profile-card-header h3{font-size:var(--fs-md);color:var(--text-strong)}.profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.profile-card p{font-size:var(--fs-sm);color:var(--text-body)}.machines-table-shell{padding:var(--space-md);gap:10px;display:grid}.machines-table-toolbar{justify-content:flex-end;display:flex}.machines-table-summary-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(135deg,#f7fbf4 0%,#fef8ef 100%);gap:6px;max-width:420px;padding:14px;display:grid}.machines-table-summary-card strong{color:var(--text-strong);font-size:var(--fs-lg)}.machines-table-summary-card p,.machine-table-subcopy,.machine-missing-list{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.machine-completion-stack{gap:8px;display:grid}.machine-progress-track{background:#e7edf6;border-radius:999px;width:100%;height:8px;overflow:hidden}.machine-progress-fill{background:linear-gradient(90deg,#295f4e 0%,#d9a441 100%);height:100%}.machine-action-row{flex-wrap:wrap;gap:8px;display:flex}.machine-status-badge{width:fit-content;min-height:28px;font-size:var(--fs-xs);border:1px solid #0000;border-radius:999px;align-items:center;padding:0 10px;font-weight:700;display:inline-flex}.machine-status-badge.verificato{color:#25643b;background:#edf8ee;border-color:#25643b2e}.machine-status-badge.da-verificare{color:#9b5a08;background:#fff5e6;border-color:#9b5a082e}.machine-status-badge.non-disponibile,.machine-status-badge.da-configurare{color:#506072;background:#f0f3f8;border-color:#50607229}.machine-missing-list{padding-left:18px}.machine-profile-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.machine-profile-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.machine-tab{border:1px solid var(--border-subtle);background:var(--surface-0);min-height:38px;color:var(--text-dim);border-radius:999px;padding:0 14px}.machine-tab.active{color:#f5f4ef;background:#173728;border-color:#173728}.profile-field-card,.machine-edit-field,.machine-data-row,.generator-machine-summary-card{gap:8px;display:grid}.profile-field-card,.machine-data-row,.generator-machine-summary-card,.machine-profile-document-placeholder{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);padding:12px}.machine-grid-four{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.machine-data-list,.machine-split-panels{gap:12px;display:grid}.machine-split-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.machine-data-row-header,.machine-profile-document-placeholder,.generator-machine-summary-grid{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.machine-edit-field-wide{grid-column:span 2}.machine-edit-field input,.machine-edit-field select,.machine-edit-field textarea,.profile-field-card input,.profile-card-body textarea{width:100%}.machine-doc-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.machine-doc-dropzone{border-radius:var(--radius-md);border:1px dashed var(--border-strong);background:linear-gradient(135deg,#f8fbff 0%,#eef7f0 100%);justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.machine-doc-dropzone.drag-active{border-color:var(--primary);box-shadow:var(--shadow-sm)}.machine-doc-dropzone-copy{gap:4px;display:grid}.machine-doc-dropzone-copy strong{color:var(--text-strong)}.machine-doc-dropzone-copy p{color:var(--text-muted);font-size:var(--fs-sm)}.machine-doc-import-toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:10px;display:flex}.machine-doc-import-button{min-width:150px}.machine-doc-table-wrap{gap:10px;display:grid}.machine-doc-table{gap:8px;display:grid}.machine-doc-table-header,.machine-doc-table-row{grid-template-columns:1.4fr 1fr .5fr .9fr 1fr .9fr;align-items:center;gap:10px;display:grid}.machine-doc-table-header{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border-subtle);color:var(--text-dim);font-size:var(--fs-xs);padding:10px 12px;font-weight:700}.machine-doc-table-row{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-0);padding:12px}.machine-doc-table-row strong{color:var(--text-strong);display:block}.machine-doc-table-row small{color:var(--text-dim);font-size:var(--fs-xs);margin-top:2px;display:block}.machine-doc-progress-row{color:var(--text-muted);align-items:center;gap:8px;margin-top:10px;display:flex}.spinner{border:2px solid #1f6feb33;border-top-color:var(--primary);border-radius:999px;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.machine-doc-upload-actions,.machine-doc-actions-row,.machine-doc-search-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.machine-doc-search-row input{flex:360px}.machine-doc-actions-row{margin-top:8px}.generator-machine-summary-card{background:linear-gradient(135deg,#fffdf8 0%,#eef7f4 100%);margin-top:12px}.generator-machine-summary-card h4{color:var(--text-strong);margin:0}.generator-machine-summary-card p{color:var(--text-muted);margin:0}.generator-machine-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.generator-machine-summary-grid div{gap:4px;display:grid}.generator-machine-summary-grid span{font-size:var(--fs-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em}.generator-machine-summary-grid strong{color:var(--text-strong)}.alert-success{border-radius:var(--radius-sm);color:#25643b;background:#edf8ee;border:1px solid #25643b2e;margin-bottom:12px;padding:10px 12px}.table-responsive{overflow-x:auto}.machines-table{border-collapse:collapse;width:100%;min-width:840px;font-size:var(--fs-sm)}.machines-table th,.machines-table td{border-bottom:1px solid var(--border-subtle);text-align:left;padding:10px}.machines-table th{background:var(--surface-2);color:var(--text-dim);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em}.machines-table td{color:var(--text-body)}.machines-table tbody tr:hover{background:#f8fbff}.badge{border:1px solid #0000}.badge.primary{border-color:#1f6feb33}.badge.success{border-color:#1f9d5b38}.badge.warning{border-color:#c17a1d33}.badge.danger{background:var(--danger-weak);color:#8f2430;border-color:#c93c4b33}.hidden-file-input{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=1240px){.dashboard-grid,.manual-search-filters,.manual-import-meta-grid,.manual-inspector-info-grid,.manual-detail-grid,.document-detail-grid,.profile-layout,.status-summary,.workspace-grid,.generator-grid-two,.generator-result-grid,.revision-diff-grid,.profile-grid,.machine-grid-four,.machine-split-panels,.generator-machine-summary-grid,.machine-doc-dropzone,.machine-doc-import-toolbar,.machine-doc-table-header,.machine-doc-table-row{grid-template-columns:1fr}.workspace-card-large,.profile-card-wide{grid-column:auto}.manuals-table-header,.manuals-table-row{grid-template-columns:1fr;gap:6px}}@media (width<=1024px){:root{--sidebar-w:72px}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.brand-label,.brand-subtitle,.nav-label,.admin-title{display:none}.sidebar{padding:var(--space-md) 8px;gap:12px}.nav-menu a,.admin-menu a,.admin-menu summary{justify-content:center;padding:0}.admin-chevron{display:none}.admin-menu ul{margin-top:6px}.content-panel{padding:var(--space-md)}}@media (width<=760px){.app-shell{grid-template:"sidebar""main"minmax(0,1fr)/1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border-subtle);grid-template-rows:auto auto;grid-template-columns:1fr;width:100%;overflow:auto hidden}.brand,.sidebar-divider{display:none}.nav-menu ul,.admin-menu ul{gap:6px;display:flex}.nav-menu a,.admin-menu a,.admin-menu summary{min-width:38px;min-height:34px}.main-panel{grid-template-rows:56px minmax(0,1fr)}.topbar{padding:0 var(--space-md)}.topbar-subtitle,.version-pill{display:none}.manual-inspector-toolbar,.manual-inspector-toolbar-left,.manual-inspector-toolbar-right,.manual-inspector-pages-toolbar,.manual-inspector-pages-controls,.generator-panel-head,.generator-status-line,.search-header,.machine-data-row-header,.machine-profile-document-placeholder{flex-direction:column;align-items:stretch}.generator-upload-card,.upload-dropzone,.document-row,.revision-item{grid-template-columns:1fr}.revision-actions,.card-footer{justify-content:flex-start;width:100%}}.catalog-view-toolbar{border:1px solid var(--border-color,#e4e9e6);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin:0 0 18px;padding:14px 16px;display:flex}.catalog-view-toolbar>div{flex-direction:column;gap:3px;display:flex}.catalog-view-toolbar strong{color:#1d2b24;font-size:1rem}.catalog-view-toolbar span{color:#6b766f;font-size:.82rem}.catalog-view-toolbar button{color:#08794d;cursor:pointer;background:#f7fbf9;border:1px solid #cbdad2;border-radius:10px;padding:9px 13px;font-weight:700}.family-commerce-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:stretch;gap:18px;display:grid}.family-commerce-card{background:#fff;border:1px solid #e2e9e5;border-radius:18px;flex-direction:column;min-width:0;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;overflow:hidden;box-shadow:0 8px 24px #1e372a0f}.family-commerce-card:hover{border-color:#b8d4c5;transform:translateY(-3px);box-shadow:0 15px 34px #1e372a1f}.family-image-button{cursor:pointer;background:linear-gradient(145deg,#fbfcfb,#f2f7f4);border:0;width:100%;height:245px;padding:18px;position:relative}.family-image-button img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%;display:block}.family-count{color:#fff;background:#0b7e4feb;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:800;position:absolute;bottom:12px;right:12px;box-shadow:0 5px 14px #00000021}.family-card-body{flex-direction:column;flex:1;padding:17px;display:flex}.family-category{color:#08794d;text-transform:uppercase;letter-spacing:.04em;background:#eaf5ef;border-radius:999px;width:max-content;margin-bottom:7px;padding:5px 8px;font-size:.7rem;font-weight:800}.family-card-body h2{color:#1f3027;margin:0;font-size:1.32rem;line-height:1.15}.family-card-body p{color:#5d6a63;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:3.8em;margin:9px 0 15px;font-size:.88rem;line-height:1.45;display:-webkit-box;overflow:hidden}.family-card-body dl{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px;display:grid}.family-card-body dl div{background:#f6f9f7;border-radius:10px;padding:9px 10px}.family-card-body dt{color:#7a867f;text-transform:uppercase;font-size:.66rem;font-weight:700}.family-card-body dd{color:#273a30;margin:3px 0 0;font-size:.85rem;font-weight:750}.family-open-button{color:#fff;cursor:pointer;background:#128557;border:0;border-radius:11px;width:100%;margin-top:auto;padding:11px 13px;font-weight:800}.family-open-button:hover{background:#0a7048}@media (width<=900px){.family-commerce-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.family-image-button{height:210px}}@media (width<=640px){.catalog-view-toolbar{flex-direction:column;align-items:flex-start}.family-commerce-grid{grid-template-columns:1fr}.family-image-button{height:240px}}
