.ui-btn{min-height:48px;transition:transform .15s var(--ease-out), background .2s, opacity .2s;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:16px;font-weight:600;display:inline-flex}.ui-btn:active:not(:disabled){transform:scale(.97)}.ui-btn:disabled{opacity:.5;cursor:default}.ui-btn--block{width:100%}.ui-btn--primary{background:var(--primary);color:var(--on-primary);box-shadow:0 6px 18px color-mix(in srgb, var(--primary) 35%, transparent)}.ui-btn--secondary{background:var(--surface-2);color:var(--text)}.ui-btn--ghost{color:var(--primary);background:0 0}.ui-btn--danger{background:var(--danger-soft);color:var(--danger)}.ui-btn--sm{min-height:36px;padding:0 14px;font-size:14px}.ui-icon-btn{background:var(--surface-2);width:40px;height:40px;color:var(--text);transition:transform .15s var(--ease-out);border:0;border-radius:999px;place-items:center;display:inline-grid}.ui-icon-btn:active{transform:scale(.92)}.ui-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:16px}.ui-card--pressable{text-align:left;width:100%;transition:transform .18s var(--ease-out), box-shadow .2s;display:block}.ui-card--pressable:active{transform:scale(.98)}.ui-field{gap:6px;display:grid}.ui-field__label{color:var(--text-2);padding-left:4px;font-size:14px;font-weight:600}.ui-field__hint{color:var(--text-3);padding-left:4px;font-size:13px}.ui-field__error{color:var(--danger);padding-left:4px;font-size:13px}.ui-input{border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);appearance:none;outline:none;width:100%;min-width:0;min-height:50px;padding:12px 16px;font-size:17px;transition:border-color .2s,box-shadow .2s}.ui-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 18%, transparent)}.ui-input[type=date]{align-items:center;display:flex}textarea.ui-input{resize:vertical;min-height:96px}.ui-list{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden}.ui-list__item{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:54px;padding:10px 16px;font-size:16px;display:flex}.ui-list__item+.ui-list__item{border-top:1px solid var(--border)}button.ui-list__item:active,a.ui-list__item:active{background:var(--surface-2)}.ui-list__icon{background:var(--primary-soft);width:32px;height:32px;color:var(--primary);border-radius:9px;flex:none;place-items:center;display:grid}.ui-list__body{flex:1;min-width:0}.ui-list__title{font-weight:500}.ui-list__subtitle{color:var(--text-2);font-size:13px}.ui-list__trail{color:var(--text-3);align-items:center;gap:6px;font-size:15px;display:flex}.ui-section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin:24px 4px 8px;font-size:13px;font-weight:600}.ui-toggle{background:var(--surface-3);width:51px;height:31px;transition:background .25s var(--ease-out);border:0;border-radius:999px;flex:none;padding:0;position:relative}.ui-toggle:after{content:"";width:27px;height:27px;transition:transform .25s var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #0003}.ui-toggle[aria-checked=true]{background:var(--success)}.ui-toggle[aria-checked=true]:after{transform:translate(20px)}.ui-toggle:disabled{opacity:.45}.ui-segmented{background:var(--surface-2);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid}.ui-segmented button{min-height:34px;color:var(--text-2);background:0 0;border:0;border-radius:9px;font-size:14px;font-weight:500;transition:background .2s}.ui-segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.ui-skeleton{background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 50%, var(--surface-2) 100%);background-size:200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite shimmer;display:block}.ui-spinner{border:2.5px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}.ui-badge{background:var(--surface-2);color:var(--text-2);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.ui-badge--primary{background:var(--primary-soft);color:var(--primary)}.ui-alert{border-radius:var(--radius-md);padding:12px 14px;font-size:14px}.ui-alert--error{background:var(--danger-soft);color:var(--danger)}.ui-alert--info{background:var(--info-soft);color:var(--info)}.ui-alert--success{background:var(--success-soft);color:var(--success)}.ui-empty{text-align:center;color:var(--text-2);justify-items:center;gap:8px;padding:32px 16px;display:grid}.ui-empty__icon{background:var(--primary-soft);width:56px;height:56px;color:var(--primary);border-radius:18px;place-items:center;margin-bottom:4px;display:grid}.ui-empty__title{color:var(--text);font-weight:600}.ui-toast-region{left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 12px);padding:0 var(--gutter);pointer-events:none;z-index:100;justify-items:center;gap:8px;display:grid;position:fixed}.ui-toast{pointer-events:auto;background:var(--text);max-width:420px;color:var(--bg);box-shadow:var(--shadow-lg);animation:rise-in .3s var(--ease-out) both;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;font-size:15px;display:flex}.ui-toast button{color:var(--primary-soft);background:0 0;border:0;padding:0;font-weight:700}.ui-sheet-backdrop{z-index:90;background:#140a0561;animation:.2s both fade-in;position:fixed;inset:0}.ui-sheet{max-height:calc(100dvh - var(--safe-top) - 24px);-webkit-overflow-scrolling:touch;background:var(--bg-elevated);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:8px var(--gutter) calc(var(--safe-bottom) + 20px);z-index:91;box-shadow:var(--shadow-lg);animation:sheet-up .35s var(--ease-out) both;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.ui-sheet__grabber{background:var(--border-strong);border-radius:3px;width:38px;height:5px;margin:0 auto 12px}.ui-sheet__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.ui-sheet__title{font-family:var(--font-display);font-size:20px;font-weight:700}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.ui-stack{gap:16px;display:grid}.ui-reorder__row{background:var(--surface);align-items:center;display:flex;position:relative}.ui-reorder__row+.ui-reorder__row{border-top:1px solid var(--border)}.ui-reorder__row--drag{z-index:5;box-shadow:var(--shadow-lg);border-radius:14px}.ui-reorder__body{flex:1;min-width:0}.ui-reorder__grip{width:48px;color:var(--text-3);touch-action:none;cursor:grab;background:0 0;border:0;flex:none;align-self:stretch;place-items:center;display:grid}
