:root{color:oklch(98.5% 0 0);font-synthesis:none;text-rendering:optimizelegibility;--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0/.92);--card-foreground:oklch(98.5% 0 0);--primary:oklch(68.5% .169 237.323);--primary-hover:oklch(73.5% .15 237.323);--primary-foreground:oklch(16% .035 240);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.12);--input:oklch(100% 0 0/.15);--ring:oklch(68.5% .169 237.323);--success:oklch(72% .17 155);--radius:.75rem;background:oklch(14.5% 0 0);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.auth-page{isolation:isolate;background:radial-gradient(circle at 50% -15%, oklch(32% .08 238/.55), transparent 43%), linear-gradient(180deg, oklch(18% .012 270), var(--background) 55%);place-items:center;min-height:100svh;padding:2rem 1rem;display:grid;position:relative;overflow:hidden}.auth-page:before{z-index:-2;content:"";background-image:linear-gradient(oklch(100% 0 0/.03) 1px,#0000 1px),linear-gradient(90deg,oklch(100% 0 0/.03) 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.ambient{z-index:-1;filter:blur(100px);opacity:.16;pointer-events:none;border-radius:999px;width:20rem;height:20rem;position:absolute}.ambient-one{background:oklch(72% .16 220);top:-10rem;left:-7rem}.ambient-two{background:oklch(64% .2 300);bottom:-12rem;right:-8rem}.auth-shell{flex-direction:column;gap:1.25rem;width:min(100%,27rem);display:flex}.brand{color:var(--foreground);letter-spacing:-.01em;align-self:center;align-items:center;gap:.6rem;font-size:.95rem;font-weight:700;display:flex}.brand-mark{background:var(--primary);width:1.75rem;height:1.75rem;color:var(--primary-foreground);border-radius:.55rem;place-items:center;font-size:.82rem;display:grid;box-shadow:0 10px 30px oklch(68.5% .169 237.323/.3)}.card{border:1px solid var(--border);border-radius:calc(var(--radius) * 1.35);background:var(--card);color:var(--card-foreground);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);padding:1.5rem;box-shadow:0 28px 80px oklch(0% 0 0/.42)}.card-header{text-align:center;margin-bottom:1.4rem}.eyebrow{color:oklch(84% .09 237);letter-spacing:.08em;text-transform:uppercase;background:oklch(68.5% .169 237.323/.1);border:1px solid oklch(68.5% .169 237.323/.3);border-radius:999px;margin-bottom:.7rem;padding:.3rem .6rem;font-size:.7rem;font-weight:600;display:inline-flex}h1{letter-spacing:-.035em;margin:0;font-size:clamp(1.55rem,6vw,1.9rem);line-height:1.15}.card-header p{max-width:23rem;color:var(--muted-foreground);margin:.65rem auto 0;font-size:.9rem;line-height:1.55}.invite-summary{border:1px solid var(--border);border-radius:var(--radius);background:oklch(16% .006 270/.55);gap:.65rem;margin-bottom:1.15rem;padding:.85rem;display:grid}.invite-summary div{justify-content:space-between;gap:1rem;font-size:.78rem;display:flex}.invite-summary span{color:var(--muted-foreground)}.invite-summary strong,.invite-summary time{overflow-wrap:anywhere;max-width:65%;color:var(--foreground);text-align:right;font-weight:500}.auth-form,.oauth-consent,.restored-session{gap:1rem;display:grid}.restored-session-email{overflow-wrap:anywhere;color:var(--foreground);text-align:center;margin:0;font-size:.92rem;font-weight:600}.field{gap:.45rem;display:grid}.field label,.label-row label{color:var(--foreground);font-size:.8rem;font-weight:600}.label-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}input[type=email],input[type=password]{border:1px solid var(--input);border-radius:calc(var(--radius) * .85);width:100%;height:2.75rem;color:var(--foreground);background:oklch(17% .004 270/.72);outline:none;padding:0 .85rem;transition:border-color .16s,box-shadow .16s,background .16s}input::placeholder{color:oklch(58% 0 0)}input:hover:not(:disabled){border-color:oklch(100% 0 0/.24)}input:focus-visible{border-color:var(--ring);background:oklch(19% .006 270);box-shadow:0 0 0 3px oklch(68.5% .169 237.323/.2)}input:disabled{cursor:not-allowed;opacity:.58}.field-hint{color:var(--muted-foreground);margin:0;font-size:.7rem;line-height:1.45}.button{border-radius:calc(var(--radius) * .85);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.6rem;width:100%;min-height:2.75rem;padding:.65rem 1rem;font-size:.82rem;font-weight:600;transition:transform .14s,background .16s,border-color .16s,box-shadow .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:focus-visible,.text-button:focus-visible,.inline-link:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.button:disabled,.text-button:disabled{cursor:not-allowed;opacity:.55}.button-primary{background:var(--primary);color:var(--primary-foreground);margin-top:.15rem;box-shadow:0 10px 25px oklch(68.5% .169 237.323/.18)}.button-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 12px 32px oklch(68.5% .169 237.323/.27)}.button-outline{border-color:var(--border);color:var(--foreground);background:0 0}.button-outline:hover:not(:disabled){background:var(--secondary);border-color:oklch(100% 0 0/.22)}.button-icon{width:1rem;height:1rem}.separator{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.75rem;margin:1rem 0;font-size:.68rem;display:flex}.separator:before,.separator:after{background:var(--border);content:"";flex:1;height:1px}.separator span{white-space:nowrap}.consent-row{grid-template-columns:auto 1fr;align-items:start;gap:.65rem;display:grid}.consent-row input{width:1rem;height:1rem;accent-color:var(--primary);margin:.13rem 0 0}.consent-row label{color:var(--muted-foreground);font-size:.75rem;line-height:1.5}.inline-link,.text-button{color:oklch(78% .11 237);cursor:pointer;font:inherit;text-underline-offset:.2em;background:0 0;border:0;padding:0;font-weight:600}.inline-link{text-decoration:underline;display:inline}.text-button:hover:not(:disabled),.inline-link:hover:not(:disabled){color:oklch(88% .08 237);text-decoration:underline}.notice{border:1px solid var(--border);border-radius:calc(var(--radius) * .8);color:var(--muted-foreground);background:oklch(17% 0 0/.55);margin-top:1rem;padding:.7rem .8rem;font-size:.75rem;line-height:1.5}.notice-error{color:oklch(82% .13 22);background:oklch(70.4% .191 22.216/.08);border-color:oklch(70.4% .191 22.216/.35)}.notice-success{color:oklch(82% .12 155);background:oklch(72% .17 155/.07);border-color:oklch(72% .17 155/.3)}.mode-switch{color:var(--muted-foreground);text-align:center;justify-content:center;gap:.35rem;margin-top:1.05rem;font-size:.76rem;display:flex}.security-note{color:oklch(58% 0 0);text-align:center;margin:0;font-size:.67rem;line-height:1.5}.spinner{border:2px solid;border-right-color:#0000;border-radius:999px;width:.9rem;height:.9rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=420px){.auth-page{place-items:start center;padding:1.25rem .75rem}.card{padding:1.2rem}.invite-summary div{flex-direction:column;align-items:flex-start;gap:.2rem}.invite-summary strong,.invite-summary time{text-align:left;max-width:100%}.mode-switch{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dashboard-page{width:calc(100% - 2rem);color:var(--foreground);margin:0 auto;padding:2rem 0 4rem}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;display:flex}.dashboard-header h1{margin:.3rem 0}.dashboard-header p,.dash-card p{color:var(--muted-foreground);line-height:1.5}.dashboard-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.dashboard-actions select,.dashboard-search{border:1px solid var(--input);max-width:190px;height:2.75rem;color:var(--foreground);background:#252529;border-radius:.6rem;padding:0 .65rem}.dashboard-search{min-width:12rem}.dashboard-button{width:auto}.overview-toolbar{color:var(--muted-foreground);justify-content:flex-end;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.8rem;display:flex}.overview-toolbar select{border:1px solid var(--input);background:var(--card);color:var(--foreground);border-radius:.5rem;padding:.35rem .5rem}.overview-detail-grid{margin-top:1rem}.metric-row span{gap:.15rem;display:grid}.metric-row small{color:var(--muted-foreground)}.dashboard-tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1rem;display:flex;overflow:auto}.dashboard-tabs button{color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:.75rem .95rem;font-weight:600}.dashboard-tabs button.active{border-bottom-color:var(--primary);color:var(--foreground);background:var(--card)}.dash-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);margin-bottom:1rem;padding:1.1rem;box-shadow:0 12px 35px #0002}.dash-card h2{margin:0 0 .35rem;font-size:1.05rem}.dash-grid{gap:1rem;display:grid}.overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-two{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid>*{min-width:0}.dash-grid .dash-card{flex-direction:column;gap:.35rem;margin:0;display:flex}.metric-value{font-size:1.5rem;line-height:1.15}.dash-grid span,.sync-grid span,.fan-table span{color:var(--muted-foreground);font-size:.76rem}.dash-grid small{color:var(--muted-foreground)}.section-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.section-heading>*{min-width:0}.section-heading p{margin:.25rem 0 0}.status-pill{white-space:nowrap;color:var(--foreground);background:#ffffff12;border-radius:999px;padding:.35rem .6rem;font-size:.73rem;font-weight:700}.status-online{color:#8ff0b5;background:#1f9d6330}.status-offline,.status-update_required{background:#ffffff13}.status-waiting_for_fansly,.status-wrong_model,.status-reconnecting{color:#ffd48a;background:#d58e2230}.sync-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:1rem 0;display:grid}.sync-grid div{border:1px solid var(--border);border-radius:.5rem;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.sync-grid strong{font-size:1.05rem}.sync-progress>div{background:#ffffff13;border-radius:999px;height:.45rem;overflow:hidden}.sync-progress>div span{border-radius:inherit;background:var(--primary);height:100%;display:block}.sync-progress p,.sync-warning{color:var(--muted-foreground);font-size:.78rem}.sync-warning{color:#ffd48a}.fan-table{margin-top:.8rem}.fan-table article,.fan-row-button{border-top:1px solid var(--border);grid-template-columns:2fr 1fr 1fr;gap:1rem;padding:.85rem 0;display:grid}.fan-row-button{border-inline:0;width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border-bottom:0}.fan-row-button:hover{background:color-mix(in srgb, var(--primary) 10%, transparent)}.fan-row-button:focus-visible{background:color-mix(in srgb, var(--primary) 10%, transparent);outline:2px solid var(--ring);outline-offset:2px}.fan-table article>div,.fan-row-button>div{flex-direction:column;gap:.2rem;display:flex}.fan-table strong{font-size:.9rem}.tab-pager{justify-content:flex-end;align-items:center;gap:.7rem;margin-top:1rem;display:flex}.payday-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;margin-top:1rem;display:grid}.payday-grid span{background:#ffffff0d;border-radius:.4rem;flex-direction:column;justify-content:center;align-items:center;min-height:2.7rem;font-size:.74rem;display:flex}.payday-grid .payday-active{color:#d9e2ff;background:#6e8eff35}.activity-bars{align-items:flex-end;gap:.18rem;height:10rem;margin-top:1rem;display:flex}.activity-bars div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.25rem;min-width:0;height:100%;display:flex}.activity-bars i{background:var(--primary);border-radius:.2rem .2rem 0 0;width:100%;display:block}.activity-bars small{color:var(--muted-foreground);font-size:.7rem}.activity-label-hidden{visibility:hidden}.fan-detail h3{margin:.5rem 0;font-size:.95rem}.full-history-profile{border:1px solid var(--border);background:#ffffff08;border-radius:.65rem;margin:1rem 0;padding:1rem}.full-history-profile small,.full-history-profile summary{color:var(--muted-foreground)}.profile-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.8rem 0;display:grid}.profile-facts div{border:1px solid var(--border);border-radius:.5rem;gap:.2rem;padding:.65rem;display:grid}.profile-facts span{color:var(--muted-foreground);font-size:.72rem}.profile-facts strong{text-transform:capitalize}.full-history-profile details{margin-top:.75rem}.full-history-profile pre{white-space:pre-wrap;max-height:14rem;color:var(--muted-foreground);font-size:.72rem;overflow:auto}.timeline-row{border-top:1px solid var(--border);gap:.25rem;padding:.65rem 0;font-size:.85rem;display:grid}.timeline-row small{color:var(--muted-foreground)}.metric-row{border-top:1px solid var(--border);justify-content:space-between;gap:.75rem;min-width:0;padding:.65rem 0;font-size:.85rem;display:flex}.metric-row span,.metric-row strong{overflow-wrap:anywhere;min-width:0}@media (width<=1100px){.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-two{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.dashboard-page{width:calc(100% - 1.25rem);padding-top:1rem}.dashboard-header{flex-direction:column}.sync-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fan-table article,.fan-row-button{grid-template-columns:1fr}.dashboard-actions select{max-width:100%}}@media (width<=560px){.overview-metrics{grid-template-columns:minmax(0,1fr)}.dashboard-actions{width:100%}.dashboard-actions select{width:100%;max-width:none}.section-heading{flex-direction:column}.dashboard-search{width:100%;min-width:0;max-width:none}.profile-facts{grid-template-columns:minmax(0,1fr)}.metric-row{align-items:flex-start}.metric-row strong{text-align:right}}
