.component-category-field,.component-photo-field,.component-attachments-field{display:grid;gap:.4rem}.component-media-label{margin:0;font-weight:600;font-size:.92rem}.component-category-row{display:flex;gap:.5rem;align-items:stretch}.component-category-row select{flex:1}.component-category-add{flex:none;min-width:2.5rem;font-size:1.25rem;line-height:1;padding-inline:.7rem}.component-category-create,.component-category-manage,.component-attachment-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.component-category-create input{flex:1;min-width:8rem}.component-photo-preview{width:100%;max-height:180px;object-fit:cover;border-radius:10px;background:var(--surface-muted)}.component-attachment-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.component-attachment-list li{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.45rem .6rem;border:1px solid var(--border);border-radius:8px;font-size:.88rem}.component-list-thumb{width:40px;height:40px;object-fit:cover;border-radius:8px;background:var(--surface-muted);display:inline-block}.component-list-thumb--empty{width:40px;height:40px;border-radius:8px;background:var(--bg);color:var(--text-faint);display:grid;place-items:center;font-size:.75rem}.machine-components-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem}.machine-components-kpi .kpi-card{padding:.75rem 1rem;border-radius:8px;background:var(--users-surface-alt, #f8fafc);border:1px solid var(--users-border, #e2e8f0)}.machine-components-kpi .kpi-label{display:block;font-size:.75rem;color:var(--users-muted, #64748b);margin-bottom:.25rem}.machine-components-kpi .kpi-value{font-size:1.1rem;font-weight:700}.machine-components-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.machine-components-filters label{flex:1;min-width:160px}.quick-parts-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.maintenance-part-row{margin-bottom:.5rem}.maintenance-parts-used{margin-top:.35rem;font-size:.85rem;color:var(--users-muted, #64748b)}.machine-detail-page,.users-page{--users-ink: #1f2937;--users-muted: #8a94a3;--users-line: #e8eef4;--users-soft: #f6f8fb;--users-panel: #ffffff;--users-accent: #4f6ef7;--users-accent-hover: #3d5ce8;--users-accent-soft: #f4f7ff;--users-success: #1b8a4b;--users-success-soft: #e6f7ee;--users-warning: #8a5a00;--users-warning-soft: #fff4dc;--users-danger: #d12b2b;--users-danger-soft: #ffe8e8;--users-info: #1d6fd8;--users-info-soft: #e8f3ff;--users-purple: #5248d8;--users-purple-soft: #ecebff;color:var(--users-ink)}html[data-theme=dark] .machine-detail-page,html[data-theme=dark] .users-page{--users-ink: #f1f5f9;--users-muted: #94a3b8;--users-line: #334155;--users-soft: #0f172a;--users-panel: #1e293b;--users-accent-soft: #1e3a5f;--users-success-soft: #14532d;--users-warning-soft: #422006;--users-danger-soft: #3f1212;--users-info-soft: #1e3a5f;--users-purple-soft: #1e1b4b}.machine-detail-page{display:flex;flex-direction:column;gap:1.35rem;max-width:1400px;margin:0 auto}.machine-header-wrapper{display:flex;flex-direction:column;gap:.75rem}.machine-breadcrumb{display:flex;align-items:center;gap:.5rem}.machine-back-link{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .9rem;border-radius:10px;border:1px solid var(--users-line);background:var(--users-panel);color:#4b5563;font-size:.84rem;font-weight:600;text-decoration:none;transition:all .15s ease;box-shadow:0 1px 2px #0f172a0a}.machine-back-link:hover{background:var(--users-soft);border-color:#cfd8e3;color:var(--users-ink);transform:translate(-2px)}.machine-hero-card{border:1px solid var(--users-line);border-radius:16px;background:var(--users-panel);box-shadow:0 1px 3px #0f172a0d;padding:1.35rem 1.6rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.25rem}.machine-hero-main{display:flex;flex-direction:column;gap:.45rem}.machine-badges-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.machine-hero-title{font-size:1.85rem;font-weight:700;letter-spacing:-.025em;margin:0;color:var(--users-ink);line-height:1.2}.machine-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;color:#64748b;font-size:.88rem;font-weight:500}.machine-meta-item{display:inline-flex;align-items:center;gap:.35rem}.machine-meta-item strong{color:var(--users-ink);font-weight:600}.machine-hero-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.machine-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.users-kpi{border:1px solid var(--users-line);border-radius:16px;background:var(--users-panel);box-shadow:0 1px 2px #0f172a0d;color:var(--users-ink);transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease;overflow:hidden}.users-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f172a14}.users-kpi .card-body{padding:1.1rem 1.25rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.users-kpi-content{flex:1;min-width:0}.users-kpi .card-title{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--users-muted);margin-bottom:.35rem}.users-kpi h2{font-size:1.65rem;font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--users-ink);margin:0 0 .35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.users-kpi small{color:#7b8493;font-size:.8rem;font-weight:500;display:block}.users-kpi-icon{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.05rem}.users-kpi-attivi .users-kpi-icon{background:var(--users-success-soft);color:var(--users-success)}.users-kpi-inattivi .users-kpi-icon{background:#eef1f5;color:#5b6472}.users-kpi-contratti .users-kpi-icon{background:var(--users-warning-soft);color:#c48400}.users-kpi-senza .users-kpi-icon,.users-kpi-scaduti .users-kpi-icon{background:var(--users-danger-soft);color:var(--users-danger)}.users-kpi-attestati .users-kpi-icon{background:var(--users-info-soft);color:var(--users-info)}.users-kpi-mancanti .users-kpi-icon{background:var(--users-purple-soft);color:var(--users-purple)}.machine-detail-page .card,.machine-detail-page .users-panel{border:1px solid var(--users-line);border-radius:16px;background:var(--users-panel);box-shadow:0 1px 2px #0f172a0d;padding:1.35rem 1.5rem;margin-bottom:0}.machine-detail-page .card>h3,.machine-detail-page .users-panel h3{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;color:var(--users-ink);margin:0 0 1rem;display:flex;align-items:center;gap:.55rem}.machine-detail-page .card>h3 svg{color:var(--users-accent);flex-shrink:0}.machine-section-heading,.machine-detail-page .section-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.machine-section-heading h3,.machine-detail-page .section-heading h3{margin:0}.machine-detail-page label{font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--users-muted);margin-bottom:.25rem;display:flex;flex-direction:column;gap:.35rem}.machine-detail-page input,.machine-detail-page select,.machine-detail-page textarea{border:1px solid var(--users-line);border-radius:10px;background:var(--users-panel);color:var(--users-ink);font-size:.92rem;padding:.62rem .85rem;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit;width:100%}.machine-detail-page input:focus,.machine-detail-page select:focus,.machine-detail-page textarea:focus{border-color:var(--users-accent);box-shadow:0 0 0 3px #4f6ef724;outline:none}.machine-detail-page input:disabled,.machine-detail-page select:disabled,.machine-detail-page textarea:disabled{background:#f8fafc;color:#94a3b8;cursor:not-allowed;border-color:#edf2f7}.machine-detail-page label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:.6rem;text-transform:none;font-size:.88rem;font-weight:500;color:var(--users-ink);cursor:pointer;margin-top:.35rem}.machine-detail-page input[type=checkbox]{width:18px;height:18px;accent-color:var(--users-accent);border-radius:4px;cursor:pointer}.machine-detail-page button,.machine-detail-page .btn{border-radius:10px;font-weight:600;font-size:.88rem;padding:.58rem 1.05rem;transition:all .15s ease;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--users-accent);border:1px solid var(--users-accent);color:#fff;box-shadow:0 1px 2px #0f172a0d}.machine-detail-page button:hover:not(:disabled),.machine-detail-page .btn:hover:not(:disabled){background:var(--users-accent-hover);border-color:var(--users-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #4f6ef738}.machine-detail-page button.secondary,.machine-detail-page .btn-secondary,.machine-detail-page .btn-outline-secondary{background:var(--users-panel);border:1px solid var(--users-line);color:#4b5563;box-shadow:0 1px 2px #0f172a0a}.machine-detail-page button.secondary:hover:not(:disabled),.machine-detail-page .btn-secondary:hover:not(:disabled),.machine-detail-page .btn-outline-secondary:hover:not(:disabled){background:var(--users-soft);border-color:#cfd8e3;color:var(--users-ink);box-shadow:0 2px 6px #0f172a0f}.machine-detail-page button.danger,.machine-detail-page .btn-danger{background:var(--users-danger-soft);border:1px solid #fca5a5;color:var(--users-danger);box-shadow:none}.machine-detail-page button.danger:hover:not(:disabled),.machine-detail-page .btn-danger:hover:not(:disabled){background:#fee2e2;border-color:#f87171;color:#b91c1c;box-shadow:0 4px 12px #d12b2b26}.machine-detail-page button:disabled,.machine-detail-page .btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.machine-detail-page .badge{font-size:.72rem;font-weight:600;border-radius:8px;padding:.35em .65em;display:inline-flex;align-items:center;gap:.3rem;letter-spacing:.02em}.machine-detail-page .badge.active,.machine-detail-page .badge.public,.machine-detail-page .badge.bg-success{background:var(--users-success-soft)!important;color:var(--users-success)!important}.machine-detail-page .badge.disabled,.machine-detail-page .badge.expired,.machine-detail-page .badge.bg-danger{background:var(--users-danger-soft)!important;color:var(--users-danger)!important}.machine-detail-page .badge.pin,.machine-detail-page .badge.soon,.machine-detail-page .badge.bg-warning{background:var(--users-warning-soft)!important;color:var(--users-warning)!important}.machine-detail-page .badge.archived,.machine-detail-page .badge.bg-secondary{background:#eef1f5!important;color:#5b6472!important}.machine-detail-page .badge.published,.machine-detail-page .badge.bg-info{background:var(--users-info-soft)!important;color:var(--users-info)!important}.machine-detail-page .badge.draft,.machine-detail-page .badge.bg-primary{background:var(--users-purple-soft)!important;color:var(--users-purple)!important}.machine-photo-card{display:flex;flex-direction:column;gap:.85rem}.machine-photo-preview{border-radius:14px;overflow:hidden;border:1px solid var(--users-line);background:var(--users-soft);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 1px 3px #0f172a0a}.machine-photo-img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.machine-photo-preview:hover .machine-photo-img{transform:scale(1.02)}.machine-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--users-muted);font-size:.88rem;font-weight:500;width:100%;height:100%}.machine-photo-placeholder svg{stroke:#b4bfce}.machine-detail-page .machine-photo-upload{display:flex;flex-direction:column;gap:.4rem}.machine-detail-page .machine-photo-actions{display:flex;gap:.5rem;flex-wrap:wrap}.machine-detail-page .machine-photo-hint{margin:.25rem 0 0;font-size:.78rem;color:var(--users-muted)}.machine-detail-page .qr-panel{display:flex;flex-direction:column;align-items:stretch}.machine-detail-page .qr-machine-code{text-align:center;font-weight:700;font-size:1.25rem;letter-spacing:-.01em;color:var(--users-ink);margin:.15rem 0 .65rem}.machine-detail-page .qr-preview-wrap{background:var(--users-panel);border:1px solid var(--users-line);border-radius:14px;padding:1.15rem;display:flex;flex-direction:column;align-items:center;margin:.4rem auto;box-shadow:0 4px 14px #0f172a0a}.machine-detail-page .qr-preview{border-radius:8px;display:block}.machine-detail-page .qr-preview-label{margin:.5rem 0 0;font-size:.78rem;font-weight:700;letter-spacing:.05em;color:var(--users-muted);text-transform:uppercase}.machine-detail-page .qr-url{margin:.6rem 0;text-align:center;overflow:hidden;text-overflow:ellipsis}.machine-detail-page .qr-url-link{display:inline-block;padding:.35rem .75rem;border-radius:8px;background:var(--users-soft);border:1px solid var(--users-line);color:#3554d4;font-size:.82rem;font-family:monospace;text-decoration:none;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.machine-detail-page .qr-url-link:hover{background:var(--users-accent-soft);border-color:#cbd8fb}.machine-detail-page .qr-rotation-warning{margin-top:1rem;border:1px solid #fecaca;border-radius:12px;background:#fff8f8;padding:1.1rem 1.25rem;color:#991b1b}.machine-detail-page .qr-rotation-warning p{color:#7f1d1d;font-size:.86rem;margin:.35rem 0 .75rem}.machine-detail-page .compliance-card{display:flex;flex-direction:column}.machine-detail-page .compliance-checklist{display:flex;flex-direction:column;gap:.5rem;margin:.85rem 0;padding:0;list-style:none}.machine-detail-page .compliance-checklist li{display:flex;justify-content:space-between;align-items:center;padding:.65rem .95rem;border-radius:10px;border:1px solid var(--users-line);background:var(--users-panel);font-size:.88rem;font-weight:500}.machine-detail-page .checklist-complete{border-left:4px solid var(--users-success)!important;background:#fafdfb!important}.machine-detail-page .checklist-complete strong{color:var(--users-success)}.machine-detail-page .checklist-missing{border-left:4px solid var(--users-purple)!important;background:#fafaff!important}.machine-detail-page .checklist-missing strong{color:var(--users-purple)}.machine-detail-page .checklist-expired{border-left:4px solid var(--users-danger)!important;background:snow!important}.machine-detail-page .checklist-expired strong{color:var(--users-danger)}.machine-detail-page .notification-list{display:flex;flex-direction:column;gap:.65rem;margin:.75rem 0;padding:0;list-style:none}.machine-detail-page .notification-list li{border:1px solid var(--users-line);border-radius:12px;background:var(--users-panel);padding:.85rem 1.1rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:0 1px 2px #0f172a08;transition:box-shadow .15s ease}.machine-detail-page .notification-list li:hover{box-shadow:0 4px 12px #0f172a0d}.machine-detail-page .notification-list li strong{font-size:.92rem;color:var(--users-ink)}.machine-detail-page .notification-list li p{margin:0;font-size:.85rem;color:#64748b}.machine-detail-page .deadline-expired{color:var(--users-danger);font-weight:700;font-size:.8rem}.machine-detail-page .deadline-warning{color:var(--users-warning);font-weight:700;font-size:.8rem}.machine-detail-page .table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--users-line);border-radius:14px;overflow:hidden;margin-top:.75rem}.machine-detail-page .table thead th{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--users-muted);background:#f7f9fc;border-bottom:1px solid var(--users-line);padding:.85rem 1.1rem;white-space:nowrap;vertical-align:middle}.machine-detail-page .table tbody td{padding:.85rem 1.1rem;vertical-align:middle;border-bottom:1px solid var(--users-line);background:var(--users-panel);font-size:.9rem;color:var(--users-ink)}.machine-detail-page .table tbody tr:last-child td{border-bottom:none}.machine-detail-page .table tbody tr:hover td{background:var(--users-accent-soft)}.machine-detail-page .table tbody a{color:#3554d4;font-weight:500}.machine-detail-page .document-editor,.machine-detail-page .document-versions{border:1px solid var(--users-line);border-radius:14px;background:var(--users-soft);padding:1.15rem 1.35rem;margin-top:1rem}.modal-body .document-editor{padding:0;border:none;background:transparent;margin:0}.modal-body .document-versions{margin-top:1rem}.machine-detail-page .document-editor h4{margin:0 0 .85rem;font-size:.95rem;font-weight:700;color:var(--users-ink)}.modal-dialog{border-radius:16px!important;border:1px solid var(--users-line)!important;box-shadow:0 20px 50px #0f172a2e!important;overflow:hidden}.modal-header{background:linear-gradient(180deg,#f8faff,#fff)!important;border-bottom:1px solid #edf1f5!important;padding:1.15rem 1.35rem!important}.modal-header h3{font-size:1.05rem!important;font-weight:700!important;color:var(--users-ink)!important}.modal-footer{background:#fbfcfe!important;border-top:1px solid #edf1f5!important;padding:.95rem 1.35rem!important}@media(max-width:900px){.machine-hero-card{flex-direction:column;align-items:flex-start}.machine-hero-actions{width:100%;justify-content:flex-start}.machine-hero-title{font-size:1.55rem}}.settings-page{display:flex;flex-direction:column;gap:1rem}.settings-chrome{position:sticky;top:0;z-index:6;display:flex;flex-direction:column;gap:.85rem;padding:.15rem 0 .85rem;margin:-.15rem 0 0;background:var(--bg)}.settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.settings-header h2{margin:0}.settings-header .settings-hint{margin:.2rem 0 0}.settings-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.settings-grid{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.settings-stack{display:grid;gap:1rem}.settings-section-actions{display:flex;justify-content:flex-end}.settings-tabs{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;width:fit-content;max-width:100%;background:var(--surface-muted);border:1px solid var(--border);border-radius:12px}.settings-tabs a{padding:.55rem .95rem;border-radius:9px;color:var(--text);text-decoration:none;font-weight:600;font-size:.9rem}.settings-tabs a:hover{background:var(--surface)}.settings-tabs a.active:hover{background:var(--accent);color:var(--accent-text)}.settings-page .card{margin-bottom:0}.settings-page .form-grid,.settings-page .settings-section{max-width:none;scroll-margin-top:5.5rem}.settings-fields{display:grid;gap:.75rem}.settings-switches{display:grid;gap:.65rem}.settings-page .settings-switches .switch{width:100%;justify-self:stretch}.settings-fields label{display:grid;gap:.35rem}.settings-page .card>button{width:auto;justify-self:start}.settings-span-2{grid-column:1 / -1}.theme-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.theme-switch button{display:grid;gap:.15rem;justify-items:start;padding:.7rem .75rem;background:var(--surface-muted);color:var(--text);border:1px solid var(--border)}.theme-switch button small{font-size:.75rem;font-weight:500;color:var(--text-muted)}.theme-switch button.is-active{background:var(--accent);color:var(--accent-text);border-color:transparent}.theme-switch button.is-active small{color:color-mix(in srgb,var(--accent-text) 80%,transparent)}@media(min-width:720px){.settings-wide .settings-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.settings-wide .settings-fields .org-logo-editor,.settings-wide .settings-fields textarea,.settings-wide .settings-fields .settings-span-2{grid-column:1 / -1}}@media(min-width:1080px){.settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:768px){.settings-chrome,.settings-header{position:static}.settings-tabs{width:100%}.settings-tabs a{flex:1;text-align:center}.theme-switch{grid-template-columns:1fr}}.finance-page,.finance-modal,.finance-import{min-width:0}.finance-page .actions{justify-content:space-between;align-items:flex-start}.finance-page label,.finance-modal label,.finance-filters label,.finance-import label{display:flex;flex-direction:column;gap:.35rem;min-width:0;font-size:.82rem;font-weight:600;color:var(--text-secondary)}.finance-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:1rem;margin-bottom:1.5rem}.finance-kpi .card,.finance-kpi-value{min-width:0;overflow-wrap:anywhere}.finance-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,168px),1fr));gap:.85rem 1rem;align-items:end}.finance-filters__search,.finance-filters__actions{grid-column:1 / -1}.finance-filters__actions{display:flex;flex-wrap:wrap;gap:.5rem}.finance-pair,.finance-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:.75rem;max-width:none}.finance-span{grid-column:1 / -1}.finance-tx-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.finance-tx-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.finance-toolbar{display:flex;flex-wrap:wrap;gap:.5rem}.finance-page a.button,.finance-import a.button{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:.6rem 1rem;background:var(--accent);color:#fff;font-weight:600}.finance-page a.button.secondary,.finance-import a.button.secondary{background:var(--muted-fill);color:var(--text)}.finance-page .table th,.finance-page .table td{vertical-align:top}.finance-archive-toolbar{display:flex;flex-wrap:wrap;gap:.85rem;align-items:end;margin-bottom:1rem}.finance-view-toggle{display:flex;flex-wrap:wrap;gap:.4rem}.finance-archive-search{flex:1;min-width:min(100%,220px)}.finance-folders{display:flex;flex-direction:column;gap:.5rem}.finance-folder{border:1px solid var(--border);border-radius:10px;background:var(--surface);min-width:0}.finance-folder .finance-folder{border:none;border-top:1px solid var(--border);border-radius:0}.finance-import .actions{justify-content:space-between;align-items:flex-start}.finance-folder__head{width:100%;display:flex;align-items:center;gap:.6rem;text-align:left;background:var(--bg);color:var(--text);border-radius:9px;padding:.7rem .85rem}.finance-folder__head:hover{background:var(--surface-muted)}.finance-folder .finance-folder .finance-folder__head{border-radius:0;background:var(--surface)}.finance-folder__icon{width:1rem;color:var(--text-muted)}.finance-folder__title{flex:1;font-weight:700;min-width:0}.finance-folder__count{font-size:.78rem;color:var(--text-muted);background:var(--muted-fill);border-radius:999px;padding:.1rem .5rem}.finance-folder__body{display:flex;flex-direction:column}.finance-folder-item{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:flex-start;padding:.75rem .85rem;border-top:1px solid var(--border)}.finance-folder-item__side{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.finance-amount-in{color:#16a34a;font-weight:700;white-space:nowrap}.finance-amount-out{color:var(--danger);font-weight:700;white-space:nowrap}.back-to-top{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:70;width:44px;height:44px;min-height:44px;padding:0;border-radius:999px;background:var(--sidebar-bg);color:#f8fafc;box-shadow:0 8px 24px #0f172a47;display:grid;place-items:center;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease}.back-to-top[hidden]{display:none}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:none}.back-to-top:hover{background:var(--sidebar-hover)}.back-to-top:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:root{color-scheme:light;--bg: #f8fafc;--surface: #ffffff;--surface-muted: #f1f5f9;--text: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-faint: #94a3b8;--border: #e2e8f0;--border-strong: #cbd5e1;--accent: #2563eb;--accent-text: #ffffff;--danger: #dc2626;--ok: #166534;--muted-fill: #e2e8f0;--input-bg: #ffffff;--banner-bg: #eff6ff;--banner-border: #bfdbfe;--banner-text: #1e3a8a;--danger-soft: #fef2f2;--danger-border: #fecaca;--warning-soft: #fffbeb;--warning-border: #fde68a;--warning-text: #92400e;--modal-overlay: rgba(15, 23, 42, .6);--shadow: 0 10px 30px rgba(15, 23, 42, .08);--sidebar-bg: #0f172a;--sidebar-border: #1e293b;--sidebar-text: #cbd5e1;--sidebar-muted: #94a3b8;--sidebar-hover: #1e293b;--sidebar-title: #64748b;--shimmer-from: #f1f5f9;--shimmer-to: #e2e8f0}html[data-theme=dark]{color-scheme:dark;--bg: #0b1220;--surface: #1e293b;--surface-muted: #0f172a;--text: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-faint: #64748b;--border: #334155;--border-strong: #475569;--accent: #3b82f6;--accent-text: #ffffff;--danger: #f87171;--ok: #86efac;--muted-fill: #334155;--input-bg: #0f172a;--banner-bg: #1e3a8a;--banner-border: #1d4ed8;--banner-text: #dbeafe;--danger-soft: #3f1219;--danger-border: #7f1d1d;--warning-soft: #422006;--warning-border: #854d0e;--warning-text: #fde68a;--modal-overlay: rgba(2, 6, 23, .72);--shadow: 0 10px 30px rgba(0, 0, 0, .35);--sidebar-bg: #020617;--sidebar-border: #1e293b;--sidebar-text: #cbd5e1;--sidebar-muted: #64748b;--sidebar-hover: #1e293b;--sidebar-title: #64748b;--shimmer-from: #1e293b;--shimmer-to: #334155}html,body,#root{background:var(--bg);color:var(--text)}:root{font-family:Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;border-radius:8px;padding:.6rem 1rem;background:var(--accent);color:var(--accent-text)}button.secondary{background:var(--muted-fill);color:var(--text)}button.danger{background:var(--danger)}a.button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:8px;padding:.6rem 1rem;background:var(--accent);color:var(--accent-text)}a.button.secondary{background:var(--muted-fill);color:var(--text)}input,select,textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--input-bg);color:var(--text)}input:disabled,select:disabled,textarea:disabled{opacity:.75;background:var(--surface-muted)}.password-field{position:relative}.password-field input{padding-right:2.75rem}.password-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);padding:.35rem .5rem;background:transparent;color:var(--text-muted);font-size:1rem;line-height:1}.password-toggle:hover{color:var(--text);background:var(--surface-muted)}.app-shell{--sidebar-width: 260px;--sidebar-collapsed-width: 76px;min-height:100vh;display:block}.app-shell.sidebar-collapsed{--sidebar-width: var(--sidebar-collapsed-width)}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:40;width:var(--sidebar-width);background:var(--sidebar-bg);color:#fff;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.25rem;border-right:1px solid var(--sidebar-border);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;transition:width .18s ease}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sidebar-brand h1{font-size:1.15rem;font-weight:700;margin:0;color:#f8fafc;letter-spacing:-.02em}.brand-short{display:none}.sidebar-collapse-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:2rem;height:2rem;min-height:2rem;padding:0;background:transparent;border:1px solid var(--sidebar-border);color:var(--sidebar-text);border-radius:6px}.sidebar-collapse-toggle:hover{background:var(--sidebar-hover)}.sidebar-org-name{display:block;font-size:.75rem;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px;margin-top:.2rem}.mobile-menu-toggle{display:none;background:transparent;border:1px solid var(--sidebar-border);color:var(--sidebar-text);font-size:1.2rem;padding:.35rem .6rem;border-radius:6px;cursor:pointer;position:relative}.mobile-toggle-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:.65rem;width:1rem;height:1rem;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:700}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex:1;min-height:0}.app-shell.sidebar-collapsed .brand-full,.app-shell.sidebar-collapsed .sidebar-org-name,.app-shell.sidebar-collapsed .nav-section-title,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .nav-group-chevron{display:none}.app-shell.sidebar-collapsed .brand-short{display:inline}.app-shell.sidebar-collapsed .sidebar{padding-inline:.65rem;align-items:stretch}.app-shell.sidebar-collapsed .sidebar-header{flex-direction:column;align-items:center}.app-shell.sidebar-collapsed .nav-link{justify-content:center;padding-inline:.4rem}.app-shell.sidebar-collapsed .nav-link{position:relative}.app-shell.sidebar-collapsed .nav-badge{position:absolute;top:.15rem;right:.15rem;min-width:.95rem;height:.95rem;padding:0 .25rem;font-size:.65rem}.nav-section{display:flex;flex-direction:column;gap:.3rem}.nav-section-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:0 .5rem .2rem}.nav-section-items{display:flex;flex-direction:column;gap:.2rem}.sidebar a,.nav-link{color:var(--sidebar-text);padding:.45rem .65rem;border-radius:7px;display:flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s ease}.sidebar a:hover,.nav-link:hover{background:var(--sidebar-hover);color:#fff}.sidebar a.active,.nav-link.active{background:var(--accent);color:#fff;font-weight:600}.nav-icon{font-size:1rem;display:inline-flex;align-items:center;justify-content:center;width:1.25rem}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;margin-left:auto;padding:0 .4rem;border-radius:999px;background:var(--danger);color:#fff;font-size:.75rem;font-weight:700}.nav-group{position:relative;display:flex;flex-direction:column;gap:.15rem}.nav-group-row{display:flex;align-items:center;gap:.15rem}.nav-group-row .nav-group-parent{flex:1;min-width:0}.nav-group-parent.is-current{background:color-mix(in srgb,var(--accent) 22%,transparent);color:#fff}.nav-group-chevron{display:flex;align-items:center;justify-content:center;flex:none;width:1.7rem;height:1.7rem;padding:0;border:0;border-radius:6px;background:transparent;color:var(--sidebar-muted);cursor:pointer}.nav-group-chevron:hover{background:var(--sidebar-hover);color:#fff}.nav-group.open .nav-group-chevron svg{transform:rotate(180deg)}.nav-group-chevron svg{transition:transform .15s ease}.nav-group-children{display:none;flex-direction:column;gap:.12rem;padding:.15rem 0 .2rem .55rem;margin-left:.7rem;border-left:1px solid var(--sidebar-border)}.nav-group.open .nav-group-children{display:flex}.nav-sublink{font-size:.82rem;padding:.35rem .55rem;font-weight:450}.app-shell.sidebar-collapsed .nav-group-children{display:none;position:absolute;left:calc(100% + .45rem);top:0;z-index:60;min-width:13.5rem;margin:0;padding:.4rem;border:1px solid var(--sidebar-border);border-radius:10px;background:var(--sidebar-bg);box-shadow:var(--shadow)}.app-shell.sidebar-collapsed .nav-group:hover .nav-group-children,.app-shell.sidebar-collapsed .nav-group:focus-within .nav-group-children{display:flex}.app-shell.sidebar-collapsed .nav-group-children .nav-label{display:inline}.app-shell.sidebar-collapsed .nav-group-row .nav-badge{position:absolute;top:.15rem;right:.15rem}.sidebar-backdrop{display:none}.main{padding:1.5rem;margin-left:var(--sidebar-width);transition:margin-left .18s ease}.acting-org-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;background:var(--banner-bg);border:1px solid var(--banner-border);color:var(--banner-text);border-radius:10px;padding:.65rem .85rem;margin-bottom:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem;margin-bottom:1rem}.grid-2{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.75rem;border-bottom:1px solid var(--border)}.table-subtitle{display:block;color:var(--text-muted);font-size:.8rem}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.8rem;background:var(--muted-fill)}.badge.public{background:#dcfce7;color:#166534}.badge.pin{background:#fef3c7;color:#92400e}.badge.disabled,.badge.expired{background:#fee2e2;color:#991b1b}.badge.soon{background:#fef3c7;color:#92400e}.form-grid{display:grid;gap:.75rem;max-width:520px}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(480px,100%);background:var(--surface);border-radius:16px;padding:1.5rem;border:1px solid var(--border);box-shadow:var(--shadow)}.auth-links{margin:0;text-align:center;font-size:.9rem}.public-shell{--brand: #0f4c81;min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 12%,var(--bg)) 0%,var(--surface-muted) 40%,var(--bg) 100%);color:var(--text)}.public-header{padding:1.25rem 1rem .5rem;max-width:560px;margin:0 auto;width:100%}.public-brand{display:flex;align-items:center;gap:.85rem;background:var(--surface);border-radius:16px;padding:1rem 1.1rem;box-shadow:0 4px 24px #0f172a0f;border:1px solid var(--border)}.public-logo{width:52px;height:52px;object-fit:contain;border-radius:12px}.public-logo-fallback{width:52px;height:52px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.1rem;flex-shrink:0}.public-org-name{margin:0;font-size:1.05rem;font-weight:700;line-height:1.2}.public-org-tagline{margin:.2rem 0 0;font-size:.85rem;color:var(--text-muted)}.public-main{flex:1;width:100%;max-width:560px;margin:0 auto;padding:.75rem 1rem 1.5rem;display:grid;gap:.85rem}.public-card{background:var(--surface);border-radius:16px;padding:1.15rem 1.2rem;border:1px solid var(--border);box-shadow:0 4px 20px #0f172a0d}.public-card--center{text-align:center;margin:auto 1rem;max-width:400px}.public-shell--empty,.public-shell--loading{min-height:100dvh}.public-main--empty{align-content:start}.public-empty-card{background:var(--surface);border-radius:20px;padding:1.5rem 1.35rem 1.35rem;border:1px solid var(--border);box-shadow:0 12px 40px #0f172a14;text-align:center}.public-empty-visual{position:relative;width:120px;height:120px;margin:0 auto 1.25rem;color:var(--brand)}.public-empty-glow{position:absolute;top:10%;right:10%;bottom:10%;left:10%;border-radius:50%;background:color-mix(in srgb,var(--brand) 18%,transparent);filter:blur(12px)}.public-empty-icon{position:relative;width:100%;height:100%}.public-empty-eyebrow{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--text-faint)}.public-empty-title{margin:.35rem 0 .65rem;font-size:1.45rem;font-weight:800;line-height:1.2;color:var(--text)}.public-empty-text{margin:0 0 1.15rem;color:var(--text-muted);font-size:.98rem;line-height:1.55}.public-empty-tips{margin:0;list-style:none;text-align:left;display:grid;gap:.55rem;background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:.9rem 1rem}.public-empty-tips li{position:relative;padding-left:1.1rem;font-size:.88rem;color:var(--text-muted);line-height:1.45}.public-empty-tips li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--brand)}.public-empty-tips a{color:var(--brand);font-weight:600}.public-empty-retry{margin-top:1rem;width:100%}.public-loading-card{margin:auto;width:min(360px,calc(100% - 2rem));background:var(--surface);border-radius:16px;padding:1.25rem;border:1px solid var(--border);box-shadow:0 8px 30px #0f172a0f}.public-loading-shimmer{height:120px;border-radius:12px;background:linear-gradient(90deg,var(--shimmer-from),var(--shimmer-to),var(--shimmer-from));background-size:200% 100%;animation:shimmer 1.2s infinite;margin-bottom:1rem}.public-loading-lines{display:grid;gap:.5rem;margin-bottom:.75rem}.public-loading-lines span{display:block;height:10px;border-radius:999px;background:var(--muted-fill)}.public-loading-lines span.short{width:55%}.public-loading-card p{margin:0;text-align:center;color:var(--text-muted);font-size:.9rem}.public-docs-empty{padding:.5rem 0 .25rem}.public-docs-empty-title{margin:0 0 .35rem;font-weight:700;color:var(--text-secondary)}.public-card h2{margin:0 0 .75rem;font-size:1.05rem}.public-machine-card{border-top:4px solid var(--brand)}.public-label{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:600}.public-machine-code{margin:.25rem 0 .75rem;font-size:1.75rem;font-weight:800;color:var(--brand);line-height:1.1}.public-meta{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:0;font-size:.95rem}.public-meta dt{color:var(--text-muted);font-weight:500}.public-meta dd{margin:0;font-weight:600}.public-description{margin:.85rem 0 0;color:var(--text-muted);font-size:.95rem;line-height:1.5}.public-muted{color:var(--text-muted);margin:0 0 1rem;font-size:.95rem}.public-form{display:grid;gap:.75rem}.public-btn{width:100%;padding:.85rem 1rem;background:var(--brand);color:#fff;font-weight:600;border-radius:12px}.public-doc-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.public-doc-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.85rem;background:var(--bg);border-radius:12px;border:1px solid var(--border)}.public-doc-icon{width:40px;height:40px;border-radius:10px;background:color-mix(in srgb,var(--brand) 15%,white);color:var(--brand);font-size:.7rem;font-weight:800;display:grid;place-items:center}.public-doc-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.public-doc-body strong{font-size:.95rem;line-height:1.3}.public-doc-cat{font-size:.8rem;color:var(--text-muted)}.public-doc-link{padding:.5rem .85rem;background:var(--brand);color:#fff!important;border-radius:10px;font-size:.85rem;font-weight:600;white-space:nowrap}.public-footer{padding:1rem;text-align:center;font-size:.8rem;color:var(--text-faint)}.public-footer-sep{margin:0 .35rem}.public-loading{margin:auto;padding:2rem;color:var(--text-muted)}.qr-panel .qr-preview-wrap{text-align:center;padding:1rem;background:var(--bg);border-radius:12px;border:1px solid var(--border)}.qr-preview{width:min(220px,100%);height:auto;display:block;margin:0 auto}.qr-preview-label{margin:.5rem 0 0;font-weight:700;color:var(--text)}.qr-machine-code{font-size:1.1rem;font-weight:700}.qr-url{font-size:.8rem;word-break:break-all;color:var(--text-muted)}.qr-url-link{color:var(--accent);text-decoration:none}.qr-url-link:hover{text-decoration:underline}.public-footer-link{color:var(--brand);font-weight:600;text-decoration:none}.public-footer-link:hover{text-decoration:underline}.error{color:var(--danger);margin-top:.5rem}.message-ok{color:var(--ok);margin-top:.5rem}.settings-section{max-width:640px}.settings-hint{margin:-.25rem 0 0;font-size:.9rem;color:var(--text-muted)}.machine-photo-preview{aspect-ratio:4 / 3;border-radius:12px;overflow:hidden;background:var(--surface-muted);border:1px solid var(--border)}.machine-photo-img{width:100%;height:100%;object-fit:cover;display:block}.machine-photo-placeholder{height:100%;display:grid;place-items:center;color:var(--text-faint);font-size:.9rem}.machine-photo-upload{display:grid;gap:.5rem}.machine-photo-actions{display:flex;gap:.5rem;flex-wrap:wrap}.machine-photo-hint{margin:0;font-size:.8rem;color:var(--text-muted)}.org-logo-editor{display:grid;gap:.65rem}.org-logo-label{margin:0;font-size:.85rem;font-weight:600}.org-logo-preview{width:96px;height:96px;border-radius:16px;border:1px solid var(--border);background:var(--bg);display:grid;place-items:center;overflow:hidden;color:var(--text-faint);font-size:.8rem}.org-logo-preview img{width:100%;height:100%;object-fit:contain;background:var(--surface)}.machine-list-thumb{width:48px;height:36px;object-fit:cover;border-radius:6px;display:block;background:var(--surface-muted)}.machine-list-thumb--empty{display:inline-grid;place-items:center;color:var(--sidebar-text);font-size:.85rem}.machine-list-thumb--loading{display:inline-block;background:linear-gradient(90deg,var(--shimmer-from),var(--shimmer-to),var(--shimmer-from));background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.crop-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0f172a8c;display:grid;place-items:center;padding:1rem}.crop-modal{width:min(520px,100%);max-height:min(92dvh,720px);background:var(--surface);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 48px #0f172a33}.crop-modal-header{padding:1rem 1.15rem .5rem}.crop-modal-header h3{margin:0;font-size:1.05rem}.crop-modal-header p{margin:.25rem 0 0;font-size:.85rem;color:var(--text-muted)}.crop-stage{position:relative;height:min(52vw,320px);min-height:220px;background:#0f172a}.crop-zoom{padding:.75rem 1.15rem;display:grid;gap:.35rem;font-size:.85rem;color:var(--text-muted)}.crop-actions{padding:0 1.15rem 1rem;display:flex;gap:.5rem;justify-content:flex-end}.public-machine-photo-wrap{margin:-.15rem -.2rem 1rem;border-radius:12px;overflow:hidden;aspect-ratio:4 / 3;background:var(--surface-muted)}.public-machine-photo{width:100%;height:100%;object-fit:cover;display:block}.public-contacts-card h2{margin:0 0 .85rem;font-size:1.05rem}.public-contacts-list{display:grid;grid-template-columns:auto 1fr;gap:.35rem .85rem;margin:0;font-size:.92rem}.public-contacts-list dt{color:var(--text-muted);font-weight:500}.public-contacts-list dd{margin:0;font-weight:500;line-height:1.45}.public-contact-link{color:var(--brand);font-weight:600;word-break:break-word}.public-contacts-list a{color:var(--brand)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--modal-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:1rem}.modal-dialog{width:min(480px,100%);max-height:min(92dvh,880px);background:var(--surface);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0f172a38;animation:modalEnter .15s ease-out}.modal-dialog-md{width:min(600px,100%)}.modal-dialog-lg{width:min(760px,100%)}@keyframes modalEnter{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header{flex-shrink:0;padding:1.25rem 1.25rem .75rem;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:1.15rem;color:var(--text)}.modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;color:var(--text-secondary);font-size:.95rem;line-height:1.5}.modal-description{color:var(--text-muted)}.modal-error{margin:.25rem 0 0;padding:.65rem .85rem;background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:8px;color:var(--danger);font-size:.88rem;font-weight:500}.modal-footer{flex-shrink:0;padding:.85rem 1.25rem 1.25rem;display:flex;gap:.75rem;justify-content:flex-end;border-top:1px solid var(--border);background:var(--bg)}.delete-modal-content{display:flex;flex-direction:column;gap:.65rem}.delete-modal-content p{margin:0}.delete-modal-warning-text{color:var(--text-muted);font-size:.88rem}.modal-warning-box{margin-top:.4rem;padding:.85rem;background:var(--warning-soft);border:1px solid var(--warning-border);border-radius:8px;color:var(--warning-text);font-size:.88rem;display:flex;flex-direction:column;gap:.5rem}.modal-warning-title{font-weight:600;font-size:.9rem}.modal-warning-desc{margin:0;line-height:1.4}.modal-checkbox-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;font-weight:500;color:var(--warning-text);margin-top:.25rem}.modal-checkbox-label input[type=checkbox]{width:auto;margin-top:.2rem;cursor:pointer}html,body,#root{min-width:0;min-height:100%}body{overflow-x:hidden}img,svg{max-width:100%}.main,.card,.grid-2>*,.public-brand>div{min-width:0}.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.table-scroll .table{min-width:560px}@media(max-width:768px){button,input,select,textarea{min-height:44px}input,select,textarea{font-size:16px}.app-shell{--sidebar-width: 0px;display:block}.app-shell.sidebar-collapsed{--sidebar-width: 0px}.sidebar{position:fixed;top:0;left:0;right:0;bottom:auto;width:100%;height:auto;max-height:100dvh;z-index:50;padding:max(.65rem,env(safe-area-inset-top)) 1rem .65rem;box-shadow:0 2px 12px #0f172a2e}.sidebar-collapse-toggle{display:none}.app-shell.sidebar-collapsed .brand-full{display:inline}.app-shell.sidebar-collapsed .sidebar-org-name{display:block}.app-shell.sidebar-collapsed .nav-section-title,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .nav-group-chevron{display:unset}.app-shell.sidebar-collapsed .brand-short{display:none}.app-shell.sidebar-collapsed .sidebar-header{flex-direction:row;align-items:center}.app-shell.sidebar-collapsed .nav-link{justify-content:flex-start;position:static;padding-inline:.85rem}.app-shell.sidebar-collapsed .nav-badge{position:static;min-width:1.25rem;height:1.25rem;padding:0 .4rem;font-size:.75rem}.main{margin-left:0;padding:calc(4.25rem + env(safe-area-inset-top)) 1rem 1rem}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}.sidebar-backdrop{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172aa6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40}.sidebar-nav{display:none}.sidebar.open .sidebar-nav{display:flex;flex-direction:column;gap:.3rem;padding-top:1rem;border-top:1px solid #1e293b;margin-top:.75rem;max-height:75vh;overflow-y:auto}.app-shell.sidebar-collapsed .nav-group-children{position:static;left:auto;top:auto;min-width:0;margin-left:.7rem;padding:.15rem 0 .2rem .55rem;border:0;border-left:1px solid var(--sidebar-border);border-radius:0;box-shadow:none;background:transparent}.app-shell.sidebar-collapsed .nav-group:hover .nav-group-children,.app-shell.sidebar-collapsed .nav-group:focus-within .nav-group-children{display:none}.app-shell.sidebar-collapsed .nav-group.open .nav-group-children{display:flex}.sidebar a,.nav-link{min-height:42px;padding:.6rem .85rem}.card{padding:.9rem}.grid-2{grid-template-columns:minmax(0,1fr)}.form-grid{max-width:none}.table th,.table td{padding:.65rem;white-space:nowrap}.public-header{padding-top:max(1rem,env(safe-area-inset-top))}.public-main{padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.modal-backdrop{padding:.5rem;align-items:end;place-items:end center}.modal-dialog,.modal-dialog-md,.modal-dialog-lg{width:100%;max-height:min(94dvh,100%);border-radius:16px 16px 10px 10px}.crop-modal-backdrop{align-items:end;padding:.5rem}.crop-modal{max-height:calc(100dvh - 1rem);border-radius:16px 16px 10px 10px}.crop-stage{height:min(48dvh,300px);min-height:180px}}@media(max-width:480px){.sidebar{padding-inline:.75rem}.main{padding:calc(4.1rem + env(safe-area-inset-top)) .75rem .75rem}.main h2{font-size:1.35rem}.actions{gap:.4rem}.actions button,.actions a.button{padding-inline:.8rem}.card{border-radius:10px;padding:.8rem}.table-scroll{margin-inline:-.8rem;padding-inline:.8rem}.public-header,.public-main{padding-inline:.75rem}.public-brand,.public-card{padding:.9rem;border-radius:14px}.public-logo,.public-logo-fallback{width:44px;height:44px}.public-machine-code{overflow-wrap:anywhere;font-size:1.5rem}.public-meta,.public-contacts-list{grid-template-columns:minmax(0,1fr);gap:.1rem}.public-meta dd,.public-contacts-list dd{margin-bottom:.6rem;overflow-wrap:anywhere}.public-doc-item{grid-template-columns:auto minmax(0,1fr)}.public-doc-link{grid-column:1 / -1;text-align:center;min-height:44px;display:grid;place-items:center}.crop-modal-header{padding:.85rem .9rem .45rem}.crop-stage{min-height:150px}.crop-zoom{padding:.65rem .9rem}.crop-actions{padding:0 .9rem max(.75rem,env(safe-area-inset-bottom))}.crop-actions button{flex:1}}.compliance-checklist{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.compliance-checklist li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem .75rem;border-radius:8px;background:var(--bg)}.checklist-complete strong{color:#166534}.checklist-missing strong,.checklist-expired strong{color:#b91c1c}.document-manager{display:grid;gap:1rem}.document-editor,.document-versions,.qr-rotation-warning{padding:1rem;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg)}.document-versions ul{display:grid;gap:.55rem;padding:0;list-style:none}.document-versions li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.35rem .75rem;align-items:center}.document-versions small{grid-column:1 / -1;overflow-wrap:anywhere;color:var(--text-muted)}.link-button{padding:0;background:none;color:#2563eb;text-align:left}.table-subtitle{display:block;margin-top:.2rem;color:var(--text-muted)}.wrap-cell{min-width:220px;white-space:normal!important}.section-heading{justify-content:space-between;align-items:start}.section-heading h3{margin:0}.qr-rotation-warning{margin-top:1rem;border-color:#fca5a5;background:var(--danger-soft)}.qr-rotation-warning label{display:block;margin-top:.75rem}.privacy-note{margin:0;font-size:.8rem;color:var(--text-muted)}.deadline-expired{color:#b91c1c;font-weight:700}.deadline-warning{color:#92400e;font-weight:700}.alert-history{margin-top:1rem}.public-language{display:grid;gap:.35rem;margin-bottom:.85rem;color:var(--text-secondary);font-size:.9rem}.workflow-panel{display:grid;gap:.65rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-strong)}.workflow-panel h4,.workflow-panel p{margin:0}.compliance-percentage{margin:.5rem 0;color:#0f4c81;font-size:clamp(2rem,6vw,3.5rem);font-weight:800}.notification-list{display:grid;gap:.75rem;padding:0;list-style:none}.notification-list li{padding:.75rem;border:1px solid var(--border-strong);border-radius:8px}.notification-unread{border-left:4px solid #0f4c81!important;background:#f0f7ff}@media(max-width:600px){.document-versions li{grid-template-columns:minmax(0,1fr)}.compliance-checklist li,.section-heading{align-items:stretch;flex-direction:column}}.switch,.machine-detail-page .switch{display:flex;align-items:flex-start;gap:.8rem;width:100%;padding:.75rem .9rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;box-shadow:none;transition:border-color .15s ease,background .15s ease}.switch:hover:not(:disabled),.machine-detail-page .switch:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong);transform:none;box-shadow:none}.switch--on,.machine-detail-page .switch--on{border-color:#b7c6ff;background:#f4f7ff}.switch:disabled{opacity:.6;cursor:not-allowed}.switch__track{flex:none;position:relative;width:2.5rem;height:1.45rem;margin-top:.1rem;border-radius:999px;background:var(--muted-fill);transition:background .2s ease}.switch--on .switch__track{background:#4f6ef7}.switch__thumb{position:absolute;top:.15rem;left:.15rem;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px #0f172a40;transition:transform .2s ease}.switch--on .switch__thumb{transform:translate(1.05rem)}.switch__text{display:flex;flex-direction:column;gap:.15rem}.switch__label{font-size:.92rem;font-weight:600}.switch__desc{font-size:.8rem;font-weight:500;color:var(--text-muted)}.filters-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.lead-message{white-space:pre-wrap;color:var(--text)}.site-key-secret{display:grid;gap:.5rem;background:#fff7ed;border-color:#fdba74}.site-key-secret code{padding:.5rem .75rem;border-radius:6px;background:#1e293b;color:#f8fafc;font-size:.9rem;word-break:break-all}.row-muted{color:#94a3b8}.website-category-field{display:grid;gap:.5rem}.website-category-field label,label.website-category-dialog{display:grid;gap:.35rem}.website-category-field-actions{display:flex;gap:.5rem;flex-wrap:wrap}.page-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:.85rem;margin-bottom:1.25rem}.page-kpi-card,button.page-kpi-card{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;text-align:left;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--text-muted);border-radius:12px;padding:.9rem 1rem;color:inherit;min-width:0;box-shadow:none;font:inherit}button.page-kpi-card{cursor:pointer}button.page-kpi-card:hover,.page-kpi-card.is-active{background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--border-strong)}.page-kpi-card--success,button.page-kpi-card--success{border-left-color:#16a34a}.page-kpi-card--warning,button.page-kpi-card--warning{border-left-color:#d97706}.page-kpi-card--danger,button.page-kpi-card--danger{border-left-color:#dc2626}.page-kpi-card--info,button.page-kpi-card--info{border-left-color:#2563eb}.page-kpi-card--muted,button.page-kpi-card--muted{border-left-color:#94a3b8}.page-kpi-label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.page-kpi-value{font-size:1.45rem;font-weight:700;color:var(--text);line-height:1.2}.page-kpi-card--success .page-kpi-value{color:#15803d}.page-kpi-card--warning .page-kpi-value{color:#b45309}.page-kpi-card--danger .page-kpi-value{color:#b91c1c}.page-kpi-card--info .page-kpi-value{color:#1d4ed8}.page-kpi-hint{font-size:.78rem;color:var(--text-muted)}.page-filters-card{margin-bottom:1.25rem}.page-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,168px),1fr));gap:.85rem 1rem;align-items:end}.page-filters label{display:flex;flex-direction:column;gap:.35rem;min-width:0;font-size:.82rem;font-weight:600;color:var(--text-secondary)}.page-filters__search{grid-column:1 / -1}.page-filters__actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.page-list-empty{margin:.75rem 0 0;color:var(--text-muted)}
