:root{--bg:#f7f3ef;--bg-2:#f3ede8;--surface:#fff;--surface-2:#efe7e1;--border:#e6ddd6;--text:#1f1b1a;--text-2:#4d4542;--muted:#766b66;--primary:#c97c6d;--primary-2:#e6a28f;--primary-contrast:#fff;--accent:#d08a2b;--accent-contrast:#fff;--secondary:#8fa89e;--secondary-2:#a7bdb4;--shadow-sm:0 1px 2px rgba(31,27,26,.06);--shadow-md:0 8px 24px rgba(31,27,26,.1);--shadow-lg:0 16px 48px rgba(31,27,26,.12);--focus:0 0 0 4px rgba(143,168,158,.35)}:root[data-theme=indigo-royal]{--bg:#f4f6fb;--bg-2:#edf0f8;--surface:#fff;--surface-2:#e7ecf7;--border:#d7def0;--text:#14172b;--text-2:#353c56;--muted:#6b738b;--primary:#3c58c5;--primary-2:#5f79df;--primary-contrast:#fff;--accent:#f0a84b;--accent-contrast:#fff;--secondary:#6c86b6;--secondary-2:#8fa5cc;--focus:0 0 0 4px rgba(92,118,214,.35)}:root[data-theme=terracotta-classic]{--bg:#f7f3ef;--bg-2:#f3ede8;--surface:#fff;--surface-2:#efe7e1;--border:#e6ddd6;--text:#1f1b1a;--text-2:#4d4542;--muted:#766b66;--primary:#c97c6d;--primary-2:#e6a28f;--primary-contrast:#fff;--accent:#d08a2b;--accent-contrast:#fff;--secondary:#8fa89e;--secondary-2:#a7bdb4;--shadow-sm:0 1px 2px rgba(31,27,26,.06);--shadow-md:0 8px 24px rgba(31,27,26,.1);--shadow-lg:0 16px 48px rgba(31,27,26,.12);--focus:0 0 0 4px rgba(143,168,158,.35)}:root[data-theme=sage-olive]{--bg:#f6f7f3;--bg-2:#eef1e9;--surface:#fff;--surface-2:#e8ede1;--border:#d7dfcf;--text:#1d241c;--text-2:#394339;--muted:#6d7666;--primary:#6e8b6c;--primary-2:#8fab87;--primary-contrast:#fff;--accent:#c3843c;--accent-contrast:#fff;--secondary:#9eb08f;--secondary-2:#b3c4a6;--focus:0 0 0 4px rgba(110,139,108,.3)}:root[data-theme=midnight-indigo]{color-scheme:dark;--bg:#0e111a;--bg-2:#141826;--surface:#1b2234;--surface-2:#242d43;--border:#2e3a54;--text:#f1f5ff;--text-2:#c7d0e4;--muted:#9aa5bc;--primary:#6c7bff;--primary-2:#8a96ff;--primary-contrast:#fff;--accent:#f2b45c;--accent-contrast:#0e111a;--secondary:#4d7bb5;--secondary-2:#6c92c6;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 10px 24px rgba(0,0,0,.45);--shadow-lg:0 20px 48px rgba(0,0,0,.5);--focus:0 0 0 4px rgba(108,123,255,.35)}:root[data-theme=graphite-forest]{color-scheme:dark;--bg:#101411;--bg-2:#151b16;--surface:#1c2420;--surface-2:#24312a;--border:#2c3a33;--text:#f1f5f2;--text-2:#c6d0c7;--muted:#9aa69f;--primary:#4f9b78;--primary-2:#6bb089;--primary-contrast:#fff;--accent:#e0a84b;--accent-contrast:#0f1411;--secondary:#4c7f6c;--secondary-2:#6a9683;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 10px 24px rgba(0,0,0,.45);--shadow-lg:0 20px 48px rgba(0,0,0,.5);--focus:0 0 0 4px rgba(79,155,120,.35)}:root{--r-sm:10px;--r-md:16px;--r-lg:22px;--r-pill:999px;--container:1100px;--container-wide:1320px;--sidebar-collapsed:72px;--sidebar-expanded:280px;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-10:4rem;--font-title:var(--font-alegreya,"Alegreya",ui-serif,Georgia,serif);--font-body:var(--font-inter,"Inter",ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:var(--font-body);color:var(--text);background:linear-gradient(180deg,var(--bg) 0,var(--bg-2) 100%);line-height:1.6}a{text-decoration:none}a,a:hover{color:inherit}a:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-sm)}h1,h2,h3{font-family:var(--font-title);margin:0 0 var(--space-4);line-height:1.15}.container{max-width:var(--container);margin:0 auto;padding:0 var(--space-6)}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,var(--surface) 8%);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-header .container,.app-header-content{display:flex;align-items:center;justify-content:space-between;padding:.6rem var(--space-6);gap:var(--space-4)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-title{font-family:var(--font-title);font-size:1.1rem;font-weight:700}.app-header-left{display:flex;align-items:center;gap:var(--space-3)}.app-location{color:var(--muted);font-size:.85rem;font-weight:600}.app-logout-desktop{gap:.35rem}.app-logout-label{font-size:.85rem;font-weight:600}.btn-icon.app-logout-desktop{display:none}.app-header-actions{display:flex;align-items:center;gap:var(--space-3)}.nav-toggle{padding:.35rem .55rem;font-size:.8rem}.btn-icon.nav-toggle{display:none}.app-body{flex:1 1}.app-sidebar{display:none}.app-sidebar-inner{height:100%;display:flex;flex-direction:column;gap:var(--space-4)}.app-main{min-width:0}.app-main .container{max-width:var(--container-wide);padding:0 var(--space-4)}.app-main .page{padding:var(--space-4) 0 var(--space-10)}.app-nav{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.app-nav-link{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);padding:.7rem .75rem;border:none;border-bottom:1px solid var(--border);border-radius:0;border-left:3px solid transparent;background:transparent;color:var(--text-2);font-weight:600;font:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease,padding .18s ease}.app-nav-link:hover{background:var(--surface-2)}.app-nav-link:focus-visible{outline:none;box-shadow:var(--focus);position:relative;z-index:1}.app-nav-link.active{background:color-mix(in srgb,var(--primary) 12%,var(--surface) 88%);border-left-color:var(--primary);color:var(--text)}.app-nav-link[data-status=planned]{color:var(--muted)}.app-nav-link--disabled{cursor:not-allowed}.app-nav-link--disabled:hover{background:transparent;color:var(--muted)}.app-nav-link:last-child{border-bottom:none}.app-nav-icon{display:inline-flex}.app-nav-icon,.app-nav-icon svg{width:20px;height:20px}.app-nav-label{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-status{font-size:.7rem;font-weight:700;padding:.15rem .45rem;border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-left:auto;max-width:90px;overflow:hidden}.nav-status--premium{background:color-mix(in srgb,var(--accent) 20%,var(--surface) 80%);color:var(--text)}.app-nav-footer{margin-top:auto;padding-top:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.app-nav-logout{width:100%;border-bottom:none;background:transparent;cursor:pointer}.mobile-nav{display:none;position:fixed;inset:0;z-index:80;opacity:0;pointer-events:none;transition:opacity .18s ease}.mobile-nav[data-open=true]{opacity:1;pointer-events:auto}.mobile-nav__backdrop{position:absolute;inset:0;background:rgba(31,27,26,.45);border:none;padding:0}.mobile-nav__panel{position:absolute;inset:0 auto 0 0;width:min(320px,85vw);background:var(--surface);border-right:1px solid var(--border);box-shadow:var(--shadow-lg);padding:var(--space-6) var(--space-4);transform:translateX(-100%);transition:transform .2s ease;display:flex;flex-direction:column;gap:var(--space-4);overflow-y:auto}.mobile-nav[data-open=true] .mobile-nav__panel{transform:translateX(0)}.mobile-nav__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.mobile-nav .app-nav-label{max-width:none}@media (max-width:959px){.mobile-nav{display:block}.btn-icon.nav-toggle{display:inline-flex}}@media (max-width:720px){.app-location{display:none}}@media (min-width:960px){.app-body{display:grid;grid-template-columns:var(--sidebar-collapsed) minmax(0,1fr);grid-gap:var(--space-5);gap:var(--space-5);padding:var(--space-4) var(--space-6) var(--space-6);align-items:start}.app-sidebar{display:block;position:-webkit-sticky;position:sticky;top:calc(60px + var(--space-4));align-self:start;width:var(--sidebar-collapsed);transition:width .2s ease,box-shadow .2s ease;transition-delay:0s;z-index:25;background:color-mix(in srgb,var(--surface) 82%,var(--bg) 18%);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-3);overflow:hidden}.app-sidebar:hover{width:var(--sidebar-expanded);box-shadow:var(--shadow-md);transition-delay:.14s}.app-sidebar .app-nav-label,.app-sidebar .nav-status{transition:opacity .18s ease,transform .18s ease,max-width .18s ease}.app-sidebar:not(:hover) .app-nav-link{justify-content:center;padding:.75rem 0;gap:0}.app-sidebar:not(:hover) .app-nav-label,.app-sidebar:not(:hover) .nav-status{opacity:0;max-width:0;transform:translateX(-6px)}.app-sidebar .app-nav-footer{display:none}.app-main .page{padding:0 0 var(--space-10)}.mobile-nav{display:none}}.card{width:100%;max-width:100%;min-width:0;background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:var(--space-5);overflow-x:clip}.card+.card{margin-top:var(--space-4)}.section-title{margin-bottom:var(--space-3)}.section-header,.section-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.section-grid{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.65rem .95rem;border-radius:var(--r-pill);border:1px solid transparent;font-weight:600;cursor:pointer;transition:transform .08s ease,box-shadow .12s ease,background .12s ease}.btn:focus-visible{outline:none;box-shadow:var(--focus)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.btn:disabled:hover{background:inherit;box-shadow:none}.btn-primary:disabled,.btn-primary:disabled:hover{background:var(--primary);color:var(--primary-contrast)}.btn-accent:disabled,.btn-accent:disabled:hover{background:var(--accent);color:var(--accent-contrast)}.btn-danger:disabled,.btn-danger:disabled:hover{background:#b45d52;color:#fff}.btn-xs{padding:.35rem .65rem;font-size:.8rem}.btn-primary{background:var(--primary);color:var(--primary-contrast)}.btn-primary:hover{background:color-mix(in srgb,var(--primary) 82%,#000 18%);color:var(--primary-contrast);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-accent{background:var(--accent);color:var(--accent-contrast)}.btn-accent:hover{background:color-mix(in srgb,var(--accent) 82%,#000 18%);color:var(--accent-contrast);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover{background:var(--surface-2)}.btn-danger{background:#b45d52;color:#fff}.btn-edit{padding:.55rem .9rem}.btn-edit__icon{display:none}.btn-edit__icon svg{width:16px;height:16px}.btn-icon-text{display:inline-flex;align-items:center;gap:var(--space-2)}.btn-icon-text svg{width:16px;height:16px;display:block;flex-shrink:0}.btn-icon-text__label,.btn-icon-text__suffix{display:inline-flex}@media (max-width:720px){.btn-edit{padding:.45rem}.btn-edit__text{display:none}.btn-edit__icon{display:inline-flex}.btn-icon-text{padding:.5rem .65rem}.btn-icon-text__label,.btn-icon-text__suffix{display:none}}a.btn-icon{padding:.3rem .9rem}.btn-icon{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-weight:600;font-size:.9rem;cursor:pointer}.btn-icon svg{width:16px;height:16px}.btn-icon:hover{background:var(--surface-2)}.btn-icon.btn-icon--primary{background:color-mix(in srgb,var(--primary) 18%,var(--surface) 82%);border-color:color-mix(in srgb,var(--primary) 35%,var(--border) 65%);color:color-mix(in srgb,var(--primary) 70%,var(--text) 30%)}.btn-icon.btn-icon--primary:hover{background:color-mix(in srgb,var(--primary) 26%,var(--surface) 74%)}.btn-icon.btn-icon--secondary{background:color-mix(in srgb,var(--secondary) 18%,var(--surface) 82%);border-color:color-mix(in srgb,var(--secondary) 35%,var(--border) 65%);color:color-mix(in srgb,var(--secondary) 70%,var(--text) 30%)}.btn-icon.btn-icon--secondary:hover{background:color-mix(in srgb,var(--secondary) 26%,var(--surface) 74%)}.btn-icon.btn-icon--muted{background:var(--surface);border-color:var(--border);color:var(--muted)}.btn-icon.btn-icon--muted:hover{background:var(--surface-2)}.btn-icon.btn-icon--danger{background:color-mix(in srgb,#d05a4a 18%,var(--surface) 82%);border-color:color-mix(in srgb,#d05a4a 40%,var(--border) 60%);color:color-mix(in srgb,#d05a4a 75%,var(--text) 25%)}.btn-icon.btn-icon--danger:hover{background:color-mix(in srgb,#d05a4a 26%,var(--surface) 74%)}.badge{display:inline-flex;padding:.25rem .6rem;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);font-size:.8rem;font-weight:600}.badge.badge--soon{background:color-mix(in srgb,var(--primary) 16%,var(--surface) 84%);color:var(--text-2);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border) 65%)}.badge.badge--success{background:color-mix(in srgb,#2c8a4b 14%,var(--surface) 86%);color:var(--text-2);border:1px solid color-mix(in srgb,#2c8a4b 32%,var(--border) 68%)}.badge.badge--warning{background:color-mix(in srgb,#b7791f 16%,var(--surface) 84%);color:var(--text-2);border:1px solid color-mix(in srgb,#b7791f 32%,var(--border) 68%)}.badge.badge--danger{background:color-mix(in srgb,#b2412e 14%,var(--surface) 86%);color:var(--text-2);border:1px solid color-mix(in srgb,#b2412e 32%,var(--border) 68%)}.badge.badge--info{background:color-mix(in srgb,#3465a4 14%,var(--surface) 86%);color:var(--text-2);border:1px solid color-mix(in srgb,#3465a4 32%,var(--border) 68%)}.badge.badge--neutral{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.input,select,textarea{width:100%;padding:.55rem .75rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem}textarea{resize:vertical}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input:focus,select:focus,textarea:focus{outline:none;box-shadow:var(--focus)}label{display:block;font-weight:600;margin-bottom:.4rem;color:var(--text-2)}.nutrient-label{gap:.35rem}.nutrient-label,.nutrient-label__icon{display:inline-flex;align-items:center}.nutrient-label__icon{color:var(--muted)}.form-grid,.grid-2{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-3{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.form-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.form-row__label{flex:0 1 auto;min-width:0;margin-bottom:0}.form-row__control{flex:0 1 220px;min-width:180px}.form-row__control .input,.form-row__control .select,.form-row__control textarea{width:100%}.input-group{display:flex;align-items:stretch}.input-addon{display:inline-flex;align-items:center;padding:.62rem .75rem;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);font-weight:600;font-size:.9rem}.input-addon.prefix{border-radius:var(--r-md) 0 0 var(--r-md);border-right:0}.input-addon.suffix{border-radius:0 var(--r-md) var(--r-md) 0;border-left:0}.input-addon--button{padding:.25rem;gap:0}.input-addon--button .btn-icon{border:none;background:transparent;padding:.35rem}.input-addon--button .btn-icon:hover{background:transparent;color:var(--text)}.input-group .input{flex:1 1}.input-group.has-suffix .input{text-align:right}.input-group.has-suffix .input.input--left{text-align:left}.input-group.has-prefix .input{border-left:0;border-radius:0 var(--r-md) var(--r-md) 0}.input-group.has-suffix .input{border-right:0;border-radius:var(--r-md) 0 0 var(--r-md)}.input-group.has-prefix.has-suffix .input{border-radius:0}.input-group .input:focus{position:relative;z-index:1}.select{position:relative;width:100%}.select__button{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:.65rem .85rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.95rem;cursor:pointer;transition:box-shadow .12s ease,border-color .12s ease}.select__button:focus-visible{outline:none;box-shadow:var(--focus)}.select__button.is-open{border-color:color-mix(in srgb,var(--primary) 35%,var(--border) 65%)}.select__button:disabled{cursor:not-allowed;opacity:.7}.select__value{flex:1 1;text-align:left}.select__icon,.select__placeholder{color:var(--muted)}.select__icon{display:inline-flex;align-items:center;transition:transform .12s ease}.select__icon.is-open{transform:rotate(180deg)}.select__panel{position:absolute;z-index:50;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:.4rem;display:grid;grid-gap:.25rem;gap:.25rem;max-height:240px;overflow:auto}.select__option{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:var(--space-2);gap:var(--space-2);padding:.45rem .65rem;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;text-align:left;cursor:pointer;color:var(--text-2);font-weight:600;font-size:.9rem;transition:background .12s ease,border-color .12s ease,color .12s ease}.select__option:hover,.select__option[data-highlighted=true]{background:color-mix(in srgb,var(--primary) 10%,var(--surface) 90%);border-color:color-mix(in srgb,var(--primary) 30%,var(--border) 70%);color:var(--text)}.select__option[aria-selected=true]{color:var(--text)}.select__option:focus-visible{outline:none;box-shadow:var(--focus)}.select__option:disabled{opacity:.5;cursor:not-allowed}.select__option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select__option-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--primary) 16%,var(--surface) 84%);color:color-mix(in srgb,var(--primary) 75%,var(--text) 25%);opacity:0;transition:opacity .12s ease,transform .12s ease}.select__option[aria-selected=true] .select__option-check{opacity:1;transform:scale(1.02)}.accordion{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.accordion-item{position:relative;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.accordion-item[data-open=true]{z-index:2}.accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.9rem 1.1rem;border:none;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;font-size:1rem}.accordion-header:hover{background:color-mix(in srgb,var(--surface-2) 70%,var(--surface) 30%)}.accordion-title{font-weight:700}.accordion-meta{margin-top:.2rem;font-size:.85rem;color:var(--muted)}.accordion-icon{transition:transform .2s ease}.accordion-item[data-open=true] .accordion-icon{transform:rotate(180deg)}.accordion-content{padding:1rem 1.1rem 1.2rem;border-top:1px solid var(--border);background:var(--surface)}.tooltip{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:inherit}.tooltip.is-disabled{cursor:default}.tooltip.tooltip--interactive{cursor:inherit}.tooltip__content{position:fixed;z-index:10000;white-space:nowrap;background:var(--surface);color:var(--text-2);padding:.3rem .6rem;border-radius:var(--r-sm);border:1px solid var(--border);font-size:.85rem;font-weight:500;letter-spacing:.01em;line-height:1.2;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease;transition-delay:0s;box-shadow:var(--shadow-sm)}.tooltip__content:after{display:none}.tooltip__content[data-open=true]{opacity:1;transform:translateY(0)}.tooltip:hover .tooltip__content[data-open=true]{transition-delay:.4s}.tooltip__content[data-side=bottom]{transform:translateY(-4px)}.tooltip__content[data-side=bottom]:after{display:none}.tooltip__content[data-align=start]{transform:translateY(4px)}.tooltip__content[data-align=start]:after{left:14px}.tooltip__content[data-align=end]{transform:translateY(4px)}.tooltip__content[data-align=end]:after{left:auto;right:14px;transform:translateX(50%)}.tooltip__content[data-align=end][data-side=bottom],.tooltip__content[data-align=start][data-side=bottom]{transform:translateY(-4px)}.tooltip__content[data-open=true][data-align=end],.tooltip__content[data-open=true][data-align=end][data-side=bottom],.tooltip__content[data-open=true][data-align=start],.tooltip__content[data-open=true][data-align=start][data-side=bottom],.tooltip__content[data-open=true][data-side=bottom]{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.tooltip__content{transition:none}}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:.6rem .5rem;border-bottom:1px solid var(--border);text-align:left;font-size:.95rem}.table th{color:var(--muted);font-weight:600}.table tbody tr[data-clickable=true]{cursor:pointer;transition:background .2s ease}.table tbody tr[data-clickable=true]:hover{background:var(--surface-2)}.table tbody tr[data-clickable=true]:focus-visible{outline:2px solid var(--primary-2);outline-offset:-2px}.table-filters{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:var(--space-4) 0}.table-filters-actions{display:flex;align-items:flex-end}.table-actions{display:flex;gap:var(--space-2);justify-content:flex-end;align-items:center}.table-actions .btn-icon{padding:.3rem .8rem;font-size:.85rem}@media (max-width:720px){.table{display:block;width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-4);flex-wrap:wrap}.pagination-info{color:var(--muted);font-weight:600;font-size:.9rem}.pagination-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.pagination-page{font-size:.9rem;color:var(--text-2)}.pagination-select{width:auto;min-width:90px}.pagination-controls .btn-icon{padding:.35rem .55rem;font-size:.8rem}.pagination-controls .btn-icon svg{width:16px;height:16px}.pagination-select .select__button{padding:.35rem .65rem;font-size:.8rem;border-radius:var(--r-pill)}.pagination-select .select__icon{color:var(--muted)}.editable-title{margin:0}.editable-title-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:.2rem .4rem;border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:inherit;font:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}.editable-title-button:hover{background:var(--surface-2);border-color:var(--border)}.editable-title-button:focus-visible{outline:none;box-shadow:var(--focus)}.editable-title-input{width:min(420px,100%);padding:.25rem .5rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:inherit;font:inherit}.editable-title-input:focus{outline:none;box-shadow:var(--focus)}.autosave-status{font-size:.85rem;color:var(--muted);font-weight:600}.autosave-status.saving{color:var(--text-2)}.autosave-status.error{color:#7a2c1f}.requirements-list{margin:var(--space-4) 0 0;padding-left:1.2rem;color:var(--text-2)}.notice{padding:var(--space-4);border-radius:var(--r-md);border:1px dashed var(--border);background:var(--surface-2);color:var(--text-2)}.link{color:var(--primary);font-weight:600}.empty{padding:var(--space-5);border-radius:var(--r-md);border:1px dashed var(--border)}.empty,.loading{color:var(--muted);text-align:center}.loading{padding:var(--space-6)}.error{border-radius:var(--r-md);background:#ffe2dc;color:#7a2c1f;border:1px solid #f3b2a6}.error,.success{padding:var(--space-3);font-weight:600}.success{border-radius:var(--r-md);background:#e1f4e6;color:#1f5a3a;border:1px solid #9ad3b5}.muted{color:var(--muted)}.brand-wordmark{display:inline-flex;align-items:baseline}.brand-wordmark__accent{color:var(--primary)}.brand-wordmark__suffix{color:inherit}.hide-mobile{display:inline-flex}.show-mobile{display:none}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:520px}.print-hidden{display:block}@media (max-width:720px){.hide-mobile{display:none!important}.show-mobile{display:inline-flex!important}.table-scroll table{min-width:0}}.metrics-grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.metric-card{padding:var(--space-4);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2)}.metric-card h3{margin:0 0 .35rem;font-size:.95rem;color:var(--muted);font-family:var(--font-body)}.metric-top{display:inline-flex;align-items:center;gap:.45rem}.metric-icon{display:inline-flex;color:var(--text)}.metric-icon,.metric-icon svg{width:18px;height:18px}.metric-value{font-size:1.4rem;font-weight:700;color:var(--text)}.metric-unit{margin-left:.15rem;font-size:1.2rem}.metric-label,.metric-unit{font-weight:600;color:var(--muted)}.metric-label{margin-top:.25rem;font-size:.8rem}.metric-title{display:inline-flex;align-items:center;gap:.4rem}.metric-title .status-icon{width:16px;height:16px;opacity:.85}.metric-title .status-icon svg{width:16px;height:16px}.metric-card p{margin:0;font-size:1.4rem;font-weight:700;color:var(--text)}.metric-card small{color:var(--muted);font-weight:600}.metric-card__meta{display:grid;grid-gap:.25rem;gap:.25rem;margin-top:.35rem}.metric-status{display:flex;align-items:center;gap:.4rem;margin-top:.4rem;font-size:.85rem}.status-icon{display:inline-flex}.status-icon,.status-icon svg{width:16px;height:16px}.status-label{font-weight:600}.status-icon.good,.status-label.good{color:#1f5a3a}.status-icon.bad,.status-label.bad{color:#7a2c1f}.status-icon.neutral,.status-label.neutral{color:var(--muted)}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-5);box-shadow:var(--shadow-sm)}.chart-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.chart-axis{display:grid;grid-template-columns:repeat(var(--chart-count,1),minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-3);font-size:.8rem;color:var(--muted);text-align:center}.chart-card svg{width:100%;height:auto}.report-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.report-meta{color:var(--text-2);font-size:.95rem}.comparison-series{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.comparison-step{display:inline-flex;align-items:center;gap:.35rem}.comparison-value{font-weight:600;color:var(--text)}.comparison-value-muted{font-weight:600;color:var(--muted)}.comparison-delta{font-size:.8rem;font-weight:600}.comparison-delta.positive{color:#1f5a3a}.comparison-delta.negative{color:#7a2c1f}.breadcrumb,.comparison-arrow{color:var(--muted)}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;row-gap:.2rem;font-size:.9rem;margin-bottom:var(--space-3)}.breadcrumb>*{min-width:0}.breadcrumb__segment{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.25rem;min-width:0}.breadcrumb a{color:var(--muted)}.breadcrumb span{color:var(--text-2)}.modal-backdrop{position:fixed;inset:0;background:rgba(31,27,26,.45);display:flex;align-items:center;justify-content:center;padding:var(--space-6);overflow-y:auto;z-index:60}.modal{border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-lg);width:min(820px,100%);max-height:90vh;overflow:hidden;padding:0;flex-direction:column}.modal,.modal-header{background:var(--surface);display:flex}.modal-header{align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);z-index:2;border-bottom:1px solid var(--border)}.modal-header h2{margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3)}.modal-body{padding:var(--space-6);overflow:auto;overflow-x:hidden;min-height:0;flex:1 1}@media (max-width:720px){.modal,.modal-backdrop{padding:0}.modal{width:100vw;height:100vh;max-width:100vw;max-height:100vh;border-radius:0;border:none}.modal-header{padding:var(--space-4) var(--space-5)}.modal-body{padding:var(--space-5)}}.tour-backdrop,.tour-blocker{position:fixed;inset:0}.tour-blocker{z-index:88}.tour-backdrop{z-index:88;background:rgba(31,27,26,.58)}.tour-highlight{position:fixed;z-index:89;border-radius:24px;border:1px solid color-mix(in srgb,var(--primary) 45%,var(--border) 55%);background:color-mix(in srgb,var(--primary) 8%,transparent 92%);box-shadow:0 0 0 9999px rgba(31,27,26,.58);pointer-events:none;transition:top .22s ease,left .22s ease,width .22s ease,height .22s ease}.tour-card{position:fixed;z-index:90;display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-5);border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-lg);box-sizing:border-box;max-height:calc(100vh - 24px);overflow:auto;overflow-x:hidden}.tour-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.tour-card__heading{display:grid;grid-gap:var(--space-2);gap:var(--space-2);min-width:0}.tour-card__eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.tour-card__heading h2{margin:0;font-size:1.12rem}.tour-card__body{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.tour-card__body p{margin:0;color:var(--text-2)}.tour-card__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.tour-card__progress{font-size:.85rem;font-weight:600;color:var(--muted)}.tour-card__secondary-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap}.tour-card__skip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--muted);font:inherit;font-weight:600;padding:.55rem .4rem;border-radius:var(--r-pill);cursor:pointer;white-space:nowrap}.tour-card__skip:hover{background:var(--surface-2)}.tour-card__skip:focus-visible{outline:none;box-shadow:var(--focus)}.tour-card__navigation{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.tour-card__nav-button{width:2.75rem;height:2.75rem;padding:0;justify-content:center;flex-shrink:0}.tour-card__nav-button svg{width:18px;height:18px}@media (max-width:960px){.tour-highlight{border-radius:20px}.tour-card{max-height:calc(100vh - 24px)}.tour-card__footer{align-items:stretch;flex-direction:column}.tour-card__secondary-actions{justify-content:flex-start;width:100%}.tour-card__navigation{width:100%;justify-content:flex-end;margin-left:0}}.profile-menu{position:relative}.profile-trigger{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:600;font-size:.9rem;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease}.profile-trigger:hover{background:var(--surface-2)}.profile-trigger:focus-visible{outline:none;box-shadow:var(--focus)}.profile-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-icon{display:none;flex-shrink:0;color:var(--text-2)}.profile-chevron{color:var(--text-2);transition:transform .12s ease}.profile-trigger[data-open=true] .profile-chevron{transform:rotate(180deg)}.profile-menu-panel{position:absolute;right:0;top:calc(100% + .5rem);min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);overflow:hidden;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:70}.profile-menu-panel[data-open=true]{opacity:1;transform:translateY(0);pointer-events:auto}.profile-menu-section{padding:.75rem .9rem;border-bottom:1px solid var(--border);background:var(--surface)}.profile-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.profile-email{margin-top:.2rem;font-size:.85rem;font-weight:600;color:var(--text)}.profile-menu-item{width:100%;display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;border:none;background:transparent;color:var(--text-2);font-weight:600;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.profile-menu-item:hover{background:var(--surface-2)}.profile-menu-item svg{width:16px;height:16px}.profile-menu-item.danger{color:#c24f44}.profile-menu-item.danger:hover{background:color-mix(in srgb,#c24f44 14%,var(--surface) 86%)}.preferences-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.preferences-subtitle{margin:0;color:var(--muted);font-size:.95rem}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.theme-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);padding:var(--space-4);text-align:left;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.theme-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.theme-card.active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.theme-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.theme-meta{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}.theme-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--primary) 18%,var(--surface) 82%);color:var(--primary)}.theme-swatch{height:56px;border-radius:var(--r-sm);border:1px solid var(--border);margin-bottom:var(--space-3)}.theme-name{font-weight:700;margin-bottom:.2rem;color:var(--text)}.theme-description{font-size:.85rem;color:var(--muted)}@media (max-width:720px){.profile-name{display:none}.profile-icon{display:inline-flex}.profile-chevron{display:none}}.toast-container{position:fixed;right:var(--space-6);bottom:var(--space-6);display:grid;grid-gap:var(--space-2);gap:var(--space-2);z-index:60}.toast{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.75rem .95rem;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md);font-weight:600;color:var(--text);min-width:240px}.toast--success{border-color:color-mix(in srgb,var(--secondary) 45%,var(--border) 55%);background:color-mix(in srgb,var(--secondary) 12%,var(--surface) 88%);color:color-mix(in srgb,var(--secondary) 85%,var(--text) 15%)}.toast--error{border-color:color-mix(in srgb,#d05a4a 45%,var(--border) 55%);background:color-mix(in srgb,#d05a4a 12%,var(--surface) 88%);color:#b24335}.toast--info{border-color:color-mix(in srgb,var(--primary) 35%,var(--border) 65%);background:color-mix(in srgb,var(--primary) 10%,var(--surface) 90%);color:var(--text-2)}.toast-close{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:inherit;cursor:pointer;padding:.2rem}.toast-close svg{width:16px;height:16px}@media (max-width:720px){.toast-container{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}.toast{min-width:0}}