/* Workspace compositions. Shared colours and controls live in app.css. */
.workspace-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 32px; }
.workspace-heading h1 { margin:0 0 8px; font-size:clamp(28px,4vw,40px); }
.workspace-heading p { max-width:54ch; margin:0; color:var(--nmc-muted); }
.workspace-heading .eyebrow { margin-bottom:12px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--nmc-muted); }
.workspace-heading > .btn, .workspace-heading > .actions { flex-shrink:0; }
.workspace-heading .actions { display:flex; gap:8px; }
.workspace-back { display:inline-flex; align-items:center; min-height:44px; gap:8px; margin-bottom:16px; color:var(--nmc-muted); text-decoration:none; font-weight:700; }
.collection-page { max-width:1120px; margin:auto; }
.collection-bar { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:20px; }
.collection-bar h2 { display:flex; align-items:center; gap:10px; margin:0; font-size:16px; }
.collection-count { display:inline-grid; place-items:center; min-width:26px; height:26px; padding-inline:6px; border-radius:8px; color:var(--nmc-muted); background:var(--nmc-bg-2); font-size:13px; font-weight:700; }
.collection-bar .product-search { flex:0 1 300px; }
.collection-feedback { padding:32px; text-align:center; border:1px dashed var(--nmc-line); border-radius:var(--radius-panel); }
.list-collection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.list-tile { display:grid; grid-template-columns:48px minmax(0,1fr); gap:20px; padding:24px; border:1px solid var(--nmc-line); border-radius:var(--radius-panel); background:var(--nmc-surface-solid); color:var(--nmc-ink); text-decoration:none; transition:border-color .18s, box-shadow .18s; }
.list-tile:hover { color:var(--nmc-ink); border-color:var(--nmc-primary); box-shadow:var(--nmc-shadow-sm); }
.list-tile__icon { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:var(--nmc-primary-soft); color:var(--nmc-primary); font-size:24px; }
.list-tile:nth-child(3n+2) .list-tile__icon { color:#357563; background:#e8f1eb; }
.list-tile:nth-child(3n+3) .list-tile__icon { color:#876531; background:#f5eddd; }
.list-tile__body { min-width:0; }
.list-tile h2 { margin:4px 0 8px; font-size:22px; overflow-wrap:anywhere; }
.list-tile__recipient { margin:0; font-size:13px; color:var(--nmc-muted); }
.list-tile__description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:0; font-size:14px; color:var(--nmc-muted); }
.list-tile footer { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; padding-top:16px; border-top:1px solid var(--nmc-line); font-size:14px; color:var(--nmc-muted); }
.list-tile footer .ph { color:var(--nmc-primary); font-size:20px; }
.welcome-panel { display:grid; justify-items:center; padding:64px 24px; border:1px solid var(--nmc-line); border-radius:var(--radius-panel); background:var(--nmc-surface-solid); text-align:center; }
.welcome-panel__icon { display:grid; place-items:center; width:72px; height:72px; margin-bottom:24px; border-radius:24px; background:var(--nmc-primary-soft); color:var(--nmc-primary); font-size:36px; }
.welcome-panel p { max-width:42ch; margin:0 0 24px; color:var(--nmc-muted); }
.archive-disclosure { margin-top:32px; border-top:1px solid var(--nmc-line); }
.archive-disclosure summary { display:flex; align-items:center; gap:10px; min-height:64px; cursor:pointer; font-weight:700; color:var(--nmc-muted); }
.archive-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-top:1px solid var(--nmc-line); }
.guide-page { max-width:1040px; margin:auto; }
.guide-identity { display:flex; gap:20px; align-items:center; }
.guide-avatar { display:grid; flex:0 0 64px; place-items:center; width:64px; height:64px; border-radius:22px; color:var(--nmc-primary); background:var(--nmc-primary-soft); font-size:28px; font-weight:800; }
.guide-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:24px; align-items:start; }
.guide-main, .guide-aside { display:grid; gap:24px; min-width:0; }
.guide-section { min-width:0; border:1px solid var(--nmc-line); border-radius:var(--radius-panel); padding:24px; background:var(--nmc-surface-solid); scroll-margin-top:24px; }
.guide-section > header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.guide-section h2 { display:flex; align-items:center; gap:10px; margin:0; font-size:20px; }
.guide-section h2 .ph { color:var(--nmc-primary); }
.guide-section > p { color:var(--nmc-muted); font-size:14px; margin:8px 0 0; }
.guide-section .profile-summary-list { margin:0; }
.guide-section .profile-summary-list li { padding:12px 0; border:0; border-bottom:1px solid var(--nmc-line); border-radius:0; background:transparent; }
.guide-section .profile-summary-list li:last-child { border-bottom:0; }
.guide-section .profile-summary-list span { white-space:normal; overflow-wrap:anywhere; }
.guide-links { list-style:none; margin:0; padding:0; }
.guide-links li + li { border-top:1px solid var(--nmc-line); }
.guide-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; padding-block:8px; color:var(--nmc-ink); font-weight:700; text-decoration:none; }
.guide-links small { display:block; color:var(--nmc-muted); font-weight:400; }
.guide-facts { display:grid; gap:0; margin:0; }
.guide-facts > div { display:grid; grid-template-columns:minmax(100px,1fr) minmax(0,1.5fr); gap:16px; padding:12px 0; border-bottom:1px solid var(--nmc-line); }
.guide-facts > div:last-child { border:0; }
.guide-facts dt { color:var(--nmc-muted); font-size:14px; }
.guide-facts dd { margin:0; font-weight:700; overflow-wrap:anywhere; }
.guide-privacy { color:var(--nmc-muted); font-size:14px; line-height:1.6; }
.guide-privacy .ph { color:var(--nmc-mint); margin-right:4px; }
.guide-visibility { padding-top:16px; margin-top:16px; border-top:1px solid var(--nmc-line); }
.guide-visibility h3 { font-size:14px; margin-bottom:8px; }
.guide-visibility p { font-size:13px; margin-bottom:8px; }
.guide-editor-nav { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:0 0 20px; margin-bottom:24px; border-bottom:1px solid var(--nmc-line); }
.guide-editor-nav a { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 12px; text-decoration:none; color:var(--nmc-muted); border-radius:var(--radius-control); }
.guide-editor-nav a:first-child { margin-right:auto; padding-left:0; }
.guide-editor-nav a[aria-current] { color:var(--nmc-primary); background:var(--nmc-primary-soft); }
.person-collection { display:grid; gap:12px; }
.person-tile { display:flex; align-items:center; gap:20px; padding:20px 24px; border:1px solid var(--nmc-line); border-radius:var(--radius-panel); background:var(--nmc-surface-solid); text-decoration:none; color:var(--nmc-ink); }
.person-tile > div { flex:1; min-width:0; }
.person-tile h2 { margin:0 0 4px; font-size:20px; overflow-wrap:anywhere; }
.person-tile p { margin:0; color:var(--nmc-muted); font-size:14px; }
.person-tile .guide-avatar { flex-basis:48px; width:48px; height:48px; border-radius:16px; font-size:22px; }
.person-tile:hover { border-color:var(--nmc-primary); }
.owner-context { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; margin:0 0 24px; padding:16px 20px; background:var(--nmc-surface-solid); border:1px solid var(--nmc-line); border-radius:var(--radius-panel); }
.owner-context a { display:inline-flex; min-height:44px; align-items:center; gap:8px; font-weight:700; text-decoration:none; }
.owner-context .owner-manage-progress { width:240px; margin:0 0 0 auto; }
.owner-context .owner-manage-progress__label { justify-content:space-between; }
.owner-toolbar { display:flex; gap:12px; align-items:center; margin-bottom:20px; }
.owner-toolbar .product-search { flex:1; }
.owner-toolbar details { position:relative; }
.owner-toolbar summary { display:flex; align-items:center; gap:8px; min-height:46px; padding:8px 16px; background:var(--nmc-surface-solid); border:1px solid var(--nmc-line); border-radius:var(--radius-control); cursor:pointer; font-weight:700; }
.owner-toolbar__filters { position:absolute; z-index:20; top:calc(100% + 8px); right:0; width:280px; max-width:calc(100vw - 40px); display:grid; gap:16px; padding:20px; background:var(--nmc-surface-solid); border:1px solid var(--nmc-line); border-radius:var(--radius-panel); box-shadow:var(--nmc-shadow); }
.owner-toolbar__filters label { display:grid; gap:6px; }
.owner-result-count { margin:0 0 12px; color:var(--nmc-muted); font-size:13px; }
.owner-activity { margin-top:32px; }
.recipient-create { padding:16px; border:1px dashed var(--nmc-line); border-radius:var(--radius-control); }
.recipient-create summary { min-height:44px; display:flex; align-items:center; gap:8px; cursor:pointer; color:var(--nmc-primary); font-weight:700; }
.recipient-create[open] summary { margin-bottom:16px; }
.preferences-shell { display:grid; grid-template-columns:180px minmax(0,720px); align-items:start; gap:48px; max-width:1000px; margin:auto; }
.preferences-nav { display:grid; gap:6px; position:sticky; top:40px; }
.preferences-nav h2 { font-size:14px; margin:0 12px 18px; color:var(--nmc-muted); font-weight:600; }
.preferences-nav a { display:flex; align-items:center; gap:10px; min-height:44px; padding:10px 12px; border-radius:10px; color:var(--nmc-muted); text-decoration:none; font-size:15px; font-weight:600; }
.preferences-nav a:hover { background:var(--nmc-bg-2); }
.preferences-nav a[aria-current="page"] { background:var(--nmc-surface-solid); color:var(--nmc-primary); box-shadow:inset 3px 0 var(--nmc-primary); }
.preferences-page { min-width:0; }
.preferences-heading { margin:0 0 32px; }
.preferences-heading h1 { font-size:32px; margin:0 0 10px; }
.preferences-heading p { margin:0; color:var(--nmc-muted); font-weight:400; }
.account-identity { display:flex; gap:16px; align-items:center; padding-bottom:28px; margin-bottom:28px; border-bottom:1px solid var(--nmc-line); }
.account-initial { display:grid; place-items:center; width:56px; height:56px; flex:0 0 56px; border-radius:18px; background:var(--nmc-primary-soft); color:var(--nmc-primary); font-size:24px; font-weight:700; }
.account-identity > div { min-width:0; }
.account-identity strong, .account-identity span:not(.account-initial) { display:block; overflow-wrap:anywhere; }
.account-identity > div > span { color:var(--nmc-muted); font-size:14px; margin-top:4px; }
.preferences-form { max-width:560px; }
.preferences-form .field { margin-bottom:24px; }
.preferences-actions { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:12px; padding-top:20px; }
.preference-block { margin-bottom:24px; padding:24px; border:1px solid var(--nmc-line); border-radius:16px; background:var(--nmc-surface-solid); }
.preference-block h2 { margin:0 0 6px; font-size:18px; }
.preference-block h3 { margin:0 0 6px; font-size:16px; }
.preference-block p { margin:0; color:var(--nmc-muted); font-size:14px; font-weight:400; line-height:1.6; }
.preference-block__header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; }
.preference-row { display:flex; align-items:center; gap:16px; padding:20px 0; }
.preference-row:first-child { padding-top:0; }
.preference-row:last-child { padding-bottom:0; }
.preference-row + .preference-row { border-top:1px solid var(--nmc-line); }
.preference-copy { flex:1; min-width:0; overflow-wrap:anywhere; }
.preference-icon { display:grid; place-items:center; width:40px; height:40px; flex:0 0 40px; border-radius:12px; color:var(--nmc-muted); background:var(--nmc-soft); font-size:21px; }
.device-list { list-style:none; padding:0; margin:0; }
.device-list li { display:flex; align-items:center; gap:14px; padding:16px 0; border-top:1px solid var(--nmc-line); }
.device-list li > div { flex:1; min-width:0; }
.device-list strong { display:block; font-size:15px; }
.device-list small { display:block; margin-top:4px; color:var(--nmc-mint); }
.data-export-block { padding:32px; }
.data-export-block > .preference-icon { margin-bottom:24px; }
.data-export-block > .btn { margin-top:24px; }
.account-danger-block { padding:24px 0; border:0; border-top:1px solid var(--nmc-line); border-radius:0; background:transparent; }
.account-danger-block .btn { margin-top:20px; color:var(--color-danger); }
.delivery-choice { padding:20px 0; border-top:1px solid var(--nmc-line); }
.delivery-choice:last-of-type { padding-bottom:0; }
.delivery-choice__channels { display:flex; gap:12px; margin-top:16px; }
.delivery-choice__channels label { position:relative; display:flex; align-items:center; gap:10px; min-width:130px; min-height:46px; padding:10px 14px; border:1px solid var(--nmc-line); border-radius:10px; cursor:pointer; font-size:14px; font-weight:600; }
.delivery-choice__channels label:has(input:checked) { border-color:var(--nmc-primary); background:var(--nmc-primary-soft); }
.delivery-choice__channels label:focus-within { outline:2px solid var(--nmc-primary); outline-offset:3px; }
.delivery-choice__channels label > span:not(.sr-only) { display:flex; align-items:center; gap:8px; }
.delivery-choice__channels input { margin:0; accent-color:var(--nmc-primary); }
.delivery-devices .notification-delivery__channel { display:flex; align-items:center; gap:16px; padding:20px 0 0; margin-top:20px; border:0; border-top:1px solid var(--nmc-line); border-radius:0; background:transparent; }
.delivery-devices .notification-delivery__copy { flex:1; }
.delivery-devices .notification-delivery__copy p { margin-top:6px; }
.preference-footnote, .preference-save-status { font-size:13px; color:var(--nmc-muted); }
.action-dialog { padding:28px; }
.action-dialog > header { display:flex; justify-content:space-between; align-items:start; gap:20px; margin-bottom:16px; }
.action-dialog h2 { margin:8px 0 0; font-size:22px; }
.action-dialog > p { color:var(--nmc-muted); font-size:15px; }
.sidebar-account { display:flex; align-items:center; gap:4px; padding-top:16px; margin-top:8px; border-top:1px solid var(--nmc-line); }
.sidebar-account__profile { display:flex; flex:1; min-width:0; align-items:center; gap:10px; min-height:60px; padding:8px; border-radius:10px; text-decoration:none; color:var(--nmc-ink); }
.sidebar-account__profile img { width:32px; height:32px; border-radius:50%; }
.sidebar-account__profile > span { min-width:0; }
.sidebar-account__profile strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:700; }
.sidebar-account__profile small { display:block; color:var(--nmc-muted); font-size:12px; font-weight:400; margin-top:3px; }
.sidebar-account__profile:hover, .sidebar-account__profile[aria-current="page"] { background:var(--nmc-bg-2); }
.sidebar-account__logout { display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:10px; background:transparent; color:var(--nmc-muted); cursor:pointer; font-size:20px; }
.sidebar-account__logout:hover { color:var(--color-danger); background:var(--nmc-primary-soft); }
.editor-heading { display:grid; gap:20px; margin:0 0 32px; }
.editor-heading__row { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.editor-heading h1 { margin:0; font-size:clamp(28px,4vw,36px); line-height:1.2; }
.editor-heading p { margin:8px 0 0; color:var(--nmc-muted); font-size:15px; }
.back-nav, .workspace-back, .group-back { display:inline-flex; align-items:center; justify-self:start; width:fit-content; gap:10px; min-height:44px; margin:0; padding:6px 10px 6px 0; border:0; border-radius:8px; color:var(--nmc-muted); font-size:14px; font-weight:600; text-decoration:none; }
.back-nav > .ph, .workspace-back > .ph:first-child { display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--nmc-line); border-radius:8px; background:var(--nmc-surface-solid); font-size:16px; }
.back-nav:hover, .workspace-back:hover, .group-back:hover { color:var(--nmc-primary); }
.collection-page > .workspace-back, .guide-page > .workspace-back, .content-narrow > .workspace-back { margin-bottom:20px; }
.fit-page { max-width:1100px; margin:auto; }
.fit-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,380px); align-items:start; gap:32px; }
.fit-records { min-width:0; }
.fit-records__heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.fit-records__heading h2 { font-size:17px; margin:0; font-weight:700; }
.fit-records__heading > .ph { color:var(--nmc-muted); font-size:22px; }
.measurement-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.measurement-value { padding:20px; border:1px solid var(--nmc-line); border-radius:14px; background:var(--nmc-surface-solid); }
.measurement-value header { display:flex; justify-content:space-between; gap:8px; align-items:center; }
.measurement-value h3 { margin:0; font-size:15px; font-weight:600; }
.measurement-value .icon-button, .ring-value .icon-button { background:transparent; border:0; font-size:19px; color:var(--nmc-muted); text-decoration:none; }
.measurement-value__number { margin:12px 0 16px; color:var(--nmc-ink); font-size:36px; line-height:1.2; font-weight:700; font-variant-numeric:tabular-nums; }
.measurement-value__number > span { margin-left:8px; color:var(--nmc-muted); font-size:16px; font-weight:400; }
.measurement-value time { font-size:12px; color:var(--nmc-muted); }
.fit-editor { padding:24px; border:1px solid var(--nmc-line); border-radius:16px; background:var(--nmc-surface-solid); scroll-margin-top:24px; }
.fit-editor > header { margin-bottom:24px; }
.fit-editor h2 { font-size:20px; margin:0 0 8px; }
.fit-editor > header p { margin:0; color:var(--nmc-muted); font-size:14px; line-height:1.6; }
.fit-editor__form { display:grid; gap:20px; }
.fit-editor__form .field { margin:0; }
.field-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
.fit-editor .preferences-actions { padding-top:4px; }
.fit-editor .preferences-actions > .btn { flex:1; }
.fit-privacy { display:flex; align-items:start; gap:8px; margin:20px 0 0; font-size:13px; color:var(--nmc-muted); }
.fit-privacy .ph { margin-top:3px; }
.fit-empty { grid-column:1 / -1; text-align:center; padding:40px 24px; border:1px dashed var(--nmc-line); border-radius:14px; }
.fit-empty > .ph { font-size:30px; display:block; color:var(--nmc-muted); margin-bottom:16px; }
.fit-empty h3 { font-size:17px; }
.fit-empty p { font-size:14px; color:var(--nmc-muted); margin:0; }
.ring-values { padding:20px; margin-bottom:16px; border:1px solid var(--nmc-line); border-radius:14px; background:var(--nmc-surface-solid); }
.ring-values > h3 { font-size:14px; color:var(--nmc-muted); margin:0 0 8px; font-weight:600; }
.ring-value { display:flex; align-items:center; gap:16px; padding:16px 0; border-top:1px solid var(--nmc-line); }
.ring-value:last-child { padding-bottom:0; }
.ring-value__copy { flex:1; min-width:0; }
.ring-value__copy h4 { margin:0; font-size:17px; }
.ring-value__copy p { margin:6px 0 0; color:var(--nmc-muted); font-size:13px; }
.ring-value__number { font-size:28px; line-height:1.1; text-align:right; font-weight:700; font-variant-numeric:tabular-nums; }
.ring-value__number small { display:block; font-size:12px; color:var(--nmc-muted); margin-top:6px; font-weight:400; }
.ring-value__actions { display:flex; gap:0; }
.is-editing { border-color:var(--nmc-primary); }
.hand-choice { margin:0; padding:0; border:0; min-inline-size:0; }
.hand-choice legend { font-size:14px; font-weight:700; margin-bottom:8px; padding:0; }
.hand-choice > div { display:flex; gap:10px; }
.hand-choice label { flex:1; display:flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:10px 8px; border:1px solid var(--nmc-line); border-radius:10px; font-size:13px; font-weight:600; cursor:pointer; }
.hand-choice label:has(input:checked) { color:var(--nmc-primary); background:var(--nmc-primary-soft); border-color:var(--nmc-primary); }
.hand-choice input { accent-color:var(--nmc-primary); margin:0; width:16px; height:16px; }
.hand-choice label:focus-within { outline:2px solid var(--nmc-primary); outline-offset:3px; }
.shared-ring-values { margin:0; }
.shared-ring-values > div { display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding:16px 0; border-top:1px solid var(--nmc-line); }
.shared-ring-values > div:first-child { border-top:0; }
.shared-ring-values dt { font-size:14px; color:var(--nmc-muted); }
.shared-ring-values dd { margin:0; text-align:right; }
.shared-ring-values strong { font-size:24px; margin-right:8px; }
.shared-ring-values dd > span, .shared-ring-values dd p { color:var(--nmc-muted); font-size:13px; }
.product-image-editor { border-top:1px solid var(--nmc-line); padding-top:12px; }
.product-image-editor summary { display:flex; align-items:center; gap:10px; min-height:44px; cursor:pointer; font-size:14px; font-weight:600; list-style:none; }
.product-image-editor summary::-webkit-details-marker { display:none; }
.product-image-editor summary > span { color:var(--nmc-muted); font-weight:400; }
.product-image-editor summary > .ph:last-child { margin-left:auto; }
.product-image-editor[open] summary > .ph:last-child { transform:rotate(180deg); }
.product-image-editor > p { margin:8px 0 20px; color:var(--nmc-muted); font-size:13px; }
.product-image-editor__body { display:grid; grid-template-columns:100px minmax(0,1fr); gap:20px; align-items:start; }
.item-form-flow .product-image-editor .item-image-preview { display:grid; place-items:center; width:100px; height:110px; min-height:0; padding:8px; margin:0; border:1px solid var(--nmc-line); border-radius:12px; background:var(--nmc-soft); }
.product-image-editor .item-image-preview img { width:100%; height:100%; object-fit:contain; }
.product-image-editor .item-image-preview p { margin:0; color:var(--nmc-muted); font-size:28px; }
.product-image-editor__body .btn { justify-self:start; min-height:44px; padding-inline:0; }
.item-form-flow .autofill-status:empty { min-height:0; margin:0; padding:0; }
.recipient-page { max-width:1080px; margin:auto; }
.recipient-heading { display:flex; gap:16px; align-items:center; }
.recipient-heading h1 { flex:1; min-width:0; overflow-wrap:anywhere; }
.recipient-avatar { display:grid; flex:0 0 52px; place-items:center; width:52px; height:52px; border-radius:16px; color:var(--nmc-primary); background:var(--nmc-primary-soft); font-size:24px; font-weight:700; }
.recipient-heading__actions { display:flex; gap:8px; align-items:center; }
.recipient-heading__actions .icon-button { border:0; font-size:20px; color:var(--nmc-muted); text-decoration:none; }
.recipient-tabs { display:flex; gap:24px; margin-bottom:28px; border-bottom:1px solid var(--nmc-line); }
.recipient-tabs a { display:flex; min-height:48px; align-items:center; gap:8px; padding:8px 0 12px; border-bottom:2px solid transparent; color:var(--nmc-muted); text-decoration:none; font-size:15px; font-weight:600; }
.recipient-tabs a[aria-current="page"] { color:var(--nmc-primary); border-bottom-color:var(--nmc-primary); }
.gift-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; list-style:none; margin:0; padding:0; }
.gift-card { display:grid; grid-template-columns:64px minmax(0,1fr); grid-template-rows:auto 1fr auto; gap:16px; padding:24px; border:1px solid var(--nmc-line); border-radius:16px; background:var(--nmc-surface-solid); min-width:0; }
.gift-card__image { display:grid; place-items:center; width:64px; height:72px; border-radius:12px; background:var(--nmc-soft); overflow:hidden; }
.gift-card__image > .ph { font-size:28px; color:var(--nmc-muted); }
.gift-card__image img { width:100%; height:100%; object-fit:contain; padding:4px; }
.gift-card__copy { min-width:0; }
.gift-card h2 { font-size:19px; margin:4px 0 8px; overflow-wrap:anywhere; }
.gift-card__copy p { margin:0; color:var(--nmc-muted); font-size:14px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.gift-card__facts { grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 16px; }
.gift-card__facts > strong { font-size:22px; font-weight:700; }
.gift-card__facts .public-item-availability { margin:0 0 0 auto; font-size:13px; color:var(--nmc-muted); }
.gift-card__actions { grid-column:1 / -1; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; padding-top:16px; border-top:1px solid var(--nmc-line); }
.gift-card__actions .btn { font-size:14px; }
.recipient-facts { max-width:760px; }
.group-space { max-width:1040px; margin:auto; }
.reservation-attention { margin-bottom:24px; border-color:#e5cfac; }
.reservation-row { padding:20px 0; border-bottom:1px solid var(--nmc-line); }
.reservation-row:last-child { padding-bottom:0; border-bottom:0; }
.reservation-row h3 { font-size:18px; margin-bottom:8px; }
.reservation-row p { font-size:14px; color:var(--nmc-muted); }
.reservation-row .actions { display:flex; flex-wrap:wrap; gap:8px; }
.reservation-row__context { font-size:13px; margin-bottom:6px; }
.group-page.group-detail-flow, .group-page.group-members-flow { max-width:1040px; }
.group-page .group-hero { padding:0 0 24px; border-radius:0; background:transparent; }
.group-page .group-hero h1 { font-size:clamp(28px,4vw,40px); }
.group-section, .group-invite-card, .group-form-card { border-color:var(--nmc-line); border-radius:var(--radius-panel); background:var(--nmc-surface-solid); }
.group-page .group-avatar { border-radius:12px; color:var(--nmc-primary); background:var(--nmc-primary-soft); }
.group-page .group-meta { color:var(--nmc-muted); font-size:14px; font-weight:400; }
.group-page .group-section-heading { margin-bottom:24px; }
.group-page .group-publication-card { border-color:var(--nmc-line); border-radius:var(--radius-control); }
.group-page .group-product-card .product-image { object-fit:contain; padding:12px; background:var(--nmc-soft); }
.group-page .group-gift-card__image { object-fit:contain; background:var(--nmc-soft); }
.group-page .group-gift-card { border-color:var(--nmc-line); border-radius:var(--radius-panel); }
.share-link-row { flex-wrap:wrap; }
.share-link-row__status { width:100%; font-size:13px; color:var(--nmc-primary); }
.share-link-row__status:empty { display:none; }
.share-dialog-header p { margin:8px 0 0; font-size:14px; color:var(--nmc-muted); }
.share-dialog-collaborators summary { min-height:44px; cursor:pointer; font-weight:700; }
.share-dialog-collaborators[open] summary { margin-bottom:12px; }
.admin-page-header h1, .affiliate-page-header h1 { font-size:clamp(28px,4vw,40px); }
.admin-kpis, .admin-overview-panel, .affiliate-editor, .affiliate-preview, .affiliate-programs-card { background:var(--nmc-surface-solid); border-color:var(--nmc-line); border-radius:var(--radius-panel); box-shadow:none; }
.admin-tabs a[aria-current="page"] { color:var(--nmc-primary); background:var(--nmc-primary-soft); }
.item-form-flow .form-section, .wishlist-form-flow .form-section { background:var(--nmc-surface-solid); padding:24px; }
.item-form-flow .form-section legend, .wishlist-form-flow .form-section legend { font-weight:700; }
.page-header h1 { font-size:clamp(28px,4vw,40px); }
.auth-compact { margin-top:48px; }
.auth-compact__header { text-align:left; margin-bottom:24px; }
.auth-compact__header .badge { padding:0; min-height:0; border:0; background:transparent; font-weight:600; }
.auth-compact__header .lede { margin-left:0; font-weight:400; }
.auth-compact__form { padding:28px; }
.notification-center__header { max-width:880px; margin-inline:auto; }
.notification-center__list { max-width:880px; margin:auto; border:1px solid var(--nmc-line); border-radius:var(--radius-panel); background:var(--nmc-surface-solid); overflow:hidden; }
.notification-card__link { padding:20px; }
.notification-card__message { line-height:1.6; margin-top:8px; font-size:14px; }
.notification-card--unread { background:var(--nmc-primary-soft); }
.notification-card__actions { padding:0 20px 20px; }
.notification-empty-state { max-width:none; width:100%; padding:32px; border:0; }
.owner-manage-grid[data-product-view] { gap:16px; }
.owner-manage-grid[data-product-view] > .product-card { min-width:0; border-color:var(--nmc-line); border-radius:var(--radius-panel); box-shadow:none; background:var(--nmc-surface-solid); }
.owner-manage-grid[data-product-view] .product-image-wrap { background:var(--nmc-soft); }
.owner-manage-grid[data-product-view] .product-image-wrap::after { display:none; }
.owner-manage-grid[data-product-view] .product-image { width:100%; height:100%; object-fit:contain; padding:8px; }
.owner-manage-grid[data-product-view] .product-card h2 { font-size:18px; line-height:1.4; }
.owner-manage-grid[data-product-view] .item-meta-row { padding:0; background:transparent; border:0; }
.owner-manage-grid[data-product-view] .item-meta-row span { display:none; }
.owner-manage-grid[data-product-view] .item-meta-row strong { color:var(--nmc-ink); font-size:18px; }
.owner-manage-grid[data-product-view] .product-card > footer { gap:8px; }
.owner-manage-grid[data-product-view="list"] > .product-card { display:grid; grid-template-columns:80px minmax(0,1fr) auto; grid-template-rows:auto auto; gap:12px 20px; padding:20px; }
.owner-manage-grid[data-product-view="list"] .product-image-wrap { grid-column:1; grid-row:1 / span 2; width:80px; height:96px; margin:0; border-radius:10px; }
.owner-manage-grid[data-product-view="list"] > .product-card > header { grid-column:2; grid-row:1; }
.owner-manage-grid[data-product-view="list"] > .product-card > section { grid-column:3; grid-row:1; align-self:start; }
.owner-manage-grid[data-product-view="list"] > .product-card > footer { grid-column:1 / -1; grid-row:2; width:100%; min-width:0; justify-self:end; }
.owner-manage-grid[data-product-view="list"] > .product-card:not(.has-image) > header { grid-column:1 / 3; }
.owner-manage-grid[data-product-view="list"] > .product-card:not(.has-image) > section { grid-column:3; }
.owner-manage-grid[data-product-view="grid"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.owner-manage-grid[data-product-view="grid"] > .product-card { display:flex; flex-direction:column; padding:20px; }
.owner-manage-grid[data-product-view="grid"] .product-image-wrap { height:180px; width:auto; aspect-ratio:auto; margin:-20px -20px 20px; border-radius:16px 16px 0 0; }
.owner-manage-grid[data-product-view="grid"] > .product-card > footer { margin-top:auto; padding-top:20px; }
.workspace-heading .icon-button { text-decoration:none; }
.footer-language-form { display:flex; align-items:center; gap:8px; max-width:100%; }
.footer-language-form label { display:flex; align-items:center; gap:8px; color:var(--nmc-muted); font-size:13px; font-weight:400; }
.footer-language-form select { width:132px; min-width:0; min-height:44px; font-size:14px; }
.site-footer__links { align-items:center; }
.site-footer__columns .footer-language-form { margin-top:8px; }
.site-footer__columns .footer-language-form select { flex:1; }

@media (min-width:1200px) {
  .owner-manage-grid[data-product-view="list"] > .product-card { grid-template-columns:64px minmax(0,1fr) max-content; grid-template-rows:auto auto; align-items:center; }
  .owner-manage-grid[data-product-view="list"] .product-image-wrap { grid-row:1; width:64px; height:72px; }
  .owner-manage-grid[data-product-view="list"] > .product-card > section { align-self:center; }
  .owner-manage-grid[data-product-view="list"] > .product-card > footer { grid-column:1 / -1; grid-row:2; max-width:none; }
  .owner-manage-grid[data-product-view="list"] .product-card h2 { font-size:17px; }
}

@media (min-width:861px) {
  .has-mobile-bottom-nav .app-shell { padding-left:232px; }
  .has-mobile-bottom-nav .site-header { position:fixed; inset:0 auto 0 0; width:232px; border:0; border-right:1px solid var(--nmc-line); background:var(--nmc-nav-surface); }
  .has-mobile-bottom-nav .site-nav { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; width:auto; height:100dvh; padding:32px 20px 24px; }
  .has-mobile-bottom-nav .brand { margin:0 12px 48px; font-size:24px; gap:10px; }
  .has-mobile-bottom-nav .brand-mark { width:40px; height:30px; }
  .has-mobile-bottom-nav .nav-actions { display:flex; flex:1; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:8px; flex-wrap:nowrap; }
  .has-mobile-bottom-nav .nav-actions > a { justify-content:flex-start; min-height:48px; padding:12px 16px; border:0; color:var(--nmc-muted); background:transparent; box-shadow:none; font-size:15px; }
  .has-mobile-bottom-nav .nav-actions > a > .ph { font-size:22px; margin-right:4px; }
  .has-mobile-bottom-nav .nav-actions > a:hover { background:var(--nmc-bg-2); }
  .has-mobile-bottom-nav .nav-actions > a[aria-current="page"] { color:var(--nmc-primary); background:var(--nmc-primary-soft); }
  .has-mobile-bottom-nav .notification-link { margin-top:auto; }
  .has-mobile-bottom-nav .main-content { width:calc(100% - 80px); max-width:1200px; padding-top:48px; }
  .has-mobile-bottom-nav > .site-footer { margin-left:232px; width:auto; }
  .guide-aside { position:sticky; top:32px; }
}
@media (max-width:1100px) and (min-width:861px) {
  .fit-layout { grid-template-columns:1fr; }
  .has-mobile-bottom-nav .main-content { width:calc(100% - 48px); }
  .guide-layout { grid-template-columns:minmax(0,1fr); }
  .guide-aside { position:static; grid-template-columns:1fr 1fr; }
  .list-collection { grid-template-columns:1fr; }
  .preferences-shell { grid-template-columns:150px minmax(0,1fr); gap:24px; }
}
@media (max-width:860px) {
  .mobile-redundant-create { display:none; }
  .site-footer.site-footer--account,
  .has-mobile-bottom-nav .site-footer.site-footer--account { display:none; }
  .fit-layout { grid-template-columns:1fr; gap:28px; }
  .fit-editor { scroll-margin-top:90px; }
  .has-mobile-bottom-nav main :is(a, button, input, select, summary) { scroll-margin-bottom:calc(84px + env(safe-area-inset-bottom)); }
  .workspace-heading { align-items:flex-start; margin-bottom:24px; gap:16px; }
  .workspace-heading h1 { font-size:32px; }
  .workspace-heading .eyebrow { display:none; }
  .workspace-heading p { font-size:14px; }
  .guide-layout { grid-template-columns:1fr; }
  .guide-aside { grid-template-columns:1fr 1fr; }
  .guide-section { padding:20px; }
  .guide-section > header { gap:8px; }
  .guide-identity { gap:12px; }
  .guide-avatar { flex-basis:52px; width:52px; height:52px; }
  .preferences-shell { grid-template-columns:1fr; gap:28px; }
  .preferences-nav { position:static; display:flex; flex-wrap:wrap; gap:4px; }
  .preferences-nav h2 { width:100%; margin:0 0 8px; }
  .preferences-nav a { padding:8px 10px; font-size:14px; }
  .preferences-nav a[aria-current="page"] { box-shadow:inset 0 -2px var(--nmc-primary); }
  .editor-heading { gap:12px; margin-bottom:24px; }
  .preference-block { padding:20px; }
}
@media (max-width:620px) {
  .gift-grid { grid-template-columns:1fr; gap:16px; }
  .gift-card { padding:20px; }
  .recipient-heading { gap:12px; flex-wrap:wrap; }
  .recipient-heading__actions { width:100%; justify-content:flex-end; }
  .recipient-tabs { gap:24px; }
  .measurement-values { gap:12px; }
  .measurement-value { padding:14px; }
  .measurement-value header { align-items:start; }
  .measurement-value h3 { padding-top:12px; }
  .measurement-value__number { font-size:30px; }
  .fit-editor { padding:20px; }
  .ring-value { gap:10px; flex-wrap:wrap; }
  .ring-value__copy { flex-basis:50%; }
  .ring-value__actions { margin-left:auto; }
  .guide-page > .workspace-heading > .guide-identity { width:auto; flex:1; min-width:0; }
  .guide-identity h1 { overflow-wrap:anywhere; }
  .preference-row { flex-wrap:wrap; }
  .preference-row > .btn { margin-left:56px; }
  .preferences-heading h1 { font-size:28px; }
  .preferences-actions .btn { flex:1; }
  .action-dialog .preferences-actions { flex-direction:column-reverse; align-items:stretch; }
  .owner-manage-grid[data-product-view] { grid-template-columns:1fr; }
  .owner-manage-grid[data-product-view] > .product-card { display:grid; grid-template-columns:72px minmax(0,1fr); grid-template-rows:auto auto auto; padding:12px; gap:8px 12px; }
  .owner-manage-grid[data-product-view] .product-image-wrap { grid-column:1; grid-row:1 / span 2; width:72px; height:88px; margin:0; border-radius:10px; }
  .owner-manage-grid[data-product-view] > .product-card > header { grid-column:2; grid-row:1; }
  .owner-manage-grid[data-product-view] > .product-card > header + section { grid-column:2 !important; grid-row:2 !important; margin:0; padding:0; }
  .owner-manage-grid[data-product-view] > .product-card:not(.has-image) > header, .owner-manage-grid[data-product-view] > .product-card:not(.has-image) > header + section { grid-column:1 / -1 !important; }
  .owner-manage-grid[data-product-view] > .product-card > footer { grid-column:1 / -1; grid-row:3; width:100%; max-width:none; margin:0; padding:8px 0 0; }
  .owner-manage-grid[data-product-view] .product-card h2 { font-size:16px; }
  .workspace-heading { flex-wrap:wrap; }
  .workspace-heading > div:first-child { width:100%; }
  .workspace-heading > .btn { min-height:44px; }
  .list-collection { grid-template-columns:1fr; gap:12px; }
  .list-tile { padding:20px; gap:16px; }
  .list-tile h2 { font-size:20px; }
  .collection-bar { gap:12px; align-items:stretch; flex-direction:column; }
  .collection-bar .product-search { flex:auto; }
  .guide-aside { grid-template-columns:1fr; }
  .guide-section { padding:16px; }
  .guide-section > header { flex-wrap:wrap; }
  .guide-section h2 { font-size:18px; }
  .guide-facts > div { grid-template-columns:1fr; gap:4px; }
  .person-tile { padding:16px; gap:12px; }
  .owner-context { padding:12px 16px; }
  .owner-context .owner-manage-progress { width:100%; margin:0; }
  .owner-toolbar { gap:8px; }
  .owner-toolbar .product-search { min-width:0; }
  .owner-toolbar summary { padding-inline:12px; }
  .owner-toolbar .view-toggle { display:none; }
  .welcome-panel { padding:40px 20px; }
}
