@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Source+Sans+3:wght@400;500;600&display=swap";.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;--topbar-height: 4.5rem}.topbar{position:sticky;top:0;z-index:20;display:grid;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line);background:var(--bg-header);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar__brand-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.brand{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--font-display);font-size:clamp(1.35rem,2.4vw,1.85rem);color:var(--ink)}.brand__logo{display:block;flex-shrink:0;width:2.15rem;height:2.15rem}.brand:hover{color:var(--accent)}.menu-toggle{display:inline-flex;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);padding:.4rem .75rem;border-radius:var(--radius);cursor:pointer}.primary-nav{display:none;flex-direction:column;gap:var(--space-2);position:absolute;top:100%;left:0;right:0;z-index:25;padding:var(--space-3) var(--space-5) var(--space-4);border-bottom:1px solid var(--line);background:var(--bg-header);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.primary-nav--open{display:flex}.primary-nav a{padding:.45rem 0;color:var(--ink-muted);border-bottom:1px solid transparent}.primary-nav a:hover,.primary-nav a.active{color:var(--ink);border-bottom-color:var(--accent)}.topbar__controls{display:flex;flex-wrap:wrap;gap:var(--space-3)}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-elevated)}.segmented button{border:0;background:transparent;color:var(--ink-muted);padding:.35rem .7rem;cursor:pointer}.segmented button.is-active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--ink)}.segmented button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.page{width:min(100% - 2rem,var(--max));margin:0 auto;padding:var(--space-7) 0}.page--home{width:100%;max-width:none;margin:0;padding:0}.app-page-sticky{position:fixed;top:var(--topbar-height, 4.5rem);left:0;right:0;z-index:13;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.app-page-sticky__inner{width:min(100% - 2rem,var(--max));margin:0 auto;padding:var(--space-2) 0 var(--space-3)}.app-page-sticky-spacer{margin:0 0 var(--space-4);min-height:4.25rem}.app-page-sticky h1{margin:0 0 var(--space-1);font-family:var(--font-display);font-weight:500;font-size:clamp(1.45rem,2.8vw,1.85rem)}.app-page-sticky .lede{margin:0;font-size:.95rem}.footer{border-top:1px solid var(--line);padding:var(--space-4) var(--space-5);color:var(--ink-muted);font-size:.9rem}.footer__brand{display:inline-flex;align-items:center;gap:.5rem}.footer__brand .brand__logo{width:1.55rem;height:1.55rem;opacity:.95}.nav-text-btn{border:0;background:transparent;color:var(--ink-muted);padding:.45rem 0;cursor:pointer;font:inherit;text-align:left}.nav-text-btn:hover{color:var(--ink)}.user-chip{color:var(--ink-muted);font-size:.85rem;max-width:min(22rem,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;align-self:center}@media(min-width:860px){.topbar{grid-template-columns:auto 1fr auto;align-items:center}.menu-toggle{display:none}.primary-nav{display:flex;position:static;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-5);padding:0;border-bottom:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.primary-nav a{border-bottom-width:1px;padding:.2rem 0}}.collection-page h1,.jewelry-detail h1,.jewelry-form h1{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,3.5vw,2.4rem)}.jewelry-detail{margin-top:calc(-1 * var(--space-7))}.jewelry-detail__toolbar{position:fixed;top:var(--topbar-height, 4.5rem);left:0;right:0;z-index:15;margin:0;padding:0;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.jewelry-detail__toolbar-inner{width:min(100% - 2rem,var(--max));margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-4);padding:var(--space-2) 0}.jewelry-detail__toolbar-spacer{margin:0 0 var(--space-5);min-height:3.5rem}.collection-header{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;margin-bottom:var(--space-5)}.collection-header h1{margin:0 0 var(--space-3)}.collection-page{margin-top:calc(-1 * var(--space-7))}.collection-page__sticky-inner{display:grid;gap:var(--space-3)}.collection-page__titlebar-inner{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3) var(--space-4)}.collection-page__titlebar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.jewelry-form{max-width:40rem;padding-bottom:var(--space-5);margin-top:calc(-1 * var(--space-7))}.jewelry-form__titlebar{position:fixed;top:var(--topbar-height, 4.5rem);left:0;right:0;z-index:13;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.jewelry-form__titlebar-inner{width:min(100% - 2rem,var(--max));margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-4);padding:var(--space-2) 0}.jewelry-form__titlebar h1{margin:0;max-width:40rem;font-size:clamp(1.45rem,2.8vw,1.85rem)}.jewelry-form__titlebar-spacer{margin:0 0 var(--space-4);min-height:4.5rem}.form-actions--top{margin:0;flex-shrink:0}.form-actions--top button[type=submit]{border:1px solid var(--line);background:color-mix(in srgb,var(--accent) 22%,var(--bg-elevated));color:var(--ink);padding:.55rem .9rem;border-radius:var(--radius);cursor:pointer;font:inherit;line-height:1.2;min-height:2.5rem}.form-actions--top button[type=submit]:disabled{opacity:.6;cursor:wait}@media(max-width:720px){.jewelry-form__titlebar-inner{align-items:stretch}}.primary-link,.action-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:color-mix(in srgb,var(--accent) 22%,var(--bg-elevated));color:var(--ink);padding:.55rem .9rem;border-radius:var(--radius);text-decoration:none;font:inherit;line-height:1.2;white-space:nowrap}.primary-link:hover,.action-link:hover:not(.action-link--danger){border-color:var(--accent)}.detail-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-5) 0}.form-actions--bottom{position:fixed;bottom:0;left:0;right:0;z-index:14;display:flex;justify-content:center;margin:0;padding:0;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-actions--bottom-inner{width:min(100% - 2rem,var(--max));display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) 0}.form-actions .action-link:not(.action-link--danger),.form-actions a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:color-mix(in srgb,var(--accent) 22%,var(--bg-elevated));color:var(--ink);padding:.55rem .9rem;border-radius:var(--radius);text-decoration:none;font:inherit;line-height:1.2;min-height:2.5rem}.form-actions .action-link.action-link--danger,button.action-link.action-link--danger{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b43333;background:#c94343;color:#fff;padding:.55rem .9rem;border-radius:var(--radius);text-decoration:none;font:inherit;line-height:1.2;min-height:2.5rem;cursor:pointer}.form-actions .action-link.action-link--danger:hover,button.action-link.action-link--danger:hover{border-color:#9a2a2a;background:#b43333;color:#fff}[data-theme=dark] .form-actions .action-link.action-link--danger,[data-theme=dark] button.action-link.action-link--danger{border-color:#e07070;background:#d45a5a;color:#1a1010}[data-theme=dark] .form-actions .action-link.action-link--danger:hover,[data-theme=dark] button.action-link.action-link--danger:hover{background:#e07070;border-color:#f0a0a0;color:#1a1010}.jewelry-form .form-actions button[type=submit]{border:1px solid var(--line);background:color-mix(in srgb,var(--accent) 22%,var(--bg-elevated));color:var(--ink);padding:.55rem .9rem;border-radius:var(--radius);cursor:pointer;font:inherit;line-height:1.2;min-height:2.5rem}.jewelry-form .form-actions button[type=submit]:disabled{opacity:.6;cursor:wait}.empty-state{border:1px dashed var(--line);padding:var(--space-6);background:var(--bg-elevated);max-width:32rem}.empty-state h2{margin:0 0 var(--space-2);font-family:var(--font-display);font-weight:500}.collection-filters{position:relative}.collection-filters__strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:center}.collection-filters__search{grid-column:1 / -1}.collection-filters__search,.collection-filters__sort{display:block;min-width:0;margin:0}.collection-filters__search input,.collection-filters__sort select{width:100%;max-width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);padding:.55rem .7rem;border-radius:var(--radius);font:inherit}.collection-filters__sort{min-width:11rem}.collection-filters__toggle{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);padding:.55rem .75rem;border-radius:var(--radius);font:inherit;cursor:pointer;white-space:nowrap;line-height:1.2;min-height:2.5rem}.collection-filters__toggle.is-open,.collection-filters__toggle.has-active{border-color:var(--accent)}.collection-filters__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 35%,var(--bg));font-size:.75rem;font-weight:600}.collection-filters__clear{grid-column:1 / -1;justify-self:start}.collection-filters__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;border:0;padding:0;margin:0;background:color-mix(in srgb,var(--ink) 35%,transparent);cursor:pointer}.collection-filters__sheet{position:fixed;z-index:41;left:0;right:0;bottom:0;max-height:min(85vh,40rem);overflow:auto;padding:var(--space-4);background:var(--bg);border-top:1px solid var(--line);box-shadow:0 -8px 28px color-mix(in srgb,var(--ink) 12%,transparent)}.collection-filters__sheet-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.collection-filters__sheet-head h2{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:500}.collection-filters__advanced{display:grid;gap:var(--space-4)}.collection-filters__row{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));align-items:start}.collection-filters__row>label{min-width:0;max-width:100%}.collection-filters__row input,.collection-filters__row select{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.collection-filters__panel-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3)}.collection-filters__done{border:1px solid var(--line);background:color-mix(in srgb,var(--accent) 22%,var(--bg-elevated));color:var(--ink);padding:.55rem .9rem;border-radius:var(--radius);font:inherit;cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:720px){.collection-filters__strip{grid-template-columns:minmax(0,1fr) minmax(11rem,13rem) auto auto}.collection-filters__search,.collection-filters__clear{grid-column:auto}.collection-filters__sheet{left:auto;right:max(1rem,calc((100vw - var(--max)) / 2));top:calc(var(--topbar-height, 4.5rem) + 5.5rem);bottom:auto;width:min(32rem,calc(100vw - 2rem));max-height:min(70vh,36rem);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px color-mix(in srgb,var(--ink) 14%,transparent)}}.jewelry-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3);overflow:visible}.jewelry-card{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line);background:var(--bg-elevated);border-radius:var(--radius);color:inherit;text-decoration:none;position:relative;z-index:0;overflow:visible}.jewelry-card:hover{border-color:var(--accent)}.jewelry-card__photos{display:flex;flex-wrap:wrap;gap:var(--space-2);overflow:visible}.jewelry-card__thumb{width:4.5rem;height:4.5rem;object-fit:cover;border:1px solid var(--line);background:var(--bg);transform-origin:center center;transition:transform .16s ease}@media(hover:hover)and (pointer:fine){.jewelry-card:has(.jewelry-card__thumb:hover){z-index:16}.jewelry-card__thumb:hover{position:relative;z-index:17;transform:scale(2.25)}}.jewelry-card__name{font-family:var(--font-display);font-size:1.25rem;font-weight:500}.jewelry-card__fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:var(--space-3);margin:0}.jewelry-card__fields div{min-width:0}.jewelry-card__fields dt,.jewelry-card__label{display:block;margin:0 0 .15rem;color:var(--ink-muted);font-size:.78rem;letter-spacing:.02em;text-transform:uppercase}.jewelry-card__fields dd{margin:0;color:var(--ink);font-size:.95rem;overflow-wrap:anywhere}.jewelry-card__description{margin:0;color:var(--ink-muted);font-size:.95rem;line-height:1.45}.jewelry-card__description .jewelry-card__label{margin-bottom:.25rem}.jewelry-detail h1{font-size:clamp(1.45rem,2.8vw,1.85rem)}.jewelry-detail__toolbar-spacer{margin:0 0 var(--space-4);min-height:3rem}.jewelry-detail .action-link{padding:.4rem .75rem;font-size:.92rem}.action-link--danger{border:1px solid #b43333;background:#c94343;color:#fff;cursor:pointer}.action-link--danger:hover{border-color:#9a2a2a;background:#b43333;color:#fff}[data-theme=dark] .action-link--danger{border-color:#e07070;background:#d45a5a;color:#1a1010}[data-theme=dark] .action-link--danger:hover{background:#e07070;border-color:#f0a0a0;color:#1a1010}.action-link--danger:disabled{opacity:.6;cursor:wait}.detail-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2) var(--space-4);max-width:48rem;margin:0}.detail-grid>div{display:grid;grid-template-columns:minmax(7.5rem,34%) 1fr;gap:var(--space-2) var(--space-3);align-items:baseline;padding:.35rem 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.detail-grid dt{margin:0;color:var(--ink-muted);font-size:.8rem;letter-spacing:.02em;text-transform:uppercase;line-height:1.3}.detail-grid dd{margin:0;font-size:.95rem;line-height:1.35;overflow-wrap:anywhere}.detail-grid__wide{grid-column:1 / -1;grid-template-columns:1fr!important;gap:.2rem!important}@media(min-width:640px){.detail-grid{grid-template-columns:1fr 1fr}.detail-grid>div:not(.detail-grid__wide){grid-template-columns:1fr;gap:.15rem}.detail-grid__wide{grid-template-columns:minmax(7.5rem,8.5rem) 1fr!important;gap:var(--space-2) var(--space-3)!important;align-items:start}}@media(min-width:900px){.detail-grid{grid-template-columns:1fr 1fr 1fr}}.gem-block{border:1px solid var(--line);padding:var(--space-3);margin-bottom:var(--space-3);background:var(--bg-elevated);display:grid;gap:var(--space-3)}.gem-remove{justify-self:start;border:1px solid var(--line);background:transparent;color:var(--ink-muted);padding:.45rem .75rem;border-radius:var(--radius);cursor:pointer;font:inherit;font-size:.9rem}.gem-remove:hover{color:var(--ink);border-color:color-mix(in srgb,#8b2e2e 45%,var(--line))}.jewelry-form fieldset{margin:0;padding:var(--space-3);border:1px solid var(--line);background:var(--bg-elevated);border-radius:var(--radius)}.jewelry-form fieldset legend{padding:0 .35rem;font-size:.95rem}.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:var(--space-2) var(--space-3)}.tag-create-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);align-items:center}.tag-create-row input{flex:1 1 12rem}.auth-form .materials-grid label{display:flex;flex-direction:row;align-items:center;gap:.55rem;font-size:.95rem;line-height:1.25;cursor:pointer}.auth-form .materials-grid input[type=checkbox]{width:1rem;height:1rem;margin:0;padding:0;flex-shrink:0;align-self:center;accent-color:var(--accent, #8a6a3d);border:none;background:transparent;border-radius:0;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.jewelry-form details{margin:var(--space-4) 0;border:1px solid var(--line);padding:var(--space-3);background:var(--bg-elevated)}.jewelry-form summary{cursor:pointer;font-weight:600}@media(max-width:720px){.collection-header,.collection-page__titlebar-inner,.jewelry-detail__toolbar-inner{flex-direction:column;align-items:stretch}.jewelry-detail .detail-actions{justify-content:flex-end}}.export-actions{display:grid;gap:var(--space-2)}.export-actions__buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.export-actions__buttons button{border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);padding:.45rem .85rem;border-radius:var(--radius);cursor:pointer;font:inherit;font-size:.9rem}.export-actions__buttons button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.export-actions__buttons button:disabled{opacity:.65;cursor:wait}.dashboard-page{display:grid;gap:var(--space-6);margin-top:calc(-1 * var(--space-7))}.dashboard-page__sticky-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3) var(--space-4)}.dashboard-page__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.dashboard-section{display:grid;gap:var(--space-3)}.dashboard-section h2{margin:0;font-family:var(--font-display);font-weight:500;font-size:1.35rem}.dashboard-section__lede{margin:0;color:var(--ink-muted);font-size:.95rem}.dashboard-section__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}.dashboard-totals{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin:0}.dashboard-totals div{padding:var(--space-4) 0;border-top:1px solid var(--line)}.dashboard-totals dt{margin:0 0 var(--space-1);color:var(--ink-muted);font-size:.9rem}.dashboard-totals dd{margin:0;font-family:var(--font-display);font-size:1.5rem;font-weight:500}.dashboard-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.95rem}.dashboard-table th,.dashboard-table td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}.dashboard-table th{color:var(--ink-muted);font-weight:600;font-size:.85rem}.dashboard-table th:nth-child(1),.dashboard-table td:nth-child(1){width:auto;overflow-wrap:anywhere}.dashboard-table th:nth-child(2),.dashboard-table td:nth-child(2){width:6rem;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.dashboard-table th:nth-child(3),.dashboard-table td:nth-child(3){width:9.5rem;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.dashboard-groupby select{border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);padding:.5rem .7rem;border-radius:var(--radius);font:inherit}.dashboard-graphic-grid{display:grid;gap:var(--space-6);grid-template-columns:1fr}@media(min-width:900px){.dashboard-graphic-grid{grid-template-columns:1fr 1fr;align-items:start}}.dash-stats{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.dash-stat{position:relative;padding:var(--space-4);border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:var(--bg-elevated);overflow:hidden;min-height:7.5rem}.dash-stat__label{margin:0 0 var(--space-2);color:var(--ink-muted);font-size:.9rem}.dash-stat__value{margin:0;font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:500;font-variant-numeric:tabular-nums}.dash-stat__meter{margin-top:var(--space-4);height:.45rem;border-radius:999px;background:color-mix(in srgb,var(--line) 70%,transparent);overflow:hidden}.dash-stat__meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 70%,#c9a227),var(--accent))}.dash-stat__meter--alt span{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 40%,#5b7c99),color-mix(in srgb,var(--accent) 55%,#3d5a80))}.dash-stat--items .dash-stat__ring{position:absolute;right:.75rem;bottom:.5rem;width:3.75rem;height:3.75rem;opacity:.9}.dash-stat__ring svg{width:100%;height:100%;transform:rotate(-90deg)}.dash-stat__ring-bg,.dash-stat__ring-fg{fill:none;stroke-width:3}.dash-stat__ring-bg{stroke:color-mix(in srgb,var(--line) 80%,transparent)}.dash-stat__ring-fg{stroke:var(--accent);stroke-linecap:round}.dash-bars{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.dash-bars__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;margin-bottom:.35rem;font-size:.92rem}.dash-bars__label{font-weight:600}.dash-bars__values{display:flex;gap:.85rem;color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:.88rem}.dash-bars__track{height:.7rem;border-radius:999px;background:color-mix(in srgb,var(--line) 65%,transparent);overflow:hidden}.dash-bars__fill{height:100%;border-radius:inherit;transition:width .35s ease}.dash-bars__fill--1,.dash-cols__bar--1{background:color-mix(in srgb,var(--accent) 85%,#c9a227)}.dash-bars__fill--2,.dash-cols__bar--2{background:color-mix(in srgb,var(--accent) 55%,#5b7c99)}.dash-bars__fill--3,.dash-cols__bar--3{background:color-mix(in srgb,var(--accent) 50%,#7a5c8a)}.dash-bars__fill--4,.dash-cols__bar--4{background:color-mix(in srgb,var(--accent) 45%,#4a7c6a)}.dash-bars__fill--5,.dash-cols__bar--5{background:color-mix(in srgb,var(--accent) 60%,#a65d4a)}.dash-bars__fill--6,.dash-cols__bar--6{background:color-mix(in srgb,var(--accent) 40%,#6b7280)}.dash-cols{overflow-x:auto;padding-bottom:var(--space-2)}.dash-cols__plot{display:flex;align-items:flex-end;gap:.65rem;min-height:14rem;min-width:min(100%,max(18rem,calc(var(--cols, 6) * 3.5rem)));padding:var(--space-3) var(--space-2) 0;border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:linear-gradient(to top,color-mix(in srgb,var(--bg-elevated) 88%,transparent),transparent 40%),var(--bg)}.dash-cols__item{flex:1 1 0;min-width:3.25rem;max-width:5.5rem;display:grid;grid-template-rows:auto 1fr auto auto;justify-items:center;gap:.35rem;height:12.5rem}.dash-cols__value{font-size:.72rem;color:var(--ink-muted);font-variant-numeric:tabular-nums;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-cols__bar-wrap{width:70%;height:100%;display:flex;align-items:flex-end;justify-content:center}.dash-cols__bar{width:100%;min-height:.35rem;border-radius:.35rem .35rem .15rem .15rem;transition:height .35s ease}.dash-cols__label{font-size:.78rem;font-weight:600;text-align:center;overflow-wrap:anywhere}.dash-cols__count{font-size:.75rem;color:var(--ink-muted);font-variant-numeric:tabular-nums}.auth-panel{max-width:26rem;animation:rise .42s ease both}.auth-panel h1{margin:0 0 var(--space-3);font-size:clamp(1.9rem,3.5vw,2.4rem);font-family:var(--font-display);font-weight:500}.lede{margin:0 0 var(--space-5);color:var(--ink-muted)}.auth-form{display:grid;gap:var(--space-4)}.auth-form label{display:grid;gap:var(--space-2);font-size:.95rem}.auth-form input,.auth-form select,.auth-form textarea{border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);padding:.65rem .75rem;border-radius:var(--radius);font:inherit}.auth-form input:-webkit-autofill,.auth-form input:-webkit-autofill:hover,.auth-form input:-webkit-autofill:focus,.auth-form input:-webkit-autofill:active{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px var(--bg-elevated) inset;transition:background-color 99999s ease-out}.auth-form input:focus-visible,.auth-form select:focus-visible,.auth-form textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.auth-form button[type=submit],.oauth-btn{border:1px solid var(--line);background:color-mix(in srgb,var(--accent) 22%,var(--bg-elevated));color:var(--ink);padding:.7rem 1rem;border-radius:var(--radius);cursor:pointer;text-align:center}.oauth-btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;font-weight:500}.oauth-btn__icon{flex-shrink:0}.auth-form button[type=submit]:disabled{opacity:.6;cursor:wait}.oauth-row{display:grid;gap:var(--space-3);margin-top:var(--space-5)}.auth-links{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-5);color:var(--ink-muted)}.auth-links a{text-decoration:underline;text-underline-offset:3px}.form-error{margin:0;color:#8b2e2e;background:color-mix(in srgb,#8b2e2e 12%,var(--bg-elevated));border:1px solid color-mix(in srgb,#8b2e2e 35%,var(--line));padding:.65rem .75rem}[data-theme=dark] .form-error{color:#f0b4b4}.form-success{margin:0;color:#2f5d3a;background:color-mix(in srgb,#2f5d3a 12%,var(--bg-elevated));border:1px solid color-mix(in srgb,#2f5d3a 35%,var(--line));padding:.75rem}[data-theme=dark] .form-success{color:#b7e0c0}.muted{color:var(--ink-muted)}.home-hero{position:relative;isolation:isolate;display:grid;align-items:end;min-height:calc(100dvh - var(--topbar-height, 4.5rem));width:100%;box-sizing:border-box;overflow:hidden;color:#f4efe6}.home-hero__media,.home-hero__veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.home-hero__media{overflow:hidden}.home-hero__image{width:100%;height:100%;object-fit:cover;object-position:62% 40%;transform:scale(1.06);animation:home-hero-ken 18s ease-out both}.home-hero__veil{background:linear-gradient(90deg,#120e0cd1,#120e0c8c 42%,#120e0c47),linear-gradient(180deg,#120e0c59,#120e0c26 35%,#120e0cb8);animation:home-hero-veil .9s ease both}.home-hero__content{position:relative;z-index:1;width:min(100% - 2rem,34rem);margin-right:auto;margin-left:max(1rem,calc((100% - min(100% - 2rem,var(--max)))/2));padding:clamp(3rem,8vh,5.5rem) 0 clamp(2.5rem,6vh,4rem);display:grid;gap:var(--space-4);animation:home-hero-rise .7s cubic-bezier(.22,1,.36,1) both;animation-delay:.12s}.home-hero__brand{margin:0;font-family:var(--font-display);font-weight:500;font-size:clamp(2.4rem,6vw,3.75rem);line-height:1.08;letter-spacing:.01em;color:#f7f1e6;text-wrap:balance}.home-hero__lede{margin:0;max-width:28rem;color:#f4efe6db;font-size:clamp(1.05rem,2.2vw,1.2rem);line-height:1.55}.home-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2);animation:home-hero-rise .7s cubic-bezier(.22,1,.36,1) both;animation-delay:.28s}.home-hero__cta{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.65rem 1.25rem;border-radius:var(--radius);font-weight:600;letter-spacing:.02em;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.home-hero__cta--primary{background:color-mix(in srgb,var(--accent) 88%,#fff 12%);color:#1a1510}.home-hero__cta--primary:hover{background:var(--accent-soft);color:#1a1510}.home-hero__cta--ghost{border:1px solid rgba(244,239,230,.45);color:#f7f1e6;background:#120e0c47}.home-hero__cta--ghost:hover{border-color:#f4efe6cc;background:#120e0c73}@keyframes home-hero-ken{0%{transform:scale(1.12)}to{transform:scale(1.06)}}@keyframes home-hero-veil{0%{opacity:.4}to{opacity:1}}@keyframes home-hero-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.home-hero__image,.home-hero__veil,.home-hero__content,.home-hero__actions{animation:none}.home-hero__image{transform:scale(1.04)}}@media(max-width:720px){.home-hero__content{margin-left:1rem;margin-right:1rem;max-width:none;width:auto}.home-hero__image{object-position:70% 35%}}.attachments-panel{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line);max-width:40rem}.attachments-panel h2{margin:0 0 var(--space-2);font-family:var(--font-display);font-weight:500;font-size:1.35rem}.attachments-list{list-style:none;margin:var(--space-4) 0;padding:0;display:grid;gap:var(--space-3)}.attachments-item{display:grid;grid-template-columns:4.5rem 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--line);background:var(--bg-elevated)}.attachments-thumb{width:4.5rem;height:4.5rem;object-fit:cover;border:1px solid var(--line)}.attachments-pdf{width:4.5rem;height:4.5rem;display:grid;place-items:center;border:1px solid var(--line);color:var(--ink-muted);font-size:.85rem;font-weight:600}.attachments-meta{display:grid;gap:.2rem;min-width:0}.attachments-meta strong{overflow-wrap:anywhere}.attachments-meta span{color:var(--ink-muted);font-size:.85rem}.attachments-item-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.attachments-upload{margin-top:var(--space-4)}.attachments-file-field{display:grid;gap:var(--space-2)}.attachments-file-label{font-size:.95rem}.attachments-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.attachments-file-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.attachments-file-name{color:var(--ink-muted);font-size:.95rem;overflow-wrap:anywhere}@media(max-width:640px){.attachments-item{grid-template-columns:4.5rem 1fr}.attachments-item-actions{grid-column:1 / -1}}.settings-page{margin-top:calc(-1 * var(--space-7))}.settings-page h2{margin:var(--space-4) 0 var(--space-2);font-family:var(--font-display);font-weight:500}.settings-page h3{margin:0 0 var(--space-3);font-weight:600}.settings-block{margin-bottom:var(--space-6)}.settings-prefs{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6)}.settings-prefs__label{margin:0 0 var(--space-2);color:var(--ink-muted);font-size:.9rem}.settings-form{max-width:28rem}.oauth-list{margin:0;padding-left:1.2rem}.settings-danger{margin-top:var(--space-7);padding-top:var(--space-4);border-top:1px solid color-mix(in srgb,#8b2e2e 35%,var(--line))}.btn-danger{border:1px solid color-mix(in srgb,#8b2e2e 55%,var(--line))!important;background:color-mix(in srgb,#8b2e2e 12%,var(--bg-elevated))!important;color:color-mix(in srgb,#8b2e2e 75%,var(--ink))!important}.form-success{margin:0;color:color-mix(in srgb,#2f5d3a 80%,var(--ink));font-size:.92rem}.category-list{list-style:none;margin:0 0 var(--space-6);padding:0;border-top:1px solid var(--line)}.category-row{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--line)}.category-meta{display:block;color:var(--ink-muted);font-size:.85rem;margin-top:.15rem}.category-actions{display:flex;gap:var(--space-2);flex-shrink:0}.category-actions button,.category-edit button{border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);padding:.35rem .65rem;border-radius:var(--radius);cursor:pointer;font:inherit}.category-edit{display:grid;grid-template-columns:1fr 1fr auto auto;gap:var(--space-2);width:100%}.category-edit input{border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);padding:.45rem .55rem;border-radius:var(--radius)}.category-create{max-width:28rem}@media(max-width:720px){.category-row{flex-direction:column;align-items:flex-start}.category-edit{grid-template-columns:1fr}}:root,[data-theme=light]{--bg: #f3eee4;--bg-elevated: #faf7f1;--bg-header: rgba(243, 238, 228, .92);--ink: #1f1a14;--ink-muted: #5c5348;--line: #d9d0c0;--accent: #9a7b4f;--accent-soft: #c4a574;--focus: #7a623e;--shadow: 0 12px 40px rgba(31, 26, 20, .08);color-scheme:light}[data-theme=dark]{--bg: #121014;--bg-elevated: #1b181d;--bg-header: rgba(18, 16, 20, .92);--ink: #f4efe6;--ink-muted: #b7aea0;--line: #2e2a31;--accent: #c9a86a;--accent-soft: #e0c894;--focus: #e0c894;--shadow: 0 16px 48px rgba(0, 0, 0, .45);color-scheme:dark}:root{--font-display: "Cormorant Garamond", "Times New Roman", serif;--font-body: "Source Sans 3", "Segoe UI", sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius: 2px;--max: 68rem}*,*:before,*:after{box-sizing:border-box}html{overflow-x:clip;scrollbar-gutter:stable}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%,color-mix(in srgb,var(--accent-soft) 28%,transparent),transparent 60%),radial-gradient(900px 420px at 100% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 55%),var(--bg);line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,.brand{font-family:var(--font-display);font-weight:500;letter-spacing:.02em}.stub{max-width:36rem;animation:rise .42s ease both}.stub h1{margin:0 0 var(--space-3);font-size:clamp(2rem,4vw,2.75rem);line-height:1.15}.stub p{margin:0;color:var(--ink-muted);font-size:1.05rem}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
