/* HiveLuminary — forms + buttons (DESIGN_SPEC §9). Loaded LAST. Safari/iOS rules:
   16px inputs, appearance:none, unified 44px control height, date inputs without flex centring. */
.hl-field{display:grid;gap:6px;min-width:0}
.hl-label{font-size:var(--hl-fs-sm);font-weight:700;color:var(--hl-text-2)}
.hl-help{font-size:var(--hl-fs-xs);color:var(--hl-text-3)}
.hl-help--error{color:var(--hl-danger)}
.hl-input,.hl-select,.hl-textarea,.hl-btn{font-family:var(--hl-font);font-size:max(16px,1em);-webkit-appearance:none;appearance:none;border-radius:var(--hl-r-sm)}
.hl-input,.hl-select,.hl-textarea{width:100%;min-width:0;height:var(--hl-ctl-h);padding:0 14px;background:var(--hl-surface);color:var(--hl-text);border:1px solid var(--hl-border-strong);box-shadow:none;transition:border-color var(--hl-t),box-shadow var(--hl-t);margin:0}
.hl-input::placeholder,.hl-textarea::placeholder{color:var(--hl-text-3)}
.hl-input:focus,.hl-select:focus,.hl-textarea:focus{outline:none;border-color:var(--hl-primary);box-shadow:var(--hl-ring)}
.hl-input.is-invalid,.hl-select.is-invalid,.hl-textarea.is-invalid{border-color:var(--hl-danger)}
.hl-input:disabled,.hl-select:disabled,.hl-textarea:disabled{opacity:.6;cursor:not-allowed}
.hl-textarea{height:auto;min-height:120px;padding:12px 14px;line-height:1.45;resize:vertical}
.hl-select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2386809A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
.hl-input[type=date],.hl-input[type=time],.hl-input[type=datetime-local]{line-height:calc(var(--hl-ctl-h) - 2px);padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2386809A' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;display:block;min-height:var(--hl-ctl-h)}
.hl-input::-webkit-date-and-time-value{text-align:left;height:calc(var(--hl-ctl-h) - 2px);line-height:calc(var(--hl-ctl-h) - 2px)}
.hl-input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.hl-input[type=date],.hl-input[type=time],.hl-input[type=datetime-local]{position:relative}
.hl-input[type=search]::-webkit-search-decoration,.hl-input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}
.hl-input[type=number]{-moz-appearance:textfield}
.hl-input[type=number]::-webkit-inner-spin-button,.hl-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.hl-input[type=file]{padding:9px 14px;line-height:1.4}
.hl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--hl-ctl-h);padding:0 18px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:transform var(--hl-t-fast),box-shadow var(--hl-t),background var(--hl-t),border-color var(--hl-t),color var(--hl-t);white-space:nowrap;text-decoration:none;line-height:1;color:var(--hl-text);background:var(--hl-surface-3);user-select:none;-webkit-user-select:none}
.hl-btn--gold{background:var(--hl-grad-gold);color:var(--hl-text-on-gold);box-shadow:var(--hl-sh-sm)}
.hl-btn--gold:hover{box-shadow:var(--hl-glow);transform:translateY(-1px);color:var(--hl-text-on-gold)}
.hl-btn--ghost{background:transparent;border-color:var(--hl-border-strong);color:var(--hl-text)}
.hl-btn--ghost:hover{border-color:var(--hl-primary);color:var(--hl-primary-ink)}
.hl-btn--plum{background:var(--hl-grad-plum);color:#fff}.hl-btn--plum:hover{color:#fff;box-shadow:var(--hl-glow-violet)}
.hl-btn--soft{background:var(--hl-grad-gold-soft);color:var(--hl-primary-ink)}
.hl-btn--danger{background:var(--hl-danger);color:#fff}
.hl-btn--icon{width:var(--hl-ctl-h);padding:0}
.hl-btn--sm{height:36px;padding:0 12px;font-size:var(--hl-fs-sm)}
.hl-btn--sm.hl-btn--icon{width:36px}
.hl-btn--block{width:100%}
.hl-btn:active{transform:translateY(0) scale(.98)}
.hl-btn:disabled,.hl-btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.hl-btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.hl-check,.hl-radio{width:20px;height:20px;accent-color:var(--hl-gold);margin:0;flex:none}
.hl-checkline{display:flex;align-items:center;gap:10px;font-size:var(--hl-fs-sm);min-height:var(--hl-ctl-h)}
.hl-switch{position:relative;width:46px;height:26px;border-radius:var(--hl-r-full);background:var(--hl-border-strong);border:0;cursor:pointer;transition:background var(--hl-t);flex:none;padding:0}
.hl-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform var(--hl-t);box-shadow:var(--hl-sh-xs)}
.hl-switch[aria-checked="true"]{background:var(--hl-gold)}.hl-switch[aria-checked="true"]::after{transform:translateX(20px)}
.hl-form-grid{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:640px){.hl-form-grid--2{grid-template-columns:1fr 1fr}.hl-form-grid--3{grid-template-columns:repeat(3,1fr)}}
.hl-tabs{display:flex;border-bottom:1px solid var(--hl-border);margin-bottom:18px;gap:2px}
.hl-tab{flex:1;text-align:center;padding:10px 6px;cursor:pointer;font-weight:700;font-size:var(--hl-fs-sm);color:var(--hl-text-3);border:0;border-bottom:2px solid transparent;background:none;font-family:inherit;min-height:44px}
.hl-tab.is-active{color:var(--hl-primary-ink);border-color:var(--hl-primary)}
.hl-tab-panel{display:none}.hl-tab-panel.is-active{display:block}
.hl-link-btn{background:none;border:0;padding:0;color:var(--hl-primary-ink);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.hl-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;font-size:16px}
