@charset "UTF-8";*{box-sizing:border-box}html,body,app-root{margin:0;padding:0;min-height:100vh}app-root,app-shell{display:block;min-height:100vh}body{font-family:var(--font-family);font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-bg);background-image:var(--bg-gradient);background-attachment:fixed}h1,h2,h3,h4,p{margin:0}a{color:var(--color-primary);text-decoration:none}::selection{background:var(--color-primary-soft)}.text-soft{color:var(--color-text-soft)}.text-faint{color:var(--color-text-faint);font-size:var(--font-size-sm)}.mono{font-variant-numeric:tabular-nums}.ui-card{background:var(--color-surface);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--border-width) solid var(--glass-highlight);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--card-padding)}.ui-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--space-md)}.ui-repeat-entries{display:grid;gap:var(--space-sm);padding:2px}.ui-repeat-entry{margin:0;min-width:0;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md) var(--space-md);background:var(--color-surface-alt)}.ui-repeat-entry__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.ui-repeat-entry__num{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-soft)}.ui-repeat-entry__del{padding:calc(var(--space-xs) / 2) var(--space-sm);font-size:var(--font-size-sm)}.ui-repeat-entries__add{width:100%;border-style:dashed;justify-content:center}.ui-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:calc(var(--space-xs) / 2) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.ui-badge--success{background:var(--color-success-soft);color:var(--color-success)}.ui-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.ui-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.ui-badge--info{background:var(--color-info-soft);color:var(--color-info)}.ui-badge--neutral{background:var(--color-neutral-soft);color:var(--color-neutral)}.ui-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xl);color:var(--color-text-faint)}.ui-spinner{width:var(--space-lg);height:var(--space-lg);border:var(--border-width-strong) solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:ui-spin .8s linear infinite;margin:var(--space-lg) auto}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-switch{position:relative;display:inline-flex;width:var(--switch-width);height:var(--switch-height);border-radius:var(--radius-full);background:var(--color-neutral-soft);border:var(--border-width) solid var(--color-border-strong);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);flex-shrink:0}.ui-switch:after{content:"";position:absolute;inset-block-start:50%;inset-inline-start:calc(var(--space-xs) / 2);transform:translateY(-50%);width:calc(var(--switch-height) - var(--space-xs) - var(--border-width) * 2);height:calc(var(--switch-height) - var(--space-xs) - var(--border-width) * 2);border-radius:var(--radius-full);background:var(--color-surface-solid);box-shadow:var(--shadow-sm);transition:inset-inline-start var(--transition-fast)}.ui-switch--on{background:var(--brand-gradient);border-color:transparent;box-shadow:var(--shadow-glow)}.ui-switch--on:after{inset-inline-start:calc(100% - var(--switch-height) + var(--space-xs) / 2 + var(--border-width))}.ui-switch:focus-visible{outline:var(--border-width-strong) solid var(--color-focus-ring);outline-offset:var(--border-width-strong)}.ui-toasts{position:fixed;inset-block-start:var(--space-md);inset-inline-end:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);z-index:1000}.ui-toast{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-surface);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--border-width) solid var(--glass-highlight);border-inline-start:var(--border-width-strong) solid var(--color-info);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.ui-toast--success{border-inline-start-color:var(--color-success)}.ui-toast--error{border-inline-start-color:var(--color-danger)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);height:var(--control-height);padding:0 var(--space-md);border-radius:var(--radius-md);border:var(--border-width) solid transparent;font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),filter var(--transition-fast);white-space:nowrap}.ui-btn:active:not(:disabled){transform:translateY(var(--border-width))}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn:focus-visible{outline:var(--border-width-strong) solid var(--color-focus-ring);outline-offset:var(--border-width-strong)}.ui-btn--primary{background:var(--brand-gradient);color:var(--color-text-inverse);box-shadow:var(--shadow-glow)}.ui-btn--primary:hover:not(:disabled){background:var(--brand-gradient-hover)}.ui-btn--ghost{background:var(--color-surface);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--color-text);border-color:var(--color-border-strong)}.ui-btn--ghost:hover:not(:disabled){background:var(--glass-highlight);box-shadow:var(--shadow-sm)}.ui-btn--danger{background:var(--color-danger);color:var(--color-text-inverse)}.ui-btn--danger:hover:not(:disabled){filter:brightness(.92);box-shadow:var(--shadow-sm)}.ui-btn--danger-ghost{background:var(--color-surface);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));color:var(--color-danger);border-color:var(--color-border-strong)}.ui-btn--danger-ghost:hover:not(:disabled){background:var(--color-danger-soft);border-color:var(--color-danger);box-shadow:var(--shadow-sm)}.ui-btn--icon{padding:0;width:var(--control-height)}.ui-field{display:flex;flex-direction:column;gap:var(--space-xs)}.ui-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-soft)}.ui-field__hint{font-size:var(--font-size-xs);color:var(--color-text-faint)}.ui-field__req{color:var(--color-danger)}.ui-control{height:var(--control-height);padding:0 var(--space-sm);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-md);width:100%}textarea.ui-control{height:auto;min-height:calc(var(--control-height) * 2);padding:var(--space-sm);resize:vertical}.ui-control:focus-visible{outline:var(--border-width-strong) solid var(--color-focus-ring);outline-offset:calc(var(--border-width) * -1)}.ui-input-group{position:relative;display:flex;align-items:center}.ui-input-group .ui-control{padding-inline-end:calc(var(--control-height) + var(--space-xs))}.ui-input-group__action{position:absolute;inset-inline-end:var(--space-xs);display:inline-flex;align-items:center;justify-content:center;width:calc(var(--control-height) - var(--space-sm));height:calc(var(--control-height) - var(--space-sm));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-soft);cursor:pointer}.ui-input-group__action:hover{background:var(--color-neutral-soft)}.ui-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-md)}.ui-field--wide{grid-column:1/-1}.ui-field--check{align-self:end;padding-bottom:var(--space-xs)}.ui-tabs{display:flex;gap:var(--space-xs);padding:var(--space-xs);margin-bottom:var(--space-md);flex-wrap:wrap;background:var(--color-surface-alt);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--border-width) solid var(--glass-highlight);border-radius:var(--radius-lg);width:fit-content;max-width:100%}.ui-tab{padding:var(--space-sm) var(--space-md);border:none;background:none;font-family:var(--font-family);font-size:var(--font-size-md);color:var(--color-text-soft);cursor:pointer;border-radius:var(--radius-md);white-space:nowrap;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.ui-tab--active{color:var(--color-text-inverse);font-weight:var(--font-weight-medium);background:var(--brand-gradient);box-shadow:var(--shadow-glow)}.ui-tabs--sub{margin-top:calc(var(--space-xs) * -1);margin-bottom:var(--space-md);background:color-mix(in srgb,var(--color-surface-alt) 55%,transparent)}.ui-tabs--sub .ui-tab{font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-md)}.ui-modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);backdrop-filter:blur(calc(var(--glass-blur) / 3));-webkit-backdrop-filter:blur(calc(var(--glass-blur) / 3));display:flex;align-items:center;justify-content:center;z-index:900;padding:var(--space-md)}.ui-modal-overlay--top{z-index:1100}.ui-modal{background:var(--color-surface);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--border-width) solid var(--glass-highlight);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(680px,100%);max-height:90vh;overflow:auto;padding:var(--space-lg)}.ui-modal--narrow{width:min(430px,100%)}.ui-modal--wide{width:min(980px,100%)}.ui-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.ui-modal__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.ui-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:var(--space-md)}.ui-pager__status{font-size:var(--font-size-sm);color:var(--color-text-soft)}.ui-pager__size{display:inline-flex;align-items:center;gap:var(--space-sm)}.ui-search-select{position:relative}.ui-search-select__list{position:absolute;inset-inline-start:0;top:calc(100% + 4px);z-index:var(--z-dropdown, 60);margin:0;padding:var(--space-xs);list-style:none;min-width:100%;width:max-content;max-width:min(480px,100vw - 2 * var(--space-lg));max-height:240px;overflow-y:auto;background:var(--color-surface-solid);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.ui-search-select__option{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;white-space:normal}.ui-search-select__option:hover,.ui-search-select__option--active{background:var(--color-primary-soft)}.ui-search-select__empty{padding:var(--space-xs) var(--space-sm);color:var(--color-text-muted)}.ui-pager__size .ui-control{width:calc(var(--space-lg) * 5)}ui-select,.ui-select{display:block;min-width:calc(var(--control-height) * 4.2)}.ui-select{position:relative}.ui-select__btn{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);width:100%;text-align:start;cursor:pointer}.ui-select__btn:disabled{opacity:.6;cursor:not-allowed}.ui-select__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select__label--empty{color:var(--color-text-muted)}.ui-select__chevron{flex-shrink:0;color:var(--color-text-muted);transition:transform var(--transition-fast)}.ui-select:has(.ui-select__list) .ui-select__chevron{transform:rotate(180deg)}.ui-select__list{position:absolute;inset-inline-start:0;top:calc(100% + 4px);z-index:var(--z-dropdown, 60);margin:0;padding:var(--space-xs);list-style:none;min-width:100%;width:max-content;max-width:min(420px,100vw - 2 * var(--space-lg));max-height:240px;overflow-y:auto;background:var(--color-surface-solid);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.ui-select__option{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;white-space:normal}.ui-select__option:hover,.ui-select__option--focus,.ui-select__option--active{background:var(--color-primary-soft)}.ui-select__option--add,.ui-search-select__option--add{border-top:var(--border-width) dashed var(--color-border);border-radius:0;color:var(--color-primary);font-weight:var(--font-weight-medium)}.ui-select__empty{padding:var(--space-xs) var(--space-sm);color:var(--color-text-muted)}.ui-lookup-add{display:grid;gap:var(--space-xs)}.ui-lookup-add__row{display:flex;gap:var(--space-xs);justify-content:flex-end}ui-list-filters{display:block;flex:1 1 auto;min-width:0}.crud-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);min-width:0}module-dashboard>ui-list-filters .crud-filters,app-reports-hub>ui-list-filters .crud-filters{width:100%;position:relative;z-index:50;padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-lg);background:var(--color-surface);border:var(--border-width) solid var(--glass-highlight);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.crud-filter{display:flex;flex-direction:row;align-items:center;gap:var(--space-sm);flex:0 0 auto;min-width:0}.crud-filter .ui-field__label{margin:0;white-space:nowrap;color:var(--color-text-muted)}.crud-filter .ui-control,.crud-filter ui-select{width:calc(var(--control-height) * 4.2);min-width:0}.crud-filter--search{flex:1 1 calc(var(--space-xl) * 6);min-width:calc(var(--space-xl) * 5);max-width:calc(var(--space-xl) * 10)}.crud-filter--search .ui-control{width:100%}.crud-filter-range{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-sm);flex:0 0 auto}input.ui-control[type=date]{font-family:inherit;color-scheme:light}input.ui-control[type=date]::-webkit-calendar-picker-indicator{color:var(--color-text-muted);cursor:pointer}select.ui-control{cursor:pointer}.ui-table__files{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.ui-table__file,.image-input__file{font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm);max-width:calc(var(--sidebar-width) * .8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-table__lines{display:flex;flex-direction:column;gap:2px;min-width:140px}.ui-table__line{display:flex;justify-content:space-between;gap:var(--space-sm);white-space:nowrap}.ui-table__line--field{display:block}.ui-table__thumb-btn{padding:0;border:none;background:transparent;cursor:zoom-in;line-height:0}.ui-table__thumb{width:calc(var(--space-xl) * 2);height:calc(var(--space-xl) * 1.4);object-fit:cover;border-radius:var(--radius-sm);border:var(--border-width) solid var(--color-border);background:var(--color-surface-alt);display:block}.ui-table-wrap{overflow-x:auto;border:var(--border-width) solid var(--glass-highlight);border-radius:var(--radius-lg);background:var(--color-surface);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-md)}.ui-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.ui-table th{text-align:start;padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);color:var(--color-text-soft);font-weight:var(--font-weight-medium);border-bottom:var(--border-width) solid var(--color-border);white-space:nowrap}.ui-table td{padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width) solid var(--color-border);height:var(--table-row-height);vertical-align:middle}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table tbody tr{transition:background var(--transition-fast)}.ui-table tbody tr:hover{background:var(--color-surface-alt)}.ui-table--clickable tbody tr{cursor:pointer}.ui-table .cell--number{text-align:end;font-variant-numeric:tabular-nums}.ui-table .cell--center{text-align:center}.ui-table__actions-col{width:1%;min-width:max-content;white-space:nowrap}.ui-table__actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:var(--space-xs)}ui-status-actions{display:contents}.ui-table__action{width:var(--sidebar-icon-plate);height:var(--sidebar-icon-plate);display:inline-flex;align-items:center;justify-content:center;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-solid);cursor:pointer}.ui-table__action:hover,.ui-table__action:focus-visible{background:var(--color-primary-soft);outline:none}.ui-table__action--status{width:auto;padding-inline:var(--space-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text)}.ui-table__action--danger{color:var(--color-danger)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}#alerts,#tickets{scroll-margin-top:var(--space-xl)}.stat-card{display:flex;gap:var(--space-md);align-items:center}.stat-card--link{cursor:pointer}.stat-card--link:hover,.stat-card--link:focus-visible{box-shadow:var(--shadow-lg);outline:none}.stat-card__icon{width:calc(var(--control-height) + var(--space-sm));height:calc(var(--control-height) + var(--space-sm));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--brand-gradient);color:var(--color-text-inverse);box-shadow:var(--shadow-glow);flex-shrink:0}.stat-card__value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.stat-card__label{font-size:var(--font-size-sm);color:var(--color-text-soft)}.stat-card__trend{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.stat-card__trend--up{color:var(--color-success)}.stat-card__trend--down{color:var(--color-danger)}.bar-chart{display:flex;flex-direction:column;gap:var(--space-sm)}.bar-chart__row{display:grid;grid-template-columns:minmax(90px,160px) 1fr auto;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm)}.bar-chart__track{background:var(--color-surface-alt);border:var(--border-width) solid var(--glass-highlight);border-radius:var(--radius-full);overflow:hidden;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.bar-chart__fill{height:var(--chart-bar-height);background:var(--brand-gradient);border-radius:var(--radius-full);box-shadow:var(--shadow-glow);transition:width var(--transition-fast)}.bar-chart__value{min-width:calc(var(--control-height) * 2);text-align:end;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);background:var(--color-surface);border:var(--border-width) solid var(--glass-highlight);font-weight:var(--font-weight-medium)}.alert-list{display:flex;flex-direction:column;gap:var(--space-sm)}.alert-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-md);line-height:1.45;border:var(--border-width) solid var(--color-border)}.alert-item--link{cursor:pointer}.alert-item--link:hover,.alert-item--link:focus-visible{box-shadow:var(--shadow-md);outline:none}.alert-item--info{background:var(--color-info-soft);color:var(--color-info);border-color:transparent}.alert-item--warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:transparent}.alert-item--danger{background:var(--color-danger-soft);color:var(--color-danger);border-color:transparent}.column-chart{display:flex;align-items:stretch;gap:var(--space-sm)}.column-chart__col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.column-chart__track{width:100%;max-width:var(--chart-column-width);height:var(--chart-column-height);display:flex;align-items:flex-end;background:var(--color-surface-alt);border:var(--border-width) solid var(--glass-highlight);border-radius:var(--radius-sm);overflow:hidden}.column-chart__fill{width:100%;background:var(--brand-gradient);border-radius:var(--radius-sm) var(--radius-sm) 0 0;box-shadow:var(--shadow-glow);transition:height var(--transition-fast)}.column-chart__value{font-size:var(--font-size-xs)}.column-chart__label{font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.donut-chart{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.donut-chart__svg{width:var(--chart-donut-size);height:var(--chart-donut-size);flex-shrink:0;transform:rotate(0)}.donut-chart__seg{stroke-width:var(--chart-donut-stroke);stroke-linecap:butt}.donut-chart__legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-sm)}.donut-chart__item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm)}.donut-chart__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-chart__pct{min-width:calc(var(--space-xl) + var(--space-sm));text-align:end}.donut-chart__dot{width:var(--space-sm);height:var(--space-sm);border-radius:var(--radius-full);flex-shrink:0}.donut-chart__seg--1{stroke:var(--chart-color-1)}.donut-chart__seg--2{stroke:var(--chart-color-2)}.donut-chart__seg--3{stroke:var(--chart-color-3)}.donut-chart__seg--4{stroke:var(--chart-color-4)}.donut-chart__seg--5{stroke:var(--chart-color-5)}.donut-chart__seg--6{stroke:var(--chart-color-6)}.donut-chart__dot--1{background:var(--chart-color-1)}.donut-chart__dot--2{background:var(--chart-color-2)}.donut-chart__dot--3{background:var(--chart-color-3)}.donut-chart__dot--4{background:var(--chart-color-4)}.donut-chart__dot--5{background:var(--chart-color-5)}.donut-chart__dot--6{background:var(--chart-color-6)}.area-chart{display:flex;flex-direction:column;gap:var(--space-sm)}.area-chart__svg{width:100%;height:var(--chart-column-height)}.area-chart__fill{fill:var(--color-primary-soft)}.area-chart__line{fill:none;stroke:var(--color-primary);stroke-width:.7;stroke-linejoin:round;stroke-linecap:round}.area-chart__axis{display:flex;justify-content:space-between;gap:var(--space-xs)}.area-chart__label{font-size:var(--font-size-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waffle-chart{display:flex;flex-direction:column;gap:var(--space-md)}.waffle-chart__grid{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.waffle-chart__cell{width:var(--space-lg);height:var(--space-lg);border-radius:var(--radius-sm)}.waffle-chart__legend{display:flex;flex-direction:column;gap:var(--space-xs)}.waffle-chart__item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm)}.waffle-chart__item .text-soft{flex:1;min-width:0}.waffle-chart__swatch{width:var(--space-sm);height:var(--space-sm);border-radius:var(--radius-sm);flex-shrink:0}.waffle-chart__cell--1,.waffle-chart__swatch--1{background:var(--chart-color-1)}.waffle-chart__cell--2,.waffle-chart__swatch--2{background:var(--chart-color-2)}.waffle-chart__cell--3,.waffle-chart__swatch--3{background:var(--chart-color-3)}.waffle-chart__cell--4,.waffle-chart__swatch--4{background:var(--chart-color-4)}.waffle-chart__cell--5,.waffle-chart__swatch--5{background:var(--chart-color-5)}.waffle-chart__cell--6,.waffle-chart__swatch--6{background:var(--chart-color-6)}.token-toolbar{gap:var(--space-md);flex-wrap:wrap;align-items:center;position:relative;z-index:50;padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-lg);background:var(--color-surface);border:var(--border-width) solid var(--glass-highlight);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.token-toolbar__hint{margin:0;flex:1;min-width:0}.token-toolbar__actions{gap:var(--space-sm);flex-shrink:0}.token-search{width:calc(var(--sidebar-width) - var(--space-xl))}.token-list{display:flex;flex-direction:column;margin-top:var(--space-sm)}.token-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) 0;border-bottom:var(--border-width) solid var(--color-border)}.token-row:last-child{border-bottom:none}.token-row__key{flex:0 0 clamp(160px,30%,320px);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-text-soft)}.token-row__key--compact{flex-basis:clamp(120px,18%,220px)}.token-row__key--code{flex-basis:calc(var(--space-xl) * 2)}.token-row .ui-control{flex:1;min-width:0}.ui-pager{display:flex;align-items:center;justify-content:center;gap:var(--space-md);margin-top:var(--space-md)}.token-row__grow{flex:1;min-width:0}.token-row__swatch{width:var(--control-height);height:calc(var(--control-height) - var(--space-sm));border-radius:var(--radius-sm);border:var(--border-width) solid var(--color-border-strong);flex-shrink:0}.statement{display:flex;flex-direction:column}.statement__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width) solid var(--color-border);font-size:var(--font-size-md)}.statement__row:last-child{border-bottom:none}.statement__row--header{font-weight:var(--font-weight-bold);color:var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius-sm);margin-top:var(--space-sm)}.statement__row--line{padding-inline-start:var(--space-xl);color:var(--color-text-soft)}.statement__row--subtotal{font-weight:var(--font-weight-medium);background:var(--color-surface-alt)}.statement__row--total{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);background:var(--brand-gradient);color:var(--color-text-inverse);border-radius:var(--radius-md);margin-top:var(--space-sm);box-shadow:var(--shadow-glow)}.statement__amount--negative{color:var(--color-danger)}.statement__row--total .statement__amount--negative{color:var(--color-text-inverse)}.statement-summary{gap:var(--space-lg);flex-wrap:wrap;padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);background:var(--color-surface-alt);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-soft)}.statement-summary__item strong{color:var(--color-text)}.statement-card__note{margin-top:var(--space-sm)}.backup-card{margin-bottom:var(--space-lg)}.backup-form{align-items:flex-end;gap:var(--space-lg);flex-wrap:wrap;margin-top:var(--space-md)}.backup-card__switch{gap:var(--space-sm);align-items:center;height:var(--control-height);white-space:nowrap}.backup-card__field{flex:0 1 calc(var(--sidebar-width) * .6)}.backup-card__field .ui-field__label{margin-bottom:var(--space-xs)}.backup-form__save{height:var(--control-height)}.backup-card__next{margin:var(--space-md) 0 0}.backup-head{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-md)}.backup-head__text{display:flex;flex-direction:column;gap:var(--space-xs)}.backup-head__text .ui-card__title,.backup-head__text .ui-field__hint{margin:0}.image-input{display:flex;flex-direction:column;gap:var(--space-sm)}.image-input__list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.image-input__item{position:relative;display:inline-flex}.image-input__remove{position:absolute;inset-block-start:calc(var(--space-xs) * -1);inset-inline-end:calc(var(--space-xs) * -1);display:inline-flex;align-items:center;justify-content:center;width:var(--space-lg);height:var(--space-lg);border-radius:var(--radius-full);border:var(--border-width) solid var(--color-border-strong);background:var(--color-surface-solid);color:var(--color-danger);cursor:pointer}.image-input__controls{gap:var(--space-sm);flex-wrap:wrap}.image-input__controls .ui-control{flex:1;min-width:0}.ui-table__thumbs{display:inline-flex;flex-wrap:wrap;gap:var(--space-xs)}.shell{display:flex;min-height:100vh;overflow-x:hidden}.shell__main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:100vh}.shell__content{flex:1;padding:var(--space-lg);max-width:var(--content-max-width);width:100%;margin:0 auto}app-sidebar{display:block;width:var(--sidebar-width);flex-shrink:0}.shell--nav-closed app-sidebar{width:0}.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:var(--sidebar-width);height:100vh;background:var(--color-sidebar-bg);color:var(--color-sidebar-text);display:flex;flex-direction:column;overflow-y:auto;transition:transform var(--transition-fast);z-index:500}.sidebar--closed{transform:translate(-100%)}[dir=rtl] .sidebar--closed{transform:translate(100%)}.sidebar__brand{display:flex;align-items:center;justify-content:center;padding:var(--space-md);border-bottom:var(--border-width) solid var(--color-sidebar-active-bg)}.sidebar__logo{display:block;width:100%;height:auto;max-height:var(--sidebar-logo-height);object-fit:contain;background:var(--color-logo-plate);filter:var(--sidebar-logo-filter)}.sidebar__close{display:none;align-self:flex-end;margin:var(--space-sm) var(--space-sm) 0;background:transparent;border:none;color:var(--color-sidebar-text);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm)}.sidebar__nav{padding:var(--space-md) var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm);flex:1}.sidebar__link{display:flex;align-items:center;gap:var(--space-md);min-height:var(--sidebar-item-height);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-sidebar-text);font-size:var(--font-size-lg);transition:background var(--transition-fast),color var(--transition-fast)}.sidebar__link-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sidebar-icon-plate);height:var(--sidebar-icon-plate);border-radius:var(--radius-sm);background:var(--color-sidebar-icon-bg);flex-shrink:0;transition:background var(--transition-fast)}.sidebar__link-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__link:hover{background:var(--color-sidebar-active-bg);color:var(--color-sidebar-active-text)}.sidebar__link--active{background:var(--color-sidebar-active-bg);color:var(--color-sidebar-active-text);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-sm)}.sidebar__link--active .sidebar__link-icon{background:var(--brand-gradient);color:var(--color-text-inverse);box-shadow:var(--shadow-glow)}.sidebar__actions,.sidebar-backdrop{display:none}.topbar{height:var(--header-height);background:var(--color-header-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:var(--border-width) solid var(--glass-highlight);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);position:sticky;top:0;z-index:100;gap:var(--space-md)}.topbar__start{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.topbar__logo{height:var(--topbar-logo-height);width:auto;object-fit:contain;background:transparent}.topbar__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__actions{display:flex;align-items:center;gap:var(--space-sm)}.topbar__user{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25}.topbar__user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.topbar__user-role{font-size:var(--font-size-xs);color:var(--color-text-faint)}@media(max-width:960px){.topbar__actions{display:none}.sidebar{box-shadow:var(--shadow-lg)}.sidebar__actions{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md) var(--space-sm);border-top:var(--border-width) solid var(--color-sidebar-active-bg)}.sidebar__actions .ui-btn{display:flex;align-items:center;gap:var(--space-md);width:100%;min-height:var(--sidebar-item-height);padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-sidebar-text);font-size:var(--font-size-lg);text-align:start}.sidebar__actions .ui-btn ui-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--sidebar-icon-plate);height:var(--sidebar-icon-plate);border-radius:var(--radius-sm);background:var(--color-sidebar-icon-bg);flex-shrink:0}.sidebar__actions .ui-btn:hover{background:var(--color-sidebar-active-bg);color:var(--color-sidebar-active-text)}.sidebar__user{display:flex;flex-direction:column;line-height:1.3;padding:0 var(--space-sm) var(--space-sm)}.sidebar__user-name{font-weight:var(--font-weight-medium)}.sidebar__user-role{font-size:var(--font-size-xs);opacity:.75}.sidebar__close{display:inline-flex;position:absolute;inset-block-start:var(--space-sm);inset-inline-end:var(--space-sm);margin:0}.sidebar-backdrop{display:block;position:fixed;inset:0;background:var(--overlay-bg);z-index:400;border:none;padding:0}}.topbar__search{position:relative;display:flex;align-items:center;gap:var(--space-sm);flex:1;max-width:calc(var(--space-xl) * 12);padding:0 var(--space-md);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-text-faint);transition:border-color var(--transition-fast),background var(--transition-fast)}.topbar__search:focus-within{border-color:var(--color-primary);background:var(--color-surface)}.topbar__search-input{flex:1;min-width:0;appearance:none;-webkit-appearance:none;border:none;outline:none;background:transparent;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);padding:var(--space-sm) 0}.topbar__search-input::placeholder{color:var(--color-text-faint)}.topbar__search-input:focus,.topbar__search-input:focus-visible{outline:none;box-shadow:none}.topbar__search-results{position:absolute;top:calc(100% + var(--space-xs));inset-inline:0;display:flex;flex-direction:column;gap:var(--space-xs);max-height:calc(var(--space-xl) * 14);overflow-y:auto;padding:var(--space-sm);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:120}.topbar__search-result{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text);font:inherit;font-size:var(--font-size-sm);text-align:start;cursor:pointer}.topbar__search-result:hover{background:var(--color-primary-soft)}.topbar__search-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:calc(var(--space-xl) * 1.1);height:calc(var(--space-xl) * 1.1);border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary)}.topbar__search-name{font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__search-module{margin-inline-start:auto;flex-shrink:0;font-size:var(--font-size-xs);color:var(--color-text-faint);background:var(--color-surface-alt);border-radius:var(--radius-full);padding:var(--space-xs) var(--space-sm)}.report-studio{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-md)}.report-hero{display:flex;flex-direction:column;gap:var(--space-md);border-inline-start:var(--border-width-strong) solid var(--color-primary)}.report-hero__kpis{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.report-hero__stat{appearance:none;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:start;cursor:pointer}.report-hero__label{font-size:var(--font-size-sm);color:var(--color-text-soft)}.report-hero__value{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold)}.report-hero__trend{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.report-studio__caption{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-soft)}.report-side{display:flex;flex-direction:column;gap:var(--space-md)}.report-pills{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.report-pill{appearance:none;display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface-alt);color:inherit;font:inherit;cursor:pointer}.report-pill:hover,.report-pill:focus-visible{background:var(--color-primary-soft);border-color:var(--color-primary);outline:none}.report-pill__value{font-weight:var(--font-weight-bold)}.report-pill__label{font-size:var(--font-size-xs);color:var(--color-text-soft)}.report-band{grid-column:1/-1}.report-mods{display:flex;flex-direction:column;gap:var(--space-lg);margin-block-start:var(--space-xl)}.report-mod__head{display:flex;align-items:center;gap:var(--space-md);margin-block-end:var(--space-md)}.report-mod__head .ui-card__title{margin:0}.report-mod__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--report-tile-min),1fr));gap:var(--space-sm)}.report-tile{appearance:none;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);min-height:calc(var(--control-height) * 2);padding:var(--space-md);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);color:inherit;font:inherit;text-align:start;cursor:pointer}.report-tile:hover,.report-tile:focus-visible{background:var(--color-primary-soft);border-color:var(--color-primary);outline:none}.report-tile__mark{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--sidebar-icon-plate);height:var(--sidebar-icon-plate);border-radius:var(--radius-sm);color:var(--color-text-inverse);background:var(--brand-gradient);box-shadow:var(--shadow-glow)}.report-tile__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--print-cell-leading)}.report-view__bar{display:flex;align-items:center;gap:var(--space-md);margin-block-end:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);border:var(--border-width) solid var(--color-border)}.report-view__title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text)}.report-view__crumb{font-size:var(--font-size-xs);color:var(--color-text-faint)}.report-workbook .token-toolbar{margin-block-end:var(--space-sm);padding:var(--space-sm);background:var(--color-surface-alt);border:var(--border-width) solid var(--color-border);border-bottom:none}.report-workbook .ui-table-wrap{border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--color-surface-solid)}.report-workbook .ui-table{font-size:var(--font-size-xs)}.report-workbook .ui-table th,.report-workbook .ui-table td{padding:var(--space-xs) var(--space-sm);height:auto;border:var(--border-width) solid var(--color-border);white-space:nowrap}.report-workbook .ui-table th{background:var(--color-surface-alt)}.report-workbook .ui-table tbody tr:nth-child(2n){background:var(--color-surface-alt)}.report-workbook .ui-table tbody tr:last-child td{border-bottom:var(--border-width) solid var(--color-border)}.report-totals{margin-block-end:var(--space-md);gap:var(--space-md)}.report-totals .report-pills{pointer-events:none}.report-totals .column-chart__fill{display:block;width:100%}.report-totals__table{margin-block-start:var(--space-sm);width:100%}.lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.lightbox__backdrop{position:absolute;inset:0;border:none;background:var(--overlay-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));cursor:zoom-out}.lightbox__body{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-md);max-width:90vw;max-height:90vh}.lightbox__image{max-width:100%;max-height:75vh;object-fit:contain;border-radius:var(--radius-lg);border:var(--border-width) solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-lg)}.lightbox__actions{justify-content:center}app-token-color{position:relative;display:inline-flex;flex-shrink:0}.token-row__swatch--picker{padding:0;cursor:pointer;background:transparent}.token-row__swatch--picker::-webkit-color-swatch-wrapper{padding:0}.token-row__swatch--picker::-webkit-color-swatch{border:none;border-radius:var(--radius-sm)}.token-row__swatch--btn{padding:0;cursor:pointer}.color-pop{position:absolute;top:calc(100% + var(--space-xs));inset-inline-start:0;z-index:200;display:flex;flex-direction:column;gap:var(--space-sm);min-width:calc(var(--space-xl) * 9);padding:var(--space-md);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.color-pop__row{align-items:center;gap:var(--space-sm)}.color-pop__row .ui-field__label{margin:0;flex-shrink:0}.color-pop__swatch{width:var(--control-height);height:calc(var(--control-height) - var(--space-sm));padding:0;border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-sm);background:transparent;cursor:pointer;flex-shrink:0}.color-pop__swatch::-webkit-color-swatch-wrapper{padding:0}.color-pop__swatch::-webkit-color-swatch{border:none;border-radius:var(--radius-sm)}.color-pop__value{flex:1;font-size:var(--font-size-xs);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap}.page-header__title{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold)}.page-header__subtitle{color:var(--color-text-soft);font-size:var(--font-size-md);margin-top:var(--space-xs)}.page-header__actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.content-grid{columns:2;column-gap:var(--space-lg)}.content-grid>*,.content-grid .ui-card{break-inside:avoid;margin-bottom:var(--space-lg)}.stack{display:flex;flex-direction:column;gap:var(--space-md)}.row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.row--between{justify-content:space-between}.ui-card--list{display:flex;flex-direction:column;padding-bottom:0;overflow:hidden}.ui-card--list .ui-card__head{margin-bottom:var(--space-sm)}.toggle-list{display:flex;flex-direction:column;gap:var(--space-sm)}.toggle-item{display:flex;align-items:center;gap:var(--space-md)}.feed-list,.ui-card--list .toggle-list{gap:0;margin-inline:calc(var(--card-padding) * -1)}.ui-card--list .toggle-item,.feed-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--card-padding);border-bottom:var(--border-width) solid var(--color-border)}.ui-card--list .toggle-item:last-child,.feed-row:last-child{border-bottom:none}.feed-row__text,.toggle-item__text{display:flex;flex-direction:column;gap:var(--space-xs);flex:1;min-width:0}.toggle-item__label{font-weight:var(--font-weight-bold)}.toggle-item__desc{color:var(--color-text-soft);font-size:var(--font-size-sm)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.login-card{width:min(460px,100%);display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-xl)}.login-card__logo{width:var(--login-logo-width);max-width:88%;align-self:center;background:transparent}.login-card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-align:center}.login-card__subtitle{text-align:center;color:var(--color-text-soft);font-size:var(--font-size-sm)}.login-card__divider{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-faint);font-size:var(--font-size-xs);margin-top:var(--space-sm)}.login-card__divider:before,.login-card__divider:after{content:"";flex:1;border-top:var(--border-width) solid var(--color-border)}.login-card__demo{display:flex;flex-direction:column;gap:var(--space-sm)}.demo-account{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-sm) var(--space-md);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);font-family:var(--font-family);text-align:start;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.demo-account:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:var(--shadow-sm)}.demo-account:disabled{opacity:.55;cursor:not-allowed}.demo-account:focus-visible{outline:var(--border-width-strong) solid var(--color-focus-ring);outline-offset:var(--border-width-strong)}.demo-account__avatar{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--control-height) - var(--space-xs));height:calc(var(--control-height) - var(--space-xs));border-radius:var(--radius-full);background:var(--brand-gradient);color:var(--color-text-inverse);flex-shrink:0}.demo-account__text{display:flex;flex-direction:column;gap:calc(var(--space-xs) / 2);min-width:0}.demo-account__label{font-weight:var(--font-weight-medium);font-size:var(--font-size-md);color:var(--color-text)}.demo-account__user{font-size:var(--font-size-sm);color:var(--color-text-faint)}@media(max-width:960px){.content-grid{columns:1}}.purchase-board{display:grid;grid-template-columns:minmax(calc(var(--sidebar-width) * .85),1fr) 2fr;gap:var(--space-md);align-items:start}.purchase-board__queue{padding-inline:var(--space-md);padding-bottom:var(--space-md)}.purchase-board__item{display:flex;flex-direction:column;gap:var(--space-xs);width:100%;padding:var(--space-sm) var(--space-md);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);font-family:var(--font-family);text-align:start;cursor:pointer}.purchase-board__item.is-on,.purchase-board__item:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.purchase-board__pick{background:var(--color-success-soft)}.purchase-board__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);align-items:end}@media(max-width:960px){.purchase-board,.purchase-board__form{grid-template-columns:1fr}}.ui-request-lines__add{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-sm) var(--space-md);align-items:end}.ui-request-lines__add>.ui-field--name{grid-column:span 2}.ui-request-lines__cart{list-style:none;margin:0;padding:0;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md)}.ui-request-lines__row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-bottom:var(--border-width) solid var(--color-border)}.ui-request-lines__row:last-child{border-bottom:none}.ui-request-lines__name{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-xs)}.ui-request-lines__qty{width:calc(var(--space-xl) * 2.4);flex:0 0 auto}.ui-request-lines__total{flex:0 0 auto;font-weight:var(--font-weight-semibold, 600);min-width:calc(var(--space-xl) * 2);text-align:end}.ui-request-lines__grand{display:flex;justify-content:flex-end;gap:var(--space-xs);margin:0}.roll-label{position:relative;width:340px;background:var(--color-surface-solid);color:var(--color-text);border:var(--border-width) solid var(--color-text);font-size:var(--font-size-sm);direction:ltr}.roll-label__stamp{justify-self:end;align-self:center;transform:rotate(-14deg);color:var(--color-success);border:2.5px solid var(--color-success);border-radius:6px;padding:2px var(--space-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:.14em;opacity:.8;white-space:nowrap}.roll-label__head{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-sm);align-items:center;padding:var(--space-sm);border-bottom:var(--border-width) solid var(--color-text)}.roll-label__logo{width:64px;object-fit:contain}.roll-label__company{font-size:var(--font-size-xs);line-height:1.5}.roll-label__product{position:relative;text-align:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-md);padding:var(--space-xs);border-bottom:var(--border-width) solid var(--color-text);direction:rtl}.roll-label__grid{display:grid;grid-template-columns:1fr 1fr}.roll-label__grid>div{padding:var(--space-xs) var(--space-sm);border-bottom:var(--border-width) solid var(--color-text)}.roll-label__grid>div:nth-child(odd){border-inline-end:var(--border-width) solid var(--color-text);font-weight:var(--font-weight-medium)}.roll-label__grid>div:nth-child(2n){text-align:center}.roll-label__iso{display:flex;justify-content:space-around;padding:var(--space-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-bottom:var(--border-width) solid var(--color-text)}.roll-label__footer{text-align:center;padding:var(--space-xs);font-size:var(--font-size-xs)}.roll-label__barcode{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-xs)}.print-only{display:none}.print-sheet__logo{height:var(--print-sheet-logo-height);width:auto;object-fit:contain}.print-sheet__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:var(--space-sm) 0 0;text-align:center}.print-sheet__doc{text-align:center;font-weight:var(--font-weight-medium);margin:var(--space-xs) 0 0}.print-sheet__foot{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-soft);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:var(--border-width) solid var(--color-text)}.print-record{width:100%;margin:0;border:var(--border-width) solid var(--color-text)}.print-record__row{display:grid;grid-template-columns:var(--print-record-label) 1fr;border-bottom:var(--border-width) solid var(--color-text)}.print-record__row:last-child{border-bottom:none}.print-record dt{margin:0;padding:var(--space-sm) var(--space-md);font-weight:var(--font-weight-medium);background:var(--color-surface-alt);border-inline-end:var(--border-width) solid var(--color-text)}.print-record dd{margin:0;padding:var(--space-sm) var(--space-md)}@media print{@page{margin:var(--print-page-margin)}.print-only{display:block}body *{visibility:hidden}.print-area,.print-area *,.print-sheet,.print-sheet *{visibility:visible}app-sidebar,.sidebar,.topbar,.page-header,.ui-tabs,.token-toolbar,ui-list-filters,.ui-table__actions-col,.ui-table-wrap--solo .ui-table,.print-sheet .print-nested-hide,body.is-print-row .print-sheet:not(.ui-table-wrap--solo)>.print-sheet__head,body.is-print-row .print-sheet:not(.ui-table-wrap--solo)>.print-sheet__foot,body.is-print-row .print-sheet:not(.ui-table-wrap--solo)>.statement-summary{display:none}body.is-print-row *:not(.print-sheet):not(.print-sheet *):not(:has(.print-sheet)){display:none}html,body,.shell,.shell__main,.shell__content,.ui-card,.statement-card,.print-area,.print-sheet,.ui-table-wrap{display:block;position:static;overflow:visible;box-sizing:border-box;max-width:100%;width:100%;min-width:0;height:auto;padding:0;margin:0;background:transparent;box-shadow:none;border:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;filter:none}.ui-modal-overlay,.ui-modal{position:static;overflow:visible;max-height:none;width:auto;padding:0;border:none;box-shadow:none;background:transparent}.print-area:has(.roll-label){padding:var(--print-label-inset);width:auto}.print-area--center .roll-label{margin-inline:auto}.print-sheet{padding-inline:var(--print-sheet-inset)}.print-area .ui-table,.print-sheet .ui-table{width:100%;max-width:100%;table-layout:auto;border-collapse:collapse}.print-area .ui-table th,.print-area .ui-table td,.print-sheet .ui-table th,.print-sheet .ui-table td,.print-area .ui-table tbody tr:last-child td,.print-sheet .ui-table tbody tr:last-child td{border:var(--border-width) solid var(--color-text);padding:var(--space-xs) var(--space-sm);height:auto;overflow-wrap:break-word;word-break:normal}.print-area .ui-table th,.print-area .ui-table td,.print-sheet .ui-table th{white-space:nowrap}.print-sheet .ui-table td{white-space:normal}.print-sheet .statement-summary{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm) var(--space-md);box-sizing:border-box;width:100%;margin-block:var(--space-md);padding:var(--space-sm) 0;background:transparent;border-radius:0;border-block:var(--border-width) solid var(--color-text)}.print-sheet__head{text-align:center;margin-bottom:var(--space-md)}.print-sheet__logo{display:block;margin-inline:auto}.print-record dt{background:var(--color-surface-solid)}.roll-label{overflow:visible;break-inside:avoid}}ui-print-doc,.ui-print-doc{display:block}.print-invoice{display:flex;flex-direction:column;gap:var(--space-lg);padding-block-start:var(--space-sm);border-block-start:var(--border-width-strong) solid var(--color-primary)}.print-invoice__banner{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-lg)}.print-invoice__brand{display:flex;align-items:flex-start;gap:var(--space-md)}.print-invoice__logo{height:var(--print-sheet-logo-height);width:auto;object-fit:contain}.print-invoice__brand strong,.print-invoice__bill strong{display:block;font-size:var(--font-size-lg)}.print-invoice__brand span,.print-invoice__bill span{display:block;font-size:var(--font-size-sm);color:var(--color-text-soft)}.print-invoice__kind{margin:0;font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);text-align:end;line-height:var(--print-cell-leading)}.print-invoice__no{margin:var(--space-xs) 0 0;font-size:var(--font-size-xl);text-align:end;font-variant-numeric:tabular-nums}.print-invoice__parties{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.print-invoice__bill{padding:var(--space-md);background:var(--color-surface-alt);border-inline-start:var(--border-width-strong) solid var(--color-primary)}.print-invoice__label,.print-invoice__facts dt{display:block;margin:0;font-size:var(--font-size-xs);color:var(--color-text-soft)}.print-invoice__facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm) var(--space-md);margin:0}.print-invoice__facts dd{margin:0;font-weight:var(--font-weight-medium)}.print-invoice__lines{width:100%;border-collapse:collapse}.print-invoice__lines th{text-align:start;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-soft);border-bottom:var(--border-width-strong) solid var(--color-text);padding:var(--space-sm) 0}.print-invoice__lines td{padding:var(--space-md) 0;border-bottom:var(--border-width) solid var(--color-border);line-height:var(--print-cell-leading)}.print-invoice__lines th:last-child,.print-invoice__lines td:last-child{text-align:end;font-variant-numeric:tabular-nums}.print-invoice__math{width:var(--print-invoice-totals);margin-inline-start:auto;display:flex;flex-direction:column;gap:var(--space-sm)}.print-invoice__math-row{display:flex;justify-content:space-between;gap:var(--space-lg);font-variant-numeric:tabular-nums}.print-invoice__due{padding-block-start:var(--space-sm);border-block-start:var(--border-width-strong) solid var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.print-invoice__note{border-block-start:var(--border-width) solid var(--color-border);padding-block-start:var(--space-sm);font-size:var(--font-size-sm);white-space:pre-line}.print-invoice__note p{margin:var(--space-xs) 0 0}@media print{body.is-print-row :has(.print-sheet),body.is-print-row .print-sheet,body.is-print-line :has(.ui-table-wrap),body.is-print-list :has(.print-area),body.is-print-list .print-area{display:block!important;position:static!important;inset:auto!important;float:none!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;background:none!important;box-shadow:none!important;border:none!important;border-radius:0!important;transform:none!important;overflow:visible!important}body.is-print-line tbody tr:not(.ui-table__row--line){display:none}body.is-print-line .ui-table-wrap:not(:has(.ui-table__row--line)){display:none}body.is-print-line .ui-card:not(:has(.ui-table__row--line)):has(.ui-table-wrap){display:none!important}body.is-print-line .statement-summary{display:none}body.is-print-line .ui-table-wrap,body.is-print-line .ui-table-wrap *{visibility:visible}.print-area .ui-table th,.print-sheet .ui-table th,body.is-print-line .ui-table th{background:var(--color-surface-alt);font-weight:var(--font-weight-bold)}module-dashboard,ui-page-header,.checkin-hero,.checkin-metrics,.checkin-actions,.report-view__bar,.report-hub,.report-studio,.report-mods{display:none}.print-sheet ui-print-doc,.print-sheet ui-print-doc *,.print-area ui-print-doc,.print-area ui-print-doc *{visibility:visible}ui-print-doc .print-only{display:flex}ui-print-doc .print-invoice__lines{display:table}ui-print-doc .print-invoice__math{display:flex}.print-area .ui-table,.print-sheet .ui-table{table-layout:auto;font-size:var(--font-size-xs)}.print-area .ui-table th,.print-area .ui-table td,.print-sheet .ui-table th,.print-sheet .ui-table td{white-space:normal;overflow:visible;overflow-wrap:anywhere;word-break:break-word;line-height:var(--print-cell-leading);padding:var(--space-sm);height:auto;vertical-align:top}.print-sheet__logo{height:var(--print-sheet-logo-height)}.print-sheet__head{margin-bottom:var(--space-sm)}.print-sheet__foot{margin-top:var(--space-md)}.report-workbook module-dashboard,.report-totals{display:none}}.xdoc{position:relative;font-family:Times New Roman,"Liberation Serif",Georgia,serif;font-size:var(--font-size-md);color:var(--color-text)}.xdoc--invoice{border:1.5pt solid var(--color-text);padding:6mm;min-height:100%;box-sizing:border-box}.xdoc__watermark{position:absolute;inset:0;margin:auto;max-width:70%;max-height:70%;object-fit:contain;opacity:.07;pointer-events:none;z-index:0}.xdoc--invoice>*:not(.xdoc__watermark){position:relative;z-index:1}.xdoc__logo{display:block;margin-left:auto;height:76px;width:auto;object-fit:contain}.xdoc__title{margin:var(--space-md) 0 var(--space-lg);text-align:center;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.xdoc__trial{margin:var(--space-lg) 0 var(--space-md);text-align:center;font-weight:var(--font-weight-bold);color:var(--color-danger);font-size:var(--font-size-lg)}.proforma-preview .xdoc{background:var(--color-surface-solid);padding:8mm;max-height:75vh;overflow:auto}.xdoc__top{display:grid;grid-template-columns:1fr auto;gap:var(--space-xl);margin-bottom:var(--space-lg);align-items:end}.xdoc__customer p{margin:0 0 var(--space-xxs, 2px)}.xdoc__customer .xdoc__name{font-weight:var(--font-weight-bold)}.xdoc__meta{text-align:end}.xdoc__meta p{margin:0 0 var(--space-xxs, 2px);font-weight:var(--font-weight-bold);white-space:nowrap}.xdoc__meta span{font-weight:var(--font-weight-medium)}.xdoc__table{width:100%;border-collapse:collapse;margin-bottom:var(--space-sm)}.xdoc__table--narrow{width:64%;margin-inline:auto}.xdoc__table th,.xdoc__table td{border:var(--border-width) solid var(--color-text);padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm)}.xdoc__table th,.xdoc__table td{text-align:center}.xdoc__table th{background:var(--color-surface-alt);font-weight:var(--font-weight-bold)}.xdoc__table td.num,.xdoc__table th.num{font-variant-numeric:tabular-nums;white-space:nowrap}.xdoc__table .xdoc__total td{font-weight:var(--font-weight-bold)}.xdoc__table--record th,.xdoc__table--record td{text-align:start}.xdoc__table--record th{width:32%;white-space:nowrap;vertical-align:top}.xdoc__table--record td{vertical-align:top}.xdoc__table--record .xdoc__lines-cell ul{margin:0;padding-inline-start:var(--space-lg)}.spec-doc__table th,.spec-doc__table td{font-size:var(--font-size-xs);padding:2px var(--space-xs);white-space:nowrap}.spec-doc__table td:last-child{white-space:normal}.xdoc__meta-line{margin:var(--space-sm) 0 0;font-size:var(--font-size-sm)}.xdoc__term{display:flex;align-items:baseline;gap:var(--space-sm);margin:var(--space-md) 0;font-weight:var(--font-weight-bold)}.xdoc__dots{flex:1;border-block-end:var(--border-width) dotted var(--color-text);transform:translateY(-3px)}.xdoc__say{display:flex;align-items:baseline;gap:var(--space-xs);margin:0 0 var(--space-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.xdoc__say--ar{direction:rtl;font-weight:var(--font-weight-medium)}.xdoc__lines{margin:var(--space-md) 0 var(--space-lg);font-size:var(--font-size-sm)}.xdoc__lines p{margin:0 0 var(--space-xxs, 2px)}.xdoc__sign{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg);margin-top:var(--space-lg)}.xdoc__sig{display:flex;align-items:baseline;gap:var(--space-xs);flex:1;margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.xdoc__sig .xdoc__dots{min-width:140px}.xdoc__sign--stamp-only{justify-content:flex-end}.xdoc__stamp{width:34mm;height:auto;object-fit:contain;mix-blend-mode:multiply}.xdoc__bar{margin-top:var(--space-xl);padding-top:var(--space-sm);border-top:var(--border-width-strong) solid var(--color-primary);font-size:var(--font-size-sm)}.xdoc__bar p{margin:0 0 var(--space-xxs, 2px)}@media print{body.is-print-row .xdoc{display:flex!important;flex-direction:column;min-height:100vh;box-sizing:border-box}body.is-print-row .xdoc__foot{margin-top:auto}body.is-print-row .print-docs{display:block}body.is-print-row .print-docs .xdoc{break-after:page}body.is-print-row .print-docs .xdoc:last-child{break-after:auto}body.is-print-row .print-docs .print-sheet{break-after:page}body.is-print-row .print-docs .print-sheet:last-child{break-after:auto}}.xdoc__approved{display:inline-block;transform:rotate(-8deg);color:var(--color-success);border:2.5px solid var(--color-success);border-radius:6px;padding:0 var(--space-sm);font-weight:var(--font-weight-bold);letter-spacing:.12em;opacity:.85}.role-mod{margin-bottom:var(--space-md);background:var(--color-surface);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:var(--border-width) solid var(--glass-highlight);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--card-padding)}.role-mod__head,.role-screen__head{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;list-style:none}.role-mod__head{font-size:var(--font-size-lg)}.role-mod__head::-webkit-details-marker,.role-screen__head::-webkit-details-marker{display:none}.role-mod__head:before,.role-screen__head:before{content:"";width:0;height:0;border-block-start:var(--space-sm) solid transparent;border-block-end:var(--space-sm) solid transparent;border-inline-start:var(--space-sm) solid var(--color-text-soft);flex-shrink:0}details[open]>.role-mod__head:before,details[open]>.role-screen__head:before{border-inline-start-color:transparent;border-inline-start-width:var(--space-sm);border-inline-end:var(--space-sm) solid transparent;border-block-start:var(--space-sm) solid var(--color-text-soft);border-block-end:none}.role-screen,.role-mod>app-role-perms{display:block;margin-top:var(--space-md);padding-top:var(--space-md);border-top:var(--border-width) solid var(--color-border)}.role-screen .ui-field__label{margin-top:var(--space-sm)}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--sidebar-width) * .65),1fr));gap:var(--space-xs) var(--space-md);margin-top:var(--space-xs)}.checkin{display:flex;flex-direction:column;gap:var(--space-lg)}.checkin-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap}.checkin-hero__who{display:flex;align-items:center;gap:var(--space-md);flex:1 1 auto;min-width:0}.checkin-hero__photo{width:calc(var(--control-height) * 2);height:calc(var(--control-height) * 2);border-radius:var(--radius-full);object-fit:contain;background:var(--color-primary-soft);border:var(--border-width) solid var(--color-border);flex-shrink:0}.checkin-hero__photo--empty{display:flex;align-items:center;justify-content:center;background:var(--brand-gradient);color:var(--color-text-inverse);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);border-color:transparent;box-shadow:var(--shadow-glow)}.checkin-hero__id{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.checkin-hero__name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);overflow-wrap:break-word}.checkin-hero__status{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm)}.checkin-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(var(--sidebar-width) * .55),1fr));gap:var(--space-md)}.checkin-metric{background:var(--color-surface);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--border-width) solid var(--glass-highlight);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--card-padding)}.checkin-metric__value{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold)}.checkin-metric__label{margin-top:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-soft)}.checkin-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(var(--sidebar-width) * .7),1fr));gap:var(--space-md)}.checkin-actions .ui-btn{width:100%;height:calc(var(--control-height) * 1.7);font-size:var(--font-size-lg)}.checkin-history{display:flex;flex-direction:column;gap:var(--space-md)}.checkin-history .ui-card__title{margin-bottom:0}@media print{.role-editor{display:none}}
