/* LOYANCE release surfaces: scoped to plugin roots and local system fonts. */
.cl-dashboard{--cl-launch-ink:#123b39;--cl-launch-line:#dce7e1;background:#f3f7f4;color:var(--cl-launch-ink)}
.cl-dashboard .cl-sidebar{background:#fcfdfb;border-right:1px solid var(--cl-launch-line)}
.cl-dashboard .cl-sidebar-brand{padding-bottom:24px;border-bottom:1px solid var(--cl-launch-line)}
.cl-dashboard .cl-nav-item{min-height:46px;border-radius:12px;margin:3px 0;transition:background .18s ease,color .18s ease}
.cl-dashboard .cl-nav-item.is-active{background:#163f3b;color:#fff;box-shadow:0 4px 12px #173f3b14}
.cl-dashboard .cl-nav-item.is-active svg{stroke:currentColor}
.cl-dashboard .cl-nav-item:not(.is-active):hover{background:#eaf2ed;color:#123b39}
.cl-dashboard .cl-nav-group{border-top:1px solid var(--cl-launch-line);margin-top:18px;padding-top:12px}
.cl-dashboard .cl-nav-group summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:8px 12px;cursor:pointer;color:#596f68;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;list-style:none}
.cl-dashboard .cl-nav-group summary::-webkit-details-marker{display:none}
.cl-dashboard .cl-nav-group summary::after{content:'›';font-size:20px;line-height:1;transform:rotate(90deg);transition:transform .2s}
.cl-dashboard .cl-nav-group[open] summary::after{transform:rotate(-90deg)}
.cl-dashboard .cl-app-header{padding-bottom:26px;border-bottom:1px solid var(--cl-launch-line);margin-bottom:28px}
.cl-dashboard #cl-view-title{letter-spacing:-.035em;color:#143b39}
.cl-dashboard .cl-panel,.cl-dashboard .cl-kpi-card{border:1px solid var(--cl-launch-line);box-shadow:0 6px 24px #183c3105}
.cl-dashboard .cl-release-guide{background:linear-gradient(120deg,#e3f0e7,#f7faf5);border:1px solid #cfdfd4;border-radius:22px;padding:26px}
.cl-dashboard .cl-release-guide button{min-height:48px;border-radius:12px}
.cl-dashboard .cl-field input,.cl-dashboard .cl-field select,.cl-dashboard .cl-field textarea{min-height:46px}
.cl-dashboard .cl-system-pill{cursor:pointer;min-height:44px;white-space:nowrap}
.cl-dashboard .cl-session-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#fff4e6;border:1px solid #edc990;color:#634417;border-radius:16px;margin-bottom:24px}
.cl-dashboard .cl-session-banner a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;background:#634417;color:white;border-radius:10px;white-space:nowrap}
.cl-scanner-app .cl-camera-shell{border-radius:28px;background:radial-gradient(ellipse at 50% 20%,#204f47,#102d2a 70%);border:1px solid #335d50;box-shadow:0 16px 40px #102d2a12;overflow:hidden}
.cl-scanner-app .cl-camera-placeholder{color:#ecf5ef}
.cl-scanner-app .cl-camera-placeholder small{color:#b8d0c5}
.cl-scanner-app .cl-scan-primary{min-height:54px;border-radius:14px;background:#173f3b;box-shadow:0 6px 20px #173f3b20}
.cl-scanner-app .cl-scan-result{border:1px solid #dce7e1;border-radius:24px;background:#fff;box-shadow:0 8px 32px #123b3906}
.cl-scanner-app .cl-next-card{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;width:100%;margin-top:16px;border:1px solid #d8e5dd;border-radius:12px;background:#f2f7f3;color:#173f3b;font-weight:700;cursor:pointer}
.cl-scanner-app .cl-next-card:hover{background:#e4efe7}
.clp-devices{margin:26px 0;padding:22px;border:1px solid #d7e4dc;border-radius:18px;background:#f8fbf7}
.clp-devices h3{font-size:20px;margin:0 0 8px;color:#173f3b;letter-spacing:-.025em}
.clp-devices>p{font-size:14px;line-height:1.7;color:#61746b}
.clp-device-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #dce7e1}
.clp-device-row strong,.clp-device-row small{display:block;overflow-wrap:anywhere}.clp-device-row small{font-size:12px;color:#61746b;margin-top:5px}
.clp-device-row button{min-height:44px;padding:10px 14px;background:white;color:#173f3b;border:1px solid #ccdcd1;border-radius:10px;cursor:pointer;font-weight:600}
.clp-devices #cl-app-revoke-all{margin-top:14px;min-height:46px}
.cl-dashboard :focus-visible,.cl-scanner-app :focus-visible,.clp-devices :focus-visible{outline:3px solid #238875;outline-offset:3px}
@media(max-width:768px){.cl-dashboard .cl-app-header{margin-bottom:20px;padding-bottom:20px}.cl-dashboard .cl-release-guide{padding:20px}.cl-dashboard .cl-session-banner{align-items:stretch;flex-direction:column}.cl-scanner-app .cl-camera-shell{border-radius:22px}.clp-devices{padding:18px}.clp-device-row{align-items:stretch;flex-direction:column}.clp-device-row button{width:100%}}
@media(prefers-reduced-motion:reduce){.cl-dashboard .cl-nav-item,.cl-dashboard .cl-nav-group summary::after{transition:none}}
.cl-scanner-app .cl-earn-amount{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;color:#173f3b;font-size:14px;font-weight:600}.cl-scanner-app .cl-earn-amount input{max-width:120px;min-height:46px;padding:10px 14px;border:1px solid #cfdfd5;border-radius:12px;background:#f8fbf7;font:inherit}
.cl-scanner-app .cl-scan-row{display:grid;grid-template-columns:minmax(0,1fr)max-content;gap:10px}.cl-scanner-app .cl-scan-row input{min-width:0;width:100%}.cl-scanner-app .cl-scan-row button{min-width:84px;white-space:nowrap;word-break:normal;overflow-wrap:normal;padding:12px 16px}
