.ob-page{max-width:1500px;color:var(--text-primary,#172033);margin:0 auto;padding:28px;font-family:inherit}.ob-heading{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.ob-heading.compact{align-items:center}.ob-heading h1{margin:4px 0 8px;font-size:30px}.ob-heading p,.ob-panel-head span,.ob-note{color:#677085;margin:0}.ob-kicker{letter-spacing:.12em;color:#27716b;font-size:11px;font-weight:800}.ob-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.ob-stat,.ob-panel{background:#fff;border:1px solid #e6e9ef;border-radius:14px;box-shadow:0 2px 10px #141f320a}.ob-stat{padding:18px}.ob-stat b{font-size:26px;display:block}.ob-stat span{color:#70798a;font-size:13px}.ob-panel{margin-bottom:18px;padding:20px}.ob-panel h2,.ob-panel h3{margin:0 0 6px}.ob-panel-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.ob-btn{color:#fff;cursor:pointer;background:#28736c;border:0;border-radius:9px;justify-content:center;align-items:center;padding:10px 15px;font-weight:700;text-decoration:none;display:inline-flex}.ob-btn.secondary{color:#25665f;background:#f3f7f6;border:1px solid #cfe2df}.ob-btn:disabled{opacity:.55;cursor:not-allowed}.ob-table-wrap{overflow:auto}.ob-table{border-collapse:collapse;width:100%}.ob-table th,.ob-table td{text-align:left;border-bottom:1px solid #edf0f4;padding:14px 12px;font-size:14px}.ob-table th{text-transform:uppercase;color:#7b8494;font-size:12px}.ob-table td small{color:#9299a6;margin-top:4px;display:block}.ob-link{color:#27716b;font-weight:700;text-decoration:none}.ob-badge{text-transform:capitalize;background:#eef2f4;border-radius:20px;padding:6px 9px;font-size:12px}.ob-badge.live{color:#187044;background:#e8f7ef}.ob-badge.in_progress{color:#2b5f98;background:#eef6ff}.ob-progress{align-items:center;gap:8px;display:flex}.ob-progress>span{background:#e9edf2;border-radius:8px;width:100px;height:7px;overflow:hidden}.ob-progress i{background:#2b756f;height:100%;display:block}.ob-progress em{color:#737d8d;font-size:12px;font-style:normal}.ob-empty{text-align:center;color:#7c8492;padding:32px}.ob-empty.small{padding:18px}.ob-error{color:#a93232;background:#fff1f1;border-radius:9px;margin:10px 0;padding:11px 13px}.ob-breadcrumb{color:#727b89;gap:8px;margin-bottom:18px;font-size:13px;display:flex}.ob-breadcrumb a{color:#27716b;text-decoration:none}.ob-stepper{grid-template-columns:repeat(8,1fr);gap:8px;margin-bottom:20px;display:grid}.ob-step{background:#fff;border:1px solid #e6e9ef;border-radius:11px;align-items:center;gap:9px;padding:11px;display:flex}.ob-step>span{background:#f0f2f5;border-radius:50%;place-items:center;width:27px;height:27px;font-size:12px;font-weight:800;display:grid}.ob-step b{font-size:12px;display:block}.ob-step small{color:#9097a5;font-size:10px}.ob-step.completed>span{color:#166d49;background:#e6f6ef}.ob-step.active{border-color:#67a9a2;box-shadow:0 0 0 2px #e8f5f3}.ob-work-grid{grid-template-columns:minmax(0,1fr) 290px;gap:18px;display:grid}.ob-side .ob-panel{position:sticky;top:20px}.ob-metric{border-bottom:1px solid #edf0f4;justify-content:space-between;padding:12px 0;font-size:13px;display:flex}.ob-metric:last-child{border:0}.ob-gate{border-top:1px solid #edf0f4;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.ob-gate:first-child{border-top:0}.ob-gate b,.ob-gate small{display:block}.ob-gate small{text-transform:capitalize;color:#8a92a0;margin-top:3px}.source-tabs{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.source-tabs button{color:#566071;cursor:pointer;background:#f9fafb;border:1px solid #e1e5ea;border-radius:10px;padding:12px;font-weight:700}.source-tabs button.active{color:#276c65;background:#ecf7f5;border-color:#73aaa5}.source-box{background:#fbfcfd;border:1px solid #e7eaf0;border-radius:12px;margin-bottom:20px;padding:16px}.source-drop{text-align:center;background:#fff;border:2px dashed #cdd5df;border-radius:11px;padding:28px;position:relative}.source-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.source-drop b,.source-drop span{display:block}.source-drop span{color:#7b8492;margin-top:6px;font-size:12px}.selected-files{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.selected-files span{background:#eef2f5;border-radius:8px;padding:7px 9px;font-size:12px}.selected-files small{color:#808998;margin-left:7px}.source-actions{gap:10px;margin-top:14px;display:flex}.source-actions.right{justify-content:flex-end}.source-actions input,.db-grid input,.db-grid select{background:#fff;border:1px solid #dce1e7;border-radius:8px;width:100%;padding:10px}.source-actions>input{flex:1}.db-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.db-grid label{color:#596376;font-size:12px;font-weight:700}.db-grid label input,.db-grid label select{margin-top:6px;display:block}.db-grid .wide{grid-column:1/-1}.db-grid .check{align-items:center;gap:8px;display:flex}.db-grid .check input{width:auto;margin:0}.template-box{align-items:center;gap:12px;display:flex}.template-box>div{flex:1}.template-box p{color:#788190;margin:5px 0 0;font-size:13px}.source-list h3{margin:0 0 10px;font-size:14px}.source-row{border-top:1px solid #edf0f4;grid-template-columns:46px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.source-row b,.source-row small{display:block}.source-row small{color:#7d8694;margin-top:3px}.source-icon{color:#276c65;background:#eef5f4;border-radius:8px;place-items:center;width:42px;height:34px;font-size:10px;font-weight:800;display:grid}.discovery{color:#8a6418;background:#fff5df;border-radius:15px;padding:6px 8px;font-size:11px}.remove{color:#a24a4a;cursor:pointer;background:0 0;border:0}.ob-note{font-size:12px;line-height:1.6}@media (max-width:1000px){.ob-stats{grid-template-columns:repeat(2,1fr)}.ob-stepper{grid-template-columns:repeat(4,1fr)}.ob-work-grid{grid-template-columns:1fr}.ob-side .ob-panel{position:static}}@media (max-width:650px){.ob-page{padding:16px}.ob-stats,.ob-stepper{grid-template-columns:1fr 1fr}.source-tabs,.db-grid{grid-template-columns:1fr}.template-box,.source-actions{flex-direction:column;align-items:stretch}.source-row{grid-template-columns:42px 1fr}.source-row .discovery,.source-row .remove{grid-column:2}.ob-table th:nth-child(3),.ob-table td:nth-child(3){display:none}}.setup-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.setup-grid label{color:#596376;font-size:12px;font-weight:700}.setup-grid input,.setup-grid select,.setup-grid textarea{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #dce1e7;border-radius:8px;margin-top:6px;padding:10px;display:block}.setup-grid textarea{resize:vertical;min-height:78px}.setup-grid .wide{grid-column:1/-1}.ob-create{margin-top:-6px}@media (max-width:650px){.setup-grid{grid-template-columns:1fr}.setup-grid .wide{grid-column:auto}}.source-row{grid-template-columns:46px minmax(0,1fr) auto auto auto}.inspect-btn{color:#286b65;cursor:pointer;background:#f4faf9;border:1px solid #cfe2df;border-radius:8px;padding:7px 10px;font-weight:700}.discovery.completed{color:#187044;background:#e8f7ef}.discovery.failed{color:#a43737;background:#fff0f0}.discovery.running{color:#2b5f98;background:#eef6ff}.discovery-panel{background:#fff;border:1px solid #dfe5eb;border-radius:14px;margin-top:18px;overflow:hidden}.discovery-head{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.discovery-head h3{margin:3px 0 5px;font-size:20px}.discovery-head p{color:#7b8493;margin:0}.discovery-actions{gap:8px;display:flex}.discovery-empty{text-align:center;color:#788190;flex-direction:column;align-items:center;gap:8px;padding:34px;display:flex}.discovery-empty b{color:#2a3342}.discovery-stats{background:#fafbfc;border-bottom:1px solid #edf0f4;grid-template-columns:repeat(5,1fr);gap:10px;padding:16px 20px;display:grid}.discovery-mini{background:#fff;border:1px solid #e7ebef;border-radius:10px;padding:12px}.discovery-mini b{font-size:20px;display:block}.discovery-mini span{color:#7e8794;font-size:11px}.discovery-warnings{background:#fff9ec;border:1px solid #f1d9a8;border-radius:10px;margin:14px 20px;padding:11px 13px}.discovery-warnings summary{color:#855f17;cursor:pointer;font-weight:700}.discovery-warnings p{color:#735a2c;margin:8px 0 0;font-size:12px}.discovery-filter{border-bottom:1px solid #edf0f4;gap:8px;padding:14px 20px;display:flex;overflow:auto}.discovery-filter button{white-space:nowrap;color:#626d7d;cursor:pointer;background:#fff;border:1px solid #e0e5ea;border-radius:18px;padding:7px 10px;font-size:12px;font-weight:700}.discovery-filter button.active{color:#246861;background:#ecf7f5;border-color:#7cafaa}.discovery-layout{grid-template-columns:minmax(0,1fr);display:grid}.dataset-table-wrap{overflow:auto}.dataset-table{border-collapse:collapse;width:100%;min-width:760px}.dataset-table th,.dataset-table td{text-align:left;vertical-align:top;border-bottom:1px solid #edf0f4;padding:12px 14px;font-size:12px}.dataset-table th{color:#808997;text-transform:uppercase;letter-spacing:.04em;background:#fbfcfd;font-size:10px}.dataset-table tr{cursor:pointer}.dataset-table tbody tr:hover,.dataset-table tr.active{background:#f6fbfa}.dataset-table td b,.dataset-table td small{display:block}.dataset-table td small{color:#8c94a1;text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:3px;overflow:hidden}.table-open{color:#28736c;cursor:pointer;background:0 0;border:0;font-weight:700}.entity-pill{color:#4f5d6c;background:#eef3f5;border-radius:14px;width:max-content;padding:5px 7px;font-weight:700;display:inline-flex!important}.entity-pill.high{color:#187044;background:#e8f7ef}.entity-pill.medium{color:#2a6096;background:#edf5ff}.entity-pill.low{color:#875f12;background:#fff7e6}.entity-pill.unclassified{color:#747d89;background:#f1f2f4}.dataset-inspector{z-index:1200;box-sizing:border-box;background:#fff;width:min(560px,92vw);height:100vh;padding:20px;position:fixed;top:0;right:0;overflow:auto;box-shadow:-12px 0 36px #19233229}.inspector-head{border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:flex-start;padding-bottom:13px;display:flex}.inspector-head h3{margin:4px 0 0}.inspector-head button{cursor:pointer;background:#f1f3f5;border:0;border-radius:50%;width:32px;height:32px;font-size:20px}.inspector-meta{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;display:grid}.inspector-meta span{color:#7b8492;background:#f8fafb;border:1px solid #e9edf1;border-radius:9px;padding:10px;font-size:11px}.inspector-meta b{color:#26303f;font-size:18px;display:block}.dataset-inspector h4{text-transform:uppercase;color:#6f7886;margin:18px 0 8px;font-size:12px}.classification-box{background:#f5fbfa;border:1px solid #dce8e6;border-radius:10px;padding:12px}.classification-box b,.classification-box span,.classification-box small{display:block}.classification-box span{color:#2d726c;margin:3px 0;font-size:11px}.classification-box small{color:#7c8592}.classification-box.muted{color:#7c8592;background:#fafbfc;border-color:#e6e9ed}.inspection-note{background:#fff7e8;border-radius:8px;margin-top:10px;padding:9px 11px;font-size:12px}.field-list{border:1px solid #e7ebef;border-radius:10px;overflow:hidden}.field-row{border-top:1px solid #edf0f4;grid-template-columns:1fr 1.2fr;gap:10px;padding:9px 11px;display:grid}.field-row:first-child{border-top:0}.field-row b,.field-row small,.field-row span{display:block}.field-row small{color:#89919e;margin-top:2px;font-size:10px}.field-row>div:last-child{text-align:right;font-size:11px}.sample-wrap{border:1px solid #e7ebef;border-radius:10px;overflow:auto}.sample-table{border-collapse:collapse;width:100%;min-width:700px}.sample-table th,.sample-table td{text-align:left;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #edf0f4;border-right:1px solid #edf0f4;max-width:180px;padding:8px;font-size:10px;overflow:hidden}.sample-table th{color:#687383;background:#f8fafb}.relation-list{border:1px solid #e7ebef;border-radius:10px;overflow:hidden}.relation-list>div{border-top:1px solid #edf0f4;padding:9px 11px;font-size:11px}.relation-list>div:first-child{border-top:0}.relation-list small{color:#87909c;margin-top:2px;display:block}@media (max-width:900px){.discovery-stats{grid-template-columns:repeat(2,1fr)}.source-row{grid-template-columns:42px minmax(0,1fr)}.source-row .discovery,.source-row .inspect-btn,.source-row .remove{grid-column:2;width:max-content}.discovery-head{flex-direction:column}.discovery-actions{width:100%}.discovery-actions .ob-btn{flex:1}}.dataset-actions{align-items:center;gap:6px;display:flex}.map-open{color:#256b64;cursor:pointer;background:#edf8f6;border:1px solid #a9cec9;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:800}.inspector-actions{align-items:center;gap:8px;display:flex}.inspector-actions .inspector-map{color:#246a63;background:#eaf7f4;border-radius:8px;width:auto;padding:0 12px;font-size:11px;font-weight:800}.mapping-drawer{z-index:1400;box-sizing:border-box;background:#fff;border:1px solid #dfe5ea;border-radius:16px;padding:22px;position:fixed;inset:18px;overflow:auto;box-shadow:0 20px 70px #141f3038}.mapping-head{border-bottom:1px solid #e9edf1;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:16px;display:flex}.mapping-head h2{margin:4px 0 5px;font-size:24px}.mapping-head p{color:#77818f;margin:0;font-size:12px}.mapping-head>button{cursor:pointer;background:#f0f3f5;border:0;border-radius:50%;width:34px;height:34px;font-size:21px}.mapping-error{margin:14px 0}.mapping-empty{color:#687383;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:320px;display:flex}.mapping-empty select{background:#fff;border:1px solid #dbe1e6;border-radius:8px;min-width:300px;padding:10px}.mapping-config{grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 0;display:grid}.mapping-config label{color:#606a78;font-size:11px;font-weight:800}.mapping-config input,.mapping-config select{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #dce2e7;border-radius:8px;margin-top:6px;padding:9px 10px;display:block}.mapping-summary{grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:16px;display:grid}.mapping-summary span{color:#77808e;background:#fafbfc;border:1px solid #e7ebef;border-radius:9px;padding:10px 12px;font-size:11px}.mapping-summary b{color:#283241;margin-bottom:2px;font-size:14px;display:block}.mapping-summary .danger{color:#9a3b32;background:#fff4f3;border-color:#f0d0cc}.mapping-summary .danger b{color:#9a3b32}.mapping-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:8px 0 10px;display:flex}.mapping-toolbar b,.mapping-toolbar small{display:block}.mapping-toolbar small{color:#7d8693;margin-top:3px}.mapping-table-wrap{border:1px solid #e4e8ed;border-radius:11px;overflow:auto}.mapping-table{border-collapse:collapse;width:100%;min-width:1200px}.mapping-table th,.mapping-table td{text-align:left;vertical-align:top;border-bottom:1px solid #edf0f3;padding:10px;font-size:11px}.mapping-table th{text-transform:uppercase;letter-spacing:.05em;color:#7a8390;background:#f8fafb;font-size:9px}.mapping-table td:first-child{min-width:155px}.mapping-table td b,.mapping-table td small{display:block}.mapping-table td small{color:#8b93a0;max-width:210px;margin-top:3px;font-size:9px}.mapping-table select,.mapping-table input,.mapping-table textarea{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #dce2e7;border-radius:7px;padding:7px;font-size:10px}.mapping-table textarea.transform-options{resize:vertical;min-width:210px;height:50px}.mapping-table tr.needs-map{background:#fff9f8}.mapping-confidence{color:#66717f;text-transform:capitalize;background:#eef1f4;border-radius:12px;width:max-content;padding:4px 7px;font-weight:800;display:inline-flex!important}.mapping-confidence.high{color:#176d47;background:#e8f7ef}.mapping-confidence.medium{color:#2b6095;background:#edf5ff}.mapping-confidence.low{color:#8b6419;background:#fff5df}.mapping-confidence.unmapped{color:#9c3d37;background:#fff0f0}.mapping-confidence.manual{color:#654ba0;background:#f2edff}.mapping-transform-help{background:#fafbfc;border:1px solid #e5e9ed;border-radius:10px;margin:12px 0;padding:11px 13px}.mapping-transform-help summary{cursor:pointer;font-size:12px;font-weight:800}.mapping-transform-help>div{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;display:grid}.mapping-transform-help span{color:#687383;font-size:10px}.mapping-transform-help p{color:#77818e;font-size:10px}.mapping-transform-help code{background:#eef1f4;border-radius:4px;padding:2px 4px}.mapping-preview{border:1px solid #dfe5ea;border-radius:11px;margin:16px 0;overflow:hidden}.preview-head{background:#f8fafb;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.preview-head h3{margin:0 0 3px;font-size:13px}.preview-head span{color:#727c89;font-size:10px}.preview-invalid{border-radius:12px;padding:5px 8px;color:#9b3d36!important;background:#fff0f0!important}.preview-missing{color:#835f1b;background:#fff8e8;border-top:1px solid #f0e0b8;padding:9px 14px;font-size:10px}.sample-table td.ok{color:#167044;font-weight:700}.sample-table td.bad{color:#a23d38;white-space:normal;min-width:180px}.profile-history{border:1px solid #e3e8ec;border-radius:10px;margin:14px 0;overflow:hidden}.profile-history h3{background:#fafbfc;margin:0;padding:11px 13px;font-size:12px}.profile-history>div{border-top:1px solid #edf0f3;justify-content:space-between;padding:9px 13px;font-size:11px;display:flex}.profile-status{text-transform:capitalize;background:#eef1f4;border-radius:10px;padding:3px 7px}.profile-status.active{color:#176d47;background:#e8f7ef}.profile-status.superseded{color:#717b88;background:#f1f2f4}.mapping-success{color:#176b47;background:#eaf8f0;border-radius:9px;margin:12px 0;padding:10px 12px;font-size:11px}.mapping-footer{background:#fff;border-top:1px solid #e9edf1;justify-content:space-between;align-items:center;gap:12px;margin:0 -22px -22px;padding:14px 22px;display:flex;position:sticky;bottom:-22px}.mapping-footer>div{gap:8px;display:flex}@media (max-width:1000px){.mapping-drawer{padding:14px;inset:8px}.mapping-config,.mapping-summary,.mapping-transform-help>div{grid-template-columns:repeat(2,1fr)}.mapping-footer{margin:0 -14px -14px;padding:12px 14px;bottom:-14px}}@media (max-width:650px){.mapping-config{grid-template-columns:1fr}.mapping-summary{grid-template-columns:1fr 1fr}.mapping-toolbar{flex-direction:column;align-items:stretch}.mapping-transform-help>div{grid-template-columns:1fr}.mapping-footer{flex-direction:column;align-items:stretch}.mapping-footer>div{flex-direction:column}.mapping-footer .ob-btn{width:100%}}.mapped-note{color:#20705f!important;font-weight:700!important}.classification-box .mapped-note{border-top:1px solid #dce8e6;margin-top:7px;padding-top:7px}.profile-history>div{align-items:center;gap:10px}.profile-history>div>span:first-child{flex:1}.profile-load{color:#286b64;cursor:pointer;background:#f4faf9;border:1px solid #cddedb;border-radius:7px;padding:5px 9px;font-size:10px;font-weight:800}.map-open:disabled,.inspector-map:disabled{opacity:.45;cursor:not-allowed}.validate-open{color:#315e95;cursor:pointer;background:#f1f5fc;border:1px solid #b7c8e7;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:800}.inspector-actions .inspector-validate{color:#315f95;background:#eef4ff;border-radius:8px;width:auto;padding:0 12px;font-size:11px;font-weight:800}.validation-note-inline{margin-top:4px!important;font-weight:700!important}.validation-note-inline.ready{color:#177047!important}.validation-note-inline.blocked{color:#a33c36!important}.validation-note-inline.partial{color:#8a651a!important}.validation-drawer{z-index:1500;box-sizing:border-box;background:#fff;border:1px solid #dfe5ea;border-radius:16px;padding:22px;position:fixed;inset:18px;overflow:auto;box-shadow:0 20px 70px #141f303d}.validation-head{border-bottom:1px solid #e9edf1;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:16px;display:flex}.validation-head h2{margin:4px 0 5px;font-size:24px}.validation-head p{color:#77818f;margin:0;font-size:12px}.validation-head>button{cursor:pointer;background:#f0f3f5;border:0;border-radius:50%;width:34px;height:34px;font-size:21px}.validation-error{margin:14px 0}.validation-runbar{grid-template-columns:180px 200px 1fr;align-items:end;gap:12px;padding:16px 0;display:grid}.validation-runbar label{color:#626c7a;font-size:11px;font-weight:800}.validation-runbar input,.validation-runbar select{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #dce2e7;border-radius:8px;margin-top:6px;padding:9px;display:block}.validation-runbar .ob-btn{justify-self:end}.validation-empty{color:#7b8592;background:#fbfcfd;border:1px dashed #d9e0e6;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:220px;display:flex}.validation-empty b{color:#273242}.validation-block{color:#984038;background:#fff6f5;border:1px solid #edcdca;border-radius:10px;flex-direction:column;gap:4px;padding:14px;display:flex}.validation-readiness{border:1px solid;border-radius:11px;justify-content:space-between;align-items:center;gap:20px;margin:4px 0 14px;padding:15px 16px;display:flex}.validation-readiness b,.validation-readiness span{display:block}.validation-readiness>div>span{margin-top:4px;font-size:11px}.validation-readiness.ready{color:#176b47;background:#eefaf4;border-color:#cce9da}.validation-readiness.blocked{color:#9a3b32;background:#fff4f3;border-color:#f0d0cc}.validation-readiness.partial{color:#805d18;background:#fff9eb;border-color:#eddfb8}.validation-status{background:#ffffffb3;border-radius:13px;padding:5px 9px;font-size:11px;font-weight:800}.validation-stats{grid-template-columns:repeat(6,1fr);gap:9px;margin-bottom:14px;display:grid}.validation-mini{background:#fafbfc;border:1px solid #e5e9ed;border-radius:9px;padding:11px 12px}.validation-mini b{color:#273241;font-size:18px;display:block}.validation-mini span{color:#7a8390;font-size:10px}.validation-mini.good{background:#f2fbf6}.validation-mini.bad{background:#fff6f5}.validation-mini.bad b{color:#9d4039}.validation-mini.warn{background:#fffaf0}.validation-mini.warn b{color:#89651f}.validation-checks{grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:15px;display:grid}.validation-check{border:1px solid #e6eaee;border-radius:9px;align-items:center;gap:9px;padding:10px;display:flex}.validation-check>span{border-radius:50%;place-items:center;width:25px;height:25px;font-weight:900;display:grid}.validation-check.ok>span{color:#176e48;background:#e7f7ef}.validation-check.fail>span{color:#a03e38;background:#fff0ef}.validation-check b,.validation-check small{display:block}.validation-check b{font-size:11px}.validation-check small{color:#858e9a;margin-top:2px;font-size:9px}.validation-blockers{background:#fffaf0;border:1px solid #efd7b2;border-radius:10px;margin:12px 0}.validation-blockers h3{border-bottom:1px solid #efe0c4;margin:0;padding:10px 12px;font-size:12px}.validation-blockers>div{border-top:1px solid #f2e5cf;gap:10px;padding:9px 12px;font-size:10px;display:flex}.validation-blockers>div:first-of-type{border-top:0}.validation-blockers b{color:#865f18;min-width:95px}.validation-note{color:#7b5d20;background:#fff9ea;border-radius:9px;margin:10px 0;padding:10px 12px;font-size:10px}.issue-panel{border:1px solid #e1e6eb;border-radius:11px;margin-top:16px;overflow:hidden}.issue-head{background:#fafbfc;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.issue-head h3{margin:0 0 3px;font-size:13px}.issue-head span{color:#7a8390;font-size:10px}.issue-filters{border-top:1px solid #e9edf1;border-bottom:1px solid #e9edf1;grid-template-columns:150px 190px 1fr auto;gap:8px;padding:10px 12px;display:grid}.issue-filters select,.issue-filters input{font:inherit;background:#fff;border:1px solid #dce2e7;border-radius:7px;padding:8px;font-size:10px}.issue-table-wrap{overflow:auto}.issue-table{border-collapse:collapse;width:100%;min-width:1100px}.issue-table th,.issue-table td{text-align:left;vertical-align:top;border-bottom:1px solid #edf0f3;padding:9px 10px;font-size:10px}.issue-table th{color:#7b8491;text-transform:uppercase;background:#fbfcfd;font-size:9px}.issue-table tr.error{background:snow}.issue-table tr.warning{background:#fffdf8}.issue-severity{text-transform:capitalize;border-radius:10px;padding:3px 6px;font-weight:800;display:inline-flex}.issue-severity.error{color:#9c3d37;background:#ffeceb}.issue-severity.warning{color:#866118;background:#fff4d8}.issue-pager{color:#717b88;background:#fafbfc;justify-content:space-between;align-items:center;padding:10px 12px;font-size:10px;display:flex}.issue-pager>div{gap:7px;display:flex}.issue-pager button{cursor:pointer;background:#fff;border:1px solid #dce2e7;border-radius:7px;padding:6px 9px;font-size:10px}.issue-pager button:disabled{opacity:.45;cursor:not-allowed}.validation-footer{background:#fff;border-top:1px solid #e9edf1;justify-content:space-between;align-items:center;gap:12px;margin:16px -22px -22px;padding:13px 22px;display:flex;position:sticky;bottom:-22px}.validation-footer>span{color:#176b47;font-size:11px;font-weight:800}@media (max-width:1000px){.validation-drawer{padding:14px;inset:8px}.validation-runbar{grid-template-columns:1fr 1fr}.validation-runbar .ob-btn{grid-column:1/-1;justify-self:stretch}.validation-stats{grid-template-columns:repeat(3,1fr)}.validation-checks{grid-template-columns:repeat(2,1fr)}.issue-filters{grid-template-columns:1fr 1fr}.issue-filters input{grid-column:1/-1}.validation-footer{margin:16px -14px -14px;padding:12px 14px;bottom:-14px}}@media (max-width:650px){.validation-runbar{grid-template-columns:1fr}.validation-runbar .ob-btn{grid-column:auto}.validation-stats{grid-template-columns:1fr 1fr}.validation-checks,.issue-filters{grid-template-columns:1fr}.issue-filters input{grid-column:auto}.validation-footer{flex-direction:column;align-items:stretch}}.migration-ops{flex-direction:column;gap:16px;display:flex}.ops-summary{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.ops-mini{background:#fbfcfd;border:1px solid #e5eaf0;border-radius:10px;padding:12px}.ops-mini b{color:#26313f;font-size:20px;display:block}.ops-mini span{color:#7d8795;font-size:11px}.ops-block{background:#fff;border:1px solid #e5e9ee;border-radius:12px;overflow:hidden}.ops-head{background:#fbfcfd;border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;display:flex}.ops-head h3{margin:0 0 4px;font-size:15px}.ops-head p{color:#7a8492;margin:0;font-size:12px}.campus-picker{color:#606b7a;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.campus-picker select{background:#fff;border:1px solid #dce2e8;border-radius:8px;max-width:220px;padding:8px}.ops-table-wrap{overflow:auto}.ops-table{border-collapse:collapse;width:100%;min-width:880px}.ops-table th,.ops-table td{text-align:left;vertical-align:top;border-bottom:1px solid #edf0f4;padding:11px 12px;font-size:12px}.ops-table th{color:#7d8795;text-transform:uppercase;letter-spacing:.04em;background:#fff;font-size:10px}.ops-table td b,.ops-table td small{display:block}.ops-table td small{color:#8a93a0;margin-top:3px}.ops-table td>span+small{margin-top:4px}.status-chip{color:#626d7a;text-transform:capitalize;background:#f0f2f5;border-radius:14px;padding:5px 8px;font-size:10px;font-weight:800;display:inline-flex}.status-chip.ready,.status-chip.validated,.status-chip.completed,.status-chip.imported{color:#176e47;background:#e7f7ee}.status-chip.approved,.status-chip.executing,.status-chip.running{color:#2c6198;background:#edf5ff}.status-chip.failed,.status-chip.validation_failed,.status-chip.reconciliation_failed,.status-chip.invalid{color:#a63b3b;background:#fff0f0}.status-chip.rolled_back{color:#684f91;background:#f4f1fb}.danger-text{color:#a74343!important}.ops-actions{flex-wrap:wrap;gap:6px;display:flex}.mini-btn{color:#526071;cursor:pointer;background:#fff;border:1px solid #dce2e8;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:700}.mini-btn.primary{color:#256961;background:#eef8f6;border-color:#80b0aa}.package-builder{background:#f8fbfa;grid-template-columns:minmax(200px,1fr) minmax(220px,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.package-builder b,.package-builder small{display:block}.package-builder small{color:#7f8997;margin-top:3px;font-size:11px}.package-builder input{background:#fff;border:1px solid #dce2e8;border-radius:8px;padding:10px}.package-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.package-card{background:#fff;border:1px solid #e5e9ee;border-radius:11px;padding:13px}.package-top{justify-content:space-between;gap:10px;display:flex}.package-top b,.package-top small{display:block}.package-top small{color:#89929e;margin-top:3px;font-size:11px}.package-progress{align-items:center;gap:10px;margin:14px 0;display:flex}.package-progress>span{background:#edf0f4;border-radius:10px;flex:1;height:7px;overflow:hidden}.package-progress i{background:#2c766f;height:100%;display:block}.package-progress>b{font-size:11px}.package-meta{grid-template-columns:1fr 1fr;gap:8px;display:grid}.package-meta span{color:#7c8592;background:#fafbfc;border:1px solid #edf0f4;border-radius:8px;padding:8px;font-size:10px}.package-meta b{color:#394453;margin-top:2px;display:block}.package-error{color:#9d3838;word-break:break-word;background:#fff1f1;border-radius:8px;margin-top:10px;padding:9px 10px;font-size:11px}.package-actions{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.danger-btn{color:#a33e3e;cursor:pointer;background:#fff6f6;border:1px solid #e8bebe;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:800}.migration-gate-ready{background:#f0faf6;border:1px solid #bcded1;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin:0 14px 14px;padding:13px;display:flex}.migration-gate-ready b,.migration-gate-ready span{display:block}.migration-gate-ready span{color:#5f766d;margin-top:3px;font-size:11px}.ops-drawer{z-index:1300;box-sizing:border-box;background:#fff;width:min(720px,95vw);height:100vh;padding:20px;position:fixed;top:0;right:0;overflow:auto;box-shadow:-12px 0 38px #141e2d2e}.drawer-summary{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0;display:grid}.drawer-summary span{color:#7e8795;background:#fafbfc;border:1px solid #e8ecf0;border-radius:9px;padding:9px;font-size:10px}.drawer-summary b{color:#293442;font-size:17px;display:block}.drawer-filter{justify-content:flex-end;margin-bottom:10px;display:flex}.drawer-filter label{font-size:11px;font-weight:700}.drawer-filter select{background:#fff;border:1px solid #dbe1e7;border-radius:7px;margin-left:7px;padding:7px}.target-blocker{color:#963636;background:#fff1f1;border:1px solid #edcccc;border-radius:9px;margin-bottom:10px;padding:11px 12px}.target-blocker b,.target-blocker span{display:block}.target-blocker span{margin-top:4px;font-size:11px;line-height:1.5}.stage-errors{background:snow;border:1px solid #efd1d1;border-radius:9px;margin-bottom:12px;padding:10px 12px}.stage-errors summary{color:#923e3e;cursor:pointer;font-weight:800}.stage-errors>div{border-top:1px solid #f2dddd;padding:7px 0}.stage-errors b,.stage-errors span{font-size:11px;display:block}.stage-errors span{color:#815353;margin-top:2px}.staging-list{flex-direction:column;gap:8px;display:flex}.staging-row{border:1px solid #e6eaee;border-radius:9px;padding:10px}.staging-row.invalid{background:snow;border-color:#edcccc}.staging-row-head{justify-content:space-between;align-items:center;display:flex}.staging-row details{margin-top:7px}.staging-row summary{cursor:pointer;color:#357068;font-size:11px;font-weight:700}.row-errors{flex-direction:column;gap:3px;margin-top:6px;display:flex}.row-errors span{color:#a34040;font-size:10px}.json-compare{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.json-compare pre{white-space:pre-wrap;word-break:break-word;background:#f7f9fa;border-radius:8px;max-height:260px;margin:0;padding:9px;font-size:9px;overflow:auto}.pager{justify-content:center;align-items:center;gap:10px;padding:14px;display:flex}.pager button{background:#fff;border:1px solid #dce2e8;border-radius:7px;padding:6px 10px}.pager span{color:#707a88;font-size:11px}@media (max-width:1000px){.ops-summary{grid-template-columns:repeat(2,1fr)}.package-cards,.package-builder{grid-template-columns:1fr}.ops-head{flex-direction:column;align-items:flex-start}.campus-picker{justify-content:space-between;width:100%}.json-compare{grid-template-columns:1fr}}@media (max-width:650px){.ops-summary,.drawer-summary{grid-template-columns:1fr 1fr}.migration-gate-ready{flex-direction:column;align-items:stretch}.package-meta{grid-template-columns:1fr}}.uatgl{flex-direction:column;gap:14px;display:flex}.uatgl-tabs{border-bottom:1px solid #e9edf1;gap:8px;padding-bottom:10px;display:flex}.uatgl-tabs button{color:#596576;cursor:pointer;background:#fff;border:1px solid #dce2e8;border-radius:9px;padding:8px 12px;font-weight:700}.uatgl-tabs button.active{color:#276b64;background:#eef8f6;border-color:#8db9b4}.uat-start,.go-status,.scheduled-banner,.live-banner,.uat-approved{background:#fbfcfd;border:1px solid #e4e9ee;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:15px;display:flex}.uat-start h3,.go-status h3{margin:0 0 5px}.uat-start p,.go-status p{color:#7b8492;margin:0;font-size:12px}.uat-summary{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.uat-readiness{border:1px solid #e5e9ee;border-radius:10px;padding:11px 13px}.uat-readiness b,.uat-readiness span{display:block}.uat-readiness span{margin-top:3px;font-size:11px}.uat-readiness.ready{color:#246b4d;background:#effaf5;border-color:#c3e2d3}.uat-readiness.pending{color:#7e641f;background:#fff9ea;border-color:#f0deb2}.uat-checks{flex-direction:column;gap:9px;display:flex}.uat-check{background:#fff;border:1px solid #e4e9ee;border-radius:11px;padding:12px}.uat-check.passed{background:#fbfffd;border-color:#c6e2d5}.uat-check.failed{background:snow;border-color:#ecc8c8}.uat-check-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.uat-check-top b,.uat-check-top small{display:block}.uat-check-top b{margin:3px 0}.uat-check-top small{color:#8a93a0;font-size:10px}.uat-category{text-transform:uppercase;letter-spacing:.06em;color:#287168;font-size:9px;font-weight:800}.uat-check-top select{background:#fff;border:1px solid #dce2e8;border-radius:7px;padding:7px}.uat-check>textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:62px;font:inherit;border:1px solid #e1e6eb;border-radius:8px;margin-top:9px;padding:8px}.uat-check-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.evidence-list{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.evidence-list a{color:#2c6963;background:#f1f5f7;border-radius:14px;padding:5px 7px;font-size:10px;text-decoration:none}.evidence-upload{grid-template-columns:1fr 1.2fr auto;gap:7px;margin-top:8px;display:grid}.evidence-upload input{border:1px solid #dfe4e9;border-radius:7px;padding:7px;font-size:11px}.uat-custom{border:1px dashed #cad3db;border-radius:10px;grid-template-columns:minmax(180px,1fr) 1fr 160px auto auto;align-items:center;gap:9px;padding:11px;display:grid}.uat-custom b,.uat-custom small{display:block}.uat-custom small{color:#86909d;margin-top:3px;font-size:10px}.uat-custom input[type=text],.uat-custom>input{border:1px solid #dce2e8;border-radius:7px;padding:8px}.uat-signoff,.go-schedule,.go-config,.audit-timeline{background:#fff;border:1px solid #e5e9ee;border-radius:12px;overflow:hidden}.uat-signoff>.sign-grid,.go-schedule>.sign-grid,.go-config>.sign-grid{padding:14px}.sign-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.sign-grid label{color:#5d6878;font-size:11px;font-weight:700}.sign-grid input,.sign-grid select,.sign-grid textarea{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #dce2e8;border-radius:8px;margin-top:5px;padding:9px;display:block}.sign-grid textarea{resize:vertical;min-height:72px}.sign-grid .wide{grid-column:1/-1}.declaration{align-items:flex-start;gap:8px;display:flex!important}.declaration input{width:auto;margin:2px 0 0}.sign-action{justify-content:flex-end;padding:0 14px 14px;display:flex}.uat-approved{color:#246a4b;background:#effaf5;border-color:#c5e4d6}.uat-approved b,.uat-approved span,.uat-approved small{display:block}.uat-approved small{color:#5f7a6b}.go-status{background:#f9fbfc}.go-config{padding-bottom:2px}.go-check{background:#fafbfc;border:1px solid #e4e8ed;border-radius:8px;align-items:center;gap:9px;padding:10px;display:flex!important}.go-check input{width:auto!important;margin:0!important}.go-check span{font-size:11px}.readiness-checks{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.readiness-checks>div{border:1px solid #e6eaee;border-radius:9px;align-items:center;gap:9px;padding:10px;display:flex}.readiness-checks>div>span{border-radius:50%;place-items:center;width:24px;height:24px;font-weight:800;display:grid}.readiness-checks b,.readiness-checks small{display:block}.readiness-checks small{color:#88919e;font-size:9px}.readiness-checks .passed>span{color:#176f49;background:#e5f5ed}.readiness-checks .blocked>span{color:#9a5b13;background:#fff1e4}.live-banner{color:#1d6e49;background:#eaf8f0;border-color:#bce0cd}.live-banner b,.live-banner span,.scheduled-banner b,.scheduled-banner span{display:block}.live-banner span,.scheduled-banner span{margin-top:4px;font-size:11px}.scheduled-banner{background:#eef5ff;border-color:#cbdcf1}.gate-blocked{color:#785d22;background:#fff9ec;border:1px solid #ecd7b0;border-radius:11px;padding:18px}.gate-blocked b,.gate-blocked span{display:block}.gate-blocked span{margin-top:4px;font-size:11px}.audit-timeline{padding-bottom:10px}.audit-event{grid-template-columns:18px 1fr;gap:10px;padding:12px 16px;display:grid;position:relative}.audit-event:before{content:"";background:#e4e8ec;width:1px;position:absolute;top:30px;bottom:-6px;left:24px}.audit-event:last-child:before{display:none}.audit-dot{z-index:1;background:#2b746d;border-radius:50%;width:9px;height:9px;margin-top:4px}.audit-event b,.audit-event small{display:block}.audit-event small{color:#89929e;margin-top:2px;font-size:10px}.audit-event p{color:#657080;margin:5px 0 0;font-size:11px}@media (max-width:900px){.uat-summary{grid-template-columns:repeat(2,1fr)}.readiness-checks,.uat-custom,.evidence-upload,.sign-grid{grid-template-columns:1fr}.sign-grid .wide{grid-column:auto}}@media (max-width:650px){.uatgl-tabs{overflow:auto}.uat-start,.go-status,.scheduled-banner,.live-banner,.uat-approved{flex-direction:column;align-items:stretch}.uat-check-top{flex-direction:column}.uat-check-top select{width:100%}.uat-check-actions{flex-direction:column;align-items:stretch}.evidence-list{justify-content:flex-start}}.domain-verify-box{background:#fafbfc;border:1px solid #e4e8ed;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:5px 10px;padding:10px;display:grid}.domain-verify-box>span{color:#7d8794;font-size:10px;font-weight:700}.domain-verify-box>b{font-size:12px}.domain-verify-box>button{grid-column:1/-1;width:max-content}
