/* StudentSOS v20.3.1 — cancellation flow, referral sharing, tutor access and share rendering */

/* Subscription cancellation: neutral management first, retention only after explicit unsubscribe click. */
.s2031-cancel-modal[hidden]{display:none!important}.s2031-cancel-modal{position:fixed;inset:0;z-index:240;display:grid;place-items:center;padding:18px}.s2031-cancel-bg{position:absolute;inset:0;background:rgba(14,22,35,.58);backdrop-filter:blur(6px)}.s2031-cancel-card{position:relative;width:min(540px,100%);border-radius:24px;background:#fff;padding:26px;box-shadow:0 30px 90px rgba(18,28,45,.24)}.s2031-cancel-x{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:10px;background:#f5f7fa;color:#5d6879;font-size:22px;cursor:pointer}.s2031-cancel-step>span{display:block;padding-right:38px;font-size:10px;font-weight:950;letter-spacing:.09em;color:#7b8493}.s2031-cancel-step h2{margin:6px 0 9px;font-size:26px;line-height:1.15;letter-spacing:-.035em}.s2031-cancel-step>p{margin:0 0 16px;color:#68758a;font-size:13px;line-height:1.55}.s2031-cancel-step label{display:grid;gap:6px;font-size:11px;font-weight:850;color:#465266}.s2031-cancel-step select{width:100%;min-height:44px;border:1px solid #dce2ea;border-radius:12px;background:#fff;padding:0 12px;font:600 13px Manrope,sans-serif;color:#263247;outline:none}.s2031-cancel-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:18px}.s2031-cancel-actions button{min-height:43px;border-radius:12px;padding:0 14px;font-weight:850;cursor:pointer}.s2031-request-cancel,.s2031-cancel-anyway{border:1px solid #efd6da;background:#fff;color:#a33b4f}.s2031-retention-box{margin:15px 0;padding:16px;border:1px solid #cfe0ff;border-radius:16px;background:#f4f8ff}.s2031-retention-box b{display:block;color:#1769ff;font-size:21px}.s2031-retention-box small{display:block;margin-top:3px;color:#64748b;font-size:11px}.s202-subscription-panel .s202-open-cancel{margin-top:10px!important;background:none!important;border:0!important;padding:4px 0!important;color:#7b8493!important;font-size:10px!important;text-decoration:underline!important;cursor:pointer!important}
@media(max-width:560px){.s2031-cancel-card{padding:21px 17px;border-radius:20px}.s2031-cancel-step h2{font-size:22px}.s2031-cancel-actions{display:grid;grid-template-columns:1fr}.s2031-cancel-actions button{width:100%}}

/* Referral sharing: actual recognizable icons and a visible preview of the OG card. */
.s2031-ref-preview{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;align-items:center;margin-top:14px;padding:10px;border:1px solid rgba(255,255,255,.28);border-radius:15px;background:rgba(255,255,255,.1)}.s2031-ref-preview img{display:block;width:150px;aspect-ratio:1200/630;object-fit:cover;border-radius:10px;background:#fff}.s2031-ref-preview small,.s2031-ref-preview b,.s2031-ref-preview span{display:block}.s2031-ref-preview small{font-size:8px;letter-spacing:.07em;text-transform:uppercase;opacity:.72}.s2031-ref-preview b{font-size:13px;margin:3px 0}.s2031-ref-preview span{font-size:9px;line-height:1.4;opacity:.82}.s201-share-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}.s201-share-grid a,.s201-share-grid button{min-height:92px!important;padding:12px 7px!important;border-radius:16px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important}.s2031-share-icon{display:block;width:34px;height:34px;flex:0 0 34px}.s201-share-grid span{font-size:10px!important;font-weight:800!important;opacity:.96!important}.s201-share-grid b{display:none!important}
@media(max-width:700px){.s2031-ref-preview{grid-template-columns:112px minmax(0,1fr)}.s2031-ref-preview img{width:112px}.s201-share-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:460px){.s2031-ref-preview{grid-template-columns:1fr}.s2031-ref-preview img{width:100%}.s201-share-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Shared answers: tables should look like content, not raw Markdown. */
.s20-share-dialog .sos-table-wrap{display:block;width:100%;max-width:100%;overflow-x:auto;margin:15px 0 20px;border:1px solid #dfe5ed;border-radius:15px;background:#fff;box-shadow:0 5px 20px rgba(28,44,68,.04);-webkit-overflow-scrolling:touch}.s20-share-dialog .sos-ai-table{width:100%;min-width:620px;border-collapse:collapse;table-layout:auto;font-size:13px;line-height:1.5}.s20-share-dialog .sos-ai-table th{background:#f4f7fb;color:#223047;font-weight:850}.s20-share-dialog .sos-ai-table th,.s20-share-dialog .sos-ai-table td{padding:11px 13px;border-right:1px solid #e7ebf1;border-bottom:1px solid #e7ebf1;text-align:left;vertical-align:top}.s20-share-dialog .sos-ai-table th:last-child,.s20-share-dialog .sos-ai-table td:last-child{border-right:0}.s20-share-dialog .sos-ai-table tr:last-child td{border-bottom:0}.s20-share-dialog .s18-message>p{max-width:100%}.s203-share-gallery figcaption{font-size:10px!important}.s2031-credit{display:block;margin-top:3px;color:#8a93a2}.s2031-credit a{color:inherit!important}
@media(max-width:640px){.s20-share-dialog .sos-ai-table{min-width:520px;font-size:12px}.s20-share-dialog .sos-ai-table th,.s20-share-dialog .sos-ai-table td{padding:9px 10px}}
/* v20.3.1 final referral polish */
.s201-ref-share .s201-share-grid{margin-top:14px}.s201-ref-share .s201-share-grid a,.s201-ref-share .s201-share-grid button{font:800 12px/1.15 Manrope,sans-serif!important;border:1px solid rgba(255,255,255,.26)!important;background:rgba(255,255,255,.13)!important;color:inherit!important;box-shadow:none!important}.s201-ref-share .s201-share-grid a:hover,.s201-ref-share .s201-share-grid button:hover{transform:translateY(-1px);background:rgba(255,255,255,.2)!important}.s201-ref-share .s2031-share-icon{width:38px;height:38px;flex-basis:38px;stroke-width:1.65}.s201-ref-share .s201-share-grid span{font-size:11px!important}.s2031-ref-preview{overflow:hidden}.s2031-ref-preview img{min-width:0}
@media(min-width:1100px){.s201-ref-share .s201-share-grid{grid-template-columns:repeat(7,minmax(74px,1fr))!important}}
/* Ensure subscription management itself is a normal native details control. */
.s202-subscription-manage{position:relative;z-index:1}.s202-subscription-manage>summary{cursor:pointer;user-select:none;touch-action:manipulation}.s202-subscription-manage[open]>.s202-subscription-panel{display:block!important}.s202-subscription-panel{position:relative!important;inset:auto!important;transform:none!important;max-width:none!important;box-shadow:none!important}
