.module-card.locked{cursor:pointer;opacity:1;border-style:dashed}.module-card.locked .catalog-icon{opacity:.65}.module-card.locked:hover{border-color:var(--blue,#568ed8)}
.access-caption{display:block;font-size:12px;line-height:1.5;color:var(--text2,#a5abbd);margin:8px 0}
.access-dialog{box-sizing:border-box;margin:auto;width:min(460px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:30px;border:1px solid var(--border,#343649);border-radius:22px;background:var(--surface,#141625);color:var(--text,#f4f5f8);box-shadow:0 24px 80px #0005}
.access-dialog::backdrop{background:#050610b8}.access-dialog p{line-height:1.6}.access-dialog h2{font-size:26px;line-height:1.2;margin:10px 0}.access-dialog form{position:absolute;right:8px;top:8px}.access-close{width:44px;height:44px;border:0;background:transparent;color:inherit;font-size:28px;cursor:pointer}
.access-symbol{display:grid;place-items:center;width:52px;height:52px;color:var(--red,#ec3957);background:#ef385714;border-radius:14px}.access-symbol svg{width:28px;height:28px}.access-eyebrow{font-size:10px;letter-spacing:.1em;margin-top:20px}.access-selection{font-weight:700}.access-primary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 18px;box-sizing:border-box;background:var(--blue,#4f8dd7);color:#fff;border-radius:12px;text-decoration:none;font-weight:600;margin-top:12px}.access-primary:hover{filter:brightness(1.1)}.access-note{font-size:12px;color:var(--muted,#a5abbd)}.access-dialog :focus-visible,.module-card.locked:focus-visible{outline:3px solid var(--blue,#568ed8);outline-offset:3px}
@media(max-width:480px){.access-dialog{padding:24px}.access-dialog h2{font-size:24px}}
.access-dialog .access-note{color:var(--text2);margin-top:16px}.access-primary+.access-primary{background:transparent;color:var(--text);border:1px solid var(--border-strong)}
.access-dialog form{right:12px;top:12px;margin:0}
.access-close{display:grid;place-items:center;padding:10px;border-radius:50%;background:var(--bg,#f4f5f8);transition:background-color .15s}
.access-close svg{display:block;width:22px;height:22px;pointer-events:none}
.access-close:hover{background:var(--border,#e3e5ed)}
.access-dialog .access-close:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.access-dialog #accessTitle:focus{outline:none}
.quota-card{--quota-color:#208450;padding:20px;border:1px solid var(--border);border-radius:18px;margin:20px 0;background:var(--surface);color:var(--text)}
.quota-low{--quota-color:#b77400}.quota-empty{--quota-color:#d12449}.quota-neutral{--quota-color:var(--blue)}
.quota-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.quota-label{color:var(--text2);font-size:13px}.quota-infinity{color:var(--blue);font-size:30px;line-height:1}
.quota-card h3{font-size:20px;line-height:1.3;margin:8px 0 12px;text-wrap:balance}
.quota-card p{font-size:14px;line-height:1.55;color:var(--text2);margin:10px 0}
.quota-card .quota-detail{font-size:12px}
.quota-card .quota-count{color:var(--quota-color);font-weight:600}
.quota-empty h3{color:var(--quota-color)}
.quota-empty progress,.quota-empty progress::-webkit-progress-bar{background:#d1244924}
.quota-card a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);font-weight:600;text-underline-offset:4px}
.quota-card progress{appearance:none;-webkit-appearance:none;display:block;width:100%;height:9px;border:0;border-radius:10px;overflow:hidden;background:var(--border);color:var(--quota-color)}
.quota-card progress::-webkit-progress-bar{background:var(--border);border-radius:10px}
.quota-card progress::-webkit-progress-value{background:var(--quota-color);border-radius:10px}
.quota-card progress::-moz-progress-bar{background:var(--quota-color);border-radius:10px}
.quota-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;border-left:3px solid var(--blue);background:var(--surface);padding:16px 18px;border-radius:12px;margin:16px 0 24px;font-size:14px;line-height:1.5}
.quota-notice[hidden]{display:none}.quota-notice[data-tone=low]{border-left-color:#b77400}.quota-notice[data-tone=empty]{border-left-color:#d12449}
.quota-notice strong{font-size:16px}.quota-notice p{color:var(--text2);margin:5px 0 0;max-width:65ch}.quota-notice a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);font-weight:600;flex-shrink:0;text-underline-offset:4px}
@media(max-width:600px){.quota-notice{align-items:flex-start;flex-direction:column;gap:6px}.quota-card{padding:16px}}
@media(prefers-reduced-motion:reduce){.access-close{transition:none}}
