:root{--bg: #0b1220;--panel: rgba(255,255,255,.06);--panel2: rgba(255,255,255,.08);--border: rgba(255,255,255,.1);--text: rgba(255,255,255,.92);--muted: rgba(255,255,255,.65);--accent: #6ee7ff;--accent2: #8b5cf6;--shadow: 0 18px 60px rgba(0,0,0,.35);--radius-sm: 10px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 18px;--radius-pill: 999px;--panel-gradient: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));--panel-gradient-soft: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));--accent-gradient: linear-gradient(135deg, rgba(110,231,255,.2), rgba(139,92,246,.18));--accent-gradient-hover: linear-gradient(135deg, rgba(110,231,255,.28), rgba(139,92,246,.22));--focus-ring: 0 0 0 3px rgba(110,231,255,.14);--btn-shadow: 0 10px 26px rgba(0,0,0,.18)}*{box-sizing:border-box}:root{--bg: #0b1c2d;--text: #e8eef7;--muted: rgba(255,255,255,.72);--bg-grad-1: rgba(110,231,255,.16);--bg-grad-2: rgba(139,92,246,.16);--bg-grad-3: rgba(34,211,238,.09)}html,body{margin:0;padding:0}html{touch-action:manipulation;-ms-touch-action:manipulation;-webkit-text-size-adjust:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);min-height:100vh;min-height:100svh;overflow-x:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:var(--bg)}body:before{content:"";position:fixed;inset:0;z-index:-2;background:var(--bg)}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1100px 650px at 12% 12%,var(--bg-grad-1),transparent 58%),radial-gradient(950px 600px at 85% 16%,var(--bg-grad-2),transparent 58%),radial-gradient(900px 650px at 50% 92%,var(--bg-grad-3),transparent 58%)}a{color:inherit;text-decoration:none}.muted{color:var(--muted)}.mutedcell{color:#ffffffa6}.toastmount{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:grid;gap:10px;z-index:9999}.toast{padding:10px 14px;border-radius:12px;background:#141414eb;color:#fff;font-size:14px;box-shadow:0 8px 22px #00000040}.shell{max-width:1600px;width:100%;margin:0 auto;padding:18px;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right));padding-bottom:max(18px,env(safe-area-inset-bottom))}.main{padding:18px 2px 10px}.footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:14px 6px}.err{border:1px solid rgba(255,255,255,.12);background:#dc26261f;color:#ffffffeb;padding:12px 14px;border-radius:14px}#app{overflow-x:clip;position:relative;z-index:1}@supports not (overflow: clip){#app{overflow-x:hidden}}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-main{flex:1}.header-wrap{position:sticky;top:0;z-index:50;padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));background:var(--bg)}.header-wrap .topbar{position:relative;top:0}.topbar{position:relative;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:14px 20px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));border:1px solid var(--border);border-radius:var(--radius-lg);background:#080c16a6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow);transform:translateZ(0);-webkit-transform:translateZ(0)}.brand{display:flex;align-items:center;justify-content:flex-start}.logo{display:block;height:90px;width:auto;object-fit:contain;padding:0}.nav{display:flex;gap:8px;flex-wrap:nowrap;justify-content:center}.navlink{padding:9px 16px;border:1px solid var(--border);border-radius:var(--radius-pill);background:#ffffff0a;white-space:nowrap;font-size:14px;font-weight:500;transition:background .12s ease,border-color .12s ease}.navlink:hover{background:#ffffff14;border-color:#ffffff24}.user-section{display:flex;justify-content:flex-end;align-items:center;position:relative}.user-avatar{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffff0a;cursor:pointer;transition:background .12s ease,border-color .12s ease}.user-avatar:hover{background:#ffffff14;border-color:#ffffff24}.avatar-circle{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#6ee7ff2e,#8b5cf629);border:2px solid rgba(110,231,255,.3);display:flex;align-items:center;justify-content:center}.avatar-icon{width:24px;height:24px;color:#ffffffe6}.user-name{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap}.user-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:180px;background:#080c16f2;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:none;z-index:100}.user-section.is-open .user-menu{display:grid;gap:2px}.user-menu__email{display:flex;align-items:center;gap:8px;padding:6px 10px 4px;font-size:12px;color:#ffffffb3;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:2px;word-break:break-all}.user-menu__email-icon{width:14px;height:14px;color:#ffffffa6}.user-menu__item{appearance:none;border:0;background:transparent;color:var(--text);padding:8px 10px;border-radius:8px;font:inherit;text-align:left;cursor:pointer}.user-menu__item:hover{background:#ffffff14}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;box-shadow:none;transition:background .12s ease,box-shadow .12s ease,transform 80ms ease}.btn:hover{background:#ffffff1a}.btn:focus{outline:none;border-color:#6ee7ff73;box-shadow:var(--focus-ring)}.btn.pill{border-radius:var(--radius-pill)}.btn.small{padding:9px 12px;border-radius:var(--radius-pill)}.btn.primary,.btn.accent{border:1px solid rgba(110,231,255,.4);background:var(--accent-gradient)}.btn.primary:hover,.btn.accent:hover{background:var(--accent-gradient-hover)}.btn.success{border:1px solid rgba(34,197,94,.45);background:#22c55e40;color:#eafff3}.btn.success:hover{background:#22c55e59;border-color:#22c55e99}.btn.danger{border:1px solid rgba(255,0,0,.26);background:#ff000029;color:#fff}.btn.danger:hover{background:#ff000038;border-color:#ff000052}.btn.danger:active{background:#ff000042;border-color:#ff000061}.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff0d;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;padding:0;transition:transform 80ms ease,filter .12s ease,background .12s ease}.iconbtn:hover{background:#ffffff14}.iconbtn:active{transform:translateY(1px)}.iconbtn .icon{font-size:16px;line-height:1}.svgicon{width:16px;height:16px;display:block}.iconbtn.small{width:28px;height:28px}.iconbtn.danger{background:#ff000029;color:#fff;border-color:#ff000042}.iconbtn.danger:hover{background:#ff000038;border-color:#ff000052}.iconbtn.danger:active{background:#ff000042;border-color:#ff000061}.input,.select{width:100%;min-width:0;height:48px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#0003;color:#ffffffeb;outline:none}.input::placeholder{color:#ffffff73}.has-autocomplete{position:relative}.autocomplete-menu{position:absolute;z-index:20;left:0;right:0;margin-top:6px;background:#0b0f17;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 12px 30px #00000059;max-height:240px;overflow:auto;display:none}.autocomplete-menu.is-floating{position:fixed;left:0;right:auto;max-height:none;overflow:hidden;z-index:40}.autocomplete-menu.is-floating .autocomplete-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-item{padding:10px 12px;cursor:pointer;color:#ffffffe6}.autocomplete-muted{color:#ffffff8c;font-size:12px}.autocomplete-sub{margin-top:2px;font-size:11px;color:#ffffff8c}.autocomplete-item:hover,.autocomplete-item.is-active{background:#ffffff0f}.input:focus,.select:focus{border-color:#78aaff8c;box-shadow:0 0 0 3px #78aaff26}.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.70)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.select option{background:#0b0f17;color:#ffffffeb}.select option:disabled{color:#ffffff73}.input[type=file]{height:48px;padding:0 12px;display:flex;align-items:center;line-height:48px}.input[type=file]::file-selector-button{height:20px;margin-right:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#ffffffe6;border-radius:10px;padding:0 14px;font-size:14px;font-weight:500;cursor:pointer;vertical-align:middle}.input[type=file]::file-selector-button:hover{background:#ffffff1a}.inputgroup{display:flex;align-items:stretch;width:100%;gap:10px}.inputgroup>.input{flex:1}.inputgroup>.suffix{min-width:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#ffffffb3;font-weight:600;-webkit-user-select:none;user-select:none}.inputgroup.join{gap:0;border-radius:14px}.inputgroup.join>.input{height:48px;border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}.inputgroup.join>.suffix{height:48px;box-sizing:border-box;padding:0 14px;border-left:0;border-radius:0 14px 14px 0;line-height:1}.rememberlabel{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#ffffffb3;cursor:pointer;-webkit-user-select:none;user-select:none}.rememberlabel input[type=checkbox]{width:16px;height:16px;accent-color:#0066cc;cursor:pointer}.checkboxgroup{display:flex;gap:10px;flex-wrap:nowrap}.checkboxpill{display:inline-flex;flex-direction:row;align-items:center;gap:.5rem;padding:10px 20px;height:48px;box-sizing:border-box;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#0003;color:#ffffffb3;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;font-size:.95rem;white-space:nowrap}.checkboxpill:hover{border-color:#78aaff59;background:#00000040}.checkboxpill input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0;appearance:none;-webkit-appearance:none;-moz-appearance:none;margin:0;padding:2px;border:2px solid rgba(255,255,255,.4);border-radius:4px;background:transparent;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.checkboxpill input[type=checkbox]:hover{border-color:#78aaff8c}.checkboxpill input[type=checkbox]:checked{border-color:#08f;background:#08f}.checkboxpill input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:12px;font-weight:700;line-height:1}.checkboxpill span{display:inline-flex;align-items:center;line-height:1;white-space:nowrap}.checkboxpill input[type=checkbox]:checked+span{color:#ffffffeb;font-weight:500}.checkboxpill:has(input[type=checkbox]:checked){border-color:#78aaff8c;background:#0066cc1f;color:#ffffffeb}.modalbackdrop{position:fixed;inset:0;background:#0000008c;backdrop-filter:none;-webkit-backdrop-filter:none;display:flex;align-items:center;justify-content:center;padding:18px;z-index:1000;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modalportal{position:fixed;inset:0;z-index:1000;pointer-events:none}.modalportal .modalbackdrop{pointer-events:auto}body.has-modal-open{overflow:hidden}.modal{width:min(780px,100%);max-width:100%;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#0a0e18db;box-shadow:0 28px 90px #0000008c;max-height:calc(100dvh - 36px);display:flex;flex-direction:column;overflow:hidden}.modalhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff08;flex:0 0 auto}.modaltitle{font-weight:800;letter-spacing:-.2px}.xbtn{height:36px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#ffffffeb;cursor:pointer}.xbtn:hover{background:#ffffff14}.modalbody{padding:16px 16px 18px;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.modalftr{display:flex;justify-content:flex-end;gap:10px;padding:14px 16px;border-top:1px solid rgba(255,255,255,.1);background:#ffffff05;flex:0 0 auto}.pdfpreview-backdrop{background:#000000b3}.pdfpreview-modal{width:min(1200px,96vw);height:min(88vh,940px);max-height:88vh}.pdfpreview-body{padding:0}.pdfpreview-frame{width:100%;height:100%;border:0;background:#0b0e12}.modalgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.field{min-width:0}.field label{display:block;margin-bottom:6px;color:#ffffffb3;font-size:13px}.modalgrid input,.modalgrid select,.modalgrid .input,.modalgrid .select{width:100%;max-width:100%;box-sizing:border-box}.inputgroup,.inputgroup>*{min-width:0}.pdfmeta{margin-top:10px}.checkrow{display:flex;align-items:center;gap:10px;justify-content:flex-start}.checkrow input{width:18px;height:18px}.modal .checkrow input[type=checkbox],.modal .checkrow input[type=radio]{width:18px;height:18px;padding:0}.modal .modalgrid input:not([type=checkbox]):not([type=radio]),.modal .modalgrid select,.modal .modalgrid textarea,.modal .modalgrid .input,.modal .modalgrid .select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;height:44px;padding:10px 12px;font-size:16px;line-height:1.4;border-radius:12px}.modal .modalgrid textarea{height:auto;min-height:96px}.modal .modalgrid input[type=date]{-webkit-appearance:none;appearance:none}.modal .modalgrid input[type=date]::-webkit-date-and-time-value{line-height:1.4;padding:0;text-align:left}.modal .modalgrid input[type=date]::-webkit-datetime-edit{padding:0}.modal .modalgrid input[type=date]::-webkit-calendar-picker-indicator{opacity:.75;margin:0;padding:0}.modal .weld-info-modal{display:grid;gap:12px}.modal .weld-info-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:linear-gradient(180deg,#ffffff0a,#ffffff05)}.modal .weld-info-hero-main{min-width:0;display:grid;gap:4px}.modal .weld-info-hero-title{font-size:18px;font-weight:700;line-height:1.2}.modal .weld-info-hero-sub{color:#ffffffb8;font-size:13px;word-break:break-word}.modal .weld-info-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.16);padding:4px 10px;font-size:12px;font-weight:700;white-space:nowrap}.modal .weld-info-pill.is-ok{color:#9ff0c9;background:#2caa7833}.modal .weld-info-pill.is-pending{color:#b7d8ff;background:#3897ff33}.modal .weld-info-section{border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#ffffff05;padding:12px;display:grid;gap:8px}.modal .weld-info-section h3{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:#ffffffb8}.modal .weld-info-list{display:grid;gap:6px}.modal .weld-info-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);align-items:center;gap:10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#09121f8c;padding:8px 10px}.modal .weld-info-key{color:#ffffffa6;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.modal .weld-info-val{color:#ffffffed;line-height:1.35;min-width:0;word-break:break-word}.modal .weld-info-empty{color:#ffffff80}.modal .weld-info-tech{border:1px dashed rgba(255,255,255,.16);border-radius:12px;background:#ffffff03;padding:10px}.modal .weld-info-tech>summary{cursor:pointer;font-weight:600;color:#ffffffd1;outline:none}.modal .weld-info-tech>summary::-webkit-details-marker{color:#ffffffb8}.modal .weld-info-tech[open]>summary{margin-bottom:10px}.modal .weld-info-list-tech .weld-info-key{font-size:11px}@media(max-width:720px){.modal .weld-info-hero{flex-direction:column;align-items:stretch}.modal .weld-info-pill{justify-self:flex-start;width:fit-content}.modal .weld-info-row{grid-template-columns:1fr;gap:4px}}.linkbtn{background:transparent;border:none;color:#ffffffeb;cursor:pointer;padding:0;font:inherit;display:inline-flex;align-items:center;gap:6px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}.linkbtn:hover{color:#fff;border-bottom-color:#ffffffa6}.file-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:#ffffffd9;cursor:pointer;appearance:none}.file-pill:hover{filter:brightness(1.08)}.type-pill{appearance:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:999px;height:26px;font-size:12px;font-weight:900;letter-spacing:.3px;border:1px solid transparent;text-decoration:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:inset 0 0 0 1px #ffffff0d}.type-pill:hover{filter:brightness(1.08)}.type-pill.is-muted{opacity:.4;filter:saturate(.7)}.type-pill.is-active{box-shadow:0 0 0 1px #ffffff59,0 0 0 3px #ffffff14}.type-pill.pill-1{background:#3b82f638;border-color:#3b82f68c;color:#dbeafe}.type-pill.pill-2{background:#f59e0b3d;border-color:#f59e0b94;color:#fef3c7}.type-pill.pill-3{background:#a855f738;border-color:#a855f78c;color:#ede9fe}.type-pill.pill-4{background:#10b98138;border-color:#10b9818c;color:#d1fae5}.type-pill.pill-5{background:#ef444438;border-color:#ef44448c;color:#fee2e2}.type-pill.pill-6{background:#06b6d438;border-color:#06b6d48c;color:#cffafe}.type-pill.pill-7{background:#f973163d;border-color:#f9731694;color:#ffedd5}.type-pill.pill-8{background:#6366f138;border-color:#6366f18c;color:#e0e7ff}.type-pill.pill-9{background:#84cc163d;border-color:#84cc1694;color:#ecfccb}.type-pill.pill-10{background:#ec489938;border-color:#ec48998c;color:#fce7f3}.type-pill.pill-other{background:#64748b38;border-color:#64748b8c;color:#e2e8f0}.type-pill.pill-neutral{background:#ffffff0f;border-color:#ffffff29;color:#ffffffe0}.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;border:1px solid transparent}.status-pill.ok{background:#22c55e2e;border-color:#22c55e73;color:#bbf7d0}.status-pill.warn{background:#f59e0b38;border-color:#f59e0b73;color:#fde68a}.status-pill.fault{background:#ef44442e;border-color:#ef444473;color:#fecaca}.table-scroll{table-layout:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;table-layout:auto}.data-table thead th{color:#ffffffc7;font-weight:650;background:#ffffff05;padding:11px 10px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left}.data-table td{padding:11px 10px;vertical-align:middle}.data-table tbody tr:hover{background:#ffffff0a}.data-table th:last-child,.data-table td:last-child{width:92px}.actcell{padding:9px 10px;text-align:right;vertical-align:middle;display:flex;justify-content:flex-end;align-items:center;gap:8px}.actcell .iconbtn{width:28px;height:28px}.date-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.date-picker__btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--border);background:#ffffff0d;color:var(--text);cursor:pointer}.date-picker__btn:hover{background:#ffffff1a}input[type=date][data-date-input]::-webkit-calendar-picker-indicator{opacity:0}.pager{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.pager-bottom{justify-content:flex-end}.pager-btn{appearance:none;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:var(--text);font-size:12px;padding:5px 10px;border-radius:999px;cursor:pointer;transition:all .15s ease}.pager-btn:hover{border-color:#ffffff4d;background:#ffffff14}.pager-btn.is-active{background:var(--accent);color:#0b0e12;border-color:transparent}.pager-btn:disabled{opacity:.5;cursor:default}.pager-gap{color:var(--muted);font-size:12px;padding:0 2px;-webkit-user-select:none;user-select:none}:root{--ink:#1a1d22;--muted:#6b7280;--line:#c2c9d4;--line-strong:#9aa3b2;--accent:#173b66;--accent-soft:#f1f5fa;--alt:#e9edf3}.trace-print-sheet{display:none;background:#fff;background-image:none}body.print-traceability .trace-print-sheet{display:block}body.print-traceability>*:not(.trace-print-sheet){display:none!important}.trace-print-sheet *{box-sizing:border-box}.trace-print-sheet .msl-page{width:210mm;margin:0 auto;padding:12mm;background:#fff;background-image:none}.trace-print-sheet .msl-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10mm;border-bottom:3px solid var(--line-strong);padding-bottom:6mm}.trace-print-sheet .msl-brand{display:flex;align-items:center;gap:14px}.trace-print-sheet .msl-logo{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border:1.5px solid var(--line-strong);border-radius:6px;background:#fff}.trace-print-sheet .msl-logo img{height:42px;width:auto;display:block}.trace-print-sheet .msl-kicker{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.trace-print-sheet .msl-title{margin:0;font-size:24px;letter-spacing:.8px;font-weight:800;color:var(--ink)}.trace-print-sheet .msl-project-card{min-width:150px;border:1.5px solid var(--line-strong);border-radius:6px;padding:8px 12px;background:var(--accent-soft);text-align:right}.trace-print-sheet .msl-project-label{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.trace-print-sheet .msl-project-value{font-weight:700;font-size:14.5px;color:var(--ink)}.trace-print-sheet .msl-project-meta{margin-top:3px;font-size:11.5px;color:var(--muted);letter-spacing:.3px}.trace-print-sheet .msl-table-wrap{border:1.5px solid var(--line-strong);border-radius:6px;overflow:hidden}.trace-print-sheet .msl-table{width:100%;border-collapse:collapse;table-layout:auto}.trace-print-sheet .msl-table th,.trace-print-sheet .msl-table td{border-bottom:1.25px solid var(--line);padding:7px 9px;height:28px;text-align:center;vertical-align:middle;font-size:12.5px;color:var(--ink);background:#fff;background-image:none}.trace-print-sheet .msl-table td+td,.trace-print-sheet .msl-table th+th{border-left:1.25px solid var(--line)}.trace-print-sheet .msl-head th{background:var(--accent);background-image:none;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.9px;font-size:11.5px}.trace-print-sheet .msl-table tbody tr:nth-child(2n) td{background:var(--alt);background-image:none}.trace-print-sheet .msl-table td{font-family:Calibri,Segoe UI,Helvetica Neue,Arial,sans-serif;letter-spacing:.15px}.trace-print-sheet .msl-table th{font-family:Helvetica Neue,Helvetica,Arial,sans-serif}@media print{@page{size:A4;margin:0}body.print-traceability{margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#111;background:#fff;background-image:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;text-rendering:geometricPrecision}body.print-traceability:before,body.print-traceability:after{content:none!important;display:none!important;background:none!important}body.print-traceability .trace-print-sheet{display:block}}:root{--wls-ink:#1a1d22;--wls-muted:#6b7280;--wls-line:#c2c9d4;--wls-line-strong:#98a3b4;--wls-accent:#183e6f;--wls-alt:#eef2f7}.weldlog-print-sheet{display:none;background:#fff;background-image:none}body.print-weld-log .weldlog-print-sheet{display:block}body.print-weld-log>*:not(.weldlog-print-sheet){display:none!important}.weldlog-print-sheet *{box-sizing:border-box}.weldlog-print-sheet .weldlog-print-page{width:100%;max-width:297mm;margin:0 auto;padding:9mm 10mm;background:#fff;color:var(--wls-ink);font-family:Calibri,Segoe UI,Arial,sans-serif}.weldlog-print-sheet .weldlog-print-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12mm;border-bottom:2px solid var(--wls-line-strong);padding-bottom:6mm;margin-bottom:6mm}.weldlog-print-sheet .weldlog-print-brand{display:flex;align-items:center;gap:12px}.weldlog-print-sheet .weldlog-print-logo{width:52px;height:52px;border:1px solid var(--wls-line-strong);border-radius:5px;display:flex;align-items:center;justify-content:center}.weldlog-print-sheet .weldlog-print-logo img{width:auto;height:38px;display:block}.weldlog-print-sheet .weldlog-print-kicker{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--wls-muted)}.weldlog-print-sheet .weldlog-print-title{margin:2px 0 0;font-size:23px;letter-spacing:.5px;font-weight:800}.weldlog-print-sheet .weldlog-print-meta{min-width:260px;border:1px solid var(--wls-line-strong);border-radius:5px;padding:7px 10px;background:#f5f8fc;font-size:11.5px;line-height:1.45}.weldlog-print-sheet .weldlog-print-table-wrap{border:1px solid var(--wls-line-strong);border-radius:5px;overflow:hidden}.weldlog-print-sheet .weldlog-print-table{width:100%;border-collapse:collapse;table-layout:auto}.weldlog-print-sheet .weldlog-print-table thead{display:table-header-group}.weldlog-print-sheet .weldlog-print-table tr{break-inside:avoid;page-break-inside:avoid}.weldlog-print-sheet .weldlog-print-table thead tr.weldlog-print-group-row th{background:#0f2f56;color:#dbe9fb;text-transform:uppercase;letter-spacing:.75px;font-size:8.8px;font-weight:700;text-align:center;padding:5px 6px;border-right:1px solid rgba(255,255,255,.22)}.weldlog-print-sheet .weldlog-print-table thead tr.weldlog-print-group-row th:last-child{border-right:0}.weldlog-print-sheet .weldlog-print-table thead tr.weldlog-print-field-row th{background:var(--wls-accent);color:#fff;text-transform:uppercase;letter-spacing:.6px;font-size:9.5px;font-weight:800;text-align:center;padding:6px;border-right:1px solid rgba(255,255,255,.25)}.weldlog-print-sheet .weldlog-print-table thead tr.weldlog-print-field-row th:last-child{border-right:0}.weldlog-print-sheet .weldlog-print-table tbody td{border-top:1px solid var(--wls-line);border-right:1px solid var(--wls-line);padding:5px 6px;font-size:9.7px;line-height:1.25;text-align:center;vertical-align:middle;color:var(--wls-ink);white-space:normal;word-break:normal;overflow-wrap:break-word}.weldlog-print-sheet .weldlog-print-table tbody td:last-child{border-right:0}.weldlog-print-sheet .weldlog-print-table tbody tr:nth-child(2n) td{background:var(--wls-alt)}.weldlog-print-sheet .weldlog-print-table th:nth-child(1),.weldlog-print-sheet .weldlog-print-table td:nth-child(1),.weldlog-print-sheet .weldlog-print-table th:nth-child(2),.weldlog-print-sheet .weldlog-print-table td:nth-child(2),.weldlog-print-sheet .weldlog-print-table th:nth-child(5),.weldlog-print-sheet .weldlog-print-table td:nth-child(5),.weldlog-print-sheet .weldlog-print-table th:nth-child(6),.weldlog-print-sheet .weldlog-print-table td:nth-child(6),.weldlog-print-sheet .weldlog-print-table th:nth-child(7),.weldlog-print-sheet .weldlog-print-table td:nth-child(7),.weldlog-print-sheet .weldlog-print-table th:nth-child(11),.weldlog-print-sheet .weldlog-print-table td:nth-child(11){white-space:nowrap}.weldlog-print-sheet .weldlog-print-signatures{margin-top:10mm;padding-top:4mm;border-top:1px solid var(--wls-line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8mm;break-inside:avoid;page-break-inside:avoid}.weldlog-print-sheet .weldlog-signature-card{min-height:20mm;display:flex;flex-direction:column;justify-content:flex-end}.weldlog-print-sheet .weldlog-signature-line{height:0;border-top:1.5px solid var(--wls-line-strong);margin-bottom:2.5mm}.weldlog-print-sheet .weldlog-signature-label{font-size:10px;font-weight:700;letter-spacing:.3px;color:var(--wls-ink);text-transform:uppercase}@media print{body.print-weld-log{margin:0;background:#fff;background-image:none;color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact;text-rendering:geometricPrecision}body.print-weld-log:before,body.print-weld-log:after{content:none!important;display:none!important;background:none!important}body.print-weld-log .weldlog-print-sheet{display:block}}:root{--docpack-ink:#1a1f28;--docpack-muted:#5f6978;--docpack-line:#c6ced9;--docpack-line-strong:#9da9ba;--docpack-accent:#17395f;--docpack-accent-soft:#edf3fb;--docpack-alt:#f4f7fb}.docpack-print-sheet{display:none;background:#fff;background-image:none}body.print-docpack .docpack-print-sheet{display:block}body.print-docpack>*:not(.docpack-print-sheet){display:none!important}.docpack-print-sheet *{box-sizing:border-box}.docpack-print-sheet .docpack-page{width:100%;max-width:297mm;min-height:210mm;margin:0 auto;padding:9mm 10mm;background:#fff;color:var(--docpack-ink);font-family:Calibri,Segoe UI,Arial,sans-serif;display:flex;flex-direction:column;gap:6mm;page-break-after:always}.docpack-print-sheet .docpack-page:last-child{page-break-after:auto}.docpack-print-sheet .docpack-page-content{flex:1 1 auto;min-height:0}.docpack-print-sheet .docpack-page.is-cover .docpack-page-content{display:flex;align-items:center;justify-content:center}.docpack-print-sheet .docpack-page-footer{flex:0 0 auto;margin-top:auto;border-top:1px solid var(--docpack-line);padding-top:2.5mm;display:flex;align-items:center;justify-content:space-between;color:var(--docpack-muted);font-size:11px;letter-spacing:.25px}.docpack-print-sheet .docpack-cover{min-height:100%;display:grid;align-content:center;justify-items:center;text-align:center;gap:4mm;padding:12mm;width:100%}.docpack-print-sheet .docpack-cover-logo{width:150px;height:150px;display:flex;align-items:center;justify-content:center;background:#fff}.docpack-print-sheet .docpack-cover-logo img{width:auto;height:100%;display:block}.docpack-print-sheet .docpack-cover-kicker{font-size:24px;color:var(--docpack-muted);letter-spacing:1.7px;text-transform:uppercase}.docpack-print-sheet .docpack-cover-title{margin:0;font-size:34px;letter-spacing:.55px;color:#11263f}.docpack-print-sheet .docpack-cover-project{font-size:18px;font-weight:700}.docpack-print-sheet .docpack-cover-meta{font-size:12.5px;color:#2d425b}.docpack-print-sheet .docpack-overview{border:1px solid var(--docpack-line);border-radius:7px;overflow:hidden}.docpack-print-sheet .docpack-overview-head{background:linear-gradient(180deg,#1b446f,#143455);color:#fff;padding:5mm 6mm;display:flex;align-items:center;justify-content:space-between;gap:8mm}.docpack-print-sheet .docpack-headline{display:inline-flex;align-items:center;gap:2.6mm;min-width:0}.docpack-print-sheet .docpack-headline-logo{width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.docpack-print-sheet .docpack-headline-logo img{width:100%;height:100%;object-fit:contain;display:block}.docpack-print-sheet .docpack-overview-head h2{margin:0;font-size:20px;letter-spacing:.3px}.docpack-print-sheet .docpack-overview-meta{font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#ffffffd6}.docpack-print-sheet .docpack-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px;padding:4mm 6mm;border-bottom:1px solid var(--docpack-line);background:var(--docpack-accent-soft)}.docpack-print-sheet .docpack-overview-grid>div{display:grid;gap:2px}.docpack-print-sheet .docpack-overview-grid strong{font-size:10.5px;color:var(--docpack-muted);letter-spacing:.45px;text-transform:uppercase}.docpack-print-sheet .docpack-overview-grid span{font-size:12px;color:var(--docpack-ink)}.docpack-print-sheet .docpack-overview-table-wrap{padding:4mm 6mm 6mm}.docpack-print-sheet .docpack-section{border:1px solid var(--docpack-line);border-radius:7px;overflow:hidden}.docpack-print-sheet .docpack-section-head{background:linear-gradient(180deg,#17395ff5,#143152eb);color:#fff;padding:4mm 5mm;display:flex;align-items:center;justify-content:space-between;gap:8mm}.docpack-print-sheet .docpack-section-title{margin:0;font-size:17px;letter-spacing:.2px}.docpack-print-sheet .docpack-section-subtitle{font-size:10.8px;letter-spacing:.55px;text-transform:uppercase;color:#ffffffd9}.docpack-print-sheet .docpack-table-wrap{overflow:hidden}.docpack-print-sheet .docpack-table{width:100%;border-collapse:collapse;table-layout:auto}.docpack-print-sheet .docpack-table th,.docpack-print-sheet .docpack-table td{border-top:1px solid var(--docpack-line);border-right:1px solid var(--docpack-line);padding:4px 6px;text-align:left;vertical-align:middle;font-size:10.5px;color:var(--docpack-ink);white-space:normal;word-break:normal;overflow-wrap:anywhere}.docpack-print-sheet .docpack-table th:last-child,.docpack-print-sheet .docpack-table td:last-child{border-right:0}.docpack-print-sheet .docpack-table th{background:var(--docpack-accent);color:#fff;border-top:0;font-size:9.8px;font-weight:800;letter-spacing:.62px;text-transform:uppercase}.docpack-print-sheet .docpack-table tbody tr:nth-child(2n) td{background:var(--docpack-alt)}.docpack-print-sheet .docpack-table td.is-empty{text-align:center;color:var(--docpack-muted);padding-top:9mm;padding-bottom:9mm}.docpack-print-sheet .docpack-table.is-compact th,.docpack-print-sheet .docpack-table.is-compact td{font-size:9.2px;padding:3px 5px}.docpack-print-sheet .docpack-page.is-cover .docpack-page-footer{border-top-color:#9da9bab3}@media print{body.print-docpack{margin:0;background:#fff;background-image:none;color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact;text-rendering:geometricPrecision}body.print-docpack:before,body.print-docpack:after{content:none!important;display:none!important;background:none!important}body.print-docpack .docpack-print-sheet{display:block}}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch;margin-top:16px}.herotext{border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#ffffff14,#ffffff0a);padding:20px;box-shadow:var(--shadow)}.herotext h1{margin:0 0 10px;font-size:32px;line-height:1.15;letter-spacing:-.4px}.herotext p{margin:0 0 16px;color:var(--muted);max-width:62ch}.cta{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}.quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.pill{font-size:12.5px;color:#ffffffc7;padding:7px 10px;border-radius:999px;border:1px solid var(--border);background:#ffffff0d}.herocard{border:1px solid var(--border);border-radius:18px;background:#ffffff0d;padding:16px;box-shadow:var(--shadow)}.cardtitle{font-weight:700;margin-bottom:12px}.cardgrid{display:grid;grid-template-columns:1fr;gap:10px}.card{display:block;padding:12px;border-radius:14px;border:1px solid var(--border);background:#ffffff0d}.card:hover{background:#ffffff17}.cardh{font-weight:700;margin-bottom:4px}.cardp{color:var(--muted);font-size:13px}.section{margin-top:18px;border:1px solid var(--border);border-radius:18px;background:#ffffff0a;padding:18px}.sectionhead h2{margin:0 0 6px}.sectionhead p{margin:0 0 14px;color:var(--muted)}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tile{border:1px solid var(--border);border-radius:16px;padding:14px;background:#ffffff0d}.tileh{font-weight:700;margin-bottom:6px}.tilep{color:var(--muted);font-size:13px}.page-login{display:flex;align-items:center;justify-content:center;min-height:100vh}.page-login .main{width:100%}.loginwrap{width:100%;display:flex;justify-content:center;padding:30px 0 10px}.loginbrand{display:flex;justify-content:center;margin-bottom:20px}.loginlogo-main{display:block;height:200px;width:auto;object-fit:contain;box-sizing:border-box;padding:14px 20px}.logincard{width:100%;max-width:500px;border:1px solid var(--border);border-radius:18px;background:#ffffff0f;padding:18px;box-shadow:var(--shadow)}.logincard h1{margin:0 0 8px}.loginrow{display:grid;gap:6px;margin:12px 0}.loginrow label{color:var(--muted);font-size:13px}.loginrow.remember{margin-top:.5rem;margin-bottom:1.2rem}.loginrow.remember label{margin-bottom:0}.loginerr{margin:10px 0 0;color:#ffb4b4f2}.section-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel-gradient);padding:18px;box-shadow:var(--shadow)}.section-header>div:first-child{min-width:0}.section-title{margin:0 0 6px;font-size:24px;line-height:1.2;letter-spacing:-.3px}.section-subtitle{margin:0;color:#ffffffb3;max-width:80ch}.section-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center;align-self:center;margin-top:2px}.section-actions .btn{border-radius:var(--radius-pill);box-shadow:var(--btn-shadow)}.section-grid{margin-top:14px;display:grid;grid-template-columns:1fr;gap:14px}.panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel-gradient-soft);box-shadow:var(--shadow);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff08}.panel-title{font-weight:800;letter-spacing:.2px}.panel-meta{color:#ffffffa6;font-size:13px}.panel-body{padding:12px}.listmount{margin-top:12px}.page-wps .table-scroll{overflow:visible}.page-wps .data-table{width:100%}.page-wps .wps-process-group{border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;background:#ffffff05}.page-wps .wps-process-group+.wps-process-group{margin-top:12px}.page-wps .wps-process-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff08}.page-wps .wps-process-title{font-weight:700;letter-spacing:.2px}.page-wps .wps-process-meta{color:#ffffffa6;font-size:13px}.page-wps .wps-process-group .table-scroll{margin-top:0}.page-wps .wps-thickness{grid-column:1 / -1}.page-wps .wps-thickness .inputgroup.join{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.page-certs .section-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel-gradient);padding:18px;box-shadow:var(--shadow)}.page-certs .section-header>div:first-child{min-width:0}.page-certs .section-title{margin:0 0 6px;font-size:24px;line-height:1.2;letter-spacing:-.3px}.page-certs .section-subtitle{margin:0;color:#ffffffb3;max-width:80ch}.page-certs .section-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center;align-self:center;margin-top:2px}.page-certs .section-actions .btn{border-radius:var(--radius-pill);box-shadow:var(--btn-shadow)}.page-certs .section-grid{margin-top:14px;display:grid;grid-template-columns:1fr;gap:14px}.page-certs .panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel-gradient-soft);box-shadow:var(--shadow);overflow:hidden}.page-certs .panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff08}.page-certs .panel-title{font-weight:800;letter-spacing:.2px}.page-certs .panel-meta{color:#ffffffa6;font-size:13px}.page-certs .panel-body{padding:12px}.page-certs .listmount{margin-top:12px}.page-certs .panel-filters{display:flex;flex-wrap:wrap;gap:10px;padding:8px 10px 10px;border:1px dashed rgba(255,255,255,.12);border-radius:var(--radius-lg);background:#ffffff05}.page-certs .filter-field{display:flex;flex-direction:column;gap:6px;min-width:160px;flex:1 1 180px}.page-certs .filter-field.is-wide{flex:2 1 240px}.page-certs .filter-field label{font-size:12px;color:#ffffffbf}.page-certs .filter-field .input,.page-certs .filter-field .select{width:100%}.page-certs .group{border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffff0a;overflow:hidden;margin-bottom:12px}.page-certs .group-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff06}.page-certs .group-title{font-weight:700}.page-certs .group-meta{color:#ffffffa6;font-size:12.5px}.page-certs .data-table .row-menu-cell{width:92px;text-align:right;position:relative}.page-certs .data-table .row-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;display:none;min-width:200px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#0a1222fa;box-shadow:0 14px 28px #0006;padding:6px}.page-certs .data-table .row-menu.is-open{display:block}.page-certs .data-table .row-menu.is-floating{position:fixed;right:auto;top:0;left:0}.page-certs .data-table .row-menu button{width:100%;text-align:left;background:transparent;border:0;color:#ffffffe6;padding:9px 10px;border-radius:8px;cursor:pointer}.page-certs .data-table .row-menu button:hover{background:#ffffff14}.page-certs .data-table .row-menu button.danger{color:#fca5a5}.page-certs .cert-thickness .inputgroup.join,.page-certs .cert-fugegroup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.page-certs .cert-fugegroup .checkboxpill{width:100%;justify-content:center;height:48px}.page-settings .section-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel-gradient);padding:18px;box-shadow:var(--shadow)}.page-settings .section-header>div:first-child{min-width:0}.page-settings .section-title{margin:0 0 6px;font-size:24px;line-height:1.2;letter-spacing:-.3px}.page-settings .section-subtitle{margin:0;color:#ffffffb3;max-width:80ch}.page-settings .section-grid{margin-top:14px;display:grid;grid-template-columns:1fr;gap:14px}.page-settings .panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel-gradient-soft);box-shadow:var(--shadow);overflow:hidden}.page-settings .panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff08}.page-settings .panel-title{font-weight:800;letter-spacing:.2px}.page-settings .panel-meta{color:#ffffffa6;font-size:13px}.page-settings .panel-body{padding:12px}.page-settings .settings-placeholder{padding:8px 0}.page-settings .settings-form{display:grid;gap:12px}.page-settings .settings-row{display:grid;gap:6px}.page-settings .settings-row label{color:var(--muted);font-size:13px}.page-settings .settings-actions{display:flex;gap:10px;align-items:center;margin-top:8px;flex-wrap:wrap}.page-users .section-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel-gradient);padding:18px;box-shadow:var(--shadow)}.page-users .section-header>div:first-child{min-width:0}.page-users .section-title{margin:0 0 6px;font-size:24px;line-height:1.2;letter-spacing:-.3px}.page-users .section-subtitle{margin:0;color:#ffffffb3;max-width:80ch}.page-users .section-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center;align-self:center;margin-top:2px}.page-users .section-actions .btn{border-radius:var(--radius-pill);box-shadow:var(--btn-shadow)}.page-users .section-grid{margin-top:14px;display:grid;grid-template-columns:1fr;gap:14px}.page-users .panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel-gradient-soft);box-shadow:var(--shadow);overflow:hidden}.page-users .panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff08}.page-users .panel-title{font-weight:800;letter-spacing:.2px}.page-users .panel-meta{color:#ffffffa6;font-size:13px}.page-users .panel-body{padding:12px}.page-users .actcell .iconbtn{width:28px;height:28px}.page-users .actcell .iconbtn.is-disabled{opacity:.55;cursor:not-allowed}.page-users .user-inactive{opacity:.7}.page-users .user-inactive td{background:#cc42420d}.page-company-settings .section-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel-gradient);padding:18px;box-shadow:var(--shadow)}.page-company-settings .section-header>div:first-child{min-width:0}.page-company-settings .section-title{margin:0 0 6px;font-size:24px;line-height:1.2;letter-spacing:-.3px}.page-company-settings .section-subtitle{margin:0;color:#ffffffb3;max-width:80ch}.page-company-settings .section-grid{margin-top:14px;display:grid;grid-template-columns:1fr;gap:14px}.page-company-settings .panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel-gradient-soft);box-shadow:var(--shadow);overflow:hidden}.page-company-settings .panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff08;gap:12px}.page-company-settings .panel-title{font-weight:800;letter-spacing:.2px}.page-company-settings .panel-meta{color:#ffffffa6;font-size:13px}.page-company-settings .panel-body{padding:12px}.page-company-settings .panel-collapsible.is-collapsed .panel-body{display:none}.page-company-settings .panel-toggle{margin-left:auto;border:1px solid rgba(255,255,255,.18);background:#ffffff0a;color:var(--text);padding:6px 12px;border-radius:999px;font-size:12px;cursor:pointer;width:auto;min-width:0;white-space:nowrap}.page-company-settings .panel-toggle:hover{border-color:#ffffff59;background:#ffffff14}.page-company-settings .settings-placeholder{padding:8px 0}.page-company-settings .settings-form{display:grid;gap:12px}.page-company-settings .settings-row.inline{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.page-company-settings .settings-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.page-company-settings .settings-list,.page-company-settings .settings-subgroup{display:grid;gap:8px}.page-company-settings .settings-sublist{display:grid;gap:8px;padding-left:14px}.page-company-settings .settings-item{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff08}.page-company-settings .settings-item.settings-item--sub{background:#ffffff05}.page-company-settings .settings-item__title{font-weight:600}.page-company-settings .settings-item__meta{color:#ffffffa6;font-size:12.5px}.page-company-settings .settings-item__actions{display:inline-flex;gap:8px}.page-company-settings .chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#ffffff0a;font-size:12px;color:#ffffffd9}.page-company-settings .tag{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid rgba(255,255,255,.2);background:#ffffff0f}.page-company-settings .menu-grid{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.page-company-settings .menu-card{display:grid;gap:6px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--panel-gradient-soft);box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .12s ease,border-color .12s ease}.page-company-settings .menu-card:hover{transform:translateY(-2px);border-color:#fff3}.page-company-settings .menu-card__title{font-weight:700;font-size:16px}.page-company-settings .menu-card__meta{color:#ffffffb3;font-size:13px}@media(max-width:820px){.section-header{flex-direction:column;align-items:stretch;gap:12px}.section-actions{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:0;overflow-x:hidden}.section-actions .btn{width:100%;justify-content:center;white-space:normal;min-height:38px;padding:0 10px;font-size:13px;min-width:0}}@media(min-width:1200px){.section-grid{gap:16px}}@media(max-width:720px){.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tr{padding:10px;background:#ffffff08;border-radius:14px}.data-table tr+tr{margin-top:10px}.data-table td{border:0;padding:6px 0;display:flex;justify-content:space-between;gap:14px}.data-table td:before{content:attr(data-label);color:#ffffff9e;font-weight:600;white-space:nowrap}.actcell{width:auto;display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.iconbtn{width:40px;height:40px;border-radius:14px}.svgicon{width:21px;height:21px}.page-company-settings .settings-row.inline{grid-template-columns:1fr;align-items:stretch}.page-company-settings .settings-inputs{grid-template-columns:1fr}.page-company-settings .settings-row.inline .btn{width:100%;justify-content:center}.page-company-settings .settings-item{grid-template-columns:1fr;gap:8px}.page-company-settings .settings-item__actions{justify-content:flex-start;flex-wrap:wrap}}@media(max-width:980px){.hero,.tiles{grid-template-columns:1fr}}@media(max-width:720px){.modalbackdrop{padding:10px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom));align-items:flex-start}.modal{width:100%;max-height:calc(100dvh - 20px);border-radius:14px}.modalgrid{grid-template-columns:1fr;gap:10px}.modalhead{padding:12px 14px}.modalbody{padding:12px 14px 14px}.pdfpreview-modal{height:92vh;max-height:92vh}.modalftr{padding:12px 14px;flex-wrap:wrap}.modalftr .btn{flex:1 1 auto;min-width:0}.field{width:100%;min-width:0}.inputgroup{flex-wrap:nowrap}.inputgroup>.input{flex:1 1 0;min-width:0}.inputgroup>.suffix{flex:0 0 auto;min-width:48px}}@media(max-width:520px){.app-footer__inner{flex-direction:column;align-items:stretch;gap:8px}.app-footer__right{width:100%;justify-content:flex-end}.app-footer__logout{width:100%!important;justify-content:center}}@media(max-width:980px){.topbar{grid-template-columns:1fr;gap:12px;padding:12px 16px}.brand{justify-content:center}.logo{height:45px}.nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.navlink{text-align:center;padding:10px 12px;font-size:13px;white-space:normal;overflow-wrap:anywhere;min-width:0}.user-section{justify-content:center}.user-avatar{flex-direction:row;gap:10px;padding:8px 16px}.avatar-circle{width:36px;height:36px}.avatar-icon{width:20px;height:20px}}@media(max-width:520px){.topbar{padding:12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.logo{height:40px}.navlink{font-size:12.5px;padding:9px 10px}}@media(max-width:768px){.loginlogo-main{height:180px}.loginwrap{padding:18px 0 10px}}@media(max-width:480px){input,select,textarea,button{font-size:16px}.page-login{min-height:100svh;align-items:center;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.loginwrap{padding:8px 0 6px}.loginbrand{margin-bottom:12px}.loginlogo-main{height:128px}.page-login .logincard{padding:12px!important;border-radius:16px}.page-login .loginrow{margin:8px 0!important;gap:5px}.page-login .loginrow label{font-size:12px}.page-login .input{height:42px;padding:8px 10px;border-radius:12px}.page-login .loginrow.remember{margin-top:6px;margin-bottom:10px}.page-login .rememberlabel{font-size:.85rem}.page-login .btn{padding:9px 12px}.loginactions{margin-top:8px}}.app-footer{padding-bottom:env(safe-area-inset-bottom);margin-top:auto}.app-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}.app-footer__left{opacity:.85;font-size:.95rem}.app-footer__right{display:flex;gap:10px;align-items:center}.app-footer__link{border-radius:999px;padding:8px 12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:inherit;text-decoration:none}.app-footer__btn{cursor:pointer}.app-footer__logout .logouticon{width:18px;height:18px;fill:currentColor}.iconbtn.app-footer__logout{width:auto;padding:0 12px;gap:8px;display:inline-flex;align-items:center}
