.detail-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00142880;z-index:1000;animation:fadeIn .2s ease-out}.detail-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;max-width:calc(100vw - 48px);max-height:calc(100vh - 80px);background-color:#fff;z-index:1001;display:flex;flex-direction:column;border-radius:12px;box-shadow:0 20px 60px #00142840,0 4px 16px #003b731f;animation:scaleIn .2s cubic-bezier(.4,0,.2,1);font-family:Arial,sans-serif;overflow:hidden}.detail-panel-header{background-color:#003b73;color:#fff;padding:20px}.detail-panel-header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.detail-panel-header-left{flex:1}.detail-panel-ks-number{font-family:SF Mono,Monaco,Menlo,Courier New,monospace;font-size:20px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;word-break:break-word}.detail-panel-status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;letter-spacing:.3px;white-space:nowrap}.detail-panel-status-pending{background-color:#ffffff26;color:#fff}.detail-panel-status-approved{background-color:#dcfce7;color:#166534}.detail-panel-status-rejected{background-color:#fee2e2;color:#991b1b}.detail-panel-status-submitted{background-color:#dbeafe;color:#1e40af}.detail-panel-status-default{background-color:#ffffff1f;color:#fffc}.detail-panel-close-btn{background:none;border:none;color:#ffffffb3;font-size:20px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.detail-panel-close-btn:hover{background-color:#ffffff1a;color:#fff}.detail-panel-project-name{font-size:13px;opacity:.75;letter-spacing:.2px}.detail-panel-content{flex:1;overflow-y:auto;padding:20px;background-color:#fafbfc}.detail-panel-content::-webkit-scrollbar{width:6px}.detail-panel-content::-webkit-scrollbar-track{background:#f0f2f5}.detail-panel-content::-webkit-scrollbar-thumb{background:#c8d0d8;border-radius:3px}.detail-panel-content::-webkit-scrollbar-thumb:hover{background:#9ca8b4}.detail-panel-photo-section{margin-bottom:24px}.detail-panel-photo-container{width:100%;aspect-ratio:16 / 9;background-color:#f0f2f5;border:1px solid #e0e5eb;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;overflow:hidden}.detail-panel-photo{width:100%;height:100%;object-fit:cover}.detail-panel-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca8b4;text-align:center;gap:8px}.detail-panel-photo-icon{width:32px;height:32px;stroke-width:1.5}.detail-panel-photo-placeholder p{font-size:13px;margin:0}.detail-panel-upload-btn{display:block;width:100%;padding:10px 16px;background-color:#fff;border:1px solid #d0dce8;border-radius:6px;font-size:13px;font-weight:500;color:#003b73;cursor:pointer;text-align:center;transition:all .2s}.detail-panel-upload-btn:hover{background-color:#f0f2f5;border-color:#003b73}.detail-panel-upload-btn:disabled{opacity:.6;cursor:not-allowed}.detail-panel-section{margin-bottom:24px;background-color:#fff;border:1px solid #e0e5eb;border-radius:8px;padding:16px}.detail-panel-section:last-child{margin-bottom:0}.detail-panel-section-title{font-size:11px;font-weight:700;color:#003b73;text-transform:uppercase;letter-spacing:.8px;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #003B73}.detail-panel-section-content{display:flex;flex-direction:column;gap:12px}.detail-panel-field{display:flex;flex-direction:column;gap:4px}.detail-panel-label{font-size:11px;font-weight:600;color:#6b7a88;text-transform:uppercase;letter-spacing:.4px}.detail-panel-value{font-size:13px;color:#1a2b3c;line-height:1.5;word-break:break-word}.detail-panel-empty{color:#c8d0d8;font-style:italic}.detail-panel-input,.detail-panel-textarea{font-size:13px;padding:8px 10px;border:1px solid #d0dce8;border-radius:4px;font-family:inherit;color:#1a2b3c;background-color:#fff;transition:all .2s}.detail-panel-input:focus,.detail-panel-textarea:focus{outline:none;border-color:#003b73;box-shadow:0 0 0 3px #003b731a}.detail-panel-input:disabled,.detail-panel-textarea:disabled{background-color:#f0f2f5;color:#9ca8b4;cursor:not-allowed}.detail-panel-textarea{resize:vertical;min-height:60px;font-family:SF Mono,Monaco,Menlo,Courier New,monospace}.detail-panel-footer{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #e0e5eb;background-color:#fff}.detail-panel-btn{flex:1;padding:10px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.3px;font-family:inherit;min-height:40px}.detail-panel-btn:disabled{opacity:.6;cursor:not-allowed}.detail-panel-btn-primary{background-color:#003b73;color:#fff}.detail-panel-btn-primary:hover:not(:disabled){background-color:#002c57;box-shadow:0 2px 6px #003b7333}.detail-panel-btn-primary:active:not(:disabled){background-color:#001f3f}.detail-panel-btn-secondary{background-color:#f0f2f5;color:#003b73;border:1px solid #d0dce8}.detail-panel-btn-secondary:hover:not(:disabled){background-color:#e0e5eb;border-color:#003b73}.detail-panel-btn-secondary:active:not(:disabled){background-color:#d6e0e8}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:translate(-50%,-48%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (max-width: 480px){.detail-panel-header,.detail-panel-content{padding:16px}.detail-panel-ks-number{font-size:18px}.detail-panel-footer{padding:12px 16px;flex-direction:column}.detail-panel-btn{width:100%}}@media (max-width: 375px){.detail-panel-header,.detail-panel-content,.detail-panel-footer{padding:12px}}@media print{.detail-panel-overlay,.detail-panel{display:none!important}}.ag-header-group-cell-label{justify-content:center!important}.header-core .ag-header-group-cell-label,.ag-header-group-cell.header-core{background-color:#003b73!important;color:#fff!important;font-weight:700!important}.ag-pinned-left-header .ag-header-group-cell.header-core .ag-header-group-text:empty{display:none}.header-product .ag-header-group-cell-label,.ag-header-group-cell.header-product{background-color:#b5720e!important;color:#fff!important;font-weight:600!important}.header-architect .ag-header-group-cell-label,.ag-header-group-cell.header-architect{background-color:#1a6baf!important;color:#fff!important;font-weight:600!important}.header-client .ag-header-group-cell-label,.ag-header-group-cell.header-client{background-color:#4a8fbc!important;color:#fff!important;font-weight:600!important}.header-kane-approval .ag-header-group-cell-label,.ag-header-group-cell.header-kane-approval{background-color:#6ba5cc!important;color:#fff!important;font-weight:600!important}.header-approval .ag-header-group-cell-label,.ag-header-group-cell.header-approval{background-color:#256b33!important;color:#fff!important;font-weight:600!important}.header-timeline .ag-header-group-cell-label,.ag-header-group-cell.header-timeline{background-color:#8bb0d4!important;color:#003b73!important;font-weight:600!important}.ag-header-cell{background-color:#e8eff5!important;color:#003b73!important;font-weight:700!important;font-size:12px!important;border-bottom:2px solid #003B73!important;font-family:Arial,sans-serif!important}.ag-header-cell-label{justify-content:center!important}.ag-header-group-cell{border-bottom:1px solid rgba(255,255,255,.3)!important;font-family:Arial,sans-serif!important}.ag-header-group-cell .ag-header-expand-icon{display:none!important}.ag-header-group-cell-label{gap:6px!important}.ag-pinned-left-header .ag-header-cell,.ag-pinned-right-header .ag-header-cell{background-color:#d6e4f0!important}.ag-row-even{background-color:#fafbfc!important}.ag-row-odd{background-color:#fff!important}.ag-row:hover{background-color:#ebf0f5!important}.ag-row-selected{background-color:#d6e4f0!important}.ag-row.register-row-approved{background-color:#dcfce7!important}.ag-row.register-row-approved:hover{background-color:#bbf7d0!important}.ag-row.register-row-rejected{background-color:#fee2e2!important}.ag-row.register-row-rejected:hover{background-color:#fecaca!important}.ag-cell{font-size:12px!important;color:#1a2b3c!important;font-family:Arial,sans-serif!important;line-height:1.5!important}.cell-required{background-color:#ffeb9c!important}.register-grid-container{display:flex;flex-direction:column;height:100%;width:100%}.register-grid-wrapper{flex:1;min-height:0;width:100%;overflow:hidden}.register-grid-wrapper .ag-root-wrapper{height:100%;width:100%;border:none!important;border-radius:0!important}.register-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#fff;border-bottom:1px solid #e0e5eb;flex-shrink:0}.register-toolbar button{font-family:Arial,sans-serif;font-size:13px;padding:6px 14px;border-radius:4px;cursor:pointer;border:none;font-weight:600;transition:background-color .15s;min-height:36px}.register-toolbar .btn-primary{background-color:#003b73;color:#fff}.register-toolbar .btn-primary:hover{background-color:#002c57}.register-toolbar .btn-secondary{background-color:#f0f2f5;color:#003b73;border:1px solid #d0dce8}.register-toolbar .btn-secondary:hover{background-color:#e0e5eb}.register-toolbar .btn-danger{background-color:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.register-toolbar .btn-danger:hover{background-color:#fecaca}.delete-cell-btn{background:none;border:none;color:#b91c1c;cursor:pointer;font-size:14px;font-weight:700;padding:2px 6px;border-radius:3px;line-height:1;min-height:32px;min-width:32px;display:flex;align-items:center;justify-content:center}.delete-cell-btn:hover{background-color:#fef2f2}.ag-cell[col-id^=_sp_],.ag-header-cell[col-id^=_sp_]{padding:0!important;border-right:none!important;border-left:none!important;overflow:hidden!important}.ag-body-horizontal-scroll,.ag-body-horizontal-scroll-viewport,.ag-body-horizontal-scroll-container,.ag-horizontal-left-spacer,.ag-horizontal-right-spacer{height:19px!important;min-height:19px!important;max-height:19px!important}.ag-body-horizontal-scroll-viewport::-webkit-scrollbar{height:19px}.ag-body-horizontal-scroll-viewport::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:6px;border:3px solid transparent;background-clip:padding-box}.ag-body-horizontal-scroll-viewport::-webkit-scrollbar-thumb:hover{background:#64748b;background-clip:padding-box;border:3px solid transparent}.ag-body-horizontal-scroll-viewport::-webkit-scrollbar-track{background:#f1f5f9}.ag-body-vertical-scroll-viewport::-webkit-scrollbar{width:18px}.ag-body-vertical-scroll-viewport::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:6px;border:3px solid transparent;background-clip:padding-box;min-height:40px}.ag-body-vertical-scroll-viewport::-webkit-scrollbar-thumb:hover{background:#64748b;background-clip:padding-box;border:3px solid transparent}.ag-body-vertical-scroll-viewport::-webkit-scrollbar-track{background:#f1f5f9}.ag-cell[col-id=_sp_status],.ag-header-cell[col-id=_sp_status],.ag-header-group-cell.header-kane-approval{border-left:3px solid #003B73!important}.ag-tooltip-custom{z-index:9999}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;font-family:Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,textarea,select,button{font-family:Arial,sans-serif}#root{display:contents}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}*:focus-visible{outline:2px solid #003B73;outline-offset:2px;border-radius:2px}button:focus-visible{outline:2px solid #003B73;outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:#003b73;box-shadow:0 0 0 3px #003b731f}button,a{transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease}::selection{background-color:#003b7326;color:inherit}::-webkit-scrollbar{width:8px;height:20px}::-webkit-scrollbar-track{background:#f0f2f5}::-webkit-scrollbar-thumb{background:#c8d0d8;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca8b4}button:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (pointer: coarse){button,[role=button],input[type=button],input[type=submit],.btn-primary,.btn-secondary,.btn-danger{min-height:44px;min-width:44px}button[aria-label]:not(:has(span)):not(:has(svg+*)){min-width:44px;min-height:44px}}@media (max-width: 1024px){header{padding-left:16px!important;padding-right:16px!important}}@media (max-width: 768px){header{padding-left:12px!important;padding-right:12px!important;gap:8px!important}.header-hide-tablet{display:none!important}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-to-content{position:absolute;top:-40px;left:8px;background:#003b73;color:#fff;padding:8px 16px;z-index:10000;text-decoration:none;border-radius:4px;font-weight:600}.skip-to-content:focus{top:8px}.register-dashboard{min-height:100vh;background:#f8fafc}.register-dashboard__header{background:#003b73;color:#fff;padding:1.25rem 2rem;display:flex;align-items:center;gap:1.25rem}.register-dashboard__back{background:#ffffff1f;border:1px solid rgba(255,255,255,.18);color:#fff;padding:.45rem .9rem;border-radius:.375rem;cursor:pointer;font-size:.85rem;font-weight:600;transition:background-color .15s}.register-dashboard__back:hover{background:#ffffff38}.register-dashboard__title-area{flex:1;min-width:0}.register-dashboard__title{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.01em;color:#fff}.register-dashboard__subtitle{font-size:.8rem;color:#ffffffb8;display:block;margin-top:.2rem;letter-spacing:.01em}.register-dashboard__actions{display:flex;gap:.5rem;align-items:center}.rd-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .85rem;font-size:.825rem;font-weight:600;border-radius:.375rem;cursor:pointer;border:1px solid transparent;transition:background-color .15s,border-color .15s;white-space:nowrap}.rd-btn--primary{background:#fff;color:#003b73;border-color:#fff}.rd-btn--primary:hover{background:#e0e7f0}.rd-btn--ghost{background:transparent;color:#ffffffd9;border-color:#ffffff40}.rd-btn--ghost:hover:not(:disabled){background:#ffffff1a;color:#fff}.rd-btn--ghost:disabled{opacity:.4;cursor:not-allowed}.register-dashboard__filterbar{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 2rem .5rem;border-bottom:1px solid #e5e7eb;background:#fff}.rd-pill{--pill-accent: #475569;display:inline-flex;align-items:center;gap:.45rem;background:#fff;border:1px solid #e5e7eb;color:#374151;padding:.4rem .85rem;font-size:.8rem;font-weight:600;border-radius:9999px;cursor:pointer;transition:border-color .15s,color .15s,background-color .15s}.rd-pill:hover{border-color:var(--pill-accent);color:var(--pill-accent)}.rd-pill.is-active{background:var(--pill-accent);border-color:var(--pill-accent);color:#fff}.rd-pill__count{font-size:.7rem;font-weight:600;background:#0000000f;padding:.05rem .4rem;border-radius:9999px;min-width:1.25rem;text-align:center}.rd-pill.is-active .rd-pill__count{background:#ffffff38}.register-dashboard__error{margin:1rem 2rem 0;padding:.65rem .9rem;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:.375rem;font-size:.8rem}.register-dashboard__groups{padding:1.5rem 2rem 3rem;display:flex;flex-direction:column;gap:1.75rem}.rd-group{--accent: #475569}.rd-group__header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent)}.rd-group__title{margin:0;font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.rd-group__desc{font-size:.78rem;color:#6b7280;font-weight:400}.rd-group__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media (max-width: 1100px){.rd-group__grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.register-dashboard__groups{padding:1rem}.rd-group__grid{grid-template-columns:repeat(2,1fr)}.register-dashboard__actions .rd-btn--ghost{display:none}}@media (max-width: 480px){.rd-group__grid{grid-template-columns:1fr}}.section-card{--accent: #003B73;position:relative;display:flex;flex-direction:column;gap:.6rem;background:#fff;border:1px solid #e5e7eb;border-left:3px solid transparent;border-radius:.5rem;padding:1rem 1.1rem;cursor:pointer;text-align:left;transition:transform .12s ease,box-shadow .15s,border-color .15s;width:100%;min-height:110px;box-shadow:0 1px 2px #0f172a0a}.section-card:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0f172a14;border-color:#d1d5db;border-left-color:var(--accent)}.section-card__icon-wrap{width:32px;height:32px;border-radius:.375rem;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.section-card__body{display:flex;flex-direction:column;gap:.3rem;flex:1}.section-card__label{font-size:.875rem;font-weight:600;color:#111827;line-height:1.3}.section-card__stat{display:flex;align-items:baseline;gap:.35rem;flex-wrap:wrap}.section-card__count{font-size:1.35rem;font-weight:700;color:#111827;line-height:1;font-variant-numeric:tabular-nums}.section-card__count-label{font-size:.72rem;font-weight:500;color:#6b7280}.section-card__pct{font-size:.72rem;font-weight:500;color:var(--accent)}.section-card__empty-hint{font-size:.72rem;color:#9ca3af;font-style:italic}.section-card__bar{height:3px;background:#f3f4f6;border-radius:9999px;overflow:hidden;margin-top:auto}.section-card__bar-fill{height:100%;background:var(--accent);border-radius:9999px;transition:width .25s ease}.section-page{min-height:100vh;background:#f9fafb;display:flex;flex-direction:column}.section-page__header{background:#003b73;color:#fff;padding:1.25rem 2rem;display:flex;align-items:center;gap:1rem}.section-page__back{background:#ffffff26;border:none;color:#fff;padding:.4rem .9rem;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:600}.section-page__back:hover{background:#ffffff40}.section-page__title{margin:0;font-size:1.125rem;font-weight:700;color:#fff;flex:1}.section-page__count-badge{background:#fff3;color:#fff;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}.section-page__error{margin:1rem 2rem;padding:.75rem 1rem;background:#fee2e2;color:#991b1b;border-radius:.375rem}.section-page__loading{padding:3rem 2rem;text-align:center;color:#6b7280}.section-page__empty{padding:4rem 2rem;text-align:center;color:#6b7280}.section-page__empty p{margin:.25rem 0}.section-page__empty-hint{font-size:.875rem;color:#9ca3af}.section-page__grid{flex:1;padding:1rem 1.5rem}.section-page__kpis{display:flex;gap:1rem;padding:1rem 1.5rem 0;flex-wrap:wrap}.kpi-tile{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.875rem 1.25rem;display:flex;flex-direction:column;gap:.15rem;min-width:100px}.kpi-tile__value{font-size:1.5rem;font-weight:700;color:#003b73;line-height:1}.kpi-tile__label{font-size:.75rem;color:#6b7280;font-weight:500}.pdf-drawer{width:380px;min-width:280px;background:#fff;border-left:1px solid #e5e7eb;display:flex;flex-direction:column;height:65vh;margin:.75rem .75rem .75rem 0;border-radius:.5rem;box-shadow:-2px 0 8px #0000000f;overflow:hidden}.pdf-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;background:#f9fafb}.pdf-drawer__title{font-weight:600;font-size:.85rem;color:#111827;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-drawer__close{background:none;border:none;cursor:pointer;color:#6b7280;font-size:1rem;padding:0 .25rem;line-height:1}.pdf-drawer__body{flex:1;overflow:hidden}.edit-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.edit-dialog{background:#fff;border-radius:.5rem;width:100%;max-width:480px;box-shadow:0 20px 60px #0003;overflow:hidden}.edit-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#003b73}.edit-dialog__title{color:#fff;font-weight:700;font-size:1rem}.edit-dialog__close{background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:1rem}.edit-dialog__body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.edit-dialog__field{display:flex;flex-direction:column;gap:.3rem}.edit-dialog__label{font-size:.8rem;font-weight:600;color:#374151}.edit-dialog__input{border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;color:#111827;outline:none}.edit-dialog__input:focus{border-color:#003b73;box-shadow:0 0 0 2px #003b7326}.edit-dialog__input:disabled{background:#f9fafb;color:#6b7280}.edit-dialog__footer{display:flex;gap:.75rem;justify-content:flex-end;padding:.75rem 1.25rem;border-top:1px solid #e5e7eb;background:#f9fafb}.edit-dialog__cancel{background:#fff;border:1px solid #d1d5db;color:#374151;padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500}.edit-dialog__save{background:#003b73;border:none;color:#fff;padding:.5rem 1.25rem;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:600}.edit-dialog__save:disabled{opacity:.6;cursor:not-allowed}.defects-kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}@media (max-width: 900px){.defects-kanban{grid-template-columns:repeat(2,1fr)}}@media (max-width: 500px){.defects-kanban{grid-template-columns:1fr}}.defects-kanban__column{border-radius:.5rem;padding:.75rem;min-height:200px}.defects-kanban__column-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.defects-kanban__column-title{font-weight:700;font-size:.9rem;color:#374151}.defects-kanban__column-count{background:#0000001a;border-radius:9999px;padding:1px 8px;font-size:.75rem;font-weight:600}.defects-kanban__column-body{display:flex;flex-direction:column;gap:.5rem}.defects-kanban__card{background:#fff;border-radius:.375rem;padding:.75rem;box-shadow:0 1px 3px #0000001a}.defects-kanban__card-title{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.defects-kanban__card-meta{font-size:.75rem;color:#6b7280;margin-bottom:.25rem}.defects-status-select{margin-top:.5rem;width:100%;padding:.25rem .5rem;border-radius:.25rem;border:1px solid #d1d5db;font-size:.75rem;cursor:pointer}.inspection-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1rem}.inspection-gallery__card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;display:flex;gap:.75rem;align-items:flex-start;box-shadow:0 1px 3px #0000000f}.inspection-gallery__card-body{flex:1;overflow:hidden}.inspection-gallery__card-type{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.inspection-gallery__card-meta{font-size:.75rem;color:#6b7280}.inspection-gallery__card-notes{margin-top:.25rem;font-size:.75rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.general-subcats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}@media (max-width: 900px){.general-subcats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 500px){.general-subcats{grid-template-columns:1fr}}.general-subcat-card{border:none;border-radius:.5rem;padding:1.25rem 1rem;cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:transform .1s}.general-subcat-card:hover{transform:translateY(-2px)}.general-subcat-card__icon{font-size:2rem}.general-subcat-card__label{font-weight:600;font-size:.875rem;color:#374151}.general-subcat-card__count{font-size:1.5rem;font-weight:800;color:#003b73}.op-checklist-tabs{display:flex;gap:0;border-bottom:1px solid #e5e7eb;margin-top:1rem;overflow-x:auto}.op-checklist-tab{background:none;border:none;cursor:pointer;padding:.625rem 1rem;font-size:.875rem;white-space:nowrap;transition:color .1s}.op-checklist-tab:hover{color:#003b73}.register-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:#f8fafc}.register-shell__main{min-width:0;overflow-x:hidden}@media (max-width: 900px){.register-shell{grid-template-columns:1fr}}.sidebar-nav{background:#003b73;color:#fff;display:flex;flex-direction:column;padding:1rem .875rem;gap:.625rem;min-height:100vh;position:sticky;top:0;max-height:100vh;overflow-y:auto}.sidebar-nav__header{display:flex;flex-direction:column;gap:.5rem;padding:.25rem .25rem .5rem}.sidebar-nav__back{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#ffffffd9;padding:.35rem .6rem;border-radius:.375rem;cursor:pointer;font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;gap:.25rem;align-self:flex-start}.sidebar-nav__back:hover{background:#ffffff2e;color:#fff}.sidebar-nav__project{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav__upload{background:#fff;color:#003b73;border:none;padding:.6rem .85rem;border-radius:.375rem;font-size:.825rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;transition:background-color .15s}.sidebar-nav__upload:hover{background:#e0e7f0}.sidebar-nav__progress{background:transparent;border:1px solid rgba(255,255,255,.15);color:#ffffffd9;padding:.55rem .75rem;border-radius:.375rem;cursor:pointer;font-size:.825rem;font-weight:600;display:flex;align-items:center;gap:.5rem;text-align:left;transition:background-color .15s;margin-bottom:.25rem}.sidebar-nav__progress:hover{background:#ffffff14;color:#fff}.sidebar-nav__progress.is-active{background:#ffffff24;color:#fff;border-color:#ffffff4d}.sidebar-nav__sections{display:flex;flex-direction:column;gap:.875rem;padding-bottom:1rem}.sidebar-group{--accent: #fff;display:flex;flex-direction:column;gap:.125rem}.sidebar-group__title{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;padding:.25rem .5rem .35rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:.25rem}.sidebar-section{display:flex;align-items:center;gap:.5rem;padding:.4rem .55rem;border-radius:.3rem;background:transparent;border:none;cursor:pointer;text-align:left;color:#ffffffc7;font-size:.8rem;font-weight:500;transition:background-color .12s,color .12s;width:100%}.sidebar-section:hover{background:#ffffff0f;color:#fff}.sidebar-section.is-active{background:#ffffff1f;color:#fff;font-weight:600;box-shadow:inset 2px 0 #fff}.sidebar-section__icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:#fff9;flex-shrink:0}.sidebar-section.is-active .sidebar-section__icon{color:#fff}.sidebar-section__label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-section__count{font-size:.7rem;font-weight:600;background:#ffffff14;padding:.05rem .4rem;border-radius:9999px;min-width:1.4rem;text-align:center;color:#ffffffb3}.sidebar-section.is-active .sidebar-section__count{background:#ffffff38;color:#fff}.handover-progress{padding:2rem 2.5rem 3rem;max-width:1400px}.hp-header{margin-bottom:1.5rem}.hp-title{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:#111827;letter-spacing:-.015em}.hp-subtitle{margin:0;font-size:.875rem;color:#6b7280}.hp-error{margin-bottom:1rem;padding:.65rem .9rem;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:.375rem;font-size:.8rem}.hp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.875rem;margin-bottom:1.75rem}.hp-kpi{display:flex;align-items:center;gap:.875rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem 1.1rem;box-shadow:0 1px 2px #0f172a0a}.hp-kpi__icon{width:40px;height:40px;border-radius:.45rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hp-kpi__icon--blue{background:#e0e7f0;color:#003b73}.hp-kpi__icon--green{background:#d1fae5;color:#047857}.hp-kpi__icon--amber{background:#fef3c7;color:#b45309}.hp-kpi__icon--slate{background:#e2e8f0;color:#475569}.hp-kpi__value{font-size:1.5rem;font-weight:700;color:#111827;line-height:1.1;font-variant-numeric:tabular-nums}.hp-kpi__total{font-size:1rem;font-weight:500;color:#9ca3af}.hp-kpi__label{font-size:.75rem;color:#6b7280;margin-top:.15rem}@media (max-width: 1100px){.hp-kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.hp-kpis{grid-template-columns:1fr}.handover-progress{padding:1.25rem}}.hp-groups{display:flex;flex-direction:column;gap:1rem}.hp-group{--accent: #475569;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem 1.25rem .75rem;box-shadow:0 1px 2px #0f172a0a}.hp-group__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.6rem}.hp-group__title{margin:0;font-size:.95rem;font-weight:700;color:var(--accent);letter-spacing:-.01em}.hp-group__desc{margin:.1rem 0 0;font-size:.75rem;color:#6b7280}.hp-group__stats{text-align:right;flex-shrink:0}.hp-group__pct{font-size:1.25rem;font-weight:700;color:var(--accent);display:block;font-variant-numeric:tabular-nums}.hp-group__count{font-size:.7rem;color:#6b7280;display:block}.hp-group__bar{height:4px;background:#f3f4f6;border-radius:9999px;overflow:hidden;margin-bottom:.625rem}.hp-group__bar-fill{height:100%;background:var(--accent);border-radius:9999px;transition:width .25s}.hp-group__sections{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem .625rem}@media (max-width: 768px){.hp-group__sections{grid-template-columns:1fr}}.hp-section-row{display:grid;grid-template-columns:1fr auto 80px auto;align-items:center;gap:.625rem;padding:.45rem .625rem;background:transparent;border:1px solid transparent;border-radius:.3rem;cursor:pointer;text-align:left;font-size:.8rem;color:#374151;transition:background-color .12s,border-color .12s}.hp-section-row:hover{background:#f9fafb;border-color:#e5e7eb}.hp-section-row__label{font-weight:500;color:#111827;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-section-row__count{font-size:.72rem;color:#6b7280}.hp-section-row__bar{display:inline-block;width:80px;height:4px;background:#f3f4f6;border-radius:9999px;overflow:hidden}.hp-section-row__bar-fill{display:block;height:100%;background:var(--accent);border-radius:9999px}.hp-section-row__pct{font-size:.72rem;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.register-shell-root{display:flex;flex-direction:column;min-height:100vh}.register-shell-root .register-shell{flex:1;min-height:0}.topbar{display:flex;align-items:center;justify-content:space-between;background:#003b73;color:#fff;padding:.6rem 1.25rem;gap:1rem;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0;position:sticky;top:0;z-index:50}.topbar__left{display:flex;align-items:center;gap:.875rem;min-width:0}.topbar__logo{height:32px;width:auto;flex-shrink:0}.topbar__divider{width:1px;height:24px;background:#fff3;flex-shrink:0}.topbar__titles{display:flex;flex-direction:column;line-height:1.15;min-width:0}.topbar__app{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffffa6}.topbar__view{font-size:.95rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__right{display:flex;align-items:center;gap:.5rem}.topbar__btn{display:inline-flex;align-items:center;gap:.4rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#ffffffe6;padding:.4rem .75rem;font-size:.78rem;font-weight:600;border-radius:.375rem;cursor:pointer;white-space:nowrap;transition:background-color .15s,border-color .15s}.topbar__btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff40}.topbar__btn:disabled{opacity:.45;cursor:not-allowed}.topbar__user{display:inline-flex;align-items:center;gap:.45rem;padding:.25rem .5rem .25rem .3rem;background:#ffffff14;border-radius:9999px;margin-left:.25rem}.topbar__avatar{width:24px;height:24px;border-radius:50%;background:#ffffff38;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#fff;letter-spacing:.04em}.topbar__user-name{font-size:.78rem;color:#ffffffe6;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.topbar__signout{background:transparent;border:1px solid rgba(255,255,255,.18);color:#ffffffd9;padding:.4rem .6rem;font-size:.75rem;font-weight:600;border-radius:.375rem;cursor:pointer;transition:background-color .15s}.topbar__signout:hover{background:#ffffff1a;color:#fff}@media (max-width: 768px){.topbar__user-name,.topbar__btn span{display:none}}.sidebar-nav__nav-item{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid rgba(255,255,255,.15);color:#ffffffd9;padding:.55rem .75rem;border-radius:.375rem;cursor:pointer;font-size:.825rem;font-weight:600;text-align:left;transition:background-color .15s;margin-bottom:.25rem;width:100%}.sidebar-nav__nav-item:hover{background:#ffffff14;color:#fff}.sidebar-nav__nav-item.is-active{background:#ffffff24;color:#fff;border-color:#ffffff4d}.sidebar-nav__nav-item span:first-of-type{flex:1}.sidebar-nav__nav-badge{background:#fff;color:#003b73;font-size:.65rem;font-weight:700;padding:.05rem .4rem;border-radius:9999px;min-width:1.25rem;text-align:center}.docloglv{padding:1.5rem 2rem;display:flex;flex-direction:column;height:100%;min-height:calc(100vh - 56px)}.docloglv__header{margin-bottom:1rem}.docloglv__title{margin:0 0 .2rem;font-size:1.25rem;font-weight:700;color:#111827;letter-spacing:-.01em}.docloglv__subtitle{margin:0;font-size:.825rem;color:#6b7280}.docloglv__body{flex:1;min-height:0;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.section-page{--accent: #003B73;display:flex;flex-direction:column;height:100%;min-height:calc(100vh - 56px);padding:1.5rem 2rem;gap:1rem}.sp-header{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.sp-header__icon{width:44px;height:44px;border-radius:.5rem;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sp-header__text{flex:1;min-width:0}.sp-header__title{margin:0;font-size:1.25rem;font-weight:700;color:#111827;letter-spacing:-.01em;line-height:1.2}.sp-header__desc{margin:.2rem 0 0;font-size:.825rem;color:#6b7280;line-height:1.4}.sp-header__count{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;padding-left:1rem;border-left:1px solid #e5e7eb}.sp-header__count-value{font-size:1.75rem;font-weight:700;color:var(--accent);line-height:1;font-variant-numeric:tabular-nums}.sp-header__count-label{font-size:.7rem;color:#6b7280;text-transform:uppercase;letter-spacing:.06em;margin-top:.2rem}.sp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.sp-kpi{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem;background:#fff;border:1px solid #e5e7eb;border-left:3px solid var(--accent);border-radius:.45rem;box-shadow:0 1px 2px #0f172a0a}.sp-kpi__value{font-size:1.5rem;font-weight:700;color:#111827;line-height:1;font-variant-numeric:tabular-nums}.sp-kpi__label{font-size:.72rem;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.sp-error{padding:.7rem .95rem;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:.4rem;font-size:.85rem}.sp-state{background:#fff;border:1px dashed #e5e7eb;border-radius:.5rem;padding:3rem 1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#9ca3af;flex:1}.sp-state__title{margin:.75rem 0 .25rem;font-size:1rem;font-weight:600;color:#374151}.sp-state__hint{margin:0;font-size:.825rem;color:#9ca3af}.sp-spinner{width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.sp-state--loading p{color:#6b7280;font-size:.85rem;margin:.75rem 0 0}.sp-grid{flex:1;min-height:480px;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;overflow:hidden}.sp-grid .ag-header{background:#f9fafb;border-bottom:1px solid #e5e7eb}.sp-grid .ag-header-cell-text{font-size:.72rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.sp-grid .ag-row{border-bottom:1px solid #f3f4f6}.sp-grid .ag-row-hover{background-color:#f9fafb!important}.sp-grid .ag-cell{font-size:.825rem;color:#1f2937;display:flex;align-items:center}.hd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;z-index:80;animation:fadeIn .15s ease-out}.hd-drawer{--accent: #003B73;position:fixed;top:0;right:0;bottom:0;width:480px;max-width:90vw;background:#fff;display:flex;flex-direction:column;box-shadow:-8px 0 24px #0f172a1f;z-index:90;animation:hdSlideIn .18s ease-out}@keyframes hdSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.hd-drawer__header{display:flex;align-items:flex-start;gap:.75rem;padding:1.1rem 1.25rem .9rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(180deg,#fafbfc,#fff)}.hd-drawer__head-text{flex:1;min-width:0}.hd-drawer__section-badge{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,white);padding:.2rem .5rem;border-radius:9999px;margin-bottom:.4rem}.hd-drawer__title{margin:0;font-size:1.05rem;font-weight:700;color:#111827;line-height:1.3;letter-spacing:-.01em}.hd-drawer__close{background:transparent;border:1px solid #e5e7eb;color:#6b7280;width:32px;height:32px;border-radius:.4rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .12s,color .12s;flex-shrink:0}.hd-drawer__close:hover{background:#f3f4f6;color:#111827}.hd-drawer__body{flex:1;overflow-y:auto;padding:1rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.hd-section{display:flex;flex-direction:column;gap:.5rem}.hd-section__title{margin:0;font-size:.72rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.08em}.hd-section__text{margin:0;font-size:.875rem;line-height:1.5;color:#374151}.hd-fields{margin:0;display:grid;grid-template-columns:110px 1fr;gap:.4rem .75rem}.hd-field{display:contents}.hd-field dt{font-size:.75rem;color:#6b7280;font-weight:500;padding:.25rem 0}.hd-field dd{margin:0;font-size:.85rem;color:#1f2937;font-weight:500;padding:.25rem 0;word-break:break-word}.hd-tracking{display:flex;flex-direction:column;gap:.625rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:.875rem}.hd-input-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:.6rem;font-size:.8rem}.hd-input-row>span{font-weight:600;color:#374151}.hd-input-row--stack{grid-template-columns:1fr;align-items:stretch}.hd-input-row select,.hd-input-row input,.hd-input-row textarea{border:1px solid #d1d5db;border-radius:.35rem;padding:.4rem .55rem;font-size:.825rem;background:#fff;color:#1f2937;font-family:inherit}.hd-input-row select:focus,.hd-input-row input:focus,.hd-input-row textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.hd-input-row textarea{resize:vertical;min-height:70px;line-height:1.4}.hd-source{display:inline-flex;align-items:center;gap:.4rem;background:#f3f4f6;padding:.4rem .6rem;border-radius:.35rem;font-size:.78rem;color:#4b5563;word-break:break-all}.hd-source svg{color:#6b7280;flex-shrink:0}.hd-drawer__footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.85rem 1.25rem;border-top:1px solid #e5e7eb;background:#fff}.hd-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .95rem;border-radius:.4rem;font-size:.825rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background-color .15s,border-color .15s}.hd-btn--primary{background:var(--accent);color:#fff}.hd-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,black)}.hd-btn--primary:disabled{background:#cbd5e1;cursor:not-allowed}.hd-btn--ghost{background:transparent;color:#374151;border-color:#e5e7eb}.hd-btn--ghost:hover{background:#f3f4f6}.hd-saved-pill{font-size:.72rem;font-weight:600;background:#d1fae5;color:#047857;padding:.25rem .55rem;border-radius:9999px;margin-right:auto}.hd-spin{animation:spin .8s linear infinite}.hd-link-btn{display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:1px solid #e5e7eb;color:var(--accent);padding:.45rem .7rem;font-size:.78rem;font-weight:600;border-radius:.35rem;cursor:pointer;margin-top:.5rem;transition:background-color .15s,border-color .15s;width:fit-content}.hd-link-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 8%,white);border-color:var(--accent)}.hd-link-btn:disabled{opacity:.55;cursor:not-allowed}.hd-empty-line{margin:.25rem 0 0;font-size:.78rem;color:#9ca3af;font-style:italic}.hd-timeline{list-style:none;margin:0;padding:.25rem 0 0;position:relative}.hd-timeline:before{content:"";position:absolute;left:5px;top:.5rem;bottom:.5rem;width:2px;background:#e5e7eb}.hd-timeline__item{position:relative;padding:.35rem 0 .35rem 1.25rem}.hd-timeline__dot{position:absolute;left:0;top:.55rem;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 0 0 1px var(--accent)}.hd-timeline__line{font-size:.825rem;color:#1f2937}.hd-timeline__line strong{font-weight:600;color:var(--accent)}.hd-timeline__meta{font-size:.7rem;color:#6b7280;margin-top:.1rem}.hd-attachments{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.hd-attachment{display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.35rem}.hd-attachment__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.hd-attachment__name{font-size:.825rem;font-weight:500;color:#1f2937;word-break:break-all}.hd-attachment__meta{font-size:.7rem;color:#6b7280}.hd-attachment__action{background:transparent;border:1px solid #e5e7eb;color:var(--accent);width:30px;height:30px;border-radius:.3rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.hd-attachment__action:hover{background:color-mix(in srgb,var(--accent) 8%,white);border-color:var(--accent)}
