*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100vh;overflow-x:hidden}body{background:#050505;font-family:Inter,Arial,sans-serif}body{color:#e2e8f0;background:#0f172a;margin:0;font-family:Inter,Arial,sans-serif}.login-page{background:radial-gradient(circle at top,#38bdf82e,#0000 40%),#020617;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{background:#111827;border:1px solid #1e293b;border-radius:24px;width:100%;max-width:420px;padding:3rem;box-shadow:0 25px 50px #00000073}.login-card h1{text-align:center;color:#f8fafc;margin:0 0 1rem;font-size:2.5rem}.login-card p{text-align:center;color:#94a3b8;margin:0 0 2rem;line-height:1.6}.login-form{flex-direction:column;gap:1.5rem;display:flex}.auth-error{background:#dc262626;border:1px solid #f8717159;border-radius:14px;margin:0;padding:12px 16px;font-size:.95rem;color:#fecaca!important;text-align:center!important}.login-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-button{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:16px;padding:1rem;font-size:1rem;font-weight:700;transition:transform .2s,background .2s}.login-button:hover{background:#0369a1;transform:translateY(-1px)}.password-reset-button{color:#cbd5e1;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:16px;padding:1rem;font-size:.95rem;font-weight:600;transition:background .2s,color .2s,border-color .2s}.password-reset-button:hover{color:#f8fafc;background:#38bdf81f;border-color:#38bdf8}.password-reset-card{background:#0f172a;border:1px solid #1e293b;border-radius:18px;flex-direction:column;gap:1rem;margin-top:1rem;padding:1.5rem;display:flex}.password-reset-card h2{color:#f8fafc;margin:0;font-size:1.1rem}.layout-container{background:#020617;min-height:100vh;display:flex}.sidebar{background:#0f172a;border-right:1px solid #1e293b;flex-direction:column;justify-content:space-between;gap:32px;width:280px;padding:32px 20px;transition:padding .28s,background .28s,transform .3s;display:flex;overflow:hidden}.sidebar.desktop-menu-open{transform:none}.sidebar-header{min-width:240px}.mobile-menu-toggle{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:10px;margin-left:auto;padding:8px 12px;font-size:1.5rem;transition:all .2s;display:none}.mobile-menu-toggle:hover{color:#f8fafc;background:#38bdf81f}.sidebar-overlay{background:#020617d9}.sidebar-overlay-light{background:#0009}@media (width<=767px){.sidebar{z-index:1000;background:#0f172a;border-top:1px solid #1e293b;flex-direction:row;justify-content:space-around;align-items:center;width:100vw;height:64px;padding:0;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(0)}.sidebar-header,.sidebar-nav,.sidebar-footer,.sidebar-overlay,.mobile-menu-toggle,.sidebar-header-top,.sidebar-header p{display:none}.sidebar-link{color:#94a3b8;background:0 0;border:none;border-radius:8px;flex-direction:column;gap:2px;width:auto;padding:8px 12px;font-size:.8rem}.sidebar-link .sidebar-icon{font-size:1.2rem}.sidebar-link .sidebar-label{white-space:nowrap;font-size:.7rem}.sidebar-link.active{color:#fff;background:#0284c733}.app-container{padding-bottom:80px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.sidebar-bottom{z-index:1000;background:#0f172a;border-top:1px solid #1e293b;justify-content:space-around;align-items:center;width:100vw;height:64px;padding:0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000004d}.sidebar-bottom .sidebar-nav{justify-content:space-around;align-items:center;gap:0;width:100%;display:flex}.sidebar-bottom .sidebar-link{color:#94a3b8;background:0 0;border:none;border-radius:8px;flex-direction:column;gap:2px;width:auto;padding:8px 12px;font-size:.8rem}.sidebar-bottom .sidebar-link .sidebar-icon{font-size:1.2rem}.sidebar-bottom .sidebar-link .sidebar-label{white-space:nowrap;font-size:.7rem}.sidebar-bottom .sidebar-link.active{color:#fff;background:#0284c733}.app-container{padding-bottom:80px}@media (width>=768px) and (width<=1000px){.mobile-menu-toggle{display:block}.sidebar-header-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sidebar-header p{opacity:1;color:#94a3b8;margin:0;transition:opacity .2s,transform .2s;transform:translate(0)}.sidebar{z-index:1000;background:#0f172a;border-right:1px solid #1e293b;width:280px;height:100vh;padding:32px 20px;position:fixed;top:0;left:0;overflow-y:auto;transform:none;box-shadow:4px 0 20px #0000004d}.sidebar.tablet-menu-open{transform:none}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background:#020617d9;animation:.2s fadeIn;display:none;position:fixed;inset:0}.sidebar-overlay.active{display:block}.app-container{margin-left:280px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.sidebar-header h1{color:#f8fafc;white-space:nowrap;margin:0;font-size:1.5rem}.sidebar-header p{color:#94a3b8;opacity:1;white-space:nowrap;margin-top:8px;transition:opacity .2s,transform .2s;transform:translate(0)}.sidebar-nav{flex-direction:column;gap:12px;display:flex}.sidebar-link{color:#cbd5e1;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:14px;align-items:center;gap:14px;width:100%;padding:14px 18px;font-size:1rem;font-weight:600;transition:background .2s,color .2s,transform .2s,padding .28s;display:flex;overflow:hidden}.sidebar-icon{justify-content:center;align-items:center;min-width:28px;font-size:1.2rem;display:inline-flex}.sidebar-label{white-space:nowrap}.sidebar-link:hover{color:#f8fafc;background:#38bdf81f}.sidebar-link.active{color:#fff;background:#0284c7;box-shadow:0 10px 25px #0284c759}.sidebar-group{flex-direction:column;gap:8px;display:flex}.sidebar-submenu{border-left:1px solid #1e3a5f;flex-direction:column;gap:6px;margin-left:18px;padding-left:18px;display:flex}.sidebar-footer{border-top:1px solid #1e293b;margin-top:auto;padding-top:24px}.sidebar-account-link{background:#0f172ab3}.account-page{padding:32px}.account-card{color:#e2e8f0;background:linear-gradient(135deg,#111827,#0f172a);border:1px solid #1e293b;border-radius:20px;max-width:720px;padding:32px;box-shadow:0 12px 30px #0f172a59}.account-card h2{color:#f8fafc;margin-top:0;margin-bottom:16px}.account-card p{color:#94a3b8}.account-card ul{color:#cbd5e1;margin-top:20px;padding-left:20px}.account-user-info{background:#0f172ad9;border:1px solid #1e293b;border-radius:14px;justify-content:space-between;align-items:center;margin-top:28px;padding:18px;display:flex}.sidebar-sublink{color:#94a3b8;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;padding:10px 14px;transition:all .2s}.sidebar-sublink:hover{color:#e2e8f0;background:#38bdf814}.suppliers-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:24px;display:grid}.supplier-card{color:#e2e8f0;text-align:left;background:linear-gradient(135deg,#111827,#0f172a);border:1px solid #1e293b;border-radius:18px;grid-template-columns:1.5fr .9fr;gap:22px;padding:24px;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid}.supplier-card:hover{border-color:#38bdf8;transform:translateY(-2px);box-shadow:0 12px 30px #0284c72e}.supplier-card-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.supplier-card-header strong{color:#f8fafc;font-size:1.05rem}.supplier-card-header span{color:#cbd5e1;background:#1e293be6;border-radius:10px;padding:6px 10px;font-size:.85rem}.supplier-card p{color:#94a3b8;margin:0 0 18px}.supplier-card label{color:#38bdf8;font-size:.85rem}.supplier-contact-section{flex-direction:column;gap:18px;display:flex}.supplier-contact-box{background:#0f172abf;border:1px solid #1e293b;border-radius:16px;flex-direction:column;gap:12px;padding:18px;display:flex}.supplier-contact-box p{color:#cbd5e1;margin:0;line-height:1.5}.supplier-contact-box strong{color:#f8fafc}.supplier-stock-section{cursor:pointer;background:linear-gradient(135deg,#0e749040,#0f172af2);border:1px solid #38bdf840;border-radius:18px;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:24px;transition:all .2s;display:flex}.supplier-stock-section:hover{border-color:#38bdf8;transform:translateY(-1px)}.supplier-stock-section p{color:#e2e8f0;margin:0}.supplier-edit-button{color:#38bdf8;cursor:pointer;background:#0e74902e;border:1px solid #38bdf859;border-radius:10px;padding:8px 14px;font-size:.85rem}.supplier-edit-form{flex-direction:column;gap:16px;display:flex}.supplier-edit-form input{color:#f8fafc;background:#0f172a;border:1px solid #1e293b;border-radius:12px;padding:14px}.supplier-edit-modal{width:min(100%,520px)}@media (width<=900px){.supplier-card{grid-template-columns:1fr}}.sidebar-sublink.active{color:#38bdf8;background:#0284c733}.inventory-dashboard-page{flex-direction:column;gap:24px;width:100%;display:flex}.inventory-dashboard-topbar{align-items:center;gap:16px;display:flex}.inventory-topbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.inventory-dashboard-search{background:linear-gradient(135deg,#111827,#0f172a);border:1px solid #1e293b;border-radius:14px;flex:1;align-items:center;gap:12px;padding:14px 18px;display:flex}.inventory-dashboard-search input{color:#f8fafc;background:0 0;border:none;flex:1;font-size:1rem}.inventory-dashboard-search input:focus{outline:none}.scanner-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1d4ed8,#0284c7);border:1px solid #2563eb;border-radius:14px;padding:14px 18px;font-weight:700}.scanner-modal{width:min(640px,100vw - 40px);max-width:calc(100vw - 40px)}.scanner-content{flex-direction:column;gap:16px;display:flex}.scanner-video-wrapper{background:#0f172a;border:1px solid #94a3b84d;border-radius:18px;width:100%;padding-top:56.25%;position:relative;overflow:hidden}.scanner-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scanner-error{color:#fca5a5;margin:0;font-weight:600}.scanner-hint{color:#cbd5e1;margin:0;font-size:.95rem}.inventory-dashboard-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.dashboard-kpi-card{background:linear-gradient(135deg,#111827,#0f172a);border:1px solid #1e293b;border-radius:18px;flex-direction:column;gap:14px;padding:24px;display:flex}.dashboard-kpi-card span{color:#94a3b8}.dashboard-kpi-card strong{color:#f8fafc;font-size:2rem}.dashboard-kpi-card.warning strong{color:#f59e0b}.dashboard-kpi-card.danger strong{color:#ef4444}.dashboard-kpi-card.success strong{color:#22c55e}.inventory-dashboard-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.dashboard-panel{background:linear-gradient(135deg,#0f172a,#111827);border:1px solid #1e293b;border-radius:20px;overflow:hidden}.dashboard-panel-header{border-bottom:1px solid #1e293b;padding:20px 24px}.dashboard-panel-header h2{color:#dbeafe;margin:0;font-size:1.05rem}.dashboard-panel-content{flex-direction:column;display:flex}.dashboard-stock-alert,.dashboard-movement-item{border-bottom:1px solid #1e293be6;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.dashboard-stock-alert strong,.dashboard-movement-item strong{color:#f8fafc}.dashboard-stock-alert span,.dashboard-movement-item span{color:#64748b;margin-top:6px;font-size:.9rem;display:block}.dashboard-stock-status{align-items:center;gap:12px;display:flex}.stock-progress-bar{background:#1e293b;border-radius:999px;width:100px;height:8px;overflow:hidden}.stock-progress-bar div{background:linear-gradient(90deg,#f59e0b,#ef4444);height:100%}.dashboard-stock-status label{color:#fbbf24;background:#f59e0b24;border-radius:8px;padding:6px 10px;font-size:.8rem}.movement-value{color:#22c55e!important}.dashboard-empty-state{color:#94a3b8;padding:24px}.app-container{flex:1;justify-content:stretch;width:100%;min-height:100vh;padding:40px 20px;display:flex;overflow-y:auto}.calculator-card{background:#111827;border:1px solid #1e293b;border-radius:20px;width:100%;max-width:1200px;padding:32px;box-shadow:0 20px 40px #00000059}.calculator-card:has(.synoptic-page){max-width:100%}.card-header{margin-bottom:32px}.card-header h1{color:#f8fafc;margin:0 0 12px;font-size:clamp(2rem,4vw,3.2rem)}.card-header p{color:#94a3b8;max-width:700px;margin:0;line-height:1.6}.sludge-form{width:100%}.section-container{margin-bottom:56px}.section-header{margin-bottom:24px}.section-header h2{color:#f8fafc;margin:0}.polymer-header-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.section-header p{color:#94a3b8;margin:0;line-height:1.6}.form-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.form-group{flex-direction:column;gap:10px;display:flex}.form-group label{color:#cbd5e1;font-size:.95rem;font-weight:600}.tooltip-label{cursor:help;border-bottom:1px dashed #38bdf8;width:fit-content;position:relative}.tooltip-label:after{content:attr(data-tooltip);color:#e2e8f0;opacity:0;visibility:hidden;z-index:30;pointer-events:none;background:#0f172afa;border:1px solid #334155;border-radius:12px;width:260px;padding:12px 14px;font-size:.85rem;font-weight:400;line-height:1.5;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;bottom:calc(100% + 12px);left:0;transform:translateY(6px);box-shadow:0 10px 24px #00000059}.tooltip-label:before{content:"";opacity:0;visibility:hidden;z-index:31;border:8px solid #0000;border-top-color:#334155;transition:opacity .2s,visibility .2s;position:absolute;bottom:calc(100% + 4px);left:16px}.tooltip-label:hover:after,.tooltip-label:hover:before{opacity:1;visibility:visible;transform:translateY(0)}.form-group input,.form-group select,.modal-form input,.modal-form select,.modal-form textarea{color:#f8fafc;background:#0f172a;border:1px solid #334155;border-radius:16px;width:100%;padding:14px 16px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group select,.modal-form select{appearance:none;border-radius:16px;overflow:hidden}.form-group select option,.modal-form select option{color:#f8fafc;background:#111827;border-radius:12px}.form-group input:focus,.form-group select:focus,.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 3px #38bdf833}.custom-select{width:100%;position:relative}.custom-select-trigger{color:#f8fafc;cursor:pointer;background:#081225;border:1px solid #38bdf8;border-radius:18px;justify-content:space-between;align-items:center;width:100%;min-height:54px;padding:14px 18px;font-size:1rem;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.custom-select-trigger:hover{border-color:#0ea5e9}.custom-select-trigger.open{box-shadow:0 0 0 4px #38bdf82e}.custom-arrow{color:#7dd3fc;font-size:.8rem;transition:transform .2s}.custom-select-trigger.open .custom-arrow{transform:rotate(180deg)}.custom-options{z-index:50;background:#081225;border:1px solid #1e3a5f;border-radius:20px;flex-direction:column;gap:6px;width:100%;padding:10px;animation:.18s dropdownFade;display:flex;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 20px 40px #0006}.custom-option{color:#e2e8f0;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:14px;width:100%;padding:12px 14px;font-size:.95rem;transition:background .2s,transform .15s}.custom-option:hover{background:#38bdf826;transform:translate(2px)}.custom-option.selected{color:#fff;background:#2563eb}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.polymer-model-wrapper{flex-wrap:nowrap;align-items:flex-end;gap:12px;display:flex}.polymer-select-wrapper{flex:1}.polymer-select-wrapper .form-group{gap:0}.polymer-select-wrapper .form-group label{display:none}.info-tooltip{align-items:center;display:flex;position:relative}.info-button{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:12px;width:42px;height:42px;font-size:1.1rem;font-weight:700;transition:background .2s,transform .2s}.info-button:hover{background:#0ea5e9;transform:scale(1.05)}.success-popup{z-index:200;background:#0f172af5;border:1px solid #22c55e;border-radius:18px;align-items:center;gap:16px;padding:18px 22px;animation:.3s popupSlideIn;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 20px 40px #00000059}.success-popup-icon{background:#22c55e2e;border-radius:16px;justify-content:center;align-items:center;width:54px;height:54px;font-size:1.8rem;display:flex}.success-popup-content h3{color:#f8fafc;margin:0 0 4px;font-size:1rem}.success-popup-content p{color:#cbd5e1;margin:0;font-size:.95rem}@keyframes popupSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.new-reference-button{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:12px;padding:12px 18px;font-size:.95rem;font-weight:600;transition:background .2s,transform .2s}.new-reference-button:hover{background:#22c55e;transform:translateY(-1px)}.modal-overlay{z-index:100;background:#020617c7;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:#111827;border:1px solid #334155;border-radius:20px;width:100%;max-width:520px;max-height:90vh;padding:28px;overflow:hidden auto;box-shadow:0 20px 50px #00000073}.stock-movement-modal{width:min(680px,100vw - 40px);max-width:calc(100vw - 40px)}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h2{color:#f8fafc;margin:0}.close-modal-button{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:1.4rem;transition:color .2s,transform .2s}.close-modal-button:hover{color:#f8fafc;transform:scale(1.08)}.modal-form{flex-direction:column;gap:18px;display:flex}.inventory-edit-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px 20px;display:grid}.inventory-edit-form .inventory-create-button{white-space:nowrap;grid-column:1/-1;justify-self:center;min-width:280px;padding:14px 28px}.inventory-edit-modal{width:min(920px,100vw - 40px);max-width:calc(100vw - 40px);max-height:92vh;overflow:hidden}.save-reference-button{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:14px;padding:14px 20px;font-size:1rem;font-weight:700;transition:background .2s,transform .2s}.save-reference-button:hover{background:#0ea5e9;transform:translateY(-1px)}.polymer-actions{gap:10px;display:flex}.edit-button,.delete-button{color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 14px;font-size:.9rem;font-weight:600;transition:transform .2s,opacity .2s}.edit-button{background:#f59e0b}.edit-button:hover{opacity:.9;transform:translateY(-1px)}.delete-button{background:#dc2626}.delete-button:hover{opacity:.9;transform:translateY(-1px)}.polymer-info-card{opacity:0;visibility:hidden;z-index:20;background:#0f172afa;border:1px solid #334155;border-radius:14px;width:280px;padding:16px;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;top:52px;right:0;transform:translateY(8px);box-shadow:0 12px 30px #00000059}.info-tooltip:hover .polymer-info-card{opacity:1;visibility:visible;transform:translateY(0)}.polymer-info-card p{color:#cbd5e1;margin:0 0 10px;line-height:1.5}.polymer-info-card p:last-child{margin-bottom:0}.home-page{width:100%;max-width:1200px}.synoptic-page{flex-direction:column;gap:28px;width:100%;max-width:none;display:flex}.synoptic-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.synoptic-header h2{color:#f8fafc;margin:16px 0 10px;font-size:2.4rem}.synoptic-header p{color:#94a3b8;max-width:620px;margin:0;line-height:1.7}.synoptic-kpis{flex-wrap:wrap;gap:18px;display:flex}.synoptic-kpi{background:#111827;border:1px solid #1e293b;border-radius:18px;min-width:180px;padding:20px}.synoptic-kpi span{color:#94a3b8;margin-bottom:10px;display:block}.synoptic-kpi strong{color:#38bdf8;font-size:1.8rem}.synoptic-layout{flex-direction:column;gap:24px;width:100%;display:flex}.equipment-library{background:#111827;border:1px solid #1e293b;border-radius:24px;width:100%;padding:24px}.equipment-library .library-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.equipment-library h3{color:#f8fafc;margin-top:0}.equipment-library p{color:#94a3b8;line-height:1.6}.library-grid{gap:14px;margin-top:24px;display:grid}.library-item{color:#e2e8f0;cursor:grab;background:#081225e6;border:1px dashed #38bdf8;border-radius:16px;align-items:center;gap:12px;padding:16px;font-size:1rem;font-weight:600;transition:transform .2s,border-color .2s,background .2s;display:flex}.library-item:hover{background:#0ea5e91f;border-color:#0ea5e9;transform:translateY(-2px)}.synoptic-canvas{background:#0f172a;border:1px solid #1e293b;border-radius:28px;width:100%;height:78vh;min-height:620px;transition:min-height .25s,width .25s;position:relative;overflow:hidden}.full-width-canvas{width:calc(100vw - 380px);height:78vh;min-height:780px}.grid-overlay{pointer-events:none;z-index:0;background-image:linear-gradient(#38bdf829 1px,#0000 1px),linear-gradient(90deg,#38bdf829 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.grid-edit-mode{box-shadow:inset 0 0 0 1px #38bdf840,0 0 24px #38bdf814}.process-line{display:none}.connection-line{opacity:.7;background:#38bdf8;border-radius:999px;height:4px;position:absolute}.connection-svg{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.connection-path{fill:none;stroke:#38bdf8;stroke-width:4px;stroke-linecap:round;opacity:.9}.synoptic-node{z-index:2;background:#111827f5;border:1px solid #334155;border-radius:20px;align-items:flex-start;gap:14px;width:clamp(150px,16vw,180px);min-height:90px;padding:18px;display:flex;position:absolute;box-shadow:0 14px 30px #00000059}.node-icon{background:0 0;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.synoptic-node h4{color:#f8fafc;margin:0 0 8px}.synoptic-node p{color:#94a3b8;margin:0;font-size:.9rem}.node-anchor{cursor:crosshair;z-index:5;background:#0f172a;border:2px solid #38bdf8;border-radius:999px;width:16px;height:16px;transition:transform .2s,background .2s,box-shadow .2s;position:absolute;top:50%;transform:translateY(-50%)}.node-anchor:hover{background:#38bdf8;transform:translateY(-50%)scale(1.15);box-shadow:0 0 12px #38bdf8b3}.left-anchor{left:-9px}.right-anchor{right:-9px}.active-anchor{background:#22c55e;border-color:#4ade80;box-shadow:0 0 14px #4ade80bf}.selected-node{border-color:#38bdf8;box-shadow:0 0 0 1px #38bdf859,0 14px 30px #00000059}.dragging-node{opacity:1;cursor:grabbing}.drop-zone-label{color:#4ade80;background:#22c55e24;border-radius:999px;padding:10px 16px;font-size:.9rem;font-weight:700;position:absolute;bottom:24px;right:24px}.home-card{background:#111827;border:1px solid #1e293b;border-radius:24px;padding:36px;box-shadow:0 20px 40px #00000059}.status-badge{border-radius:999px;align-items:center;padding:8px 14px;display:inline-flex}.inventory-badge.success{color:#86efac;background:#22c55e26}.inventory-badge.danger{color:#fca5a5;background:#ef444426}.inventory-page{color:#1e293b;flex-direction:column;gap:28px;width:100%;display:flex}.inventory-table-light{border-collapse:separate;border-spacing:0 10px}.inventory-table-light thead th{color:#475569;background:#dfe3ea;border:none;font-size:.9rem;font-weight:700}.inventory-table-light tbody td{border-bottom:none;color:#475569!important;background:#f1f5f9!important}.inventory-table-light tbody tr:hover td{background:#e2e8f0!important}.inventory-table-light tbody tr:nth-child(odd) td,.inventory-table-light tbody tr:nth-child(2n) td{background:#f1f5f9!important}.inventory-table-light input{color:#64748b;background:#eef2f7;border:none}.inventory-table-light input::placeholder{color:#94a3b8}.inventory-range-fields{align-items:center;gap:8px;display:flex}.inventory-create-large{border-radius:12px;width:auto;min-width:260px;height:auto;padding:12px 18px;font-size:.95rem;line-height:1.2}.inventory-negative{font-weight:700;color:#ef4444!important}.inventory-positive{font-weight:700;color:#0f766e!important}.inventory-hero{background:linear-gradient(135deg,#0ea5e92e,#0f172af5);border:1px solid #38bdf829;border-radius:28px;justify-content:space-between;gap:28px;padding:36px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000059}.inventory-hero:before{content:"";filter:blur(20px);background:#38bdf81f;border-radius:50%;width:240px;height:240px;position:absolute;top:-80px;right:-80px}.inventory-eyebrow,.inventory-card-header span,.inventory-table-header span{color:#7dd3fc;letter-spacing:.04em;text-transform:uppercase;background:#38bdf81f;border:1px solid #38bdf82e;border-radius:999px;align-items:center;padding:8px 14px;font-size:.85rem;font-weight:700;display:inline-flex}.inventory-hero h1{color:#f8fafc;margin:18px 0 14px;font-size:clamp(2.5rem,5vw,4rem);line-height:1}.inventory-hero p{color:#cbd5e1;max-width:700px;font-size:1.02rem;line-height:1.8}.inventory-hero-panel{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020617b8;border:1px solid #94a3b829;border-radius:24px;min-width:320px;padding:28px;position:relative}.inventory-hero-panel span{color:#7dd3fc;text-transform:uppercase;letter-spacing:.08em;font-size:.9rem}.inventory-hero-panel strong{color:#f8fafc;margin:18px 0 12px;font-size:2rem;display:block}.inventory-hero-panel p{color:#94a3b8;margin:0}.inventory-stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;display:grid}.inventory-stat-card{background:linear-gradient(#111827,#0f172a);border:1px solid #1e293b;border-radius:24px;padding:28px;position:relative;overflow:hidden;box-shadow:0 18px 40px #00000038}.inventory-stat-card:after{content:"";background:#38bdf814;border-radius:50%;width:140px;height:140px;position:absolute;inset:auto -20px -40px auto}.inventory-stat-card span{z-index:1;color:#94a3b8;font-weight:600;position:relative}.inventory-stat-card strong{z-index:1;color:#f8fafc;margin-top:18px;font-size:2.8rem;display:block;position:relative}.inventory-stat-card.alert strong{color:#f87171}.inventory-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.inventory-card,.inventory-table-card{background:linear-gradient(145deg,#081225 0%,#0f172a 100%);border:1px solid #3b82f62e;border-radius:18px;padding:18px;box-shadow:0 12px 32px #02061773}.inventory-card-header,.inventory-table-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.inventory-card-header h2,.inventory-table-header h2{color:#f8fafc;margin:16px 0 0;font-size:1.35rem}.inventory-table-header span{color:#93c5fd;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;font-weight:700}.inventory-category-filters{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.inventory-category-filter{color:#94a3b8;cursor:pointer;white-space:nowrap;background:#0b1528;border:1px solid #94a3b859;border-radius:12px;justify-content:center;align-items:center;padding:8px 14px;font-size:.82rem;font-weight:600;transition:all .2s;display:inline-flex}.inventory-category-filter:hover{color:#e2e8f0;background:#38bdf81f;border-color:#38bdf8a6}.inventory-category-filter.active{color:#f8fafc;background:linear-gradient(135deg,#0ea5e9,#2563eb);border-color:#38bdf8d9;box-shadow:0 10px 24px #2563eb59}.inventory-table-wrapper{background:linear-gradient(#0b1120 0%,#0f172a 100%);border:1px solid #3b82f638;border-radius:22px;width:100%;max-width:100%;min-height:240px;padding:12px;overflow-x:auto;box-shadow:inset 0 1px #ffffff08,0 20px 40px #00000059}.inventory-table{border-collapse:separate;border-spacing:0;color:#f8fafc;background:0 0;width:100%;min-width:100%;overflow:hidden}.inventory-table thead th{z-index:2;text-align:left;white-space:nowrap;letter-spacing:.02em;border-bottom:1px solid #3b82f638;min-width:120px;padding:12px 14px;font-size:.95rem;font-weight:700;position:sticky;top:0;color:#f8fafc!important;background:#111c31!important}.inventory-table thead tr:first-child th:first-child{border-top-left-radius:14px}.inventory-table thead tr:first-child th:last-child{border-top-right-radius:14px}.inventory-table thead th:first-child,.inventory-table tbody td:first-child{width:52px;min-width:52px}.inventory-filter-row th{border-bottom:1px solid #3b82f61f;padding:10px;background:#0f172a!important}.inventory-filter-row input{box-sizing:border-box;border:1px solid #475569e6;border-radius:12px;width:100%;min-width:100%;height:38px;padding:10px 12px;font-size:.8rem;transition:border-color .2s,box-shadow .2s;display:block;color:#f8fafc!important;background:#020617!important}.inventory-filter-row input:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 3px #38bdf82e}.inventory-filter-row input::placeholder{color:#94a3b8}.inventory-create-button{cursor:pointer;color:#f8fafc;background:linear-gradient(135deg,#0ea5e9 0%,#2563eb 100%);border:none;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.1rem;font-weight:700;display:flex;box-shadow:0 8px 18px #2563eb59}.inventory-add-item-button{color:#f8fafc;cursor:pointer;background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:.95rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 24px #15803d59}.inventory-add-item-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #15803d73}.inventory-column-editor{z-index:20;background:#0f172a;border:1px solid #3b82f640;border-radius:16px;width:240px;max-height:360px;padding:16px;position:absolute;top:56px;right:0;overflow-y:auto;box-shadow:0 20px 40px #00000073}.inventory-column-option{color:#f8fafc;cursor:pointer;align-items:center;gap:10px;margin-bottom:10px;font-size:.9rem;display:flex}.inventory-column-option input{accent-color:#38bdf8}.inventory-table tbody tr{transition:background .2s}.inventory-table tbody tr:nth-child(odd) td{background:#081120!important}.inventory-table tbody tr:nth-child(2n) td{background:#0f1b31!important}.inventory-table tbody tr:hover td{background:#13294b!important}.inventory-table tbody td{white-space:normal;word-break:break-word;vertical-align:middle;border-bottom:1px solid #3341558c;padding:16px 14px;font-size:.92rem;transition:background .2s;color:#f1f5f9!important}.inventory-table tbody tr:last-child td:first-child{border-bottom-left-radius:14px}.inventory-table tbody tr:last-child td:last-child{border-bottom-right-radius:14px}.inventory-table tbody td:first-child{color:#64748b;width:48px}.inventory-category{color:#bfdbfe;background:linear-gradient(135deg,#2563eb40,#0ea5e92e);border:1px solid #60a5fa38;border-radius:999px;align-items:center;padding:6px 10px;font-size:.85rem;font-weight:500;display:inline-flex}.inventory-badge{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:6px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.inventory-badge.success{color:#86efac;background:#22c55e29;border-color:#22c55e38}.inventory-badge.danger{color:#fca5a5;background:#f8717129;border-color:#f871713d}.inventory-badge.warning{color:#fbbf24;background:#f59e0b29;border-color:#f59e0b3d}.inventory-badge.info{color:#c4b5fd;background:#8b5cf629;border-color:#8b5cf63d}.inventory-supplier-item{transition:transform .2s,border-color .2s,background .2s}.inventory-supplier-item:hover{background:#0f172a;border-color:#38bdf847;transform:translateY(-2px)}.assembly-grid{gap:24px;display:grid}.assembly-card{background:linear-gradient(145deg,#0b1224 0%,#0f172a 100%);border:1px solid #3b82f62e;border-radius:20px;padding:22px;box-shadow:0 16px 34px #02061773}.assembly-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.assembly-card-header h2{color:#f8fafc;margin:0;font-size:1.4rem}.assembly-card-header p{color:#94a3b8;margin:6px 0 0}.assembly-actions{gap:10px;display:flex}.assembly-description{color:#cbd5e1;margin:16px 0 0;line-height:1.6}.assembly-kpis{color:#e2e8f0;flex-wrap:wrap;gap:24px;margin-top:16px;display:flex}.assembly-kpis span{color:#94a3b8;font-size:.85rem;display:block}.assembly-kpis strong{color:#38bdf8;font-size:1.4rem}.assembly-components{gap:12px;margin-top:18px;display:grid}.assembly-component-summary{background:#0f172ab3;border:1px solid #33415599;border-radius:14px;grid-template-columns:1.2fr 1fr 1fr auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.assembly-component-summary strong{color:#f8fafc}.assembly-meta{color:#94a3b8;font-size:.85rem}.assembly-component-row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.assembly-components-form{flex-direction:column;gap:16px;display:flex}.assembly-section-title{color:#f8fafc;margin-bottom:10px;font-weight:700}.assembly-helper{color:#94a3b8;margin-top:6px;font-size:.8rem;display:block}.assembly-feasibility{border-top:1px dashed #94a3b84d;margin-top:20px;padding-top:16px}.assembly-feasibility-row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.assembly-feasibility-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:16px;display:grid}.assembly-feasibility-card{color:#e2e8f0;background:#0f172acc;border:1px solid #47556980;border-radius:14px;padding:14px 16px}.assembly-feasibility-card span{color:#94a3b8;font-size:.85rem;display:block}.assembly-feasibility-card strong{color:#38bdf8;font-size:1.6rem}.assembly-error{color:#fecaca;background:#f8717129;border:1px solid #f8717159;border-radius:12px;padding:12px 16px;font-weight:600}@media (width<=900px){.assembly-component-summary{text-align:left;grid-template-columns:1fr}.assembly-card-header{flex-direction:column;align-items:flex-start}.assembly-actions{justify-content:flex-start;width:100%}.inventory-hero{flex-direction:column}.inventory-hero-panel{min-width:auto}.inventory-table-card{padding:16px}.inventory-table{min-width:640px}.inventory-table-header{flex-direction:column;align-items:flex-start;gap:12px}.inventory-table tbody td,.inventory-table thead th{padding:14px 10px}}.inventory-supplier-list{flex-direction:column;gap:14px;display:flex}.inventory-supplier-item{background:#0f172acc;border:1px solid #1e293b;border-radius:18px;justify-content:space-between;align-items:center;padding:18px;display:flex}.inventory-supplier-item strong{color:#f8fafc}.inventory-supplier-item p{color:#94a3b8;margin:4px 0 0}.home-card p{color:#94a3b8;max-width:720px;line-height:1.7}.home-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:32px;display:grid}.stat-card{background:#0f172a;border:1px solid #1e293b;border-radius:18px;padding:24px}.stat-card span{color:#94a3b8;margin-bottom:12px;display:block}.stat-card strong{color:#38bdf8;font-size:2rem}.result-card{background:linear-gradient(135deg,#38bdf81f,#0ea5e90a);border:1px solid #38bdf840;border-radius:18px;margin-top:40px;padding:28px}.result-card h2{color:#bae6fd;margin-top:0;margin-bottom:18px}.dosage-value{color:#38bdf8;letter-spacing:-2px;margin-bottom:18px;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800}.diagnostic-text{color:#cbd5e1;margin:0;font-size:1rem;line-height:1.7}@media (width<=1000px){.calculator-card{padding:20px}.layout-container{flex-direction:column}.sidebar{border-bottom:1px solid #1e293b;border-right:none;width:100%;overflow:visible}.sidebar:hover{width:100%}.sidebar-header p{opacity:1;transform:translate(0)}.sidebar:not(:hover) .sidebar-link{text-align:center;padding-left:18px;padding-right:18px}.sidebar-nav{flex-direction:row}.sidebar-link{text-align:center;font-size:.85rem}.sidebar-label{display:none}.sidebar-icon{font-size:1.2rem}.app-container{padding:20px 12px}.synoptic-layout{display:block}.synoptic-canvas,.full-width-canvas{width:100%;min-height:720px;overflow-x:auto}.synoptic-node{width:140px;min-height:100px;padding:12px;font-size:.85rem}.node-icon{width:36px;height:36px;font-size:1.2rem}.synoptic-kpis{flex-wrap:wrap;justify-content:center;width:100%}.synoptic-kpi{flex:1;min-width:140px;margin-bottom:10px}.form-grid{grid-template-columns:1fr;gap:12px}.polymer-model-wrapper,.polymer-header-actions{flex-direction:column;align-items:stretch}.new-reference-button{width:100%;padding:10px 14px;font-size:.9rem}.polymer-actions{justify-content:space-between;width:100%}.edit-button,.delete-button{flex:1;padding:8px 10px;font-size:.85rem}.modal-card{padding:22px}.login-card{max-width:100%;padding:2rem}.login-form{gap:1rem}.form-group{margin-bottom:.75rem}.form-group input,.form-group select{padding:12px 14px;font-size:.95rem}.inventory-dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dashboard-kpi-card{padding:16px}.dashboard-kpi-card strong{font-size:1.5rem}.suppliers-grid{grid-template-columns:1fr}.supplier-card{padding:16px}.supplier-card h3{font-size:1.1rem}.account-card{max-width:100%;padding:20px}.account-header{flex-direction:column;align-items:flex-start;gap:12px}.theme-toggle-button{width:100%;padding:10px 14px;font-size:.9rem}.sidebar-footer{margin-top:auto;padding-top:16px}.sidebar-account-link{justify-content:center;width:100%}.sidebar-link.sidebar-account-link .sidebar-icon,.sidebar-link.sidebar-account-link .sidebar-label{margin:0 auto}.success-popup{width:calc(100vw - 48px);max-width:420px;left:50%;transform:translate(-50%)}.scanner-modal{width:calc(100vw - 40px);max-width:420px;left:50%;transform:translate(-50%)}.scanner-video-wrapper{margin:0 -12px}.minimap-container{width:180px;height:120px;bottom:1rem;right:1rem}.minimap-canvas{width:180px;height:120px}.legend{flex-direction:column;align-items:flex-start;gap:6px;padding:8px 12px;font-size:.8rem}.legend-item{flex-direction:row;gap:6px}.legend-color{width:12px;height:12px}.zoom-controls{gap:6px;bottom:1.5rem;left:1rem}.zoom-button{width:36px;height:36px;font-size:1rem}.connection-path{stroke-width:2px}.node-anchor{border-width:1px;width:14px;height:14px}.left-anchor{left:-7px}.right-anchor{right:-7px}.synoptic-node.selected-node{box-shadow:0 0 0 2px #38bdf8}.synoptic-node.dragging-node{opacity:.7}.node-icon-container{width:36px;height:36px;font-size:1.2rem}.node-content{margin-left:8px}.node-title{font-size:.95rem}.node-subtitle{font-size:.8rem}.node-health{padding:3px 6px;font-size:.75rem}.node-stats{gap:6px;margin-top:6px}.node-stat{padding:2px 6px;font-size:.7rem}.node-maintenance{margin-top:4px;padding:3px 6px;font-size:.7rem}.node-maintenance-dot{width:6px;height:6px}.node-actions{gap:4px;margin-top:4px}.node-action{width:24px;height:24px;font-size:.7rem}.node-connection{width:14px;height:14px;position:absolute;top:50%;transform:translateY(-50%)}.left-connection{left:-7px}.right-connection{right:-7px}.left-connection:before,.right-connection:before{content:"";background:#38bdf8;border:1px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.node-connection:hover:before{background:#0ea5e9;box-shadow:0 0 8px #0ea5e9cc}.node-connection.active:before{background:#22c55e;box-shadow:0 0 12px #22c55ecc}.node-connection:active{transform:translateY(-50%)scale(1.1)}.node-context-menu{z-index:100;background:#0f172a;border:1px solid #1e293b;border-radius:8px;min-width:160px;padding:6px 0;position:fixed;box-shadow:0 4px 12px #0006}.context-menu-item{padding:8px 12px;font-size:.85rem}.context-menu-item:hover{background:#38bdf81f}.context-menu-item-danger{color:#fca5a5}.context-menu-item-danger:hover{background:#ef44441f}.node-resize-handle{background:#38bdf8;border:1px solid #fff;border-radius:2px;width:10px;height:10px;box-shadow:0 0 6px #38bdf899}.node-resize-handle:hover{background:#0ea5e9;box-shadow:0 0 8px #0ea5e9cc}.node-resize-handle:active{background:#0284c7;box-shadow:0 0 10px #0284c7e6}.node-resize-handle.nw{cursor:nw-resize;top:-5px;left:-5px}.node-resize-handle.ne{cursor:ne-resize;top:-5px;right:-5px}.node-resize-handle.sw{cursor:sw-resize;bottom:-5px;left:-5px}.node-resize-handle.se{cursor:se-resize;bottom:-5px;right:-5px}.node-warning{color:#fff;background:#f59e0b;border-radius:50%;width:20px;height:20px;font-size:.7rem;font-weight:700;top:-8px;right:-8px;box-shadow:0 2px 6px #f59e0b66}.node-warning:hover{background:#fbbf24;box-shadow:0 3px 8px #fbbf2499}.node-warning-dot{background:#f59e0b;border-radius:50%;width:8px;height:8px;box-shadow:0 0 4px #f59e0b66}.node-warning-text{white-space:nowrap;background:#f59e0b26;border:1px solid #f59e0b59;border-radius:6px;padding:4px 8px;font-size:.7rem;top:-24px;right:24px}.node-status-indicator{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status-running{background:#22c55e;box-shadow:0 0 6px #22c55e99}.status-alert{background:#f59e0b;box-shadow:0 0 6px #f59e0b99}.status-failure{background:#ef4444;box-shadow:0 0 6px #ef444499}.status-inactive{background:#6b7280;box-shadow:0 0 6px #6b728099}.status-manual{background:#3b82f6;box-shadow:0 0 6px #3b82f699}.node-tooltip{z-index:50;word-wrap:break-word;background:#0f172af2;border:1px solid #1e293b;border-radius:8px;max-width:200px;padding:8px 12px;font-size:.8rem;position:absolute;box-shadow:0 4px 12px #0006}.node-tooltip-title{color:#f8fafc;margin-bottom:4px;font-weight:700}.node-tooltip-content{color:#cbd5e1;line-height:1.4}}.logout-button{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:10px;width:100%;margin-top:24px;padding:12px 16px;font-size:1rem;font-weight:600;transition:all .2s}.layout-container-light,.sidebar-light,.sidebar-footer-light,.account-page-light,.account-card-light,.login-page-light,.login-card-light{--light-background:#f8fafc;--light-background-panel:#fff;--light-border:#e2e8f0;--light-text:#1e293b;--light-text-muted:#64748b;--light-accent:#0284c7}.layout-container-light{background:var(--light-background);color:var(--light-text)}.layout-container-light .sidebar{background:var(--light-background-panel);border-right:1px solid var(--light-border)}.layout-container-light .sidebar-header h1{color:var(--light-text)}.layout-container-light .sidebar-header p{color:var(--light-text-muted)}.layout-container-light .sidebar-nav .sidebar-link{color:var(--light-text)}.layout-container-light .sidebar-nav .sidebar-link:hover{color:var(--light-text);background:#0284c71a}.layout-container-light .sidebar-nav .sidebar-link.active{background:var(--light-accent);color:#fff;box-shadow:0 10px 25px #0284c759}.layout-container-light .sidebar-nav .sidebar-sublink{color:var(--light-text-muted)}.layout-container-light .sidebar-nav .sidebar-sublink:hover{color:var(--light-text);background:#38bdf81a}.layout-container-light .sidebar-nav .sidebar-sublink.active{color:var(--light-accent);background:#0284c733}.layout-container-light .sidebar-footer{border-top:1px solid var(--light-border)}.layout-container-light .account-page{color:var(--light-text)}.layout-container-light .account-card{background:linear-gradient(135deg, var(--light-background-panel), var(--light-background));border:1px solid var(--light-border);color:var(--light-text)}.layout-container-light .account-card h2{color:var(--light-text)}.layout-container-light .account-card p{color:var(--light-text-muted)}.layout-container-light .account-card ul{color:var(--light-text)}.layout-container-light .account-user-info{border:1px solid var(--light-border);color:var(--light-text);background:#f1f5f9cc}.layout-container-light .account-user-info strong{color:var(--light-text)}.layout-container-light .login-page{background:radial-gradient(circle at top, #38bdf833, transparent 40%), var(--light-background)}.layout-container-light .login-card{background:var(--light-background-panel);border:1px solid var(--light-border);box-shadow:0 25px 50px #00000026}.layout-container-light .login-card h1{color:var(--light-text)}.layout-container-light .login-card p{color:var(--light-text-muted)}.layout-container-light .login-form{flex-direction:column;gap:1.5rem;display:flex}.layout-container-light .form-group label{color:var(--light-text)}.layout-container-light .auth-error{background:#ef44441a;border:1px solid #f8717140;color:var(--light-accent)!important}.layout-container-light .login-button{background:var(--light-accent);color:#fff}.layout-container-light .login-button:hover{background:#0284c7e6}.layout-container-light .password-reset-button{border-color:var(--light-text-muted);color:var(--light-text);background:0 0}.layout-container-light .password-reset-button:hover{color:var(--light-text);border-color:var(--light-accent);background:#0284c71a}.layout-container-light .password-reset-card{background:var(--light-background);border:1px solid var(--light-border)}.layout-container-light .password-reset-card h2{color:var(--light-text)}.layout-container-light .password-reset-card p{color:var(--light-text-muted)}.layout-container-light .modal-overlay{background:#0006}.layout-container-light .modal-card{background:var(--light-background-panel);border:1px solid var(--light-border);box-shadow:0 20px 50px #0000004d}.layout-container-light .modal-header h2{color:var(--light-text)}.layout-container-light .close-modal-button{color:var(--light-text-muted)}.layout-container-light .close-modal-button:hover{color:var(--light-text)}.layout-container-light .modal-form input,.layout-container-light .modal-form select,.layout-container-light .modal-form textarea{background:var(--light-background);border:1px solid var(--light-border);color:var(--light-text)}.layout-container-light .modal-form input:focus,.layout-container-light .modal-form select:focus,.layout-container-light .modal-form textarea:focus{border-color:var(--light-accent);box-shadow:0 0 0 3px #0284c726}.layout-container-light .account-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.layout-container-light .theme-toggle-button{color:var(--light-accent);cursor:pointer;white-space:nowrap;background:#0284c726;border:none;border-radius:12px;padding:12px 20px;font-size:.95rem;font-weight:600;transition:all .2s}.layout-container-light .theme-toggle-button:hover{background:#0284c740;transform:translateY(-1px)}.layout-container-light,.login-page-light,.account-page-light{transition:background-color .3s,color .3s}.logout-button:hover{background:#b91c1c;transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.logout-button:active{transform:translateY(0)}:root{--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-200:#93c5fd;--primary-300:#60a5fa;--primary-400:#3b82f6;--primary-500:#2563eb;--primary-600:#1e40af;--primary-700:#1e3a8a;--primary-800:#1e2e7e;--primary-900:#172554;--secondary-50:#f8fafc;--secondary-100:#f1f5f9;--secondary-200:#e2e8f0;--secondary-300:#cbd5e1;--secondary-400:#94a3b8;--secondary-500:#64748b;--secondary-600:#475569;--secondary-700:#334155;--secondary-800:#1e293b;--secondary-900:#0f172a;--success-50:#f0fdf4;--success-100:#dcfce7;--success-200:#bbf7d0;--success-300:#86efac;--success-400:#4ade80;--success-500:#22c55e;--success-600:#16a34a;--success-700:#15803d;--success-800:#166534;--success-900:#14532b;--warning-50:#fffbeb;--warning-100:#fef3c7;--warning-200:#fde68a;--warning-300:#fcd34d;--warning-400:#fbbf24;--warning-500:#f59e0b;--warning-600:#d97706;--warning-700:#b45309;--warning-800:#92400e;--warning-900:#78350f;--danger-50:#fef2f2;--danger-100:#fee2e2;--danger-200:#fecaca;--danger-300:#fca5a5;--danger-400:#f87171;--danger-500:#ef4444;--danger-600:#dc2626;--danger-700:#b91c1c;--danger-800:#991b1b;--danger-900:#7f1d1d;--info-50:#f0f9ff;--info-100:#e0f2fe;--info-200:#bae6fd;--info-300:#7dd3fc;--info-400:#38bdf8;--info-500:#0ea5e9;--info-600:#0284c7;--info-700:#0369a1;--info-800:#075985;--info-900:#0c4a6e;--background-primary:var(--secondary-900);--background-secondary:var(--secondary-800);--background-tertiary:var(--secondary-700);--background-hover:var(--secondary-600);--background-active:var(--secondary-500);--surface-primary:var(--secondary-800);--surface-secondary:var(--secondary-700);--surface-tertiary:var(--secondary-600);--surface-hover:var(--secondary-500);--border-primary:var(--secondary-600);--border-secondary:var(--secondary-500);--border-tertiary:var(--secondary-400);--text-primary:var(--secondary-50);--text-secondary:var(--secondary-300);--text-tertiary:var(--secondary-400);--text-muted:var(--secondary-500);--accent-primary:var(--primary-500);--accent-secondary:var(--info-500);--accent-tertiary:var(--success-500);--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 6px #00000026;--shadow-lg:0 10px 15px #0003;--shadow-xl:0 20px 25px #00000040;--shadow-2xl:0 25px 50px #0000004d;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--line-height-loose:2;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--z-hidden:-1;--z-base:0;--z-dropdown:10;--z-sticky:20;--z-fixed:30;--z-modal:40;--z-popover:50;--z-tooltip:60;--z-notification:70;--z-toast:80}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--background-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary);margin:0 0 var(--space-4) 0}.h1{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold)}.h2{font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold)}.h3{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold)}.h4{font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium)}.h5{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium)}.h6{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.text-xs{font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.text-base{font-size:var(--font-size-base);line-height:var(--line-height-normal)}.text-lg{font-size:var(--font-size-lg);line-height:var(--line-height-normal)}.text-xl{font-size:var(--font-size-xl);line-height:var(--line-height-normal)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success-500)}.text-warning{color:var(--warning-500)}.text-danger{color:var(--danger-500)}.text-info{color:var(--info-500)}.text-white{color:var(--secondary-50)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.btn-primary{background:linear-gradient(135deg, var(--primary-600), var(--primary-500));color:var(--secondary-50);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:linear-gradient(135deg, var(--primary-700), var(--primary-600));box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{box-shadow:var(--shadow-xs);transform:translateY(0)}.btn-secondary{background:var(--surface-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-secondary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-success{background:linear-gradient(135deg, var(--success-600), var(--success-500));color:var(--secondary-50);box-shadow:var(--shadow-sm)}.btn-success:hover{background:linear-gradient(135deg, var(--success-700), var(--success-600));box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg, var(--danger-600), var(--danger-500));color:var(--secondary-50);box-shadow:var(--shadow-sm)}.btn-danger:hover{background:linear-gradient(135deg, var(--danger-700), var(--danger-600));box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-outline{color:var(--accent-primary);border:1px solid var(--accent-primary);background:0 0}.btn-outline:hover{background:#2563eb1a;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.card{background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all .2s;overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-secondary)}.card-header{padding:var(--space-6);border-bottom:1px solid var(--border-primary);background:var(--surface-secondary)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-6);border-top:1px solid var(--border-primary);background:var(--surface-secondary)}.kpi-card{background:linear-gradient(135deg, var(--surface-primary), var(--surface-secondary));border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-6);cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.kpi-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-primary);transform:translateY(-2px)}.kpi-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#2563eb1a,#0000 70%);border-radius:50%;width:100px;height:100px;position:absolute;top:0;right:0}.kpi-card.warning{border-left:4px solid var(--warning-500)}.kpi-card.danger{border-left:4px solid var(--danger-500)}.kpi-card.success{border-left:4px solid var(--success-500)}.kpi-card.info{border-left:4px solid var(--info-500)}.kpi-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.kpi-label{font-size:var(--font-size-sm);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.kpi-change{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:inline-flex}.kpi-change.positive{color:var(--success-500)}.kpi-change.negative{color:var(--danger-500)}.table-container{background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden}.table{border-collapse:collapse;width:100%;color:var(--text-primary)}.table th{background:var(--surface-secondary);padding:var(--space-4) var(--space-6);text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);border-bottom:1px solid var(--border-primary);z-index:var(--z-sticky);white-space:nowrap;position:sticky;top:0}.table td{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-tertiary);font-size:var(--font-size-sm)}.table tbody tr{transition:background-color .15s}.table tbody tr:hover{background:var(--surface-hover)}.table tbody tr.selected{border-left:3px solid var(--accent-primary);background:#2563eb1a}.table td.numeric{font-variant-numeric:tabular-nums}.badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;align-items:center;display:inline-flex}.badge-success{color:var(--success-400);background:#22c55e26;border:1px solid #22c55e40}.badge-warning{color:var(--warning-400);background:#f59e0b26;border:1px solid #f59e0b40}.badge-danger{color:var(--danger-400);background:#ef444426;border:1px solid #ef444440}.badge-info{color:var(--info-400);background:#0ea5e926;border:1px solid #0ea5e940}.badge-secondary{color:var(--secondary-400);background:#6b728026;border:1px solid #6b728040}.alert{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);margin-bottom:var(--space-4);align-items:flex-start;gap:var(--space-3);border-left:4px solid;display:flex}.alert-info{border-color:var(--info-500);color:var(--info-400);background:#0ea5e91a}.alert-warning{border-color:var(--warning-500);color:var(--warning-400);background:#f59e0b1a}.alert-danger{border-color:var(--danger-500);color:var(--danger-400);background:#ef44441a}.alert-success{border-color:var(--success-500);color:var(--success-400);background:#22c55e1a}.form-group{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.form-control{padding:var(--space-3) var(--space-4);border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--surface-primary);color:var(--text-primary);font-size:var(--font-size-sm);transition:all .2s}.form-control:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-control::placeholder{color:var(--text-muted)}.grid{gap:var(--space-6);display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.p-0{padding:var(--space-0)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.m-0{margin:var(--space-0)}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:.3s ease-out fadeIn}.slide-in-right{animation:.3s ease-out slideInRight}.pulse{animation:2s ease-in-out infinite pulse}@media (width<=1536px){html{font-size:14px}.container{max-width:1280px}}@media (width<=1280px){html{font-size:13px}.container{max-width:1024px}.grid-cols-4{grid-template-columns:repeat(3,1fr)}.grid-cols-6{grid-template-columns:repeat(4,1fr)}}@media (width<=1024px){html{font-size:12px}.container{max-width:768px}.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){html{font-size:11px}.container{max-width:100%;padding:0 var(--space-4)}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(1,1fr)}.grid-cols-6{grid-template-columns:repeat(2,1fr)}.kpi-card{padding:var(--space-4)}.kpi-value{font-size:var(--font-size-2xl)}.table th,.table td{padding:var(--space-3) var(--space-4)}}@media (width<=480px){html{font-size:10px}.grid-cols-6{grid-template-columns:repeat(1,1fr)}.card-header,.card-body,.card-footer{padding:var(--space-4)}.btn{padding:var(--space-2) var(--space-4)}}@media (prefers-contrast:high){:root{--shadow-xs:0 1px 2px #000c;--shadow-sm:0 1px 3px #000c;--shadow-md:0 4px 6px #000c;--shadow-lg:0 10px 15px #000c;--shadow-xl:0 20px 25px #000c}.card,.kpi-card,.table-container,.btn,.badge{border-width:2px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}
