:root{--control-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body{font-family:var(--control-font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,textarea,select{font-family:var(--control-font);font-size:.9375rem;line-height:1.35;letter-spacing:0}
button{font-weight:600}
.primary,.secondary,.text-button,.back-button,.nav-item,.icon-button,.storage-mini,.profile-mini,.segmented button,.category-row button,.type-picker button,.invite-list button,.event-card button,.rsvp-choice button,.settings-nav button,.market-filter button,.product-card,.family-row,.person-tile{font-weight:600}
.segmented button.active,.category-row button.active,.type-picker button.active{font-weight:650}
.primary,.secondary{min-height:42px;padding:.7rem 1rem}
.primary.full,.secondary.full{min-height:46px}
.nav-item{font-size:.9rem;line-height:1.3}
.text-button,.back-button{font-size:.875rem;line-height:1.4}
.segmented button,.category-row button,.settings-nav button,.market-filter button{font-size:.875rem}
.pill{font-size:.75rem;font-weight:650;line-height:1.2;letter-spacing:.01em}
.eyebrow{font-size:.75rem;font-weight:700;line-height:1.35;letter-spacing:.11em}
.login-card label:not(.check),.composer-panel label,.form-grid label{font-size:.875rem;font-weight:600;line-height:1.35;color:#4d454c}
input,textarea,select,.login-card input,.composer-panel input,.composer-panel textarea,.composer-panel select,.form-grid input,.form-grid select,.form-grid textarea{min-height:44px;border:1px solid #d8cbd0;border-radius:12px;padding:.72rem .8rem;background:#fff;color:var(--ink);font-weight:400;outline:none;box-shadow:0 1px 2px rgba(70,40,50,.025);transition:border-color .16s,box-shadow .16s,background .16s}
textarea,.composer-panel textarea,.form-grid textarea{line-height:1.55;min-height:104px}
input::placeholder,textarea::placeholder{color:#999096;opacity:1}
input:hover,textarea:hover,select:hover{border-color:#c9b6be}
input:focus-visible,textarea:focus-visible,select:focus-visible,.login-card input:focus-visible{border-color:var(--berry-soft);box-shadow:0 0 0 3px rgba(201,86,125,.14)}
button:focus-visible{outline:3px solid rgba(201,86,125,.22);outline-offset:2px}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#7d6e75 50%),linear-gradient(135deg,#7d6e75 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:2.2rem}
.table-card th{font-size:.75rem;font-weight:650;letter-spacing:.06em}.table-card td{font-size:.9rem;line-height:1.4}.table-card td small{font-size:.78rem}
small{line-height:1.4}
@media(max-width:780px){button,input,textarea,select{font-size:1rem}.nav-item{font-size:.875rem}.primary,.secondary{min-height:46px}}
