.portal-tag{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--deep);background:var(--deep-soft);padding:3px 9px;border-radius:20px;margin-left:10px}.linklike,.portal-tag{font-family:var(--font-body)}.linklike{border:none;background:none;font-size:14px;color:var(--slate);cursor:pointer;padding:0}.linklike:hover{color:var(--ink)}.portal-main{min-height:60vh;padding-bottom:80px}.portal-auth{max-width:460px;padding-top:72px}.portal-auth h1{font-size:clamp(30px,4vw,40px)}.auth-card{margin-top:26px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:8px}.auth-card label{font-size:12px;font-weight:600;color:var(--slate)}.auth-card input{padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-family:var(--font-body);font-size:14px;background:var(--paper)}.auth-card input:focus{outline:none;border-color:var(--deep)}.auth-card .btn{margin-top:8px}.auth-error{color:var(--risk-high)}.auth-error,.auth-notice{font-size:13px;margin-top:6px}.auth-notice{color:var(--deep)}.portal-dash{padding-top:48px}.dash-head h1{font-size:clamp(28px,4vw,38px);margin-bottom:6px}.share-card{margin-top:26px;border:1px solid var(--deep);background:var(--deep-soft);border-radius:14px;padding:20px 22px}.share-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--deep)}.share-row{display:flex;gap:10px;margin-top:10px;align-items:center;flex-wrap:wrap}.share-link{font-family:var(--font-mono);font-size:14px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 14px;flex:1 1;min-width:0;overflow-wrap:anywhere}.share-row .btn{margin-top:0}.share-note{font-size:13px;color:var(--slate);margin:12px 0 0;line-height:1.5}.dash-jobs{margin-top:34px}.jobs-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.jobs-table td,.jobs-table th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}.jobs-table th{background:var(--paper);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--slate)}.jobs-table tr:last-child td{border-bottom:none}.jobs-table a{color:var(--deep);font-weight:500;text-decoration:none}.jobs-table a:hover{text-decoration:underline}@media (max-width:640px){.jobs-table{display:block;overflow-x:auto}}