/* Active Sessions V5.1 — lightweight card actions and responsive modal controls. */
#app #content .session-design31 .session-bottom13{display:flex;flex-direction:column;align-items:stretch;gap:9px;padding-top:7px}
#app #content .session-design31 .session-bottom13>.session-router-label-v51{display:flex;align-items:center;gap:7px;min-width:0;color:var(--s31-muted);font:11px/1.4 system-ui,sans-serif}
#app #content .session-design31 .session-actions-v51{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;min-width:0}
#app #content .session-design31 .session-actions-v51>.session-action-v51{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:39px;margin:0;padding:8px 5px;border:1px solid var(--s31-line);border-radius:8px;background:var(--s31-button);color:var(--s31-ink);font:650 11px/1.2 system-ui,sans-serif;text-align:center;white-space:nowrap}
#app #content .session-design31 .session-actions-v51>.session-action-v51:hover{border-color:var(--s31-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--s31-accent) 13%,transparent)}
#app #content .session-design31 .session-actions-v51>.session-action-v51.primary,.session-actions-v51>.session-action-v51.temporary{background:color-mix(in srgb,var(--s31-accent) 10%,var(--s31-button));border-color:var(--s31-accent);color:var(--s31-accent)}
#app #content .session-design31 .session-actions-v51>.session-action-v51 svg{width:15px;height:15px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#app #content .session-design31 .session-policy-icons-v51,#app #content :is(.session-design31,.sessions-design-pay9) .session-policy-icons-v51{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:5px;min-height:0}
#app #content .session-design31 .policy-mini-v51,#app #content :is(.session-design31,.sessions-design-pay9) .policy-mini-v51{display:inline-flex;align-items:center;gap:3px;padding:2px 5px;border:1px solid var(--s31-line);border-radius:5px;background:var(--s31-inset);color:var(--s31-muted);font:750 8px/1.2 system-ui,sans-serif;letter-spacing:.25px}
#app #content .session-design31 .policy-mini-v51 svg,#app #content :is(.session-design31,.sessions-design-pay9) .policy-mini-v51 svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#app #content .session-design31 .policy-mini-v51.vpn,#app #content :is(.session-design31,.sessions-design-pay9) .policy-mini-v51.vpn{color:var(--s31-accent);border-color:color-mix(in srgb,var(--s31-accent) 40%,var(--s31-line))}
#app #content .session-design31 .policy-mini-v51.proxy,#app #content :is(.session-design31,.sessions-design-pay9) .policy-mini-v51.proxy{color:#278ec4;border-color:color-mix(in srgb,#278ec4 42%,var(--s31-line))}
#app #content .session-design31 .policy-mini-v51.block,#app #content :is(.session-design31,.sessions-design-pay9) .policy-mini-v51.block{color:#d24e5b;border-color:color-mix(in srgb,#d24e5b 40%,var(--s31-line))}
#app #content .session-design31 .policy-mini-v51.speed,#app #content :is(.session-design31,.sessions-design-pay9) .policy-mini-v51.speed{color:var(--s31-quota);border-color:color-mix(in srgb,var(--s31-quota) 40%,var(--s31-line))}
#app #content .session-design31 .session-temporary31{width:auto;margin:0;padding:8px 5px;border-width:1px}
#modal .session-details-v51{display:grid;gap:0}
#modal .session-details-v51 .detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:10px 2px;border-bottom:1px solid var(--line)}
#modal .session-details-v51 .detail-row:last-child{border-bottom:0}
#modal .session-details-v51 .detail-row>span{color:var(--muted);font-size:11px;flex:none}
#modal .session-details-v51 .detail-row>b{font-size:11px;text-align:right;overflow-wrap:anywhere}
#modal .manage-v51,#modal .temporary-v51{display:grid;gap:12px;min-width:0}
#modal .manage-identity-v51,#modal .temporary-section-v51{padding:12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel12,#fff) 78%,var(--mint) 3%)}
#modal .manage-section-head-v51,#modal .temporary-heading-v51{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
#modal .manage-section-head-v51>div{display:grid;gap:4px}
#modal .manage-section-head-v51 b,#modal .temporary-heading-v51 b{font-size:12px}
#modal .manage-section-head-v51 small{font-size:10px;color:var(--muted)}
#modal .manage-tag-v51{padding:4px 7px;border:1px solid color-mix(in srgb,var(--green) 40%,var(--line));border-radius:5px;color:var(--green);font-size:9px;font-weight:850;letter-spacing:.5px}
#modal .identity-fields-v51{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}
#modal .identity-fields-v51 label,#modal .temporary-timer-grid-v51 label{font-size:10px;color:var(--muted);margin-bottom:9px}
#modal .identity-fields-v51 input,#modal .identity-fields-v51 select,#modal .temporary-v51 input[type=number]{min-width:0;font-size:12px;padding:9px}
#modal .identity-save-v51{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:38px;border:1px solid var(--control-border,var(--line));border-radius:7px;background:var(--control-primary-bg,var(--green));color:#fff;font-size:11px;font-weight:750}
#modal .identity-save-v51 svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}
#modal .manage-inline-error-v51{margin:6px 0 0;color:var(--red);font-size:10px}
#modal .manage-state-v51{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel12,#f7faf8);font-size:10px;color:var(--muted)}
#modal .manage-state-v51 b{color:var(--ink);margin-left:3px}
#modal .manage-actions-title-v51{font-size:11px;font-weight:800;letter-spacing:.2px}
#modal .manage-actions-grid-v51{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#modal .manage-action-v51{display:flex;align-items:center;gap:9px;min-width:0;min-height:61px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel12,#fff);color:var(--ink);text-align:left}
#modal .manage-action-v51:hover:not(:disabled){border-color:var(--green);background:var(--soft12,#f0f8f4)}
#modal .manage-action-v51:disabled{opacity:.45;cursor:not-allowed}
#modal .manage-action-icon-v51{display:grid;place-items:center;width:31px;height:31px;flex:none;border-radius:8px;background:var(--soft12,#eef6f2);color:var(--green)}
#modal .manage-action-icon-v51 svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#modal .manage-action-v51>span:last-child{display:grid;gap:4px;min-width:0}
#modal .manage-action-v51 b{font-size:10px;line-height:1.2}
#modal .manage-action-v51 small{font-size:9px;line-height:1.35;color:var(--muted)}
#modal .manage-action-v51.danger .manage-action-icon-v51{color:var(--red);background:color-mix(in srgb,var(--red) 10%,var(--panel12,#fff))}
#modal .manage-action-v51.danger{border-color:color-mix(in srgb,var(--red) 35%,var(--line))}
#modal .manage-note-v51{margin:0;color:var(--muted);font-size:10px;line-height:1.55}
#modal .temporary-target-v51{display:grid;gap:3px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel12,#f7faf8)}
#modal .temporary-target-v51>span{font-size:8px;font-weight:850;letter-spacing:1px;color:var(--muted)}
#modal .temporary-target-v51>b{font-size:12px}
#modal .temporary-target-v51>small{font:10px ui-monospace,monospace;color:var(--muted)}
#modal .temporary-heading-v51{margin:0}
#modal .temporary-heading-v51>span,#modal .temporary-heading-v51>strong{font-size:10px;color:var(--green);font-variant-numeric:tabular-nums}
#modal .temporary-mode-grid-v51{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#modal .temporary-mode-v51{display:grid;justify-items:center;gap:5px;min-width:0;min-height:86px;padding:10px 5px;border:1px solid var(--line);border-radius:9px;background:var(--panel12,#fff);color:var(--ink)}
#modal .temporary-mode-v51:hover:not(:disabled){transform:translateY(-1px);border-color:var(--green)}
#modal .temporary-mode-v51:disabled{opacity:.42;cursor:not-allowed}
#modal .temporary-mode-v51 .modeicon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--soft12,#eef6f2);color:var(--muted)}
#modal .temporary-mode-v51 svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#modal .temporary-mode-v51 b{font-size:10px}
#modal .temporary-mode-v51 small{font-size:8px;color:var(--muted)}
#modal .temporary-mode-v51.vpn.selected{border-color:var(--green);background:color-mix(in srgb,var(--green) 8%,var(--panel12,#fff));color:var(--green)}
#modal .temporary-mode-v51.proxy.selected{border-color:#278ec4;background:color-mix(in srgb,#278ec4 8%,var(--panel12,#fff));color:#278ec4}
#modal .temporary-mode-v51.block.selected{border-color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--panel12,#fff));color:var(--red)}
#modal .temporary-note-v51{margin:0;padding:8px 9px;border:1px solid var(--line);border-radius:7px;background:var(--soft12,#f2f7f4);font-size:10px;line-height:1.5;color:var(--muted)}
#modal .temporary-field-label-v51{display:grid;grid-template-columns:1fr auto;gap:6px;margin:9px 0;color:var(--muted);font-size:10px}
#modal .temporary-field-label-v51 span{font-weight:750;color:var(--ink);font-variant-numeric:tabular-nums}
#modal .temporary-field-label-v51 input{grid-column:1/-1;width:100%;accent-color:var(--green)}
#modal .temporary-speed-presets-v51{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
#modal .preset-v51{padding:6px 9px;border:1px solid var(--line);border-radius:6px;background:var(--panel12,#fff);color:var(--muted);font-size:9px;font-weight:750}
#modal .preset-v51.active{background:var(--green);border-color:var(--green);color:#fff}
#modal .temporary-unlimited-v51{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;margin-top:8px;border:1px solid var(--green);border-radius:7px;background:color-mix(in srgb,var(--green) 8%,var(--panel12,#fff));color:var(--green);font-size:10px;font-weight:850;letter-spacing:.5px}
#modal .temporary-unlimited-v51.active{background:var(--green);color:#fff}
#modal .temporary-unlimited-v51 svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7}
#modal .temporary-timer-grid-v51{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
#modal .temporary-timer-grid-v51 input{width:100%;min-width:0;text-align:center;font-variant-numeric:tabular-nums}
#modal .temporary-countdown-v51{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel12,#fff)}
#modal .temporary-countdown-v51>span{display:grid;gap:4px;min-width:0}
#modal .temporary-countdown-v51>span:last-child{text-align:right}
#modal .temporary-countdown-v51 small{font-size:9px;color:var(--muted)}
#modal .temporary-countdown-v51 b{font-size:11px;color:var(--green);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#modal .temporary-progress-v51>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:10px;margin-bottom:6px}
#modal .temporary-progress-track-v51{height:5px;border-radius:8px;background:var(--line);overflow:hidden}
#modal .temporary-progress-track-v51>span{display:block;width:0;height:100%;background:var(--green);transition:width .3s}
#modal .temporary-feedback-v51{min-height:16px;margin:0;color:var(--muted);font-size:10px;line-height:1.4}
#modal .temporary-actions-v51{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:7px}
#modal .temporary-actions-v51 button{min-height:38px;padding:8px 5px;border:1px solid var(--line);border-radius:7px;background:var(--panel12,#fff);color:var(--ink);font-size:10px;font-weight:800}
#modal .temporary-actions-v51 .temporary-apply-v51{background:var(--control-primary-bg,var(--green));border-color:var(--green);color:#fff}
#modal .temporary-actions-v51 .temporary-restore-v51{border-color:var(--gold);color:var(--gold)}
#modal .temporary-footnote-v51{display:block;color:var(--muted);font-size:9px;line-height:1.5}
#modal .temporary-actions-v51 button:disabled{opacity:.45;cursor:wait}
#modal .temporary-section-v51 input:disabled{opacity:.45;cursor:not-allowed}
#modal .temporary-mode-v51:focus-visible,#modal .temporary-actions-v51 button:focus-visible,#modal .manage-action-v51:focus-visible{outline:2px solid var(--green);outline-offset:2px}
@media(max-width:520px){#app #content .session-actions-v51{gap:5px}#app #content .session-actions-v51>.session-action-v51{font-size:9px;gap:3px;padding:7px 2px}#app #content .session-actions-v51>.session-action-v51 svg{width:13px;height:13px}#modal .identity-fields-v51{grid-template-columns:1fr 1fr}#modal .manage-actions-grid-v51{gap:6px}#modal .manage-action-v51{padding:8px 6px;gap:6px}#modal .temporary-actions-v51{grid-template-columns:1fr 1fr}#modal .temporary-actions-v51 .temporary-restore-v51{grid-column:1/-1}}
@media(max-width:360px){#modal .manage-actions-grid-v51{grid-template-columns:1fr}#modal .temporary-mode-grid-v51{gap:5px}#modal .temporary-timer-grid-v51{gap:4px}#modal .temporary-timer-grid-v51 label{font-size:9px}}
@media(prefers-reduced-motion:reduce){#app #content .session-actions-v51>button,#modal .temporary-mode-v51,#modal .temporary-progress-track-v51>span{transition:none!important;animation:none!important}}

#app #content .compact-sessions13 .compact-actions13.session-actions-v51{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;min-width:255px}
#app #content .compact-sessions13 .compact-actions13.session-actions-v51>.session-action-v51{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;padding:7px 3px;border:1px solid var(--s31-line);border-radius:7px;background:var(--s31-button);color:var(--s31-ink);font:650 9px/1.2 system-ui,sans-serif;white-space:nowrap}
#app #content .compact-sessions13 .compact-actions13.session-actions-v51>.session-action-v51.temporary{background:color-mix(in srgb,var(--s31-accent) 10%,var(--s31-button));border-color:var(--s31-accent);color:var(--s31-accent)}
#app #content .compact-sessions13 .compact-actions13.session-actions-v51>.session-action-v51 svg{width:13px;height:13px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* pay90: retain polished Pin and per-device Recheck controls in both layouts. */
#app #content :is(.session-design31,.sessions-design-pay9) .session-card-head .session-tools31{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:60px}
#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 .pin-device-v90,
#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 .session-recheck-v90{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;min-width:29px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft,var(--panel));color:var(--muted);transition:color .18s,border-color .18s,background .18s,transform .18s,box-shadow .18s}
#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 .pin-device-v90:hover,
#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 .session-recheck-v90:hover:not(:disabled){color:var(--accent);border-color:var(--accent);transform:translateY(-1px)}
#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 .pin-device-v90 svg,
#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 .session-recheck-v90 svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 .pin-device-v90[aria-pressed="true"]{color:var(--gold,#b88a2a);background:color-mix(in srgb,var(--gold,#b88a2a) 13%,var(--surface));border-color:color-mix(in srgb,var(--gold,#b88a2a) 55%,var(--line));box-shadow:0 2px 9px color-mix(in srgb,var(--gold,#b88a2a) 15%,transparent)}
#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 .pin-device-v90[aria-pressed="true"] svg{fill:color-mix(in srgb,var(--gold,#b88a2a) 18%,transparent)}
#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 .session-recheck-v90{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 .session-recheck-v90:disabled{opacity:.42;cursor:not-allowed}
#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 .session-recheck-v90.is-rechecking-v90 svg{animation:recheck-spin-v90 .8s linear infinite}
#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 .session-recheck-v90.is-rechecking-v90{color:var(--mint,#159b7e);border-color:var(--mint,#159b7e);box-shadow:0 0 0 3px color-mix(in srgb,var(--mint,#159b7e) 12%,transparent)}
@keyframes recheck-spin-v90{to{transform:rotate(360deg)}}
#app #content .compact-sessions13 .session-card-head .session-tools31{display:flex!important;align-items:center;justify-content:flex-start;gap:5px;min-width:58px}
#app #content .compact-sessions13 .session-card-head .session-tools31 .pin-device-v90,
#app #content .compact-sessions13 .session-card-head .session-tools31 .session-recheck-v90{display:inline-flex!important;width:26px;height:26px;min-width:26px}
#app #content .session-policy-icons-v51 .policy-mini-v51{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:6px}
@media(prefers-reduced-motion:reduce){#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 .session-recheck-v90.is-rechecking-v90 svg{animation:none!important}#app #content :is(.session-design31,.sessions-design-pay9) .session-tools31 button{transition:none!important}}
