@import url('design-system.css');
/* Unified role interfaces. Presentation only: no control visibility or workflow changes. */
.portal-ui{--brand-primary:var(--uq-brand);--brand-secondary:#47060c;--app-brand:var(--uq-brand);--app-canvas:var(--uq-canvas);--app-line:var(--uq-border);--app-ink:var(--uq-text);--app-muted:#806d76;background:var(--uq-canvas)!important;color:var(--uq-text);font-family:Inter,Arial,sans-serif}
.portal-ui [hidden]{display:none!important}
.portal-ui .site-header{background:#fff!important;border-bottom:1px solid #eadde3!important;box-shadow:0 2px 14px #66081004!important}
.portal-ui .site-header__inner{gap:18px;min-height:74px;padding-inline:26px}
.portal-ui .site-header__logo{object-fit:contain}
.portal-ui .site-header__name{color:var(--uq-brand);font-weight:750;letter-spacing:-.7px}
.portal-ui .site-nav__button,.portal-ui .site-nav__link{font-size:12px!important;border-radius:7px!important;min-height:40px}
.portal-ui .site-header__datetime{font-size:12px;color:var(--uq-muted)}
.portal-ui .site-header__user-name{font-size:12px;color:#6f4e5e}
.portal-ui .profile-menu__dropdown,.portal-ui .notif-dropdown{border:1px solid #ead7e0;border-radius:11px;box-shadow:0 15px 40px #40081814}
.portal-ui .btn{border-radius:8px!important;font-weight:600!important;min-height:40px;line-height:1.4;transition:background .18s,border-color .18s,box-shadow .18s}
.portal-ui .btn-primary,.portal-ui .btn--primary,.portal-ui .btn-add{background:var(--uq-brand)!important;color:#fff!important;border-color:var(--uq-brand)!important;box-shadow:0 3px 8px #6608100a!important}
.portal-ui .btn-primary:hover,.portal-ui .btn--primary:hover,.portal-ui .btn-add:hover{background:#4d0710!important;border-color:#4d0710!important}
.portal-ui .btn-ghost,.portal-ui .btn--ghost,.portal-ui .btn--outline{background:#fff!important;color:#7d475d!important;border:1px solid #decbd5!important}
.portal-ui .btn-ghost:hover,.portal-ui .btn--ghost:hover,.portal-ui .btn--outline:hover{background:#fcf5f9!important}
.portal-ui .btn:disabled,.portal-ui button:disabled{cursor:not-allowed}
.portal-ui .btn-icon-action{border-radius:7px;min-width:35px;min-height:35px;background:#fff;border-color:#e8d7e0}
.portal-ui :is(.form-input,.form-control,.form-select,.cap-input,.search-bar input,.search-bar select,.uq-slicer input){min-height:44px;border:1px solid #ddcbd5!important;border-radius:8px!important;background:#fff!important;color:#583443;font-size:13px;padding:10px 12px;box-shadow:none}
.portal-ui :is(.form-input,.form-control,.form-select,.cap-input,.search-bar input,.search-bar select):focus{outline:0;border-color:#9d5e78!important;box-shadow:0 0 0 3px #66081009!important}
.portal-ui .form-label{font-size:12px;font-weight:600;color:#704354;margin-bottom:8px}
.portal-ui .form-hint,.portal-ui .form-help{font-size:12px;line-height:1.8;color:var(--uq-muted)}
.portal-ui textarea.form-control,.portal-ui textarea.form-input{min-height:100px;line-height:1.8}
.portal-ui :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #a86882;outline-offset:3px}
.portal-ui .modal-card{border:1px solid #e5cdd9;border-radius:12px;box-shadow:0 24px 75px #3c081d26;background:#fff}
.portal-ui .modal-card__header{padding:22px 25px;border-bottom:1px solid #eee0e7;background:#fff;border-radius:12px 12px 0 0}
.portal-ui .modal-card__title{font-size:21px;font-weight:700;letter-spacing:-.5px;color:#63243e}
.portal-ui .modal-card__body{padding:25px;line-height:1.8}
.portal-ui .modal-card__footer{border-color:#eee0e7;padding:18px 25px;background:#fffcfd}
.portal-ui .modal-close{border-radius:7px;color:var(--uq-muted);min-height:36px;min-width:36px}
.portal-ui .alert,.portal-ui .req-alert{font-size:12px;line-height:1.8;border-radius:8px;padding:14px 17px}
.portal-ui .site-footer{background:#fff;border-color:#ead9e2;color:var(--uq-muted)}
.portal-ui .site-footer__copy{font-size:12px}
/* Parent: children, links, and supported queue requests. */
.portal-ui[data-ui-role=parent] .children-grid{gap:20px}
.portal-ui[data-ui-role=parent] .child-panel{border:1px solid #e9d6e0;border-radius:12px;background:#fff;box-shadow:0 3px 14px #66081003}
.portal-ui[data-ui-role=parent] .child-panel__meta{font-size:12px;color:var(--uq-muted);line-height:1.9}
.portal-ui[data-ui-role=parent] .child-level{font-size:12px;color:#853d5b;background:#f8ebf1;padding:5px 9px;border-radius:5px}
.portal-ui[data-ui-role=parent] .child-actions{gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:18px;border-top:1px solid #efe0e8}
.portal-ui[data-ui-role=parent] .child-actions__note,.portal-ui[data-ui-role=parent] .office-row__note{font-size:12px;color:var(--uq-muted);line-height:1.8}
.portal-ui[data-ui-role=parent] .parent-form-card{border:1px solid #e9d6e0;border-radius:12px;background:#fff;padding:26px;box-shadow:none}
.portal-ui[data-ui-role=parent] .parent-empty{padding:32px 22px;background:#fff;border:1px dashed #dfc8d5;border-radius:10px;color:var(--uq-muted);font-size:13px;line-height:1.8}
.portal-ui[data-ui-role=parent] .parent-link-request{border:1px solid #e7cfdd;border-radius:9px;padding:18px;margin-top:12px;background:#fff}
.portal-ui[data-ui-role=parent] .parent-office-option{border:1px solid #e7d3df;border-radius:9px;padding:17px;background:#fff;color:#733d56}
.portal-ui[data-ui-role=parent] .child-queue{padding:18px;border:1px solid #e9d0df;border-radius:10px;background:#fdf7fb}
.portal-ui[data-ui-role=parent] .parent-actor-tag{background:#f6e7ef;border:1px solid #e8cbdb;color:#7c3659;border-radius:6px;font-size:12px;padding:5px 8px}
/* Office and campus administration: keep existing sidebar widths/collapse behavior. */
.portal-ui[data-ui-role=admin] .od-sidebar{background:#fff!important;border-right:1px solid #ead8e2!important;box-shadow:3px 0 15px #66081002}
.portal-ui[data-ui-role=admin] .od-sidebar__label{font-size:12px;color:#b08a9d;letter-spacing:1.5px;padding-block:20px 9px}
.portal-ui[data-ui-role=admin] .od-sidebar__link{color:#8e687b!important;border:1px solid transparent!important;border-radius:8px!important;font-size:12px;font-weight:500;min-height:44px}
.portal-ui[data-ui-role=admin] .od-sidebar__link:hover{background:#fcf5f9!important;color:var(--uq-brand)!important}
.portal-ui[data-ui-role=admin] .od-sidebar__link.active{background:#f6e9f0!important;color:var(--uq-brand)!important;border-color:#eedbe5!important;font-weight:650}
.portal-ui[data-ui-role=admin] .od-sidebar__link.active svg{color:var(--uq-brand)!important}
.portal-ui[data-ui-role=admin] .od-sidebar-collapse-btn{background:#fff;border:1px solid #e7cfdd;border-radius:7px;color:#9e6b85;font-size:12px}
.portal-ui[data-ui-role=admin] :is(.dash-header,.od-topbar){gap:20px;margin-bottom:25px}
.portal-ui[data-ui-role=admin] :is(.dash-header h1,.od-topbar h1){font-size:clamp(25px,2.6vw,35px);line-height:1.2;letter-spacing:-.9px;color:#542037;font-weight:750}
.portal-ui[data-ui-role=admin] :is(.dash-header p,.od-topbar p){font-size:12px;color:var(--uq-muted);line-height:1.8}
.portal-ui[data-ui-role=admin] :is(.so-kpi,.oo-kpi,.stat-box){background:#fff!important;border:1px solid #ead8e3!important;border-radius:10px!important;box-shadow:0 3px 10px #66081003!important;padding:22px!important}
.portal-ui[data-ui-role=admin] :is(.so-kpi__label,.oo-kpi__label,.stat-box__lbl){font-size:12px;color:var(--uq-muted);letter-spacing:.3px;font-weight:600}
.portal-ui[data-ui-role=admin] :is(.so-kpi__value,.oo-kpi__value,.stat-box__val){font-size:clamp(28px,2.5vw,40px);line-height:1.2;letter-spacing:-1px;font-weight:750;color:var(--uq-brand)}
.portal-ui[data-ui-role=admin] :is(.so-card,.oo-card,.cap-settings-card,.cap-info-card,.reports-card){background:#fff;border:1px solid #ead8e3!important;border-radius:11px!important;box-shadow:0 3px 12px #66081003!important}
.portal-ui[data-ui-role=admin] :is(.so-card__head,.oo-card__head,.reports-card__header,.cap-info-card__header){padding:20px 23px;border-bottom:1px solid #f0e2eb;gap:15px}
.portal-ui[data-ui-role=admin] :is(.so-card__head h2,.oo-card__head h2,.reports-card__header h2){font-size:15px;letter-spacing:-.2px;font-weight:650;color:#65304b}
.portal-ui[data-ui-role=admin] :is(.so-card__sub,.oo-card__sub,.cap-setting-desc){font-size:12px;color:var(--uq-muted);line-height:1.8}
.portal-ui[data-ui-role=admin] .search-bar{gap:12px;padding:16px 0;margin-bottom:16px;border:0;background:transparent;box-shadow:none}
.portal-ui[data-ui-role=admin] :is(.req-table-wrap,.table-wrap,.data-table-wrap){border:1px solid #e8d2df;border-radius:10px;background:#fff;overflow-x:auto;max-width:100%}
.portal-ui[data-ui-role=admin] :is(.req-table,.data-table){background:#fff;border-collapse:separate;border-spacing:0;font-size:12px}
.portal-ui[data-ui-role=admin] :is(.req-table,.data-table) th{background:#faf4f8!important;border-bottom:1px solid #e7d1df;color:var(--uq-muted);font-size:12px;font-weight:650;letter-spacing:.6px;padding:15px 17px;white-space:nowrap}
.portal-ui[data-ui-role=admin] :is(.req-table,.data-table) td{padding:15px 17px;border-bottom:1px solid #f2e4ed;color:#73465f;line-height:1.7;vertical-align:middle}
.portal-ui[data-ui-role=admin] :is(.req-table,.data-table) tbody tr:last-child td{border-bottom:0}
.portal-ui[data-ui-role=admin] :is(.req-table,.data-table) tbody tr:hover td{background:#fffbfd}
.portal-ui[data-ui-role=admin] :is(.office-name,.staff-name,.svc-name){font-weight:600;color:#62324b;font-size:12px}
.portal-ui[data-ui-role=admin] :is(.cell-muted,.office-desc,.text-muted){color:var(--uq-muted);font-size:12px}
.portal-ui[data-ui-role=admin] .actions-group{gap:7px}
.portal-ui[data-ui-role=admin] :is(.pagination,.txn-pagination){gap:7px;padding-top:20px}
.portal-ui[data-ui-role=admin] .uq-slicer{gap:9px;background:#fff;border:1px solid #e7d0df;border-radius:9px;padding:10px}
.portal-ui[data-ui-role=admin] .uq-slicer__pills{gap:4px}
.portal-ui[data-ui-role=admin] .uq-slicer__pills button{border-radius:6px;font-size:12px;min-height:35px}
.portal-ui[data-ui-role=admin] .cap-setting-name{font-size:13px;font-weight:650;color:#6f3857}
.portal-ui[data-ui-role=admin] .cap-settings-card__actions{padding:18px;border-top:1px solid #eedce8}
/* Staff: emphasize current/next customers without changing status/action colors. */
.portal-ui[data-ui-role=staff] .staff-dashboard{max-width:1440px;margin-inline:auto;padding:30px 28px 45px}
.portal-ui[data-ui-role=staff] .staff-dashboard__header{padding:25px 28px;background:var(--uq-brand)!important;border:1px solid #660810;border-radius:12px;margin-bottom:24px;box-shadow:0 8px 20px #66081009;color:#fff;gap:20px}
.portal-ui[data-ui-role=staff] .staff-dashboard__heading{color:var(--uq-muted)!important;font-size:12px;letter-spacing:1px;font-weight:600}
.portal-ui[data-ui-role=staff] .staff-dashboard__Window{color:#fff!important;font-size:31px!important;font-weight:750;letter-spacing:-.8px;line-height:1.2}
.portal-ui[data-ui-role=staff] .info-pill{background:#ffffff12;border:1px solid #ffffff24;border-radius:6px;color:#f5d9e8;font-size:12px}
.portal-ui[data-ui-role=staff] .staff-dashboard__eyebrow{color:#ecc9dc;font-size:12px}
.portal-ui[data-ui-role=staff] .staff-dashboard__grid{gap:22px}
.portal-ui[data-ui-role=staff] .staff-dashboard__section{border:1px solid #ead3e1!important;border-radius:11px!important;background:#fff!important;box-shadow:0 3px 10px #66081003!important;padding:22px!important}
.portal-ui[data-ui-role=staff] .staff-dashboard__section>h3{font-size:12px;color:var(--uq-muted);letter-spacing:.5px;padding-bottom:15px;margin-bottom:18px;border-bottom:1px solid #f0e0eb}
.portal-ui[data-ui-role=staff] .current-ticket-card{background:#fcf7fb;border:1px solid #e8ccdd;border-radius:10px;padding:22px;box-shadow:none}
.portal-ui[data-ui-role=staff] :is(.ticket-number,.ticket-num,.queue-number){color:var(--uq-brand);font-size:clamp(35px,3.5vw,56px);font-weight:750;letter-spacing:-1.3px}
.portal-ui[data-ui-role=staff] .ticket-label{color:var(--uq-muted);font-size:12px;letter-spacing:.7px}
.portal-ui[data-ui-role=staff] .svc-tag{border-radius:5px;font-size:12px;line-height:1.7}
.portal-ui[data-ui-role=staff] .queue-count{font-size:12px;background:#f7e9f2;color:var(--uq-brand);border-radius:6px;padding:5px 9px}
.portal-ui[data-ui-role=staff] .queue-view-all-btn{color:#8a416a;border:1px solid #e3c3d8;background:#fff;border-radius:7px;min-height:36px;padding:8px 12px;font-size:12px}
.portal-ui[data-ui-role=staff] .staff-actions{gap:11px}
.portal-ui[data-ui-role=staff] .staff-actions .btn{min-height:47px;font-size:12px}
.portal-ui[data-ui-role=staff] .empty{color:var(--uq-muted);font-size:13px;line-height:1.8;padding:22px}
/* Responsive refinements: preserve horizontal access to dense reports/tables. */
@media(max-width:1100px){
 .portal-ui .site-header__inner{gap:12px;padding-inline:18px}.portal-ui .site-header__datetime{display:none}
 .portal-ui[data-ui-role=admin] :is(.so-kpi,.oo-kpi,.stat-box){padding:17px!important}
 .portal-ui[data-ui-role=admin] :is(.so-card__head,.oo-card__head){padding:18px}
 .portal-ui[data-ui-role=staff] .staff-dashboard{padding:24px 20px}
}
@media(max-width:767px){
 .portal-ui .site-header__inner{padding:10px 16px;min-height:66px}
 .portal-ui .btn{min-height:44px;font-size:12px}
 .portal-ui :is(.form-input,.form-control,.form-select,.cap-input,.search-bar input,.search-bar select){font-size:16px!important;min-height:46px}
 .portal-ui .btn-icon-action{min-width:42px;min-height:42px}
 .portal-ui .modal-card__header{padding:19px 20px}.portal-ui .modal-card__body{padding:20px}.portal-ui .modal-card__title{font-size:20px}.portal-ui .modal-card__footer{padding:16px 20px}
 .portal-ui[data-ui-role=parent] .children-grid{grid-template-columns:minmax(0,1fr);gap:17px}.portal-ui[data-ui-role=parent] .parent-form-card{padding:20px}.portal-ui[data-ui-role=parent] .child-actions .btn{flex:1;min-width:110px}.portal-ui[data-ui-role=parent] .parent-link-request{padding:16px}
 .portal-ui[data-ui-role=admin] :is(.dash-header,.od-topbar){flex-wrap:wrap;gap:15px;margin-bottom:20px}
 .portal-ui[data-ui-role=admin] :is(.dash-header h1,.od-topbar h1){font-size:25px;letter-spacing:-.6px}
 .portal-ui[data-ui-role=admin] :is(.so-kpi-row,.oo-kpi-row,.stats-row){gap:12px}
 .portal-ui[data-ui-role=admin] :is(.so-kpi,.oo-kpi,.stat-box){padding:16px!important}
 .portal-ui[data-ui-role=admin] :is(.so-kpi__value,.oo-kpi__value,.stat-box__val){font-size:29px}
 .portal-ui[data-ui-role=admin] :is(.req-table,.data-table){font-size:12px;min-width:580px}
 .portal-ui[data-ui-role=admin] :is(.req-table,.data-table) td,.portal-ui[data-ui-role=admin] :is(.req-table,.data-table) th{padding:12px 14px}
 .portal-ui[data-ui-role=admin] .search-bar{flex-wrap:wrap;gap:10px}.portal-ui[data-ui-role=admin] .search-bar__field{flex:1 1 100%;min-width:0}
 .portal-ui[data-ui-role=admin] .uq-slicer{flex-wrap:wrap;width:100%}.portal-ui[data-ui-role=admin] .uq-slicer__custom{flex-wrap:wrap}
 .portal-ui[data-ui-role=staff] .staff-dashboard{padding:20px 14px 35px}.portal-ui[data-ui-role=staff] .staff-dashboard__header{padding:22px 20px;gap:16px;flex-wrap:wrap}
 .portal-ui[data-ui-role=staff] .staff-dashboard__Window{font-size:27px!important}.portal-ui[data-ui-role=staff] .staff-dashboard__grid{grid-template-columns:minmax(0,1fr);gap:17px}.portal-ui[data-ui-role=staff] .staff-dashboard__section{padding:18px!important}.portal-ui[data-ui-role=staff] .current-ticket-card{padding:18px}.portal-ui[data-ui-role=staff] .staff-actions{gap:9px;flex-wrap:wrap}.portal-ui[data-ui-role=staff] .staff-actions .btn{flex:1;min-width:110px}
}
@media(prefers-reduced-motion:reduce){.portal-ui .btn{transition:none}}
/* Keep printed reports neutral and free of decorative UI. */
@media print{.portal-ui{background:#fff!important}.portal-ui :is(.so-card,.oo-card,.so-kpi,.oo-kpi,.cap-settings-card){box-shadow:none!important}.portal-ui .modal-card{box-shadow:none!important}}
/* Remaining management, quality, builder and reporting surfaces. */
.portal-ui[data-ui-role=admin] :is(.chart-card,.req-form-card,.form-card,.qam-academic-card,.db-panel,.db-card){background:#fff;border:1px solid #e7d3df;border-radius:10px;box-shadow:0 3px 12px #66081003}
.portal-ui[data-ui-role=admin] :is(.chart-card__head,.db-header,.qam-academic-header){gap:16px;border-color:#ecd9e5}
.portal-ui[data-ui-role=admin] :is(.form-card__title,.reports-section-title,.db-field-group__title){font-size:15px;font-weight:650;color:#71364f;letter-spacing:-.2px}
.portal-ui[data-ui-role=admin] :is(.ql-filter,.db-filterbar){gap:12px;background:#fff;border:1px solid #e8d3df;border-radius:9px;padding:15px}
.portal-ui[data-ui-role=admin] :is(.ql-filter__label,.db-filterbar label,.form-section-label){font-size:12px;font-weight:600;letter-spacing:.5px;color:#80606f}
.portal-ui[data-ui-role=admin] .reports-list-table-wrap{border:1px solid #e8d3df;border-radius:10px;background:#fff;overflow-x:auto}
.portal-ui[data-ui-role=admin] .reports-list-table{border-spacing:0;font-size:12px}
.portal-ui[data-ui-role=admin] .reports-list-table th{background:#faf3f7;color:#80566d;padding:14px 17px;font-size:12px;font-weight:650;border-bottom:1px solid #ead5e2}
.portal-ui[data-ui-role=admin] .reports-list-table td{padding:14px 17px;border-bottom:1px solid #f0e0eb;color:#795367}
.portal-ui[data-ui-role=admin] .qam-table-scroll{border:1px solid #e8d3df;border-radius:9px;overflow-x:auto;background:white}
.portal-ui[data-ui-role=admin] .db-header h1{color:var(--uq-brand);font-size:28px;letter-spacing:-.6px}
.portal-ui[data-ui-role=admin] .db-card{overflow:hidden}
.portal-ui[data-ui-role=staff] .current-ticket-card.paused{background:#fff8ed;border-color:#dfc391}
.portal-ui[data-ui-role=staff] .current-ticket-card.paused .ticket-label{color:#8a6325}
/* Readable secondary text across the management interfaces. */
.portal-ui[data-ui-role=admin] :is(.so-kpi__label,.oo-kpi__label,.stat-box__lbl,.so-card__sub,.oo-card__sub,.cap-setting-desc,.cell-muted,.office-desc,.text-muted){color:#806373}
@media(max-width:767px){.portal-ui[data-ui-role=admin] :is(.ql-filter,.db-filterbar){flex-wrap:wrap;padding:13px}.portal-ui[data-ui-role=admin] .reports-list-table{min-width:560px}.portal-ui[data-ui-role=admin] .db-header{flex-wrap:wrap}.portal-ui[data-ui-role=admin] .db-header h1{font-size:24px}}

/* A single readable logo + wordmark for every authenticated role. */
.portal-ui .site-header__brand{display:inline-flex!important;align-items:center!important;gap:9px!important;width:auto!important;min-width:0!important;flex:0 0 auto!important;text-decoration:none}
.portal-ui .site-header__brand :is(.site-header__logo,.site-header__name,.uq-client-logo){display:none!important}
.portal-ui .portal-header-logo{display:block;width:36px;height:36px;object-fit:contain;flex-shrink:0}
.portal-ui .portal-wordmark{display:block!important;color:var(--uq-brand);font-size:24px;font-weight:750;letter-spacing:-.8px;line-height:1.2}
/* Restore the office navigation's maroon identity, expanded and collapsed. */
.portal-ui[data-ui-role=admin] aside.od-sidebar{background:var(--uq-brand)!important;border-right:1px solid #55060d!important;box-shadow:3px 0 15px #66081008}
.portal-ui[data-ui-role=admin] aside.od-sidebar .od-sidebar__label{color:#d9a7b9!important}
.portal-ui[data-ui-role=admin] aside.od-sidebar .od-sidebar__link{color:#f4dce5!important;border:1px solid transparent!important}
.portal-ui[data-ui-role=admin] aside.od-sidebar .od-sidebar__link svg{color:#e9c1d0!important}
.portal-ui[data-ui-role=admin] aside.od-sidebar .od-sidebar__link:hover{background:#ffffff10!important;color:#fff!important}
.portal-ui[data-ui-role=admin] aside.od-sidebar .od-sidebar__link.active{background:#fff!important;color:var(--uq-brand)!important;border-color:#fff!important;box-shadow:0 3px 8px #36030a12}
.portal-ui[data-ui-role=admin] aside.od-sidebar .od-sidebar__link.active svg{color:var(--uq-brand)!important}
.portal-ui[data-ui-role=admin] aside.od-sidebar .od-sidebar-collapse-btn{background:#ffffff09!important;border:1px solid #ffffff20!important;color:#f3d2df!important}
.portal-ui[data-ui-role=admin] aside.od-sidebar .od-sidebar__divider{border-color:#ffffff22;background:#ffffff20}
/* Staff workbench uses the full available width rather than a centered card. */
.portal-ui[data-ui-role=staff] .staff-dashboard{max-width:none!important;width:100%!important;margin:0!important;padding:16px 20px!important}
.portal-ui[data-ui-role=staff] .staff-dashboard__header{padding:16px 22px!important;margin-bottom:16px!important;border-radius:10px;gap:14px}
.portal-ui[data-ui-role=staff] .staff-dashboard__grid{gap:16px;min-height:0;flex:1}
.portal-ui[data-ui-role=staff] .staff-dashboard__left,.portal-ui[data-ui-role=staff] .staff-dashboard__right{gap:16px;min-width:0;min-height:0}
.portal-ui[data-ui-role=staff] .staff-dashboard__section{padding:16px!important;min-width:0}
.portal-ui[data-ui-role=staff] .staff-dashboard__section>h3{margin-bottom:12px;padding-bottom:10px}
.portal-ui[data-ui-role=staff] .current-ticket-card{padding:17px}
@media(min-width:1025px){
 body.portal-ui[data-ui-role=staff]{display:flex;flex-direction:column;height:100dvh;min-height:0;overflow:hidden}
 .portal-ui[data-ui-role=staff]>.site-header{flex:0 0 auto}
 .portal-ui[data-ui-role=staff] .staff-dashboard{flex:1 1 0;height:auto!important;min-height:0!important;overflow:hidden;display:flex;flex-direction:column}
 .portal-ui[data-ui-role=staff] .site-footer{position:static!important;flex:0 0 auto;height:auto!important;min-height:32px!important;max-height:none!important;padding:7px 20px!important}
 .portal-ui[data-ui-role=staff] .site-footer__copy{margin:0;line-height:1.5}
}
/* Client navigation: equal hit areas, complete icons, consistent active state. */
@media(max-width:767px){
 .portal-ui.client-ui .client-bottom-nav{display:flex!important;align-items:stretch;gap:4px!important;min-height:0!important;padding:7px 10px calc(7px + env(safe-area-inset-bottom))!important;border-top:1px solid #ead5df;background:#fff!important;box-shadow:0 -4px 18px #66081006!important}
 .portal-ui.client-ui .client-bottom-nav :is(a,button){flex:1 1 0!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;min-width:0!important;min-height:52px!important;padding:4px 2px!important;gap:4px!important;background:transparent!important;border:0!important;border-radius:9px!important;font-family:inherit;font-size:11px!important;line-height:1.3!important;font-weight:500!important;text-decoration:none;color:var(--uq-muted)!important;white-space:normal!important;text-align:center;box-sizing:border-box}
 .portal-ui.client-ui .client-bottom-nav :is(a,button)>svg{display:block!important;width:44px!important;height:32px!important;padding:6px 12px!important;box-sizing:border-box!important;border-radius:9px!important;background:transparent;color:inherit;stroke:currentColor;flex-shrink:0}
 .portal-ui.client-ui .client-bottom-nav :is(a,button)>span{display:block;max-width:100%;overflow-wrap:normal;font-size:inherit;line-height:inherit}
 .portal-ui.client-ui .client-bottom-nav [aria-current=page]{color:var(--uq-brand)!important;font-weight:700!important;background:transparent!important}
 .portal-ui.client-ui .client-bottom-nav [aria-current=page]>svg{background:#f3e2eb!important;color:var(--uq-brand)!important;stroke:var(--uq-brand)!important}
 .portal-ui.client-ui .client-bottom-nav :is(a,button):hover{background:#fcf5f9!important}
 .portal-ui.client-ui .client-bottom-nav :is(a,button):focus-visible{outline:2px solid #9f5f7b;outline-offset:-2px}
 .portal-ui .portal-header-logo{width:30px;height:30px}.portal-ui .portal-wordmark{font-size:21px;letter-spacing:-.6px}
 .portal-ui.client-ui .site-header__inner{gap:10px!important;flex-wrap:wrap!important}
 .portal-ui.client-ui .uq-client-page-title{order:5;flex:1 1 100%;font-size:12px!important;color:var(--uq-muted)!important;font-weight:500;line-height:1.4;padding-top:2px}
 .portal-ui.client-ui .site-header__right{margin-left:auto}
 .portal-ui[data-ui-role=staff] .staff-dashboard{padding:16px 12px 40px!important}.portal-ui[data-ui-role=staff] .staff-dashboard__header{padding:18px!important}.portal-ui[data-ui-role=staff] .staff-dashboard__section{padding:15px!important}
}
@media(max-width:360px){.portal-ui.client-ui .client-bottom-nav{padding-inline:5px!important;gap:2px!important}.portal-ui.client-ui .client-bottom-nav :is(a,button){font-size:11px!important}.portal-ui .portal-wordmark{font-size:19px}.portal-ui .portal-header-logo{width:27px;height:27px}}

/* Shared state and form refinements after role-specific rules. */
.portal-ui .ui-state { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:190px;color:var(--uq-muted);background:var(--uq-surface);border:1px dashed var(--uq-border-input);border-radius:var(--uq-radius-md);padding:var(--uq-space-6) var(--uq-space-5);font-size:var(--uq-text-sm);line-height:1.8; }
.portal-ui .ui-state>svg { color:var(--uq-brand);width:32px;height:32px;opacity:.8;flex-shrink:0; }
.portal-ui .ui-state>.btn { white-space:normal;text-align:center;min-height:var(--uq-control-size);height:auto; }
.portal-ui .ui-skeleton { padding:var(--uq-space-5);color:var(--uq-muted);font-size:var(--uq-text-sm);background:#f8f2f5;border-radius:var(--uq-radius-sm); }
.portal-ui :is(.form-hint,.form-help,.field-error) { line-height:1.7; }
.portal-ui :is(.req-table-wrap,.data-table-wrap,.table-wrap,.qam-table-scroll) { scrollbar-width:thin;scrollbar-color:#b899a8 transparent; }
.portal-ui .modal-card { max-height:calc(100dvh - 32px); }
.portal-ui .modal-card__body { min-height:0;overflow-y:auto;overscroll-behavior:contain; }
.portal-ui .modal-card__footer { flex-shrink:0;gap:12px;flex-wrap:wrap; }
.portal-ui .form-actions { gap:12px;flex-wrap:wrap; }
@media(max-width:767px){
 .portal-ui .ui-state { min-height:160px;padding:24px 18px; }
 .portal-ui .modal-overlay { padding:12px; }
 .portal-ui .modal-card { max-height:calc(100dvh - 24px); }
 .portal-ui .modal-card__footer .btn { flex:1 1 auto;white-space:normal;height:auto; }
 .portal-ui.client-ui .client-bottom-nav :is(a,button) { font-size:11px!important; }
 .portal-ui .portal-wordmark { font-size:21px; }
}

/* Student mobile refinement: content-first cards and predictable touch controls. */
@media(max-width:767px){
 body.portal-ui.client-ui--student{--student-mobile-gutter:16px;background:var(--uq-canvas)!important}
 body.portal-ui.client-ui--student .dashboard-main,body.portal-ui.client-ui--student main.container{width:100%;padding:20px var(--student-mobile-gutter) calc(100px + env(safe-area-inset-bottom))!important;min-width:0}
 body.portal-ui.client-ui--student .site-header{position:sticky;top:0;z-index:200}
 body.portal-ui.client-ui--student .site-header__inner{padding:10px 16px!important;gap:7px!important;min-height:68px!important}
 body.portal-ui.client-ui--student .site-header__brand{gap:7px!important}
 body.portal-ui.client-ui--student .portal-header-logo{height:30px;width:30px}
 body.portal-ui.client-ui--student .portal-wordmark{font-size:21px;letter-spacing:-.7px}
 body.portal-ui.client-ui--student .uq-client-page-title{font-size:12px!important;line-height:1.4;padding:0;margin-top:-2px;color:var(--uq-muted)!important}
 body.portal-ui.client-ui--student .site-header__right{gap:0!important}
 body.portal-ui.client-ui--student :is(.client-tour-help,.notif-bell,.profile-menu__trigger){min-width:40px!important;width:40px!important;height:44px!important}
 body.portal-ui.client-ui--student .profile-menu__dropdown{max-width:calc(100vw - 32px);right:0}
 body.portal-ui.client-ui--student .uq-mobile-eyebrow{font-size:12px!important;font-weight:600;letter-spacing:.5px;color:var(--uq-muted);margin:0 0 12px!important}
 body.portal-ui.client-ui--student .dash-hero{padding:21px!important;border-radius:14px!important;gap:16px;margin-bottom:18px!important}
 body.portal-ui.client-ui--student .dash-hero__left{width:100%;min-width:0}
 body.portal-ui.client-ui--student .dash-hero__identity{display:flex;align-items:flex-start;gap:13px;min-width:0;width:100%}
 body.portal-ui.client-ui--student .dash-hero__avatar{display:flex!important;width:48px!important;height:48px!important;min-width:48px;flex:0 0 48px;align-items:center;justify-content:center;font-size:18px;border-radius:50%;overflow:hidden}
 body.portal-ui.client-ui--student .dash-hero__avatar-photo{width:100%;height:100%;object-fit:cover}
 body.portal-ui.client-ui--student .dash-hero__text{min-width:0;flex:1}
 body.portal-ui.client-ui--student .dash-hero__badge{font-size:11px!important;line-height:1.5;padding:0!important;border:0!important;background:transparent!important;letter-spacing:.3px}
 body.portal-ui.client-ui--student .dash-hero__name{font-size:24px!important;line-height:1.25!important;margin-top:5px!important;overflow-wrap:anywhere;letter-spacing:-.7px!important}
 body.portal-ui.client-ui--student .dash-hero .dash-hero__code{display:block!important;font-size:12px!important;line-height:1.8!important;margin-top:7px;overflow-wrap:anywhere}
 body.portal-ui.client-ui--student .uq-mobile-hero-footer{padding-top:15px!important;margin-top:18px!important;font-size:12px!important}
 body.portal-ui.client-ui--student .uq-mobile-hero-footer span:last-child{font-size:11px;padding:5px 9px}
 body.portal-ui.client-ui--student .student-quick-links{gap:8px;margin-bottom:22px}
 body.portal-ui.client-ui--student .student-quick-links>a{padding:14px 10px;min-height:94px;gap:10px;border-radius:11px;justify-content:flex-start;min-width:0}
 body.portal-ui.client-ui--student .student-quick-links a>span:first-of-type{font-size:12px;line-height:1.5;overflow-wrap:normal}
 body.portal-ui.client-ui--student .student-quick-links svg{width:22px;height:22px;color:var(--uq-brand)}
 body.portal-ui.client-ui--student .dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
 body.portal-ui.client-ui--student .panel-card{border-radius:12px!important;min-width:0}
 body.portal-ui.client-ui--student .panel-card__header{padding:17px 18px!important;gap:10px;align-items:center}
 body.portal-ui.client-ui--student .panel-card__title{font-size:16px!important;line-height:1.4;letter-spacing:-.3px}
 body.portal-ui.client-ui--student .panel-card__body{padding:18px!important}
 body.portal-ui.client-ui--student .panel-card__live{font-size:11px;white-space:nowrap}
 body.portal-ui.client-ui--student .status-card{padding:17px!important;border-radius:10px!important}
 body.portal-ui.client-ui--student .status-card__header h1{font-size:14px!important;line-height:1.5}
 body.portal-ui.client-ui--student .queue-number-display{font-size:56px!important;line-height:1.15!important;letter-spacing:-1.5px;padding:18px 0!important;margin:0!important;text-align:center!important;overflow-wrap:anywhere}
 body.portal-ui.client-ui--student .queue-number-display small{display:block;font-size:12px!important;line-height:1.7;letter-spacing:0}
 body.portal-ui.client-ui--student .detail-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px!important;min-width:0}
 body.portal-ui.client-ui--student .detail-row__label{font-size:12px!important;line-height:1.6;min-width:0;color:var(--uq-muted)!important;flex:1}
 body.portal-ui.client-ui--student .detail-row__value{font-size:13px!important;line-height:1.6;min-width:0;max-width:60%;text-align:right;overflow-wrap:anywhere}
 body.portal-ui.client-ui--student .status-card__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}
 body.portal-ui.client-ui--student .status-card__actions>.btn{flex:1 1 110px;min-height:46px!important}
 body.portal-ui.client-ui--student .uq-offices-panel .office-row{flex-direction:column;align-items:stretch!important;gap:14px!important;padding:17px!important}
 body.portal-ui.client-ui--student .office-row__info{min-width:0;flex:1}
 body.portal-ui.client-ui--student .office-row__icon{flex-shrink:0;width:40px;height:40px;border-radius:10px}
 body.portal-ui.client-ui--student .office-row__name{font-size:15px!important;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
 body.portal-ui.client-ui--student .office-row__note{display:block;font-size:12px;line-height:1.7;margin-top:4px;color:var(--uq-muted)}
 body.portal-ui.client-ui--student .office-row>.btn{width:100%!important;margin:0!important;min-height:46px!important}
 body.portal-ui.client-ui--student .btn{font-size:14px!important;line-height:1.5;min-height:44px!important;white-space:normal;height:auto;padding:11px 15px}
 body.portal-ui.client-ui--student .form-label{font-size:13px!important;margin-bottom:8px}
 body.portal-ui.client-ui--student :is(.form-input,.form-control,.form-select){font-size:16px!important;line-height:1.5;min-height:48px!important;max-width:100%;box-sizing:border-box}
 body.portal-ui.client-ui--student .form-group{margin-bottom:18px}
 body.portal-ui.client-ui--student .form-hint{font-size:12px!important;line-height:1.8}
 body.portal-ui.client-ui--student .form-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
 body.portal-ui.client-ui--student .page-title-row{padding:0!important;gap:10px;margin-bottom:18px;flex-wrap:wrap}
 body.portal-ui.client-ui--student .page-title{font-size:23px!important;line-height:1.3;letter-spacing:-.5px}
 body.portal-ui.client-ui--student #wizardCard{padding:18px!important;border-radius:12px!important}
 body.portal-ui.client-ui--student .wizard-progress{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:12px 8px;margin-bottom:24px;overflow:visible}
 body.portal-ui.client-ui--student .wizard-step{flex:1;min-width:0;gap:6px;text-align:center}
 body.portal-ui.client-ui--student .wizard-step__num{width:28px;height:28px;min-width:28px;font-size:12px;flex-shrink:0}
 body.portal-ui.client-ui--student .wizard-step__label{font-size:11px!important;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
 body.portal-ui.client-ui--student .wizard-step-connector{flex:0 1 12px;min-width:4px}
 body.portal-ui.client-ui--student .step-title{font-size:21px!important;line-height:1.35}
 body.portal-ui.client-ui--student .type-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 body.portal-ui.client-ui--student .type-card{padding:17px!important;min-width:0}
 body.portal-ui.client-ui--student :is(.step-actions,.step-nav,.profile-edit-actions){display:flex;gap:10px;flex-wrap:wrap}
 body.portal-ui.client-ui--student :is(.step-actions,.step-nav,.profile-edit-actions)>.btn{flex:1 1 110px}
 body.portal-ui.client-ui--student .txn-filter-bar{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:12px!important;align-items:center}
 body.portal-ui.client-ui--student .txn-filter-bar__search{grid-column:1/-1;width:100%;min-width:0}
 body.portal-ui.client-ui--student .txn-filter-bar__input{width:100%!important;min-width:0;padding-left:38px!important;font-size:16px!important}
 body.portal-ui.client-ui--student .txn-filter-bar__status{min-width:0;width:100%}
 body.portal-ui.client-ui--student .txn-filter-bar__select{width:100%;font-size:16px!important;min-width:0}
 body.portal-ui.client-ui--student .transaction-card{padding:18px!important}
 body.portal-ui.client-ui--student .transaction-card__top{flex-wrap:wrap;align-items:flex-start;gap:10px}
 body.portal-ui.client-ui--student .transaction-card__number{font-size:25px!important;line-height:1.25}
 body.portal-ui.client-ui--student .transaction-card__row{font-size:13px;line-height:1.8;overflow-wrap:anywhere}
 body.portal-ui.client-ui--student .transaction-card__dates-row{flex-direction:column;align-items:flex-start;gap:10px}
 body.portal-ui.client-ui--student .transaction-card__dates{font-size:12px!important;line-height:1.8}
 body.portal-ui.client-ui--student .profile-identity{align-items:center;gap:14px;min-width:0}
 body.portal-ui.client-ui--student .profile-identity__text{min-width:0}
 body.portal-ui.client-ui--student .profile-identity__name{font-size:21px!important;line-height:1.4;overflow-wrap:anywhere}
 body.portal-ui.client-ui--student .profile-identity__code{font-size:12px;line-height:1.8}
 body.portal-ui.client-ui--student .info-row{padding:14px 0;gap:5px}
 body.portal-ui.client-ui--student .info-row__label{font-size:12px!important}
 body.portal-ui.client-ui--student .info-row__value{font-size:14px!important;line-height:1.6;overflow-wrap:anywhere}
 body.portal-ui.client-ui--student .feedback-pending-banner{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:17px!important;font-size:13px;line-height:1.8}
 body.portal-ui.client-ui--student .feedback-pending-banner__cta{width:100%;margin:0}
 body.portal-ui.client-ui--student .client-bottom-nav{padding:7px 16px calc(7px + env(safe-area-inset-bottom))!important;gap:8px!important;background:#fff!important}
 body.portal-ui.client-ui--student .client-bottom-nav a{min-height:54px!important;gap:5px!important;font-size:12px!important;font-weight:500!important}
 body.portal-ui.client-ui--student .client-bottom-nav a>svg{width:48px!important;height:32px!important;padding:5px 13px!important;border-radius:10px!important}
 body.portal-ui.client-ui--student .client-bottom-nav [aria-current=page]{font-weight:700!important}
 body.portal-ui.client-ui--student .client-bottom-nav [aria-current=page]>svg{background:var(--uq-brand-soft)!important}
 body.portal-ui.client-ui--student .site-footer{padding:16px 16px 90px!important;margin-bottom:0!important}
 body.portal-ui.client-ui--student .notif-drawer{max-width:100vw}
 body.portal-ui.client-ui--student .notif-item__message{font-size:14px;line-height:1.8}
 body.portal-ui.client-ui--student .ui-state{font-size:14px;line-height:1.8}
}
@media(max-width:360px){
 body.portal-ui.client-ui--student .site-header__inner{padding-inline:12px!important;gap:4px!important}
 body.portal-ui.client-ui--student .portal-wordmark{font-size:19px}
 body.portal-ui.client-ui--student .portal-header-logo{width:27px;height:27px}
 body.portal-ui.client-ui--student .dash-hero{padding:18px!important}
 body.portal-ui.client-ui--student .dash-hero__name{font-size:22px!important}
 body.portal-ui.client-ui--student .student-quick-links>a{padding:12px 8px}
 body.portal-ui.client-ui--student .student-quick-links a>span:first-of-type{font-size:11px}
 body.portal-ui.client-ui--student .detail-row{gap:9px}
 body.portal-ui.client-ui--student .wizard-step__label{font-size:10px!important}
}
@media(max-width:767px){
 body.portal-ui.client-ui--student .student-quick-links a>span:first-of-type{display:block!important}
}

/* Student ticket: clear identity, a prominent number, and grouped live metrics. */
body.portal-ui.client-ui--student .status-card.status-card--inline{
 padding:0!important;background:#fff!important;border:1px solid #e4cbd6!important;
 border-radius:14px!important;overflow:hidden;box-shadow:0 7px 22px #66081008!important;
}
body.portal-ui.client-ui--student .status-card--inline .status-card__header{
 padding:18px 20px!important;margin:0!important;background:var(--uq-brand)!important;border:0!important;
}
body.portal-ui.client-ui--student .status-card--inline .status-card__header-info{
 display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
 padding:0!important;margin:0!important;width:100%;
}
body.portal-ui.client-ui--student .status-card--inline .status-card__header h1{
 color:#fff!important;font-size:16px!important;line-height:1.4;font-weight:650;margin:0;
 flex:1;min-width:0;overflow-wrap:anywhere;letter-spacing:-.2px;
}
body.portal-ui.client-ui--student .status-card--inline .ticket-status-badge{
 font-size:11px!important;line-height:1.4;padding:5px 9px;border-radius:6px;font-weight:600;
 white-space:normal;text-align:center;max-width:100%;
}
body.portal-ui.client-ui--student .status-card--inline .status-card__main{padding:0 20px 20px!important}
body.portal-ui.client-ui--student .status-card--inline .queue-number-display{
 position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;
 padding:28px 12px 30px!important;margin:0 -20px 22px!important;
 border-bottom:1px dashed #d7b7c6;background:linear-gradient(#fdf8fa,#fff)!important;
 text-align:center!important;color:var(--uq-brand)!important;
}
body.portal-ui.client-ui--student .status-card--inline .queue-number-display:before,
body.portal-ui.client-ui--student .status-card--inline .queue-number-display:after{
 content:'';position:absolute;bottom:-8px;width:15px;height:15px;background:#fff;
 border:1px solid #e4cbd6;border-radius:50%;pointer-events:none;
}
body.portal-ui.client-ui--student .status-card--inline .queue-number-display:before{left:-8px}
body.portal-ui.client-ui--student .status-card--inline .queue-number-display:after{right:-8px}
body.portal-ui.client-ui--student .status-card--inline .queue-number-display small{
 color:var(--uq-muted)!important;font-size:11px!important;line-height:1.6;letter-spacing:1.4px;
 text-transform:uppercase;font-weight:600;
}
body.portal-ui.client-ui--student .status-card--inline .queue-number-display strong{
 display:block;font-size:clamp(48px,5vw,72px)!important;line-height:1.08!important;
 font-weight:750;letter-spacing:-2px;overflow-wrap:anywhere;max-width:100%;font-variant-numeric:tabular-nums;
}
body.portal-ui.client-ui--student .status-card--inline .ticket-services{
 background:#fcf8fa;border:1px solid #eedee5;border-radius:9px;padding:14px 15px;margin:0 0 16px;
}
body.portal-ui.client-ui--student .status-card--inline .ticket-services h3{
 margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--uq-muted);
}
body.portal-ui.client-ui--student .status-card--inline .ticket-services ul{list-style:none;padding:0;margin:0}
body.portal-ui.client-ui--student .status-card--inline .ticket-services li{font-size:13px;line-height:1.7;padding:7px 0;color:#5b3042}
body.portal-ui.client-ui--student .status-card--inline .ticket-services p{font-size:12px;line-height:1.7;margin:0;color:var(--uq-muted)}
body.portal-ui.client-ui--student .status-card--inline .details-card{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#fff!important;border:1px solid #e9d8e1!important;
 border-radius:10px!important;overflow:hidden;
}
body.portal-ui.client-ui--student .status-card--inline .detail-row{
 display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:9px;
 padding:16px!important;min-width:0;border:0!important;background:#fff;
}
body.portal-ui.client-ui--student .status-card--inline .detail-row:nth-child(2){border-left:1px solid #eee1e7!important}
body.portal-ui.client-ui--student .status-card--inline .detail-row:nth-child(n+3){
 grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;
 border-top:1px solid #eee1e7!important;background:#fcf8fa!important;padding:13px 16px!important;
}
body.portal-ui.client-ui--student .status-card--inline .detail-row__label{
 display:flex;align-items:center;gap:6px;color:var(--uq-muted)!important;font-size:11px!important;
 line-height:1.6;flex:initial;letter-spacing:0;
}
body.portal-ui.client-ui--student .status-card--inline .detail-row__icon{width:14px;height:14px;flex-shrink:0;color:#a26d83}
body.portal-ui.client-ui--student .status-card--inline .detail-row__value{
 font-size:24px!important;line-height:1.2;font-weight:700!important;color:var(--uq-brand)!important;
 text-align:left!important;max-width:100%;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;
}
body.portal-ui.client-ui--student .status-card--inline .detail-row:nth-child(n+3) .detail-row__value{
 font-size:13px!important;max-width:55%;text-align:right!important;line-height:1.6;
}
body.portal-ui.client-ui--student .status-card--inline .status-card__footer{
 padding:15px 20px 19px!important;margin:0;border-top:1px solid #eee0e7!important;
 background:#fff!important;font-size:12px;color:var(--uq-muted)!important;
}
body.portal-ui.client-ui--student .status-card--inline .status-card__actions{margin-top:13px;gap:10px}
body.portal-ui.client-ui--student .status-card--inline .status-card__actions .btn{flex:1;min-height:44px!important;font-size:13px!important}
/* The dedicated ticket page uses the same visual receipt structure. */
body.portal-ui.client-ui--student .ticket-view{padding:0!important;overflow:hidden;border-radius:14px!important}
body.portal-ui.client-ui--student .ticket-view__header{background:var(--uq-brand)!important;padding:22px!important;gap:10px}
body.portal-ui.client-ui--student .ticket-view__header h1{color:#fff;font-size:22px;line-height:1.35;letter-spacing:-.5px;margin:0}
body.portal-ui.client-ui--student .ticket-view__number{
 padding:30px 20px!important;text-align:center;position:relative;border-bottom:1px dashed #d7b7c6;
 background:linear-gradient(#fdf8fa,#fff);
}
body.portal-ui.client-ui--student .ticket-view__number small{display:block;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--uq-muted);margin-bottom:12px}
body.portal-ui.client-ui--student .ticket-view__number strong{display:block;font-size:clamp(52px,8vw,80px);line-height:1.1;color:var(--uq-brand);font-weight:750;letter-spacing:-2px;overflow-wrap:anywhere}
body.portal-ui.client-ui--student .ticket-view__details{padding:22px!important;margin:0;font-size:14px;line-height:1.9}
body.portal-ui.client-ui--student .ticket-view__details>p{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:10px 0;margin:0;border-bottom:1px solid #f0e6eb;overflow-wrap:anywhere}
body.portal-ui.client-ui--student .ticket-view__details>p strong{color:var(--uq-muted);font-size:12px;font-weight:500}
body.portal-ui.client-ui--student .ticket-view__requirements{margin:0;padding:22px!important;background:#fcf9fb;border-top:1px dashed #dec5d1}
body.portal-ui.client-ui--student .ticket-view__requirements h3{font-size:15px;color:#66324a;margin:0 0 16px}
@media(max-width:767px){
 body.portal-ui.client-ui--student .status-card--inline .status-card__header{padding:16px!important}
 body.portal-ui.client-ui--student .status-card--inline .status-card__header h1{font-size:15px!important}
 body.portal-ui.client-ui--student .status-card--inline .status-card__main{padding:0 16px 16px!important}
 body.portal-ui.client-ui--student .status-card--inline .queue-number-display{margin:0 -16px 18px!important;padding:25px 12px 28px!important}
 body.portal-ui.client-ui--student .status-card--inline .queue-number-display strong{font-size:58px!important}
 body.portal-ui.client-ui--student .status-card--inline .detail-row{padding:14px 12px!important}
 body.portal-ui.client-ui--student .status-card--inline .detail-row__value{font-size:23px!important}
 body.portal-ui.client-ui--student .status-card--inline .detail-row__label{font-size:11px!important}
 body.portal-ui.client-ui--student .status-card--inline .status-card__footer{padding:15px 16px 17px!important}
 body.portal-ui.client-ui--student .ticket-view__details,body.portal-ui.client-ui--student .ticket-view__requirements{padding:19px!important}
}
@media(max-width:360px){
 body.portal-ui.client-ui--student .status-card--inline .queue-number-display strong{font-size:50px!important}
 body.portal-ui.client-ui--student .status-card--inline .detail-row__label{gap:4px;font-size:10px!important}
 body.portal-ui.client-ui--student .status-card--inline .detail-row__icon{width:12px;height:12px}
}

/* Minimal shared header: brand, existing navigation, and account controls. */
body.portal-ui .site-header{
 position:sticky;top:0;z-index:200;background:#fff!important;
 border-top:0!important;border-bottom:1px solid var(--uq-border)!important;box-shadow:none!important;
}
body.portal-ui .site-header .site-header__inner{
 min-height:68px!important;padding:10px 24px!important;gap:24px;align-items:center;
}
body.portal-ui .site-header .site-header__brand{gap:9px!important;text-decoration:none}
body.portal-ui .site-header .portal-header-logo{
 width:34px;height:34px;object-fit:contain;padding:0;border:0;border-radius:0;background:none;box-shadow:none;
}
body.portal-ui .site-header .portal-wordmark{
 color:var(--uq-brand);font-size:23px;font-weight:700;line-height:1.2;letter-spacing:-.7px;
}
body.portal-ui .site-header .site-header__datetime{display:none}
body.portal-ui .site-header .site-nav{gap:8px;align-items:center}
body.portal-ui .site-header .site-nav__button{
 position:relative;min-height:42px;padding:10px 12px!important;
 border:0!important;border-radius:6px!important;background:transparent!important;box-shadow:none!important;
 color:var(--uq-muted)!important;font-size:13px!important;font-weight:500;
}
body.portal-ui .site-header .site-nav__button.is-active{color:var(--uq-brand)!important;font-weight:650;background:transparent!important;box-shadow:none!important}
body.portal-ui .site-header .site-nav__button.is-active:after{content:'';position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--uq-brand)}
body.portal-ui .site-header .site-nav__button:hover{color:var(--uq-brand)!important;background:#fcf7fa!important}
body.portal-ui .site-header .site-header__right{gap:7px;align-items:center;margin-left:auto}
body.portal-ui .site-header :is(.client-tour-help,.notif-bell,.profile-menu__trigger){
 border-color:transparent!important;background:transparent!important;box-shadow:none!important;
 border-radius:8px!important;color:var(--uq-brand);min-height:44px;
}
body.portal-ui .site-header :is(.client-tour-help,.notif-bell,.profile-menu__trigger):hover{background:var(--uq-brand-soft)!important}
body.portal-ui .site-header .profile-menu__trigger{display:flex;align-items:center;gap:8px;padding:5px 8px}
body.portal-ui .site-header .uq-header-avatar{display:grid;place-items:center;width:30px;height:30px;min-width:30px;border-radius:50%;background:var(--uq-brand-soft);color:var(--uq-brand);font-size:11px;font-weight:600;line-height:1}
body.portal-ui .site-header .site-header__user-name{font-size:12px;color:var(--uq-muted);font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.portal-ui .site-header .profile-menu__chevron{width:12px;height:12px;color:var(--uq-muted)}
@media(max-width:1100px){
 body.portal-ui .site-header .site-header__inner{gap:14px;padding-inline:20px!important}
 body.portal-ui .site-header .site-nav__button{padding-inline:9px!important;font-size:12px!important}
 body.portal-ui .site-header .site-header__user-name{max-width:100px}
}
@media(max-width:767px){
 body.portal-ui .site-header .site-header__inner{min-height:64px!important;padding:9px 16px!important;gap:8px!important;flex-wrap:nowrap!important}
 body.portal-ui .site-header .portal-header-logo{width:30px;height:30px}
 body.portal-ui .site-header .portal-wordmark{font-size:21px;letter-spacing:-.6px}
 body.portal-ui .site-header .site-header__right{gap:2px!important}
 body.portal-ui .site-header .site-header__right :is(.client-tour-help,.notif-bell,.profile-menu__trigger){width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:5px!important}
 body.portal-ui .site-header .profile-menu__chevron{display:none}
}
@media(max-width:360px){
 body.portal-ui .site-header .site-header__inner{padding-inline:12px!important;gap:6px!important}
 body.portal-ui .site-header .portal-header-logo{width:27px;height:27px}
 body.portal-ui .site-header .portal-wordmark{font-size:19px}
}

/* Keep the existing clock and account actions in normal header flow. */
body.portal-ui{padding-top:var(--header-h,68px)!important}
body.portal-ui .site-header{height:auto!important}
body.portal-ui .site-header .site-header__inner{flex-wrap:wrap!important}
body.portal-ui .site-header .site-header__right{min-width:0;flex:0 1 auto;flex-wrap:wrap;row-gap:8px}
body.portal-ui .site-header .site-header__datetime{
 display:grid!important;grid-template-columns:auto;gap:3px;
 position:static;inset:auto;flex:0 0 auto;
 background:transparent;border:0;border-left:1px solid var(--uq-border);
 padding:0 0 0 14px;margin-left:4px;min-width:0;white-space:nowrap;line-height:1.3;
 color:var(--uq-muted);
}
body.portal-ui .site-header .site-header__time{font-size:13px;font-weight:600;color:var(--uq-brand);font-variant-numeric:tabular-nums;letter-spacing:.1px}
body.portal-ui .site-header .site-header__date{display:block;font-size:10px;line-height:1.4;color:var(--uq-muted);padding:0;border:0}
body.portal-ui .site-header .site-header__logout{display:inline-flex!important;flex:0 0 auto}
body.portal-ui .site-header .site-header__logout span{display:inline}
@media(min-width:768px){
 body.portal-ui .site-header .site-header__user-name{display:block!important}
}
@media(min-width:768px) and (max-width:1180px){
 body.portal-ui .site-header .site-nav{order:3;flex:1 1 100%;margin:0;flex-wrap:wrap}
 body.portal-ui .site-header .site-header__right{flex-wrap:nowrap}
}
@media(max-width:767px){
 body.portal-ui .site-header .site-header__inner{min-height:68px!important;padding-bottom:10px!important}
 body.portal-ui.client-ui .site-header .site-header__inner{
  display:grid!important;grid-template-columns:minmax(30px,1fr) auto 36px 76px;
  gap:6px!important;padding:8px 12px!important;align-items:center;
 }
 body.portal-ui.client-ui .site-header .site-header__right{display:contents!important}
 body.portal-ui.client-ui .site-header .site-header__brand{grid-area:1 / 1;min-width:0;overflow:hidden}
 body.portal-ui.client-ui .site-header .profile-menu{grid-area:1 / 2;min-width:0}
 body.portal-ui.client-ui .site-header .client-tour-help{grid-area:1 / 3}
 body.portal-ui.client-ui .site-header .notif-bell{grid-area:1 / 4;justify-self:end}
 body.portal-ui.client-ui .site-header .site-header__right :is(.client-tour-help,.notif-bell){width:36px!important;min-width:36px!important;height:44px!important;padding:4px!important}
 body.portal-ui.client-ui .site-header .site-header__right .profile-menu__trigger{width:auto!important;min-width:0!important;padding:4px!important;gap:6px!important}
 body.portal-ui.client-ui .site-header .site-header__user-name{display:block!important;max-width:64px;font-size:11px}
 body.portal-ui.client-ui .site-header .site-header__datetime{
  grid-area:2 / 1 / 3 / 4;display:flex!important;align-items:center;justify-content:flex-start;
  gap:8px;border:0;padding:0;margin:0;min-height:34px;
 }
 body.portal-ui.client-ui .site-header .site-header__datetime-icon{display:none}
 body.portal-ui.client-ui .site-header .site-header__time{font-size:12px;line-height:1.4}
 body.portal-ui.client-ui .site-header .site-header__date{display:block!important;font-size:10px;margin:0}
 body.portal-ui.client-ui .site-header .site-header__logout{grid-area:2 / 4;min-width:0;min-height:34px;height:auto;padding:7px 6px;font-size:11px;gap:4px}
}
@media(max-width:480px){body.portal-ui.client-ui .site-header .portal-wordmark{display:none!important}}

/* Details and child forms stay compact, with only their content scrolling. */
body.portal-ui #ql-detail-modal .modal-card{
 width:min(100%,560px);max-width:560px;max-height:calc(100dvh - 32px);
 display:flex;flex-direction:column;overflow:hidden;
}
body.portal-ui #child-management-modal .modal-card{width:min(100%,480px);max-width:480px;max-height:calc(100dvh - 32px)}
body.portal-ui :is(#ql-detail-modal,#child-management-modal) .modal-card__header{flex-shrink:0;padding:16px 20px}
body.portal-ui :is(#ql-detail-modal,#child-management-modal) .modal-card__header h2{font-size:18px!important;line-height:1.4}
body.portal-ui :is(#ql-detail-modal,#child-management-modal) .modal-card__body{padding:20px;min-height:0;overflow-y:auto}
body.portal-ui #child-management-modal .client-dialog__footer{padding:12px 20px}
@media(min-width:768px){
 body.portal-ui #child-management-modal label{gap:5px;margin-bottom:12px;font-size:13px}
 body.portal-ui #child-management-modal :is(input:not([type=hidden]),select){min-height:40px;padding:8px 10px;font-size:14px}
 body.portal-ui #child-management-modal p{font-size:13px;line-height:1.5;margin-bottom:12px}
}

/* A single search field: the wrapper owns its border, icon and focus ring. */
body.portal-ui:is(.client-ui--student,.client-ui--parent) .txn-filter-bar__search{
 display:flex;align-items:center;gap:9px;min-width:0;box-sizing:border-box;
 height:48px!important;min-height:48px!important;max-height:none!important;
 padding:0 14px!important;border:1px solid #d8c3ce!important;border-radius:8px;
 background:#fff!important;box-shadow:none;
}
body.portal-ui:is(.client-ui--student,.client-ui--parent) .txn-filter-bar__search>svg{
 position:static!important;transform:none!important;flex:0 0 18px;width:18px;height:18px;color:var(--uq-muted);
}
body.portal-ui:is(.client-ui--student,.client-ui--parent) .txn-filter-bar__search .txn-filter-bar__input{
 flex:1;min-width:0;width:100%;box-sizing:border-box;
 border:0!important;border-radius:0!important;background:transparent!important;
 padding:0!important;margin:0!important;height:46px!important;min-height:44px!important;
 outline:0!important;box-shadow:none!important;line-height:1.5;
}
body.portal-ui:is(.client-ui--student,.client-ui--parent) .txn-filter-bar__search:focus-within{
 border-color:var(--uq-focus)!important;outline:2px solid var(--uq-focus);outline-offset:2px;box-shadow:none;
}
body.portal-ui:is(.client-ui--student,.client-ui--parent) .txn-filter-bar__search .txn-filter-bar__input:focus,
body.portal-ui:is(.client-ui--student,.client-ui--parent) .txn-filter-bar__search .txn-filter-bar__input:focus-visible{
 border:0!important;outline:0!important;box-shadow:none!important;
}
