@import "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap";@media (prefers-color-scheme:dark){:root{--color-bg:#141414;--color-bg-raised:#2a2a2a;--color-bg-inset:#212121;--color-bg-subtle:#ffffff06;--color-surface-accent:#424242;--color-text:#eceff1;--color-text-label:#e0e0e0;--color-text-meta:#bdbdbd;--color-text-placeholder:#9e9e9e;--color-text-inverted:#212121;--color-border:#eceff12e;--color-border-strong:#616161;--color-brand:#5449c6;--color-brand-hover:#7369df;--color-brand-soft:#8a7ffc24;--color-brand-contrast:#fafafa;--color-brand-fg:#8a7ffc;--color-accent:#8a7ffc;--color-selected-bg:var(--color-brand-soft);--color-hover-bg:#ffffff0d;--color-selected-text:#c7c1ff;--color-hover-text:var(--color-text);--color-positive:#52ae50;--color-positive-soft:#1e561d;--color-positive-soft-fg:#eeffed;--color-negative:#e54747;--color-negative-bg:#781010;--color-negative-soft:#781010;--color-negative-soft-fg:#fbe9e9;--color-warning:#f5d375;--color-warning-soft:#866e24;--color-warning-soft-fg:#fff9e7;--color-info:#03a9f4;--color-info-soft:#01579b;--color-info-soft-fg:#e1f5fe;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 8px 24px #0009}}.spinner{border:3px solid #eee;border-top-color:var(--color-brand-fg);border-radius:50%;animation:.8s linear infinite spinner-spin}@media (prefers-color-scheme:dark){.spinner{border-color:#616161;border-top-color:var(--color-brand-fg)}}.spinner[data-size=small]{border-width:2px;width:16px;height:16px}.spinner[data-size=medium]{width:28px;height:28px}.spinner[data-size=large]{width:40px;height:40px}@keyframes spinner-spin{to{transform:rotate(360deg)}}@media (prefers-color-scheme:dark){:root{--color-bg:#141414;--color-bg-raised:#2a2a2a;--color-bg-inset:#212121;--color-bg-subtle:#ffffff06;--color-surface-accent:#424242;--color-text:#eceff1;--color-text-label:#e0e0e0;--color-text-meta:#bdbdbd;--color-text-placeholder:#9e9e9e;--color-text-inverted:#212121;--color-border:#eceff12e;--color-border-strong:#616161;--color-brand:#5449c6;--color-brand-hover:#7369df;--color-brand-soft:#8a7ffc24;--color-brand-contrast:#fafafa;--color-brand-fg:#8a7ffc;--color-accent:#8a7ffc;--color-selected-bg:var(--color-brand-soft);--color-hover-bg:#ffffff0d;--color-selected-text:#c7c1ff;--color-hover-text:var(--color-text);--color-positive:#52ae50;--color-positive-soft:#1e561d;--color-positive-soft-fg:#eeffed;--color-negative:#e54747;--color-negative-bg:#781010;--color-negative-soft:#781010;--color-negative-soft-fg:#fbe9e9;--color-warning:#f5d375;--color-warning-soft:#866e24;--color-warning-soft-fg:#fff9e7;--color-info:#03a9f4;--color-info-soft:#01579b;--color-info-soft-fg:#e1f5fe;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 8px 24px #0009}}.loading-screen{background-color:var(--color-bg-raised);justify-content:center;align-items:center;min-height:100vh;display:flex}@media (prefers-color-scheme:dark){.loading-screen{background-color:var(--color-bg-raised)}}.loading-spinner{border:3px solid #eee;border-top-color:var(--color-brand-fg);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@media (prefers-color-scheme:dark){.loading-spinner{border-color:#616161;border-top-color:var(--color-brand-fg)}}@keyframes spin{to{transform:rotate(360deg)}}.drawer-overlay{background:var(--color-scrim);z-index:100;animation:.15s ease-out drawer-fade;display:flex;position:fixed;inset:0}.drawer{background:var(--color-bg-raised);width:80%;max-width:288px;height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.2s ease-out drawer-slide;display:flex}.drawer>.drawer-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;height:52px;padding:0 1.6rem;display:flex}.drawer>.drawer-header>.module-label{color:var(--color-text);margin:0;font-family:Montserrat,sans-serif;font-size:1.5rem;font-weight:500}.drawer>.drawer-header>.close-button{all:unset;cursor:pointer;width:32px;height:32px;color:var(--color-text-meta);border-radius:4px;justify-content:center;align-items:center;display:flex}.drawer>.drawer-header>.close-button:hover{background:var(--color-hover-bg);color:var(--color-text)}.drawer>.drawer-body{flex-direction:column;gap:2px;padding:1.9rem 1.6rem;display:flex;overflow-y:auto}.drawer>.drawer-body>.drawer-item{color:var(--color-text-meta);border-radius:6px;align-items:center;padding:.9rem 0;font-size:1.4rem;text-decoration:none;display:flex}.drawer>.drawer-body>.drawer-item:hover:not(.selected){background:var(--color-hover-bg);color:var(--color-text)}.drawer>.drawer-body>.drawer-item.selected{background:var(--color-selected-bg);color:var(--color-selected-text);font-weight:500}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}@keyframes drawer-slide{0%{transform:translate(-100%)}to{transform:translate(0)}}.avatar{background:var(--color-brand-soft);color:var(--color-brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex;overflow:hidden}.avatar>img{object-fit:cover;width:100%;height:100%}.user-menu{margin-left:auto;position:relative}.user-menu>.trigger{all:unset;cursor:pointer;border-radius:50%;flex-shrink:0}.user-menu>.trigger:hover>.avatar{background:var(--color-brand);color:var(--color-brand-contrast)}.user-menu>.trigger:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.user-menu>.popover{background:var(--color-bg-raised);border:1px solid var(--color-border);min-width:200px;box-shadow:var(--shadow-md);z-index:200;border-radius:8px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.user-menu>.popover>.user-info{flex-direction:column;gap:2px;padding:.8rem 1rem;display:flex}.user-menu>.popover>.user-info>.name{color:var(--color-text);font-weight:500}.user-menu>.popover>.user-info>.email{color:var(--color-text-meta)}.user-menu>.popover>.divider{all:unset;background:var(--color-border);height:1px;display:block}.user-menu>.popover>.logout{all:unset;color:var(--color-negative);cursor:pointer;padding:.8rem 1rem}.user-menu>.popover>.logout:hover{background:var(--color-hover-bg)}.user-menu>.popover>.logout:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.user-menu[data-variant=drawer]>.popover{min-width:220px;position:fixed;inset:auto auto 72px 1rem}.mobile-footer-nav{z-index:50;box-sizing:border-box;background:var(--color-bg-raised);border-top:1px solid var(--color-border);width:100vw;max-width:100vw;padding:.4rem .4rem calc(.4rem + env(safe-area-inset-bottom));justify-content:space-around;align-items:stretch;display:none;position:fixed;bottom:0;left:0;right:0}@media (width<=990px){.mobile-footer-nav{display:flex}}.mobile-footer-nav .fn-item{cursor:pointer;min-width:0;color:var(--color-text-meta);text-transform:none;letter-spacing:normal;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.3rem;padding:.6rem .4rem;font-size:1.05rem;text-decoration:none;display:flex}.mobile-footer-nav .fn-item>.label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-footer-nav .fn-item.active{color:var(--color-selected-text)}.mobile-footer-nav .more-container{flex:1;min-width:0;display:flex;position:relative}.mobile-footer-nav .more-popup{background:var(--color-bg-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-md);z-index:1;border-radius:8px;flex-direction:column;gap:.2rem;min-width:180px;padding:.4rem;display:flex;position:absolute;bottom:calc(100% + .6rem);right:0}.mobile-footer-nav .more-popup>.fn-item{flex-direction:row;justify-content:flex-start;gap:.8rem;padding:.8rem 1rem;font-size:1.3rem}.mobile-footer-nav .more-popup>.fn-item>.label{text-align:left}.sidebar-nav{flex-direction:column;width:100%;display:flex}.sidebar-nav>.sidebar-nav-header{box-sizing:content-box;justify-content:space-between;align-items:center;min-height:28px;padding:.8rem 1.6rem 1.2rem;display:flex}.sidebar-nav>.sidebar-nav-header>.label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-label);font-weight:600}.sidebar-nav>.sidebar-nav-header>.icon-button{font-size:2rem;line-height:1}.sidebar-nav>.sidebar-nav-list{flex-direction:column;gap:.2rem;margin:0;padding:0 .8rem;list-style:none;display:flex}.sidebar-nav .sidebar-nav-item{color:var(--color-text-label);cursor:pointer;border-radius:6px;align-items:center;gap:.6rem;padding:.7rem .8rem;text-decoration:none;transition:background .1s,color .1s;display:flex}.sidebar-nav .sidebar-nav-item:hover:not(.selected){background:var(--color-hover-bg);color:var(--color-text)}.sidebar-nav .sidebar-nav-item.selected{background:var(--color-selected-bg);color:var(--color-selected-text);font-weight:500}.sidebar-nav .sidebar-nav-item>.name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}@media (prefers-color-scheme:dark){:root{--color-bg:#141414;--color-bg-raised:#2a2a2a;--color-bg-inset:#212121;--color-bg-subtle:#ffffff06;--color-surface-accent:#424242;--color-text:#eceff1;--color-text-label:#e0e0e0;--color-text-meta:#bdbdbd;--color-text-placeholder:#9e9e9e;--color-text-inverted:#212121;--color-border:#eceff12e;--color-border-strong:#616161;--color-brand:#5449c6;--color-brand-hover:#7369df;--color-brand-soft:#8a7ffc24;--color-brand-contrast:#fafafa;--color-brand-fg:#8a7ffc;--color-accent:#8a7ffc;--color-selected-bg:var(--color-brand-soft);--color-hover-bg:#ffffff0d;--color-selected-text:#c7c1ff;--color-hover-text:var(--color-text);--color-positive:#52ae50;--color-positive-soft:#1e561d;--color-positive-soft-fg:#eeffed;--color-negative:#e54747;--color-negative-bg:#781010;--color-negative-soft:#781010;--color-negative-soft-fg:#fbe9e9;--color-warning:#f5d375;--color-warning-soft:#866e24;--color-warning-soft-fg:#fff9e7;--color-info:#03a9f4;--color-info-soft:#01579b;--color-info-soft-fg:#e1f5fe;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 8px 24px #0009}}.order-toast{z-index:1000;background:var(--color-bg-raised);border:1px solid var(--color-border);border-left:4px solid var(--color-brand);cursor:pointer;border-radius:8px;max-width:360px;transition:all .3s;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 12px #00000026}@media (prefers-color-scheme:dark){.order-toast{background:var(--color-bg-raised);border-color:var(--color-border);border-left-color:var(--color-brand-fg);box-shadow:0 4px 12px #0006}}.order-toast.visible{opacity:1;transform:translateY(0)}.order-toast.hidden{opacity:0;pointer-events:none;transform:translateY(20px)}.order-toast:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}@media (prefers-color-scheme:dark){.order-toast:hover{box-shadow:0 6px 16px #00000080}}.order-toast-content{align-items:center;gap:1rem;padding:1.25rem;display:flex}.order-toast-icon{font-size:2rem}.order-toast-info{flex-direction:column;flex:1;gap:.35rem;display:flex}.order-toast-info strong{color:var(--color-text);font-size:1.1rem}@media (prefers-color-scheme:dark){.order-toast-info strong{color:var(--color-text)}}.order-toast-info span{color:#757575;font-size:1rem}@media (prefers-color-scheme:dark){.order-toast-info span{color:#bdbdbd}}.order-toast-id{color:#9e9e9e;font-family:monospace;font-size:.95rem}@media (prefers-color-scheme:dark){.order-toast-id{color:#bdbdbd}}.order-toast-close{color:#757575;cursor:pointer;opacity:.6;background:0 0;border:none;padding:0;font-size:1.75rem;line-height:1;transition:opacity .2s}@media (prefers-color-scheme:dark){.order-toast-close{color:#bdbdbd}}.order-toast-close:hover{opacity:1}@media (prefers-color-scheme:dark){:root{--color-bg:#141414;--color-bg-raised:#2a2a2a;--color-bg-inset:#212121;--color-bg-subtle:#ffffff06;--color-surface-accent:#424242;--color-text:#eceff1;--color-text-label:#e0e0e0;--color-text-meta:#bdbdbd;--color-text-placeholder:#9e9e9e;--color-text-inverted:#212121;--color-border:#eceff12e;--color-border-strong:#616161;--color-brand:#5449c6;--color-brand-hover:#7369df;--color-brand-soft:#8a7ffc24;--color-brand-contrast:#fafafa;--color-brand-fg:#8a7ffc;--color-accent:#8a7ffc;--color-selected-bg:var(--color-brand-soft);--color-hover-bg:#ffffff0d;--color-selected-text:#c7c1ff;--color-hover-text:var(--color-text);--color-positive:#52ae50;--color-positive-soft:#1e561d;--color-positive-soft-fg:#eeffed;--color-negative:#e54747;--color-negative-bg:#781010;--color-negative-soft:#781010;--color-negative-soft-fg:#fbe9e9;--color-warning:#f5d375;--color-warning-soft:#866e24;--color-warning-soft-fg:#fff9e7;--color-info:#03a9f4;--color-info-soft:#01579b;--color-info-soft-fg:#e1f5fe;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 8px 24px #0009}}main#layout{display:flex}main#layout>aside.sidebar{background-color:var(--color-bg-raised);border-right:1px solid var(--color-border);flex-direction:column;gap:0;width:180px;min-width:180px;min-height:calc(100vh - 56px);padding:1.2rem 0;display:flex;overflow:visible auto}@media (width>=1024px){main#layout>aside.sidebar{width:200px;min-width:200px}}main#layout>aside.sidebar h6{margin-bottom:0}@media (width<=990px){main#layout>aside.sidebar{display:none}main#layout{padding-bottom:calc(64px + env(safe-area-inset-bottom))}}main#layout>section.admin-content{flex:1;min-width:0;padding:12px}@media (width>=768px){main#layout>section.admin-content{padding:18px 24px}}main#layout>section.admin-content>header nav.breadcrumbs{align-items:baseline;gap:8px;margin-bottom:1em;font-weight:300;display:flex}main#layout>section.admin-content>header nav.breadcrumbs a:after,main#layout>section.admin-content>header nav.breadcrumbs span:after{content:"›";padding-left:8px}main#layout>section.admin-content>header nav.breadcrumbs a{cursor:pointer;text-decoration:none}main#layout>section.admin-content>header nav.breadcrumbs>:last-child{font-weight:500}main#layout>section.admin-content>header nav.breadcrumbs>:last-child:after{content:""}main#layout>section.admin-content section.admin-list,main#layout>section.admin-content section.admin-detail{flex-direction:column;gap:1rem;display:flex}main#layout>section.admin-content section.admin-list>header,main#layout>section.admin-content section.admin-detail>header{background-color:var(--color-bg-raised);border-radius:4px;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}@media (width>=768px){main#layout>section.admin-content section.admin-list>header,main#layout>section.admin-content section.admin-detail>header{gap:1rem;min-height:65px;padding:1.2rem 2rem}}main#layout>section.admin-content section.admin-list>header>h4,main#layout>section.admin-content section.admin-detail>header>h4{margin-bottom:0}main#layout>section.admin-content section.admin-list>header>.filters,main#layout>section.admin-content section.admin-detail>header>.filters{gap:.5rem;width:100%;display:flex}main#layout>section.admin-content section.admin-list>header>.filters>input,main#layout>section.admin-content section.admin-list>header>.filters>select,main#layout>section.admin-content section.admin-detail>header>.filters>input,main#layout>section.admin-content section.admin-detail>header>.filters>select{flex:1;min-width:0}@media (width>=768px){main#layout>section.admin-content section.admin-list>header>.filters,main#layout>section.admin-content section.admin-detail>header>.filters{width:auto}main#layout>section.admin-content section.admin-list>header>.filters>input,main#layout>section.admin-content section.admin-list>header>.filters>select,main#layout>section.admin-content section.admin-detail>header>.filters>input,main#layout>section.admin-content section.admin-detail>header>.filters>select{flex:initial}main#layout>section.admin-content section.admin-list>header>.filters,main#layout>section.admin-content section.admin-list>header>form,main#layout>section.admin-content section.admin-list>header>button,main#layout>section.admin-content section.admin-list>header>a.button,main#layout>section.admin-content section.admin-detail>header>.filters,main#layout>section.admin-content section.admin-detail>header>form,main#layout>section.admin-content section.admin-detail>header>button,main#layout>section.admin-content section.admin-detail>header>a.button{margin-left:auto}main#layout>section.admin-content section.admin-list>header>.filters~.filters,main#layout>section.admin-content section.admin-list>header>.filters~form,main#layout>section.admin-content section.admin-list>header>.filters~button,main#layout>section.admin-content section.admin-list>header>.filters~a.button,main#layout>section.admin-content section.admin-list>header>form~.filters,main#layout>section.admin-content section.admin-list>header>form~form,main#layout>section.admin-content section.admin-list>header>form~button,main#layout>section.admin-content section.admin-list>header>form~a.button,main#layout>section.admin-content section.admin-list>header>button~.filters,main#layout>section.admin-content section.admin-list>header>button~form,main#layout>section.admin-content section.admin-list>header>button~button,main#layout>section.admin-content section.admin-list>header>button~a.button,main#layout>section.admin-content section.admin-list>header>a.button~.filters,main#layout>section.admin-content section.admin-list>header>a.button~form,main#layout>section.admin-content section.admin-list>header>a.button~button,main#layout>section.admin-content section.admin-list>header>a.button~a.button,main#layout>section.admin-content section.admin-detail>header>.filters~.filters,main#layout>section.admin-content section.admin-detail>header>.filters~form,main#layout>section.admin-content section.admin-detail>header>.filters~button,main#layout>section.admin-content section.admin-detail>header>.filters~a.button,main#layout>section.admin-content section.admin-detail>header>form~.filters,main#layout>section.admin-content section.admin-detail>header>form~form,main#layout>section.admin-content section.admin-detail>header>form~button,main#layout>section.admin-content section.admin-detail>header>form~a.button,main#layout>section.admin-content section.admin-detail>header>button~.filters,main#layout>section.admin-content section.admin-detail>header>button~form,main#layout>section.admin-content section.admin-detail>header>button~button,main#layout>section.admin-content section.admin-detail>header>button~a.button,main#layout>section.admin-content section.admin-detail>header>a.button~.filters,main#layout>section.admin-content section.admin-detail>header>a.button~form,main#layout>section.admin-content section.admin-detail>header>a.button~button,main#layout>section.admin-content section.admin-detail>header>a.button~a.button{margin-left:0}}.admin-table{outline:none;overflow:hidden}.admin-table .table-header{font-weight:500}.admin-table .table-header,.admin-table .table-rows .table-row,.admin-table .table-row{border-bottom:1px solid var(--color-border);align-items:center;transition:background-color .2s;display:flex}.admin-table .table-header>div,.admin-table .table-rows .table-row>div,.admin-table .table-row>div{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:20px;padding:.75rem 1rem;overflow:hidden}.admin-table .table-header>div.wide,.admin-table .table-rows .table-row>div.wide,.admin-table .table-row>div.wide{flex:2}.admin-table .table-header>div.name-cell,.admin-table .table-rows .table-row>div.name-cell,.admin-table .table-row>div.name-cell{overflow:hidden}.admin-table .table-header>div.drag-handle,.admin-table .table-header>div.product-thumbnail,.admin-table .table-rows .table-row>div.drag-handle,.admin-table .table-rows .table-row>div.product-thumbnail,.admin-table .table-row>div.drag-handle,.admin-table .table-row>div.product-thumbnail{flex:0 0 60px;justify-content:center;display:flex;position:relative;overflow:visible}.admin-table .table-header>div.actions,.admin-table .table-rows .table-row>div.actions,.admin-table .table-row>div.actions{flex:none;justify-content:flex-end;gap:.5rem;min-width:155px;display:flex;position:relative;overflow:visible}.admin-table .action-menu{background-color:var(--color-bg-raised);min-width:140px;min-height:30px;box-shadow:var(--shadow-md);z-index:10;border-radius:4px;padding:0;position:absolute;top:100%;right:0}.admin-table .action-menu-item{cursor:pointer;white-space:nowrap;padding:.8rem;font-size:1.2rem;display:block}.admin-table .action-menu-item:hover{background-color:var(--color-hover-bg)}.admin-table .product-thumbnail{justify-content:center;align-items:center;width:48px;height:48px;display:flex}.admin-table .product-thumbnail img{object-fit:cover;border-radius:4px;width:40px;height:40px;transition:transform .2s}.admin-table .product-thumbnail img:hover{transform:scale(1.1)}.admin-table .table-row:hover{background-color:#ffffff0d}.admin-table .editable-value{cursor:pointer;color:var(--color-text);border-radius:.4rem;padding:.4rem .8rem}.admin-table .editable-value:hover{background-color:var(--color-hover-bg)}.admin-table .inline-input{width:100%;height:auto;font-size:inherit;margin-bottom:0;padding:.3rem .6rem}.inline-creator>.inline-form{border-bottom:1px solid var(--color-border);padding:2rem 0}.inline-creator>.inline-form>input,.inline-creator>.inline-form>textarea{resize:vertical;width:100%}.inline-creator>.inline-form>.error{margin-top:.4rem;display:block}.inline-creator>.inline-form>.uploads{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.inline-creator>.inline-form>.uploads>.upload-item{color:#616161;background:#eee;border-radius:4px;align-items:center;gap:4px;padding:.2rem .5rem;display:inline-flex}@media (prefers-color-scheme:dark){.inline-creator>.inline-form>.uploads>.upload-item{color:#e0e0e0;background:#616161}}.inline-creator>.inline-form>.uploads>.upload-item>.remove{all:unset;cursor:pointer;opacity:.6;padding:0 2px}.inline-creator>.inline-form>.uploads>.upload-item>.remove:hover{opacity:1}.inline-creator>.inline-form>.actions{align-items:center;gap:.8rem;margin-top:.8rem;display:flex}.inline-creator>.inline-form>.actions>select{flex:0 auto;min-width:0;max-width:16rem}.category-groups{flex-direction:column;gap:.6rem;display:flex}.category-group{background:var(--color-bg-inset);border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.category-group>summary,.category-group>h5{background:var(--color-bg-raised);border-bottom:1px solid var(--color-border);border-radius:8px 8px 0 0;align-items:center;gap:.8rem;margin:0;padding:.85rem 1.5rem;font-weight:600;display:flex}.category-group>summary{-webkit-user-select:none;user-select:none;cursor:pointer;list-style:none}.category-group>summary::marker{content:"";display:none}.category-group>summary::-webkit-details-marker{content:"";display:none}.category-group>summary:before{content:"▶";color:#bdbdbd;flex-shrink:0;font-size:1.1rem;transition:transform .15s}.category-group[open]>summary:before{transform:rotate(90deg)}.category-group>summary>.summary-actions{align-items:center;gap:.4rem;margin-left:auto;display:flex}.category-group>.category-items,.category-group>ul{margin:0;padding:0;list-style:none}.category-group>.category-items>li,.category-group>ul>li{border-bottom:1px solid var(--color-border);align-items:center;gap:.6rem;padding:.85rem 1.5rem;display:flex}.category-group>.category-items>li:last-child,.category-group>ul>li:last-child{border-bottom:none}.category-group>.category-items>li>a,.category-group>ul>li>a{flex:1;align-items:center;gap:.4rem;display:inline-flex}.category-group>.category-items>li>.item-actions,.category-group>ul>li>.item-actions{gap:.4rem;margin-left:auto;display:flex}.category-group>.category-items>li>details,.category-group>ul>li>details{width:100%}.category-group>.category-items>li>details>summary.row-header,.category-group>ul>li>details>summary.row-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.85rem 0;list-style:none;display:flex}.category-group>.category-items>li>details>summary.row-header::marker{content:"";display:none}.category-group>.category-items>li>details>summary.row-header::-webkit-details-marker{content:"";display:none}.category-group>ul>li>details>summary.row-header::marker{content:"";display:none}.category-group>ul>li>details>summary.row-header::-webkit-details-marker{content:"";display:none}.category-group>.category-items>li>details>summary.row-header:before,.category-group>ul>li>details>summary.row-header:before{content:"▶";color:#bdbdbd;flex-shrink:0;font-size:1.1rem;transition:transform .15s}.category-group>.category-items>li>details[open]>summary.row-header:before,.category-group>ul>li>details[open]>summary.row-header:before{transform:rotate(90deg)}.category-group>.category-items>li>details>summary.row-header>.name,.category-group>ul>li>details>summary.row-header>.name{flex:1;align-items:center;gap:.4rem;display:flex}.category-group>.category-items>li>details>summary.row-header>.name>.spinner,.category-group>ul>li>details>summary.row-header>.name>.spinner{flex-shrink:0}.admin-subsection{margin-top:4rem}.admin-subsection .subsection-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.admin-subsection .subsection-header h5{margin:0}.admin-subsection .subsection-content .add-item{max-width:40rem;margin-bottom:2rem}.admin-subsection .empty-message{color:var(--color-border);font-style:italic}.admin-subsection button.small{padding:.4rem .8rem}.table-row.clickable{cursor:pointer}.filters{flex-wrap:wrap;gap:1rem;display:flex}.filters select{min-width:150px}.empty-state{text-align:center;color:var(--color-text-meta);padding:3rem}.info-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:2rem;display:grid}.info-card{background:var(--color-bg-raised);border-radius:8px;max-width:60rem;padding:1.5rem}.info-card.wide{max-width:100%}.info-card.transparent{background:0 0}.info-card h5{border-bottom:1px solid var(--color-border);margin:0 0 1rem;padding-bottom:.75rem}.detail-row{justify-content:space-between;gap:1rem;padding:.5rem 0;display:flex}.detail-row .label{color:var(--color-text-label)}.detail-row .value{text-align:right;font-weight:500}.detail-row .value a{color:#0277bd}.status-select{min-width:150px;padding:.4rem .8rem}.checkbox-group{flex-wrap:wrap;gap:1rem;display:flex}.checkbox-option{cursor:pointer;align-items:center;gap:.5rem;display:flex}.checkbox-option input[type=checkbox]{cursor:pointer;width:1.2rem;height:1.2rem}section.admin-detail .metrics-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}section.admin-detail .metric-card{background:var(--color-bg-raised);text-align:center;border-radius:8px;padding:1.5rem}section.admin-detail .metric-card .metric-value{color:var(--color-brand-fg);margin-bottom:.5rem;font-size:2rem;font-weight:600;display:block}section.admin-detail .metric-card .metric-label{color:var(--color-text-meta);display:block}section.admin-detail .detail-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}section.admin-detail .permission-list>.permission-group{margin-bottom:1.5rem}section.admin-detail .permission-list>.permission-group>h5{border-bottom:1px solid var(--color-border);margin:0 0 .5rem;padding-bottom:.5rem}section.admin-detail .permission-list>.permission-group>.permission-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}section.admin-detail .permission-list>.permission-group>.permission-row>.info{flex-direction:column;gap:.15rem;display:flex}section.admin-detail .permission-list>.permission-group>.permission-row>.info>.name{font-weight:500}section.admin-detail .permission-list>.permission-group>.permission-row>.info>.description{color:var(--color-text-placeholder)}section.admin-detail .permission-list>.permission-group>.permission-row:last-child{border-bottom:none}section.admin-detail .detail-section{background:var(--color-bg-raised);border-radius:8px;padding:1.25rem}section.admin-detail .detail-section .action-bar{justify-content:flex-start;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}section.admin-detail .detail-section h5{border-bottom:1px solid var(--color-border);margin:0 0 1rem;padding-bottom:.75rem}section.admin-detail .detail-section>.section-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}section.admin-detail .detail-section>.section-header>h5{border-bottom:none;margin:0;padding-bottom:0}section.admin-detail .detail-section>.section-header>.summary{gap:.5rem;margin-left:auto;display:flex}section.admin-detail .detail-section>.section-header>.section-link{color:var(--color-text-placeholder);margin-left:auto}section.admin-detail .detail-section>.section-header>.section-link:hover{color:var(--color-brand-fg)}section.admin-detail .detail-section dl{margin:0}section.admin-detail .detail-section dl dt{color:var(--color-text-meta);margin-bottom:.25rem}section.admin-detail .detail-section dl dd{margin:0 0 1rem;font-weight:500}section.admin-detail .detail-section dl dd>form{flex-direction:column;align-items:flex-start;gap:.5rem;max-width:40rem;display:flex}section.admin-detail .detail-section dl dd>form>input{width:100%}section.admin-detail .detail-section.metrics-section{margin-left:0}section.admin-detail .cart-id{font-family:monospace}section.admin-detail .customer-contact{flex-direction:column;gap:.25rem;display:flex}section.admin-list .analytics-section{margin-bottom:3rem}section.admin-list .analytics-section h5{align-items:baseline;gap:.5rem;margin:0 0 1.5rem;display:flex}section.admin-list .analytics-section .section-summary{color:var(--color-text-meta);font-weight:400}section.admin-list .analytics-section .admin-table{margin-left:0}section.admin-list .analytics-section .summary-cards{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}@media (width<=900px){section.admin-list .analytics-section .summary-cards{grid-template-columns:repeat(2,1fr)}}section.admin-list .analytics-section .chart-legend{gap:1.5rem;margin-bottom:1rem;display:flex}section.admin-list .analytics-section .chart-legend .legend-item{align-items:center;gap:.5rem;display:flex}section.admin-list .analytics-section .chart-legend .legend-item:before{content:"";border-radius:2px;width:12px;height:12px}section.admin-list .analytics-section .chart-legend .legend-item.legend-opened:before{background:#03a9f4}section.admin-list .analytics-section .chart-legend .legend-item.legend-completed:before{background:#1e561d}section.admin-list .analytics-section .chart-legend .legend-item.legend-abandoned:before{background:#981515}section.admin-list .analytics-section .stacked-bar-chart{align-items:flex-end;gap:2px;height:200px;padding:1rem 0;display:flex;overflow-x:auto}section.admin-list .analytics-section .stacked-bar-chart .chart-bar-container{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:20px;height:100%;display:flex}section.admin-list .analytics-section .stacked-bar-chart .chart-bar{border-radius:2px 2px 0 0;flex-direction:column-reverse;justify-content:flex-end;width:100%;margin-bottom:7px;display:flex;overflow:hidden}section.admin-list .analytics-section .stacked-bar-chart .bar-segment{width:100%}section.admin-list .analytics-section .stacked-bar-chart .bar-segment.bar-opened{background:#0277bd}section.admin-list .analytics-section .stacked-bar-chart .bar-segment.bar-completed{background:#1e561d}section.admin-list .analytics-section .stacked-bar-chart .bar-segment.bar-abandoned{background:#981515}section.admin-list .analytics-section .stacked-bar-chart .chart-label{color:var(--color-text-placeholder);white-space:nowrap;transform-origin:top;margin-top:.25rem;font-size:.9rem;transform:rotate(-45deg)}section.admin-list .analytics-section .ip-address{background:var(--color-bg-inset);border-radius:3px;padding:.2rem .4rem;font-family:monospace;font-size:1.1rem}.admin-form{flex-direction:column;gap:1.5rem;display:flex}.admin-form.thin{width:fit-content;min-width:40rem;max-width:60rem}.admin-form .form-group{position:relative}.admin-form .form-group label{margin-bottom:.5rem;display:block}.admin-form .form-group>.error,.admin-form .form-group>.valid{margin-top:.4rem;display:block}.admin-form .form-group .input-with-icon{max-width:40rem;position:relative}.admin-form .form-group .input-with-icon>input{padding-right:3rem}.admin-form .form-group .input-with-icon>.valid{white-space:normal;margin-top:0;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.admin-form .form-group input[type=text],.admin-form .form-group input[type=email],.admin-form .form-group input[type=number],.admin-form .form-group textarea,.admin-form .form-group select{width:100%;margin-bottom:0}.admin-form .form-group input[type=checkbox]{width:20px;height:20px;margin-right:.5rem}.admin-form .form-row{gap:2rem;display:flex}.admin-form .form-row>.form-group{flex:1}.admin-form .form-actions{border-top:1px solid var(--color-border);justify-content:flex-end;align-items:center;gap:1.5rem;margin-top:1.5rem;padding-top:2rem;display:flex}.name-cell{align-items:center;gap:1rem;display:flex}:before,:after{box-sizing:border-box}*{box-sizing:border-box;margin:0}body{-webkit-font-smoothing:antialiased;line-height:calc(1em + .5rem)}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root{isolation:isolate}@media (prefers-color-scheme:dark){:root{--color-bg:#141414;--color-bg-raised:#2a2a2a;--color-bg-inset:#212121;--color-bg-subtle:#ffffff06;--color-surface-accent:#424242;--color-text:#eceff1;--color-text-label:#e0e0e0;--color-text-meta:#bdbdbd;--color-text-placeholder:#9e9e9e;--color-text-inverted:#212121;--color-border:#eceff12e;--color-border-strong:#616161;--color-brand:#5449c6;--color-brand-hover:#7369df;--color-brand-soft:#8a7ffc24;--color-brand-contrast:#fafafa;--color-brand-fg:#8a7ffc;--color-accent:#8a7ffc;--color-selected-bg:var(--color-brand-soft);--color-hover-bg:#ffffff0d;--color-selected-text:#c7c1ff;--color-hover-text:var(--color-text);--color-positive:#52ae50;--color-positive-soft:#1e561d;--color-positive-soft-fg:#eeffed;--color-negative:#e54747;--color-negative-bg:#781010;--color-negative-soft:#781010;--color-negative-soft-fg:#fbe9e9;--color-warning:#f5d375;--color-warning-soft:#866e24;--color-warning-soft-fg:#fff9e7;--color-info:#03a9f4;--color-info-soft:#01579b;--color-info-soft-fg:#e1f5fe;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 8px 24px #0009}}html{box-sizing:border-box}body{background-color:var(--color-bg)}hr{border:0;border-top:.1rem solid var(--color-border);margin:3rem 0}img{max-width:100%}a{color:var(--color-brand-fg);text-decoration:none}a:focus,a:hover{color:var(--color-brand-hover)}@media (prefers-color-scheme:dark){a{color:var(--color-text)}a:focus,a:hover{color:var(--color-brand-hover)}}html{font-size:62.5%}body{color:var(--color-text);font-family:Inter,sans-serif;font-size:1.3rem;font-weight:400;line-height:1.6}@media (prefers-color-scheme:dark){body{color:var(--color-text)}}b,strong{font-weight:700}p{margin-top:0}h1,h2,h3,h4,h5,h6{font-family:Montserrat,sans-serif}h1{font-size:4.3rem;font-weight:300;line-height:1.2}h2{font-size:2.2rem;font-weight:400;line-height:1.25}h3{font-size:1.8rem;font-weight:400;line-height:1.3}h4{font-size:1.6rem;font-weight:400;line-height:1.35}h5{font-size:1.5rem;font-weight:400;line-height:1.5}h6{font-size:1.3rem;font-weight:500;line-height:1.4}.subtitle,.subtitle-2{color:var(--color-text-meta);font-family:Montserrat,sans-serif;line-height:1.5}.subtitle{font-size:1.4rem;font-weight:400}.subtitle-2{font-size:1.2rem;font-weight:500}.caption{font-family:Inter,sans-serif;font-size:1rem;font-weight:400}.overline{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-meta);font-weight:400}.secondary{color:var(--color-brand-hover)}.muted{color:var(--color-text-placeholder)}.meta{color:var(--color-text-meta)}.negative{color:var(--color-negative)}.button,button{background-color:var(--color-brand);border:.1rem solid var(--color-brand);color:var(--color-brand-contrast);text-transform:uppercase;text-align:center;white-space:nowrap;cursor:pointer;border-radius:.4rem;align-items:center;gap:.5rem;margin:0;padding:1rem 3rem;font-family:Inter,sans-serif;font-size:1.2rem;font-weight:500;text-decoration:none;display:flex}.button:focus,button:focus{background-color:var(--color-brand);outline:1px solid var(--color-brand-fg)}.button:hover,button:hover{border-color:var(--color-brand-hover);background-color:var(--color-brand-hover);color:var(--color-brand-contrast);outline:0}.button[disabled],button[disabled]{opacity:.5;cursor:default}.button[disabled]:focus,.button[disabled]:hover,button[disabled]:focus,button[disabled]:hover{border-color:var(--color-brand-hover);background-color:var(--color-brand-hover)}.button.danger,button.danger{background-color:var(--color-negative-bg);border-color:var(--color-negative-bg);color:#fff}.button.danger:focus,.button.danger:hover,button.danger:focus,button.danger:hover{background-color:var(--color-negative);border-color:var(--color-negative);color:#fff}.button.danger[disabled]:focus,.button.danger[disabled]:hover,button.danger[disabled]:focus,button.danger[disabled]:hover{background-color:var(--color-negative);border-color:var(--color-negative)}.button.outline,button.outline{border-color:var(--color-brand-fg);color:var(--color-brand-fg);background-color:#0000}.button.outline:focus,.button.outline:hover,button.outline:focus,button.outline:hover{border-color:var(--color-brand-hover);color:var(--color-brand-hover)}.button.outline[disabled]:focus,.button.outline[disabled]:hover,button.outline[disabled]:focus,button.outline[disabled]:hover{border-color:inherit;color:var(--color-brand-fg)}.button.outline.danger,button.outline.danger{border-color:var(--color-negative);color:var(--color-negative)}.button.outline.danger:focus,.button.outline.danger:hover,button.outline.danger:focus,button.outline.danger:hover{color:var(--color-brand-contrast)}.button.secondary,button.secondary{background-color:var(--color-surface-accent);border-color:var(--color-border-strong);color:var(--color-text)}.button.secondary:focus,.button.secondary:hover,button.secondary:focus,button.secondary:hover{background-color:var(--color-bg-inset);border-color:var(--color-border-strong);color:var(--color-text)}.button.secondary.outline,button.secondary.outline{color:#616161;background-color:#0000;border:1px solid #e0e0e0}.button.secondary.outline:hover,button.secondary.outline:hover{background-color:#f5f5f5;border-color:#bdbdbd}.button.small,button.small{text-transform:none;padding:.5rem 1rem;font-size:1.2rem}.button.clear,button.clear{color:var(--color-text);letter-spacing:1px;background-color:#0000;border-color:#0000;padding:1rem}.button.clear:focus,.button.clear:hover,button.clear:focus,button.clear:hover{color:var(--color-brand-hover);background-color:#0000;border-color:#0000}.button.clear[disabled]:focus,.button.clear[disabled]:hover,button.clear[disabled]:focus,button.clear[disabled]:hover{color:var(--color-brand-fg)}.button.clear.danger,button.clear.danger{color:var(--color-negative)}.circle-btn{border:1px solid var(--color-border);color:#bdbdbd;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:flex}.circle-btn:hover{color:var(--color-brand-fg);border-color:var(--color-brand-fg)}.button.icon-button,.icon-button{width:28px;height:28px;color:var(--color-text-placeholder);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.button.icon-button:hover,.button.icon-button:focus,.icon-button:hover,.icon-button:focus{background:var(--color-hover-bg);color:var(--color-text);border:0;outline:0}dd,dt{margin-bottom:1rem}blockquote,dl,pre,table{margin-bottom:2.5rem}label.checkbox{align-items:center;margin-bottom:2.4rem;display:flex}label.checkbox input[type=checkbox]{margin-bottom:0;margin-right:.8rem}input[type=checkbox]{appearance:none;vertical-align:top;cursor:pointer;background:#fafafa;border:.1rem solid #9e9e9e;border-radius:.2rem;outline:none;width:2rem;height:2.1rem;margin:0;transition:background .3s,border-color .3s,box-shadow .2s;display:inline-block;position:relative}input[type=checkbox]:after{content:"";width:.5rem;height:1.2rem;transform:rotate(var(--r,20deg));transition:transform var(--d-t,.3s) var(--d-t-e,ease), opacity var(--d-o,.2s);border:.2rem solid #fafafa;border-top:0;border-left:0;display:block;position:absolute;top:.1rem;left:calc(50% - .25rem)}input[type=checkbox]:checked{--r:43deg;--d-o:.3s;--d-t:.6s;--d-t-e:cubic-bezier(.2, .85, .32, 1.2);background-color:#607d8b;border-color:#607d8b}input[type=checkbox]:disabled{opacity:.9;cursor:not-allowed;background-color:#e0e0e0;border-color:#9e9e9e}input[type=checkbox]:disabled+label{cursor:not-allowed}input[type=checkbox]:hover:not(:checked):not(:disabled){border-color:#607d8b}input[type=checkbox]:focus{box-shadow:0 0 0 .2rem #e0e0e0}input[type=checkbox]:not(.switch){width:2.1rem;min-width:2.1rem}input[type=checkbox]:not(.switch):after{opacity:var(--o,0)}input[type=checkbox]:not(.switch):checked{--o:1}input[type=checkbox]+label{vertical-align:top;cursor:pointer;margin-left:.4rem;font-size:1.4rem;line-height:2.1rem;display:inline-block}fieldset,input,select,textarea{margin-bottom:.25rem}input[type=color],input[type=date],input[type=time],input[type=datetime],input[type=datetime-local],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],input[type=week],input:not([type]),textarea,select{border:.1rem solid var(--color-border);appearance:none;height:3.8rem;box-shadow:none;background-color:#0000;border-radius:.4rem;padding:.6rem 1rem .7rem;transition:border-color .2s,box-shadow .2s}input[type=color]:focus,input[type=date]:focus,input[type=time]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,input[type=week]:focus,input:not([type]):focus,textarea:focus,select:focus{outline:1px solid var(--color-brand-fg)}input[type=color]:user-invalid{border-color:var(--color-negative)}input[type=date]:user-invalid{border-color:var(--color-negative)}input[type=time]:user-invalid{border-color:var(--color-negative)}input[type=datetime]:user-invalid{border-color:var(--color-negative)}input[type=datetime-local]:user-invalid{border-color:var(--color-negative)}input[type=email]:user-invalid{border-color:var(--color-negative)}input[type=month]:user-invalid{border-color:var(--color-negative)}input[type=number]:user-invalid{border-color:var(--color-negative)}input[type=password]:user-invalid{border-color:var(--color-negative)}input[type=search]:user-invalid{border-color:var(--color-negative)}input[type=tel]:user-invalid{border-color:var(--color-negative)}input[type=text]:user-invalid{border-color:var(--color-negative)}input[type=url]:user-invalid{border-color:var(--color-negative)}input[type=week]:user-invalid{border-color:var(--color-negative)}input:not([type]):user-invalid{border-color:var(--color-negative)}textarea:user-invalid{border-color:var(--color-negative)}select:user-invalid{border-color:var(--color-negative)}select{background:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 8\" width=\"30\"><path fill=\"%23bdbdbd\" d=\"M0,0l6,8l6-8\"/></svg>") right -.75rem center no-repeat;padding-right:3rem}select:focus{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 8\" width=\"30\"><path fill=\"%2340287b\" d=\"M0,0l6,8l6-8\"/></svg>")}@media (prefers-color-scheme:dark){select{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 8\" width=\"30\"><path fill=\"%239e9e9e\" d=\"M0,0l6,8l6-8\"/></svg>")}select:focus{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 8\" width=\"30\"><path fill=\"%237369df\" d=\"M0,0l6,8l6-8\"/></svg>")}}select[multiple]{background:0 0;height:auto}textarea{height:auto;min-height:6.5rem}fieldset{border-width:0;padding:0}input[type=number],input[inputmode=decimal]{font-variant-numeric:tabular-nums;text-align:right}input[type=checkbox],input[type=radio]{display:inline-block}.derived{color:var(--color-text-meta);font-weight:400}.admin-form .form-group:has(>input[required],>select[required],>textarea[required])>label:after{content:" *";color:var(--color-negative-soft);margin-left:.15rem}.field-error,.error{color:var(--color-negative)}.valid{color:var(--color-positive);font-size:1.4rem}.required-mark{color:var(--color-negative);margin-left:.25rem}.field-hint{color:var(--color-text-meta);white-space:normal;margin-top:.2rem;font-size:.8em;line-height:1.3;display:block}.flex,.rows,.columns{flex-flow:wrap;gap:1em;display:flex}.flex.align-center,.rows.align-center,.columns.align-center{align-items:center}.flex.align-between,.rows.align-between,.columns.align-between{align-items:space-between}.flex.align-end,.rows.align-end,.columns.align-end{align-items:flex-end}.flex.space-between,.rows.space-between,.columns.space-between{justify-content:space-between}.flex.flex-end,.rows.flex-end,.columns.flex-end{justify-content:flex-end}.flex.flex-center,.rows.flex-center,.columns.flex-center{justify-content:center}.columns{flex-direction:column}.max-w-1280{max-width:1280px}.max-w-250{max-width:250px}.w-full{width:100%}.mx-auto{margin:0 auto}.mt-50{margin-top:50px}.mt-100{margin-top:100px}dl,ol,ul{margin-top:0;padding-left:0;list-style:none}dl dl,dl ol,dl ul,ol dl,ol ol,ol ul,ul dl,ul ol,ul ul{margin:1.5rem 0 1.5rem 3rem;font-size:90%}ol{list-style:inside decimal}ul{list-style:inside circle}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=640px){.modal-overlay{align-items:center}}dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009}.modal{background:var(--color-bg-raised);width:100%;max-height:92dvh;box-shadow:var(--shadow-lg);border-radius:1rem 1rem 0 0;flex-direction:column;display:flex;overflow:hidden}@media (width>=640px){.modal{border-radius:.75rem;width:90vw;max-width:600px;max-height:85vh}}.modal>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal>header h3{margin:0}.modal>header>button.modal-close{cursor:pointer;opacity:.6;color:var(--color-brand-fg);background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem;line-height:1}.modal>header>button.modal-close:hover{opacity:1}.modal>section{background-color:var(--color-bg);flex-direction:column;flex:1;gap:1.6rem;min-height:0;padding:1.5rem;display:flex;overflow-y:auto}.modal>section input,.modal>section textarea,.modal>section select{width:100%}.modal>section .form-group{margin:0}.modal>section .form-group>label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-label);margin-bottom:.6rem;font-size:1.1rem;font-weight:500;display:block}.modal>footer.modal-actions{border-top:1px solid var(--color-border);justify-content:flex-end;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}table{border-spacing:0;text-align:left;border:1px solid var(--color-border);border-radius:.4rem;width:100%;margin-bottom:0;display:block;overflow-x:auto}table>thead{background:var(--color-bg-inset)}table tr>th,table tr>td{height:38px;padding:0 10px}table tr>th:not(:last-child),table tr>td:not(:last-child){border-right:1px solid var(--color-border)}table tr:not(:last-child)>th,table tr:not(:last-child)>td{border-bottom:1px solid var(--color-border)}table tr>th{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-weight:400}@media (width>=768px){table{overflow-x:initial;display:table}}nav.tabs{border-bottom:1px solid var(--color-border-strong);gap:0;display:flex}nav.tabs>a{letter-spacing:.02em;color:var(--color-text-meta);cursor:pointer;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-1px;padding:.625rem 1.25rem;font-weight:500;text-decoration:none;transition:color .12s,border-color .12s;display:flex}nav.tabs>a:hover{color:var(--color-text)}nav.tabs>a[data-active=true]{color:var(--color-brand-fg);border-bottom-color:var(--color-brand-fg)}.badges{flex-wrap:wrap;gap:.5rem;display:flex}.badge{white-space:nowrap;background-color:var(--color-brand-soft);color:var(--color-brand-fg);border:1px solid #0000;border-radius:4px;padding:.4rem .6rem;font-weight:500;display:inline-block}.badge.success{background-color:color-mix(in srgb, var(--color-positive) 18%, transparent);border-color:color-mix(in srgb, var(--color-positive) 35%, transparent);color:var(--color-positive)}.badge.warning{background-color:color-mix(in srgb, var(--color-warning) 18%, transparent);border-color:color-mix(in srgb, var(--color-warning) 35%, transparent);color:var(--color-warning)}.badge.info{background-color:color-mix(in srgb, var(--color-info) 18%, transparent);border-color:color-mix(in srgb, var(--color-info) 35%, transparent);color:var(--color-info)}.badge.danger{background-color:color-mix(in srgb, var(--color-negative) 18%, transparent);border-color:color-mix(in srgb, var(--color-negative) 35%, transparent);color:var(--color-negative)}.badge.neutral{background-color:var(--color-bg-inset);border-color:var(--color-border);color:var(--color-text-meta)}.badge.small{vertical-align:middle;border-radius:3px;padding:.3rem .6rem;font-size:.9em;font-weight:400}.badge.rd{border-radius:30px;padding:.3rem .8rem}.badge.removable{align-items:center;gap:.3rem;padding-right:.35rem;display:inline-flex}.badge.removable>button{cursor:pointer;color:inherit;opacity:.5;background:0 0;border:none;align-items:center;padding:0;line-height:1;display:flex}.badge.removable>button:hover{opacity:1}.badge.removable>button>svg{width:12px;height:12px}select.badge{appearance:none;cursor:pointer;background-image:none;height:27.7969px;margin-bottom:0;padding:.25rem .5rem}select.badge:focus{background-image:none}.badge.clickable{cursor:pointer}.callout{color:var(--color-text);border:1px solid #0000;border-radius:4px;align-items:flex-start;gap:.8rem;padding:1rem 1.2rem;display:flex}.callout>svg{flex-shrink:0;margin-top:1px}.callout>.body{flex-direction:column;flex:1;gap:.5rem;display:flex}.callout>.body>p{margin:0}.callout>.body>.chips,.callout>.body>.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.callout.success{background:color-mix(in srgb, var(--color-positive) 10%, var(--color-bg-raised));border-color:color-mix(in srgb, var(--color-positive) 45%, transparent)}.callout.success>svg,.callout.success>.body>strong,.callout.success>.body>.title{color:var(--color-positive)}.callout.warning{background:color-mix(in srgb, var(--color-warning) 10%, var(--color-bg-raised));border-color:color-mix(in srgb, var(--color-warning) 45%, transparent)}.callout.warning>svg,.callout.warning>.body>strong,.callout.warning>.body>.title{color:var(--color-warning)}.callout.info{background:color-mix(in srgb, var(--color-info) 10%, var(--color-bg-raised));border-color:color-mix(in srgb, var(--color-info) 45%, transparent)}.callout.info>svg,.callout.info>.body>strong,.callout.info>.body>.title{color:var(--color-info)}.callout.danger{background:color-mix(in srgb, var(--color-negative) 10%, var(--color-bg-raised));border-color:color-mix(in srgb, var(--color-negative) 45%, transparent)}.callout.danger>svg,.callout.danger>.body>strong,.callout.danger>.body>.title{color:var(--color-negative)}.callout.neutral{background:var(--color-bg-inset);border-color:var(--color-border)}.callout.neutral>svg,.callout.neutral>.body>strong,.callout.neutral>.body>.title{color:var(--color-text-meta)}.summary-block{background:var(--color-bg-inset);border:1px solid var(--color-border);border-radius:6px;flex-direction:column;gap:1.2rem;padding:1.4rem 1.6rem;display:flex}.summary-block>header>.label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-meta);font-weight:600}.summary-block>.equation{flex-wrap:wrap;align-items:flex-end;gap:1.2rem;display:flex}.summary-block>.equation>.operator{color:var(--color-text-meta);padding-bottom:.2rem;font-size:2rem}.summary-block>.equation>.term{flex-direction:column;gap:.2rem;display:flex}.summary-block>.equation>.term>.value{color:var(--color-text);font-size:2rem;font-weight:600}.summary-block>.equation>.term>.label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-meta);font-size:1.2rem;font-weight:600}.summary-block>.equation>.term.highlight>.value{color:var(--color-brand)}.surface,.card{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:8px}.surface.inset,.inset.card{background:var(--color-bg-inset)}.card{flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.list-row{cursor:pointer;transition:background .12s}.list-row:hover{background:var(--color-hover-bg)}.stat>.value{color:var(--color-brand-fg);font-size:2rem;font-weight:600}.stat>.label{color:var(--color-text-meta)}.doc-grid{flex-wrap:wrap;gap:1rem .5rem;padding:1rem 0;display:flex}.doc-item{border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:.6rem;width:120px;padding:10px 6px;transition:border-color .15s,background .15s;display:flex;position:relative}.doc-item:hover,.doc-item:focus-within{border-color:var(--color-border-strong);background:var(--color-surface-accent)}.doc-icon{justify-content:center;align-items:center;display:flex}.doc-name{text-align:center;color:#bdbdbd;word-break:break-word;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:1.2rem;line-height:1.3;display:-webkit-box;overflow:hidden}@media (prefers-color-scheme:light){.doc-name{color:#757575}}.doc-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex;position:absolute;top:4px;right:4px}.doc-actions>a{color:#fafafa;cursor:pointer;background:#212121;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.doc-actions>a:hover{background:#141414}.doc-item:hover .doc-actions,.doc-item:focus-within .doc-actions{opacity:1}header#menu{background-color:var(--color-bg-raised);border-bottom:1px solid var(--color-border);align-items:center;height:56px;padding:0 2.4rem;display:flex}header#menu>.hamburger{width:36px;height:36px;color:var(--color-text-meta);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin-right:1.2rem;padding:0;display:none}header#menu>.hamburger:hover{background:var(--color-hover-bg);color:var(--color-text)}header#menu>#logo{margin-right:3.2rem}header#menu>#logo>a{color:var(--color-brand-fg);letter-spacing:-.01em;font-family:Montserrat,sans-serif;font-size:1.8rem;font-weight:500;text-decoration:none}header#menu>nav{scrollbar-width:none;flex:1;align-items:stretch;height:100%;display:flex;overflow-x:auto}header#menu>nav::-webkit-scrollbar{display:none}header#menu>nav a{color:var(--color-text-meta);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;padding:0 1.4rem;font-size:1.3rem;font-weight:400;text-decoration:none;transition:color .12s,border-color .12s;display:flex}header#menu>nav a:hover{color:var(--color-text)}header#menu>nav a.selected{color:var(--color-brand-fg);border-bottom-color:var(--color-brand-fg)}header#menu>.logout{color:var(--color-text-placeholder);cursor:pointer;border-radius:4px;margin-left:auto;padding:.4rem .8rem;font-size:1.2rem}header#menu>.logout:hover{color:var(--color-text-meta)}@media (width<=990px){header#menu>.hamburger{display:flex}header#menu>nav,header#menu>.logout{display:none}}.login-form{flex-direction:column;gap:1em;width:100%;min-width:182px;max-width:400px;margin:0 auto;display:flex}.login-form>div,.login-form>div input{width:100%}a{cursor:pointer}:root{--color-bg:#fbfbfc;--color-bg-raised:#fff;--color-bg-inset:#f5f5f5;--color-surface-accent:#eee;--color-bg-subtle:#00000004;--color-text:#212121;--color-text-label:#616161;--color-text-meta:#757575;--color-text-placeholder:#9e9e9e;--color-text-inverted:#fafafa;--color-border:#90a4ae40;--color-border-strong:#e0e0e0;--color-brand:#40287b;--color-brand-hover:#a3b4a0;--color-brand-soft:#ebedf5;--color-brand-contrast:#fff;--color-brand-fg:#7369df;--color-accent:#8a7ffc;--color-selected-bg:var(--color-brand-soft);--color-selected-text:var(--color-brand);--color-hover-bg:#f5f5f5;--color-hover-text:var(--color-text);--color-positive:#338331;--color-positive-soft:#f8fff8;--color-positive-soft-fg:#1e561d;--color-negative:#c73e3e;--color-negative-bg:#981515;--color-negative-soft:#fbe9e9;--color-negative-soft-fg:#981515;--color-warning:#e0b940;--color-warning-soft:#fff9e7;--color-warning-soft-fg:#866e24;--color-info:#0288d1;--color-info-soft:#e1f5fe;--color-info-soft-fg:#01579b;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001f;--shadow-lg:0 8px 24px #0000002e;--color-scrim:#0000008c;--color-scrim-strong:#000000bf;--color-on-scrim:#fff}@media (prefers-color-scheme:dark){:root{--color-bg:#141414;--color-bg-raised:#2a2a2a;--color-bg-inset:#212121;--color-bg-subtle:#ffffff06;--color-surface-accent:#424242;--color-text:#eceff1;--color-text-label:#e0e0e0;--color-text-meta:#bdbdbd;--color-text-placeholder:#9e9e9e;--color-text-inverted:#212121;--color-border:#eceff12e;--color-border-strong:#616161;--color-brand:#5449c6;--color-brand-hover:#7369df;--color-brand-soft:#8a7ffc24;--color-brand-contrast:#fafafa;--color-brand-fg:#8a7ffc;--color-accent:#8a7ffc;--color-selected-bg:var(--color-brand-soft);--color-hover-bg:#ffffff0d;--color-selected-text:#c7c1ff;--color-hover-text:var(--color-text);--color-positive:#52ae50;--color-positive-soft:#1e561d;--color-positive-soft-fg:#eeffed;--color-negative:#e54747;--color-negative-bg:#781010;--color-negative-soft:#781010;--color-negative-soft-fg:#fbe9e9;--color-warning:#f5d375;--color-warning-soft:#866e24;--color-warning-soft-fg:#fff9e7;--color-info:#03a9f4;--color-info-soft:#01579b;--color-info-soft-fg:#e1f5fe;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 4px 12px #00000073;--shadow-lg:0 8px 24px #0009}}.toast-container{z-index:9999;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.toast{color:#fff;cursor:pointer;border-radius:6px;min-width:250px;max-width:400px;padding:.75rem 1.25rem;animation:.3s ease-out toast-in;box-shadow:0 4px 12px #00000026}.toast.success{background-color:#338331}.toast.error{background-color:#c73e3e}.toast.warning{color:#212121;background-color:#e0b940}.toast.info{background-color:#0288d1}@keyframes toast-in{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}
