.portal-shell{flex-direction:column;min-height:100vh;display:flex}.portal-main{padding-block:var(--space-xl) var(--space-2xl);flex:1}.portal-header{margin-bottom:var(--space-xl)}.portal-header h1{font-size:var(--text-2xl);letter-spacing:var(--tracking-display);text-wrap:balance}.portal-header p{color:var(--color-muted);margin-top:var(--space-xs)}.portal-card{border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-white);padding:var(--space-xl);margin-bottom:var(--space-lg)}.portal-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.portal-table th,.portal-table td{text-align:left;padding:var(--space-sm) var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule);vertical-align:top}.portal-table th{font-family:var(--font-display);font-weight:600}.form-stack{gap:var(--space-lg);max-width:40rem;display:grid}.form-field label{margin-bottom:var(--space-2xs);font-weight:600;display:block}.form-field .hint{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-2xs)}.form-field input,.form-field textarea,.form-field select{width:100%;padding:var(--space-sm) var(--space-md);border:2px solid color-mix(in oklab, var(--color-ink) 72%, var(--color-muted));background:var(--color-paper);border-radius:12px}.portal-page{padding-block:var(--space-xl) var(--space-2xl)}.portal-hero{gap:var(--gap-columns);min-height:min(88dvh,820px);padding-block:var(--space-xl);align-items:center;display:grid}@media (min-width:56rem){.portal-hero{grid-template-columns:1fr 1fr}.portal-hero-visual{border-radius:var(--radius-card);background:var(--color-paper-2);min-height:360px;overflow:hidden}.portal-hero-visual img{object-fit:cover;width:100%;height:100%}}.form-field textarea{resize:vertical;min-height:8rem}.form-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);border:var(--rule-hair) solid transparent;cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-ink);color:var(--color-paper)}.btn-secondary{border-color:var(--color-ink);color:var(--color-ink);background:0 0}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(1px)}.dialog-panel:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.field-error{color:var(--color-error);font-size:var(--text-xs);margin-top:var(--space-2xs)}.info-tooltip{width:1.1rem;height:1.1rem;margin-left:var(--space-2xs);border:var(--rule-hair) solid var(--color-muted);color:var(--color-muted);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;display:inline-flex}.dialog-backdrop{z-index:var(--z-modal);background:color-mix(in oklab, var(--color-night) 55%, transparent);padding:var(--space-lg);place-items:center;display:grid;position:fixed;inset:0}.dialog-panel{background:var(--color-paper);border-radius:var(--radius-card);border:var(--rule-hair) solid var(--color-rule);width:min(100%,32rem);max-height:min(90vh,40rem);padding:var(--space-xl);overflow:auto}.dialog-panel h2{font-size:var(--text-lg);margin-bottom:var(--space-md)}.dialog-actions{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg);display:flex}
