/* Scoped to the three QCKL Allure screens extended by the portal. */
.qp-guest, .qp-intro, .qp-service, .qp-side-list, .qp-home .tiles, .qp-home .panel, .qp-detail .product-details {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
.qp-guest, .qp-service, .qp-guest *, .qp-service * { box-sizing: border-box; }
.qp-guest { color: #f5fbfa; background: #103438; position: relative; isolation: isolate; overflow: hidden; }
.qp-guest::before {
    content: ""; position: absolute; z-index: -1; inset: 0;
    background: radial-gradient(ellipse at 82% 0%, #226a65, transparent 55%),
        linear-gradient(105deg, #0d292e 0%, #133b3e 66%, #16494a 100%);
}
.qp-wrap { width: min(100%, 1180px); margin: auto; padding: clamp(28px, 4vw, 64px) clamp(18px, 4vw, 54px) 24px; }
.qp-guest-head, .qp-service-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.qp-eyebrow { display: flex; align-items: center; gap: 9px; font-size: 11px; line-height: 1.5; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #32716d; }
.qp-eyebrow i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #0b9a89; }
.qp-guest .qp-eyebrow { color: #a2ded3; }
.qp-guest .qp-eyebrow i { background: #54dbc2; }
.qp-guest h1 { color: #fff; font: 650 clamp(34px, 4vw, 57px)/1.06 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; margin: 17px 0 13px; letter-spacing: -.04em; }
.qp-guest-head p { margin: 0; max-width: 600px; font-size: clamp(15px, 1.35vw, 18px); color: #c8dfdd; line-height: 1.55; }
.qp-rack { width: 153px; display: grid; gap: 8px; flex: 0 0 auto; margin: 1px 14px 0 0; transform: skewY(-6deg); }
.qp-rack i { display: block; height: 25px; border-radius: 5px; border: 1px solid #6baca5; background: linear-gradient(95deg, #43858044, #204e4a); position: relative; box-shadow: 7px 5px 0 #112f3377; }
.qp-rack i::before { content: ""; position: absolute; left: 10px; top: 8px; width: 5px; height: 5px; background: #83dfc4; border-radius: 50%; box-shadow: 10px 0 0 #63978f; }
.qp-rack i::after { content: ""; position: absolute; right: 12px; top: 7px; height: 8px; width: 37px; background: repeating-linear-gradient(90deg,#75a29a 0 2px,transparent 2px 5px); }
.qp-catalog { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 30px; }
.qp-guest a { text-decoration: none; }
.qp-guest .qp-product { position: relative; display: grid; align-content: start; gap: 6px; min-width: 0; padding: 18px 16px 20px; border: 1px solid #668d8b; border-radius: 10px; background: #f6fffe0b; transition: background .15s ease, border-color .15s ease; color: #fff; }
.qp-guest .qp-product:hover, .qp-guest .qp-product:focus-visible { background: #34625f; border-color: #8fe5cf; color: #fff; }
.qp-icon { width: 22px; height: 22px; flex: none; display:inline-block; vertical-align: middle; }
.qp-product .qp-icon:first-child { margin-bottom: 12px; color: #9ee8d8; width: 26px; height: 26px; }
.qp-product .qp-icon:last-child { position: absolute; top: 19px; right: 14px; opacity: .8; width: 17px; }
.qp-product strong { font-size: clamp(16px,1.45vw,20px); line-height: 1.3; font-weight: 650; color: #fff; }
.qp-product span { font-size: 13px; line-height: 1.5; color: #d0e3df; }
.qp-links { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; margin-top: 17px; }
.qp-links a { color: #d6eae7; font-size: 13px; font-weight: 550; padding: 5px 0; }
.qp-links a:hover, .qp-links a:focus-visible { color: #fff; text-decoration: underline; }
.qp-links .qp-special { display: inline-flex; align-items: center; gap: 7px; color: #ffe4a4; }
.qp-links .qp-icon { width: 15px; height: 15px; }
.qp-links a:last-child { margin-left: auto; }
.qp-guest a:focus-visible, .qp-service a:focus-visible, .qp-side-list a:focus-visible { outline: 3px solid #eabf54; outline-offset: 3px; }
.qp-intro { padding: 2px 0 14px; }
.qp-intro h2, .qp-service h2 { color: #18373b; font: 650 clamp(24px,2.3vw,34px)/1.18 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; letter-spacing: -.035em; margin: 7px 0 0; overflow-wrap: anywhere; }
.qp-service { color: #18373b; padding: clamp(18px,2.4vw,32px); border-radius: 14px; border: 1px solid #cededc; background: #fff; box-shadow: 0 2px 9px #163b3a09; margin: 0 0 17px; }
.qp-service .qp-eyebrow { letter-spacing: .065em; }
.qp-eyebrow span { font-weight: 400; color: #a6b9b6; }
.qp-state { display: inline-flex; align-items: center; gap: 6px; color: #354a51; background: #edf2f3; border-radius: 999px; padding: 5px 11px; font-size: 13px; font-weight: 650; flex: none; }
.qp-state-active { color: #11654e; background: #e2f5eb; }
.qp-state-active::before { content: ""; height: 6px; width: 6px; background: #258a68; border-radius: 50%; }
.qp-state-suspended, .qp-state-pending { color:#7a5110; background:#fff2d9; }
.qp-data { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(175px,100%),1fr)); margin: 20px 0 0; gap: 14px 18px; }
.qp-data div { min-width:0; border-left: 2px solid #c4e2dc; padding-left: 10px; }
.qp-data dt { margin: 0 0 3px; font-size: 12px; color: #536d70; font-weight: 550; text-align: left; }
.qp-data dd { margin:0; font-weight: 600; font-size:15px; line-height:1.4; color: #1e3e41; overflow-wrap:anywhere; }
.qp-addresses { margin-top: 15px; font-size:14px; }
.qp-addresses summary { cursor:pointer; }
.qp-module-note { margin:16px 0 0; color:#536b6e; font-size:14px; }
.qp-addresses pre { max-height: 13em; overflow:auto; margin-top:6px; }
.qp-commands { display:flex; flex-wrap:wrap; align-items:center; gap: 7px; margin-top:20px; padding-top:14px; border-top:1px solid #e0e9e7; }
.qp-commands:not(:has(a,button)) { display:none; }
.qp-commands .qp-action, .qp-commands a.qp-action.btn { display:inline-flex; align-items:center; justify-content:center; gap:5px; width:auto; min-height:38px; margin:0; padding:7px 12px; border:1px solid #c8dad7; border-radius:7px; background:#f4faf8; color:#1b5752; font:600 13px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-decoration:none; box-shadow:none; cursor:pointer; white-space:normal; }
.qp-commands .qp-action:hover, .qp-commands .qp-action:focus-visible { background:#ddefea; color:#13453e; }
.qp-commands [data-qp-caution] { color:#813d32; background:#fff; border-color:#e0d5d2; }
.qp-commands [data-qp-primary] { background:#166962; border-color:#166962; color:#fff; }
.qp-commands .qp-action[data-qp-primary]:hover { background:#104f4a; color:#fff; }
.qp-side-list { display:grid; gap:0; }
.qp-side-list a { display:block; padding:9px 0; border-bottom:1px solid #e7eeed; text-decoration:none; overflow-wrap:anywhere; color:#1f514d; }
.qp-side-list a:hover b { text-decoration:underline; }
.qp-side-list b, .qp-side-list small { display:block; line-height:1.42; }
.qp-side-list b { font-weight:600; font-size:14px; }
.qp-side-list small,.qp-side-list p { font-size:12px; color:#596e70; margin:3px 0 0; }
.qp-home #main-area, .qp-detail #main-area { background:#f0f5f4; }
.qp-home .tiles .tile a, [data-theme] .qp-home .tiles .tile a { border:1px solid #d5e2e0; border-radius:10px; background:#fff; color:#173e40; box-shadow:none; }
.qp-home .tiles .tile a:hover { background:#f7fffc; border-color:#83aea4; }
.qp-home .tiles .tile a:after, .qp-home .tiles .tile .highlight { display:none; }
.qp-home .tiles .tile .title { color:#466466; letter-spacing:.015em; }
.qp-home .tiles .tile .icon { color:#3a8980; opacity:.32; }
.qp-home .tiles .tile .stat { color:#183e40; }
.qp-home .panel, .qp-detail .panel { box-shadow:0 2px 10px #1237310a; border:1px solid #d6e3e0; border-radius:10px; }
.qp-home .panel .panel-heading,.qp-detail .panel .panel-heading { box-shadow:none; }
.qp-home .allure-sidebar .panel-heading,.qp-detail .allure-sidebar .panel-heading { background:#f0f5f4; }
.qp-detail .product-details .product-icon .fa-stack { display:none; }
.qp-detail .product-details .product-icon { padding:10px; }
.qp-detail .product-details .btn-danger { background:transparent; color:#883f37; border-color:#e4d3cf; box-shadow:none; }
.qp-detail .product-details h4 { font-size:14px; margin:10px 0 3px; }
.qp-gone, [hidden].qp-gone { display:none!important; }
[data-theme="dark"] .qp-service, [data-theme="dark"] .qp-home .tiles .tile a { background:#183434; border-color:#395352; }
[data-theme="dark"] .qp-intro h2,[data-theme="dark"] .qp-service h2,[data-theme="dark"] .qp-data dd,[data-theme="dark"] .qp-home .tiles .tile .stat { color:#e7f2f1; }
[data-theme="dark"] .qp-data dt,[data-theme="dark"] .qp-eyebrow,[data-theme="dark"] .qp-home .tiles .tile .title,[data-theme="dark"] .qp-side-list a,[data-theme="dark"] .qp-side-list small { color:#b4d8d2; }
[data-theme="dark"] .qp-home #main-area,[data-theme="dark"] .qp-detail #main-area { background:#132628; }
[data-theme="dark"] .qp-home .allure-sidebar .panel-heading,[data-theme="dark"] .qp-detail .allure-sidebar .panel-heading { background:#233738; }
@media (max-width:720px) {
    .qp-rack { display:none; }
    .qp-wrap { padding:28px 18px 19px; }
    .qp-catalog { grid-template-columns:1fr; gap:8px; margin-top:21px; }
    .qp-guest .qp-product { grid-template-columns:30px minmax(0,1fr) 18px; gap:1px 11px; padding:12px; align-items:center; }
    .qp-product .qp-icon:first-child { grid-area:1 / 1 / span 2; margin:0; }
    .qp-product .qp-icon:last-child { grid-area:1 / 3 / span 2; position:static; }
    .qp-product span { grid-column:2; }
    .qp-links { gap:4px 16px; }
    .qp-links a:last-child { margin:0; }
    .qp-service-head { align-items:flex-start; gap:10px; flex-wrap:wrap; }
    .qp-data { grid-template-columns: repeat(auto-fit,minmax(min(135px,100%),1fr)); }
}
@media (prefers-reduced-motion:reduce) { .qp-guest .qp-product { transition:none; } }
.qp-detail .qp-billing-row > :last-child { float:none; width:100%; text-align:left; }
.qp-detail .qp-billing-row > :last-child h4 { text-align:left; display:inline; font-size:13px; color:#536b6e; }
.qp-detail .qp-billing-row > :last-child h4::before { content:""; display:block; margin-top:5px; }
.qp-detail .qp-billing-row > :last-child h4::after { content:" · "; }
@media (max-width: 720px) { .qp-home .tiles > .row { margin-left: 0; margin-right: 0; } }
