:root{--bg:#f4f6f9;--card:#fff;--text:#1d2733;--dim:#5b6776;--line:#d8dee6;--accent:#1f5fa8;--accent-ink:#fff;--error:#b42318;--warn-bg:#fff4d6;--warn-ink:#6b4e00;--ok:#1e7b3a;--overlay:#10182073}*{box-sizing:border-box}body{margin:0}body:not(.ui-mounted){background:var(--bg)}body:not(.ui-mounted) #root{min-height:100vh}.frame{min-height:100vh;color:var(--text);background:var(--bg);flex-direction:column;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;display:flex}body.ui-mounted{overflow:hidden}body.ui-mounted #root{height:calc(100% - 30px)}.webbar{box-sizing:border-box;color:#fff;white-space:nowrap;background:#13304f;align-items:center;gap:12px;height:30px;padding:0 10px;font:12px/1.2 Segoe UI,system-ui,-apple-system,sans-serif;display:flex;overflow:hidden}.webbar .wb-brand{font-size:13px;font-weight:600}.webbar .wb-brand span{font-weight:300}.webbar .wb-sep{background:#3d5a7b;align-self:stretch;width:1px;margin:6px 0}.webbar .wb-project{text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.webbar .wb-dim{color:#c9d6e6}.webbar .wb-grow{flex:1}.webbar a,.webbar button{font:inherit;color:#fff;cursor:pointer;background:0 0;border:1px solid #3d5a7b;border-radius:4px;padding:2px 9px;text-decoration:none}.webbar a:hover,.webbar button:hover{background:#1d4470}.webbar select{font:inherit;color:#13304f;border-radius:4px;max-width:220px;padding:1px 4px}.webbar .wb-plan{color:#1e7b3a;background:#e3f3e8;border-radius:999px;padding:1px 8px}.webbar .wb-plan.off{color:#b42318;background:#fde8e6}.frame .topbar{color:#fff;background:#13304f;justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;display:flex}.frame .topbar-right{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.frame .topbar .dim{color:#c9d6e6}.frame .brand{font-size:20px;font-weight:600}.frame .brand .light{font-weight:300}.frame .content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:24px}.frame .footer{color:var(--dim);justify-content:space-between;padding:12px 24px;font-size:13px;display:flex}.frame .card{background:var(--card);border:1px solid var(--line);border-radius:8px;margin-bottom:20px;padding:20px 24px}.frame .card.narrow{max-width:440px;margin-left:auto;margin-right:auto}.frame h1{margin:0 0 8px;font-size:22px}.frame h2{margin:0 0 12px;font-size:17px}.frame .dim{color:var(--dim)}.frame label{margin:12px 0 4px;font-weight:600;display:block}.frame input,.frame select{font:inherit;border:1px solid var(--line);border-radius:6px;width:100%;padding:8px 10px}.frame select{width:auto;min-width:200px}.frame .btn{font:inherit;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:6px;padding:8px 16px}.frame .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.frame .btn.block{width:100%;margin-top:16px}.frame .btn.small{padding:4px 10px;font-size:13px}.frame .btn:disabled{opacity:.55;cursor:default}.frame .link-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.frame a{color:var(--accent)}.frame .topbar a{color:#fff}.frame .fine{margin-top:14px;font-size:13px}.frame .form-error{color:var(--error)}.frame .banner{justify-content:space-between;gap:12px;padding:10px 24px;display:flex}.frame .banner.warn{background:var(--warn-bg);color:var(--warn-ink)}.frame .banner.error{color:var(--error);background:#fde8e6;border-radius:6px;margin-bottom:16px}.frame .banner.notice{border-radius:6px;margin-bottom:16px}.frame .plan-badge{color:var(--accent);background:#e3ecf7;border-radius:999px;padding:2px 10px;font-size:13px;display:inline-block}.frame .topbar .plan-badge.ok{color:var(--ok);background:#e3f3e8}.frame .plan-badge.off{color:var(--error);background:#fde8e6}.frame .org-name{font-weight:600}.frame .user{align-items:center;gap:10px;display:inline-flex}.frame .project-list{margin:12px 0 0;padding:0;list-style:none}.frame .project-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.frame .project-link{color:var(--text);flex-direction:column;text-decoration:none;display:flex}.frame .project-link:hover strong{text-decoration:underline}.frame .sharing{align-items:center;gap:8px;font-size:13px;display:inline-flex}.frame .inline-form{gap:10px;display:flex}.frame .empty{color:var(--dim);font-style:italic}.frame pre{white-space:pre-wrap;background:var(--bg);max-height:320px;padding:8px;font-size:12px;overflow:auto}.fatal{color:var(--error);background:#fde8e6;margin:0;padding:12px 24px}.frame .sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.frame .hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.frame .code-input{letter-spacing:.2em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:20px}.frame .small{font-size:13px}.frame .steps{padding-left:20px}.frame .qr{max-width:100%;height:auto;margin:8px auto;display:block}.frame .secret code,.frame .recovery-codes code{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px}.frame .recovery-codes{columns:2;padding-left:24px}.frame label.check{align-items:flex-start;gap:8px;font-weight:400;display:flex}.frame label.check input{width:auto}.frame.confirm-overlay{z-index:10000;background:var(--overlay);justify-content:center;align-items:center;min-height:0;padding:16px;position:fixed;inset:0}.frame.confirm-overlay .card{width:100%;margin:0}
