*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;color:#0f172a}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}#root{width:100%;min-height:100vh;height:100%;background:#fff}.noHScroll{max-width:100vw}.hScroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}@media (max-width: 900px){.admin-grid{grid-template-columns:1fr}}.adminCard{display:flex;flex-direction:column;min-height:0}.adminGroupsList{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.appShell{height:100vh;display:flex;background:#fff;overflow:hidden;padding-top:var(--safe-top, 24px);padding-bottom:var(--safe-bottom, 0px);box-sizing:border-box;position:relative;width:100%}@supports (height: 100svh){.appShell{height:100svh}}@supports (height: 100dvh){.appShell{height:100dvh}}.sidebar{width:320px;min-width:280px;max-width:420px;border-right:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;background:#fff}.sidebarHeader{padding:12px;border-bottom:1px solid rgba(15,23,42,.08);background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebarTitle{font-size:16px;margin:0}.iconBtn{border:1px solid rgba(15,23,42,.12);background:#fff;border-radius:10px;padding:6px 10px;cursor:pointer}.primaryBtn{border:none;background:#08c;color:#fff;border-radius:18px;padding:6px 12px;cursor:pointer}.mainPane{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.topBar{padding:10px 12px;border-bottom:1px solid rgba(15,23,42,.08);display:flex;align-items:center;gap:8px;background:#fff}.contentPane{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch}@media (min-width: 900px){body{background:#f4f6fb}.appShell{justify-content:center;padding:18px}.mainPane{flex:0 1 980px;width:100%;height:calc(100vh - 36px);background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.08)}}@media (max-width: 820px){.sidebar{position:fixed;top:var(--safe-top);left:0;bottom:var(--safe-bottom);height:auto;transform:translate(-105%);transition:transform .18s ease-out;z-index:20;box-shadow:0 12px 30px rgba(15,23,42,.18)}.sidebar.open{transform:translate(0)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(2,6,23,.35);z-index:10}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:calc(24px + var(--safe-top)) 16px calc(24px + var(--safe-bottom)) 16px;background:#f4f6fb}.contentPane{scrollbar-width:thin}.contentPane::-webkit-scrollbar{width:6px}.contentPane::-webkit-scrollbar-thumb{background:rgba(15,23,42,.18);border-radius:99px}.scrollPane{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.scrollPane::-webkit-scrollbar{width:6px}.scrollPane::-webkit-scrollbar-thumb{background:rgba(15,23,42,.18);border-radius:99px}.auth-card{width:100%;max-width:440px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;box-shadow:0 12px 30px rgba(15,23,42,.08);padding:18px}.auth-title{font-size:22px;line-height:1.2;margin:0 0 6px}.auth-subtitle{margin:0 0 14px;color:rgba(15,23,42,.7);font-size:14px;line-height:1.35}.auth-field{margin-top:10px}.auth-label{display:block;font-size:12px;color:rgba(15,23,42,.7);margin-bottom:6px}.auth-input{width:100%;padding:12px;border:1px solid rgba(15,23,42,.12);border-radius:10px;outline:none;font-size:16px;background:#fff}.auth-input:focus{border-color:rgba(0,136,204,.55);box-shadow:0 0 0 4px rgba(0,136,204,.12)}.auth-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}.auth-actions.two{grid-template-columns:1fr 1fr}.auth-btn{padding:11px 12px;border-radius:10px;border:1px solid transparent;font-size:15px;cursor:pointer}.auth-btn.primary{background:#08c;color:#fff}.auth-btn.primary:disabled{opacity:.6;cursor:not-allowed}.auth-btn.secondary{background:#fff;border-color:rgba(15,23,42,.12);color:rgba(15,23,42,.85)}.auth-error{margin-top:12px;padding:10px 12px;border-radius:10px;border:1px solid rgba(220,38,38,.25);background:rgba(220,38,38,.06);color:#b91c1c;font-size:14px}.sheetOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(2,6,23,.45);z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:12px}.sheetOverlay.center{align-items:center}.sheetOverlay.bottom{align-items:flex-end;padding-bottom:var(--safe-bottom)}.sheetContainer{width:100%;max-width:560px}.sheet{width:100%;background:#fff;border-radius:18px;border:1px solid rgba(15,23,42,.1);box-shadow:0 18px 50px rgba(15,23,42,.24);overflow:hidden}.sheetHandle{width:44px;height:5px;border-radius:99px;background:rgba(15,23,42,.14);margin:10px auto 6px}.sheetHead{padding:6px 14px 8px;text-align:center}.sheetTitle{font-size:14px;font-weight:700;color:#0f172a}.sheetMessage{margin-top:6px;font-size:13px;color:rgba(15,23,42,.72);line-height:1.25}.sheetActions{display:flex;flex-direction:column}.sheetBtn{width:100%;padding:14px;font-size:16px;border:none;background:#fff;cursor:pointer;border-top:1px solid rgba(15,23,42,.08)}.sheetBtn:first-child{border-top:none}.sheetBtn.danger{color:#b91c1c;font-weight:700}.sheetBtn:disabled{opacity:.55;cursor:not-allowed}.sheetFooter{padding:10px 14px;border-top:1px solid rgba(15,23,42,.08);background:#fff}.sheetCancel{margin-top:10px;padding:0 0 10px}.sheetBtn.cancel{border-top:1px solid rgba(15,23,42,.08);font-weight:700}img.twemoji{width:1em;height:1em;vertical-align:-.18em}
