/* Investor portal + admin — shares styles.css tokens */
.app{max-width:720px;margin:0 auto;padding:0 18px 60px;min-height:100vh;min-height:100svh}
.app-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 10px;padding-top:max(16px,env(safe-area-inset-top))}
.app-top img{width:96px}
.app-top .link-btn{font-size:15px}
.link-btn{background:none;border:0;color:var(--muted);font:inherit;cursor:pointer;padding:6px 2px;text-decoration:none}
.link-btn:hover{color:var(--white)}
.view[hidden]{display:none!important}
.auth{max-width:420px;margin:7vh auto 0}
.auth .logo{width:min(64vw,260px);margin:0 auto 22px}
.auth h1{font-size:clamp(30px,8vw,40px);text-align:center;margin-bottom:8px}
.auth .sub{text-align:center;margin:0 0 6px}
.auth .form{margin-top:18px}
.btn.full{width:100%;padding:15px 20px;font-size:17px}
.btn.small{font-size:15px;padding:10px 18px;box-shadow:none}
.btn.ghost{background:transparent;border:1px solid #2a3a55;box-shadow:none;color:var(--text)}
.btn.ghost:hover{background:#0f1726;border-color:var(--blue-hi)}
.btn.danger{background:transparent;border:1px solid #6b2430;color:#ff9aa5;box-shadow:none}
.btn.danger:hover{background:#2a0d12}
input[type=password],input[type=date],input[type=number],input[type=url],input[type=file]{width:100%;font:inherit;font-size:16px;color:var(--white);background:#070b13;border:1px solid #2a3a55;border-radius:12px;padding:13px 14px;appearance:none;-webkit-appearance:none}
input[type=file]{padding:10px}
input[type=date]{min-height:50px}
input[type=password]:focus,input[type=date]:focus,input[type=number]:focus,input[type=url]:focus{border-color:var(--blue-hi);outline:none;box-shadow:0 0 0 3px rgba(77,142,240,.3)}
.err{background:#2a0d12;border:1px solid #6b2430;color:#ffb3bb;border-radius:12px;padding:11px 14px;font-size:15px;margin:0}
.ok{background:#0b2216;border:1px solid #1f5c3a;color:#a6f0c4;border-radius:12px;padding:11px 14px;font-size:15px;margin:0}
.a2hs{margin:22px auto 0;max-width:420px;display:flex;gap:12px;align-items:flex-start;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:14px;font-size:14px;color:var(--muted)}
.a2hs img{width:40px;height:40px;border-radius:9px;flex:0 0 40px}
.a2hs b{color:var(--white)}
.a2hs .x{margin-left:auto;background:none;border:0;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}
.share-ico{display:inline-block;vertical-align:-3px;width:15px;height:17px}
.hello{margin:10px 0 18px}
.hello h1{font-size:clamp(30px,8vw,42px);margin:0 0 4px}
.hello p{margin:0;color:var(--muted)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;margin:0 0 14px}
.panel h2{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-hi);margin:0 0 12px;font-weight:700}
.invested{background:linear-gradient(135deg,#0f1f3d,#0b1322);border-color:#24406e}
.big{font-size:clamp(36px,10vw,48px);font-weight:800;color:var(--white);letter-spacing:-.02em;line-height:1.1;margin:0}
.big-label{color:var(--muted);margin:2px 0 14px;font-size:15px}
.rows{list-style:none;margin:0;padding:0;display:grid;gap:0}
.rows li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.rows li:first-child{border-top:0}
.rows .r-main{color:var(--white);font-weight:600}
.rows .r-sub{color:var(--muted);font-size:14px}
.rows .r-right{text-align:right;white-space:nowrap}
.terms{white-space:pre-wrap;color:var(--text);margin:0;font-size:15px}
.muted{color:var(--muted)}
.empty{color:var(--muted);margin:0;font-size:15px}
.docs a{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);color:var(--white);text-decoration:none;font-weight:600}
.docs a:first-child{border-top:0}
.docs .ico{flex:0 0 36px;height:36px;border-radius:9px;background:#13254a;color:var(--blue-hi);display:grid;place-items:center;font-size:12px;font-weight:800}
.docs .d-sub{display:block;color:var(--muted);font-size:13px;font-weight:400}
.update{padding:14px 0;border-top:1px solid var(--line)}
.update:first-of-type{border-top:0;padding-top:0}
.update h3{margin:0 0 2px;font-size:18px}
.update time{color:var(--muted);font-size:13px}
.update p{white-space:pre-wrap;margin:8px 0 0;font-size:15px}
.contact a{font-weight:700;word-break:break-all}
details.pw summary{cursor:pointer;color:var(--muted);font-size:15px;padding:4px 0}
details.pw .form{margin-top:12px}
.fine{color:#66758c;font-size:13px;text-align:center;margin:26px 0 0}

/* admin */
.tabs{display:flex;gap:6px;margin:6px 0 18px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tabs button{flex:0 0 auto;font:inherit;font-size:15px;font-weight:600;color:var(--muted);background:#070b13;border:1px solid #2a3a55;border-radius:999px;padding:9px 16px;cursor:pointer}
.tabs button[aria-selected=true]{background:var(--blue);border-color:var(--blue);color:var(--white)}
.bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px}
.bar h2{margin:0}
.inv{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin:0 0 12px}
.inv-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.inv-name{color:var(--white);font-weight:700;font-size:18px}
.inv-email{color:var(--muted);font-size:14px;word-break:break-all}
.badge{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:3px 9px;letter-spacing:.04em;white-space:nowrap}
.badge.active{background:#0b2216;color:#a6f0c4;border:1px solid #1f5c3a}
.badge.disabled{background:#2a0d12;color:#ffb3bb;border:1px solid #6b2430}
.badge.pending{background:#2a220b;color:#f0d9a6;border:1px solid #5c4a1f}
.inv-meta{color:var(--text);font-size:15px;margin:10px 0}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.inv-docs{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.inv-docs .doc{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:14px;padding:6px 0}
.inv-docs .doc a{color:var(--white);word-break:break-word}
.mini{background:none;border:0;color:#ff9aa5;font:inherit;font-size:13px;cursor:pointer}
.inv-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px}
.inv-row .full{grid-column:1/-1}
.inv-row label{font-size:13px;color:var(--muted);font-weight:600}
.row-x{justify-self:end}
.sheet{position:fixed;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:flex-end;justify-content:center;z-index:20;padding:0}
.sheet[hidden]{display:none}
.sheet-card{background:#0a0f1a;border:1px solid var(--line);border-radius:20px 20px 0 0;width:100%;max-width:640px;max-height:92vh;overflow:auto;padding:20px 18px calc(24px + env(safe-area-inset-bottom))}
@media(min-width:700px){.sheet{align-items:center}.sheet-card{border-radius:20px}}
.sheet-card h2{font-size:24px;margin:0 0 4px}
.temp{font:700 26px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--white);background:#070b13;border:1px dashed var(--blue-hi);border-radius:12px;padding:16px;text-align:center;letter-spacing:.06em;margin:14px 0;user-select:all;-webkit-user-select:all}
.app-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin:0 0 12px}
.app-card p{margin:4px 0;font-size:15px}
.sep{height:1px;background:var(--line);margin:16px 0}

.app .form{grid-template-columns:1fr}
.app .form .field{grid-column:auto}
.inv-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.inv-row input,.inv-row select{min-width:0}
.app .form .inv-row .full{grid-column:1/-1}

.chk{display:flex;align-items:center;gap:10px;margin:2px 0 4px;font-size:16px;cursor:pointer;color:var(--text)}
.chk input{width:22px;height:22px;margin:0;accent-color:var(--blue);flex:none}
.chk input:disabled+span{color:var(--muted)}
.chk-note{font-size:13px;margin:0 0 10px}
.btn[hidden]{display:none}
.app-card .email-badge{margin:8px 0 4px}
.inv-terms{margin:12px 0 0}.inv-terms label{display:block;font-size:14px;color:var(--muted);margin:0 0 6px}.inv-terms textarea{min-height:90px}.inv-terms .btn{margin-top:8px}
.sales .rows{margin-top:6px;border-top:1px solid var(--line)}
