@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary: #f8f9fa;--bg-secondary: #ffffff;--bg-tertiary: #e9ecef;--accent-primary: #e6007e;--accent-secondary: #4a154b;--accent-success: #1e7e34;--accent-error: #bd2130;--accent-warning: #d39e00;--accent-lavender: #f3e8ff;--accent-palepink: #fce7f3;--accent-softviolet: #ede9fe;--accent-lavender-trans: rgba(243, 232, 255, .4);--accent-palepink-trans: rgba(252, 231, 243, .4);--accent-softviolet-trans: rgba(237, 233, 254, .4);--accent-magenta-trans: rgba(230, 0, 126, .05);--accent-purple-trans: rgba(74, 21, 75, .05);--text-main: #1f2937;--text-muted: #4b5563;--text-dim: #9ca3af;--border-color: #e5e7eb;--border-active: #e6007e;--glass-bg: rgba(255, 255, 255, .95);--glass-blur: blur(8px);--shadow-main: 0 4px 20px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .02);--shadow-glow: 0 0 20px rgba(230, 0, 126, .06);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-main);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;background-image:radial-gradient(at 0% 0%,rgba(230,0,126,.02) 0px,transparent 40%),radial-gradient(at 100% 100%,rgba(74,21,75,.02) 0px,transparent 40%);background-attachment:fixed}#root{display:flex;flex-direction:column;min-height:100vh;width:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulseLaser{0%{top:0%;opacity:1}50%{top:100%;opacity:1}to{top:0%;opacity:1}}.container{max-width:1400px;width:100%;margin:0 auto;padding:2rem 1.5rem;flex-grow:1;display:flex;flex-direction:column}.glass-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-main);transition:all .25s ease}.glass-card:hover{border-color:var(--accent-primary);box-shadow:0 10px 25px #00000012}.form-group{margin-bottom:1.25rem;position:relative}.form-label{display:block;font-size:.8rem;font-weight:700;margin-bottom:.4rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.form-input{width:100%;padding:.75rem .9rem;font-family:var(--font-sans);background:#fff;border:1px solid var(--border-color);border-radius:6px;color:var(--text-main);font-size:.9rem;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #e6007e1a;background:#fff}.input-password-wrapper{position:relative}.password-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.85rem;padding:.2rem;transition:color .2s ease}.password-toggle:hover{color:var(--text-main)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;font-family:var(--font-sans);font-size:.9rem;font-weight:600;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease;text-decoration:none;gap:.5rem}.btn-primary{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;box-shadow:0 3px 10px #e6007e26}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 5px 15px #e6007e40}.btn-secondary{background:#fff;color:var(--text-muted);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-primary);border-color:var(--text-dim);color:var(--text-main)}.btn-danger{background:#bd213014;color:var(--accent-error);border:1px solid rgba(189,33,48,.15)}.btn-danger:hover{background:#bd213026}.alert{padding:.8rem 1rem;border-radius:8px;margin-bottom:1.25rem;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:.75rem;animation:slideIn .2s ease}.alert-error{background:#bd21300d;border:1px solid rgba(189,33,48,.15);color:var(--accent-error)}.alert-success{background:#1e7e340d;border:1px solid rgba(30,126,52,.15);color:var(--accent-success)}.spinner{width:18px;height:18px;border:2px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:currentColor;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.header-nav{padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #00000005}.logo{font-weight:800;font-size:1.25rem;background:linear-gradient(135deg,var(--text-main),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:.5rem}.logo-icon{color:var(--accent-primary);font-size:1.5rem}.user-status{display:flex;align-items:center;gap:1rem}.role-badge-select{background:#e6007e0f;border:1px solid rgba(230,0,126,.2);color:var(--accent-primary);padding:.35rem .75rem;border-radius:6px;font-family:var(--font-sans);font-size:.8rem;font-weight:600;cursor:pointer;outline:none;transition:all .2s ease}.role-badge-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #e6007e1a}.table-container{width:100%;overflow-x:auto;border-radius:8px;border:1px solid var(--border-color);box-shadow:var(--shadow-main);background:var(--bg-secondary)}.industrial-table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}.industrial-table th{background:var(--bg-primary);color:var(--text-muted);font-weight:700;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.industrial-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);color:var(--text-main);vertical-align:middle}.industrial-table tr:last-child td{border-bottom:none}.industrial-table tr:hover td{background:var(--bg-primary)}.badge{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status-draft{background:#e9ecef;color:#495057;border:1px solid #ced4da}.status-review{background:#fff3cd;color:#856404;border:1px solid #ffeeba}.status-published{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-archived{background:#e2e3e5;color:#383d41;border:1px solid #d6d8db}.badge-ok{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.badge-nok{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.badge-retake{background:#fff3cd;color:#856404;border:1px solid #ffeeba}.dashboard-layout{display:grid;grid-template-columns:240px 1fr;gap:1.5rem;flex-grow:1}@media(max-width:850px){.dashboard-layout{grid-template-columns:1fr}}.sidebar-menu{display:flex;flex-direction:column;gap:.4rem}.menu-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;cursor:pointer;font-weight:600;color:var(--text-muted);transition:all .2s ease;background:none;border:none;width:100%;text-align:left;font-family:var(--font-sans);font-size:.85rem}.menu-item:hover{background:var(--bg-tertiary);color:var(--text-main)}.menu-item.active{background:#e6007e0f;color:var(--accent-primary);border-left:4px solid var(--accent-primary);border-radius:0 8px 8px 0;padding-left:.75rem}.workspace-split{display:grid;grid-template-columns:350px 1fr;gap:1.5rem;align-items:start}@media(max-width:1100px){.workspace-split{grid-template-columns:1fr}}.operator-device-bezel{width:100%;max-width:420px;margin:0 auto;border:10px solid #dee2e6;border-radius:24px;background:#fff;box-shadow:0 10px 35px #0000000f;overflow:hidden;position:relative;aspect-ratio:9 / 16;display:flex;flex-direction:column}.operator-device-screen{padding:1.25rem;display:flex;flex-direction:column;height:100%;overflow-y:auto;background:#fff}.ai-scan-overlay{position:relative;width:100%;height:180px;border-radius:8px;overflow:hidden;background:#f8f9fa;border:1px dashed var(--border-color)}.scan-laser{position:absolute;left:0;width:100%;height:4px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);box-shadow:0 0 10px var(--accent-primary);animation:pulseLaser 2.2s infinite linear}.scan-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90px;height:90px;border:2px dashed var(--accent-secondary);border-radius:6px}.console-code{font-family:Courier New,Courier,monospace;background:#1e1e1e;border:1px solid #333;border-radius:8px;padding:1rem;color:#a9ffaf;font-size:.8rem;white-space:pre-wrap;word-break:break-all;overflow-y:auto;max-height:350px}.method-badge{font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:3px;color:#fff;text-transform:uppercase;font-family:monospace}.method-get{background-color:#0d6efd}.method-post{background-color:#198754}.method-put{background-color:#ffc107;color:#212529}.method-delete{background-color:#dc3545}.sortable-item{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:.65rem .85rem;display:flex;align-items:center;justify-content:space-between;cursor:grab;transition:all .2s ease}.sortable-item:hover{border-color:var(--accent-primary);background:var(--bg-primary)}h1,h2{color:var(--text-main);letter-spacing:-.015em}h1:before,h2:before{content:"— ";color:var(--accent-primary);font-weight:800}.presentation-headline{font-size:1.6rem;font-weight:800;color:var(--text-main);margin-bottom:.5rem}.page-subtitle{font-size:.95rem;color:var(--accent-secondary);font-weight:500;margin-bottom:1.5rem;opacity:.85}.section-badge{display:inline-flex;align-items:center;background-color:var(--accent-purple-trans);color:var(--accent-secondary);border:1px solid rgba(74,21,75,.12);padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;width:fit-content}.section-badge-magenta{display:inline-flex;align-items:center;background-color:var(--accent-magenta-trans);color:var(--accent-primary);border:1px solid rgba(230,0,126,.12);padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;width:fit-content}.card-editor-row{background:var(--bg-primary);border:1px solid var(--border-color);transition:all .2s ease}.card-editor-row:hover{border-color:var(--accent-primary)}.highlight-magenta{color:var(--accent-primary)!important;font-weight:700}.footer-strip{background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));color:#fff;padding:.6rem 1.5rem;font-size:.75rem;font-weight:600;display:flex;justify-content:space-between;align-items:center;margin-top:auto;border-top:1px solid rgba(255,255,255,.1);letter-spacing:.02em}
