:root { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #172033; background: #f3f5f8; font-synthesis: none; --ink: #172033; --muted: #687188; --line: #dfe3ea; --soft: #f5f7fa; --blue: #2864dc; --blue-dark: #184caf; --navy: #111827; --green: #16835e; --red: #c23c46; --shadow: 0 10px 30px rgba(25, 40, 70, .07); } * { box-sizing: border-box; } html, body, #root { margin: 0; min-height: 100%; } body { min-width: 320px; background: #f3f5f8; } button, input, select, textarea { font: inherit; } button, a { -webkit-tap-highlight-color: transparent; } a { color: inherit; } .icon { flex: 0 0 auto; } .shell { min-height: 100vh; display: grid; grid-template-columns: 260px minmax(0, 1fr); } .sidebar { height: 100vh; position: sticky; top: 0; z-index: 30; display: flex; flex-direction: column; padding: 24px 16px 16px; color: white; background: linear-gradient(180deg, #111827 0%, #0b1220 100%); } .main-column { min-width: 0; min-height: 100vh; display: flex; flex-direction: column; } .content { min-width: 0; flex: 1; padding: 34px clamp(22px, 3vw, 48px) 48px; } .mobile-header { display: none; } .sidebar-backdrop { display: none; } .brand { display: flex; gap: 12px; align-items: center; padding: 0 8px 24px; border-bottom: 1px solid rgba(255,255,255,.09); margin-bottom: 20px; } .brand-mark { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(135deg, #3976ee, #2455bd); box-shadow: 0 8px 20px rgba(40,100,220,.28); font-size: 13px; font-weight: 900; letter-spacing: -.03em; } .brand-mark.large { width: 50px; height: 50px; border-radius: 14px; font-size: 15px; } .brand strong, .brand small { display: block; } .brand strong { font-size: 15px; } .brand small { color: rgba(255,255,255,.46); margin-top: 3px; font-size: 11px; } .sidebar-nav { display: grid; gap: 3px; overflow-y: auto; scrollbar-width: thin; } .nav-heading { padding: 0 12px 7px; color: rgba(255,255,255,.34); font-size: 9px; font-weight: 800; letter-spacing: .16em; } .nav-heading.spaced { margin-top: 17px; } .nav-link { display: flex; align-items: center; gap: 11px; min-height: 42px; padding: 9px 12px; border-radius: 9px; color: rgba(255,255,255,.62); text-decoration: none; font-size: 13px; font-weight: 550; transition: .18s ease; } .nav-link:hover { background: rgba(255,255,255,.055); color: white; } .nav-link.active { color: white; background: rgba(54,116,236,.2); box-shadow: inset 2px 0 #4b82f0; } .nav-link.active .icon { color: #73a0ff; } .sidebar-user { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; align-items: center; margin-top: auto; padding: 16px 6px 0; border-top: 1px solid rgba(255,255,255,.09); } .user-avatar, .mini-avatar, .profile-avatar { display: grid; place-items: center; color: #2759c3; background: #dce8ff; font-weight: 800; } .user-avatar { width: 34px; height: 34px; border-radius: 50%; font-size: 11px; } .user-copy { min-width: 0; } .user-copy strong, .user-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .user-copy strong { font-size: 11px; } .user-copy small { margin-top: 2px; color: rgba(255,255,255,.4); font-size: 9px; text-transform: capitalize; } .app-footer { min-height: 48px; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 7px; padding: 12px clamp(22px, 3vw, 48px); color: #858da0; background: rgba(255,255,255,.72); border-top: 1px solid var(--line); font-size: 11px; } .app-footer strong { color: var(--blue); } .page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 25px; } .page-heading h1, .system-page h1 { margin: 6px 0 5px; font-size: clamp(29px, 3.2vw, 42px); line-height: 1.06; letter-spacing: -.045em; } .page-heading p { margin: 0; color: var(--muted); font-size: 14px; } .eyebrow { display: block; color: var(--blue); font-size: 10px; font-weight: 850; letter-spacing: .14em; } .eyebrow.light { color: #82a9fa; } h2 { margin: 5px 0 0; font-size: 20px; letter-spacing: -.025em; } h3 { margin: 0; font-size: 15px; } .muted { color: var(--muted); } .lead { max-width: 780px; margin: 0 0 28px; color: var(--muted); } .narrow-section { max-width: 1020px; margin: 0 auto; } .button { min-height: 39px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 15px; border: 1px solid transparent; border-radius: 9px; cursor: pointer; text-decoration: none; font-size: 12px; font-weight: 750; transition: .18s ease; } .button:disabled { cursor: not-allowed; opacity: .5; } .button.primary { color: white; background: var(--blue); box-shadow: 0 6px 15px rgba(40,100,220,.18); } .button.primary:hover:not(:disabled) { background: var(--blue-dark); transform: translateY(-1px); } .button.secondary { color: #4e5870; background: white; border-color: var(--line); } .button.secondary:hover:not(:disabled) { border-color: #bac4d3; color: var(--ink); } .button.text { color: var(--muted); background: transparent; } .button.text:hover { color: var(--ink); background: var(--soft); } .button.danger-outline { color: var(--red); background: white; border-color: #e9bac0; } .button.success-outline { color: var(--green); background: white; border-color: #a8d8c6; } .button.wide { width: 100%; } .icon-button { width: 35px; height: 35px; display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 9px; color: #5f687c; background: white; cursor: pointer; text-decoration: none; } .icon-button:hover { color: var(--blue); border-color: #b8c9ef; } .icon-button.dark { width: 30px; height: 30px; color: rgba(255,255,255,.48); background: transparent; border-color: transparent; } .icon-button.dark:hover { color: white; background: rgba(255,255,255,.06); } .text-link { display: inline-flex; align-items: center; gap: 4px; color: var(--blue); text-decoration: none; font-size: 12px; font-weight: 750; } .panel, .table-panel, .toolbar { background: white; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); } .panel { padding: 21px; } .panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 19px; } .panel-heading h2 { margin-top: 4px; } .field { display: grid; gap: 7px; color: #485269; font-size: 11px; font-weight: 700; } .field span { display: flex; justify-content: space-between; } .field em { color: #9299a8; font-style: normal; font-weight: 500; } .field small { color: #8b93a5; font-weight: 500; } .field input, .field select, .field textarea, .select-field select { width: 100%; min-height: 41px; padding: 9px 11px; border: 1px solid #d7dce5; border-radius: 8px; outline: none; color: var(--ink); background: white; font-size: 13px; resize: vertical; } .field textarea { min-height: 82px; } .field input:focus, .field select:focus, .field textarea:focus, .select-field select:focus { border-color: #6b95ed; box-shadow: 0 0 0 3px rgba(40,100,220,.1); } .field input:disabled, .field select:disabled, .field textarea:disabled { color: #656e81; background: #f4f6f8; } .form-panel { display: grid; gap: 22px; } .form-section { display: grid; gap: 15px; padding-bottom: 22px; border-bottom: 1px solid var(--line); } .form-section:last-of-type { border-bottom: 0; } .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; } .form-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 2px; } .check-row { display: flex; gap: 11px; align-items: flex-start; cursor: pointer; } .check-row input { margin-top: 3px; accent-color: var(--blue); } .check-row strong, .check-row small { display: block; } .check-row strong { font-size: 12px; } .check-row small { margin-top: 3px; color: var(--muted); font-size: 11px; } .alert-box { margin: 0 0 16px; padding: 11px 13px; border: 1px solid #efbdc2; border-radius: 9px; color: #9c2732; background: #fff3f4; font-size: 12px; } .alert-box.success { color: #116347; background: #edf9f4; border-color: #b4dfcf; } .alert-box.info { color: #2854a6; background: #f0f5ff; border-color: #bfd1f5; } .loading-block, .full-screen-state { min-height: 160px; display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--muted); font-size: 13px; } .full-screen-state { min-height: 100vh; } .spinner { width: 18px; height: 18px; display: inline-block; border: 2px solid #cdd4df; border-top-color: var(--blue); border-radius: 50%; animation: spin .7s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .empty-state { min-height: 220px; display: grid; place-content: center; justify-items: center; padding: 25px; text-align: center; background: white; border: 1px dashed #cad0da; border-radius: 14px; } .empty-state strong { font-size: 17px; } .empty-state p { max-width: 400px; margin: 7px 0 0; color: var(--muted); font-size: 13px; } .login-page { min-height: 100vh; display: grid; grid-template-columns: minmax(360px, .9fr) minmax(500px, 1.1fr); } .login-intro { min-height: 100vh; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(32px, 5vw, 76px); color: white; background: radial-gradient(circle at 85% 15%, rgba(66,119,231,.28), transparent 34%), linear-gradient(150deg, #101a2e, #0a101d); } .login-brand { display: flex; align-items: center; gap: 13px; font-size: 17px; } .login-intro h1 { margin: 13px 0 17px; font-size: clamp(40px, 5vw, 68px); line-height: .99; letter-spacing: -.055em; } .login-intro p { max-width: 540px; color: rgba(255,255,255,.59); font-size: 16px; line-height: 1.6; } .login-intro > small { color: rgba(255,255,255,.32); } .login-panel { display: grid; place-items: center; padding: 28px; background: #f7f8fa; } .login-card { width: min(100%, 430px); display: grid; gap: 17px; padding: clamp(26px, 4vw, 43px); background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 25px 70px rgba(30,45,75,.12); } .login-card h2 { margin: -3px 0 0; font-size: 30px; } .login-card > .muted { margin: -10px 0 3px; font-size: 13px; } .security-note { margin: 2px 0 0; color: #9299a8; text-align: center; font-size: 10px; line-height: 1.5; } .centered-page { min-height: 100vh; display: grid; place-items: center; padding: 25px; background: radial-gradient(circle at 50% 0, #dce8ff, transparent 40%), #f3f5f8; } .password-card { width: min(100%, 500px); } .round-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: var(--blue); background: #e6eeff; } .health-pill { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: white; font-size: 10px; font-weight: 700; } .health-pill > span { width: 7px; height: 7px; border-radius: 50%; background: #a5abb7; } .health-pill.ok > span { background: #24a777; box-shadow: 0 0 0 3px rgba(36,167,119,.13); } .stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 13px; margin-bottom: 16px; } .stat-card { display: flex; align-items: flex-start; gap: 13px; min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 13px; color: inherit; background: white; box-shadow: var(--shadow); text-decoration: none; } .stat-card > div:last-child { min-width: 0; } .stat-card small, .stat-card strong, .stat-card span { display: block; } .stat-card small { overflow: hidden; color: #8b93a5; font-size: 8px; font-weight: 850; letter-spacing: .09em; white-space: nowrap; } .stat-card strong { margin: 5px 0 1px; font-size: 27px; letter-spacing: -.04em; } .stat-card strong.word-stat { font-size: 22px; } .stat-card span { overflow: hidden; color: var(--muted); font-size: 10px; white-space: nowrap; text-overflow: ellipsis; } .stat-icon { width: 37px; height: 37px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; } .stat-icon.blue { color: #285bc2; background: #e5edff; } .stat-icon.gray { color: #667085; background: #edf0f4; } .stat-icon.green { color: #147654; background: #e2f5ee; } .stat-icon.violet { color: #6c45b7; background: #eee7fb; } .stat-icon.observed { color: #a24629; background: #fff0e9; } .stat-icon.danger { color: #a12d3c; background: #fdecef; } .dashboard-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 24px 0 11px; } .dashboard-section-heading h2 { margin: 4px 0 0; font-size: 17px; } .finding-stat-grid { margin-bottom: 13px; } .upcoming-controls-panel { margin-bottom: 16px; } .control-item { color: inherit; text-decoration: none; } .control-item:hover strong { color: var(--blue); } .activity-dot.overdue-dot { border-color: #cf4b5d; background: #fdecef; } .dashboard-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(280px,.8fr); gap: 16px; } .activity-list { display: grid; } .activity-item { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 12px 0; border-top: 1px solid #edf0f4; } .activity-item:first-child { border-top: 0; } .activity-dot { width: 8px; height: 8px; border: 2px solid #89aaf0; border-radius: 50%; } .activity-item strong { display: block; font-size: 12px; } .activity-item p { margin: 3px 0 0; color: var(--muted); font-size: 10px; } .activity-item time { color: #8b93a5; font-size: 9px; } .quick-panel { align-content: start; } .quick-links { display: grid; margin-top: 17px; } .quick-links a { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 13px 0; border-top: 1px solid #edf0f4; color: #566078; text-decoration: none; } .quick-links a:hover { color: var(--blue); } .quick-links a > span strong, .quick-links a > span small { display: block; } .quick-links a > span strong { color: var(--ink); font-size: 12px; } .quick-links a > span small { margin-top: 3px; color: var(--muted); font-size: 10px; } .toolbar { display: flex; align-items: end; gap: 13px; padding: 13px; margin-bottom: 15px; } .search-field { min-height: 41px; display: flex; align-items: center; gap: 8px; flex: 1; padding-left: 11px; border: 1px solid #d7dce5; border-radius: 8px; color: #8a92a4; background: white; } .search-field:focus-within { border-color: #6b95ed; box-shadow: 0 0 0 3px rgba(40,100,220,.1); } .search-field input { min-width: 0; flex: 1; padding: 9px 0; border: 0; outline: none; color: var(--ink); font-size: 12px; } .search-field button { align-self: stretch; padding: 0 13px; border: 0; border-left: 1px solid var(--line); color: var(--blue); background: transparent; cursor: pointer; font-size: 11px; font-weight: 750; } .select-field { display: grid; gap: 5px; width: 170px; color: var(--muted); font-size: 9px; font-weight: 750; } .table-panel { overflow: hidden; } .table-summary { display: flex; justify-content: space-between; padding: 13px 17px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; } .table-summary strong { color: var(--ink); font-size: 11px; } .table-scroll { overflow-x: auto; } table { width: 100%; border-collapse: collapse; } th { padding: 11px 16px; color: #8a92a3; background: #fafbfc; border-bottom: 1px solid var(--line); text-align: left; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; } td { padding: 13px 16px; border-bottom: 1px solid #edf0f4; color: #4d566b; font-size: 11px; vertical-align: middle; } tbody tr:hover { background: #fbfcfe; } tbody tr:last-child td { border-bottom: 0; } .person-cell { display: flex; align-items: center; gap: 10px; min-width: 220px; } .mini-avatar { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; font-size: 10px; } .person-cell strong, .person-cell small { display: block; } .person-cell strong { color: var(--ink); font-size: 11px; } .person-cell small { margin-top: 3px; color: var(--muted); font-size: 9px; } .tag-list { display: flex; flex-wrap: wrap; gap: 4px; } .tag, .count-pill { display: inline-flex; align-items: center; padding: 4px 7px; border: 1px solid #d9e3f6; border-radius: 999px; color: #365b9e; background: #f1f5fd; font-size: 9px; font-weight: 700; } .count-pill { min-width: 25px; justify-content: center; } .count-pill.large { padding: 7px 10px; } .status-badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; } .status-badge::before { content: ""; width: 5px; height: 5px; border-radius: 50%; } .status-badge.active { color: #137152; background: #e8f7f1; } .status-badge.active::before { background: #1b9b6e; } .status-badge.inactive { color: #7b5560; background: #f4ecef; } .status-badge.inactive::before { background: #ad6e7c; } .status-badge.pending { color: #896a19; background: #fff7dc; } .status-badge.pending::before { background: #d5a529; } .status-badge.observed { color: #a24629; background: #fff0e9; } .status-badge.observed::before { background: #d46b45; } .inline-note { display: block; margin-top: 5px; color: #987522; font-size: 8px; } .action-cell { width: 50px; } .pagination { display: flex; align-items: center; justify-content: flex-end; gap: 13px; padding: 13px 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; } .breadcrumb { display: flex; gap: 8px; margin-bottom: 16px; color: var(--muted); font-size: 11px; } .breadcrumb a { color: var(--blue); text-decoration: none; } .user-heading { align-items: center; } .profile-title { display: flex; align-items: center; gap: 15px; } .profile-avatar { width: 58px; height: 58px; flex: 0 0 auto; border-radius: 16px; font-size: 16px; } .detail-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(310px,.7fr); gap: 16px; align-items: start; } .metadata-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; } .metadata-grid > div { padding: 11px; border-radius: 8px; background: var(--soft); } .metadata-grid small, .metadata-grid strong { display: block; } .metadata-grid small { color: var(--muted); font-size: 8px; text-transform: uppercase; } .metadata-grid strong { margin-top: 4px; font-size: 10px; } .choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; } .choice-list { display: grid; gap: 8px; } .choice-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; align-items: center; min-height: 64px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; cursor: pointer; } .choice-card:hover { border-color: #b7c9ed; } .choice-card.selected { border-color: #8eaceb; background: #f5f8ff; } .choice-card input { accent-color: var(--blue); } .choice-card > .icon { color: transparent; } .choice-card.selected > .icon { color: var(--blue); } .choice-card strong, .choice-card small { display: block; } .choice-card strong { font-size: 11px; } .choice-card small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.35; } .choice-card.compact { min-height: 58px; } .roles-layout { display: grid; grid-template-columns: 255px minmax(0,1fr); gap: 16px; align-items: start; } .role-list { padding: 8px; } .role-list-heading { display: flex; justify-content: space-between; padding: 10px 9px 13px; color: var(--muted); font-size: 10px; } .role-list-item { width: 100%; display: flex; justify-content: space-between; gap: 10px; padding: 11px 10px; border: 0; border-radius: 8px; color: #596278; background: transparent; cursor: pointer; text-align: left; } .role-list-item:hover { background: var(--soft); } .role-list-item.active { color: var(--blue); background: #eff4ff; } .role-list-item strong, .role-list-item small { display: block; } .role-list-item strong { color: var(--ink); font-size: 11px; } .role-list-item small { margin-top: 3px; font-size: 9px; } .role-count { color: #8a92a4; font-size: 8px; white-space: nowrap; } .permission-matrix { display: grid; gap: 14px; } .permission-matrix > div > p { margin: 4px 0 0; color: var(--muted); font-size: 10px; } .permission-matrix fieldset { margin: 0; padding: 11px; border: 1px solid var(--line); border-radius: 10px; } .permission-matrix legend { padding: 0 6px; color: #4d5870; font-size: 10px; font-weight: 800; } .permission-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; } .permission-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 9px; border-radius: 7px; cursor: pointer; } .permission-row:hover { background: var(--soft); } .permission-row.checked { background: #f3f7ff; } .permission-row input { accent-color: var(--blue); } .permission-row strong, .permission-row small { display: block; } .permission-row strong { font-family: ui-monospace, monospace; font-size: 9px; } .permission-row small { margin-top: 3px; color: var(--muted); font-size: 8px; } .permission-row > .icon { color: transparent; } .permission-row.checked > .icon { color: var(--blue); } .audit-filters { display: grid; grid-template-columns: minmax(230px,1.6fr) repeat(4,minmax(120px,.7fr)); gap: 10px; align-items: end; margin-bottom: 15px; padding: 14px; } .audit-filters .search-field { margin-bottom: 0; } .compact-field { gap: 5px; } .compact-field input, .compact-field select { min-height: 41px; } .filter-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 6px; padding-top: 2px; } .audit-table td { max-width: 230px; } .cell-subtext { display: block; margin-top: 4px; color: #8a92a3; font-size: 8px; overflow: hidden; text-overflow: ellipsis; } .code-text { max-width: 220px; font-family: ui-monospace, monospace; white-space: nowrap; } .event-badge { color: #2d5fae; font-size: 10px; font-weight: 750; } .event-badge.warning { color: #aa3b45; } code { color: #5e6677; font-family: ui-monospace, monospace; font-size: 9px; } .history-filters { display: grid; grid-template-columns: minmax(230px,1.5fr) repeat(5,minmax(118px,.65fr)); gap: 10px; align-items: end; margin-bottom: 15px; padding: 14px; } .history-filters .search-field { margin-bottom: 0; } .history-table td { max-width: 250px; } .history-asset-link { display: block; min-width: 180px; text-decoration: none; } .history-asset-link:hover strong { color: var(--blue); } .history-asset-link strong, .history-asset-link small { display: block; } .history-asset-link strong { color: var(--ink); font-size: 11px; } .history-asset-link small { margin-top: 3px; color: var(--muted); font-size: 9px; } .version-badge { display: inline-flex; align-items: center; padding: 4px 8px; border: 1px solid #dfe3ea; border-radius: 999px; color: #687188; background: #f7f8fa; font-size: 9px; font-weight: 800; white-space: nowrap; } .version-badge.current { color: #17694e; background: #eaf8f2; border-color: #b9e1d2; } .asset-history-panel { display: grid; gap: 13px; margin-top: 16px; } .asset-history-panel .panel-heading { margin-bottom: 0; } .asset-timeline { display: grid; margin-top: 3px; } .timeline-entry { width: 100%; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: start; padding: 13px 5px; border: 0; border-top: 1px solid #edf0f4; color: #4d566b; background: transparent; cursor: pointer; text-align: left; } .timeline-entry:hover { background: #fbfcfe; } .timeline-entry:first-child { border-top: 0; } .timeline-entry strong, .timeline-entry small { display: block; } .timeline-entry strong { color: var(--ink); font-size: 11px; } .timeline-entry small { margin: 4px 0 7px; color: var(--muted); font-size: 9px; } .timeline-entry em { font-style: normal; } .timeline-dot { width: 10px; height: 10px; margin-top: 3px; border: 2px solid #8ba9e8; border-radius: 50%; background: white; box-shadow: 0 0 0 4px #edf3ff; } .timeline-dot.current { border-color: #1b9b6e; background: #1b9b6e; box-shadow: 0 0 0 4px #e5f5ef; } .history-limit-note { margin: 0; color: var(--muted); font-size: 9px; text-align: center; } .asset-version-drawer { width: min(700px, 96vw); } .drawer-heading p { margin: 5px 0 0; color: var(--muted); font-size: 10px; } .version-heading-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 13px; margin-top: 16px; color: var(--muted); font-size: 9px; } .detail-list.compact { margin: 10px 0 0; } .snapshot-section { display: grid; gap: 9px; padding: 15px 0; border-top: 1px solid var(--line); } .snapshot-section h3 { font-size: 12px; } .snapshot-section p { margin: 0; color: #596278; font-size: 10px; line-height: 1.55; } .snapshot-attributes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; } .snapshot-attributes > div { min-width: 0; display: grid; gap: 4px; padding: 10px; border-radius: 8px; background: var(--soft); } .snapshot-attributes small { color: var(--muted); font-size: 8px; } .snapshot-attributes strong { overflow-wrap: anywhere; font-size: 10px; } .snapshot-attributes code { color: #8a92a4; } .assets-toolbar .select-field { min-width: 190px; } .assets-toolbar .search-field { min-width: 280px; flex: 1 1 320px; } .asset-cell { display: flex; align-items: center; gap: 10px; min-width: 210px; } .asset-cell strong, .asset-cell small { display: block; } .asset-cell strong, .table-primary { color: var(--ink); font-size: 11px; } .asset-cell small { margin-top: 3px; color: var(--muted); font-family: ui-monospace, monospace; font-size: 9px; } .asset-symbol { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; color: #285bc2; background: #e5edff; } .asset-editor-heading { align-items: center; } .section-copy, .parent-type-section p { margin: 4px 0 0; color: var(--muted); font-size: 10px; } .dynamic-attributes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; } .attribute-check { min-height: 58px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; } .inline-empty { padding: 16px; border: 1px dashed #cdd4df; border-radius: 10px; color: var(--muted); background: #fafbfc; font-size: 11px; text-align: center; } .asset-types-layout { display: grid; grid-template-columns: 255px minmax(0,1fr); gap: 16px; align-items: start; } .asset-type-workspace { display: grid; gap: 16px; min-width: 0; } .type-flags { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); } .parent-type-section { display: grid; gap: 10px; } .small-copy { font-size: 10px; } .attributes-panel { display: grid; gap: 15px; } .attribute-list { display: grid; gap: 7px; } .attribute-card { width: 100%; display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 11px; align-items: center; padding: 11px; border: 1px solid var(--line); border-radius: 9px; color: #4d566b; background: white; cursor: pointer; text-align: left; } .attribute-card:hover { border-color: #b8c9ef; background: #fbfcff; } .attribute-card.disabled { opacity: .62; } .attribute-card strong, .attribute-card small { display: block; } .attribute-card strong { color: var(--ink); font-size: 11px; } .attribute-card small { margin-top: 3px; color: var(--muted); font-size: 9px; } .attribute-order { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: #52617e; background: var(--soft); font-size: 9px; font-weight: 800; } .attribute-flags { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; } .attribute-editor { display: grid; gap: 16px; margin-top: 3px; padding: 17px; border: 1px solid #c6d5f2; border-radius: 11px; background: #f8faff; } .attribute-editor-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .catalog-policy-note { display: flex; align-items: center; gap: 11px; margin: -8px 0 18px; padding: 12px 14px; border: 1px solid #bfd8ce; border-radius: 10px; color: #315f50; background: #eef9f5; font-size: 10px; } .catalog-policy-note .icon { flex: 0 0 auto; } .catalog-policy-note strong, .catalog-revision-warning strong, .catalog-revision-warning span { display: block; } .catalog-heading-panel { display: flex; align-items: center; justify-content: space-between; gap: 18px; } .catalog-heading-panel h2 { margin: 5px 0; } .catalog-heading-panel small { color: var(--muted); font-size: 9px; } .catalog-heading-actions { display: flex; gap: 8px; } .catalog-inactive-toggle { display: flex; align-items: center; gap: 7px; margin: 8px 7px 4px; padding-top: 11px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; } .catalog-inactive-toggle input { accent-color: var(--blue); } .catalog-toolbar { display: flex; align-items: center; gap: 14px; } .catalog-toolbar .search-field { flex: 1; margin: 0; } .catalog-toolbar > span { color: var(--muted); font-size: 9px; white-space: nowrap; } .catalog-item-card .attribute-order { width: 34px; } .catalog-drawer { display: grid; grid-template-rows: auto 1fr auto; gap: 18px; } .catalog-editor-fields { align-content: start; display: grid; gap: 15px; } .catalog-revision-warning { padding: 12px; border-radius: 9px; color: #725721; background: #fff8e7; font-size: 9px; line-height: 1.45; } .catalog-revision-warning span { margin-top: 3px; color: #8a713d; } .modal-backdrop { position: fixed; inset: 0; z-index: 80; display: flex; justify-content: flex-end; background: rgba(9,15,27,.48); backdrop-filter: blur(2px); } .detail-drawer { width: min(620px, 94vw); height: 100%; overflow-y: auto; padding: clamp(22px,4vw,38px); background: white; box-shadow: -20px 0 50px rgba(0,0,0,.16); } .drawer-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; padding-bottom: 19px; border-bottom: 1px solid var(--line); } .drawer-heading .icon-button { font-size: 24px; } .detail-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 18px 0; background: var(--line); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; } .detail-list > div { padding: 11px; background: white; } .detail-list dt { color: #8a92a4; font-size: 8px; font-weight: 800; text-transform: uppercase; } .detail-list dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 10px; } .json-detail { margin-top: 10px; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; } .json-detail summary { padding: 10px 12px; cursor: pointer; color: #4d5870; background: #f8f9fb; font-size: 10px; font-weight: 800; } .json-detail pre { max-height: 300px; overflow: auto; margin: 0; padding: 13px; color: #34405a; background: #111827; color: #dce6f8; font: 9px/1.55 ui-monospace, monospace; white-space: pre-wrap; overflow-wrap: anywhere; } .map-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 14px; min-height: 650px; } .filters { display: grid; align-content: start; gap: 10px; padding: 18px; background: white; border: 1px solid var(--line); border-radius: 14px; } .filters label { display: flex; gap: 8px; align-items: center; font-size: 12px; } .filters hr { width: 100%; border: 0; border-top: 1px solid var(--line); } .date-field { display: grid !important; gap: 6px !important; } .date-field span { color: var(--muted); font-size: 11px; } .date-field input { width: 100%; padding: 9px; border: 1px solid var(--line); border-radius: 8px; } .map-canvas { min-height: 650px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #eceff2; } .map-count { min-width: 110px; display: inline-flex; align-items: baseline; justify-content: center; gap: 6px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); background: white; font-size: 10px; } .map-count strong { color: var(--blue); font-size: 20px; } .operational-map-layout { grid-template-columns: 280px minmax(0,1fr); } .map-sidebar { max-height: 650px; overflow-y: auto; } .map-sidebar h2 { margin-top: 5px; } .map-stage { min-width: 0; position: relative; } .map-stage .map-canvas { height: 650px; } .map-loading { position: absolute; inset: 0; z-index: 5; display: grid; place-items: center; border-radius: 14px; background: rgba(243,245,248,.68); backdrop-filter: blur(2px); pointer-events: none; } .map-empty { position: absolute; left: 50%; bottom: 22px; z-index: 4; width: min(380px, calc(100% - 30px)); display: grid; justify-items: center; gap: 5px; padding: 17px; transform: translateX(-50%); border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: rgba(255,255,255,.94); box-shadow: var(--shadow); text-align: center; font-size: 10px; pointer-events: none; } .map-empty strong { color: var(--ink); font-size: 13px; } .map-selection { display: grid; gap: 9px; margin-top: 5px; padding-top: 16px; border-top: 1px solid var(--line); } .map-selection h3 { font-size: 15px; } .map-selection code { font-size: 9px; } .map-selection p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; } .map-selection-meta { display: flex; flex-wrap: wrap; gap: 5px; } .geometry-editor { display: grid; gap: 16px; margin-top: 16px; } .geometry-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; } .geometry-type-buttons { display: flex; flex-wrap: wrap; gap: 6px; } .geometry-map { height: 480px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #e9edf2; } .geometry-progress { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: var(--soft); font-size: 10px; } .geometry-progress strong { color: var(--ink); font-size: 11px; } .geometry-progress > div { display: flex; gap: 4px; } .geometry-metadata { grid-template-columns: repeat(3,minmax(0,1fr)); } .geometry-audit-note { display: flex; flex-wrap: wrap; gap: 7px 14px; padding: 9px 11px; border-radius: 8px; color: #677188; background: #f3f6fb; font-size: 9px; } .asset-media-panel { display: grid; gap: 16px; margin-top: 16px; } .asset-media-panel .panel-heading { margin-bottom: 0; } .media-upload-form { display: grid; gap: 13px; padding: 16px; border: 1px solid #cbd8ef; border-radius: 11px; background: #f8faff; } .media-upload-form input[type="file"] { padding: 7px; } .media-location-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 13px; color: var(--muted); font-size: 9px; } .media-location-row > span { flex: 1; min-width: 150px; } .media-section { display: grid; gap: 10px; padding-top: 4px; } .media-section > h3 { padding-bottom: 8px; border-bottom: 1px solid var(--line); } .media-photo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; } .media-card { min-width: 0; border: 1px solid var(--line); border-radius: 11px; background: white; overflow: hidden; } .media-card.photo { display: grid; grid-template-rows: auto 1fr; } .media-photo-preview { aspect-ratio: 16 / 10; overflow: hidden; background: #edf0f4; } .media-photo-preview img { width: 100%; height: 100%; display: block; object-fit: cover; } .media-preview-loading { height: 100%; display: grid; place-items: center; } .media-card-copy { min-width: 0; padding: 11px; } .media-card-copy strong, .media-card-copy small { display: block; } .media-card-copy strong { overflow: hidden; color: var(--ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; } .media-card-copy small { margin-top: 4px; color: var(--muted); font-size: 8px; } .media-card-copy p { display: -webkit-box; overflow: hidden; margin: 8px 0 0; color: #5e687c; font-size: 9px; line-height: 1.5; -webkit-line-clamp: 3; -webkit-box-orient: vertical; } .media-card-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 3px; margin-top: 8px; } .media-card-actions .button { min-height: 31px; padding: 6px 9px; font-size: 9px; } .danger-text { color: var(--red) !important; } .media-document-list { display: grid; gap: 7px; } .media-card.document { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px; } .media-card.document .media-card-copy { padding: 0; } .media-card.document .media-card-actions { margin: 0; } .media-edit-drawer { width: min(570px, 94vw); } .media-edit-fields { display: grid; gap: 14px; margin-top: 20px; } .provenance-panel { display: grid; gap: 16px; margin-top: 16px; } .provenance-panel .panel-heading { margin-bottom: 0; } .provenance-status { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid #ead7aa; border-radius: 999px; color: #8b6515; background: #fff9e9; font-size: 9px; font-weight: 800; white-space: nowrap; } .provenance-status.verified { color: #17694e; border-color: #b9e1d2; background: #eaf8f2; } .provenance-form { display: grid; gap: 13px; padding: 16px; border: 1px solid #cbd8ef; border-radius: 11px; background: #f8faff; } .provenance-actions { align-items: center; justify-content: space-between; } .provenance-updated { color: var(--muted); font-size: 9px; } .provenance-verification { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); } .provenance-verification strong { font-size: 11px; } .provenance-verification p { margin: 4px 0 0; color: var(--muted); font-size: 9px; } .provenance-readonly { margin: 0; } .provenance-table-status { display: inline-grid; grid-template-columns: auto auto; align-items: center; gap: 2px 5px; min-width: 125px; color: #775c20; font-size: 9px; font-weight: 750; } .provenance-table-status.verified { color: #17694e; } .provenance-table-status small { grid-column: 2; color: var(--muted); font-size: 8px; font-weight: 500; } .temporal-notice { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; padding: 12px 14px; border: 1px solid #cbd8ef; border-radius: 10px; color: #465879; background: #f3f7ff; } .temporal-notice .icon { flex: 0 0 auto; color: var(--blue); } .temporal-notice p { margin: 0; font-size: 10px; line-height: 1.5; } .temporal-filters { grid-template-columns: minmax(190px,.9fr) minmax(230px,1.4fr) repeat(2,minmax(125px,.7fr)); } .temporal-date input { min-height: 41px; } .temporal-result-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 17px 0 10px; color: var(--muted); font-size: 9px; } .temporal-result-heading strong { color: var(--ink); font-size: 11px; } .temporal-table td { max-width: 260px; } .survey-toolbar .select-field { width: 210px; } .survey-date-range { display: grid; gap: 3px; white-space: nowrap; } .survey-date-range small { color: var(--muted); font-size: 8px; } .survey-progress { min-width: 105px; display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: center; } .survey-progress strong { color: var(--ink); font-size: 10px; } .survey-progress > span { height: 6px; overflow: hidden; border-radius: 999px; background: #e6eaf0; } .survey-progress i { height: 100%; display: block; border-radius: inherit; background: var(--green); } .status-badge.large { padding: 7px 11px; font-size: 10px; } .survey-editor { display: grid; gap: 16px; } .survey-editor .breadcrumb, .survey-editor .page-heading { margin-bottom: 0; } .survey-editor-heading { align-items: center; } .survey-status-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; } .survey-status-actions strong { font-size: 12px; } .survey-status-actions p { margin: 4px 0 0; color: var(--muted); font-size: 9px; } .survey-status-actions > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; } .survey-add-target { display: grid; gap: 15px; } .survey-add-target .panel-heading { margin-bottom: 0; } .survey-targets { margin-top: 0; } .survey-targets td { min-width: 140px; } .survey-targets td:first-child { min-width: 220px; } .survey-inline-select, .survey-inline-input { width: 100%; min-width: 130px; min-height: 33px; margin-top: 6px; padding: 6px 8px; border: 1px solid #d7dce5; border-radius: 7px; color: var(--ink); background: white; font-size: 9px; } .survey-inline-select.wide { min-width: 175px; margin-top: 0; } .survey-inline-input { min-width: 180px; margin-top: 0; } .survey-inline-input.instructions { min-width: 210px; } .survey-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; } .survey-execution-page { display: grid; gap: 16px; } .survey-execution-page .breadcrumb, .survey-execution-page .page-heading { margin-bottom: 0; } .survey-execution-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; } .survey-execution-summary article { display: grid; gap: 5px; } .survey-execution-summary strong { font-size: 12px; } .survey-execution-summary small { color: var(--muted); font-size: 9px; } .survey-start-panel { display: flex; align-items: center; justify-content: space-between; gap: 18px; } .survey-start-panel strong { font-size: 12px; } .survey-start-panel p { margin: 4px 0 0; color: var(--muted); font-size: 9px; } .survey-report-form { display: grid; gap: 17px; } .survey-report-form .panel-heading { margin-bottom: 0; } .survey-outcome-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; } .survey-outcome { position: relative; min-height: 105px; display: grid; align-content: start; gap: 6px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; background: white; } .survey-outcome:hover { border-color: #b7c8e8; } .survey-outcome.selected { border-color: #6c94e7; background: #f4f7ff; box-shadow: inset 0 0 0 1px #6c94e7; } .survey-outcome input { position: absolute; right: 11px; top: 11px; accent-color: var(--blue); } .survey-outcome strong { padding-right: 20px; font-size: 11px; } .survey-outcome small { color: var(--muted); font-size: 9px; line-height: 1.45; } .survey-gps-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .survey-master-link { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px; border: 1px solid #cbd8ef; border-radius: 10px; background: #f5f8ff; } .survey-master-link strong { font-size: 11px; } .survey-master-link p { margin: 4px 0 0; color: var(--muted); font-size: 9px; } .survey-evidence-panel { display: grid; gap: 14px; } .survey-evidence-panel .panel-heading { margin-bottom: 0; } .survey-evidence-upload { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; padding: 13px; border: 1px solid #cbd8ef; border-radius: 10px; background: #f8faff; } .survey-evidence-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; } .survey-evidence-card { min-width: 0; display: grid; gap: 6px; padding-bottom: 11px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; cursor: pointer; background: white; } .survey-evidence-card.selected { border-color: #5f8de8; box-shadow: inset 0 0 0 1px #5f8de8; } .survey-evidence-card .media-photo-preview { aspect-ratio: 16 / 10; } .survey-evidence-card > strong, .survey-evidence-card > small { padding: 0 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .survey-evidence-card > strong { font-size: 10px; } .survey-evidence-card > small { color: var(--muted); font-size: 8px; } .survey-evidence-check { display: flex; align-items: center; gap: 7px; padding: 0 10px; color: #4f5e78; font-size: 9px; font-weight: 750; } .survey-evidence-check input { accent-color: var(--blue); } .survey-review-panel { display: grid; gap: 15px; border-color: #b9dacd; } .survey-review-panel .panel-heading { margin-bottom: 0; } .survey-review-result { display: grid; gap: 12px; } .survey-report-history { display: grid; gap: 12px; } .survey-report-history .panel-heading { margin-bottom: 0; } .survey-version-list { display: grid; gap: 7px; } .survey-version-list details { overflow: hidden; border: 1px solid var(--line); border-radius: 9px; } .survey-version-list summary { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px; cursor: pointer; list-style: none; } .survey-version-list summary::-webkit-details-marker { display: none; } .survey-version-list summary strong { font-size: 10px; } .survey-version-list summary small { color: var(--muted); font-size: 8px; } .survey-version-list pre { max-height: 340px; overflow: auto; margin: 0; padding: 13px; color: #dce6f8; background: #111827; font: 9px/1.55 ui-monospace, monospace; white-space: pre-wrap; overflow-wrap: anywhere; } .block-muted { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; } .button.compact { min-height: 31px; padding: 6px 9px; font-size: 9px; } .inspection-editor { gap: 16px; } .inspection-assets { margin-top: 0; } .inspection-team-panel { display: grid; gap: 14px; } .inspection-team-panel .panel-heading { margin-bottom: 0; } .inspection-team-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; } .inspection-member { min-width: 0; display: flex; align-items: center; gap: 9px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; color: #536078; background: white; } .inspection-member.selected { border-color: #9db8eb; background: #f4f7ff; } .inspection-member input { accent-color: var(--blue); } .inspection-member span, .inspection-member strong, .inspection-member small { min-width: 0; display: block; } .inspection-member strong { overflow: hidden; color: var(--ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; } .inspection-member small { margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; } .inspection-acts-panel { display: grid; gap: 12px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: white; } .inspection-acts-panel .panel-heading { margin-bottom: 0; } .inspection-acts-table { margin-top: 0; } .inspection-act-editor { gap: 16px; } .inspection-act-form { display: grid; gap: 16px; } .inspection-act-form .panel-heading { margin-bottom: 0; } .inspection-act-assets { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 4px; } .inspection-act-assets h3 { margin: 4px 0; font-size: 12px; } .inspection-act-assets p { margin: 0; color: var(--muted); font-size: 9px; } .inspection-act-asset-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; } .inspection-closure-panel { display: grid; gap: 18px; } .inspection-closure-panel .panel-heading { align-items: flex-start; margin-bottom: 0; } .inspection-closure-panel .section-copy { max-width: 780px; margin: 5px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; } .closure-step-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; } .closure-step-grid > div { display: grid; grid-template-columns: auto minmax(0,1fr); grid-template-rows: auto auto; gap: 2px 9px; align-items: center; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfc; } .closure-step-grid > div > span { width: 27px; height: 27px; display: grid; grid-row: 1 / 3; place-items: center; border-radius: 50%; color: #7a8498; background: #e9edf3; font-size: 10px; font-weight: 850; } .closure-step-grid strong { font-size: 10px; } .closure-step-grid small { color: var(--muted); font-size: 8px; } .closure-step-grid > div.complete { border-color: #b8dfd1; background: #f1faf6; } .closure-step-grid > div.complete > span { color: white; background: #24966e; } .closure-section { display: grid; gap: 15px; padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: #fbfcfe; } .closure-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; } .closure-section-heading h3 { margin-top: 4px; } .responsible-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; } .responsible-summary > div { min-width: 0; padding: 11px; border-radius: 9px; background: var(--soft); } .responsible-summary small, .responsible-summary strong { display: block; } .responsible-summary small { color: var(--muted); font-size: 8px; text-transform: uppercase; } .responsible-summary strong { overflow-wrap: anywhere; margin-top: 5px; font-size: 10px; } .closure-action-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px; border: 1px solid #bfd1f5; border-radius: 12px; background: #f4f7ff; } .closure-action-bar.final { border-color: #b8dfd1; background: #f1faf6; } .closure-action-bar strong { display: block; margin-top: 4px; font-size: 13px; } .closure-action-bar p { margin: 5px 0 0; color: var(--muted); font-size: 10px; } .closure-action-bar .button { flex: 0 0 auto; } .closure-hash-card { display: grid; grid-template-columns: minmax(180px,.55fr) minmax(260px,1.45fr) auto; gap: 14px; align-items: center; padding: 14px; border: 1px solid #bfd1f5; border-radius: 11px; background: #f5f8ff; } .closure-hash-card strong, .closure-hash-card small { display: block; } .closure-hash-card strong { margin-top: 4px; font-size: 11px; } .closure-hash-card small { margin-top: 3px; color: var(--muted); font-size: 9px; } .closure-hash-card code, .signature-records code, .closed-seal code { overflow-wrap: anywhere; color: #365b9e; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 9px; line-height: 1.45; } .signature-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; } .signature-block { min-width: 0; display: grid; align-content: start; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: white; } .signature-block > h3 { font-size: 12px; } .signature-pad-shell { position: relative; overflow: hidden; border: 1px solid #cdd4df; border-radius: 9px; background: linear-gradient(#fff, #fbfcfd); } .signature-pad-shell.disabled { opacity: .62; } .signature-pad { width: 100%; height: 170px; display: block; touch-action: none; cursor: crosshair; } .signature-pad-line { position: absolute; right: 8%; bottom: 48px; left: 8%; border-bottom: 1px dashed #c2c9d5; pointer-events: none; } .signature-pad-footer { min-height: 39px; display: flex; align-items: center; justify-content: space-between; padding: 4px 8px 4px 12px; border-top: 1px solid #e7eaf0; color: var(--muted); font-size: 9px; } .signature-pad-footer .button { min-height: 29px; padding: 5px 9px; font-size: 9px; } .signature-consent { padding: 10px; border-radius: 9px; background: #f4f7fb; } .signature-consent small { line-height: 1.45; } .company-alternative { display: grid; gap: 8px; padding-top: 12px; border-top: 1px solid var(--line); } .company-alternative span, .company-alternative p { margin: 0; color: var(--muted); font-size: 10px; } .company-alternative textarea { width: 100%; min-height: 75px; padding: 9px 11px; border: 1px solid #d7dce5; border-radius: 8px; outline: none; color: var(--ink); background: white; font-size: 11px; resize: vertical; } .company-alternative .button { justify-self: end; } .signature-records { display: grid; gap: 7px; } .signature-records article { display: grid; grid-template-columns: minmax(180px,.8fr) minmax(240px,1.2fr) auto; gap: 12px; align-items: center; padding: 11px; border: 1px solid var(--line); border-radius: 9px; } .signature-records article > div { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 4px 8px; align-items: center; } .signature-records article > div .status-badge { grid-row: 1 / 3; } .signature-records article strong, .signature-records article small { display: block; } .signature-records article strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; } .signature-records article small { color: var(--muted); font-size: 8px; } .signature-records article > p { margin: 0; color: var(--muted); font-size: 9px; } .closed-seal { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 14px; padding: 17px; border: 1px solid #a8d8c6; border-radius: 12px; color: #116347; background: #edf9f4; } .closed-seal > .icon { width: 36px; height: 36px; padding: 8px; border-radius: 50%; color: white; background: #24966e; } .closed-seal strong { display: block; margin-top: 5px; font-size: 13px; } .closed-seal p { margin: 5px 0 8px; color: #477563; font-size: 10px; } .closed-seal code { color: #116347; } .inspection-findings-panel { display: grid; gap: 15px; } .inspection-findings-panel > .panel-heading { margin-bottom: 0; } .finding-create-form { display: grid; gap: 14px; padding: 15px; border: 1px solid #cbd8ef; border-radius: 11px; background: #f8faff; } .finding-source-choice { grid-template-columns: repeat(2,minmax(0,1fr)); } .catalog-preview { padding: 11px 13px; border-left: 3px solid #7195df; border-radius: 4px 9px 9px 4px; background: #eef3fd; } .catalog-preview small { color: #5770a1; font-size: 8px; font-weight: 850; letter-spacing: .08em; } .catalog-preview p { margin: 5px 0 0; color: #45556f; font-size: 10px; line-height: 1.55; white-space: pre-line; } .inspection-finding-list { display: grid; gap: 11px; } .inspection-finding-card { display: grid; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: white; } .inspection-finding-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; } .inspection-finding-heading h3 { margin: 4px 0; font-size: 13px; } .inspection-finding-heading p { margin: 0; color: var(--muted); font-size: 9px; } .inspection-finding-description { margin: 0; color: #4f596d; font-size: 11px; line-height: 1.6; white-space: pre-line; } .inspection-finding-dates { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; } .inspection-finding-dates > span { padding: 9px; border: 1px solid #e3e7ed; border-radius: 8px; background: #fafbfc; } .inspection-finding-dates small, .inspection-finding-dates strong { display: block; } .inspection-finding-dates small { color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; } .inspection-finding-dates strong { margin-top: 4px; font-size: 10px; } .inspection-finding-dates .overdue { border-color: #efb5be; background: #fff3f5; } .inspection-finding-dates .overdue strong { color: #a12d3c; } .finding-detail, .finding-editor { border: 1px solid #e1e5ec; border-radius: 9px; background: #fbfcfd; } .finding-detail summary, .finding-editor > summary { padding: 10px 12px; cursor: pointer; color: #52617b; font-size: 9px; font-weight: 800; } .finding-detail p { margin: 0; padding: 0 12px 9px; color: #59647a; font-size: 9px; line-height: 1.55; white-space: pre-line; } .finding-detail small { display: block; padding: 0 12px 11px; color: var(--muted); font-size: 8px; white-space: pre-line; } .finding-editor > form { display: grid; gap: 12px; padding: 2px 12px 12px; } .finding-follow-up-dates { grid-template-columns: repeat(3,minmax(0,1fr)); } .field-help { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; } .company-response-summary { padding: 11px 12px; border: 1px solid #c9dfd7; border-radius: 9px; background: #f0faf6; } .company-response-summary small { color: #3e7b65; font-size: 8px; font-weight: 850; letter-spacing: .06em; } .company-response-summary p { margin: 5px 0 0; color: #466258; font-size: 10px; line-height: 1.55; white-space: pre-line; } .finding-evidence-panel { overflow: hidden; border: 1px solid #cbd8ef; border-radius: 10px; background: #f8faff; } .finding-evidence-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; cursor: pointer; list-style: none; } .finding-evidence-panel > summary::-webkit-details-marker { display: none; } .finding-evidence-panel > summary > span:first-child { display: grid; gap: 3px; } .finding-evidence-panel > summary strong { color: #344767; font-size: 10px; } .finding-evidence-panel > summary small { color: var(--muted); font-size: 8px; } .finding-evidence-body { display: grid; gap: 14px; padding: 0 12px 12px; border-top: 1px solid #dce5f5; } .finding-evidence-body > :first-child { margin-top: 12px; } .communication-form, .evidence-upload-form { display: grid; gap: 11px; padding: 12px; border: 1px solid #dce3ef; border-radius: 9px; background: white; } .subsection-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .subsection-heading h4 { margin: 3px 0 0; color: #344056; font-size: 11px; } .subsection-heading > span { color: var(--muted); font-size: 9px; font-weight: 800; } .evidence-list-section, .communication-timeline { display: grid; gap: 9px; padding: 12px; border: 1px solid #dce3ef; border-radius: 9px; background: white; } .finding-evidence-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; } .finding-evidence-card { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px; padding: 10px; border: 1px solid #e0e5ed; border-radius: 9px; background: #fbfcfe; } .finding-evidence-card.photo { grid-template-columns: 88px minmax(0,1fr); } .finding-evidence-preview { width: 88px; height: 78px; overflow: hidden; border-radius: 7px; background: #e8edf5; } .finding-evidence-preview img { width: 100%; height: 100%; object-fit: cover; } .finding-evidence-copy { min-width: 0; display: grid; align-content: start; gap: 3px; } .finding-evidence-copy > small { color: #5574ae; font-size: 7px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; } .finding-evidence-copy > strong { overflow: hidden; color: #344056; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; } .finding-evidence-copy > span { color: var(--muted); font-size: 7px; line-height: 1.45; } .finding-evidence-copy > p { margin: 2px 0; color: #59647a; font-size: 8px; line-height: 1.45; } .finding-evidence-copy > code { overflow: hidden; color: #55657f; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; } .finding-evidence-card > .media-card-actions { grid-column: 1 / -1; justify-content: flex-end; } .communication-list { display: grid; gap: 7px; } .communication-list article { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px; padding: 10px; border-left: 3px solid #9eb4d9; border-radius: 5px 8px 8px 5px; background: #f8fafc; } .communication-list article > div { min-width: 0; display: grid; gap: 3px; } .communication-list strong { color: #344056; font-size: 9px; } .communication-list small, .communication-list span { color: var(--muted); font-size: 7px; line-height: 1.45; } .communication-list p { margin: 3px 0; color: #59647a; font-size: 8px; line-height: 1.5; white-space: pre-line; } .communication-direction { align-self: start; padding: 4px 6px; border-radius: 999px; color: #45688f !important; background: #e6eef9; font-size: 7px !important; font-weight: 850; text-transform: uppercase; } .communication-direction.inbound { color: #287052 !important; background: #e5f5ee; } .communication-direction.outbound { color: #7b5d1d !important; background: #fbf1d9; } .system-page { min-height: 55vh; display: grid; place-content: center; justify-items: center; text-align: center; } .system-page p { margin: 0 0 20px; color: var(--muted); } .status-code { color: #c9d6ef; font-size: 70px; font-weight: 900; line-height: 1; letter-spacing: -.08em; } @media (max-width: 1180px) { .stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .audit-filters { grid-template-columns: repeat(2,minmax(0,1fr)); } .audit-filters .search-field { grid-column: 1 / -1; } .history-filters { grid-template-columns: repeat(3,minmax(0,1fr)); } .history-filters .search-field { grid-column: 1 / -1; } .temporal-filters { grid-template-columns: repeat(2,minmax(0,1fr)); } .temporal-filters .search-field { grid-column: auto; } } @media (max-width: 920px) { .shell { grid-template-columns: 1fr; } .sidebar { position: fixed; left: 0; width: 270px; transform: translateX(-105%); transition: transform .22s ease; box-shadow: 20px 0 45px rgba(0,0,0,.2); } .sidebar.open { transform: translateX(0); } .sidebar-backdrop { display: block; position: fixed; inset: 0; z-index: 29; border: 0; background: rgba(8,14,25,.44); } .mobile-header { min-height: 56px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 8px 18px; color: white; background: var(--navy); } .mobile-header .icon-button { color: white; background: transparent; border-color: rgba(255,255,255,.15); } .mobile-header strong { font-size: 13px; } .mobile-version { color: rgba(255,255,255,.45); font-size: 10px; } .dashboard-grid, .detail-grid { grid-template-columns: 1fr; } .roles-layout { grid-template-columns: 220px minmax(0,1fr); } .asset-types-layout { grid-template-columns: 220px minmax(0,1fr); } } @media (max-width: 720px) { .content { padding: 23px 15px 34px; } .app-footer { justify-content: center; padding: 12px 15px; text-align: center; } .page-heading { align-items: flex-start; flex-direction: column; gap: 15px; } .page-heading > .button, .page-heading > span { align-self: stretch; } .dashboard-heading { gap: 13px; } .health-pill { align-self: flex-start !important; } .stat-grid { grid-template-columns: 1fr 1fr; } .dashboard-grid { grid-template-columns: 1fr; } .activity-item { grid-template-columns: auto minmax(0,1fr); } .activity-item time { grid-column: 2; } .form-grid, .choice-grid, .permission-grid, .metadata-grid, .dynamic-attributes, .type-flags { grid-template-columns: 1fr; } .toolbar { align-items: stretch; flex-direction: column; } .select-field { width: 100%; } .roles-layout { grid-template-columns: 1fr; } .asset-types-layout { grid-template-columns: 1fr; } .catalog-heading-panel, .catalog-heading-actions, .catalog-toolbar { align-items: stretch; flex-direction: column; } .catalog-heading-actions .button { flex: 1; } .role-list { max-height: 310px; overflow-y: auto; } .audit-filters { grid-template-columns: 1fr; } .audit-filters .search-field, .filter-actions { grid-column: auto; } .history-filters { grid-template-columns: 1fr; } .history-filters .search-field { grid-column: auto; } .filter-actions { justify-content: stretch; } .filter-actions .button { flex: 1; } .map-layout { grid-template-columns: 1fr; min-height: auto; } .operational-map-layout { grid-template-columns: 1fr; } .map-sidebar { max-height: none; } .map-canvas { min-height: 480px; } .map-stage .map-canvas { height: 520px; } .geometry-toolbar { align-items: stretch; flex-direction: column; } .geometry-type-buttons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); } .geometry-metadata { grid-template-columns: 1fr; } .geometry-progress { grid-template-columns: 1fr; } .geometry-progress > div { flex-wrap: wrap; } .media-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .media-card.document { grid-template-columns: auto minmax(0,1fr); } .media-card.document > .media-card-actions { grid-column: 1 / -1; justify-content: flex-end; } .provenance-verification, .temporal-result-heading { align-items: stretch; flex-direction: column; } .survey-status-actions { align-items: stretch; flex-direction: column; } .survey-status-actions > div:last-child { justify-content: stretch; } .survey-status-actions .button { flex: 1; } .survey-execution-summary, .survey-outcome-grid, .survey-evidence-grid, .inspection-team-grid, .inspection-act-asset-grid, .inspection-finding-dates, .finding-follow-up-dates, .finding-source-choice, .finding-evidence-grid, .closure-step-grid, .responsible-summary, .signature-columns { grid-template-columns: 1fr; } .closure-action-bar { align-items: stretch; flex-direction: column; } .closure-hash-card, .signature-records article { grid-template-columns: 1fr; } .closure-section-heading { align-items: stretch; flex-direction: column; } .survey-gps-grid { grid-template-columns: 1fr; } .survey-start-panel, .survey-master-link { align-items: stretch; flex-direction: column; } .survey-evidence-upload { grid-template-columns: 1fr; } .survey-version-list summary { grid-template-columns: auto minmax(0,1fr); } .survey-version-list summary small { grid-column: 2; } .login-page { grid-template-columns: 1fr; } .login-intro { min-height: 280px; padding: 28px; } .login-intro > div:nth-child(2) { margin: 40px 0; } .login-intro h1 { font-size: 38px; } .login-intro p { font-size: 13px; } .login-panel { padding: 18px; } .profile-title { align-items: flex-start; } .profile-avatar { width: 48px; height: 48px; } .detail-list { grid-template-columns: 1fr; } .snapshot-attributes { grid-template-columns: 1fr; } } @media (max-width: 460px) { .stat-grid { grid-template-columns: 1fr; } .form-actions { flex-direction: column-reverse; } .form-actions .button { width: 100%; } .pagination { justify-content: space-between; gap: 6px; } .pagination .button { padding-inline: 10px; } .page-heading h1 { font-size: 30px; } .media-photo-grid { grid-template-columns: 1fr; } .media-location-row { align-items: stretch; flex-direction: column; } .media-location-row > span { min-width: 0; } } .operational-relation-form { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px 0; margin: 6px 0 18px; } .relation-end-inline { display: flex; gap: 8px; align-items: center; min-width: 420px; } .relation-end-inline input { min-width: 220px; } @media (max-width: 900px) { .relation-end-inline { min-width: 0; flex-wrap: wrap; } .relation-end-inline input { min-width: 100%; } } .master-bootstrap-panel { display: grid; gap: 20px; padding: 26px; } .master-bootstrap-copy h2 { margin: 5px 0 8px; } .master-bootstrap-copy > p { max-width: 760px; margin: 0; color: var(--muted); line-height: 1.6; } .master-bootstrap-notice { display: grid; gap: 3px; margin-top: 16px; padding: 13px 15px; border: 1px solid #d7e2f7; border-radius: 10px; background: #f7faff; } .master-bootstrap-notice strong { color: var(--ink); font-size: 12px; } .master-bootstrap-notice span { color: var(--muted); font-size: 11px; line-height: 1.5; } .master-bootstrap-types { display: grid; gap: 10px; } .bootstrap-type-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; } .bootstrap-type-grid span { display: flex; align-items: center; gap: 7px; min-height: 38px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--soft); color: #4e5870; font-size: 11px; font-weight: 700; } .bootstrap-type-grid svg { color: var(--green); } .master-bootstrap-actions { display: flex; flex-wrap: wrap; gap: 9px; } @media (max-width: 760px) { .bootstrap-type-grid { grid-template-columns: 1fr 1fr; } .master-bootstrap-actions .button { flex: 1 1 100%; } } @media (max-width: 480px) { .bootstrap-type-grid { grid-template-columns: 1fr; } } .asset-center-tabs { display:flex; flex-wrap:wrap; gap:6px; margin:-8px 0 18px; padding:5px; width:max-content; max-width:100%; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:var(--shadow); } .asset-center-tabs a { display:flex; align-items:center; gap:7px; padding:8px 12px; border-radius:8px; color:#687188; text-decoration:none; font-size:12px; font-weight:750; } .asset-center-tabs a:hover { background:var(--soft); color:var(--ink); } .asset-center-tabs a.active { background:#eff4ff; color:var(--blue); } .asset-center-controls { display:grid; gap:10px; margin-bottom:16px; } .asset-center-search { display:flex; align-items:center; gap:10px; padding:8px 9px 8px 13px; background:#fff; border:1px solid var(--line); border-radius:13px; box-shadow:var(--shadow); } .asset-center-search .icon { color:#8790a4; } .asset-center-search input { flex:1; min-width:160px; border:0; outline:0; color:var(--ink); background:transparent; } .quick-view-row { display:flex; flex-wrap:wrap; gap:7px; } .quick-view-row button { border:1px solid var(--line); border-radius:999px; background:#fff; color:#687188; padding:7px 11px; cursor:pointer; font-size:11px; font-weight:700; } .quick-view-row button:hover,.quick-view-row button.active { border-color:#b9cdf7; color:var(--blue); background:#eff4ff; } .quick-view-row button.advanced { margin-left:auto; } .advanced-filter-panel { display:flex; align-items:end; gap:10px; flex-wrap:wrap; padding:13px; border:1px solid var(--line); border-radius:12px; background:#fff; } .advanced-filter-panel .compact-field { min-width:165px; flex:1 1 165px; } .advanced-filter-panel .filter-clear { margin-bottom:2px; } .compact-assets-table table { min-width:800px; } .compact-assets-table td,.compact-assets-table th { padding-top:12px; padding-bottom:12px; } .dual-status { display:grid; justify-items:start; gap:5px; } .dual-status small { color:var(--muted); font-size:10px; } .asset-tree-panel { overflow:hidden; padding:0; } .tree-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:11px 14px; border-bottom:1px solid var(--line); } .tree-toolbar > div { display:flex; gap:5px; } .asset-tree-list { min-width:760px; overflow-x:auto; } .asset-tree-row { --tree-depth:0; display:grid; grid-template-columns:26px 30px minmax(220px,1.4fr) minmax(160px,1fr) minmax(150px,.8fr) 34px; align-items:center; gap:8px; min-height:54px; padding:7px 12px 7px calc(12px + var(--tree-depth) * 24px); border-bottom:1px solid #edf0f4; } .asset-tree-row:hover { background:#fafbfc; } .tree-toggle { width:24px; height:24px; border:0; border-radius:6px; background:#f1f4f8; color:#62708a; cursor:pointer; font-weight:900; } .tree-toggle.empty { background:transparent; color:#b8bfcc; cursor:default; } .asset-tree-main strong,.asset-tree-main small,.asset-tree-context small { display:block; } .asset-tree-main a { text-decoration:none; } .asset-tree-main a:hover { color:var(--blue); } .asset-tree-main small,.asset-tree-context small,.asset-tree-status small { margin-top:3px; color:var(--muted); font-size:9px; } .asset-tree-context { color:#3c4659; font-size:11px; } .asset-tree-status { display:grid; justify-items:start; gap:2px; } .asset-heading-actions { display:flex; align-items:center; gap:12px; } .heading-statuses { display:grid; justify-items:end; gap:3px; } .heading-statuses small { color:var(--muted); font-size:10px; } .asset-detail-tabs { display:flex; gap:4px; overflow-x:auto; padding:4px; margin:-8px 0 16px; border-bottom:1px solid var(--line); } .asset-detail-tabs a { white-space:nowrap; padding:9px 11px; border-radius:8px 8px 0 0; text-decoration:none; color:#687188; font-size:11px; font-weight:750; } .asset-detail-tabs a:hover { background:#f6f8fb; color:var(--ink); } .asset-detail-tabs a.active { color:var(--blue); background:#eef4ff; } .context-create-banner { display:flex; align-items:center; gap:11px; padding:11px 14px; margin-bottom:12px; border:1px solid #cddbf7; border-radius:11px; background:#f3f7ff; color:#37527e; } .context-create-banner div { flex:1; } .context-create-banner strong,.context-create-banner span { display:block; } .context-create-banner span { margin-top:2px; font-size:10px; } .context-create-banner a { color:var(--blue); font-size:11px; font-weight:700; } .parent-picker { display:grid; gap:5px; } .parent-picker > span { font-size:11px; font-weight:700; } .parent-picker .parent-search { border-radius:8px 8px 5px 5px; } .parent-picker select { border-radius:5px 5px 8px 8px; } .asset-tab-stack,.registry-stack { display:grid; gap:14px; } .registry-panel { padding:18px; } .registry-panel .panel-heading { margin-bottom:12px; } .simple-record-list { display:grid; gap:7px; } .simple-record { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 11px; border:1px solid #e7eaf0; border-radius:9px; background:#fbfcfd; } .simple-record strong,.simple-record span,.simple-record small { display:block; } .simple-record strong { font-size:11px; } .simple-record span { margin-top:3px; color:#536078; font-size:10px; } .simple-record small { margin-top:3px; color:#8a93a5; font-size:9px; } .inline-create { margin-top:12px; border:1px dashed #cdd5e1; border-radius:10px; padding:0 12px 12px; } .inline-create summary { display:flex; align-items:center; gap:7px; padding:11px 0; cursor:pointer; color:var(--blue); font-size:11px; font-weight:750; } .inline-create[open] summary { margin-bottom:5px; } .inline-create.compact { margin-top:8px; } .registry-subsection { margin-top:18px; padding-top:15px; border-top:1px solid var(--line); } .registry-subsection h3 { margin:0 0 10px; font-size:14px; } .legal-right-list { display:grid; gap:10px; } .legal-right-card { padding:12px; border:1px solid var(--line); border-radius:10px; } .legal-right-heading { display:flex; justify-content:space-between; gap:12px; align-items:start; } .legal-right-heading strong,.legal-right-heading span { display:block; } .legal-right-heading span { margin-top:3px; color:var(--muted); font-size:10px; } .right-organizations { display:grid; gap:5px; margin-top:9px; } .right-organizations > div { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:7px 9px; border-radius:7px; background:#f7f8fa; } .right-organizations strong,.right-organizations small { display:block; } .right-organizations small { margin-top:2px; color:var(--muted); font-size:9px; } .action-field { justify-content:end; } .type-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:12px 0; } .type-summary-grid > div { padding:10px; border:1px solid #e5e9f0; border-radius:9px; background:#fafbfc; } .type-summary-grid small,.type-summary-grid strong { display:block; } .type-summary-grid small { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.05em; } .type-summary-grid strong { margin-top:4px; font-size:11px; } .advanced-config { margin-top:12px; padding:0 13px 13px; border:1px solid #e1e5eb; border-radius:10px; background:#fafbfc; } .advanced-config summary { padding:12px 0; cursor:pointer; font-size:11px; font-weight:800; color:#59657a; } .advanced-config > p { margin:0 0 12px; color:var(--muted); font-size:10px; } .permission-row code { color:#9aa2b1; font-size:8px; } .system-footnote { margin-top:14px; padding-top:11px; border-top:1px solid var(--line); color:var(--muted); font-size:9px; } .dashboard-section-heading.compact { margin-top:18px; } .secondary-stat-grid .stat-card.compact { min-height:100px; } @media (max-width: 860px) { .asset-center-tabs { width:100%; overflow-x:auto; flex-wrap:nowrap; } .asset-center-tabs a { white-space:nowrap; } .quick-view-row button.advanced { margin-left:0; } .asset-heading-actions { width:100%; align-items:flex-start; flex-direction:column; } .heading-statuses { justify-items:start; } .type-summary-grid { grid-template-columns:1fr; } .asset-tree-panel { overflow-x:auto; } } .tree-toolbar > div { display:grid; gap:2px; } .tree-toolbar small { color:var(--muted); font-size:9px; font-weight:500; } .tree-limit-note { --tree-depth:0; padding:8px 12px 8px calc(68px + var(--tree-depth) * 24px); border-bottom:1px solid #edf0f4; color:#8c6a1d; background:#fffaf0; font-size:9px; } .tree-toggle:disabled { cursor:wait; opacity:.65; } .import-center-page { display:grid; gap:16px; } .import-upload-panel { display:grid; gap:15px; } .import-upload-panel .panel-heading { margin-bottom:0; } .import-upload-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:12px; } .import-upload-grid .import-notes { grid-column:1/-1; } .import-center-grid { display:grid; grid-template-columns:minmax(290px,.72fr) minmax(0,1.7fr); gap:16px; align-items:start; } .import-batches-panel { position:sticky; top:14px; max-height:calc(100vh - 120px); overflow:auto; } .import-batch-list { display:grid; } .import-batch-item { width:100%; display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:13px 14px; border:0; border-bottom:1px solid #edf0f4; background:white; text-align:left; cursor:pointer; } .import-batch-item:hover { background:#fafbfc; } .import-batch-item.selected { box-shadow:inset 3px 0 0 var(--blue); background:#f5f8ff; } .import-batch-item > div { min-width:0; } .import-batch-item strong,.import-batch-item span:not(.status-badge),.import-batch-item small { display:block; } .import-batch-item strong { overflow:hidden; text-overflow:ellipsis; color:var(--ink); font-size:11px; white-space:nowrap; } .import-batch-item > div > span { margin-top:4px; color:#536078; font-size:9px; } .import-batch-item small { margin-top:4px; color:var(--muted); font-size:8px; } .import-detail-column { min-width:0; display:grid; gap:14px; } .import-summary-panel { display:grid; gap:15px; } .import-summary-panel .panel-heading { margin-bottom:0; } .import-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; } .import-kpis > div { padding:11px 12px; border:1px solid var(--line); border-radius:10px; background:#fafbfc; } .import-kpis small,.import-kpis strong { display:block; } .import-kpis small { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.05em; } .import-kpis strong { margin-top:4px; color:var(--ink); font-size:20px; } .import-kpis .ok { background:#f2fbf7; border-color:#cce9dc; } .import-kpis .warn { background:#fffaf0; border-color:#efdfb7; } .import-kpis .bad { background:#fff5f3; border-color:#ebcdc7; } .import-meta-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; } .import-meta-grid > div { padding:10px; border:1px solid #e7eaf0; border-radius:9px; } .import-meta-grid small,.import-meta-grid strong,.import-meta-grid span { display:block; } .import-meta-grid small { color:var(--muted); font-size:8px; text-transform:uppercase; } .import-meta-grid strong { margin-top:4px; font-size:10px; } .import-meta-grid span { margin-top:3px; color:var(--muted); font-size:8px; } .issue-cloud { display:grid; gap:8px; } .issue-cloud > strong { font-size:10px; } .issue-cloud > div { display:flex; flex-wrap:wrap; gap:6px; } .issue-cloud span { padding:5px 8px; border-radius:999px; background:#fff4e8; color:#84572c; font-size:9px; } .issue-cloud b { margin-left:4px; } .import-row-toolbar { margin-bottom:0; } .import-row-toolbar .search-field { min-width:280px; } .import-rows-table table { min-width:1180px; } .import-rows-table td { vertical-align:top; } .import-rows-table td strong { display:block; color:var(--ink); font-size:10px; } .cell-subtle { display:block; margin-top:3px; color:var(--muted); font-size:8px; } .row-issue-list { display:grid; gap:3px; min-width:190px; } .row-issue-list span { color:#93592b; font-size:8px; } .row-issue-list .ok-text { color:#28725a; } .row-issue-list small { color:var(--muted); font-size:8px; } @media (max-width: 1100px) { .import-center-grid { grid-template-columns:1fr; } .import-batches-panel { position:static; max-height:420px; } } @media (max-width: 760px) { .import-upload-grid,.import-kpis,.import-meta-grid { grid-template-columns:1fr; } .import-upload-grid .import-notes { grid-column:auto; } } .import-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px}.import-workflow span{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:white;font-size:12px;color:var(--muted)}.import-workflow span.done{border-color:#b7e4c7;background:#f0fff4;color:#17663a}.import-workflow span.current{border-color:#b8cdfa;background:#f5f8ff;color:#2459b8}.reconciliation-summary{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.reconciliation-summary>div{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}.reconciliation-summary span{padding:6px 9px;border-radius:8px;background:white;border:1px solid var(--line)}.reconciliation-summary small{color:var(--muted)} .import-workflow-six{grid-template-columns:repeat(6,minmax(0,1fr))} .import-plan-panel{display:grid;gap:14px} .import-plan-panel .panel-heading p{margin:4px 0 0;color:var(--muted);font-size:13px} .import-plan-context{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)} .import-plan-context .field small{display:block;margin-top:5px;color:var(--muted);font-size:11px} .import-plan-actions{justify-content:flex-start} .import-plan-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px} .import-plan-kpis>div{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff} .import-plan-kpis small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em} .import-plan-kpis strong{font-size:22px} .import-plan-kpis .ok{border-color:#b7e4c7;background:#f5fff8}.import-plan-kpis .bad{border-color:#f4c0c0;background:#fff8f8} .import-plan-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px}.import-plan-meta span{padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff}.import-plan-meta code{font-size:11px} .import-plan-breakdown{display:grid;gap:8px}.import-plan-breakdown table{min-width:620px}.import-plan-breakdown th:not(:first-child),.import-plan-breakdown td:not(:first-child){text-align:right} .import-review-panel{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:14px} .import-review-list{display:grid;gap:8px;max-height:560px;overflow:auto;padding-right:3px} .import-review-item{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff} .import-review-item>div:first-child{display:grid;gap:5px;min-width:0}.import-review-item .form-actions{flex:0 0 auto;justify-content:flex-end} .import-match-picker{display:grid;gap:10px;padding:14px;border:1px solid #b8cdfa;border-radius:12px;background:#f7f9ff} .import-match-results{display:grid;gap:7px;max-height:320px;overflow:auto}.import-match-results button{display:grid;gap:3px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.import-match-results button:hover{border-color:#9ab6ef;background:#fbfcff}.import-match-results span{font-size:12px;color:var(--muted)} .import-apply-actions{padding-top:4px;justify-content:flex-start} @media (max-width:1100px){.import-workflow-six{grid-template-columns:repeat(3,minmax(0,1fr))}.import-plan-context{grid-template-columns:1fr}.import-plan-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.import-review-item{flex-direction:column}.import-review-item .form-actions{justify-content:flex-start}} @media (max-width:640px){.import-workflow-six{grid-template-columns:repeat(2,minmax(0,1fr))}.import-plan-kpis{grid-template-columns:1fr}} .import-plan-kpis.compact{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:4px} .import-plan-kpis.compact strong{font-size:18px} .import-plan-group{display:grid;gap:6px;padding-top:6px} .import-plan-group h4{margin:0;color:var(--ink);font-size:13px} .import-plan-detail{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe} .import-plan-detail table{min-width:760px} .button.small{padding:6px 9px;font-size:12px;min-height:32px} @media (max-width:900px){.import-plan-kpis.compact{grid-template-columns:repeat(2,minmax(0,1fr))}} @media (max-width:640px){.import-plan-kpis.compact{grid-template-columns:1fr}} .import-plan-kpi-actions>button{display:grid;gap:3px;padding:12px;text-align:left;border:1px solid var(--line);border-radius:10px;background:#fff;color:inherit;cursor:pointer} .import-plan-kpi-actions>button:hover:not(:disabled){border-color:#9ab6ef;box-shadow:0 3px 10px rgba(36,89,184,.08)} .import-plan-kpi-actions>button:disabled{cursor:default;opacity:.62} .import-plan-kpi-actions>button small,.import-plan-kpi-actions>button strong,.import-plan-kpi-actions>button span{display:block} .import-plan-kpi-actions>button small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em} .import-plan-kpi-actions>button strong{font-size:22px;color:var(--ink)} .import-plan-kpi-actions>button span{font-size:10px;color:var(--muted);line-height:1.35} .import-plan-kpi-actions>button.ok{border-color:#b7e4c7;background:#f5fff8}.import-plan-kpi-actions>button.bad{border-color:#f4c0c0;background:#fff8f8} .import-match-explanation{display:grid;gap:4px;max-width:420px}.import-match-explanation strong{font-size:10px;color:var(--ink)}.import-match-explanation span{font-size:9px;color:var(--muted);line-height:1.45}.import-match-explanation code{width:max-content;padding:2px 5px;border-radius:4px;background:#f0f3f8;color:#4d5d78;font-size:8px} .import-review-overview{display:grid;grid-template-columns:minmax(150px,.6fr) minmax(150px,.6fr) minmax(280px,1.8fr);gap:9px} .import-review-overview>div{display:grid;gap:3px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.import-review-overview small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em}.import-review-overview strong{font-size:20px;color:var(--ink)}.import-review-overview span{font-size:9px;color:var(--muted)} .import-review-reason-summary>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.import-review-reason-summary>div span{padding:4px 6px;border-radius:999px;background:#fff4e8;color:#84572c;font-size:8px}.import-review-reason-summary>div b{margin-left:3px} .import-review-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:14px;align-items:start;padding:14px} .import-review-item.decision{border-left:4px solid #d87b65}.import-review-item.dependency{border-left:4px solid #d5a13d;background:#fffdf8} .import-review-copy{display:grid;gap:9px;min-width:0}.import-review-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.import-review-title{font-size:13px;color:var(--ink)}.import-review-provisional{padding:7px 9px;border-radius:8px;background:#fff7e8;color:#805e26;font-size:9px;line-height:1.45} .import-review-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}.import-review-facts>div{padding:7px 8px;border:1px solid #e8ebf0;border-radius:8px;background:#fbfcfd}.import-review-facts dt{font-size:8px;text-transform:uppercase;color:var(--muted)}.import-review-facts dd{margin:3px 0 0;font-size:9px;color:var(--ink);overflow-wrap:anywhere} .import-review-reasons{display:grid;gap:6px}.import-review-reasons>div{padding:9px 10px;border:1px solid #efd8c8;border-radius:9px;background:#fffaf6}.import-review-reasons>div.dependency{border-color:#eadcad;background:#fffdf6}.import-review-reasons strong{display:block;font-size:10px;color:var(--ink)}.import-review-reasons p{margin:4px 0;color:#5e6879;font-size:9px;line-height:1.45}.import-review-reasons small{display:block;color:#755435;font-size:8px;line-height:1.45} .import-review-resolution{display:grid;gap:8px;padding:11px;border:1px solid #e1e5ec;border-radius:10px;background:#f8fafc;position:sticky;top:12px}.import-review-resolution>strong{font-size:10px;color:var(--ink)}.import-review-resolution>p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.import-review-resolution .form-actions{display:grid;grid-template-columns:1fr;gap:6px}.import-review-resolution .button{width:100%;justify-content:center} @media (max-width:1100px){.import-review-overview{grid-template-columns:1fr 1fr}.import-review-reason-summary{grid-column:1/-1}.import-review-item{grid-template-columns:1fr}.import-review-resolution{position:static}.import-review-facts{grid-template-columns:repeat(2,minmax(0,1fr))}} @media (max-width:640px){.import-review-overview,.import-review-facts{grid-template-columns:1fr}} .import-context-candidates{display:grid;gap:7px}.import-context-candidate{display:grid;gap:3px;text-align:left;width:100%;padding:10px 11px;border:1px solid #ccd6e6;border-radius:9px;background:#fff;color:var(--ink);cursor:pointer}.import-context-candidate:hover{border-color:#8aa5d2;background:#f7faff}.import-context-candidate:disabled{opacity:.55;cursor:not-allowed}.import-context-candidate strong{font-size:10px}.import-context-candidate span{font-size:8px;color:var(--muted);line-height:1.4} .import-review-mandatory-banner{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px;border:1px solid #edc7bd;border-left:5px solid #cc624f;border-radius:12px;background:#fff9f7} .import-review-mandatory-banner>div:first-child{display:grid;gap:5px}.import-review-mandatory-banner strong{font-size:14px;color:var(--ink)}.import-review-mandatory-banner p{margin:0;max-width:760px;color:#626c7b;font-size:10px;line-height:1.55} .import-review-lock{display:grid;justify-items:center;gap:3px;min-width:135px;padding:10px 12px;border:1px solid #e6d7d2;border-radius:10px;background:#fff}.import-review-lock .icon{color:#b85140}.import-review-lock span{font-size:9px;font-weight:700;color:var(--ink)}.import-review-lock small{font-size:8px;color:var(--muted)} .import-review-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.import-review-steps>div{display:grid;grid-template-columns:28px 1fr;column-gap:8px;row-gap:1px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.import-review-steps>div>span{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#eef1f5;color:#667085;font-weight:700;font-size:10px}.import-review-steps strong{font-size:9px;color:var(--ink)}.import-review-steps small{font-size:8px;color:var(--muted)}.import-review-steps>div.current{border-color:#e6b6aa;background:#fff9f7}.import-review-steps>div.current>span{background:#bd5947;color:#fff} .import-review-overview>div.human{border-color:#e8c0b7;background:#fff9f7}.import-review-overview>div.human strong{color:#b85140}.import-review-overview>div.automatic{border-color:#d8e1ed;background:#f8fbff}.import-review-overview>div.automatic strong{color:#486786} .import-review-section-heading{display:flex;justify-content:space-between;gap:12px;align-items:end;padding:3px 2px}.import-review-section-heading>div{display:grid;gap:3px}.import-review-section-heading strong{font-size:11px;color:var(--ink)}.import-review-section-heading>span{font-size:8px;color:var(--muted)} .import-review-list.direct-only{max-height:none;overflow:visible;padding-right:0} .import-review-source-box{display:grid;gap:7px;padding:10px;border:1px solid #e4e8ee;border-radius:10px;background:#fbfcfe}.import-review-source-box>strong{font-size:9px;color:#3f4b5d} .import-review-after-choice{display:block;padding-top:3px;color:#536277;font-size:8px;line-height:1.45} .import-context-candidate{display:flex;justify-content:space-between;align-items:center;gap:10px}.import-context-choice-copy{display:grid;gap:3px;min-width:0}.import-context-choice-action{flex:0 0 auto;padding:5px 7px;border-radius:7px;background:#eef4ff;color:#47668e;font-size:8px;font-weight:700}.import-context-candidate:hover .import-context-choice-action{background:#dce9ff} .import-review-dependencies{border:1px solid #dfe5ed;border-radius:10px;background:#fafbfd;overflow:hidden}.import-review-dependencies summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;cursor:pointer;list-style:none}.import-review-dependencies summary::-webkit-details-marker{display:none}.import-review-dependencies summary>span:first-child{display:grid;gap:2px}.import-review-dependencies summary strong{font-size:9px;color:var(--ink)}.import-review-dependencies summary small,.import-review-dependencies summary>span:last-child{font-size:8px;color:var(--muted)} .import-dependency-list{display:grid;gap:1px;border-top:1px solid #e6eaf0}.import-dependency-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);gap:12px;padding:8px 12px;background:#fff}.import-dependency-list>div>div{display:grid;gap:2px}.import-dependency-list strong{font-size:9px;color:var(--ink)}.import-dependency-list span,.import-dependency-list small{font-size:8px;color:var(--muted);line-height:1.4} @media (max-width:760px){.import-review-mandatory-banner{align-items:flex-start;flex-direction:column}.import-review-lock{width:100%;justify-items:start}.import-review-steps{grid-template-columns:1fr}.import-dependency-list>div{grid-template-columns:1fr}} .asset-browser-overview,.asset-browser-panel{display:grid;gap:16px} .asset-browser-intro{display:flex;justify-content:space-between;gap:16px;align-items:end;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff} .asset-browser-intro h2,.asset-browser-section-heading h2,.asset-browser-current-heading h2{margin:3px 0 0} .asset-browser-intro p,.asset-browser-section-heading p,.asset-browser-current-heading p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5} .asset-browser-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} .asset-browser-entry{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--shadow)} .asset-browser-entry:hover{border-color:#b9c8df;background:#fbfcff} .asset-browser-entry-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#f1f4f8;color:#4e6079} .asset-browser-entry span:nth-child(2){display:grid;gap:4px}.asset-browser-entry strong{font-size:13px}.asset-browser-entry small{color:var(--muted);font-size:10px;line-height:1.45}.asset-browser-entry b{font-size:22px;font-weight:700;color:#526681} .asset-browser-levels{display:grid;grid-template-columns:minmax(100px,1fr) auto minmax(100px,1fr) auto minmax(100px,1fr) auto minmax(100px,1fr) auto minmax(100px,1fr);align-items:stretch;gap:7px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafbfc} .asset-browser-levels>div{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:7px;align-content:center;padding:9px;border:1px solid #e4e8ee;border-radius:10px;background:#fff}.asset-browser-levels>div>span{grid-row:1/3;display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#edf2f8;color:#51647d;font-size:9px;font-weight:700}.asset-browser-levels strong{font-size:10px}.asset-browser-levels small{margin-top:2px;color:var(--muted);font-size:8px;line-height:1.3}.asset-browser-levels>i{display:grid;place-items:center;color:#8490a3;font-size:9px;font-style:normal} .asset-browser-model-note{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #dbe3ec;border-radius:10px;background:#f8fafc;color:#59677a;font-size:9px;line-height:1.45}.asset-browser-model-note .icon{flex:0 0 auto;margin-top:1px;color:#56708f} .asset-browser-breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:10px}.asset-browser-breadcrumb a{color:var(--blue);text-decoration:none}.asset-browser-breadcrumb strong{color:var(--ink);font-weight:700}.asset-browser-crumb-part,.asset-detail-crumb-part{display:inline-flex;align-items:center;gap:7px} .asset-browser-section-heading,.asset-browser-current-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff}.asset-browser-current-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end} .asset-browser-groups{display:grid;gap:14px}.asset-browser-group{display:grid;gap:9px}.asset-browser-group-heading{display:flex;justify-content:space-between;gap:12px;align-items:end;padding:0 2px}.asset-browser-group-heading h3{margin:0;color:var(--ink);font-size:12px}.asset-browser-group-heading p{margin:3px 0 0;color:var(--muted);font-size:9px}.asset-browser-group-heading>span{display:grid;place-items:center;min-width:28px;height:24px;padding:0 7px;border-radius:999px;background:#eef2f7;color:#56677d;font-size:9px;font-weight:700} .asset-browser-list{display:grid;gap:6px}.asset-browser-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto 22px;align-items:center;gap:10px;min-height:58px;padding:9px 11px;border:1px solid #e2e6ec;border-radius:10px;background:#fff;color:inherit;text-decoration:none}.asset-browser-item:hover{border-color:#b9c8df;background:#fbfcff}.asset-browser-item-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#f1f4f8;color:#596b83}.asset-browser-item-main{display:grid;gap:3px;min-width:0}.asset-browser-item-main strong{overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-size:11px;white-space:nowrap}.asset-browser-item-main small{color:var(--muted);font-size:9px}.asset-browser-item-status{display:grid;justify-items:start;gap:3px}.asset-browser-item-status small{color:var(--muted);font-size:8px}.asset-browser-item>.icon{color:#8b96a7} .asset-detail-breadcrumb{align-items:center;flex-wrap:wrap}.asset-detail-breadcrumb strong{color:var(--ink)} @media (max-width:900px){.asset-browser-levels{grid-template-columns:1fr}.asset-browser-levels>i{min-height:10px}.asset-browser-entry-grid{grid-template-columns:1fr}} @media (max-width:640px){.asset-browser-section-heading,.asset-browser-current-heading{align-items:flex-start;flex-direction:column}.asset-browser-current-actions{width:100%;justify-content:flex-start}.asset-browser-item{grid-template-columns:32px minmax(0,1fr) 20px}.asset-browser-item-status{grid-column:2/4;grid-row:2}.asset-browser-entry{grid-template-columns:42px minmax(0,1fr)}.asset-browser-entry b{grid-column:2}} .import-section-tabs{display:flex;align-items:center;gap:8px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#f7f9fb;width:max-content;max-width:100%} .import-section-tabs button{display:flex;align-items:center;gap:8px;padding:8px 11px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:10px;font-weight:700;cursor:pointer} .import-section-tabs button b{display:grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#e8edf4;color:#536278;font-size:8px} .import-section-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(31,42,58,.08)} .import-section-tabs button.active b{background:#eaf1ff;color:#365f9d} .import-review-inbox{display:grid;gap:14px} .import-review-inbox .panel-heading{margin-bottom:0} .import-review-inbox-filters{display:flex;gap:7px;flex-wrap:wrap} .import-review-inbox-list{display:grid;gap:8px} .import-review-inbox-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-left:4px solid #c7d1df;border-radius:11px;background:#fff} .import-review-inbox-item.decision{border-left-color:#cc624f}.import-review-inbox-item.dependency{border-left-color:#738aa6;background:#fbfcfe} .import-review-inbox-copy{display:grid;gap:5px;min-width:0} .import-review-inbox-copy>strong{color:var(--ink);font-size:11px}.import-review-inbox-copy>p{margin:0;color:#59677a;font-size:9px;line-height:1.45}.import-review-inbox-copy>small{color:var(--muted);font-size:8px;overflow-wrap:anywhere} .import-review-inbox-meta{display:flex;gap:6px;flex-wrap:wrap}.import-review-inbox-meta span{padding:3px 6px;border-radius:999px;background:#f0f3f7;color:#647186;font-size:8px}.import-review-inbox-item.decision .import-review-inbox-meta span:first-child{background:#fff0ec;color:#a14c3c}.import-review-inbox-item.dependency .import-review-inbox-meta span:first-child{background:#eef3f8;color:#526c89} @media (max-width:700px){.import-section-tabs{width:100%}.import-section-tabs button{flex:1;justify-content:center}.import-review-inbox-item{grid-template-columns:1fr}.import-review-inbox-item>.button{width:100%;justify-content:center}} .finding-workflow-explainer{display:grid;grid-template-columns:minmax(130px,1fr) auto minmax(130px,1fr) auto minmax(130px,1fr) auto minmax(130px,1fr);gap:8px;align-items:stretch;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fafbfc}.finding-workflow-explainer>div{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:8px;align-content:center;padding:10px;border:1px solid #e3e8ef;border-radius:10px;background:#fff}.finding-workflow-explainer>div>span{grid-row:1/3;display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#edf2f8;color:#52677f;font-size:9px;font-weight:700}.finding-workflow-explainer strong{font-size:10px}.finding-workflow-explainer small{margin-top:2px;color:var(--muted);font-size:8px;line-height:1.35}.finding-workflow-explainer>i{display:grid;place-items:center;color:#8c97a7;font-style:normal} .finding-attention-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:14px}.finding-attention-grid button{display:grid;gap:3px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);cursor:pointer}.finding-attention-grid button:hover,.finding-attention-grid button.active{border-color:#9db1cf;background:#f7faff}.finding-attention-grid button.danger{border-left:4px solid #c95d54}.finding-attention-grid button small{color:var(--muted);font-size:8px;font-weight:700}.finding-attention-grid button strong{font-size:20px}.finding-attention-grid button span{color:var(--muted);font-size:8px} .finding-table-primary{display:grid;gap:2px;min-width:180px}.finding-table-primary strong{font-size:10px}.finding-table-primary small{color:var(--muted);font-size:8px}.finding-deadline{display:grid;gap:2px}.finding-deadline small{color:var(--muted);font-size:8px}.finding-deadline strong{font-size:9px}.finding-deadline.overdue strong{color:var(--red)} .finding-detail-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--muted);font-size:9px}.finding-detail-heading{margin-bottom:14px}.finding-detail-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}.finding-detail-summary-grid article{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.finding-detail-summary-grid article.overdue{border-left:4px solid #c95d54}.finding-detail-summary-grid small{color:var(--muted);font-size:8px}.finding-detail-summary-grid strong,.finding-detail-summary-grid a{font-size:11px;font-weight:700;color:var(--ink);text-decoration:none}.finding-detail-summary-grid span{color:var(--muted);font-size:8px;line-height:1.35} .finding-office-panel,.finding-close-panel{margin-top:14px}.finding-two-deadlines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.finding-two-deadlines>div{display:grid;gap:4px;padding:12px;border:1px solid #dfe5ed;border-radius:10px;background:#fafbfd}.finding-two-deadlines span{color:#58708d;font-size:8px;font-weight:700}.finding-two-deadlines strong{font-size:11px}.finding-two-deadlines p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.finding-office-form{display:grid;gap:12px}.finding-closed-seal{margin-top:14px} @media (max-width:980px){.finding-workflow-explainer{grid-template-columns:1fr}.finding-workflow-explainer>i{min-height:8px}.finding-attention-grid,.finding-detail-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}} @media (max-width:640px){.finding-attention-grid,.finding-detail-summary-grid,.finding-two-deadlines{grid-template-columns:1fr}} .status-badge.danger{color:#9d3c38;background:#fdeeed}.status-badge.danger::before{background:#c95d54}.status-badge.blue{color:#365f9d;background:#edf4ff}.status-badge.blue::before{background:#5f82b8} .asset-dossier-stack{display:grid;gap:18px}.dossier-overview{display:grid;gap:18px}.dossier-metrics{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.dossier-metrics>div{border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:var(--soft);display:grid;gap:3px}.dossier-metrics small{color:var(--muted);font-size:12px}.dossier-metrics strong{font-size:24px}.dossier-metrics>div.attention{border-color:#e7bd7a;background:#fff8e8}.dossier-subtabs{display:flex;gap:8px;flex-wrap:wrap}.dossier-subtabs button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:999px;padding:9px 14px;font:inherit;cursor:pointer}.dossier-subtabs button.active{background:var(--ink);color:white;border-color:var(--ink)}.dossier-timeline{display:grid;gap:0}.dossier-timeline-item{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;position:relative;padding:0 0 20px}.dossier-timeline-item:not(:last-child)::before{content:"";position:absolute;left:18px;top:34px;bottom:0;border-left:1px solid var(--line)}.dossier-timeline-icon{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:white;z-index:1}.dossier-timeline-body{padding-top:2px;min-width:0}.dossier-timeline-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:4px}.dossier-timeline-head span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.dossier-timeline-head time{font-size:12px;color:var(--muted);white-space:nowrap}.dossier-timeline-body>a,.dossier-timeline-body>strong{color:var(--ink);text-decoration:none}.dossier-timeline-body p{margin:4px 0 0;color:var(--muted);font-size:13px}.asset-dossier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.asset-dossier-grid .dossier-wide{grid-column:1/-1}.dossier-link-list{display:grid}.dossier-link-list>a{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.dossier-link-list>a:last-child{border-bottom:0}.dossier-link-list>a div{display:grid;gap:2px}.dossier-link-list>a small,.dossier-link-list>a span{color:var(--muted);font-size:12px}.dossier-document-list{display:grid;gap:10px}.dossier-document-list>div{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line)}.dossier-document-list>div:last-child{border-bottom:0}.dossier-document-list>div>div{display:grid;gap:2px}.dossier-document-list small{color:var(--muted)} @media(max-width:1050px){.dossier-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.dossier-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-dossier-grid{grid-template-columns:1fr}.asset-dossier-grid .dossier-wide{grid-column:auto}.dossier-link-list>a{grid-template-columns:minmax(0,1fr) 20px}.dossier-link-list>a>span{display:none}.dossier-timeline-head{display:grid;gap:2px}} .document-center-tabs{display:flex;gap:6px;margin:-8px 0 18px;padding:5px;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)} .document-center-tabs a{padding:8px 14px;border-radius:8px;color:#687188;text-decoration:none;font-size:12px;font-weight:750} .document-center-tabs a:hover{background:var(--soft);color:var(--ink)} .document-center-tabs a.active{background:#eff4ff;color:var(--blue)} .document-view-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px} .document-view-tabs button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:9px 14px;font:inherit;font-size:12px;font-weight:700;cursor:pointer} .document-view-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff} .document-primary{display:grid;gap:3px;min-width:190px}.document-primary small{color:var(--muted);font-size:12px;max-width:360px}.document-table table td{vertical-align:middle} .report-summary-panel,.report-integrity-panel{margin-top:18px}.report-linked-documents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.report-linked-documents>a{display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:3px 10px;padding:14px;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none;background:var(--soft)}.report-linked-documents>a>span,.report-linked-documents>a>strong,.report-linked-documents>a>small{grid-column:1}.report-linked-documents>a>.icon{grid-column:2;grid-row:1/4;align-self:center}.report-linked-documents span,.report-linked-documents small{color:var(--muted);font-size:12px}.report-integrity-list{display:grid;gap:0;margin:0}.report-integrity-list>div{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.report-integrity-list>div:last-child{border-bottom:0}.report-integrity-list dt{color:var(--muted);font-size:12px}.report-integrity-list dd{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow-wrap:anywhere} @media (max-width:760px){.document-center-tabs{width:100%}.document-center-tabs a{flex:1;text-align:center}.report-linked-documents{grid-template-columns:1fr}.report-integrity-list>div{grid-template-columns:1fr;gap:4px}} .verification-selection-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 14px;padding:12px 14px;border:1px solid #9db1cf;border-radius:12px;background:#f7faff}.verification-selection-bar>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.verification-selection-bar span{color:var(--muted);font-size:12px}.verification-planning-table tr.selected-row{background:#f7faff}.verification-planning-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--ink)}.verification-planning-panel{margin-top:18px}.verification-context-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.verification-context-summary>div{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--soft)}.verification-context-summary small{color:var(--muted)}.verification-context-summary strong{overflow-wrap:anywhere}@media(max-width:760px){.verification-selection-bar{align-items:stretch;flex-direction:column}.verification-selection-bar>div:last-child{justify-content:flex-end}.verification-context-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.verification-context-summary{grid-template-columns:1fr}} .verification-toolbar .compact-date{min-width:150px}.verification-toolbar .compact-date input{min-width:0}@media(max-width:760px){.verification-toolbar .compact-date{min-width:0;width:100%}} .finding-office-workspace{margin-top:14px}.finding-case-progress{display:grid;grid-template-columns:minmax(110px,1fr) auto minmax(110px,1fr) auto minmax(110px,1fr) auto minmax(110px,1fr);gap:8px;align-items:stretch;margin:2px 0 14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}.finding-case-progress>div{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:8px;align-content:center;min-width:0;padding:9px;border:1px solid #e3e8ef;border-radius:9px;background:#fff}.finding-case-progress>div>span{grid-row:1/3;display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#eef1f5;color:#6d7888;font-size:9px;font-weight:800}.finding-case-progress>div strong{font-size:9px}.finding-case-progress>div small{margin-top:2px;color:var(--muted);font-size:7px;line-height:1.25}.finding-case-progress>div.done{border-color:#b9dfc7;background:#f7fff9}.finding-case-progress>div.done>span{background:#dff4e7;color:#17663a}.finding-case-progress>div.current{border-color:#b9cced;background:#f7f9ff}.finding-case-progress>div.current>span{background:#e3ecfb;color:#2f5fa9}.finding-case-progress>div.pending{opacity:.72}.finding-case-progress>i{display:grid;place-items:center;color:#8d98a8;font-style:normal}.finding-recommended-action{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:13px 14px;border:1px solid #cad7ea;border-left:4px solid #6b88b4;border-radius:10px;background:#f8faff}.finding-recommended-action.overdue{border-color:#ebc1bd;border-left-color:#c95d54;background:#fff9f8}.finding-recommended-action>div:first-child{display:grid;gap:3px}.finding-recommended-action strong{font-size:12px}.finding-recommended-action p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.finding-office-sections{display:grid;gap:12px}.finding-office-step{scroll-margin-top:22px;padding:13px;border:1px solid #dfe4eb;border-radius:11px;background:#fff}.finding-office-step.complete{border-left:4px solid #77a98a}.finding-office-deadline-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.finding-office-deadline-row>div{display:grid;gap:2px;min-width:160px;padding:9px 11px;border:1px solid #e4e8ee;border-radius:8px;background:#fafbfd}.finding-office-deadline-row small{color:var(--muted);font-size:7px}.finding-office-deadline-row strong{font-size:10px}.finding-response-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.finding-response-record{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:9px}.finding-response-record>div{display:grid;gap:4px;padding:11px;border:1px solid #e3e7ed;border-radius:9px;background:#fafbfd}.finding-response-record small{color:var(--muted);font-size:7px}.finding-response-record strong{font-size:10px}.finding-response-record p{margin:0;color:#4f5b6d;font-size:9px;line-height:1.5;white-space:pre-line}.finding-verification-record{display:grid;gap:4px;margin-top:10px;padding:11px;border:1px solid #dbe4ef;border-radius:9px;background:#f8faff}.finding-verification-record small{color:var(--muted);font-size:7px}.finding-verification-record strong{font-size:11px}.finding-verification-record span{color:var(--muted);font-size:8px}.finding-verification-record p{margin:0;color:#4f5b6d;font-size:9px;line-height:1.45}.finding-office-footnote{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:8px;line-height:1.45}.finding-office-footnote .icon{flex:0 0 auto}.finding-office-workspace .subsection-heading h3{margin:0;font-size:12px}.finding-office-workspace .subsection-heading{margin-bottom:10px} @media (max-width:1100px){.finding-response-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finding-case-progress{grid-template-columns:1fr}.finding-case-progress>i{min-height:7px}.finding-recommended-action{align-items:flex-start;flex-direction:column}.finding-response-record{grid-template-columns:1fr}} @media (max-width:640px){.finding-response-grid{grid-template-columns:1fr}.finding-office-deadline-row{display:grid;grid-template-columns:1fr}.finding-office-deadline-row>div{min-width:0}} .success-banner{margin:0 0 14px;padding:11px 13px;border:1px solid #b7dfc4;border-radius:10px;background:#f4fff7;color:#1e6840;font-size:12px;font-weight:700} .report-status-stack{display:grid;gap:7px;justify-items:end}.report-review-panel{margin-top:18px}.review-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:4px 0 18px}.review-flow>div{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:8px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.review-flow>div>span{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#eef1f5;color:#687188;font-size:10px;font-weight:800}.review-flow>div strong{font-size:10px}.review-flow>div small{margin-top:2px;color:var(--muted);font-size:8px}.review-flow>div.complete{border-color:#b8dfc6;background:#f7fff9}.review-flow>div.complete>span{background:#dff4e7;color:#17663a}.report-revision-list{display:grid;gap:9px}.report-revision-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff}.report-revision-list article.approved{border-color:#9db4d9;background:#f7faff}.report-revision-list article>div:first-child{display:grid;gap:4px;min-width:0}.report-revision-list strong{font-size:11px}.report-revision-list small{color:var(--muted);font-size:9px}.report-revision-list p{margin:4px 0 0;color:#536078;font-size:10px;line-height:1.45}.revision-actions{display:grid;justify-items:end;gap:8px;align-content:start}.revision-actions code{max-width:240px;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:8px}.report-review-form,.report-review-action{display:grid;gap:11px;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}.report-review-form h3,.report-review-action h3{margin:2px 0 0;font-size:14px}.report-review-form label,.report-review-action label{display:grid;gap:6px;color:#536078;font-size:10px;font-weight:700}.report-review-form input[type=file]{padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit}.report-review-form textarea,.report-review-action textarea{min-height:82px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit;resize:vertical}.report-review-form .button,.report-review-action .button{justify-self:start}.final-signature-action{border-color:#b8cbea;background:#f7f9ff}.check-label{display:flex!important;align-items:flex-start;gap:9px!important;font-weight:600!important;line-height:1.45}.check-label input{margin-top:2px;width:17px;height:17px;accent-color:var(--ink)}.signed-report-box{display:flex;align-items:flex-start;gap:11px;margin-top:16px;padding:14px;border:1px solid #b7dfc4;border-radius:12px;background:#f4fff7}.signed-report-box>.icon{flex:0 0 auto;color:#1e6840}.signed-report-box>div{display:grid;gap:3px;min-width:0}.signed-report-box p{margin:0;color:#536078;font-size:10px}.signed-report-box code{margin-top:5px;overflow-wrap:anywhere;color:#52705f;font-size:8px} @media(max-width:900px){.review-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.report-revision-list article{grid-template-columns:1fr}.revision-actions{justify-items:start}.report-status-stack{justify-items:start}}@media(max-width:560px){.review-flow{grid-template-columns:1fr}} .finding-verification-history{display:grid;gap:10px;margin-top:14px;padding:12px;border:1px solid #dfe5ec;border-radius:11px;background:#fafbfd}.finding-verification-history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.finding-verification-history-heading>div{display:grid;gap:2px}.finding-verification-history-heading small{color:var(--muted);font-size:7px;letter-spacing:.08em}.finding-verification-history-heading strong{font-size:11px}.finding-verification-history-heading>span{padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:8px}.finding-verification-timeline{display:grid;gap:0}.finding-verification-event{display:grid;grid-template-columns:14px minmax(0,1fr);gap:9px;position:relative;padding:0 0 11px}.finding-verification-event:not(:last-child)::before{content:"";position:absolute;left:6px;top:10px;bottom:-1px;width:1px;background:#d8dee8}.finding-verification-event-dot{position:relative;z-index:1;width:13px;height:13px;margin-top:3px;border:3px solid #fff;border-radius:999px;background:#7791b7;box-shadow:0 0 0 1px #b8c7dc}.finding-verification-event-body{display:grid;gap:7px;padding:10px;border:1px solid #e1e6ed;border-radius:9px;background:#fff}.finding-verification-event-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.finding-verification-event-title strong{font-size:10px}.finding-verification-event-title span{color:var(--muted);font-size:8px;white-space:nowrap}.finding-verification-event-body>p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.finding-verification-date-change{display:grid;grid-template-columns:auto auto 18px auto auto;gap:6px;align-items:center;width:max-content;max-width:100%;padding:6px 8px;border-radius:8px;background:var(--soft)}.finding-verification-date-change small{color:var(--muted);font-size:7px}.finding-verification-date-change strong{font-size:9px}.finding-verification-date-change i{font-style:normal;color:#7b8797;text-align:center}.finding-verification-visit-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border:1px solid #dfe5ed;border-radius:8px;text-decoration:none}.finding-verification-visit-link span{font-size:9px;font-weight:800;color:var(--ink)}.finding-verification-visit-link small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.finding-verification-event-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:7px}@media(max-width:620px){.finding-verification-history-heading,.finding-verification-event-title{align-items:flex-start;flex-direction:column}.finding-verification-date-change{grid-template-columns:1fr 1fr}.finding-verification-date-change i{display:none}.finding-verification-visit-link{grid-template-columns:1fr auto}.finding-verification-visit-link small{grid-column:1/2;white-space:normal}} .finding-verification-target-date{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;padding:6px 8px;border-radius:8px;background:var(--soft)}.finding-verification-target-date small{color:var(--muted);font-size:7px}.finding-verification-target-date strong{font-size:9px} .finding-applicability-panel, .finding-proposals-panel, .asset-finding-catalog-panel { margin-top: 18px; } .finding-applicability-toolbar { margin-bottom: 12px; } .catalog-selection-actions { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; } .finding-selection-list { display: grid; gap: 8px; max-height: 560px; overflow: auto; padding: 2px 2px 8px; margin-bottom: 14px; } .finding-selection-row { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 10px; padding: 11px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); } .finding-selection-row.override { border-style: dashed; } .finding-selection-row input { margin-top: 3px; } .finding-selection-row span { display: grid; gap: 4px; } .finding-selection-row small { color: var(--muted); line-height: 1.35; } .finding-proposal-list { display: grid; gap: 12px; } .finding-proposal-card { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .8fr); gap: 18px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); } .finding-proposal-card h3 { margin: 5px 0 7px; } .finding-proposal-card p { margin: 0 0 8px; line-height: 1.45; } .finding-proposal-actions { display: grid; align-content: start; gap: 8px; } @media (max-width: 900px) { .finding-proposal-card { grid-template-columns: 1fr; } } .inspection-checklist-panel { display: grid; gap: 14px; } .inspection-checklist-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; } .inspection-checklist-metrics > div { display: grid; gap: 3px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); } .inspection-checklist-metrics strong { font-size: 1.45rem; } .inspection-checklist-metrics span { color: var(--muted); font-size: .82rem; } @media (max-width: 900px) { .inspection-checklist-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } } /* D5.6.3 · Navegación contextual */ .operational-context-bar { position: sticky; top: 0; z-index: 22; display: grid; grid-template-columns: minmax(210px,.8fr) minmax(330px,1.05fr) minmax(240px,.9fr) auto; gap: 10px; align-items: end; padding: 11px clamp(22px,3vw,48px); border-bottom: 1px solid var(--line); background: rgba(248,250,252,.96); backdrop-filter: blur(12px); box-shadow: 0 5px 18px rgba(25,40,70,.045); } .operational-context-summary { min-width: 0; display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 9px; align-items: center; } .operational-context-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: #365f9d; background: #eaf1ff; } .operational-context-summary div { min-width: 0; } .operational-context-summary small, .operational-context-summary strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .operational-context-summary small { margin-bottom: 3px; color: #7c8798; font-size: 8px; font-weight: 850; letter-spacing: .12em; } .operational-context-summary strong { color: var(--ink); font-size: 11px; } .operational-context-selectors { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; } .operational-context-selectors label { display: grid; gap: 4px; color: var(--muted); font-size: 8px; font-weight: 800; } .operational-context-selectors select { width: 100%; min-width: 0; min-height: 36px; padding: 7px 9px; border: 1px solid #d7dce5; border-radius: 8px; color: var(--ink); background: white; outline: none; font-size: 10px; } .operational-context-selectors select:focus { border-color: #6b95ed; box-shadow: 0 0 0 3px rgba(40,100,220,.1); } .operational-context-selectors select:disabled { color: #9199a8; background: #f1f3f6; } .operational-context-search { min-height: 36px; display: flex; align-items: center; gap: 7px; padding-left: 9px; border: 1px solid #d7dce5; border-radius: 8px; color: #8790a1; background: white; } .operational-context-search:focus-within { border-color: #6b95ed; box-shadow: 0 0 0 3px rgba(40,100,220,.1); } .operational-context-search input { min-width: 0; flex: 1; border: 0; outline: none; color: var(--ink); font-size: 10px; } .operational-context-search button { align-self: stretch; padding: 0 10px; border: 0; border-left: 1px solid var(--line); color: var(--blue); background: transparent; cursor: pointer; font-size: 9px; font-weight: 800; } .operational-context-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; white-space: nowrap; } .inspection-status-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: -7px 0 16px; } .inspection-status-tabs a { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: #687188; background: white; text-decoration: none; font-size: 9px; font-weight: 750; } .inspection-status-tabs a:hover { border-color: #b8c9ef; color: var(--blue); } .inspection-status-tabs a.active { border-color: #8fabe0; color: #2458b4; background: #edf3ff; box-shadow: inset 0 0 0 1px rgba(40,100,220,.05); } @media (max-width: 1180px) { .operational-context-bar { grid-template-columns: minmax(190px,.8fr) minmax(300px,1fr) minmax(210px,.8fr); } .operational-context-actions { grid-column: 1 / -1; justify-content: flex-start; } } @media (max-width: 920px) { .operational-context-bar { position: static; grid-template-columns: 1fr 1.4fr; padding: 10px 15px; } .operational-context-search { grid-column: 1 / -1; } .operational-context-actions { grid-column: 1 / -1; } } @media (max-width: 640px) { .operational-context-bar { grid-template-columns: 1fr; } .operational-context-selectors { grid-template-columns: 1fr; } .operational-context-search, .operational-context-actions { grid-column: auto; } .operational-context-actions { flex-wrap: wrap; } .operational-context-actions .button { flex: 1; } } /* D5.6.4 · combobox buscable global */ .searchable-select{position:relative;width:100%;min-width:0}.searchable-select-native{position:absolute!important;inset:0;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.searchable-select-trigger{display:flex;width:100%;min-height:41px;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid #d7dce5;border-radius:8px;background:#fff;color:var(--ink);font-size:13px;text-align:left;cursor:pointer;outline:none}.searchable-select-trigger:hover{border-color:#bcc6d6}.searchable-select-trigger:focus-visible{border-color:#6b95ed;box-shadow:0 0 0 3px rgba(40,100,220,.1)}.searchable-select-trigger:disabled{cursor:not-allowed;color:#9199a8;background:#f1f3f6}.searchable-select-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-trigger .placeholder{color:#7e8796}.searchable-select-trigger .icon{flex:0 0 auto;transform:rotate(90deg)}.searchable-select-popup{position:fixed;z-index:10000;max-height:315px;padding:6px;border:1px solid #ccd4e0;border-radius:10px;background:#fff;box-shadow:0 14px 40px rgba(18,31,53,.18)}.searchable-select-search{display:flex;align-items:center;gap:7px;padding:5px 7px 7px;border-bottom:1px solid var(--line)}.searchable-select-search input{width:100%;min-width:0;height:34px;padding:6px 8px;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}.searchable-select-options{max-height:245px;overflow:auto;padding-top:4px}.searchable-select-options>button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:12px;text-align:left;cursor:pointer}.searchable-select-options>button:hover,.searchable-select-options>button:focus-visible{background:#f2f5fa;outline:none}.searchable-select-options>button.selected{background:#eef4ff;color:#174ea6;font-weight:750}.searchable-select-options>button:disabled{cursor:not-allowed;color:#a0a7b3;background:transparent}.searchable-select-empty{padding:14px 10px;color:var(--muted);font-size:11px;text-align:center}.select-field>.searchable-select{width:100%}.survey-inline-select.searchable-select{min-width:130px;margin-top:6px;padding:0;border:0;background:transparent}.survey-inline-select.wide.searchable-select{min-width:175px;margin-top:0}.survey-inline-select .searchable-select-trigger{min-height:33px;padding:6px 8px;border-radius:7px;font-size:9px}.operational-context-selectors .searchable-select-trigger{min-height:36px;padding:7px 9px;font-size:10px}.parent-picker .searchable-select-trigger{border-radius:5px 5px 8px 8px} .inspection-quick-create{max-width:980px;margin-left:auto;margin-right:auto}.inspection-quick-create .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inspection-generated-code{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--soft)}.inspection-generated-code small{color:var(--muted);font-weight:700}.inspection-generated-code strong{font-size:15px;letter-spacing:.02em}@media(max-width:760px){.inspection-quick-create .form-grid{grid-template-columns:1fr}} /* Parent choices need fixed-size controls even inside a generic form field. */ .inventory-parent-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 8px; margin: 10px 0 14px; } .inventory-parent-option { display: flex; align-items: center; justify-content: flex-start; gap: 10px; min-width: 0; min-height: 42px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font-size: 12px; font-weight: 600; line-height: 1.4; cursor: pointer; } .inventory-parent-option input[type="checkbox"] { flex: 0 0 17px; width: 17px; height: 17px; min-height: 17px; padding: 0; margin: 0; accent-color: var(--blue); cursor: inherit; } .inventory-parent-option > span { display: block; min-width: 0; overflow-wrap: anywhere; } .inventory-parent-option:has(input:checked) { border-color: #9db9ed; background: #eef4ff; } .inventory-parent-option:has(input:focus-visible) { outline: 2px solid var(--blue); outline-offset: 2px; } .inventory-parent-option:has(input:disabled) { cursor: default; opacity: .65; }