/* Product quality baseline. Loaded last so the compact preset cannot crush the UI.
   Visual changes only; permission and data operations remain server-owned. */
:root{--pq-ink:#142d3d;--pq-muted:#586d7d;--pq-border:#dce5ec;--pq-bg:#f4f7fa;--pq-primary:#087389;--pq-primary-dark:#075b6f;--pq-radius:16px;--pq-focus:#bc701d;--pq-shadow:0 2px 4px rgba(13,37,52,.035),0 13px 36px rgba(13,37,52,.045)}
.portal-body{font-size:14px;line-height:1.8;background:var(--pq-bg)}
.portal-main{padding:clamp(18px,2.2vw,32px) clamp(18px,2.4vw,36px) 52px;max-width:1580px}
.portal-main h1{font-size:clamp(1.5rem,2vw,1.9rem);line-height:1.5;font-weight:850;letter-spacing:-.3px}
.portal-main h2{font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.55;font-weight:800}
.portal-main :is(.form-control,.form-select){min-height:44px;font-size:.88rem;line-height:1.6;padding:9px 12px;border:1px solid #cbd9e4;border-radius:10px;background-color:#fff;color:var(--pq-ink);box-shadow:none}
.portal-main :is(.form-control,.form-select):disabled{background-color:#eef3f6;color:#637588}
.portal-main :is(.form-control,.form-select):focus{border-color:#087389;box-shadow:0 0 0 3px rgba(8,115,137,.13)}
.portal-main .form-label{color:#294456;font-size:.82rem;font-weight:750;margin-bottom:7px}
.portal-main :is(.btn,.btn-sm){min-height:40px;padding:7px 16px;border-radius:10px;font-size:.84rem;font-weight:750;line-height:1.65;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.portal-main .btn-sm{min-height:36px;font-size:.78rem;padding:5px 11px}
.portal-main .btn-primary{background:#086f85;border-color:#086f85}
.portal-main .btn-primary:hover{background:#06586b;border-color:#06586b}
.portal-main :is(.btn,.form-control,.form-select,a,button,input):focus-visible{outline:3px solid var(--pq-focus);outline-offset:2px}
.portal-main .table{font-size:.85rem;line-height:1.75}
.portal-main .table th{font-size:.78rem;padding:14px 16px;color:#455f70;background:#f6f9fb;font-weight:800;vertical-align:middle}
.portal-main .table td{padding:14px 16px;vertical-align:middle}
.portal-main .ui03{gap:18px}
.portal-main .ui03-hero{padding:27px 30px!important;border-radius:20px}
.portal-main .ui03-hero h1{font-size:1.66rem!important}
.portal-main .ui03-hero p{font-size:.88rem;line-height:1.9}
.portal-main .ui03-panel{box-shadow:var(--pq-shadow);border-radius:var(--pq-radius)!important}
.portal-main .ui03-panel-header{padding:20px 24px!important}
.portal-main .ui03-table th,.portal-main .ui03-table td{padding:14px 16px!important}
.portal-main .ui03 .ui03-modal{border-radius:18px;overflow:hidden}
.portal-main .ui03 .ui03-modal .modal-body{padding:22px 24px}
.portal-main .ui03 .ui03-modal .modal-header,.portal-main .ui03 .ui03-modal .modal-footer{padding:18px 24px}
.portal-main .ui03-panel.p-3{padding:22px!important}
.portal-main .ui03-panel .ui03-filters{gap:12px;padding:18px 24px}
.portal-main .ui03-panel .ui03-filters .btn,.portal-main .ui03-panel .ui03-filters .form-select{min-height:42px}
.portal-main .mki-shell :is(.mki-panel,.mki-hero),.portal-main .uof-queue :is(.uof-queue-panel,.uof-queue-card){border-radius:var(--pq-radius)}
.portal-main .mki-panel h2,.portal-main .p04-panel h2,.portal-main .uof-queue h2{font-size:1.15rem}
.portal-main .p04-panel{border-radius:var(--pq-radius);box-shadow:var(--pq-shadow)}
.portal-main :is(.ui03,.uof-queue,.mki-shell,.ui05,.fbux-shell,.ph-page){min-width:0}
.portal-main :is(.ui03,.uof-queue,.mki-shell) :is(input,select,textarea){max-width:100%}
.portal-main .table-responsive{max-width:100%;scrollbar-width:thin}
.portal-main .ui03-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.portal-main .form-text,.portal-main .text-muted{line-height:1.85}
.portal-main .modal-dialog{max-width:min(620px,calc(100vw - 24px))}
.portal-main .ui03-kicker{font-size:.76rem}
@media(max-width:1199px){.portal-main .ui03-hero{padding:23px 24px!important}.portal-main .ui03-hero-actions{justify-content:flex-start}}
@media(max-width:767px){.portal-main{padding:15px 12px 40px}.portal-main .ui03-hero{padding:20px 19px!important;flex-direction:column;align-items:stretch}.portal-main .ui03-hero h1{font-size:1.42rem!important}.portal-main .ui03-hero-actions .btn{flex:1}.portal-main .ui03-panel-header{padding:18px!important}.portal-main .ui03-panel.p-3{padding:16px!important}.portal-main .ui03 .ui03-modal .modal-body{padding:18px}.portal-main .table th,.portal-main .table td{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.portal-main *, .portal-main *::before, .portal-main *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Cross-product consistency: form builder, metrics, analytics and respondent runner.
   These overrides are intentionally limited to layout, typography and affordances. */
.portal-main .mki-hero{border-radius:19px;min-height:0;padding:27px 30px;box-shadow:var(--pq-shadow)}
.portal-main .mki-hero h1{font-size:1.58rem;line-height:1.5}
.portal-main .mki-panel{padding:24px;border-radius:16px;box-shadow:var(--pq-shadow)}
.portal-main .mki-panel h2{font-size:1.12rem}
.portal-main .mki-table th,.portal-main .mki-table td{padding:13px 15px}
.portal-main .mki-form-grid{gap:14px}
.portal-main .mki-tabs .nav-link{min-height:43px;font-size:.83rem}
.portal-main .mki-panel label{font-size:.85rem;font-weight:750}
.portal-main .ui05-hero{border-radius:20px;box-shadow:var(--pq-shadow)}
.portal-main .ui05 .ui05-hero h1{font-size:1.65rem!important;line-height:1.55}
.portal-main .ui05 .ui05-panel{border-radius:16px;box-shadow:var(--pq-shadow);overflow:hidden}
.portal-main .ui05 .ui05-panel__heading{padding:21px 24px!important}
.portal-main .ui05 .ui05-panel h2{font-size:1.15rem}
.portal-main .ui05 .ui05-filterbar--analytic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:20px 24px}
.portal-main .ui05 .ui05-filterbar--analytic .ui05-filter-actions{grid-column:1/-1;display:flex;justify-content:flex-start;gap:9px;flex-wrap:wrap}
.portal-main .ui05 .ui05-control{min-width:0}
.portal-main .ui05 .ui05-control label{font-size:.82rem;font-weight:750}
.portal-main .ui05 .ui05-table-wrap{overflow-x:auto;scrollbar-width:thin}
.portal-main .ui05 .ui05-table th,.portal-main .ui05 .ui05-table td{padding:14px 15px!important}
.portal-main .ui05 .ui05-export-card{min-height:108px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;text-align:right}
.portal-main .ui05 .ui05-kpi{border-radius:13px;min-height:105px;padding:17px 19px!important}
.portal-main .fbux-shell .fbux-header{padding:22px 25px;border-radius:15px}
.portal-main .fbux-shell .fb-toolbar{padding:10px 12px}
.portal-main .fbux-shell .fbux-header h1{font-size:1.44rem}
.portal-main .fbux-shell :is(.fbux-inspector,.fbux-tree,.fbux-canvas){min-width:0}
.portal-main .ui04-app{min-width:0}
@media(max-width:1100px){.portal-main .ui05 .ui05-filterbar--analytic{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-main .mki-grid{grid-template-columns:1fr}}
@media(max-width:650px){.portal-main .ui05 .ui05-filterbar--analytic{grid-template-columns:1fr;padding:16px}.portal-main .ui05 .ui05-panel__heading{padding:17px!important}.portal-main .mki-hero,.portal-main .mki-panel{padding:18px}.portal-main .ui05 .ui05-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
