.auth-wrap{background:radial-gradient(1100px 520px at 50% -160px, #eaf2ff 0%, transparent 60%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-lg);text-align:center;width:100%;max-width:384px;box-shadow:var(--shadow);padding:36px 30px}.auth-mark{background:linear-gradient(150deg,#0a84ff,#0060df);border-radius:16px;width:56px;height:56px;margin:0 auto 18px;position:relative;box-shadow:0 8px 24px #0a84ff61}.auth-mark:after{content:"";background:radial-gradient(circle at 50% 40%, #fff 4px, transparent 5px), conic-gradient(from 90deg at 50% 50%, transparent 0 18deg, #ffffffeb 18deg 23deg, transparent 23deg 90deg, #ffffffeb 90deg 95deg, transparent 95deg);border-radius:16px;position:absolute;inset:0}.auth-ic{background:var(--blue-tint);width:54px;height:54px;color:var(--blue);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 18px;display:flex}.auth-ic svg{width:26px;height:26px}.auth-card h1{letter-spacing:-.02em;margin:0 0 6px;font-size:22px;font-weight:700}.auth-sub{color:var(--ink-2);margin:0 0 22px;font-size:14px;line-height:1.55}.auth-err{color:#c4291e;border-radius:var(--r-sm);background:#fff0ef;border:1px solid #ffd2ce;margin-bottom:16px;padding:9px 12px;font-size:13px}.google-btn{background:var(--surface);width:100%;color:var(--ink);border:1px solid var(--hair);border-radius:var(--r-sm);cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-family:inherit;font-size:15px;font-weight:600;transition:all .15s;display:inline-flex}.google-btn:hover{background:var(--surface-2);border-color:#d8d8df}.google-btn:disabled{opacity:.55;cursor:default}.auth-foot{color:var(--ink-3);margin:18px 0 0;font-size:12px;line-height:1.5}.auth-link{color:var(--ink-2);border:1px solid var(--hair);border-radius:var(--r-sm);margin-top:22px;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-block}.auth-link:hover{background:var(--surface-2);color:var(--ink)}.users{background:var(--bg);max-width:880px;min-height:100vh;margin:0 auto;padding:30px 22px 64px}.u-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.u-head h1{letter-spacing:-.02em;margin:0;font-size:27px;font-weight:700}.u-sub{color:var(--ink-2);margin:6px 0 0;font-size:14px}.u-hl{color:var(--amber);font-weight:700}.u-back{color:var(--ink-2);border-radius:var(--r-sm);border:1px solid var(--hair);background:var(--surface);flex:none;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s}.u-back:hover{background:var(--surface-2);color:var(--ink)}.u-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.u-search{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-sm);min-width:200px;color:var(--ink);box-shadow:var(--shadow-sm);flex:1;padding:10px 14px;font-family:inherit;font-size:14px}.u-search:focus{border-color:var(--blue);outline:none}.u-filters{gap:6px;display:flex}.u-chip{background:var(--surface);border:1px solid var(--hair);color:var(--ink-2);cursor:pointer;border-radius:20px;padding:8px 13px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.u-chip:hover{background:var(--surface-2)}.u-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.u-list{flex-direction:column;gap:10px;display:flex}.u-empty{text-align:center;color:var(--ink-3);padding:40px;font-size:14px}.u-row{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:14px;padding:13px 16px;transition:opacity .15s;display:flex}.u-row.busy{opacity:.5;pointer-events:none}.u-av{object-fit:cover;background:var(--surface-2);border-radius:50%;flex:none;width:42px;height:42px}.u-av-fb{color:#fff;background:linear-gradient(150deg,#0a84ff,#0060df);justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.u-info{flex:1;min-width:150px}.u-name{flex-wrap:wrap;align-items:center;gap:7px;font-size:15px;font-weight:600;display:flex}.u-email{color:var(--ink-2);margin-top:1px;font-size:13px}.u-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700}.u-badge.admin{background:var(--blue-tint);color:var(--blue)}.u-badge.me{background:var(--surface-2);color:var(--ink-3);border:1px solid var(--hair)}.u-meta{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.u-status{border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700}.u-status.ok{color:#167a37;background:#eafaef}.u-status.warn{color:#b4730a;background:#fff6e5}.u-status.off{color:var(--ink-3);background:#f1f1f4}.u-date{color:var(--ink-3);font-size:11px}.u-actions{border-top:1px solid var(--hair-2);flex-wrap:wrap;gap:6px;width:100%;margin-top:4px;padding-top:11px;display:flex}.u-btn{border-radius:var(--r-sm);border:1px solid var(--hair);background:var(--surface);color:var(--ink);cursor:pointer;padding:7px 13px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.u-btn:hover{background:var(--surface-2)}.u-btn:disabled{opacity:.5;cursor:default}.u-btn.ok{background:var(--blue);color:#fff;border-color:var(--blue)}.u-btn.ok:hover{background:var(--blue-press)}.u-btn.danger{color:var(--red);border-color:#ffd2ce}.u-btn.danger:hover{background:#fff0ef}.u-pages{border-top:1px dashed var(--hair);flex-wrap:wrap;align-items:center;gap:6px;width:100%;margin-top:8px;padding-top:10px;display:flex}.u-pages-label{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3);margin-right:2px;font-size:11.5px;font-weight:700}.u-page-chip{border:1px solid var(--hair);background:var(--surface);color:var(--ink-3);cursor:pointer;border-radius:20px;padding:5px 11px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.u-page-chip:hover{background:var(--surface-2)}.u-page-chip:disabled{opacity:.5;cursor:default}.u-page-chip.on{background:var(--blue-tint);color:var(--blue);border-color:#bcdcff}.settings{background:var(--bg);max-width:1120px;min-height:100vh;margin:0 auto;padding:30px 22px 64px}.settings h1{letter-spacing:-.02em;margin:0;font-size:27px;font-weight:700}.settings code{background:var(--surface-2);border:1px solid var(--hair);border-radius:5px;padding:1px 5px;font-size:12.5px}.set-tabs{flex-wrap:wrap;gap:6px;margin:18px 0 16px;display:flex}.set-tab{background:var(--surface);border:1px solid var(--hair);color:var(--ink-2);cursor:pointer;border-radius:10px;padding:9px 15px;font-family:inherit;font-size:13.5px;font-weight:600;transition:all .15s}.set-tab:hover{background:var(--surface-2)}.set-tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}.set-grid{grid-template-columns:1fr 1fr;align-items:start;gap:18px;display:grid}.set-edit{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:18px}.set-lbl{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3);margin:13px 0 5px;font-size:12px;font-weight:700;display:block}.set-edit .set-lbl:first-child{margin-top:0}.set-in,.set-area{background:var(--surface-2);border:1px solid var(--hair);border-radius:var(--r-sm);width:100%;color:var(--ink);padding:9px 12px;font-family:inherit;font-size:14px}.set-area{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5}.set-in:focus,.set-area:focus{border-color:var(--blue);outline:none}.set-vars{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.set-vars-lbl{color:var(--ink-3);font-size:12px;font-weight:600}.set-var{cursor:pointer;background:var(--blue-tint);color:var(--blue);border-color:#bcdcff}.set-var:hover{filter:brightness(.97)}.set-actions{border-top:1px solid var(--hair-2);flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}.set-to{color:var(--ink-3);font-size:12px}.set-msg{font-size:13px;font-weight:600}.set-msg.ok{color:var(--green)}.set-msg.err{color:var(--red)}.set-prev{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:18px;position:sticky;top:18px}.set-frame{border:1px solid var(--hair);background:#fff;border-radius:10px;width:100%;height:520px;margin-top:8px}@media (max-width:900px){.set-grid{grid-template-columns:1fr}.set-prev{position:static}}
