/* Invite link, project-only home and owner member panel. styles.css tokens only. */
.invite-card .login-brand{margin-bottom:30px}
.invite-facts{display:grid;gap:0;margin:26px 0 0;border:1px solid var(--line);border-radius:16px;background:#fbfcfd}
.invite-facts>div{display:flex;justify-content:space-between;gap:14px;padding:12px 16px;border-top:1px solid var(--line)}
.invite-facts>div:first-child{border-top:0}
.invite-facts dt{color:var(--muted);font-size:13px}
.invite-facts dd{margin:0;font-weight:700;font-size:14px;text-align:right}
.login-card .login-button+.login-button{margin-top:10px}
.login-card .field{margin-top:26px}
.login-card .field+.login-button{margin-top:16px}
.login-links{display:flex;justify-content:center;gap:18px;margin-top:16px;font-size:13px}
.login-links a{color:var(--text-soft,#5f6672);text-decoration:underline;text-underline-offset:3px}
.login-code{font-size:18px;letter-spacing:.06em;text-align:center;font-variant-numeric:tabular-nums}
@media (max-width:480px){.login-code{font-size:15px;letter-spacing:0;padding-inline:8px}}

.project-list{display:grid;gap:0;padding:0;margin:0;list-style:none}
/* project tab cards (roadmap 2-1 ga-3) */
.project-list.pj-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pj{border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;background:#fff;min-width:0}
.pj.dim{background:#f8f9fb}
.pj-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.pj-top h3{margin:0;font-size:16px;line-height:1.35;overflow-wrap:anywhere;letter-spacing:-.02em}
.rn-link{border:0;background:none;padding:0;font:inherit;font-size:13px;font-weight:700;color:#1d4ed8;cursor:pointer;margin-left:8px;letter-spacing:0}
.rn-edit{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0;flex:1;min-width:0;position:relative}.rn-edit .input{flex:1;min-width:0}
.rn-count{font-size:12px;color:#64748b;white-space:nowrap}.rn-err{font-size:12.5px;color:#b42318;font-weight:600;width:100%}.rn-err[hidden]{display:none}
.rn-q{display:inline-grid;place-items:center;width:18px;height:18px;flex:none;border-radius:50%;border:1.5px solid #94a3b8;background:#fff;color:#64748b;font-size:11px;font-weight:800;cursor:help}
.rn-q:hover,.rn-q:focus,.rn-q.open{border-color:#334155;color:#15171a;outline:none}
.rn-q-tip{display:none;position:absolute;top:calc(100% + 8px);left:0;width:min(300px,78vw);background:#111827;color:#fff;font-size:12.5px;font-weight:500;line-height:1.55;padding:9px 11px;border-radius:10px;z-index:40;text-align:left}
.rn-q:hover .rn-q-tip,.rn-q:focus .rn-q-tip,.rn-q.open .rn-q-tip{display:block}
@media(max-width:700px){.rn-edit .input{flex-basis:100%}}
.pj-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:none;max-width:55%}
.pj-chip{padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.pj-chip.role{background:#f1f3f6;color:#4b5563}.pj-chip.ok{background:#e7f6ec;color:#17643a}.pj-chip.warn{background:#fff4e5;color:#8a4b08}
.pj-chip.bad{background:#fdecea;color:#a1271b}.pj-chip.wait{background:#e8f0ff;color:#1d4ed8}
.pj-facts{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:13px;color:#4b5563}.pj-facts b{font-weight:700;color:var(--text)}
/* the quota bar under the facts (queue row 75, mockup R4 "가") and the guest's first notice */
.pj-q{display:flex;flex-direction:column;gap:6px}.pj-q-cap{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#4b5563}.pj-q-cap b{color:var(--text)}
.pj-q .storage-usage-meter{margin-top:0}.pj-q-cap i{font-style:normal;font-weight:700}.pj-q.warn .pj-q-cap i{color:#8a4b08}.pj-q.bad .pj-q-cap i{color:#a1271b}
.storage-usage-meter.warn>span{color:#d99a0b}.storage-usage-meter.bad>span{color:#d9463b}
.gn{display:flex;flex-direction:column;gap:12px}.gn h3{margin:0}.gn ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.55;color:#374151}.gn b{color:#111827}.gn .form-actions{margin:0}
.pj-note{margin:0;font-size:13px;line-height:1.5;border-radius:10px;padding:9px 12px}
.pj-note.warn{background:#fff4e5;color:#8a4b08}.pj-note.bad{background:#fdecea;color:#a1271b}.pj-note.wait{background:#eef4ff;color:#1e3a8a}
.pj-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:auto}
.pj-acts .btn[disabled]{opacity:.45;cursor:default}
.pj-link{appearance:none;border:0;background:none;margin-left:auto;padding:8px 2px;font:inherit;font-size:13px;font-weight:700;color:#4b5563;text-decoration:underline;cursor:pointer}
.pj-kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 24px;margin:16px 0;font-size:14px}
.pj-kv dt{color:var(--muted)}.pj-kv dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.pj-hint{margin:14px 0 0;font-size:13px;line-height:1.6;color:var(--muted)}
#folderDialog .form-actions{margin-top:18px;justify-content:space-between}
@media(max-width:900px){.project-list.pj-grid{grid-template-columns:minmax(0,1fr)}}
.project-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4px;border-top:1px solid var(--line)}
.project-row:first-child{border-top:0;padding-top:4px}
.project-row:last-child{padding-bottom:4px}
.project-row h3{margin:0 0 4px;font-size:16px;letter-spacing:-.02em}
.project-row .meta{color:var(--muted);font-size:13px}
.project-row .state{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
.project-row .state small{color:var(--muted);font-size:12px}
.project-row .btn.primary.is-requesting{opacity:.85}
.project-row .state.inline{flex-direction:row;align-items:center}
.member-shell .card+.card,.view-panel>.card+.card{margin-top:14px}
.card-note{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:14px}
.account-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.btn.danger-quiet{color:var(--red,#b42318)}

.member-panel section+section{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.member-panel h3{margin:0 0 4px;font-size:15px}
.invite-options{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end;margin-top:14px}
.team-dialog .invite-options{align-items:start}
.invite-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:14px}
.invite-link .input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}
.people{list-style:none;margin:10px 0 0;padding:0}
.people li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.people li:first-child{border-top:0}
.people .who strong{display:block;font-size:14px}
.people .who span{color:var(--muted);font-size:12px}
.people .row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.people select.input{min-height:36px;width:auto;padding-right:30px}

@media(max-width:680px){
  .project-row{flex-direction:column;align-items:stretch}
  .project-row .state{align-items:stretch}
  .project-row .state .btn{width:100%}
  .project-row .state.inline{flex-direction:column;align-items:stretch}
  .invite-options{grid-template-columns:1fr}
  .inline-form,.invite-link{grid-template-columns:1fr}
  .people li{flex-direction:column;align-items:flex-start}
  .people .row-actions{justify-content:flex-start}
}

.member-shell .page-heading{margin-top:30px}
.login-card .notice-line{margin:18px 0 0;padding:12px 14px;border-radius:12px;background:#f6f7f9;color:var(--text-soft,#5f6672);font-size:13.5px;line-height:1.6}
.login-card .notice-line.error{background:#fff4f2;color:#9a2c1d}
.login-card .step[hidden]{display:none!important}
.login-card .field-help{display:block;margin-top:6px;color:var(--muted);font-size:12px}
.project-row .btn.is-requesting::after{content:'';width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:wfix-spin .7s linear infinite;opacity:.7}
.empty-line{margin:0;color:var(--muted);font-size:14px}

/* Member panel (main app) */
.team-dialog{width:min(680px,calc(100% - 28px))}
.team-dialog .service-dialog-card{max-height:calc(100vh - 48px);overflow:auto}
.check-line{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:14px}
.check-line input{width:18px;height:18px;margin:0}
.team-create{margin-top:14px;justify-content:flex-start}
.team-seat-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.team-seat-line h3{margin:0}
.team-seat-line .seat-btn{align-self:center}
.team-next{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}
.team-locked{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}
.team-confirm .inline-guidance{margin-top:14px}
.team-confirm .form-actions{margin-top:16px;justify-content:flex-end}
.btn.primary.danger{background:var(--red,#b42318);border-color:var(--red,#b42318);color:#fff}
.project-join h3{margin:0}
#projects .empty-line{padding:8px 4px}
.received-title{margin:0 0 6px}
.received-card{border:1px solid #cfe0ff}
.error-note{color:var(--red,#b42318)}
.team-pending-title{margin:16px 0 0}
.member-panel .field .inline-form{margin-top:6px}
.member-panel section>.field{margin-top:14px}
