@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{--hub-sticky-header: 4.5rem}.header{background:var(--surface-elevated);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-container{max-width:1100px;margin:0 auto;padding:.9rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.header-logo{display:flex;align-items:center;gap:.7rem;min-width:0}.header-logo img{width:36px;height:36px;flex-shrink:0}.header-brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.15}.header-brand-name{font-size:1.15rem;font-weight:800;letter-spacing:-.03em;color:var(--ink)}.header-brand-name span{color:var(--brand)}.header-brand-sub{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.header-user{display:flex;align-items:center;gap:.6rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.user-name{font-weight:600;color:var(--ink-muted);font-size:.9rem}.btn-profile-link{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .9rem;border-radius:.7rem;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);text-decoration:none;font-weight:700;font-size:.85rem;transition:background .2s,border-color .2s}.btn-profile-link:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));color:var(--brand)}.btn-profile-short{display:none}.btn-theme,.btn-logout{border:none;border-radius:.7rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,opacity .2s;font-size:.85rem;padding:.5rem .9rem}.btn-theme{background:var(--surface-soft);color:var(--ink);border:1px solid var(--line)}.btn-theme:hover{background:var(--surface)}.btn-logout{background:var(--ink);color:var(--surface-elevated)}.btn-logout:hover{opacity:.9}.btn-logout:disabled{opacity:.6;cursor:not-allowed}@media(max-width:900px){.header-container{padding:.8rem 1rem}.user-name{display:none}}@media(max-width:640px){:root{--hub-sticky-header: 5.25rem}.header-brand-sub{display:none}.header-brand-name{font-size:1.05rem}.header-user{gap:.4rem}.btn-profile-link,.btn-theme,.btn-logout{padding:.45rem .7rem;font-size:.8rem}.btn-profile-full{display:none}.btn-profile-short{display:inline}}@media(max-width:380px){:root{--hub-sticky-header: 5.75rem}.header-logo img{width:32px;height:32px}.btn-theme{padding:.45rem .55rem}}.hub-page-loader{min-height:calc(100vh - 72px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;background:radial-gradient(900px 360px at -5% -10%,rgba(255,90,0,.08),transparent 55%),var(--surface)}.hub-page-loader__spinner{width:3rem;height:3rem;border:3px solid color-mix(in srgb,var(--brand) 20%,transparent);border-top-color:var(--brand);border-radius:50%;animation:hub-page-spin .75s linear infinite}.hub-page-loader__text{color:var(--ink-muted);font-size:.95rem;font-weight:600}@keyframes hub-page-spin{to{transform:rotate(360deg)}}.app-card{background:var(--surface-elevated);border-radius:1.1rem;padding:1.35rem 1.25rem;border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease,background .15s ease;cursor:pointer;position:relative;display:flex;flex-direction:column;gap:.45rem;min-height:180px}.app-card:not(.locked):hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}.app-card.locked{opacity:.65;cursor:not-allowed}.app-card-icon{font-size:2rem;line-height:1}.app-card-title{font-size:1.15rem;font-weight:800;color:var(--ink);letter-spacing:-.02em}.app-card-description{color:var(--ink-muted);font-size:.92rem;line-height:1.4;flex:1}.app-card-locked{display:flex;align-items:center;gap:.45rem;padding:.55rem .7rem;background:color-mix(in srgb,#ef4444 12%,var(--surface-elevated));border-radius:.65rem;color:#b91c1c;font-weight:600;font-size:.85rem}html.dark .app-card-locked,html[data-theme=dark] .app-card-locked{color:#fecaca}.lock-icon{font-size:1rem}.app-card-action{color:var(--brand);font-weight:700;margin-top:.35rem;padding-top:.75rem;border-top:1px solid var(--line);font-size:.9rem}.app-card-chevron{display:none;color:var(--ink-muted);font-size:1.35rem;font-weight:500;line-height:1;flex-shrink:0;margin-left:auto}.app-card-menu{position:absolute;top:.65rem;right:.55rem;z-index:2}.app-card-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:.65rem;background:transparent;color:var(--ink-muted);font-size:1.25rem;line-height:1;cursor:pointer}.app-card-menu-trigger:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.app-card-menu-panel{position:absolute;top:calc(100% + .2rem);right:0;min-width:11.5rem;padding:.35rem;border-radius:.75rem;border:1px solid var(--line);background:var(--surface-elevated);box-shadow:var(--shadow)}.app-card-menu-item{display:block;width:100%;border:none;border-radius:.55rem;background:transparent;color:var(--ink);font:inherit;font-size:.9rem;font-weight:600;text-align:left;padding:.7rem .75rem;cursor:pointer}.app-card-menu-item:hover{background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand)}@media(max-width:900px){.app-card{min-height:0;flex-direction:row;align-items:center;gap:.85rem;padding:.85rem .95rem;border-radius:0;border-left:none;border-right:none;border-top:none;box-shadow:none;background:transparent}.app-card:not(.locked):hover,.app-card:not(.locked):active{transform:none;background:color-mix(in srgb,var(--ink) 5%,transparent);border-color:var(--line)}.app-card-icon{width:2.75rem;height:2.75rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:.85rem;background:color-mix(in srgb,var(--brand) 12%,var(--surface-elevated));border:1px solid color-mix(in srgb,var(--brand) 18%,var(--line));font-size:1.35rem}.app-card-title{font-size:1.02rem;margin:0}.app-card-description,.app-card-action{display:none}.app-card-chevron{display:block}.app-card-locked{margin-left:auto;padding:.35rem .55rem;font-size:.75rem}.app-card-menu{position:static;order:3;margin-left:.15rem}.app-card-menu-trigger{width:2rem;height:2rem}.app-card-menu-panel{right:0;left:auto}.app-card-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:.1rem}}@media(hover:none){.app-card:not(.locked):hover{transform:none}}.hub-refresh-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .95rem;border-radius:.75rem;border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink);font-weight:700;font-size:.9rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.hub-refresh-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--brand) 45%,var(--line));color:var(--brand);background:color-mix(in srgb,var(--brand) 8%,var(--surface-elevated))}.hub-refresh-btn:disabled{opacity:.7;cursor:wait}.hub-refresh-btn__icon{display:inline-flex;font-size:1.1rem;line-height:1}.hub-refresh-btn__icon.spinning{animation:hub-refresh-spin .75s linear infinite}@keyframes hub-refresh-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.hub-refresh-btn{width:100%;justify-content:center;padding:.55rem .85rem;font-size:.85rem}}.dashboard{min-height:calc(100vh - 72px);background:radial-gradient(900px 360px at -5% -10%,rgba(255,90,0,.08),transparent 55%),var(--surface);padding:2rem 0 3rem}.dashboard-container{max-width:1100px;margin:0 auto;padding:0 1.25rem}.dashboard-header{text-align:left;margin-bottom:1.75rem}.dashboard-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.dashboard-profile-link{display:inline-block;margin-top:.65rem;color:var(--brand);text-decoration:none;font-weight:700;font-size:.92rem}.dashboard-profile-link:hover{text-decoration:underline}.dashboard-header h1{font-size:1.9rem;color:var(--ink);margin-bottom:.35rem;letter-spacing:-.03em}.dashboard-header p{font-size:1rem;color:var(--ink-muted);max-width:36rem}.dashboard-loading{text-align:center;padding:4rem 0;font-size:1rem;color:var(--ink-muted);font-weight:600}.admin-banner{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.1rem;background:color-mix(in srgb,var(--brand) 12%,var(--surface-elevated));border:1px solid color-mix(in srgb,var(--brand) 25%,transparent);border-radius:.9rem;margin-bottom:1.5rem;font-weight:600;color:var(--ink);flex-wrap:wrap}.admin-link{color:var(--brand);text-decoration:none;font-weight:700;margin-left:auto}.admin-link:hover{text-decoration:underline}.apps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2.5rem}.no-apps{text-align:center;padding:3rem 1.5rem;background:var(--surface-elevated);border-radius:1rem;border:1px dashed var(--line);margin-bottom:2rem}.no-apps p{font-size:1rem;color:var(--ink-muted);margin-bottom:.4rem}.no-apps p:first-child{font-size:1.15rem;font-weight:700;color:var(--ink)}.dashboard-error{padding:.9rem 1rem;background:color-mix(in srgb,#f59e0b 18%,var(--surface-elevated));border:1px solid color-mix(in srgb,#f59e0b 40%,transparent);border-radius:.85rem;margin-bottom:1rem;text-align:center;color:#92400e;font-weight:600}html.dark .dashboard-error,html[data-theme=dark] .dashboard-error{color:#fde68a}.dashboard-footer{text-align:center;padding:1.5rem 0 0;color:var(--ink-muted);font-size:.9rem}.dashboard-footer a{color:var(--brand);text-decoration:none;font-weight:600}.dashboard-footer a:hover{text-decoration:underline}@media(max-width:900px){.dashboard{padding:1.25rem 0 2rem;padding-bottom:max(2rem,env(safe-area-inset-bottom))}.dashboard-container{padding:0 .85rem}.dashboard-header{margin-bottom:1.15rem;padding:0 .25rem}.dashboard-header h1{font-size:1.55rem}.dashboard-header p{font-size:.92rem}.apps-grid{display:flex;flex-direction:column;gap:0;margin-bottom:2rem;background:var(--surface-elevated);border:1px solid var(--line);border-radius:1rem;overflow:hidden}.apps-grid .app-card+.app-card{border-top:1px solid var(--line)}.admin-banner{margin-left:.15rem;margin-right:.15rem}}@media(max-width:640px){.dashboard{padding:1rem 0 1.75rem;padding-bottom:max(1.75rem,env(safe-area-inset-bottom))}.dashboard-header-row{flex-direction:column;align-items:stretch}.dashboard-header h1{font-size:1.4rem}.admin-banner{flex-direction:column;align-items:flex-start}.admin-link{margin-left:0}}@media(display-mode:standalone),(display-mode:window-controls-overlay){.dashboard{padding-top:max(1rem,env(safe-area-inset-top))}}.admin-panel{min-height:calc(100vh - 72px);background:radial-gradient(900px 360px at -5% -10%,rgba(255,90,0,.08),transparent 55%),var(--surface);padding:2rem 0 3rem}.admin-container{max-width:1400px;margin:0 auto;padding:0 1.25rem}.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.5rem;align-items:start}.admin-nav-toggle,.admin-nav-backdrop{display:none}.admin-nav{position:sticky;top:5.5rem;background:var(--surface-elevated);border:1px solid var(--line);border-radius:1rem;padding:1rem .75rem}.admin-nav-kicker{margin:0 .75rem .65rem;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.admin-nav-list{display:flex;flex-direction:column;gap:.25rem}.admin-nav-list button{appearance:none;border:none;background:transparent;text-align:left;min-height:2.75rem;padding:.65rem .85rem;border-radius:.75rem;color:var(--ink-muted);font-weight:700;font-size:.95rem;cursor:pointer}.admin-nav-list button:hover{color:var(--ink);background:color-mix(in srgb,var(--brand) 8%,transparent)}.admin-nav-list button.active{color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent)}.admin-main{min-width:0}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem;flex-wrap:wrap;gap:1rem}.admin-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.admin-header h1{font-size:1.9rem;color:var(--ink);margin-bottom:.25rem;letter-spacing:-.03em}.admin-header p{color:var(--ink-muted);font-size:1rem}.btn-back{padding:.55rem 1.15rem;background:var(--brand);color:#fff;text-decoration:none;border-radius:.75rem;font-weight:700;transition:background .2s}.btn-back:hover{background:var(--brand-hover)}.admin-tabs{display:flex;gap:.35rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line);padding-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.admin-tabs .tab{padding:.75rem 1.25rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--ink-muted);font-weight:700;font-size:.95rem;cursor:pointer;transition:color .2s,border-color .2s;margin-bottom:-1px;white-space:nowrap;flex-shrink:0}.admin-tabs .tab:hover{color:var(--brand);border-bottom-color:color-mix(in srgb,var(--brand) 45%,transparent)}.admin-tabs .tab.active{color:var(--brand);border-bottom-color:var(--brand)}.admin-loading,.no-users{text-align:center;padding:4rem 0;font-size:1rem;color:var(--ink-muted);font-weight:600}.admin-error{text-align:center;padding:3rem 1.5rem;background:color-mix(in srgb,#ef4444 12%,var(--surface-elevated));border:1px solid color-mix(in srgb,#ef4444 30%,transparent);border-radius:1rem;color:#991b1b}html.dark .admin-error,html[data-theme=dark] .admin-error{color:#fecaca}.admin-error p{margin-bottom:1.5rem;font-size:1.05rem}.users-table-container{background:var(--surface-elevated);border-radius:1rem;border:1px solid var(--line);box-shadow:none;overflow:hidden;overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:color-mix(in srgb,var(--surface) 88%,#ff5a00 4%)}.users-table th{padding:1rem;text-align:left;font-weight:700;color:var(--ink-muted);border-bottom:1px solid var(--line);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb,var(--surface) 88%,#ff5a00 4%)}.users-table td{padding:1rem;border-bottom:1px solid var(--line);color:var(--ink)}.users-table tbody tr:hover{background:color-mix(in srgb,var(--brand) 6%,var(--surface-elevated))}.users-table code{background:var(--surface-soft);padding:.25rem .5rem;border-radius:.35rem;font-family:ui-monospace,Cascadia Code,monospace;font-size:.8rem;color:var(--ink);border:1px solid var(--line)}.status{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:.5rem;font-size:.8rem;font-weight:700}.status.granted{background:color-mix(in srgb,#10b981 18%,var(--surface-elevated));color:#047857}.status.denied{background:color-mix(in srgb,#ef4444 16%,var(--surface-elevated));color:#b91c1c}.status.blocked{background:color-mix(in srgb,#f59e0b 18%,var(--surface-elevated));color:#92400e}.status.active{background:color-mix(in srgb,#3b82f6 16%,var(--surface-elevated));color:#1d4ed8}html.dark .status.granted,html[data-theme=dark] .status.granted{color:#6ee7b7}html.dark .status.denied,html[data-theme=dark] .status.denied{color:#fecaca}html.dark .status.blocked,html[data-theme=dark] .status.blocked{color:#fde68a}html.dark .status.active,html[data-theme=dark] .status.active{color:#93c5fd}.action-buttons{display:flex;gap:.45rem;flex-wrap:wrap}.btn-action{padding:.45rem .75rem;border:1px solid transparent;border-radius:.55rem;font-weight:600;cursor:pointer;transition:background .2s,opacity .2s;font-size:1.05rem;min-width:2.4rem}.btn-action.grant{background:var(--brand);color:#fff}.btn-action.grant:hover:not(:disabled){background:var(--brand-hover)}.btn-action.revoke{background:var(--ink);color:var(--surface-elevated)}.btn-action.revoke:hover:not(:disabled){opacity:.9}.btn-action.apps{background:color-mix(in srgb,#3b82f6 85%,var(--surface-elevated));color:#fff}.btn-action.apps:hover:not(:disabled){filter:brightness(1.05)}.btn-action.block{background:color-mix(in srgb,#ef4444 90%,black);color:#fff}.btn-action.block:hover:not(:disabled){filter:brightness(1.05)}.btn-action.unblock{background:color-mix(in srgb,#10b981 90%,black);color:#fff}.btn-action.unblock:hover:not(:disabled){filter:brightness(1.05)}.btn-action.delete{background:color-mix(in srgb,#7f1d1d 92%,black);color:#fff}.btn-action.delete:hover:not(:disabled){filter:brightness(1.08)}.btn-action:disabled{opacity:.45;cursor:not-allowed}.blocked-user{opacity:.7;background:color-mix(in srgb,#f59e0b 8%,var(--surface-elevated))}.modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-content{background:var(--surface-elevated);border-radius:1rem;width:100%;max-width:600px;max-height:min(90vh,90dvh);overflow-y:auto;box-shadow:var(--shadow);border:1px solid var(--line);margin:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface-elevated);z-index:1}.modal-header h2{margin:0;font-size:1.35rem;color:var(--ink);letter-spacing:-.02em}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink-muted);padding:.25rem;line-height:1;transition:color .2s}.modal-close:hover{color:var(--ink)}.modal-body{padding:1.5rem}.user-info{background:var(--surface-soft);padding:1rem;border-radius:.75rem;margin-bottom:1.5rem;border:1px solid var(--line)}.user-info p{margin:.25rem 0;color:var(--ink)}.apps-list{display:flex;flex-direction:column;gap:.85rem}.app-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:.75rem;gap:1rem;transition:border-color .2s;background:var(--surface-elevated)}.app-item:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}.app-info{flex:1}.app-info h3{margin:0 0 .25rem;font-size:1rem;color:var(--ink)}.app-info p{margin:0;font-size:.875rem;color:var(--ink-muted)}.btn-toggle{padding:.5rem 1rem;border:1px solid transparent;border-radius:.55rem;font-weight:700;cursor:pointer;transition:background .2s;white-space:nowrap;font-size:.85rem}.btn-toggle.active{background:color-mix(in srgb,#10b981 18%,var(--surface-elevated));color:#047857;border-color:color-mix(in srgb,#10b981 30%,transparent)}.btn-toggle.active:hover{filter:brightness(1.05)}.btn-toggle.inactive{background:color-mix(in srgb,#ef4444 14%,var(--surface-elevated));color:#b91c1c;border-color:color-mix(in srgb,#ef4444 28%,transparent)}.btn-toggle.inactive:hover{filter:brightness(1.05)}html.dark .btn-toggle.active,html[data-theme=dark] .btn-toggle.active{color:#6ee7b7}html.dark .btn-toggle.inactive,html[data-theme=dark] .btn-toggle.inactive{color:#fecaca}.confirm-modal{max-width:450px}.confirm-message{margin:0 0 1.5rem;color:var(--ink);font-size:1rem;line-height:1.5}.confirm-password-field{display:flex;flex-direction:column;gap:.4rem;margin:0 0 1rem;font-size:.875rem;font-weight:600;color:var(--ink)}.confirm-password-field input{width:100%;box-sizing:border-box;padding:.65rem .75rem;border:1px solid var(--line);border-radius:.65rem;background:var(--surface);color:var(--ink);font-size:1rem;font-weight:400}.confirm-password-field input:focus{outline:2px solid var(--brand);outline-offset:1px}.confirm-error{margin:0 0 1rem;color:#b91c1c;font-size:.875rem}.confirm-buttons{display:flex;gap:.75rem;justify-content:flex-end}.btn-cancel:disabled,.btn-confirm:disabled{opacity:.65;cursor:not-allowed}.btn-cancel{padding:.625rem 1.25rem;background:var(--surface-soft);color:var(--ink);border:1px solid var(--line);border-radius:.65rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-cancel:hover{background:var(--surface)}.btn-confirm{padding:.625rem 1.25rem;background:var(--brand);color:#fff;border:none;border-radius:.65rem;font-weight:700;cursor:pointer;transition:background .2s}.btn-confirm:hover{background:var(--brand-hover)}.admin-muted{font-size:.875rem;color:var(--ink-muted)}.admin-search{margin-bottom:1rem}.admin-search-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.admin-form-stack{display:flex;flex-direction:column;gap:.95rem}.admin-form-field label,.admin-form-label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--ink)}.admin-form-input,.admin-form-textarea{width:100%;padding:.7rem .85rem;border-radius:.7rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:.9rem;font-family:inherit;outline:none}.admin-form-input:focus,.admin-form-textarea:focus{border-color:color-mix(in srgb,var(--brand) 55%,var(--line));outline:2px solid color-mix(in srgb,var(--brand) 28%,transparent)}.admin-form-input:disabled{background:var(--surface-soft);opacity:.8}.admin-form-hint{color:var(--ink-muted);font-size:.75rem;display:block;margin-top:.35rem}.emoji-picker-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.emoji-preview{font-size:2.75rem;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--surface-soft);border-radius:.85rem;border:2px solid var(--line);flex-shrink:0}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:.5rem;padding:.75rem;background:var(--surface-soft);border-radius:.75rem;border:1px solid var(--line);max-height:200px;overflow-y:auto}.emoji-btn{font-size:1.6rem;width:50px;height:50px;border:2px solid var(--line);background:var(--surface-elevated);border-radius:.55rem;cursor:pointer;transition:transform .15s,border-color .15s,background .15s;display:flex;align-items:center;justify-content:center}.emoji-btn:hover{transform:scale(1.08);background:var(--surface)}.emoji-btn.selected{border-color:var(--brand);border-width:3px;background:color-mix(in srgb,var(--brand) 12%,var(--surface-elevated))}.admin-form-actions{display:flex;gap:.65rem;justify-content:flex-end;margin-top:.5rem}.btn-save-app{padding:.65rem 1.25rem;background:color-mix(in srgb,#10b981 90%,black);color:#fff;border:none;border-radius:.65rem;cursor:pointer;font-weight:700}.btn-save-app:disabled{opacity:.55;cursor:not-allowed}@media(max-width:980px){.admin-shell{display:block}.admin-nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;margin-bottom:.85rem;padding:.55rem 1rem;border-radius:.75rem;border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink);font-weight:700;width:100%}.admin-nav-backdrop{display:block;position:fixed;inset:0;top:var(--hub-sticky-header, 4.75rem);z-index:80;border:none;background:#0f0f0f73}.admin-nav{position:fixed;z-index:90;top:var(--hub-sticky-header, 4.75rem);left:0;bottom:0;width:min(18rem,86vw);border-radius:0 1rem 1rem 0;transform:translate(-105%);transition:transform .2s ease;padding-top:1rem;overflow-y:auto}.admin-nav.open{transform:translate(0)}.admin-panel{padding:1.5rem 0 2.25rem}.admin-container{padding:0 1rem}.admin-header-actions{width:100%}.admin-search-meta{flex-direction:column;align-items:stretch;gap:.65rem}.admin-search-meta .btn-save-app,.admin-search-meta .admin-action-btn{width:100%;text-align:center;justify-content:center}.users-table-container{background:transparent;border:none;box-shadow:none;overflow:visible}.users-table,.users-table tbody{display:block;width:100%}.users-table thead{display:none}.users-table tbody{display:flex;flex-direction:column;gap:.85rem}.users-table tbody tr{display:block;width:100%;background:var(--surface-elevated);border:1px solid var(--line);border-radius:1rem;padding:1rem 1.05rem}.users-table tbody tr.blocked-user{opacity:1;background:color-mix(in srgb,#f59e0b 10%,var(--surface-elevated))}.users-table tbody tr:hover{background:var(--surface-elevated)}.users-table tbody tr.blocked-user:hover{background:color-mix(in srgb,#f59e0b 10%,var(--surface-elevated))}.users-table td{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;width:100%;border:none;padding:.5rem 0;font-size:.9rem}.users-table td:before{content:attr(data-label);flex:0 0 auto;min-width:5.5rem;max-width:38%;color:var(--ink-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.35;padding-top:.2rem}.users-table td>*{min-width:0;text-align:right}.users-table td.admin-card-title{display:block;padding:0 0 .85rem;margin-bottom:.25rem;border-bottom:1px solid var(--line)}.users-table td.admin-card-title:before{display:none}.users-table td.admin-card-title>*{text-align:left}.users-table td.admin-card-actions{display:block;padding:.9rem 0 0;margin-top:.35rem;border-top:1px solid var(--line)}.users-table td.admin-card-actions:before{display:block;margin-bottom:.55rem;max-width:none}.users-table td.admin-card-actions>*{text-align:left}.admin-user-cell{min-width:0}.admin-user-cell strong,.admin-user-cell span{word-break:break-word}.admin-apps-cell{max-width:none;display:block;text-align:right;word-break:break-word}.admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;max-width:none;width:100%}.admin-action-btn{width:100%;min-height:2.5rem;padding:.55rem .5rem;font-size:.78rem;text-align:center;justify-content:center}.users-table td:not(.admin-card-actions) .admin-action-btn{width:auto;min-height:2.25rem}.admin-action-btn.danger{grid-column:1 / -1}}@media(max-width:768px){.admin-panel{padding:1.1rem 0 2rem}.admin-header{flex-direction:column;align-items:stretch}.admin-header h1{font-size:1.5rem}.admin-header-actions{flex-direction:column;align-items:stretch}.admin-header-actions .btn-back,.admin-header-actions button{width:100%;text-align:center;justify-content:center}.admin-tabs .tab{padding:.65rem .95rem;font-size:.88rem}.modal-header{padding:1rem 1.1rem}.modal-header h2{font-size:1.15rem}.modal-body{padding:1.1rem}.app-item{flex-direction:column;align-items:stretch}.btn-toggle{width:100%;text-align:center}.emoji-picker-row{flex-direction:column;align-items:stretch}.emoji-preview{width:100%;height:64px}.admin-form-actions{flex-direction:column-reverse}.admin-form-actions button{width:100%}.confirm-buttons{flex-direction:column-reverse}.btn-cancel,.btn-confirm{width:100%}.admin-legal-cpf-row{flex-direction:column;align-items:stretch}.admin-legal-card{flex-direction:column}}@media(max-width:480px){.admin-container{padding:0 .75rem}.users-table tbody tr{padding:.9rem .85rem}.users-table td:before{min-width:4.75rem}.admin-actions{grid-template-columns:1fr}.admin-action-btn.danger{grid-column:auto}.modal-overlay{padding:.5rem;align-items:flex-end}.modal-content{max-height:min(94vh,94dvh);border-radius:1rem 1rem .65rem .65rem}.confirm-modal{max-width:100%}}.admin-user-cell{display:flex;flex-direction:column;gap:.15rem;min-width:160px}.admin-user-cell strong{color:var(--ink);font-size:.92rem}.admin-user-cell span{color:var(--ink-muted);font-size:.8rem}.admin-app-emoji{margin-right:.25rem}.admin-apps-cell{font-size:.82rem;color:var(--ink-muted);max-width:180px;display:inline-block}.admin-pill{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--ink-muted)}.admin-pill.orange{color:#c2410c;background:#ff5a001a;border-color:#ff5a0040}.admin-pill.ok{color:#15803d;background:#16a34a1a;border-color:#16a34a38}.admin-pill.danger{color:#b91c1c;background:#ef44441a;border-color:#ef444438}.admin-pill.muted{color:var(--ink-muted)}.admin-actions{display:flex;flex-wrap:wrap;gap:.35rem;max-width:280px}.admin-action-btn{border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink);border-radius:.65rem;padding:.35rem .65rem;font-size:.75rem;font-weight:700;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.admin-action-btn:hover:not(:disabled){border-color:#ff5a0073;color:#c2410c}.admin-action-btn:disabled{opacity:.45;cursor:not-allowed}.admin-action-btn.danger{color:#b91c1c}.admin-action-btn.danger:hover:not(:disabled){border-color:#b91c1c66;background:#ef44440f}.admin-legal-modal{max-width:720px;width:min(720px,100%)}.admin-legal-subtitle{margin:.25rem 0 0;color:var(--ink-muted);font-size:.875rem;font-weight:500}.admin-legal-section{margin-bottom:1.25rem}.admin-legal-section h3{margin:0 0 .65rem;font-size:.95rem;color:var(--ink)}.admin-legal-cpf-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.admin-legal-cpf-row code{font-size:.95rem;padding:.45rem .7rem;border-radius:.65rem;background:var(--surface);border:1px solid var(--line)}.admin-legal-list{display:flex;flex-direction:column;gap:.75rem}.admin-legal-card{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.9rem;background:var(--surface)}.admin-legal-card-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.admin-legal-card-main strong{color:var(--ink);font-size:.9rem}.admin-legal-card-main span{color:var(--ink-muted);font-size:.8rem}.admin-muted{color:var(--ink-muted);font-size:.875rem}.platform-tab{display:flex;flex-direction:column;gap:1.75rem}.platform-toolbar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-end}.platform-kicker,.platform-meta{margin:0;color:var(--ink-muted);font-size:.9rem}.platform-toolbar-actions{display:flex;gap:.75rem;flex-wrap:wrap}.platform-section h2{margin:0 0 .85rem;font-size:1.15rem}.platform-section h3{margin:1.25rem 0 .5rem;font-size:.95rem;color:var(--ink-muted)}.platform-section-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;flex-wrap:wrap}.platform-ext{font-size:.85rem;font-weight:700}.platform-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem}.platform-card{border:1px solid var(--line);border-radius:1rem;padding:1rem;background:var(--surface-elevated, #fff)}.platform-card-top{display:flex;gap:.75rem;align-items:flex-start}.platform-dot{width:12px;height:12px;border-radius:99px;margin-top:.35rem;background:#d6d3d1}.platform-card.status-up .platform-dot{background:#16a34a}.platform-card.status-down .platform-dot{background:#e11d48}.platform-card.status-skipped .platform-dot{background:#a8a29e}.platform-card.status-down{border-color:#fecdd3;background:#fff7f8}.platform-id{display:block;font-size:.75rem;color:var(--ink-muted)}.platform-dl{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.85rem 0 0}.platform-dl dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.platform-dl dd{margin:.1rem 0 0;font-weight:700;font-size:.9rem}.platform-error{margin:.75rem 0 0;font-size:.8rem;color:#be123c}.platform-card-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.85rem;font-size:.8rem;font-weight:700}.platform-cost-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;margin-bottom:1rem}.platform-cost-summary div{border:1px solid var(--line);border-radius:1rem;padding:1rem}.platform-cost-summary span,.platform-cost-summary small{display:block;color:var(--ink-muted);font-size:.8rem}.platform-cost-summary strong{display:block;font-size:1.35rem;margin:.25rem 0}.platform-empty{color:var(--ink-muted)}.admin-inline-error{padding:.75rem 1rem;border-radius:.75rem;background:#fff1f2;color:#9f1239;font-size:.9rem}.tickets-table td{vertical-align:top}.tickets-meta{font-size:.8rem;color:var(--ink-muted);line-height:1.3}.tickets-user{font-weight:600}.tickets-message-cell{max-width:260px}.tickets-message{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;line-height:1.35;word-break:break-word}.tickets-actions{display:flex;flex-direction:column;align-items:stretch;gap:.4rem;min-width:140px;max-width:180px}.tickets-attach-btn{align-self:flex-start;font-size:.8rem;padding:.35rem .65rem}.tickets-note-input{font-size:.85rem;padding:.4rem .55rem}.tickets-note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}:root{--brand: #ff5a00;--brand-hover: #e04f00;--ink: #1e1f23;--ink-muted: #6b6e76;--surface: #f7f7f8;--surface-elevated: #ffffff;--surface-soft: #f0f0f2;--line: rgba(30, 31, 35, .1);--shadow: 0 10px 28px -16px rgba(30, 31, 35, .18)}html.dark,html[data-theme=dark]{--brand: #ff7a33;--brand-hover: #ff5a00;--ink: #f4f4f5;--ink-muted: #a1a1aa;--surface: #141518;--surface-elevated: #1e1f23;--surface-soft: #282a30;--line: rgba(244, 244, 245, .1);--shadow: 0 12px 28px -14px rgba(0, 0, 0, .55)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Manrope,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--surface);color:var(--ink)}body:not(.hub-auth-form) .grecaptcha-badge,body:not(.hub-auth-form) iframe[src*=recaptcha]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;overflow:hidden!important}.login-page{min-height:100vh;min-height:100dvh;display:flex;justify-content:center;align-items:center;background:radial-gradient(900px 380px at 0% 0%,rgba(255,90,0,.14),transparent 55%),radial-gradient(700px 320px at 100% 100%,rgba(30,31,35,.08),transparent 50%),var(--surface);padding:max(1.25rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}html.dark .login-page,html[data-theme=dark] .login-page{background:radial-gradient(900px 380px at 0% 0%,rgba(255,90,0,.2),transparent 55%),radial-gradient(700px 320px at 100% 100%,rgba(30,31,35,.35),transparent 50%),linear-gradient(145deg,#1e1f23,#2a1a12)}.login-container{background:var(--surface-elevated);padding:2.5rem 2rem;border-radius:1.25rem;box-shadow:var(--shadow);text-align:center;max-width:420px;width:100%;border:1px solid var(--line)}.login-logo{width:72px;height:72px;margin-bottom:1.25rem}.login-container h1{font-size:1.75rem;color:var(--ink);margin-bottom:.4rem;letter-spacing:-.03em}.login-container p{color:var(--ink-muted);margin-bottom:1.75rem;font-size:1rem}.btn-login-large{width:100%;padding:.95rem 1.5rem;background:var(--brand);color:#fff;border:none;border-radius:.85rem;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s;margin-bottom:1.25rem}.btn-login-large:hover{background:var(--brand-hover)}.btn-login-large:disabled{opacity:.65;cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:.5rem}.link-back{color:var(--brand);text-decoration:none;font-weight:600;display:inline-block}.link-back:hover{text-decoration:underline}.page-loader{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;background:radial-gradient(800px 320px at 0% 0%,rgba(255,90,0,.1),transparent 55%),var(--surface)}.page-loader__spinner{width:3rem;height:3rem;border:3px solid color-mix(in srgb,var(--brand) 20%,transparent);border-top-color:var(--brand);border-radius:50%;animation:spin .75s linear infinite}.page-loader__text{color:var(--ink-muted);font-size:.9rem;font-weight:600}.login-theme-toggle{position:fixed;top:1rem;right:1rem;z-index:20;background:var(--surface-elevated);color:var(--ink);border:1px solid var(--line);border-radius:.7rem;font-weight:600;cursor:pointer;font-size:.85rem;padding:.5rem .9rem}.login-theme-toggle:hover{background:var(--surface-soft)}.auth-form{width:100%;text-align:left}.auth-field{margin-bottom:1rem}.auth-field label{display:block;margin-bottom:.45rem;font-weight:600;color:var(--ink);font-size:.9rem}.auth-input{width:100%;padding:.75rem .85rem;border:1px solid var(--line);border-radius:.7rem;font-size:1rem;background:var(--surface);color:var(--ink);font-family:inherit}.auth-input:focus{outline:2px solid color-mix(in srgb,var(--brand) 35%,transparent);border-color:color-mix(in srgb,var(--brand) 50%,var(--line))}.auth-input:disabled{opacity:.65}.auth-input-wrap{position:relative}.auth-input-wrap .auth-input{padding-right:3rem}.auth-eye{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.15rem;padding:.25rem;opacity:.65;color:var(--ink)}.auth-eye:hover{opacity:1}.auth-error{padding:.75rem;margin-bottom:1rem;background:color-mix(in srgb,#ef4444 14%,var(--surface-elevated));color:#991b1b;border:1px solid color-mix(in srgb,#ef4444 28%,transparent);border-radius:.65rem;font-size:.875rem;font-weight:600}html.dark .auth-error,html[data-theme=dark] .auth-error{color:#fecaca}.auth-success{padding:.75rem;margin-bottom:1rem;background:color-mix(in srgb,#10b981 14%,var(--surface-elevated));color:#047857;border:1px solid color-mix(in srgb,#10b981 28%,transparent);border-radius:.65rem;font-size:.875rem;font-weight:600}html.dark .auth-success,html[data-theme=dark] .auth-success{color:#6ee7b7}.google-signin{position:relative;width:100%;height:3.05rem;margin-bottom:1rem;isolation:isolate;background:var(--surface-elevated);border-radius:.85rem}.google-signin__face{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;gap:.7rem;border-radius:.85rem;border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink);font-size:1rem;font-weight:700;letter-spacing:-.01em;pointer-events:none;box-shadow:0 1px #0000000a}html.dark .google-signin__face,html[data-theme=dark] .google-signin__face{background:color-mix(in srgb,var(--surface-elevated) 88%,#fff 12%);border-color:color-mix(in srgb,var(--line) 70%,#fff 30%)}.google-signin__mark{width:1.15rem;height:1.15rem;flex:0 0 auto}.google-signin__gsi{position:absolute;inset:0;z-index:1;opacity:.02;overflow:hidden;border-radius:.85rem;cursor:pointer}.google-signin__gsi>div{width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.google-signin__gsi iframe{min-width:100%!important;min-height:100%!important;width:100%!important;height:100%!important;cursor:pointer!important}.auth-divider{margin:.5rem 0 1rem;color:var(--ink-muted);display:flex;align-items:center;gap:1rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.auth-muted{color:var(--ink-muted)}.auth-link{color:var(--brand);text-decoration:none;font-weight:600}.auth-link:hover{text-decoration:underline}.auth-code-row{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.auth-code-input{width:48px;height:56px;text-align:center;font-size:1.5rem;font-weight:800;border:2px solid var(--line);border-radius:.7rem;outline:none;background:var(--surface);color:var(--ink);transition:border-color .2s}.auth-code-input.filled{border-color:var(--brand)}.auth-code-input:focus{border-color:var(--brand)}.btn-ghost-link{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:.75rem;margin-bottom:.5rem;background:transparent;border:none;color:var(--ink-muted);font-size:.9rem;font-weight:600;cursor:pointer;padding:.65rem}.btn-ghost-link:hover:not(:disabled){color:var(--ink)}.btn-ghost-link:disabled{color:var(--ink-muted);opacity:.6;cursor:not-allowed}.resume-profile{display:flex;align-items:center;gap:.85rem;text-align:left;padding:.85rem 1rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);margin:0 0 1.25rem}.resume-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.resume-avatar--fallback{display:grid;place-items:center;background:#ff5a001f;color:#ff5a00;font-weight:700;font-size:1.1rem}.resume-profile-text{display:flex;flex-direction:column;min-width:0;gap:.15rem}.resume-profile-text strong{color:var(--ink);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-profile-text span{color:var(--ink-muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legal-accept-card{max-width:720px!important;text-align:left;margin:1.5rem auto}.legal-tabs{display:flex;gap:.5rem;margin:1rem 0}.legal-tabs button{flex:1;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:.75rem;padding:.55rem .75rem;font-weight:600;cursor:pointer}.legal-tabs button.active{border-color:#ff5a00;color:#ff5a00;background:#ff5a0014}.legal-doc-scroll{max-height:42vh;overflow:auto;border:1px solid var(--line);border-radius:.85rem;padding:.85rem 1rem;background:var(--surface);margin-bottom:1rem}.legal-doc-meta{font-size:.8rem;color:var(--ink-muted);margin:0 0 .75rem}.legal-markdown{font-family:inherit;font-size:.9rem;line-height:1.55;color:var(--ink);text-align:left}.legal-markdown>*:first-child{margin-top:0}.legal-markdown h1{font-size:1.2rem;font-weight:700;line-height:1.3;margin:0 0 .65rem}.legal-markdown h2{font-size:1.05rem;font-weight:700;margin:1.25rem 0 .5rem}.legal-markdown h3{font-size:.95rem;font-weight:700;margin:1rem 0 .4rem}.legal-markdown p{margin:0 0 .75rem}.legal-markdown ul,.legal-markdown ol{margin:0 0 .75rem;padding-left:1.25rem}.legal-markdown li{margin:.25rem 0}.legal-markdown strong{font-weight:700}.legal-markdown a{color:#ff5a00;text-decoration:underline}.legal-markdown hr{border:none;border-top:1px solid var(--line);margin:1rem 0}.legal-check{display:flex;align-items:flex-start;gap:.65rem;text-align:left;font-size:.9rem;margin:.65rem 0;color:var(--ink);cursor:pointer}.legal-check input{margin-top:.2rem}.legal-inline-link{background:none;border:none;padding:0;font:inherit;cursor:pointer}.legal-preview-overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));background:#1412108c;overflow-y:auto;-webkit-overflow-scrolling:touch}.legal-preview-modal{width:min(720px,100%);max-height:min(85vh,85dvh,900px);overflow:hidden;display:flex;flex-direction:column;gap:.75rem;background:var(--surface-elevated);border:1px solid var(--line);border-radius:1.1rem;box-shadow:var(--shadow);padding:1.1rem 1.15rem 1.25rem;text-align:left;margin:auto}.legal-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.legal-preview-header h2{margin:0;font-size:1.05rem}.legal-preview-body{overflow:auto;max-height:55vh;border:1px solid var(--line);border-radius:.85rem;padding:.85rem 1rem;background:var(--surface)}@media(max-width:900px){.login-page{align-items:flex-start;padding-top:max(3.25rem,calc(env(safe-area-inset-top) + 2.75rem))}.login-container{max-width:460px}}@media(max-width:640px){.login-container{padding:1.65rem 1.15rem 1.5rem;border-radius:1rem}.login-container h1{font-size:1.4rem}.login-logo{width:60px;height:60px;margin-bottom:1rem}.login-theme-toggle{top:max(.65rem,env(safe-area-inset-top));right:max(.65rem,env(safe-area-inset-right));padding:.45rem .7rem;font-size:.8rem}.auth-code-row{gap:.35rem;flex-wrap:nowrap}.auth-code-input{width:clamp(2.35rem,11vw,2.85rem);height:clamp(2.75rem,12vw,3.25rem);font-size:1.25rem;border-radius:.55rem}.legal-preview-modal{max-height:min(92vh,92dvh);padding:.95rem .9rem 1.1rem;border-radius:1rem}.legal-preview-header h2{font-size:.98rem}.legal-preview-body{max-height:min(62vh,62dvh);padding:.75rem .85rem}}@media(max-width:380px){.login-container{padding:1.35rem .9rem 1.25rem}.auth-code-input{width:2.2rem;height:2.6rem;font-size:1.1rem}}.profile-page{min-height:calc(100vh - 72px);background:radial-gradient(900px 360px at -5% -10%,rgba(255,90,0,.08),transparent 55%),var(--surface);padding:2rem 0 3rem}.profile-container{max-width:720px;margin:0 auto;padding:0 1.25rem}.profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.profile-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.profile-header h1{font-size:1.9rem;color:var(--ink);margin:.35rem 0;letter-spacing:-.03em}.profile-header p{color:var(--ink-muted);margin:0}.profile-back{color:var(--brand);text-decoration:none;font-weight:600;font-size:.9rem}.profile-back:hover{text-decoration:underline}.profile-loading{text-align:center;padding:4rem 0;color:var(--ink-muted);font-weight:600}.profile-card{background:var(--surface-elevated);border:1px solid var(--line);border-radius:1rem;padding:1.5rem;margin-bottom:1rem}.profile-avatar{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}.profile-avatar img{width:64px;height:64px;border-radius:16px}.profile-avatar strong{display:block;color:var(--ink);font-size:1.1rem}.profile-avatar span{color:var(--ink-muted);font-size:.95rem}.profile-details{margin:0}.profile-detail-row{display:grid;grid-template-columns:140px 1fr;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.profile-detail-row:last-child{border-bottom:none}.profile-detail-row dt{color:var(--ink-muted);font-size:.9rem;font-weight:600}.profile-detail-row dd{margin:0;color:var(--ink);font-weight:500}.profile-badge{display:inline-block;padding:.2rem .65rem;border-radius:999px;font-size:.8rem;font-weight:700}.profile-badge.verified{background:color-mix(in srgb,#10b981 18%,var(--surface-elevated));color:#047857}.profile-badge.pending{background:color-mix(in srgb,#f59e0b 18%,var(--surface-elevated));color:#92400e}.profile-badge.admin{background:color-mix(in srgb,var(--brand) 18%,var(--surface-elevated));color:var(--brand)}html.dark .profile-badge.verified,html[data-theme=dark] .profile-badge.verified{color:#6ee7b7}html.dark .profile-badge.pending,html[data-theme=dark] .profile-badge.pending{color:#fde68a}.profile-form{display:flex;flex-direction:column;gap:1rem}.profile-field label{display:block;margin-bottom:.4rem;font-weight:600;color:var(--ink);font-size:.9rem}.profile-input{width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:.75rem;background:var(--surface-soft);color:var(--ink);font:inherit}textarea.profile-input{resize:vertical;min-height:6rem}.profile-danger-zone h2{color:#b42318}.profile-input:focus{outline:2px solid color-mix(in srgb,var(--brand) 35%,transparent);border-color:var(--brand)}.profile-input-readonly{opacity:.75;cursor:not-allowed}.profile-hint{display:block;margin-top:.35rem;font-size:.8rem;color:var(--ink-muted)}.profile-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.btn-profile-edit,.btn-profile-save,.btn-profile-cancel{border:none;border-radius:.75rem;padding:.7rem 1rem;font:inherit;font-weight:700;cursor:pointer}.btn-profile-edit,.btn-profile-save{background:var(--brand);color:#fff}.btn-profile-edit:hover,.btn-profile-save:hover{background:var(--brand-hover)}.btn-profile-cancel{background:var(--surface-soft);color:var(--ink);border:1px solid var(--line)}.btn-profile-save:disabled,.btn-profile-cancel:disabled,.btn-profile-edit:disabled{opacity:.65;cursor:not-allowed}.profile-message{padding:.85rem 1rem;border-radius:.75rem;margin-bottom:1rem;font-weight:600}.profile-error{background:color-mix(in srgb,#ef4444 14%,var(--surface-elevated));color:#b91c1c;border:1px solid color-mix(in srgb,#ef4444 30%,transparent)}.profile-success{background:color-mix(in srgb,#10b981 14%,var(--surface-elevated));color:#047857;border:1px solid color-mix(in srgb,#10b981 30%,transparent)}html.dark .profile-error,html[data-theme=dark] .profile-error{color:#fca5a5}html.dark .profile-success,html[data-theme=dark] .profile-success{color:#6ee7b7}.profile-security h2{margin:0 0 .5rem;font-size:1.1rem;color:var(--ink)}.profile-security p{margin:0 0 .75rem;color:var(--ink-muted)}.profile-link{color:var(--brand);font-weight:700;text-decoration:none}.profile-link:hover{text-decoration:underline}.profile-muted{color:var(--ink-muted);font-size:.9rem}.profile-sessions{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.profile-session-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem 0;border-top:1px solid var(--line)}.profile-session-row strong{display:block;color:var(--ink);font-size:.92rem}.profile-session-row span{display:block;color:var(--ink-muted);font-size:.8rem;margin-top:.15rem}.profile-session-ua{word-break:break-word}@media(max-width:900px){.profile-page{padding:1.5rem 0 2.25rem}.profile-container{padding:0 1rem}}@media(max-width:640px){.profile-page{padding:1.1rem 0 2rem}.profile-container{padding:0 .85rem}.profile-header{flex-direction:column;align-items:stretch}.profile-header h1{font-size:1.5rem}.profile-header-actions{width:100%}.profile-header-actions>*{flex:1;text-align:center;justify-content:center}.profile-card{padding:1.15rem;border-radius:.9rem}.profile-avatar{flex-direction:column;align-items:flex-start;text-align:left}.profile-detail-row{grid-template-columns:1fr;gap:.25rem}}.app-shell{--shell-bar: #111113;--shell-fg: #f4f4f5;--shell-muted: #a1a1aa;--shell-accent: #ff5a00;--shell-danger: #fca5a5;display:flex;flex-direction:column;height:100dvh;max-height:100dvh;background:#0a0a0b;color:var(--shell-fg)}.app-shell__bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;padding:.55rem .65rem;padding-top:max(.55rem,env(safe-area-inset-top));background:var(--shell-bar);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.app-shell__back,.app-shell__reload,.app-shell__retry{appearance:none;border:none;background:#ffffff14;color:var(--shell-fg);font:inherit;font-size:.9rem;font-weight:600;padding:.45rem .7rem;border-radius:.5rem;cursor:pointer}.app-shell__back:active,.app-shell__reload:active,.app-shell__retry:active{background:#ff5a0040}.app-shell__reload:disabled{opacity:.4;cursor:default}.app-shell__title{margin:0;font-size:.95rem;font-weight:650;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell__stage{position:relative;flex:1;min-height:0;background:#fff}.app-shell__frame{display:block;width:100%;height:100%;border:0;background:#fff}.app-shell__status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;text-align:center;background:#f7f7f8;color:#18181b;font-size:.95rem}.app-shell__status--error{color:#7f1d1d}.app-shell__status--error p{margin:0;max-width:22rem}.app-shell__link{color:var(--shell-accent);font-weight:600;text-decoration:none}
