.phase5-section { background: #f2f5f2; }
.phase5-shell, .phase5-guest-card { border-radius: 1rem; background: #fff; box-shadow: 0 1rem 2.5rem rgb(16 26 44 / 7%); }
.phase5-shell { padding: clamp(.85rem, 2vw, 1.4rem); }
.phase5-shell-top, .phase5-guest-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.phase5-tabs { flex-wrap: nowrap; gap: .3rem; overflow-x: auto; padding-bottom: .15rem; }
.phase5-tabs .nav-link { flex: 0 0 auto; color: #47556a; font-size: .78rem; font-weight: 800; }
.phase5-tabs .nav-link.active { background: #101a2c; color: #fff; }
.phase5-public-badge { flex: 0 0 auto; border: 1px solid #dce8c9; border-radius: 999px; padding: .34rem .65rem; background: #f4f9e8; color: #47622b; font-size: .65rem; font-weight: 850; }
.phase5-public-badge span { margin-right: .25rem; color: #729d36; font-size: .55rem; }
.phase5-filter { margin-top: 1rem; }
.phase5-filter .form-label, .phase5-guest-card .form-label, .phase5-account-workspace .form-label { margin-bottom: .25rem; color: #3e4d62; font-size: .7rem; font-weight: 800; }
.phase5-filter .form-control, .phase5-guest-card .form-control, .phase5-guest-card .form-select, .phase5-account-workspace .form-control, .phase5-account-workspace .form-select { min-height: 2.35rem; border-color: #dce2e9; border-radius: .55rem; font-size: .78rem; }
.phase5-filter .btn, .phase5-guest-card .btn, .phase5-account-workspace .btn { border-radius: .55rem; font-size: .75rem; font-weight: 800; }
.phase5-message { margin: .7rem 0 0; color: #55647a; font-size: .78rem; }
.phase5-message[data-kind="error"], .phase5-form-message[data-kind="error"], .phase5-account-message[data-kind="error"] { color: #a32a2a; }
.phase5-message[data-kind="success"], .phase5-form-message[data-kind="success"], .phase5-account-message[data-kind="success"] { color: #376b24; }
.phase5-results { margin-top: .85rem; }
.phase5-result-card { height: 100%; border: 1px solid #e5e9ed; border-radius: .8rem; padding: .9rem; background: #fff; }
.phase5-result-card:hover { border-color: #c5d49c; box-shadow: 0 .35rem 1.1rem rgb(16 26 44 / 7%); }
.phase5-result-card h3 { margin: .25rem 0 .35rem; color: #17253b; font-size: .98rem; font-weight: 850; letter-spacing: -.025em; }
.phase5-result-card p { margin: .25rem 0; color: #657287; font-size: .74rem; line-height: 1.45; }
.phase5-result-kicker { color: #74829a; font-size: .59rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.phase5-result-meta { display: flex; flex-wrap: wrap; gap: .35rem; margin: .55rem 0; }
.phase5-result-meta span { border-radius: 999px; padding: .22rem .48rem; background: #f1f4f4; color: #47566a; font-size: .64rem; font-weight: 750; }
.phase5-result-actions { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .65rem; }
.phase5-result-actions .btn { font-size: .7rem; font-weight: 800; }
.phase5-pagination { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin-top: .9rem; color: #68768b; font-size: .72rem; }
.phase5-pagination[hidden] { display: none !important; }
.phase5-detail { margin-top: 1rem; border-top: 1px solid #e5e9ed; padding-top: .85rem; }
.phase5-detail[hidden] { display: none !important; }
.phase5-detail h3 { font-size: 1rem; font-weight: 850; }
.phase5-detail-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .5rem; }
.phase5-detail-item { border-radius: .55rem; padding: .55rem .65rem; background: #f4f6f5; }
.phase5-detail-item strong, .phase5-detail-item span { display: block; }
.phase5-detail-item strong { color: #637188; font-size: .59rem; letter-spacing: .08em; text-transform: uppercase; }
.phase5-detail-item span { margin-top: .15rem; color: #223149; font-size: .75rem; overflow-wrap: anywhere; }
.phase5-guest-row { margin-top: 1.25rem !important; }
.phase5-guest-card { height: 100%; padding: clamp(.9rem, 2vw, 1.25rem); }
.phase5-guest-heading { align-items: flex-start; margin-bottom: .85rem; }
.phase5-guest-heading h3 { margin: .15rem 0; font-size: 1.1rem; font-weight: 850; letter-spacing: -.035em; }
.phase5-guest-heading p { max-width: 42rem; margin: .2rem 0; color: #6a778b; font-size: .74rem; }
.phase5-guest-mark { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border-radius: .65rem; background: #e5f2ce; color: #49682c; font-weight: 900; }
.phase5-guest-flow, .phase5-guest-manage, .phase5-account-form { height: 100%; border: 1px solid #e4e9ed; border-radius: .7rem; padding: .75rem; background: #fbfcfb; }
.phase5-guest-flow summary, .phase5-guest-manage summary, .phase5-account-form summary { color: #25334a; cursor: pointer; font-size: .78rem; font-weight: 850; }
.phase5-guest-flow .form-text { color: #718096; font-size: .65rem; }
.phase5-form-message, .phase5-account-message { min-height: .9rem; margin: .15rem 0 0; color: #657287; font-size: .7rem; overflow-wrap: anywhere; }
.phase5-policy-card { height: 100%; border: 1px solid #e2e8dd; border-radius: 1rem; padding: 1.1rem; background: #f8faf5; }
.phase5-policy-card h3 { margin: .25rem 0 .5rem; font-size: 1.03rem; font-weight: 850; }
.phase5-policy-card ul { display: grid; gap: .5rem; margin: .65rem 0 1rem; padding-left: 1.1rem; color: #59687b; font-size: .73rem; }
.phase5-policy-card li::marker { color: #7b9e38; }
.phase5-account-workspace { margin-top: 1rem; }
.phase5-account-workspace h5 { margin: .2rem 0 .55rem; color: #213047; font-size: .8rem; font-weight: 850; }
.phase5-account-workspace .account-empty { font-size: .7rem; }
.phase5-account-list { height: 100%; border: 1px solid #e5e9ed; border-radius: .7rem; padding: .7rem; background: #fbfcfd; }
.phase5-account-entry { border-top: 1px solid #edf0f3; padding: .55rem 0; }
.phase5-account-entry:first-child { border-top: 0; padding-top: .15rem; }
.phase5-account-entry strong { display: block; color: #233148; font-size: .72rem; }
.phase5-account-entry span, .phase5-account-entry small { display: block; margin-top: .12rem; color: #66748a; font-size: .66rem; overflow-wrap: anywhere; }
.phase5-account-form { height: auto; }
.phase5-account-form .form-check { font-size: .67rem; }
.phase5-account-form .form-check-input { margin-top: .18rem; }
.phase5-management-tools { border: 1px solid #e4e9ed; border-radius: .75rem; padding: .8rem; background: #fbfcfd; }
.phase5-management-tools > summary { color: #25334a; cursor: pointer; font-size: .8rem; font-weight: 850; }
.phase5-management-tools .phase5-account-form h6 { margin: 0 0 .65rem; color: #26344a; font-size: .75rem; font-weight: 850; }
.phase5-management-tools .form-control, .phase5-management-tools .form-select { min-height: 2.3rem; border-color: #dce2e9; border-radius: .55rem; font-size: .73rem; }
.phase5-management-tools textarea.form-control { min-height: auto; }
.phase5-managed-result { margin-top: .8rem; border-radius: .65rem; padding: .75rem; background: #f1f5ef; color: #324257; font-size: .75rem; overflow-wrap: anywhere; }
.phase5-operations-report { border-top: 1px solid #e3e8ed; padding-top: .85rem; }
.phase5-operations-report h5 { font-size: .85rem; font-weight: 850; }
.phase5-report-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); gap: .5rem; }
.phase5-report-tile { border: 1px solid #e4e9ed; border-radius: .65rem; padding: .6rem; background: #fbfcfd; }
.phase5-report-tile strong, .phase5-report-tile span { display: block; }
.phase5-report-tile strong { color: #6b7890; font-size: .58rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.phase5-report-tile span { margin-top: .2rem; color: #1f2d42; font-size: 1rem; font-weight: 850; }
.phase5-admin-queue { height: 100%; border: 1px solid #e4e9ed; border-radius: .7rem; padding: .7rem; background: #fbfcfd; }
.phase5-admin-queue h6 { margin: .2rem 0 .5rem; color: #213047; font-size: .75rem; font-weight: 850; }
.phase5-queue-item { display: grid; gap: .2rem; border-top: 1px solid #edf0f3; padding: .5rem 0; font-size: .68rem; }
.phase5-queue-item:first-child { border-top: 0; padding-top: .15rem; }
.phase5-queue-item strong { color: #233148; font-size: .7rem; }
.phase5-queue-item span { color: #66748a; overflow-wrap: anywhere; }
.phase5-queue-item .phase5-result-actions { margin-top: .1rem; }
@media (max-width: 767.98px) {
    .phase5-shell-top, .phase5-guest-heading { align-items: flex-start; flex-direction: column; }
    .phase5-tabs { max-width: 100%; width: 100%; }
    .phase5-public-badge { align-self: flex-start; }
    .phase5-pagination { align-items: flex-start; flex-direction: column; }
    .phase5-guest-flow, .phase5-guest-manage { padding: .65rem; }
}
@media (max-width: 575.98px) {
    .phase5-shell, .phase5-guest-card { border-radius: .75rem; padding: .8rem; }
    .phase5-result-actions .btn { flex: 1 1 auto; }
    .phase5-policy-card { padding: .85rem; }
}
