/* OGQ Shareholder Portal — auth UI. OGQ Design System v1.1.0 tokens (Pretendard + teal). */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');
:root{
  --ogq-font:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;
  --ogq-mono:'SF Mono','Fira Code','Roboto Mono',monospace;
  --ogq-ink:#333e40;         /* mono-900 */
  --ogq-soft:#465357;        /* mono-800 */
  --ogq-mute:#6c7e84;        /* mono-600 */
  --ogq-accent:#00c389;      /* primary 500 — brand teal */
  --ogq-accent-700:#00b57f;  /* primary 700 */
  --ogq-border:#d8dfdf;      /* mono-100 */
  --ogq-surface:#fff;
}

/* ---- overlay + modal ---- */
.ogq-overlay{
  position:fixed; inset:0; z-index:9000;
  background:rgba(16,24,20,.46); backdrop-filter:blur(3px);
  display:flex; align-items:center; justify-content:center; padding:24px;
}
.ogq-modal{
  position:relative; width:100%; max-width:420px;
  background:var(--ogq-surface); border-radius:24px;
  padding:40px 28px 28px; box-shadow:0 30px 80px -20px rgba(20,33,28,.45);
  animation:ogqIn .28s cubic-bezier(.2,.7,.2,1);
  font-family:var(--ogq-font);
}
@keyframes ogqIn{ from{opacity:0; transform:translateY(12px) scale(.98)} to{opacity:1; transform:none} }
.ogq-modal-x{
  position:absolute; top:16px; right:16px; width:32px; height:32px;
  display:inline-flex; align-items:center; justify-content:center;
  border:0; background:transparent; color:var(--ogq-mute); border-radius:50%; cursor:pointer;
}
.ogq-modal-x:hover{ background:#f4f5f2; color:var(--ogq-ink); }

/* ---- auth card ---- */
.ogq-auth{ text-align:center; }
.ogq-auth-title{ font-family:var(--ogq-font); font-weight:700; font-size:1.5rem; letter-spacing:-.02em; color:var(--ogq-ink); margin:6px 0 10px; white-space:nowrap; }
.ogq-auth-sub{ font-size:.94rem; color:var(--ogq-soft); line-height:1.55; margin:0 auto 24px; max-width:34ch; }
.ogq-oauth{ display:flex; flex-direction:column; gap:10px; }
.ogq-pill{
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; height:48px; border-radius:9999px; border:1px solid var(--ogq-border);
  background:#fff; color:var(--ogq-ink); font-size:.94rem; font-weight:500; cursor:pointer;
  transition:background .15s, border-color .15s;
}
.ogq-pill:hover{ background:#f7f8f5; border-color:#c7cec8; }
.ogq-pill svg{ flex-shrink:0; }
.ogq-div{ display:flex; align-items:center; gap:12px; color:var(--ogq-mute); font-size:.8rem; margin:16px 0 14px; }
.ogq-div::before,.ogq-div::after{ content:''; flex:1; height:1px; background:var(--ogq-border); }
.ogq-email{
  width:100%; height:48px; border-radius:9999px; padding:0 20px; box-sizing:border-box;
  background:#fff; border:1px solid var(--ogq-border); font-size:.94rem; color:var(--ogq-ink);
  font-family:inherit;
}
.ogq-email:focus{ border-color:var(--ogq-ink); outline:none; }
.ogq-continue{
  width:100%; height:48px; border-radius:9999px; margin-top:12px; font-weight:600;
  background:var(--ogq-ink); color:#fff; border:0; cursor:pointer; font-family:inherit; font-size:.94rem;
}
.ogq-continue:hover{ opacity:.92; }
.ogq-text-btn{ display:block; width:100%; background:transparent; border:0; color:var(--ogq-mute); padding:12px; margin-top:6px; font-size:.86rem; cursor:pointer; font-family:inherit; }
.ogq-text-btn:hover{ color:var(--ogq-ink); }
.ogq-fine{ font-size:.72rem; color:var(--ogq-mute); text-align:center; margin:18px 0 0; line-height:1.6; }

/* ---- top-bar auth control ---- */
.ogq-auth-control{ display:flex; align-items:center; margin-left:18px; }
.ogq-login-btn{
  height:34px; padding:0 16px; border-radius:9999px; border:1px solid var(--ogq-border);
  background:#fff; color:var(--ogq-ink); font-size:.82rem; font-weight:600; cursor:pointer;
  font-family:var(--ogq-font); transition:background .15s,border-color .15s;
}
.ogq-login-btn:hover{ background:#f4f5f2; border-color:#c7cec8; }

.ogq-profile{ position:relative; }
.ogq-ava{
  position:relative; width:34px; height:34px; border-radius:50%; border:1px solid var(--ogq-border);
  background:var(--ogq-accent); color:#fff; cursor:pointer; overflow:visible; padding:0;
  display:inline-flex; align-items:center; justify-content:center;
}
.ogq-ava img{ width:100%; height:100%; border-radius:50%; object-fit:cover; }
.ogq-ava-txt{ font-family:var(--ogq-mono); font-weight:600; font-size:.9rem; }
.ogq-badge{
  position:absolute; top:-3px; right:-3px; width:15px; height:15px; border-radius:50%;
  background:var(--ogq-accent); color:#fff; font-family:var(--ogq-mono); font-size:9px;
  font-weight:700; display:flex; align-items:center; justify-content:center; border:2px solid #fff;
}
.ogq-dd{
  position:absolute; top:44px; right:0; min-width:230px; background:#fff; border:1px solid var(--ogq-border);
  border-radius:16px; box-shadow:0 20px 50px -18px rgba(20,33,28,.4); padding:8px; z-index:9100;
  font-family:var(--ogq-font); animation:ogqIn .2s ease;
}
.ogq-dd-id{ padding:10px 12px 12px; border-bottom:1px solid var(--ogq-border); margin-bottom:6px; text-align:left; }
.ogq-dd-name{ font-weight:600; color:var(--ogq-ink); font-size:.92rem; }
.ogq-dd-mail{ color:var(--ogq-mute); font-size:.78rem; margin-top:2px; word-break:break-all; }
.ogq-dd-role{ display:inline-block; margin-top:8px; font-family:var(--ogq-mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ogq-accent); border:1px solid var(--ogq-border); border-radius:999px; padding:2px 8px; }
.ogq-dd-item{
  display:flex; align-items:center; justify-content:space-between; width:100%;
  background:transparent; border:0; padding:11px 12px; border-radius:10px; cursor:pointer;
  color:var(--ogq-ink); font-size:.88rem; font-family:inherit; text-align:left;
}
.ogq-dd-item:hover{ background:#f4f5f2; }
.ogq-switch{ width:36px; height:20px; border-radius:999px; background:#d5dad4; position:relative; transition:background .18s; flex-shrink:0; }
.ogq-switch::after{ content:''; position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:#fff; transition:transform .18s; box-shadow:0 1px 2px rgba(0,0,0,.2); }
.ogq-switch.on{ background:var(--ogq-accent); }
.ogq-switch.on::after{ transform:translateX(16px); }

/* ---- admin mode banner (placeholder for later phases) ---- */
.ogq-admin-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:8000;
  background:var(--ogq-accent); color:#fff; text-align:center; padding:8px 16px;
  font-family:var(--ogq-mono); font-size:.72rem; letter-spacing:.04em;
}

/* ---- toast ---- */
.ogq-toast{
  position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(20px);
  background:#14211c; color:#fff; padding:12px 20px; border-radius:12px; font-size:.86rem;
  font-family:var(--ogq-font); opacity:0; pointer-events:none; transition:all .25s; z-index:9500; max-width:90vw;
}
.ogq-toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

@media (max-width:600px){ .ogq-modal{ padding:36px 20px 24px; } .ogq-auth-title{ white-space:normal; } }

/* ---- welcome / login gate (full screen) ---- */
html.ogq-gated, html.ogq-gated body{ overflow:hidden; }
.ogq-gate{
  position:fixed; inset:0; z-index:9800;
  background:radial-gradient(110% 80% at 50% 0%, rgba(0,195,137,.08), transparent 55%), #f9fbfb;
  display:flex; align-items:center; justify-content:center; padding:40px 32px;
  font-family:var(--ogq-font); overflow-y:auto;
}
.ogq-gate-inner{ width:100%; max-width:600px; text-align:center; }
.ogq-gate-logo{ display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:30px; }
.ogq-gate-eyebrow{ font-family:var(--ogq-mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--ogq-mute); }
.ogq-gate-h1{
  font-family:var(--ogq-font); font-weight:700; letter-spacing:-.03em;
  font-size:clamp(20px,3.2vw,38px); line-height:1.25; color:#333e40; margin-bottom:22px;
  white-space:nowrap;
}
.ogq-gate-h1 em{ font-style:normal; color:var(--ogq-accent); font-weight:700; }
.ogq-gate-greeting{
  font-size:clamp(15px,1.7vw,18px); line-height:1.85; color:#57676b; margin:0 auto 36px;
  max-width:48ch;
}
.ogq-gate-actions{ max-width:380px; margin:0 auto; }
.ogq-gate-fine{ font-size:.74rem; color:var(--ogq-mute); margin-top:22px; }
.ogq-gate-loading{ color:#6b7a72; font-size:.9rem; display:flex; align-items:center; gap:10px; margin-top:12px; }
.ogq-spin{ width:15px; height:15px; border-radius:50%; border:2px solid #cdd6cf; border-top-color:var(--ogq-accent); display:inline-block; animation:ogqspin .7s linear infinite; }
@keyframes ogqspin{ to{ transform:rotate(360deg); } }
@media(max-width:560px){ .ogq-gate-h1{ font-size:clamp(17px,5.2vw,22px); } }

/* ================= admin post editor ================= */
.ogq-ed-overlay{ position:fixed; inset:0; z-index:9600; background:#f3f6f6; font-family:var(--ogq-font); display:flex; }
.ogq-ed{ display:flex; flex-direction:column; width:100%; height:100%; }
.ogq-ed-top{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 22px; background:#fff; border-bottom:1px solid var(--ogq-border); }
.ogq-ed-title-wrap{ display:flex; align-items:center; gap:14px; flex:1; min-width:0; }
.ogq-ed-title{ font-size:1.15rem; font-weight:700; color:var(--ogq-ink); border:0; outline:none; background:transparent; flex:1; min-width:0; font-family:inherit; }
.ogq-ed-status{ font-family:var(--ogq-mono); font-size:.7rem; color:var(--ogq-mute); white-space:nowrap; }
.ogq-ed-actions{ display:flex; align-items:center; gap:8px; }
.ogq-ed-btn{ height:38px; padding:0 20px; border-radius:9999px; border:0; background:var(--ogq-accent); color:#fff; font-weight:600; font-size:.86rem; cursor:pointer; font-family:inherit; }
.ogq-ed-btn:hover{ background:var(--ogq-accent-700); }
.ogq-ed-btn.ghost{ background:#fff; color:var(--ogq-ink); border:1px solid var(--ogq-border); }
.ogq-ed-btn.ghost:hover{ background:#f4f5f2; }
.ogq-ed-x{ width:34px; height:34px; border-radius:50%; border:1px solid var(--ogq-border); background:#fff; color:var(--ogq-mute); cursor:pointer; font-size:14px; }
.ogq-ed-body{ display:grid; grid-template-columns:1fr 320px; gap:0; flex:1; overflow:hidden; }
.ogq-ed-main{ overflow-y:auto; padding:26px; display:flex; flex-direction:column; gap:16px; }
.ogq-ed-side{ overflow-y:auto; padding:22px; background:#fff; border-left:1px solid var(--ogq-border); display:flex; flex-direction:column; gap:16px; }
.ogq-ed-card{ background:#fff; border:1px solid var(--ogq-border); border-radius:14px; padding:16px; }
.ogq-ed-side .ogq-ed-card{ border:0; padding:0; }
.ogq-ed-lbl{ font-size:.74rem; font-weight:700; letter-spacing:.02em; color:var(--ogq-mute); text-transform:uppercase; margin-bottom:10px; font-family:var(--ogq-mono); }
.ogq-ed-in{ width:100%; box-sizing:border-box; border:1px solid var(--ogq-border); border-radius:10px; padding:9px 12px; font-size:.9rem; color:var(--ogq-ink); font-family:inherit; background:#fcfdfd; }
.ogq-ed-in:focus{ border-color:var(--ogq-accent); outline:none; }
textarea.ogq-ed-in{ resize:vertical; line-height:1.5; }
.ogq-ed-radio{ display:flex; align-items:center; gap:8px; font-size:.88rem; color:var(--ogq-ink); padding:6px 0; cursor:pointer; }
.ogq-ed-picker{ margin-top:10px; }
.ogq-ed-suggest{ margin-top:6px; display:flex; flex-direction:column; gap:2px; }
.ogq-ed-sug{ display:flex; align-items:center; gap:10px; width:100%; background:#fff; border:0; border-radius:10px; padding:7px 8px; cursor:pointer; text-align:left; }
.ogq-ed-sug:hover{ background:#f0f8f4; }
.ogq-ed-sug img,.ogq-ed-ava{ width:28px; height:28px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.ogq-ed-ava{ background:var(--ogq-accent); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:600; font-size:.8rem; }
.ogq-ed-sug-t{ display:flex; flex-direction:column; line-height:1.2; }
.ogq-ed-sug-t b{ font-size:.85rem; color:var(--ogq-ink); } .ogq-ed-sug-t i{ font-style:normal; font-size:.72rem; color:var(--ogq-mute); }
.ogq-ed-empty{ font-size:.8rem; color:var(--ogq-mute); padding:8px; }
.ogq-ed-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.ogq-ed-chip{ display:inline-flex; align-items:center; gap:6px; background:#e9f7f1; color:#00996a; border-radius:999px; padding:4px 6px 4px 8px; font-size:.78rem; }
.ogq-ed-chip img{ width:18px; height:18px; border-radius:50%; }
.ogq-ed-chip button{ border:0; background:transparent; color:#00996a; cursor:pointer; font-size:.72rem; }
.ogq-ed-sc{ background:#fff; border:1px solid var(--ogq-border); border-radius:14px; padding:16px; }
.ogq-ed-sc-h{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.ogq-ed-sc-type{ font-weight:700; font-size:.82rem; color:var(--ogq-ink); }
.ogq-ed-sc-move button{ border:1px solid var(--ogq-border); background:#fff; border-radius:8px; padding:2px 8px; margin-left:4px; cursor:pointer; font-size:.78rem; color:var(--ogq-soft); }
.ogq-ed-sc-move .del{ color:#c90e2e; border-color:#ffd0d3; }
.ogq-ed-f{ display:block; margin-bottom:10px; }
.ogq-ed-f>span{ display:block; font-size:.72rem; color:var(--ogq-mute); margin-bottom:4px; }
.ogq-ed-extras{ margin-top:8px; display:flex; flex-direction:column; gap:10px; }
.ogq-ed-x{ background:#f9fbfb; border:1px solid var(--ogq-border); border-radius:12px; padding:12px; width:auto; height:auto; }
.ogq-ed-xh{ display:flex; justify-content:space-between; font-size:.76rem; font-weight:700; color:var(--ogq-soft); margin-bottom:8px; }
.ogq-ed-xh button{ border:0; background:transparent; color:#c90e2e; cursor:pointer; }
.ogq-ed-addx,.ogq-ed-add{ display:flex; flex-wrap:wrap; gap:8px; }
.ogq-ed-addx button,.ogq-ed-add button{ border:1px dashed var(--ogq-border); background:#fff; border-radius:9999px; padding:7px 14px; font-size:.8rem; color:var(--ogq-soft); cursor:pointer; font-family:inherit; }
.ogq-ed-addx button:hover,.ogq-ed-add button:hover{ border-color:var(--ogq-accent); color:var(--ogq-accent); }
.ogq-ed-add{ justify-content:center; padding:10px 0; }
/* preview */
.ogq-pv-overlay{ position:fixed; inset:0; z-index:9700; background:#000; display:flex; flex-direction:column; }
.ogq-pv-x{ position:absolute; top:14px; right:16px; z-index:2; background:rgba(255,255,255,.14); color:#fff; border:0; border-radius:9999px; padding:8px 16px; cursor:pointer; font-family:var(--ogq-font); }
.ogq-pv{ flex:1; } .ogq-pv-frame{ width:100%; height:100%; border:0; display:block; }
@media(max-width:820px){ .ogq-ed-body{ grid-template-columns:1fr; } .ogq-ed-side{ border-left:0; border-top:1px solid var(--ogq-border); } }

/* ================= 주주 게시판 (board) ================= */
#view-board{ font-family:var(--ogq-font); }
.ogq-bd{ max-width:920px; margin:0 auto; padding:clamp(32px,5vw,60px) clamp(20px,4vw,40px); }
.ogq-bd-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; }
.ogq-bd-head h2{ font-family:var(--ogq-font); font-weight:700; font-size:clamp(22px,3vw,30px); letter-spacing:-.02em; color:#14211c; }
.ogq-bd-new{ background:var(--ogq-accent); color:#fff; border:0; border-radius:9999px; padding:11px 20px; font-weight:700; font-size:.88rem; cursor:pointer; font-family:inherit; }
.ogq-bd-new:hover{ background:var(--ogq-accent-700); }
.ogq-bd-list{ display:flex; flex-direction:column; border-top:1px solid var(--ogq-border); }
.ogq-bd-row{ display:flex; align-items:center; gap:18px; padding:18px 8px; border-bottom:1px solid var(--ogq-border); cursor:pointer; transition:background .12s; }
.ogq-bd-row:hover{ background:#f3f6f6; }
.ogq-bd-n{ font-family:var(--ogq-mono); font-size:.9rem; color:var(--ogq-mute); min-width:28px; }
.ogq-bd-main{ flex:1; min-width:0; }
.ogq-bd-title{ font-weight:600; font-size:1.02rem; color:#14211c; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ogq-bd-meta{ font-size:.8rem; color:var(--ogq-mute); margin-top:3px; }
.ogq-bd-views{ display:inline-flex; align-items:center; gap:6px; background:#f3f6f6; border:1px solid var(--ogq-border); border-radius:9999px; padding:6px 13px; color:var(--ogq-soft); font-size:.82rem; font-weight:600; cursor:pointer; font-family:var(--ogq-mono); }
.ogq-bd-views:hover{ background:#e9f7f1; color:#00996a; border-color:#b5e5d7; }
.ogq-bd-empty{ padding:40px 8px; color:var(--ogq-mute); font-size:.94rem; }
/* post overlay */
.ogq-post-ov{ position:fixed; inset:0; z-index:9650; background:#0B0E0C; display:flex; flex-direction:column; }
.ogq-post-x{ position:absolute; top:14px; left:16px; z-index:2; background:rgba(255,255,255,.14); color:#fff; border:0; border-radius:9999px; padding:8px 16px; cursor:pointer; font-family:var(--ogq-font); font-weight:600; }
.ogq-post-ov iframe{ flex:1; width:100%; border:0; }
/* viewers modal */
.ogq-vw-list{ display:flex; flex-direction:column; gap:2px; max-height:60vh; overflow-y:auto; margin-top:8px; }
.ogq-vw-item{ display:flex; align-items:center; gap:12px; padding:9px 8px; border-radius:10px; }
.ogq-vw-item:hover{ background:#f3f6f6; }
.ogq-vw-item img,.ogq-vw-ava{ width:34px; height:34px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.ogq-vw-ava{ background:var(--ogq-accent); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:600; }
.ogq-vw-t{ text-align:left; min-width:0; }
.ogq-vw-name{ font-weight:600; color:var(--ogq-ink); font-size:.9rem; }
.ogq-vw-mail{ color:var(--ogq-mute); font-size:.76rem; }

/* ================= Facebook-style timeline feed ================= */
.ogq-fb-feed{ display:flex; flex-direction:column; gap:18px; max-width:640px; margin:0 auto; }
.ogq-fb{ background:#fff; border:1px solid var(--ogq-border); border-radius:14px; overflow:hidden; box-shadow:0 1px 3px rgba(20,33,28,.06); }
.ogq-fb-h{ display:flex; align-items:center; gap:12px; padding:14px 16px 10px; }
.ogq-fb-ava{ width:42px; height:42px; border-radius:50%; object-fit:contain; background:#f3f6f6; padding:4px; box-sizing:border-box; }
.ogq-fb-hid{ flex:1; min-width:0; }
.ogq-fb-author{ font-weight:700; color:#14211c; font-size:.94rem; }
.ogq-fb-date{ font-size:.76rem; color:var(--ogq-mute); margin-top:1px; }
.ogq-fb-menu{ border:0; background:transparent; color:var(--ogq-mute); cursor:pointer; font-size:15px; padding:4px 9px; border-radius:8px; }
.ogq-fb-menu:hover{ background:#f3f6f6; color:var(--ogq-ink); }
.ogq-fb-body{ padding:2px 16px 12px; }
.ogq-fb-title{ font-weight:700; font-size:1.05rem; color:#14211c; margin-bottom:6px; letter-spacing:-.01em; }
.ogq-fb-text{ font-size:.92rem; color:var(--ogq-soft); line-height:1.6; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.ogq-fb-att{ margin-top:10px; font-size:.82rem; color:var(--ogq-accent); font-weight:600; }
.ogq-fb-open{ display:block; width:calc(100% - 32px); margin:0 16px 12px; text-align:left; background:#f3f6f6; border:0; border-radius:10px; padding:10px 14px; color:var(--ogq-soft); font-weight:600; font-size:.88rem; cursor:pointer; font-family:inherit; }
.ogq-fb-open:hover{ background:#e9f7f1; color:#00996a; }
.ogq-fb-stats{ display:flex; border-top:1px solid var(--ogq-border); }
.ogq-fb-stat{ flex:1; display:inline-flex; align-items:center; justify-content:center; gap:7px; background:transparent; border:0; padding:11px; color:var(--ogq-mute); font-size:.84rem; font-weight:600; cursor:pointer; font-family:inherit; }
.ogq-fb-stat:hover{ background:#f3f6f6; color:var(--ogq-ink); }
.ogq-fb-stat+.ogq-fb-stat{ border-left:1px solid var(--ogq-border); }

/* ---- editor attachments ---- */
.ogq-ed-file{display:inline-block;border:1px dashed var(--ogq-border);border-radius:10px;padding:9px 16px;cursor:pointer;font-size:.85rem;color:var(--ogq-soft);font-weight:600}
.ogq-ed-file:hover{border-color:var(--ogq-accent);color:var(--ogq-accent)}
.ogq-ed-attlist{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.ogq-ed-attitem{display:flex;align-items:center;gap:8px;background:#f9fbfb;border:1px solid var(--ogq-border);border-radius:8px;padding:8px 10px;font-size:.8rem}
.ogq-ed-attitem .fn{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ogq-ink)}
.ogq-ed-attitem .fs{color:var(--ogq-mute);font-family:var(--ogq-mono);font-size:.72rem}
.ogq-ed-attitem button{border:0;background:transparent;color:#c90e2e;cursor:pointer}

/* ================= admin dashboard ================= */
.ogq-dash-ov{position:fixed;inset:0;z-index:9550;background:rgba(16,24,20,.5);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;font-family:var(--ogq-font)}
.ogq-dash{width:100%;max-width:760px;max-height:85vh;background:#fff;border-radius:20px;box-shadow:0 30px 80px -20px rgba(20,33,28,.5);display:flex;flex-direction:column;overflow:hidden}
.ogq-dash-top{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--ogq-border)}
.ogq-dash-top h2{font-weight:700;font-size:1.2rem;color:var(--ogq-ink)}
.ogq-dash-x{width:32px;height:32px;border-radius:50%;border:1px solid var(--ogq-border);background:#fff;color:var(--ogq-mute);cursor:pointer}
.ogq-dash-tabs{display:flex;gap:4px;padding:12px 24px 0}
.ogq-dash-tab{border:0;background:transparent;padding:10px 14px;border-radius:9px;color:var(--ogq-mute);font-weight:600;font-size:.86rem;cursor:pointer;font-family:inherit}
.ogq-dash-tab.active{background:#e9f7f1;color:#00996a}
.ogq-dash-body{flex:1;overflow-y:auto;padding:18px 24px 24px}
.ogq-dash-empty{color:var(--ogq-mute);padding:30px 0;text-align:center;font-size:.9rem}
.ogq-dash-tbl{width:100%;border-collapse:collapse;font-size:.84rem}
.ogq-dash-tbl th{text-align:left;color:var(--ogq-mute);font-weight:700;font-size:.72rem;padding:8px 10px;border-bottom:1px solid var(--ogq-border);text-transform:uppercase;letter-spacing:.04em}
.ogq-dash-tbl td{padding:9px 10px;border-bottom:1px solid #eef1f0;color:var(--ogq-ink);word-break:break-all}
.ogq-dash-tbl .ok{color:#00996a}.ogq-dash-tbl .bad{color:#c90e2e}
.ogq-dash-invite{margin-bottom:18px}
.ogq-dash-adminlist{display:flex;flex-direction:column;gap:2px}

/* ================= FEED MODE (tabs removed → single timeline) ================= */
/* When portal.js turns on feed mode, hide the original tab bar + all tab views;
   their content is surfaced as timeline cards + expand modals instead. */
body.ogq-feed-mode .tab-bar{ display:none !important; }
body.ogq-feed-mode > main > .view{ display:none !important; }
.ogq-feed{ max-width:640px; margin:0 auto; padding:clamp(20px,4vw,34px) clamp(14px,4vw,20px) 80px; }
.ogq-feed-intro{ margin:0 auto 20px; max-width:640px; }
.ogq-feed-intro h1{ font-family:var(--ogq-font); font-weight:700; font-size:clamp(19px,2.6vw,25px); letter-spacing:-.02em; color:#14211c; }
.ogq-feed-intro p{ color:var(--ogq-mute); font-size:.86rem; margin-top:5px; }
/* admin composer trigger (Facebook "무슨 생각을 하고 계신가요?") */
.ogq-compose{ display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--ogq-border); border-radius:14px; padding:14px 16px; margin:0 auto 18px; max-width:640px; box-shadow:0 1px 3px rgba(20,33,28,.06); }
.ogq-compose img,.ogq-compose .ava{ width:42px; height:42px; border-radius:50%; object-fit:cover; flex-shrink:0; background:var(--ogq-accent); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; }
.ogq-compose button{ flex:1; text-align:left; background:#f3f6f6; border:0; border-radius:9999px; padding:11px 18px; color:var(--ogq-mute); font-size:.92rem; cursor:pointer; font-family:inherit; }
.ogq-compose button:hover{ background:#e9f7f1; color:#00996a; }
.ogq-fb-badge{ display:inline-block; font-family:var(--ogq-mono); font-size:.68rem; letter-spacing:.06em; color:var(--ogq-mute); background:#f3f6f6; border-radius:6px; padding:2px 7px; margin-left:8px; vertical-align:middle; }
.ogq-fb-thumb{ width:100%; max-height:340px; object-fit:cover; display:block; background:#f3f6f6; }

/* ================= LIGHT POST MODAL (section / simple-post expand) ================= */
.ogq-lpm-ov{ position:fixed; inset:0; z-index:9600; background:rgba(16,24,20,.55); backdrop-filter:blur(4px); display:flex; align-items:flex-start; justify-content:center; padding:clamp(10px,3vw,40px); overflow-y:auto; font-family:var(--ogq-font); }
.ogq-lpm{ position:relative; width:100%; max-width:760px; background:#fff; border-radius:18px; box-shadow:0 30px 90px -20px rgba(20,33,28,.5); margin:auto; overflow:hidden; }
.ogq-lpm-top{ position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:12px; padding:14px 18px; background:rgba(255,255,255,.94); backdrop-filter:blur(6px); border-bottom:1px solid var(--ogq-border); }
.ogq-lpm-top .t{ flex:1; font-weight:700; color:#14211c; font-size:1rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ogq-lpm-x{ width:34px; height:34px; border-radius:50%; border:1px solid var(--ogq-border); background:#fff; color:var(--ogq-mute); cursor:pointer; font-size:16px; flex-shrink:0; }
.ogq-lpm-x:hover{ background:#f3f6f6; color:var(--ogq-ink); }
.ogq-lpm-body{ padding:0; }
/* embedded original section content keeps its own styles; constrain width */
.ogq-lpm-body .ogq-secwrap{ padding:8px 0 4px; }
.ogq-lpm-body .ogq-secwrap .view{ display:block !important; }
/* simple post body */
.ogq-lpm-simple{ padding:22px clamp(18px,4vw,32px) 8px; }
.ogq-lpm-meta{ display:flex; align-items:center; gap:11px; margin-bottom:16px; }
.ogq-lpm-meta img,.ogq-lpm-meta .ava{ width:44px; height:44px; border-radius:50%; object-fit:contain; background:#f3f6f6; padding:4px; box-sizing:border-box; }
.ogq-lpm-meta .n{ font-weight:700; color:#14211c; font-size:.96rem; }
.ogq-lpm-meta .d{ font-size:.78rem; color:var(--ogq-mute); margin-top:1px; }
.ogq-lpm-content{ font-size:1rem; line-height:1.75; color:#28322e; white-space:pre-wrap; word-break:break-word; }
.ogq-lpm-content img{ max-width:100%; height:auto; border-radius:12px; margin:16px 0; display:block; border:1px solid var(--ogq-border); }
.ogq-lpm-content .ogq-imgload{ min-height:120px; background:#f3f6f6 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40"><circle cx="20" cy="20" r="14" fill="none" stroke="%2300c389" stroke-width="3" stroke-dasharray="66" stroke-dashoffset="20"/></svg>') center/40px no-repeat; border-radius:12px; margin:16px 0; }

/* ================= LIGHT COMMENTS (in the expand modal) ================= */
.ogq-lc{ border-top:1px solid var(--ogq-border); background:#fafbfb; padding:20px clamp(18px,4vw,32px) 26px; }
.ogq-lc h4{ font-weight:700; color:#14211c; font-size:.98rem; margin-bottom:4px; }
.ogq-lc .sub{ color:var(--ogq-mute); font-size:.78rem; margin-bottom:16px; }
.ogq-lc .sub b{ color:var(--ogq-soft); }
.ogq-lc-box{ display:flex; gap:10px; align-items:flex-start; }
.ogq-lc-box img,.ogq-lc-box .ava{ width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--ogq-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem }
.ogq-lc-box textarea{ flex:1; box-sizing:border-box; background:#fff; border:1px solid var(--ogq-border); border-radius:16px; color:var(--ogq-ink); padding:11px 15px; font-family:inherit; font-size:.92rem; line-height:1.55; resize:vertical; min-height:44px; }
.ogq-lc-box textarea:focus{ border-color:var(--ogq-accent); outline:none; }
.ogq-lc-send{ background:var(--ogq-accent); color:#fff; border:0; border-radius:9999px; padding:9px 18px; font-weight:700; cursor:pointer; font-family:inherit; font-size:.86rem; align-self:flex-end; }
.ogq-lc-send:hover{ background:var(--ogq-accent-700); }
.ogq-lc-list{ margin-top:18px; display:flex; flex-direction:column; gap:12px; }
.ogq-lc-item{ display:flex; gap:10px; align-items:flex-start; }
.ogq-lc-item img,.ogq-lc-item .ava{ width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#cbd5d1;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem }
.ogq-lc-bub{ flex:1; min-width:0; }
.ogq-lc-b{ background:#fff; border:1px solid var(--ogq-border); border-radius:16px; padding:10px 15px; }
.ogq-lc-b .nm{ font-weight:700; color:#14211c; font-size:.84rem; margin-bottom:2px; }
.ogq-lc-b p{ color:#28322e; font-size:.92rem; line-height:1.55; white-space:pre-wrap; word-break:break-word; }
.ogq-lc-t{ font-size:.72rem; color:var(--ogq-mute); margin:4px 0 0 15px; }
.ogq-lc-reply{ margin:8px 0 0 20px; background:#e9f7f1; border-radius:14px; padding:9px 14px; }
.ogq-lc-reply .nm{ font-weight:700; color:#00996a; font-size:.8rem; margin-bottom:2px; }
.ogq-lc-reply p{ color:#1c5a45; font-size:.9rem; line-height:1.5; white-space:pre-wrap; }
.ogq-lc-rbox{ display:flex; gap:8px; margin:8px 0 0 20px; }
.ogq-lc-rin{ flex:1; background:#fff; border:1px solid var(--ogq-border); border-radius:9999px; padding:8px 14px; font-family:inherit; font-size:.85rem; }
.ogq-lc-rin:focus{ border-color:var(--ogq-accent); outline:none; }
.ogq-lc-rbtn{ background:#e9f7f1; color:#00996a; border:0; border-radius:9999px; padding:8px 15px; font-weight:700; cursor:pointer; font-family:inherit; font-size:.82rem; }
.ogq-lc-empty{ color:var(--ogq-mute); font-size:.85rem; padding:6px 0; }
/* attachments in light modal */
.ogq-lpm-att{ padding:6px clamp(18px,4vw,32px) 18px; }
.ogq-lpm-att h4{ font-weight:700; color:#14211c; font-size:.9rem; margin-bottom:10px; }
.ogq-lpm-att-item{ display:flex; align-items:center; gap:11px; background:#fff; border:1px solid var(--ogq-border); border-radius:10px; padding:11px 14px; cursor:pointer; width:100%; text-align:left; font-family:inherit; margin-bottom:7px; }
.ogq-lpm-att-item:hover{ border-color:var(--ogq-accent); }
.ogq-lpm-att-item .fn{ flex:1; font-size:.88rem; font-weight:600; color:var(--ogq-ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ogq-lpm-att-item .fs{ font-size:.74rem; color:var(--ogq-accent); font-family:var(--ogq-mono); }

/* ================= SIMPLE COMPOSER (Facebook-style create-post) ================= */
.ogq-sc-ov{ position:fixed; inset:0; z-index:9700; background:rgba(16,24,20,.55); backdrop-filter:blur(4px); display:flex; align-items:flex-start; justify-content:center; padding:clamp(10px,4vh,48px) 16px; overflow-y:auto; font-family:var(--ogq-font); }
.ogq-sc{ position:relative; width:100%; max-width:728px; background:#fff; border-radius:16px; box-shadow:0 30px 90px -20px rgba(20,33,28,.5); margin:auto; display:flex; flex-direction:column; max-height:92vh; }
.ogq-sc-top{ display:flex; align-items:center; justify-content:center; position:relative; padding:16px; border-bottom:1px solid var(--ogq-border); }
.ogq-sc-top h3{ font-weight:700; font-size:1.1rem; color:#14211c; }
.ogq-sc-x{ position:absolute; right:14px; top:12px; width:34px; height:34px; border-radius:50%; border:0; background:#f3f6f6; color:var(--ogq-soft); cursor:pointer; font-size:16px; }
.ogq-sc-x:hover{ background:#e6ebea; }
.ogq-sc-body{ padding:16px 18px; overflow-y:auto; flex:1; }
.ogq-sc-id{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.ogq-sc-id img,.ogq-sc-id .ava{ width:40px;height:40px;border-radius:50%;object-fit:contain;background:#f3f6f6;padding:3px;box-sizing:border-box }
.ogq-sc-id .n{ font-weight:700; color:#14211c; font-size:.92rem; }
.ogq-sc-title{ width:100%; box-sizing:border-box; border:0; border-bottom:1px solid var(--ogq-border); font-family:inherit; font-size:1.05rem; font-weight:700; color:#14211c; padding:6px 2px 10px; margin-bottom:10px; }
.ogq-sc-title:focus{ outline:none; border-color:var(--ogq-accent); }
.ogq-sc-editor{ min-height:150px; max-height:44vh; overflow-y:auto; font-size:1.02rem; line-height:1.7; color:#28322e; outline:none; }
.ogq-sc-editor:empty::before{ content:attr(data-ph); color:var(--ogq-mute); }
.ogq-sc-editor img{ max-width:100%; border-radius:12px; margin:12px 0; display:block; border:1px solid var(--ogq-border); }
.ogq-sc-tools{ display:flex; align-items:center; gap:6px; border:1px solid var(--ogq-border); border-radius:12px; padding:9px 12px; margin-top:14px; }
.ogq-sc-tools .lbl{ flex:1; font-size:.86rem; color:var(--ogq-soft); font-weight:600; }
.ogq-sc-tool{ display:inline-flex; align-items:center; gap:6px; border:0; background:transparent; cursor:pointer; padding:7px 9px; border-radius:8px; color:var(--ogq-mute); font-family:inherit; font-size:.82rem; font-weight:600; }
.ogq-sc-tool:hover{ background:#f3f6f6; color:var(--ogq-ink); }
.ogq-sc-tool svg{ width:20px; height:20px; }
.ogq-sc-tool.img svg{ color:#45bd62; } .ogq-sc-tool.file svg{ color:#f3425f; }
.ogq-sc-aud{ margin-top:14px; border:1px solid var(--ogq-border); border-radius:12px; padding:12px 14px; }
.ogq-sc-aud .lbl{ font-size:.78rem; font-weight:700; color:var(--ogq-soft); margin-bottom:8px; }
.ogq-sc-aud label{ display:inline-flex; align-items:center; gap:6px; margin-right:16px; font-size:.88rem; color:var(--ogq-ink); cursor:pointer; }
.ogq-sc-picker{ margin-top:10px; }
.ogq-sc-search{ width:100%; box-sizing:border-box; border:1px solid var(--ogq-border); border-radius:9px; padding:9px 12px; font-family:inherit; font-size:.86rem; }
.ogq-sc-search:focus{ outline:none; border-color:var(--ogq-accent); }
.ogq-sc-suggest{ margin-top:6px; display:flex; flex-direction:column; gap:2px; }
.ogq-sc-sug{ display:flex; align-items:center; gap:9px; border:0; background:transparent; padding:7px 8px; border-radius:9px; cursor:pointer; text-align:left; font-family:inherit; }
.ogq-sc-sug:hover{ background:#f3f6f6; }
.ogq-sc-sug img,.ogq-sc-sug .ava{ width:30px;height:30px;border-radius:50%;object-fit:cover;background:var(--ogq-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem }
.ogq-sc-sug b{ display:block; font-size:.86rem; color:#14211c; } .ogq-sc-sug i{ font-style:normal; font-size:.74rem; color:var(--ogq-mute); }
.ogq-sc-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.ogq-sc-chip{ display:inline-flex; align-items:center; gap:6px; background:#e9f7f1; color:#00805a; border-radius:9999px; padding:5px 10px; font-size:.82rem; font-weight:600; }
.ogq-sc-chip img{ width:20px; height:20px; border-radius:50%; }
.ogq-sc-chip button{ border:0; background:transparent; color:#00805a; cursor:pointer; font-size:.9rem; }
.ogq-sc-att{ margin-top:10px; display:flex; flex-direction:column; gap:6px; }
.ogq-sc-attitem{ display:flex; align-items:center; gap:8px; background:#f9fbfb; border:1px solid var(--ogq-border); border-radius:9px; padding:8px 11px; font-size:.82rem; }
.ogq-sc-attitem .fn{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ogq-ink); }
.ogq-sc-attitem .fs{ color:var(--ogq-mute); font-family:var(--ogq-mono); font-size:.72rem; }
.ogq-sc-attitem button{ border:0; background:transparent; color:#c90e2e; cursor:pointer; }
.ogq-sc-foot{ padding:14px 18px; border-top:1px solid var(--ogq-border); }
.ogq-sc-post{ width:100%; background:var(--ogq-accent); color:#fff; border:0; border-radius:10px; padding:12px; font-weight:700; font-size:.98rem; cursor:pointer; font-family:inherit; }
.ogq-sc-post:disabled{ background:#c3d3ce; cursor:default; }
.ogq-sc-post:hover:not(:disabled){ background:var(--ogq-accent-700); }
.ogq-sc-status{ text-align:center; font-size:.78rem; color:var(--ogq-mute); margin-top:8px; min-height:16px; }
@media(max-width:520px){ .ogq-feed{ padding-left:10px; padding-right:10px; } }

/* ================= larger cards (1.5× width, ~2× height) + full-page view ================= */
.ogq-feed{ max-width:980px; }
.ogq-feed-intro, .ogq-compose{ max-width:980px; }
.ogq-fb-feed{ max-width:980px; gap:24px; }
.ogq-fb{ border-radius:18px; }
.ogq-fb-h{ padding:22px 26px 14px; gap:15px; }
.ogq-fb-ava{ width:56px; height:56px; }
.ogq-fb-author{ font-size:1.18rem; }
.ogq-fb-date{ font-size:.9rem; margin-top:3px; }
.ogq-fb-badge{ font-size:.78rem; padding:3px 9px; }
.ogq-fb-body{ padding:6px 26px 20px; }
.ogq-fb-title{ font-size:1.55rem; margin-bottom:12px; }
.ogq-fb-text{ font-size:1.08rem; line-height:1.72; -webkit-line-clamp:9; }
.ogq-fb-att{ margin-top:16px; font-size:.95rem; }
.ogq-fb-open{ width:calc(100% - 52px); margin:0 26px 18px; padding:16px 22px; font-size:1.05rem; border-radius:12px; }
.ogq-fb-stats .ogq-fb-stat{ padding:17px; font-size:1.02rem; }
.ogq-fb-stat svg{ width:19px; height:19px; }
/* inline comments inside a feed card */
.ogq-fb-comments{ border-top:1px solid var(--ogq-border); }
.ogq-fb-comments .ogq-lc{ border-top:0; border-radius:0 0 18px 18px; }
.ogq-compose{ padding:18px 22px; border-radius:18px; }
.ogq-compose img,.ogq-compose .ava{ width:52px; height:52px; }
.ogq-compose button{ padding:14px 22px; font-size:1.05rem; }
.ogq-feed-intro h1{ font-size:clamp(24px,3vw,32px); }
.ogq-feed-intro p{ font-size:.98rem; }
@media(max-width:700px){
  .ogq-fb-title{ font-size:1.3rem; }
  .ogq-fb-text{ font-size:1rem; -webkit-line-clamp:7; }
}

/* full-page post view (replaces modal; browser Back returns to feed) */
html.ogq-page-open, html.ogq-page-open body{ overflow:hidden !important; }
.ogq-page{ position:fixed; inset:0; z-index:9620; background:#fff; display:flex; flex-direction:column; font-family:var(--ogq-font); animation:ogqPageIn .22s ease; }
@keyframes ogqPageIn{ from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none} }
.ogq-page.dark{ background:#0B0E0C; }
.ogq-page-bar{ flex:0 0 auto; display:flex; align-items:center; gap:16px; padding:13px clamp(16px,4vw,32px); background:rgba(255,255,255,.96); backdrop-filter:blur(10px); border-bottom:1px solid var(--ogq-border); z-index:5; }
.ogq-page.dark .ogq-page-bar{ background:rgba(11,14,12,.92); border-bottom:1px solid rgba(234,240,230,.12); }
.ogq-page-back{ display:inline-flex; align-items:center; gap:8px; border:1px solid var(--ogq-border); background:#fff; border-radius:9999px; padding:9px 18px 9px 14px; font-weight:600; color:var(--ogq-soft); cursor:pointer; font-family:inherit; font-size:.94rem; }
.ogq-page-back:hover{ background:#f3f6f6; color:var(--ogq-ink); }
.ogq-page.dark .ogq-page-back{ background:transparent; color:#EAF0E6; border-color:rgba(234,240,230,.28); }
.ogq-page.dark .ogq-page-back:hover{ background:rgba(234,240,230,.08); }
.ogq-page-title{ font-weight:700; color:#14211c; font-size:1.02rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ogq-page.dark .ogq-page-title{ color:#EAF0E6; }
.ogq-page-body{ flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch; }
.ogq-page.dark .ogq-page-body{ display:flex; overflow:hidden; }
.ogq-page-frame{ flex:1; width:100%; height:100%; border:0; display:block; }
.ogq-page-section .view{ display:block !important; }

/* ================= ADMIN PAGE (roster · members · metrics) ================= */
.ogq-adm-loading{ padding:60px; text-align:center; color:var(--ogq-mute); }
.ogq-adm{ display:grid; grid-template-columns:220px 1fr; min-height:100%; max-width:1280px; margin:0 auto; }
.ogq-adm-nav{ border-right:1px solid var(--ogq-border); padding:24px 14px; display:flex; flex-direction:column; gap:4px; background:#fafbfb; }
.ogq-adm-navi{ text-align:left; border:0; background:transparent; padding:11px 14px; border-radius:10px; font-family:inherit; font-size:.94rem; font-weight:600; color:var(--ogq-soft); cursor:pointer; }
.ogq-adm-navi:hover{ background:#eef2f1; }
.ogq-adm-navi.active{ background:#e9f7f1; color:#00805a; }
.ogq-adm-main{ padding:28px clamp(18px,3vw,40px) 60px; min-width:0; }
.ogq-adm-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:20px; }
.ogq-adm-head h2{ font-weight:700; font-size:1.5rem; color:#14211c; letter-spacing:-.02em; }
.ogq-adm-sub{ color:var(--ogq-mute); font-size:.86rem; margin-top:5px; max-width:640px; }
.ogq-adm-count{ color:var(--ogq-soft); font-size:.95rem; white-space:nowrap; } .ogq-adm-count b{ color:#00805a; font-size:1.2rem; }
.ogq-adm-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; flex-wrap:wrap; }
.ogq-adm-search{ flex:1; min-width:200px; border:1px solid var(--ogq-border); border-radius:10px; padding:10px 14px; font-family:inherit; font-size:.9rem; }
.ogq-adm-search:focus{ outline:none; border-color:var(--ogq-accent); }
.ogq-adm-tools{ display:flex; gap:8px; }
.ogq-adm-btn{ border:0; background:var(--ogq-accent); color:#fff; border-radius:10px; padding:10px 16px; font-weight:700; font-size:.9rem; cursor:pointer; font-family:inherit; white-space:nowrap; }
.ogq-adm-btn:hover{ background:var(--ogq-accent-700); } .ogq-adm-btn:disabled{ background:#c3d3ce; }
.ogq-adm-btn.ghost{ background:#fff; color:var(--ogq-soft); border:1px solid var(--ogq-border); }
.ogq-adm-btn.ghost:hover{ background:#f3f6f6; }
.ogq-adm-btn.danger{ background:#e5484d; } .ogq-adm-btn.danger:hover{ background:#d13438; }
.ogq-adm-upnote{ font-size:.84rem; color:var(--ogq-soft); min-height:18px; margin-bottom:8px; }
.ogq-adm-tblwrap{ border:1px solid var(--ogq-border); border-radius:14px; overflow:auto; background:#fff; }
.ogq-adm-tblwrap.sm{ max-height:340px; }
.ogq-adm-tbl{ width:100%; border-collapse:collapse; font-size:.9rem; }
.ogq-adm-tbl thead th{ text-align:left; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--ogq-mute); padding:12px 14px; border-bottom:1px solid var(--ogq-border); background:#fafbfb; position:sticky; top:0; }
.ogq-adm-tbl td{ padding:12px 14px; border-bottom:1px solid #eef1f0; color:var(--ogq-ink); vertical-align:middle; }
.ogq-adm-tbl tbody tr:hover{ background:#f8faf9; }
.ogq-adm-tbl td.strong{ font-weight:600; color:#14211c; }
.ogq-adm-tbl td.mono{ font-family:var(--ogq-mono); font-size:.82rem; color:var(--ogq-soft); }
.ogq-adm-tbl td.memo{ color:var(--ogq-mute); max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ogq-adm-tbl td.act{ white-space:nowrap; }
.ogq-adm-empty{ padding:34px 14px; text-align:center; color:var(--ogq-mute); font-size:.9rem; }
.ogq-badge-ok{ display:inline-block; background:#e9f7f1; color:#00805a; border-radius:9999px; padding:3px 10px; font-size:.76rem; font-weight:700; }
.ogq-badge-no{ display:inline-block; background:#f3f4f5; color:#8a959a; border-radius:9999px; padding:3px 10px; font-size:.76rem; font-weight:700; }
.ogq-ic{ border:1px solid var(--ogq-border); background:#fff; border-radius:8px; width:32px; height:30px; cursor:pointer; color:var(--ogq-soft); margin-left:5px; }
.ogq-ic:hover{ background:#f3f6f6; } .ogq-ic.del:hover{ background:#fdecec; color:#e5484d; border-color:#f3b5b5; }
.ogq-chip{ border:1px solid var(--ogq-border); background:#fff; border-radius:9999px; padding:6px 12px; font-size:.8rem; font-weight:600; color:var(--ogq-soft); cursor:pointer; font-family:inherit; margin-right:5px; }
.ogq-chip:hover{ background:#e9f7f1; color:#00805a; border-color:#b5e5d7; }
.ogq-adm-ava{ width:38px; height:38px; border-radius:50%; object-fit:cover; }
.ogq-adm-ava.t{ display:inline-flex; align-items:center; justify-content:center; background:var(--ogq-accent); color:#fff; font-weight:700; }
.ogq-adm-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; }
.ogq-adm-stat{ background:#fff; border:1px solid var(--ogq-border); border-radius:16px; padding:22px 24px; }
.ogq-adm-stat .k{ font-family:var(--ogq-mono); font-size:.78rem; letter-spacing:.06em; color:var(--ogq-mute); text-transform:uppercase; }
.ogq-adm-stat .v{ font-size:2.6rem; font-weight:700; color:#14211c; line-height:1.1; margin:6px 0 2px; letter-spacing:-.02em; }
.ogq-adm-stat .s{ font-size:.82rem; color:var(--ogq-mute); }
.ogq-adm-card{ background:#fff; border:1px solid var(--ogq-border); border-radius:16px; padding:20px 22px; margin-bottom:18px; }
.ogq-adm-card h3{ font-weight:700; font-size:1.05rem; color:#14211c; margin-bottom:14px; }
.ogq-adm-2col{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ogq-adm-inline{ display:flex; gap:8px; }
.ogq-adm-fine{ font-size:.8rem; color:var(--ogq-mute); margin-top:8px; }
.ogq-adm-adminlist{ margin-top:14px; display:flex; flex-direction:column; gap:4px; }
.ogq-adm-adminrow{ display:flex; align-items:center; gap:10px; padding:8px 6px; }
.ogq-adm-adminrow .n{ font-weight:600; color:#14211c; font-size:.88rem; } .ogq-adm-adminrow .e{ color:var(--ogq-mute); font-size:.76rem; }
@media(max-width:820px){ .ogq-adm{ grid-template-columns:1fr; } .ogq-adm-nav{ flex-direction:row; overflow-x:auto; border-right:0; border-bottom:1px solid var(--ogq-border); } .ogq-adm-2col{ grid-template-columns:1fr; } }

/* admin modals */
.ogq-adm-mov{ position:fixed; inset:0; z-index:9720; background:rgba(16,24,20,.5); backdrop-filter:blur(3px); display:flex; align-items:flex-start; justify-content:center; padding:clamp(16px,6vh,60px) 16px; overflow-y:auto; font-family:var(--ogq-font); }
.ogq-adm-modal{ position:relative; width:100%; max-width:440px; background:#fff; border-radius:16px; box-shadow:0 30px 90px -20px rgba(20,33,28,.5); margin:auto; padding:20px 22px 22px; }
.ogq-adm-modal.wide{ max-width:600px; }
.ogq-adm-mtop{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.ogq-adm-mtop h3{ font-weight:700; font-size:1.1rem; color:#14211c; }
.ogq-adm-mx{ width:32px; height:32px; border-radius:50%; border:1px solid var(--ogq-border); background:#fff; color:var(--ogq-mute); cursor:pointer; }
.ogq-adm-form{ display:flex; flex-direction:column; gap:12px; }
.ogq-adm-form label{ display:flex; flex-direction:column; gap:5px; font-size:.82rem; font-weight:600; color:var(--ogq-soft); }
.ogq-adm-form input,.ogq-adm-form textarea{ border:1px solid var(--ogq-border); border-radius:9px; padding:10px 12px; font-family:inherit; font-size:.92rem; color:var(--ogq-ink); }
.ogq-adm-form input:focus,.ogq-adm-form textarea:focus{ outline:none; border-color:var(--ogq-accent); }
.ogq-adm-form input[readonly]{ background:#f3f6f6; color:var(--ogq-mute); }
.ogq-adm-mfoot{ display:flex; gap:8px; margin-top:18px; }
.ogq-adm-mfoot .ogq-adm-btn{ flex:1; }
.ogq-adm-msg{ color:var(--ogq-soft); font-size:.92rem; line-height:1.6; }
.ogq-adm-list{ display:flex; flex-direction:column; gap:2px; max-height:60vh; overflow-y:auto; }
.ogq-adm-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 10px; border-bottom:1px solid #eef1f0; }
.ogq-adm-row .t{ font-weight:600; color:#14211c; font-size:.9rem; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ogq-adm-row .s{ font-size:.78rem; color:var(--ogq-mute); white-space:nowrap; }
.ogq-adm-cmt{ padding:12px 10px; border-bottom:1px solid #eef1f0; }
.ogq-adm-cmt p{ color:#28322e; font-size:.92rem; line-height:1.55; white-space:pre-wrap; }
.ogq-adm-cmt .s{ font-size:.76rem; color:var(--ogq-mute); margin-top:5px; }
.ogq-adm-mid{ display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.ogq-adm-mid img,.ogq-adm-mid .ph{ width:56px; height:56px; border-radius:50%; object-fit:cover; }
.ogq-adm-mid .ph{ display:flex; align-items:center; justify-content:center; background:var(--ogq-accent); color:#fff; font-weight:700; font-size:1.3rem; }
.ogq-adm-mid .n{ font-weight:700; font-size:1.05rem; color:#14211c; } .ogq-adm-mid .e{ color:var(--ogq-mute); font-size:.84rem; }
.ogq-adm-kv{ display:flex; justify-content:space-between; padding:10px 4px; border-top:1px solid #eef1f0; font-size:.9rem; }
.ogq-adm-kv span{ color:var(--ogq-mute); } .ogq-adm-kv b{ color:#14211c; font-weight:600; }
.ogq-adm-role{ border:1px solid var(--ogq-border); border-radius:8px; padding:6px 10px; font-family:inherit; font-size:.82rem; color:var(--ogq-ink); background:#fff; cursor:pointer; }
.ogq-adm-role:focus{ outline:none; border-color:var(--ogq-accent); }
.ogq-adm-vbadge{ display:inline-block; background:#eef2ff; color:#3d5afe; border-radius:9999px; padding:3px 10px; font-size:.76rem; font-weight:700; }
.ogq-adm-nbadge{ display:inline-block; background:#f3f4f5; color:#8a959a; border-radius:9999px; padding:3px 10px; font-size:.76rem; font-weight:700; }
.ogq-adm-roleopt{ display:flex; gap:20px; margin-bottom:12px; flex-wrap:wrap; }
.ogq-adm-roleopt label{ display:inline-flex; align-items:center; gap:6px; font-size:.9rem; color:var(--ogq-ink); cursor:pointer; }
