.harbor-card{border:1px solid var(--border-primary);border-radius:var(--radius-panel);background:var(--bg-primary);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden}.harbor-card__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3-5) var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-primary);display:flex}.harbor-card__heading{min-width:0}.harbor-card__title{color:var(--text-primary);letter-spacing:0;font-size:13px;font-weight:750}.harbor-card__subtitle{margin-top:var(--space-0-5);color:var(--text-muted);font-size:12px;line-height:1.4}.harbor-card__action{flex:none}.harbor-card__content{min-width:0;padding:var(--space-4);flex:1}.harbor-card__content--flush{padding:0}
.harbor-button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm);border:1px solid #0000;font-weight:750;line-height:1;transition:background-color .14s,border-color .14s,color .14s,opacity .14s;display:inline-flex}.harbor-button:disabled{opacity:.55;cursor:not-allowed}.harbor-button--sm{min-height:30px;padding:var(--space-1-5) var(--space-3);font-size:12px}.harbor-button--md{min-height:38px;padding:var(--space-2) var(--space-4);font-size:13px}.harbor-button--lg{min-height:44px;padding:var(--space-3) var(--space-5);font-size:15px}.harbor-button--primary{background:var(--accent-blue);color:var(--text-on-accent)}.harbor-button--primary:hover:not(:disabled){background:var(--primary-hover)}.harbor-button--secondary{background:var(--bg-primary);color:var(--text-secondary);border-color:var(--border-primary);box-shadow:none}.harbor-button--secondary:hover:not(:disabled){color:var(--text-primary);background:var(--surface-hover)}.harbor-button--danger{background:color-mix(in srgb, var(--accent-red) 12%, transparent);color:var(--accent-red);border-color:color-mix(in srgb, var(--accent-red) 34%, transparent);box-shadow:none}.harbor-button--danger:hover:not(:disabled){background:var(--accent-red);color:var(--text-on-danger)}.harbor-button--ghost{color:var(--text-secondary);box-shadow:none;background:0 0;border-color:#0000}.harbor-button--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.harbor-button__spinner{border:2px solid color-mix(in srgb, currentcolor 25%, transparent);border-radius:var(--radius-full);border-top-color:currentColor;width:13px;height:13px;animation:.8s linear infinite harbor-spin}@keyframes harbor-spin{to{transform:rotate(360deg)}}.harbor-field{gap:var(--space-1-5);width:100%;margin-bottom:var(--space-4);flex-direction:column;display:flex}.harbor-field__label{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;font-size:10.5px;font-weight:800}.harbor-control{border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-secondary);width:100%;min-height:40px;color:var(--text-primary);font-family:var(--font-sans);padding:var(--space-2-5) var(--space-3);outline:none;font-size:13px;transition:border-color .14s,box-shadow .14s,background-color .14s}.harbor-control::placeholder{color:var(--text-muted)}.harbor-control:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--focus-ring);background:var(--bg-primary)}.harbor-control:disabled{opacity:.65;cursor:not-allowed}.harbor-control.is-invalid{border-color:var(--accent-red)}.harbor-control--textarea{resize:vertical;min-height:92px;line-height:1.5}.harbor-control--select{cursor:pointer}.harbor-field__error{color:var(--accent-red);font-size:11px;line-height:1.35}.harbor-toggle-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) 0;display:flex}.harbor-toggle-row__label{color:var(--text-primary);font-size:13px}.harbor-toggle{border-radius:var(--radius-full);background:var(--bg-tertiary);cursor:pointer;border:0;width:42px;height:24px;padding:0;transition:background-color .14s;position:relative}.harbor-toggle.is-on{background:var(--accent-blue)}.harbor-toggle__thumb{border-radius:var(--radius-full);background:var(--bg-primary);width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform .14s;position:absolute;top:3px;left:3px}.harbor-toggle.is-on .harbor-toggle__thumb{transform:translate(18px)}
