.toasts{z-index:400;flex-direction:column;gap:10px;max-width:calc(100vw - 36px);display:flex;position:fixed;bottom:18px;right:18px}.toast{border-radius:var(--r-md);background:var(--ink);color:#fff;min-width:260px;max-width:420px;box-shadow:var(--shadow-lg);cursor:pointer;align-items:center;gap:11px;padding:12px 16px;font-size:13.5px;font-weight:500;display:flex}.toast__icon{background:#ffffff24;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.toast--success .toast__icon{background:#22c55e}.toast--error .toast__icon{background:var(--brand)}.toast-enter-active,.toast-leave-active{transition:all .25s var(--ease)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(24px)}.modal{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f0b088c;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal__panel{background:var(--surface);border-radius:var(--r-xl);width:100%;box-shadow:var(--shadow-lg);max-height:calc(var(--vh) - 40px);flex-direction:column;display:flex}.modal__panel--sm{max-width:420px}.modal__panel--md{max-width:560px}.modal__panel--lg{max-width:760px}.modal__head{justify-content:space-between;gap:12px;padding:22px 24px 8px;display:flex}.modal__head h3{font-size:18px;font-weight:700}.modal__head p{color:var(--text-3);margin-top:3px;font-size:13px}.modal__body{flex-direction:column;gap:14px;padding:12px 24px 22px;display:flex;overflow-y:auto}.modal__foot{border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--r-xl) var(--r-xl);justify-content:flex-end;gap:10px;padding:14px 24px;display:flex}.modal-enter-active,.modal-leave-active{transition:opacity .18s var(--ease)}.modal-enter-active .modal__panel,.modal-leave-active .modal__panel{transition:transform .22s var(--ease)}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal__panel,.modal-leave-to .modal__panel{transform:translateY(14px)scale(.98)}@media (width<=560px){.modal{align-items:end;padding:0}.modal__panel{border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:calc(var(--vh) * .92)}}:root{--vh:100vh;--bg:#f0eeeb;--surface:#fff;--surface-2:#faf9f7;--surface-hover:#f5f3f0;--border:#e8e5e1;--border-strong:#d6d1ca;--ink:#0a0a0a;--text:#141414;--text-2:#5b5853;--text-3:#8f8b85;--brand:#a62133;--brand-dark:#7a1930;--brand-deep:#5c1224;--brand-soft:#f8e9eb;--brand-tint:#fcf4f5;--success:#15803d;--success-soft:#e4f5ea;--warning:#b45309;--warning-soft:#fdf1d6;--danger:#c81e1e;--danger-soft:#fde8e8;--info:#1d4ed8;--info-soft:#e5edff;--violet:#6d28d9;--violet-soft:#efe8fd;--sky:#0369a1;--sky-soft:#e0f2fe;--orange:#c2410c;--orange-soft:#ffedd5;--r-xs:6px;--r-sm:9px;--r-md:13px;--r-lg:18px;--r-xl:24px;--shadow-sm:0 1px 2px #14100c0d;--shadow-md:0 6px 18px -8px #14100c2e;--shadow-lg:0 24px 60px -20px #14100c59;--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Plus Jakarta Sans", "Inter", system-ui, sans-serif;--sidebar-w:256px;--ease:cubic-bezier(.4, 0, .2, 1)}@supports (height:100dvh){:root{--vh:100dvh}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.015em;font-weight:600;line-height:1.25}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,select,textarea{font:inherit;color:inherit}ul,ol{list-style:none}img,svg{max-width:100%;display:block}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}::selection{background:var(--brand-soft);color:var(--brand-deep)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--text-3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row{align-items:center;gap:10px;display:flex}.row--between{justify-content:space-between}.stack{flex-direction:column;gap:14px;display:flex}.grow{flex:1;min-width:0}.mono{font-variant-numeric:tabular-nums}.btn{border-radius:var(--r-md);white-space:nowrap;height:40px;transition:background .18s var(--ease), border-color .18s, transform .12s, box-shadow .18s;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13.5px;font-weight:600;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--dark{background:var(--ink);color:#fff}.btn--dark:hover:not(:disabled){background:#26221f}.btn--brand{background:var(--brand);color:#fff;box-shadow:0 8px 18px -10px #a62133e6}.btn--brand:hover:not(:disabled){background:var(--brand-dark)}.btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn--secondary:hover:not(:disabled){background:var(--surface-hover)}.btn--ghost{color:var(--text-2)}.btn--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover:not(:disabled){background:#a51818}.btn--sm{border-radius:var(--r-sm);height:32px;padding:0 12px;font-size:12.5px}.btn--lg{height:46px;padding:0 22px;font-size:14.5px}.btn--icon{width:40px;padding:0}.btn--icon.btn--sm{width:32px}.btn--block{width:100%}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field__label{color:var(--text-2);font-size:12.5px;font-weight:600}.field__label .req{color:var(--brand);margin-left:2px}.field__control{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);appearance:none;width:100%;height:42px;padding:0 13px;transition:border-color .15s,box-shadow .15s}textarea.field__control{resize:vertical;height:auto;min-height:84px;padding:11px 13px;line-height:1.5}select.field__control{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238f8b85' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:34px}.field__control:hover:not(:disabled){border-color:#bdb7ae}.field__control:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #a6213324}.field__control:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}.field--error .field__control{border-color:var(--danger)}.field__hint{color:var(--text-3);font-size:12px}.field__error{color:var(--danger);font-size:12px;font-weight:500}.field-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=560px){.field-grid{grid-template-columns:1fr}}.input-icon{position:relative}.input-icon>svg{color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.input-icon .field__control{padding-left:38px}.switch{cursor:pointer;background:#cfc9c1;border-radius:99px;flex-shrink:0;width:40px;height:23px;transition:background .2s;position:relative}.switch:after{content:"";width:17px;height:17px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch[aria-checked=true]{background:var(--ink)}.switch[aria-checked=true]:after{transform:translate(17px)}.switch:disabled{opacity:.5;cursor:not-allowed}.checkbox{width:18px;height:18px;accent-color:var(--ink);cursor:pointer;border-radius:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card__head{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 0;display:flex}.card__title{font-family:var(--font-display);color:var(--text);align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.card__body{padding:16px 20px 20px}.card--flush .card__body{padding:0}.badge{white-space:nowrap;background:var(--surface-hover);height:24px;color:var(--text-2);border-radius:99px;align-items:center;gap:6px;padding:0 10px;font-size:11.5px;font-weight:600;display:inline-flex}.badge:before{content:"";opacity:.85;background:currentColor;border-radius:50%;width:6px;height:6px}.badge--plain:before{display:none}.badge--brand{background:var(--brand-soft);color:var(--brand-dark)}.badge--success{background:var(--success-soft);color:var(--success)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--danger{background:var(--danger-soft);color:var(--danger)}.badge--info{background:var(--info-soft);color:var(--info)}.badge--violet{background:var(--violet-soft);color:var(--violet)}.badge--sky{background:var(--sky-soft);color:var(--sky)}.badge--orange{background:var(--orange-soft);color:var(--orange)}.badge--dark{background:var(--ink);color:#fff}.delta{border-radius:99px;align-items:center;gap:3px;height:22px;padding:0 8px;font-size:11.5px;font-weight:700;display:inline-flex}.delta--up{background:var(--success-soft);color:var(--success)}.delta--down{background:var(--danger-soft);color:var(--danger)}.delta--flat{background:var(--surface-hover);color:var(--text-3)}.avatar{letter-spacing:0;background:var(--brand-soft);color:var(--brand-dark);border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:inline-grid}.avatar--sm{width:28px;height:28px;font-size:11px}.avatar--lg{width:52px;height:52px;font-size:18px}.avatar--dark{background:var(--ink);color:#fff}.table-wrap{overflow-x:auto}.table th{text-align:left;letter-spacing:.02em;color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:11px 14px;font-size:11.5px;font-weight:600}.table th:first-child{border-top-left-radius:var(--r-md)}.table th:last-child{border-top-right-radius:var(--r-md)}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 14px}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:none}.table .col-check{width:44px}.table .col-actions{white-space:nowrap;text-align:right;width:1%}.table tr.is-selected{background:var(--brand-tint)}.table .clickable{cursor:pointer}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--text)}.chip{border:1px solid var(--border-strong);background:var(--surface);height:34px;color:var(--text-2);border-radius:99px;align-items:center;gap:6px;padding:0 13px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.chip:hover{background:var(--surface-hover)}.chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.tabs{background:var(--surface-hover);border-radius:var(--r-md);gap:4px;padding:4px;display:inline-flex}.tabs__item{height:34px;color:var(--text-2);border-radius:10px;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.tabs__item:hover{color:var(--text)}.tabs__item.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.tabs__count{background:var(--border);min-width:20px;height:20px;color:var(--text-2);border-radius:99px;place-items:center;padding:0 6px;font-size:11px;display:inline-grid}.tabs__item.is-active .tabs__count{background:var(--ink);color:#fff}.underline-tabs{border-bottom:1px solid var(--border);gap:22px;display:flex;overflow-x:auto}.underline-tabs__item{color:var(--text-3);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:12px 2px;font-weight:600;display:inline-flex}.underline-tabs__item:hover{color:var(--text)}.underline-tabs__item.is-active{color:var(--text);border-bottom-color:var(--brand)}.empty{text-align:center;color:var(--text-3);flex-direction:column;align-items:center;gap:10px;padding:56px 20px;display:flex}.empty__icon{background:var(--surface-hover);width:56px;height:56px;color:var(--text-3);border-radius:18px;place-items:center;display:grid}.empty h4{color:var(--text);font-size:15px}.empty p{max-width:340px;font-size:13px}.skeleton{background:linear-gradient(90deg, var(--surface-hover) 25%, #ebe8e3 37%, var(--surface-hover) 63%);border-radius:var(--r-sm);background-size:400% 100%;animation:1.3s infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}.spinner{border:2.5px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.kbd{border:1px solid var(--border-strong);min-width:22px;height:22px;color:var(--text-2);background:var(--surface);border-bottom-width:2px;border-radius:6px;place-items:center;padding:0 5px;font-size:11px;font-weight:600;display:inline-grid}.divider{background:var(--border);height:1px;margin:4px 0}.link{color:var(--brand);font-weight:600}.link:hover{text-decoration:underline}.page{flex-direction:column;gap:18px;display:flex}.page__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page__title{letter-spacing:-.02em;font-size:26px;font-weight:600}.page__sub{color:var(--text-3);margin-top:3px;font-size:13.5px}.page__actions,.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar .field__control{width:auto;min-width:140px;height:38px}.toolbar .input-icon{flex:240px;min-width:240px;max-width:360px}.toolbar .input-icon .field__control{width:100%}.alert{border-radius:var(--r-md);padding:12px 14px;font-size:13px;line-height:1.55}.alert>svg{vertical-align:-3px;margin-right:8px;display:inline-block}.alert--warning{background:var(--warning-soft);color:var(--warning)}.alert--danger{background:var(--danger-soft);color:var(--danger)}.alert--info{background:var(--info-soft);color:var(--info)}.alert--success{background:var(--success-soft);color:var(--success)}@media (width<=640px){.page__title{font-size:22px}}html{-webkit-tap-highlight-color:transparent}body{overscroll-behavior-y:none}@media (width<=960px){.btn{min-height:44px}.btn--sm{min-height:38px}.btn--icon.btn--sm{min-width:38px}.field__control,select.field__control,textarea.field__control{font-size:16px}.field__control{height:46px}.toolbar .field__control{flex:140px;min-width:0;height:44px}.toolbar .input-icon{flex:100%;max-width:none}.chip,.tabs__item{height:38px}.page{gap:14px}.page__head{flex-direction:column;align-items:stretch;gap:12px}.page__title{font-size:24px}.page__actions{width:100%}.page__actions>.btn,.page__actions>.dd{flex:1}.page__actions>.dd>.btn{width:100%}.card__head{padding:14px 16px 0}.card__body{padding:14px 16px 16px}.drawer__panel{width:100%;max-width:100%!important}.drawer__head,.drawer__body,.drawer__foot{padding-left:16px;padding-right:16px}.drawer__foot,.modal__foot{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.modal__foot .btn,.drawer__foot .btn{flex:1}.modal__body{padding-left:16px;padding-right:16px}.toasts{bottom:calc(86px + env(safe-area-inset-bottom));left:12px;right:12px}.toast{min-width:0;max-width:none}.dd__menu{max-width:calc(100vw - 20px)}.dd__item{padding:12px}}@media (width<=760px){.card--flush:has(table.table){box-shadow:none;background:0 0;border:0}.table-wrap{overflow:visible}.table,.table tbody,.table tfoot{width:100%;display:block}.table thead{display:none}.table tbody tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin:0 0 12px;padding:14px 16px;display:block;position:relative}.table tbody tr:hover{background:var(--surface)}.table tbody tr.is-selected{background:var(--brand-tint);border-color:var(--brand)}.table td{text-align:left;white-space:normal;border:0;grid-template-columns:minmax(80px,36%) 1fr;align-items:start;column-gap:12px;width:auto;min-width:0;padding:7px 0;display:grid}.table td:before{content:attr(data-label);color:var(--text-3);grid-area:1/1;padding-top:2px;font-size:12px;font-weight:600}.table td>*{grid-column:2;min-width:0}.table td small,.table td[data-label=""],.table td[colspan]{display:block}.table td[data-label=""]:before,.table td[colspan]:before{display:none}.table td[data-main]{border-bottom:1px dashed var(--border);margin-bottom:4px;padding:0 38px 10px 0;display:block}.table td[data-main]:before{display:none}.table td.col-check{z-index:1;width:auto;padding:0;display:block;position:absolute;top:12px;right:12px}.table td.col-check:before{display:none}.table .checkbox{width:22px;height:22px}.table td.col-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:6px;margin-top:8px;padding-top:10px;display:flex}.table td.col-actions:before{display:none}.table tfoot td{padding:12px 4px;display:block}.head{flex-direction:column;align-items:stretch;padding:16px!important}.head__actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid;align-self:stretch!important}.head__actions>.btn,.head__actions>a.btn{justify-content:center;width:100%}.head__actions>.dd{grid-column:1/-1}.head__actions>.dd>.btn{width:100%}.tabs{scrollbar-width:none;max-width:100%;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs__item{flex-shrink:0}.board{scroll-snap-type:x proximity;padding-inline:2px}.board>.col{scroll-snap-align:start;flex-basis:min(86vw,300px)!important}}@media (width<=960px){.shell{overflow-x:clip}.toolbar .field__control,.toolbar .input-icon{min-width:0!important}.search-box{flex:100%;width:100%!important}.dd__menu .more,.dd__menu .fm{width:min(300px,100vw - 46px)}.pv__zoom{display:none}.pv__bar{padding:calc(8px + env(safe-area-inset-top)) 10px 8px;gap:4px}.pv__bar strong{flex:auto;min-width:0}.gs{padding-top:calc(env(safe-area-inset-top) + 14px);align-items:flex-start}.gs__list{max-height:calc(var(--vh) - 160px)}}.tabbar{display:none}@media (width<=960px){.tabbar{z-index:80;padding:6px 6px calc(6px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border);background:#fffffff5;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 30px -20px #0006}.tabbar__item{color:var(--text-3);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:52px;padding:7px 2px;font-size:10.5px;font-weight:600;display:flex;position:relative}.tabbar__item.is-active{color:var(--brand);background:var(--brand-tint)}.tabbar__badge{background:var(--brand);color:#fff;border:2px solid #fff;border-radius:99px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;display:grid;position:absolute;top:3px;left:calc(50% + 6px)}}
