/* Mobile-first portal presentation. Keep business handlers outside this file. */
@font-face { font-family:LumoInter; src:url('/fonts/inter-400.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:LumoInter; src:url('/fonts/inter-500.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:LumoInter; src:url('/fonts/inter-600.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:LumoInter; src:url('/fonts/inter-700.woff2') format('woff2'); font-weight:700; font-display:swap; }
:root {
  color-scheme:light;
  --ink:#242d32; --muted:#758087; --line:#e4e9eb; --page:#fff; --surface:#fff; --surface-alt:#f7f9f9;
  --nav:#126f60; --accent:#147e6c; --accent-strong:#096252; --accent-soft:#edf5f2;
  --danger:#b83f50; --warning:#976117; --shadow:none;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-6:24px; --radius:6px;
}
* { box-sizing:border-box; letter-spacing:0 !important; }
html { min-width:0; background:#fff !important; scroll-padding-top:80px; }
body { min-width:0; margin:0; background:#fff !important; color:var(--ink) !important; font:14px/1.55 LumoInter,Inter,system-ui,sans-serif; }
body.session-pending #session-loading {
  position:fixed; inset:0; z-index:100; width:100%; height:100dvh;
  min-height:0; margin:0; padding:24px; border:0; background:#fff;
  display:grid; grid-template-columns:minmax(0,1fr); place-items:center; gap:0;
}
body.session-pending .session-loading-label {
  margin:0; color:var(--muted); font-size:13px; text-align:center;
}
button,input,select,textarea { font-family:inherit; font-size:14px; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
button:disabled,select:disabled { opacity:.5; cursor:not-allowed; }
[aria-busy='true'] { cursor:progress; }
.hidden { display:none !important; }
.account-area:not(.hidden),.claim-layout:not(.hidden) { animation:none !important; }
img { max-width:100%; }
h1,h2,h3 { color:var(--ink); font-weight:600; }
h1 { font-size:22px !important; line-height:1.3 !important; }
h2 { font-size:18px !important; line-height:1.4 !important; }
h3 { font-size:14px !important; line-height:1.4; }
p { overflow-wrap:anywhere; }
.eyebrow,.field-label { color:var(--muted); font-size:11px !important; font-weight:500; }
.app-shell,.apps-shell,.guide-shell,.terms-shell { width:auto !important; max-width:none !important; margin:0 !important; padding:0 16px 24px !important; min-width:0; overflow:visible !important; }
.topbar { position:sticky; top:0; z-index:15; min-height:64px; height:auto; width:auto; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:16px; margin:0 -16px 24px; padding:8px 16px !important; background:#fff; border:0 !important; border-bottom:1px solid var(--line) !important; }
.brand { display:flex !important; align-items:center; gap:10px; color:var(--ink) !important; text-decoration:none; }
.brand-mark { width:32px; height:32px; flex:0 0 32px; display:grid; place-items:center; border:0 !important; border-radius:6px !important; background:var(--nav); color:#fff !important; font-size:17px; font-weight:700; }
.brand strong { display:block; font-size:17px !important; font-weight:600; line-height:1.3; }
.brand small { display:block; font-size:10px !important; font-weight:400; color:var(--muted); text-transform:none; }
.menu-toggle { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:6px; color:var(--ink); background:transparent; }
.menu-toggle:hover { background:var(--surface-alt); }
.menu-toggle svg { width:22px; height:22px; }
.topnav { position:absolute; top:calc(100% + 4px); right:12px; display:flex !important; flex-direction:column; align-items:stretch; justify-content:flex-start; flex-wrap:nowrap; gap:4px; width:min(288px,calc(100vw - 24px)); max-height:calc(100dvh - 84px); overflow-y:auto; padding:8px; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 8px 24px rgb(30 40 45 / 10%); }
.topnav[data-navigation-ready='true']:not(.is-open) { display:none !important; }
.topnav a,.topnav .text-button { display:flex; align-items:center; justify-content:flex-start; gap:12px; min-height:44px; padding:10px 12px !important; width:100%; margin:0; border:0; border-radius:5px; color:#667178 !important; background:transparent; font-size:13px !important; font-weight:500; text-align:left; text-decoration:none !important; }
.topnav svg { width:18px; height:18px; flex:0 0 18px; }
.topnav a:hover,.topnav button:hover { background:var(--surface-alt); }
.topnav a.is-current { background:var(--accent-soft); color:var(--accent-strong) !important; }
.topnav .nav-logout { border-top:1px solid var(--line); margin-top:12px; border-radius:0; }
.intro,.apps-intro,.guide-hero,.terms-hero { padding:0 0 24px !important; display:flex; flex-direction:column; align-items:stretch; gap:12px; margin:0; }
.intro h1,.apps-intro h1,.guide-hero h1,.terms-hero h1 { margin:0 0 8px !important; max-width:none; }
.intro .eyebrow,.apps-intro .eyebrow,.guide-hero .eyebrow,.account-heading .eyebrow { display:none; }
.lead,.intro p,.apps-intro p,.guide-hero p,.terms-hero p { font-size:13px !important; line-height:1.6; color:var(--muted); }
.portal-actions,.intro-actions { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:8px; margin:0; }
.primary-button,.secondary-button,.outline-button,.support-link,.close-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border-radius:5px !important; padding:10px 14px; font-size:13px !important; line-height:1.3; font-weight:500; box-shadow:none !important; white-space:normal; text-decoration:none; }
.primary-button { background:var(--accent); border:1px solid var(--accent); color:#fff; }
.secondary-button,.outline-button,.support-link,.close-button { background:#fff; border:1px solid var(--line); color:var(--ink); }
.secondary-button:hover,.outline-button:hover,.close-button:hover { background:var(--surface-alt); border-color:#c9d3d4; }
.danger-button { color:var(--danger); }
input,select,textarea { min-width:0; min-height:44px; border:1px solid var(--line); border-radius:5px !important; background:#fff; color:var(--ink); font-size:16px; }
input:focus,select:focus { border-color:var(--accent); box-shadow:0 0 0 2px rgb(20 126 108 / 8%); }
label { color:var(--ink); font-size:12px; font-weight:500; }
.site-footer { display:flex !important; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:8px 16px; margin-top:24px; padding:16px 0 0 !important; border-top:1px solid var(--line) !important; font-size:11px !important; color:var(--muted); }
.site-footer > span { flex-basis:100%; }
.site-footer a { color:var(--muted) !important; font-weight:400; text-decoration:none; }
.site-footer a:hover { color:var(--accent-strong) !important; text-decoration:underline; }
.account-area,body.session-authenticated .account-area { max-width:none !important; margin:0 !important; padding:0 !important; border:0; }
.account-heading { margin:0 0 20px; }
.account-heading h2 { font-size:22px !important; margin:0 0 4px; }
.account-heading p { font-size:12px; margin:0; color:var(--muted); }
.access-list { gap:24px; }
.client-card { background:transparent; border:0 !important; border-radius:0 !important; box-shadow:none !important; overflow:visible !important; }
.client-bar { padding:0 0 16px; background:transparent; border:0; display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:8px; }
.client-bar > div { flex:1 1 180px; }
.client-bar h3 { font-size:14px !important; font-weight:600; }
.client-bar p { font-size:11px; color:var(--muted); margin:4px 0 0; }
.status-badge { flex:0 0 auto; align-self:auto; padding:3px 6px; border:0; border-radius:4px; background:var(--accent-soft); color:var(--accent-strong); font-size:10px; font-weight:600; line-height:1.6; }
.status-badge.is-inactive { color:var(--danger); background:#fff0f1; }
.screen-summary { margin:0 0 12px; padding:0; background:transparent; border:0; font-size:11px; color:var(--muted); font-weight:400; }
.access-card { margin:0 0 16px; padding:16px; border:1px solid var(--line); border-radius:6px; background:#fff; box-shadow:none; }
.access-card + .access-card { border-top:1px solid var(--line); }
.access-meta { display:flex; flex-direction:row; align-items:start; justify-content:space-between; gap:8px; margin:0 0 12px; }
.access-meta > div { min-width:0; }
.access-meta h3 { font-size:13px !important; font-weight:600; margin:0; }
.access-meta p { color:var(--muted); font-size:11px; margin:4px 0 0; }
.access-card-copy { min-height:36px; width:auto !important; min-width:0; max-width:100%; margin:0 0 8px !important; background:transparent; border:0; color:var(--accent-strong); padding:4px 0; font-size:12px !important; }
.access-card-copy:hover { background:transparent; color:var(--accent-strong); border:0; text-decoration:underline; }
.field-grid { display:block; width:100%; min-width:0; }
.field { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding:8px 0; border-top:1px solid var(--line); min-width:0; }
.field-label { margin:0; font-size:11px !important; font-weight:400; text-transform:none; }
.field.full { grid-column:auto; }
.value-row,.field:has(.reveal-button) .value-row { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:0; align-items:center; min-width:0; width:100%; }
.field:has(.reveal-button) .value-row { grid-template-columns:minmax(0,1fr) 44px 44px; }
.value-row input,.field:has(.reveal-button) .value-row input { grid-column:auto; padding:0 8px 0 0; height:44px; min-height:44px; min-width:0; width:100%; border:0; border-radius:0 !important; box-shadow:none; background:transparent; color:#35434b; font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace !important; text-overflow:ellipsis; }
.value-row input:focus-visible { outline-offset:0; }
.copy-button.field-action,.reveal-button.field-action { position:relative; display:grid; place-items:center; height:44px; width:44px; min-width:44px; min-height:44px; padding:0; border:0; border-radius:4px; color:#7c898f; background:transparent; }
.field-action svg { width:17px; height:17px; }
.field-action:hover,.field-action:focus-visible { background:var(--surface-alt); color:var(--accent-strong); }
@media(hover:hover) { .field-action:hover::after { content:attr(data-tooltip); position:absolute; z-index:10; bottom:calc(100% + 4px); right:0; width:max-content; max-width:200px; padding:6px 8px; color:#fff; background:#344247; border-radius:4px; font:11px/1.3 LumoInter,system-ui,sans-serif; pointer-events:none; } }
.access-settings { border-top:1px solid var(--line); margin:0; }
.access-settings > summary { display:flex; align-items:center; gap:8px; cursor:pointer; list-style:none; min-height:44px; padding:8px 0 0; font-size:12px; color:var(--muted); }
.access-settings > summary::-webkit-details-marker { display:none; }
.access-settings summary svg { width:15px; height:15px; }
.access-settings summary svg:last-child { margin-left:auto; }
.access-settings[open] summary svg:last-child { transform:rotate(180deg); }
.server-switch,.content-preference { margin:16px 0 0; padding:16px 0 0; border-top:1px solid var(--line); }
.content-preference { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
.content-preference label { font-size:12px; margin:0; }
.content-preference select { font-size:14px; }
.content-preference button { width:100%; }
.server-switch { display:flex; flex-direction:column; align-items:stretch; gap:12px; }
.server-switch-copy strong { font-size:12px; font-weight:600; }
.server-switch-copy p { font-size:12px; margin:4px 0 0; color:var(--muted); }
.server-switch-controls,.server-switch-details { width:100%; max-width:none; justify-items:stretch; }
.server-switch-controls select { font-size:14px; }
.server-switch-warning { font-size:12px; border-left:2px solid #d7ac62; background:#fffaf2; padding:8px; }
.screen-actions { padding-top:12px; }
.trial-status { padding:12px; margin:0 0 16px; border-radius:4px; gap:8px; }
.trial-status p,.trial-status-data { font-size:11px; }
.claim-action { padding:16px 0; }
.mobile-guide-panel { padding:16px 0; margin-top:8px; border:0; border-top:1px solid var(--line); background:transparent !important; box-shadow:none !important; border-radius:0; }
.mobile-guide-heading h2 { font-size:14px !important; margin-bottom:12px; }
.mobile-guide-heading .eyebrow,.mobile-guide-heading h2 + p { display:none; }
.mobile-quick-actions { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
.mobile-quick-actions > * { flex:1 1 110px; width:auto; font-size:12px !important; min-height:44px; padding:8px !important; }
.help-details { font-size:12px; color:var(--muted); margin-top:12px; }
.help-details summary { min-height:44px; display:flex; align-items:center; cursor:pointer; }
.mobile-guide-steps { margin-top:8px; gap:12px; }
.mobile-guide-steps li { background:transparent; }
.catalog-controls { display:flex; flex-direction:column; align-items:stretch; gap:12px; padding:12px 0; }
.device-tabs,.app-tabs { display:flex; flex-wrap:wrap; overflow:visible; gap:0 4px; padding:0; background:transparent; }
.device-tab,.app-tab { min-height:44px; border:0; border-radius:4px; padding:8px 10px; font-size:12px; font-weight:500; color:var(--muted); background:transparent; flex:0 1 auto; }
.device-tab.is-active,.app-tab.is-active { background:var(--accent-soft); color:var(--accent-strong); border:0; }
.search-field { margin:0; max-width:none; width:100%; gap:4px; font-size:11px; font-weight:400; text-transform:none; }
.search-field input { min-height:44px; font-size:16px; font-weight:400; }
.apps-catalog { padding:16px 0; }
.catalog-heading { display:flex; flex-direction:row; justify-content:space-between; align-items:center; margin:0 0 12px; }
.catalog-heading .eyebrow { display:none; }
.catalog-heading h2 { font-size:14px !important; margin:0; }
.catalog-heading p { font-size:11px; }
.apps-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
.app-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:16px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; background:transparent; }
.app-card-head { padding:0; min-width:0; }
.app-card-head h3 { font-size:13px !important; margin:0 0 4px; }
.app-card-head p { min-height:0; font-size:12px; margin:0; color:var(--muted); }
.platform-tags { grid-column:1 / -1; padding:0; gap:4px 8px; }
.platform-tag { padding:0; border:0; border-radius:0; background:transparent; font-size:10px; font-weight:400; color:var(--muted); }
.platform-tag + .platform-tag::before { content:' / '; color:#c0c8cb; padding-right:4px; }
.card-actions { grid-column:2; grid-row:1; align-self:center; padding:0; border:0; margin:0; }
.card-actions .primary-button { min-height:44px; padding:8px; background:transparent; color:var(--accent-strong); border:0; font-size:11px !important; width:auto; }
.tutorial-workspace { background:transparent; border:0; box-shadow:none; margin-top:16px; }
.app-panel { padding:16px 0; }
.app-intro,.guide-columns { grid-template-columns:minmax(0,1fr); gap:16px; }
.app-intro h2 { font-size:18px !important; }
.recovery { border-top:1px solid var(--line); padding:24px 0; background:transparent; border-radius:0; color:var(--ink); }
.recovery h2,.recovery li { color:var(--ink); }
.terms-layout { display:block; padding-bottom:16px; }
.terms-index { position:static; display:flex; flex-wrap:wrap; gap:8px 16px; padding:0 0 24px; border:0; background:transparent; }
.terms-index strong { flex-basis:100%; font-size:12px; }
.terms-index a { font-size:12px; color:var(--muted); }
.terms-document { border:0; padding:0; background:transparent; border-radius:0; }
.terms-document h2 { font-size:18px !important; }
.terms-document p,.terms-document li { color:#58666e; font-size:13px; }
.terms-document section + section { margin-top:24px; padding-top:24px; }
.section-number { color:var(--muted); font-size:11px; }
.document-meta { margin:12px 0 0; display:flex; flex-wrap:wrap; gap:8px; }
.document-meta span { font-size:10px; padding:4px 8px; border-color:var(--line); color:var(--muted); }
.contract-parties { display:grid; grid-template-columns:1fr; gap:16px; margin:16px 0; }
.contract-party span,.contract-party strong,.contract-party small { display:block; }
.contract-party span,.contract-party small,.contract-session-note { color:var(--muted); font-size:11px; }
.modal-backdrop { padding:12px; background:rgb(28 38 44 / 34%); backdrop-filter:none !important; z-index:30; }
.auth-modal,.app-modal,.refresh-guide-modal { border-radius:8px !important; max-height:calc(100dvh - 24px); box-shadow:0 12px 36px rgb(0 0 0 / 12%); }
.modal-heading { gap:12px; padding:16px; }
.auth-modal .modal-heading,.refresh-guide-modal .modal-heading { padding:0 0 16px; }
.modal-heading h2 { font-size:18px !important; }
.modal-heading p:not(.eyebrow) { font-size:12px; color:var(--muted); }
.modal-close { min-width:44px; min-height:44px; }
.modal-body { padding:16px; }
.platform-option { flex-wrap:wrap; }
.form-message { font-size:12px; font-weight:400; }
.form-message:empty { min-height:0; margin:0; }
.content-preference .form-message:empty { display:none; }
.empty-access,.empty-results { padding:24px 0; font-size:13px; color:var(--muted); }
.operation-toast { width:auto; max-width:calc(100vw - 32px); padding:10px 14px; border:1px solid #cce1da; border-radius:6px; background:#fff; color:var(--accent-strong); font-size:12px; font-weight:500; box-shadow:0 4px 16px rgb(30 40 45 / 8%); }
/* Anonymous pages follow the unframed login reference. */
body.session-anonymous .app-shell { width:auto !important; max-width:none !important; min-height:100dvh; margin:0 !important; padding:0 24px !important; display:flex; flex-direction:column; justify-content:flex-start; gap:0; }
body.session-anonymous .topbar { display:flex !important; position:static; width:auto; height:72px; min-height:72px; flex-direction:row; margin:0 -24px 0; padding:16px 24px !important; border-right:0 !important; border-bottom:1px solid var(--line) !important; }
body.session-anonymous .topbar .topnav,body.session-anonymous .topbar .menu-toggle { display:none !important; }
body.session-anonymous #auth-area { width:100%; max-width:440px; margin:36px auto 0; border:0; }
body.session-anonymous .claim-panel { padding:0; border:0; border-radius:0; box-shadow:none; background:transparent; }
body.session-anonymous #auth-title { margin:0 0 8px; font-size:24px !important; font-weight:600; }
body.session-anonymous .panel-heading p { margin:0 0 24px !important; font-size:13px; color:var(--muted); }
.phone-form { max-width:none; }
.login-tabs { display:grid; grid-template-columns:1fr 1fr; margin:24px 0; border-bottom:1px solid var(--line); }
.login-tabs button { min-height:44px; padding:8px; font-size:13px; font-weight:400; color:var(--muted); background:transparent; border:0; border-bottom:2px solid transparent; }
.login-tabs button[aria-selected='true'] { border-bottom-color:var(--accent); color:var(--ink); }
#login-password-group input { width:100%; }
.phone-form label { font-size:12px; margin-bottom:8px; }
.phone-form .input-row { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.phone-form input { min-height:48px; font-size:16px; }
.phone-form button { width:100%; min-height:44px; font-weight:500; }
.login-first-access { margin:16px 0 8px; font-size:12px; color:var(--muted); line-height:1.7; }
.login-privacy { margin-top:16px; font-size:12px; }
.login-privacy summary { min-height:44px; cursor:pointer; display:list-item; padding:12px 0; }
.login-privacy p { color:var(--muted); }
body.session-anonymous .site-footer { display:flex !important; width:calc(100% + 48px); margin:40px -24px 0; padding:20px 24px !important; justify-content:center; gap:8px 16px; text-align:center; }
body.session-anonymous .site-footer > span,body.session-anonymous .site-footer a[href='/apps'],body.session-anonymous .site-footer a[href='/tutorials'],body.session-anonymous .site-footer a[href='/contrato'] { display:none; }
body.session-anonymous:has(#auth-modal:not(.hidden)) #auth-area { display:none !important; }
body.session-anonymous.modal-open { overflow:auto; }
body.session-anonymous #auth-modal { position:static; inset:auto; width:100%; max-width:440px; padding:0; margin:36px auto 0; background:transparent; }
body.session-anonymous .auth-modal { width:100%; max-height:none; padding:0; border:0; border-radius:0 !important; box-shadow:none; overflow:visible; }
body.session-anonymous .auth-modal .modal-heading { position:relative; padding:0 0 24px; border:0; }
body.session-anonymous .auth-modal .modal-heading .eyebrow { display:none; }
body.session-anonymous .auth-modal .modal-heading h2 { font-size:24px !important; }
body.session-anonymous .auth-modal .modal-close { flex:0 0 44px; border:0; background:transparent; color:var(--muted); }
body.session-anonymous .auth-modal .form-actions button { width:100%; }
body.session-anonymous .auth-modal .form-stack { gap:16px; }
body.session-anonymous .auth-modal input:not([type='checkbox']) { min-height:48px; }
.login-phone-confirmation input { background:var(--surface-alt); color:var(--muted); }
@media(min-width:600px) {
  .field { grid-template-columns:100px minmax(0,1fr); align-items:center; gap:8px; padding:4px 0; }
  .field-label { margin:0; }
  .access-card { padding:16px 20px; }
  .access-meta { margin-bottom:4px; }
  .access-card-copy { margin-bottom:12px !important; }
  .content-preference { grid-template-columns:minmax(0,1fr) auto; }
  .content-preference label,.content-preference .form-message { grid-column:1 / -1; }
  .server-switch { flex-direction:row; align-items:center; }
  .server-switch-copy { flex:1; }
  .server-switch-controls { width:300px; }
  .mobile-quick-actions > * { flex:0 0 auto; min-width:130px; }
  .app-card { grid-template-columns:minmax(200px,1fr) minmax(180px,1fr) auto; align-items:center; gap:24px; }
  .platform-tags { grid-column:2; grid-row:1; }
  .card-actions { grid-column:3; }
  .app-intro { grid-template-columns:minmax(220px,.8fr) minmax(0,1fr); }
  .contract-parties { grid-template-columns:1fr 1fr; }
  body.session-anonymous #auth-area { margin-top:48px; }
}
@media(min-width:1000px) {
  .app-shell,.apps-shell,.guide-shell,.terms-shell { max-width:1280px !important; margin:0 auto 0 208px !important; padding:32px 40px !important; }
  .topbar { position:fixed; inset:0 auto 0 0; width:208px; height:100dvh; padding:32px 16px !important; margin:0; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:36px; background:#fafbfb; border-bottom:0 !important; border-right:1px solid var(--line) !important; }
  .brand { padding:0 4px; }
  .topnav,.topnav[data-navigation-ready='true']:not(.is-open) { position:static; display:flex !important; width:100%; max-height:none; min-height:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
  .topnav a,.topnav .text-button { font-size:12px !important; min-height:40px; }
  .menu-toggle { display:none; }
  h1 { font-size:24px !important; }
  .intro,.apps-intro,.guide-hero { flex-direction:row; align-items:center; justify-content:space-between; gap:24px; }
  .intro-actions { flex:0 0 auto; }
  .catalog-controls { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:16px; }
  .search-field span { position:absolute; clip-path:inset(50%); width:1px; height:1px; overflow:hidden; }
  .search-field input { font-size:13px; }
  .terms-layout { display:grid; grid-template-columns:180px minmax(0,1fr); gap:32px; }
  .terms-index { display:grid; align-content:start; position:sticky; top:24px; }
  .value-row input { font-size:12px !important; }
  body.session-anonymous .topbar { padding:16px 40px !important; background:#fff; }
}
.setup-guide-link { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 0; margin-bottom:16px; min-height:48px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-weight:600; color:#087361; }
.card-actions { display:flex; flex-wrap:wrap; gap:8px; }
@media(max-width:599px) {
  .app-card { grid-template-columns:minmax(0,1fr); gap:8px; }
  .app-card .platform-tags { grid-column:1; grid-row:auto; }
  .app-card .card-actions { grid-column:1; grid-row:auto; justify-content:flex-start; }
  .app-card .card-actions .primary-button { background:var(--accent-strong); color:white; padding:10px 16px; }
  .app-card-head h3 { font-size:14px !important; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
