#screen-loading{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:var(--surface-dark);color:var(--text-on-dark);gap:var(--space-3);opacity:1;transition:opacity .25s ease}#screen-loading.screen-loading-hide{opacity:0;pointer-events:none}.logo{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em}.logo span{color:var(--brand-primary)}.subtitle{font-size:var(--fs-md);color:var(--text-on-dark-sub)}.spinner{width:var(--space-5);height:var(--space-5);border:3px solid var(--border-on-dark);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .8s linear infinite;margin-top:var(--space-2)}#screen-login{display:none;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--surface-dark);padding:var(--space-5) var(--space-4)}.login-logo{font-size:var(--fs-2xl);font-weight:700;color:var(--text-on-dark);margin-bottom:var(--space-1)}.login-logo span{color:var(--brand-primary)}.login-sub{font-size:var(--fs-base);color:var(--text-on-dark-sub);margin-bottom:var(--space-5);text-align:center}.pin-label{font-size:var(--fs-md);color:var(--text-on-dark-sub);margin-bottom:var(--space-4);text-align:center}.pin-dots{display:flex;gap:var(--space-3);margin-bottom:var(--space-5);justify-content:center;width:100%}.pin-dot{width:clamp(1rem,0.8333rem + 0.74vw,1.25rem);height:clamp(1rem,0.8333rem + 0.74vw,1.25rem);border-radius:50%;background:var(--surface-dark-2);border:2px solid var(--border-on-dark);transition:all .15s}.pin-dot.filled{background:var(--brand-primary);border-color:var(--brand-primary)}.pin-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);width:100%;max-width:min(17.5rem,calc(100vw - var(--space-5) * 2))}.key{background:var(--surface-dark-2);border:1px solid var(--border-on-dark);border-radius:var(--radius-btn);min-height:var(--tap-size);padding:var(--space-4);font-size:var(--fs-xl);font-weight:600;color:var(--text-on-dark);cursor:pointer;transition:background .1s}.key:active{background:var(--border-on-dark)}.key.del{font-size:var(--fs-lg);color:var(--text-on-dark-sub)}.login-error{color:var(--accent-on-dark);font-size:var(--fs-base);margin-top:var(--space-3);min-height:1.25em;text-align:center}.top-bar{background:var(--surface-dark);border-bottom:1px solid var(--border-on-dark);padding:max(var(--space-2),env(safe-area-inset-top)) var(--space-4) var(--space-2);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);position:sticky;top:0;z-index:50}html[data-env="staging"] .top-bar{flex-wrap:wrap}html[data-env="staging"] .top-bar::after{content:"ТЕСТОВЫЙ КОНТУР — данные не боевые";flex:1 1 100%;margin-top:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-inner);background:var(--status-overdue);color:var(--brand-light);font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;text-align:center}.top-bar-date{margin-right:auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-sm);font-weight:600;color:var(--text-on-dark-sub)}.top-bar-time{margin-right:var(--space-2);white-space:nowrap;font-size:var(--fs-sm);font-weight:600;color:var(--text-on-dark)}.btn-logout,.top-bar .op-icon-btn{background:none;border:1px solid var(--border-on-dark);border-radius:var(--radius-btn);width:var(--tap-size);height:var(--tap-size);flex-shrink:0;color:var(--text-on-dark);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.btn-logout svg{width:clamp(1.25rem,1.1667rem + 0.37vw,1.5rem);height:clamp(1.25rem,1.1667rem + 0.37vw,1.5rem)}.op-header-info{margin-right:auto;line-height:1.25;min-width:0}.op-header-date{font-size:var(--fs-sm);font-weight:600;color:var(--text-on-dark-sub);white-space:nowrap}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:var(--max-width);background:var(--bg-card);border-top:1px solid var(--border-card);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);z-index:50}.bnav-btn{min-width:0;min-height:var(--tap-min);padding:var(--space-2) var(--space-1) calc(var(--space-3) + env(safe-area-inset-bottom));border:none;background:none;font-size:var(--fs-xs);font-weight:600;color:var(--text-sub);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative}.bnav-btn.active{color:var(--text-main);box-shadow:inset 0 3px 0 var(--brand-primary)}.bnav-btn svg{width:clamp(1.375rem,1.2917rem + 0.37vw,1.5rem);height:clamp(1.375rem,1.2917rem + 0.37vw,1.5rem)}.bnav-label{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen{display:none;padding:var(--space-3);padding-bottom:calc(var(--space-5) * 4);animation:fadeIn .2s ease;position:relative}.screen.active{display:block}@media (prefers-reduced-motion:reduce){.screen{animation:none}}#orders-pattern{position:absolute;top:0;left:0;right:0;display:block;pointer-events:none;z-index:0;opacity:.07}#orders-content{position:relative;z-index:1;container-type:inline-size}#order-page-content{position:relative;z-index:1;container-type:inline-size}#op-top-bar-logo,#top-bar-logo{flex-shrink:0;max-width:clamp(5.25rem,4.85rem + 1.85vw,6.75rem)}#op-top-bar-logo svg,#top-bar-logo svg{display:block;width:100%;height:auto}.tech-header{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-2)}.tech-header-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2)}.tech-header-text{flex:1 1 auto;min-width:0}.tech-header .hi{font-size:var(--fs-sm);font-weight:500;color:var(--text-sub)}.tech-header .name{font-size:var(--fs-lg);font-weight:600;margin-top:2px;letter-spacing:-.01em;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tech-header .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1);margin-top:var(--space-3)}.scope-tabs,.card-tabs{display:flex;gap:2px;padding:3px;background:var(--bg-inset);border-radius:var(--radius-btn)}.scope-tabs{flex-shrink:0}.scope-tab,.card-tab{flex:1 1 auto;min-width:0;min-height:calc(var(--tap-min) - 6px);padding:0 var(--space-3);border:0;border-radius:var(--radius-inner);background:none;font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600;color:var(--text-sub);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s ease,color .15s ease}.scope-tab[aria-selected="true"],.card-tab[aria-selected="true"]{background:var(--surface-dark);color:var(--text-on-dark)}.scope-tab:focus-visible,.card-tab:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}.attn-filters{display:flex;gap:var(--space-1);margin:0;padding:0;background:none}.attn-filter{flex:1 1 0;min-width:0;height:var(--tap-size);padding:0 var(--space-2);border:1px solid var(--border-card);border-radius:var(--radius-btn);background:var(--bg-card);color:var(--text-main);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attn-filter[aria-selected="true"]{background:var(--surface-dark);border-color:var(--surface-dark);color:var(--text-on-dark)}.attn-filter:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}.card-tabs{margin-bottom:var(--space-3)}.card-tab-count{color:inherit;opacity:.7;font-weight:500}.stat-box{min-width:0;background:var(--bg-inset);border-radius:var(--radius-inner);padding:var(--space-2) var(--space-2) var(--space-2);text-align:left}.stat-lbl{font-size:var(--fs-xs);font-weight:600;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-num{font-size:var(--fs-2xl);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--text-main);margin-top:2px}.stat-box.today .stat-num{color:var(--brand-text-strong)}.feed-tools{position:sticky;z-index:40;display:flex;flex-direction:column;align-items:flex-start;width:100%;height:var(--tap-min);margin:0 0 var(--space-2);padding:0;background:transparent;border:0;pointer-events:none}.feed-tools.is-open{position:relative;height:auto;align-items:stretch;pointer-events:auto}.feed-tools.is-parked{position:relative;height:auto;align-items:stretch}.feed-tools.is-parked:not(.is-open){pointer-events:none}.feed-tools.is-parked .feed-tools-body{grid-template-rows:1fr;transition:none}.feed-tools.is-open.is-mid .feed-tools-body{position:fixed;z-index:42;animation:feedBlockDown 0.5s ease both}.feed-tools.is-open.is-leaving{pointer-events:none}@keyframes feedTongueDown{from{transform:translateY(-100%);opacity:0}to{transform:none;opacity:1}}@keyframes feedBlockDown{from{transform:translateY(-100%)}to{transform:none}}.feed-tools.is-leaving .feed-tools-tab-face,.feed-tools.is-tongue-in .feed-tools-tab-face{animation:feedTongueDown 0.5s ease}.feed-tools.is-open .feed-tools-inner{padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card);box-sizing:border-box}.feed-tools.is-open.is-stuck .feed-tools-inner{border-top-left-radius:0;border-top-right-radius:0}.feed-tools-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.5s ease}.feed-tools.is-open:not(.is-leaving) .feed-tools-body{grid-template-rows:1fr}@media (prefers-reduced-motion:reduce){.feed-tools-body{transition:none}.feed-tools.is-leaving .feed-tools-tab-face,.feed-tools.is-tongue-in .feed-tools-tab-face,.feed-tools.is-open.is-mid .feed-tools-body{animation:none}}.feed-tools-inner{overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:var(--space-2)}.feed-tools-tab{pointer-events:auto;touch-action:none;align-self:flex-start;display:inline-flex;align-items:flex-start;height:var(--tap-min);min-width:var(--tap-min);margin:0;padding:0;cursor:pointer;border:0;background:transparent;color:var(--text-main)}.feed-tools-tab-face{display:inline-flex;align-items:center;justify-content:center;height:calc(var(--tap-min) - var(--space-3));min-width:var(--tap-min);padding:0 var(--space-2);gap:var(--space-1);background:var(--bg-card);border:1px solid var(--border-card);border-top:0;border-radius:0 0 var(--radius-btn) var(--radius-btn);color:var(--text-main)}.feed-tools.is-open .feed-tools-tab{display:none}.feed-tools.is-open.is-leaving{pointer-events:none}.feed-tools.is-open.is-leaving .feed-tools-tab{display:inline-flex;pointer-events:auto}.feed-tools-tab svg{width:var(--fs-md);height:var(--fs-md)}.feed-tools .search-row{margin-bottom:0}.feed-tools .search-hint{margin:0}.search-row{display:flex;gap:var(--space-1);margin-bottom:var(--space-3);height:var(--tap-size)}.search-field{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--space-2);background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-btn);padding:0 var(--space-3);font-size:var(--fs-base);color:var(--text-muted)}.search-field:focus-within{border-color:var(--text-main)}.search-field input{flex:1 1 auto;min-width:0;border:none;outline:none;background:none;font-size:var(--fs-base);color:var(--text-main);padding:0}.search-field input::placeholder{color:var(--text-muted)}.search-field svg{flex-shrink:0;width:var(--fs-md);height:var(--fs-md);color:var(--text-sub)}.search-clear-btn{border:none;background:var(--bg-inset);border-radius:50%;width:clamp(1.625rem,1.5rem + 0.56vw,1.875rem);height:clamp(1.625rem,1.5rem + 0.56vw,1.875rem);flex-shrink:0;padding:0;font-size:var(--fs-sm);font-weight:700;color:var(--text-sub);cursor:pointer;display:flex;align-items:center;justify-content:center}.scan-btn{flex-shrink:0;width:var(--tap-size);height:var(--tap-size);padding:0;border:1px solid var(--surface-dark);border-radius:var(--radius-btn);cursor:pointer;background:var(--surface-dark);color:var(--text-on-dark);display:flex;align-items:center;justify-content:center}.scan-btn svg{width:clamp(1.25rem,1.1667rem + 0.37vw,1.5rem);height:clamp(1.25rem,1.1667rem + 0.37vw,1.5rem);color:currentColor}.scan-btn-outline{background:var(--bg-card);border-color:var(--border-card);color:var(--text-main)}.search-spinner{flex-shrink:0;width:var(--fs-md);height:var(--fs-md);border:2px solid var(--border);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .6s linear infinite}.search-hint{font-size:var(--fs-xs);color:var(--text-muted);margin:calc(var(--space-2) * -1) 0 var(--space-2);padding-left:var(--space-1)}.folder{margin-bottom:var(--space-2)}.folder-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2)}.group-header{position:relative;box-sizing:border-box;flex-shrink:0;width:var(--tab-w);min-height:var(--tap-min);display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);cursor:pointer;user-select:none;padding:0 var(--space-1) 0 var(--space-3);background:var(--bg-card);border:1px solid var(--border-card);border-bottom:none;border-radius:var(--radius-card) var(--radius-card) 0 0}.group-header-label{flex:1 1 auto;min-width:0;font-size:var(--fs-base);font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-header-count{flex-shrink:0;font-size:var(--fs-base);font-weight:600;color:var(--text-sub);white-space:nowrap}.group-arrow{width:clamp(2.25rem,2.0833rem + 0.74vw,2.75rem);height:clamp(2.25rem,2.0833rem + 0.74vw,2.75rem);flex-shrink:0;border-radius:var(--radius-inner);color:var(--text-sub);display:flex;align-items:center;justify-content:center;transition:transform .2s}.group-arrow svg{width:clamp(0.875rem,0.8333rem + 0.185vw,0.9375rem);height:clamp(0.875rem,0.8333rem + 0.185vw,0.9375rem)}.group-arrow.open{transform:rotate(180deg)}.group-pending{flex:0 1 auto;min-width:0;margin-bottom:var(--space-2);font-size:var(--fs-xs);font-weight:600;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-preview{box-sizing:border-box;min-height:calc(var(--tap-min) * .6);padding:var(--space-1) var(--space-3);background:var(--bg-card);border:1px solid var(--border-card);border-radius:0 var(--radius-card) var(--radius-card) var(--radius-card);font-size:var(--fs-xs);font-weight:500;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.folder:has(> .group-card-body.open) > .folder-preview{display:none}.group-card-body{overflow:hidden;max-height:0;box-sizing:border-box;display:grid;gap:var(--space-1);padding:0 var(--space-1);background:var(--bg-card);border:0 solid var(--border-card);border-radius:0 var(--radius-card) var(--radius-card) var(--radius-card);transition:max-height .3s ease}.group-card-body.open{max-height:none;padding:var(--space-1);border-width:1px}.folder:has(> .group-card-body.open) .group-header,.folder > .group-card-body.open{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--text-on-accent)}.folder:has(> .group-card-body.open) .group-header-label,.folder:has(> .group-card-body.open) .group-header-count,.folder:has(> .group-card-body.open) .group-arrow{color:var(--text-on-accent)}.group-empty{font-size:var(--fs-sm);font-weight:600;color:var(--text-sub);text-align:center;display:flex;align-items:center;justify-content:center;min-height:var(--tap-size);padding:var(--space-3) var(--space-2);background:var(--bg-card);border-radius:var(--radius-inner)}.list-section-label{font-size:var(--fs-sm);font-weight:700;color:var(--text-main);padding:0 var(--space-1);margin:2px 0 var(--space-2)}@media (prefers-reduced-motion:reduce){.group-card-body,.group-arrow{transition:none}}.order-card{position:relative;overflow:hidden;background:var(--bg-card);border-radius:var(--radius-inner);clip-path:inset(0 round var(--radius-inner));cursor:pointer;opacity:0;transform:translateY(12px);transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}.order-card.card-in{opacity:1;transform:translateY(0)}.order-card.card-in:active{transform:scale(.985);transition:transform .1s}.order-card.card-in.is-review-dragging,.order-card.card-in.is-review-dragging:active{transform:none}@media (prefers-reduced-motion:reduce){.order-card{opacity:1;transform:none;transition:none}.order-card .card-progress-fill{transition:none}}.order-card.is-attn-reviewed{display:flex;align-items:stretch}.order-card-main{flex:1 1 auto;min-width:0;background:var(--bg-card)}.attn-swipe-reveal{position:absolute;left:0;top:0;bottom:0;z-index:0;display:flex;align-items:center;width:100%;padding-left:var(--space-3);background:var(--brand-primary);color:var(--text-on-accent);border-top-left-radius:var(--radius-inner);border-bottom-left-radius:var(--radius-inner);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600;pointer-events:none}.order-card.is-review-dragging{background:var(--brand-primary)}.order-card.is-filter-leaving,.folder.is-filter-leaving{overflow:hidden;pointer-events:none;box-sizing:border-box;transition:height .5s cubic-bezier(.22,.8,.3,1),margin-bottom .5s cubic-bezier(.22,.8,.3,1),opacity .5s ease}@media (prefers-reduced-motion:reduce){.order-card.is-filter-leaving,.folder.is-filter-leaving{transition:none}}.order-card.is-review-dragging .attn-tongue,.order-card.is-review-dragging .order-card-main{position:relative;z-index:1}.attn-bar{display:flex;align-items:center;gap:var(--space-2);box-sizing:border-box;width:100%;height:var(--attn-bar-h);padding:0 var(--space-3);background:var(--surface-dark);color:var(--brand-light);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600}.attn-bar-icon{flex-shrink:0;width:var(--fs-md);height:var(--fs-md)}.attn-bar-text{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attn-tongue{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-1);flex:0 0 var(--attn-tongue-w);width:var(--attn-tongue-w);align-self:stretch;box-sizing:border-box;padding-top:var(--space-3);background:var(--attn-tongue-bg);color:var(--text-main);font-family:var(--font-sans);font-size:var(--fs-2xs);font-weight:600}.attn-tongue-icon{width:var(--fs-base);height:var(--fs-base);flex-shrink:0}.attn-tongue-label{writing-mode:vertical-rl}.attn-note,.attn-return{font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:500;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--space-1)}.attn-control-btn,.attn-banner-undo{min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-btn);border:1px solid var(--border-card);background:var(--bg-card);color:var(--text-main);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:600;cursor:pointer}.attn-control-btn{display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;box-sizing:border-box;margin-top:var(--space-3);margin-bottom:var(--space-3);margin-left:auto;align-self:flex-end;border-color:currentColor}.sheet-head .attn-control-btn{margin-top:var(--space-4);margin-bottom:0}.attn-banner{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--tap-size) + var(--space-5) + env(safe-area-inset-bottom));z-index:220;display:flex;align-items:center;gap:var(--space-3);width:max-content;max-width:min(38.75rem,calc(100vw - var(--space-5)));padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--surface-dark);color:var(--brand-light);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:600}.attn-banner-text{flex:1 1 auto;min-width:0}.attn-banner-undo{flex-shrink:0;white-space:nowrap;background:var(--brand-primary);border-color:var(--brand-primary);color:var(--text-on-accent)}.order-card-body{position:relative;padding:var(--space-3) var(--space-3) var(--space-2)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.card-id{flex:1 1 auto;min-width:0}.card-meta{font-size:var(--fs-sm);font-weight:500;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-patient{font-size:var(--fs-lg);font-weight:600;color:var(--text-main);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.card-item{font-size:var(--fs-sm);font-weight:400;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.card-meta-warn{font-size:var(--fs-xs);font-weight:700;color:var(--status-overdue);margin-top:2px;white-space:normal;word-break:break-word}.due-badge{flex:0 0 auto;max-width:46%;border-radius:var(--radius-badge);padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);font-weight:600;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.due-badge.red{background:var(--status-overdue-bg);color:var(--status-overdue);font-weight:700}.due-badge.yellow{background:var(--status-today-bg);color:var(--status-today);font-weight:700}.due-badge.done{background:var(--status-ok-bg);color:var(--status-ok);font-weight:700}.card-route{position:relative;height:var(--op-circle);margin-top:var(--space-3)}.rt-line,.card-progress-fill{position:absolute;left:calc(var(--dot-size) / 2);right:calc(var(--dot-size) / 2);top:50%;height:3px;margin-top:-1.5px;border-radius:2px}.rt-line{background:var(--border-card)}.card-progress-fill{background:var(--text-main);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.4,0,.2,1)}.rt-stations{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between}.rs{position:relative;flex-shrink:0;box-sizing:border-box;width:var(--dot-size);height:var(--dot-size);border-radius:50%;background:var(--text-main)}.rs-next{background:var(--bg-card);border:2.5px solid var(--border-card)}.rs-now{width:var(--op-circle);height:var(--op-circle);background:var(--brand-primary);border:4px solid var(--bg-card);box-shadow:0 0 0 2px var(--brand-primary)}.rs-end{border-radius:3px}.rs-end.rs-next{background:var(--bg-card)}.rs-end.rs-now{border-radius:4px}.rs-more{width:calc(var(--dot-size) * 2);height:0;background:none;border-top:3px dashed var(--border-card);border-radius:0}.rs-more.is-done{border-top-color:var(--text-main)}.card-now{display:flex;align-items:baseline;gap:var(--space-2);margin-top:var(--space-2)}.card-now-check{width:var(--fs-base);height:var(--fs-base);color:var(--status-ok);flex-shrink:0;align-self:center}.card-now-name{flex:1 1 auto;min-width:0;font-size:var(--fs-base);font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-now-qty{font-weight:500;color:var(--text-sub)}.card-now-from{font-weight:400;color:var(--text-sub)}.card-now-count{flex-shrink:0;font-size:var(--fs-sm);font-weight:600;color:var(--text-sub);white-space:nowrap}.card-techs{margin-top:var(--space-1);font-size:var(--fs-sm);font-weight:500;color:var(--text-sub);overflow-wrap:anywhere}.card-techs-label{font-weight:400;color:var(--text-muted);margin-right:var(--space-1)}.route-sheet-backdrop{position:fixed;inset:0;z-index:100;border:none;padding:0;margin:0;cursor:pointer;appearance:none;-webkit-appearance:none;outline:none;-webkit-tap-highlight-color:transparent;background:rgba(21,23,26,.12)}.route-sheet-panel{position:fixed;top:0;right:0;bottom:0;z-index:101;width:min(32rem,calc(100% - var(--tap-min) - var(--space-5)));box-sizing:border-box;display:flex;flex-direction:column;background:var(--bg-card);padding:var(--space-4);padding-top:calc(env(safe-area-inset-top) + var(--space-4));padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));box-shadow:-2px 0 0 var(--bg-card);outline:none;transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);touch-action:pan-y}.route-sheet.is-open .route-sheet-panel{transform:translateX(0)}.route-sheet-grip{position:absolute;left:0;z-index:1;top:calc(env(safe-area-inset-top) + var(--space-3));transform:translateX(calc(-100% + 2px));width:var(--tap-min);height:calc(var(--tap-min) * 2);box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:var(--bg-card);color:var(--text-sub);border-radius:var(--radius-btn) 0 0 var(--radius-btn)}.route-sheet-grip svg{width:var(--fs-md);height:var(--fs-md)}.route-sheet-meta{font-size:var(--fs-sm);font-weight:500;color:var(--text-sub)}.route-sheet-patient{margin-top:2px;font-size:var(--fs-lg);font-weight:600;letter-spacing:-.01em;color:var(--text-main);overflow-wrap:anywhere}.route-sheet-items{margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.route-sheet-item{display:flex;align-items:flex-start;gap:var(--space-2)}.route-sheet-item::before{content:'';flex-shrink:0;width:0.35rem;height:0.35rem;margin-top:0.35rem;border-radius:50%;background:var(--text-sub)}.route-sheet-item-name{flex:1 1 auto;min-width:0;font-size:var(--fs-sm);font-weight:400;line-height:1.35;color:var(--text-sub);overflow-wrap:anywhere}.route-sheet-item-teeth{display:block;margin-top:1px;font-weight:400;color:var(--text-sub)}.route-sheet-item-qty{flex-shrink:0;font-size:var(--fs-sm);font-weight:400;color:var(--text-sub);white-space:nowrap}.route-sheet-rows{margin-top:var(--space-3);border-top:1px solid var(--border)}.route-sheet-row{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.route-sheet-row span{flex-shrink:0;font-size:var(--fs-xs);font-weight:500;color:var(--text-sub)}.route-sheet-row b{flex:1 1 auto;min-width:0;text-align:right;font-size:var(--fs-md);font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-sheet-row b.is-overdue{color:var(--status-overdue)}.route-sheet-panel .attn-control-btn + .route-sheet-scroll{margin-top:0}.route-sheet-scroll{flex:1 1 auto;min-height:0;margin-top:var(--space-3);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.route-sheet-track{display:flex;flex-direction:column}.route-stop{display:grid;grid-template-columns:var(--route-col) minmax(0,1fr) auto;align-items:center;column-gap:var(--space-2);min-height:calc(var(--tap-min) + var(--space-1))}.route-stop-rail{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center}.route-stop-rail::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:var(--border-card)}.route-stop.is-done .route-stop-rail::before{background:var(--text-main)}.route-stop:first-child .route-stop-rail::before{top:50%}.route-stop:last-child .route-stop-rail::before{bottom:50%}.route-stop-dot{position:relative;z-index:1;box-sizing:border-box;width:var(--dot-size);height:var(--dot-size);border-radius:50%;background:var(--text-main)}.route-stop.is-next .route-stop-dot{background:var(--bg-card);border:2.5px solid var(--border-card)}.route-stop.is-now .route-stop-dot{width:var(--op-circle);height:var(--op-circle);background:var(--brand-primary);border:4px solid var(--bg-card);box-shadow:0 0 0 2px var(--brand-primary)}.route-stop.is-end .route-stop-dot{border-radius:3px}.route-stop.is-end.is-next .route-stop-dot{background:var(--bg-card);border:2.5px solid var(--border-card)}.route-stop-body{min-width:0}.route-stop-op{display:block;font-size:var(--fs-base);font-weight:600;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-stop.is-next .route-stop-op{font-weight:400;color:var(--text-sub)}.route-stop-name{display:block;margin-top:1px;font-size:var(--fs-sm);font-weight:500;color:var(--text-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-stop.is-now .route-stop-name{color:var(--brand-text-strong)}.route-stop-date{font-size:var(--fs-sm);font-weight:600;color:var(--text-sub);font-variant-numeric:tabular-nums;white-space:nowrap}.route-stop.is-now .route-stop-date{color:var(--brand-text-strong)}@media (prefers-reduced-motion:reduce){.route-sheet-panel{transition:none}}.card-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--border)}.card-date{min-width:0}.card-date-label{display:block;font-size:var(--fs-xs);font-weight:500;color:var(--text-sub);white-space:nowrap}.card-date b{display:block;font-size:var(--fs-md);font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-date.is-overdue b{color:var(--status-overdue);font-weight:700}.swipe-hint{position:absolute;left:var(--space-3);bottom:var(--space-2);width:3.75rem;height:2rem;pointer-events:none;z-index:3;color:var(--text-sub);animation:swipeHintMove 1.8s ease-in-out 2}.swipe-hint-trail{position:absolute;left:1.5rem;top:2px;opacity:.5}.swipe-hint-hand{position:absolute;left:0;top:0;width:1.625rem;height:1.625rem}@keyframes swipeHintMove{0%{transform:translateX(0);opacity:0}15%{opacity:1}50%{transform:translateX(-30px);opacity:1}85%{opacity:0}100%{transform:translateX(-30px);opacity:0}}@media (prefers-reduced-motion:reduce){.swipe-hint{display:none}}.order-card.is-review-hint .order-card-main{animation:attnReviewNudge 2.8s ease-in-out 2;animation-delay:var(--attn-hint-delay,0s)}.attn-review-ghost{position:absolute;left:0;top:0;bottom:0;z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--space-1);padding:var(--space-2);pointer-events:none}.attn-review-ghost-mark,.attn-review-ghost-note{background:var(--brand-primary);color:var(--text-on-accent);border-radius:var(--radius-btn);font-family:var(--font-sans);font-weight:600;padding:var(--space-1) var(--space-2);opacity:0;animation:attnReviewLabel 2.8s ease-in-out 2;animation-delay:var(--attn-hint-delay,0s)}.attn-review-ghost-mark{font-size:var(--fs-sm)}.attn-review-ghost-note{font-size:var(--fs-2xs)}@keyframes attnReviewNudge{0%{transform:translateX(0)}18%{transform:translateX(calc(var(--space-5) + var(--space-4)))}72%{transform:translateX(calc(var(--space-5) + var(--space-4)))}100%{transform:translateX(0)}}@keyframes attnReviewLabel{0%{opacity:0}12%{opacity:.92}78%{opacity:.92}100%{opacity:0}}@media (prefers-reduced-motion:reduce){.order-card.is-review-hint .order-card-main{animation:none}.attn-review-ghost{display:none}}.op-icon-btn,.op-icon-btn-orange,.op-send-btn{width:var(--tap-size);height:var(--tap-size);flex-shrink:0;border-radius:var(--radius-btn);border:1px solid var(--border-card);background:var(--bg-card);color:var(--text-main);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.op-icon-btn-orange{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--text-on-accent)}.op-send-btn{background:var(--surface-dark);border-color:var(--surface-dark);color:var(--text-on-dark)}.op-send-btn:disabled{opacity:.5;cursor:default}.op-icon-btn svg,.op-icon-btn-orange svg,.op-send-btn svg{width:clamp(1.125rem,1.0417rem + 0.37vw,1.25rem);height:clamp(1.125rem,1.0417rem + 0.37vw,1.25rem)}.op-block-card{position:relative;width:100%;max-width:var(--max-width);margin:0 auto;padding:var(--space-5) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom));background:var(--bg-card);border-top:1px solid var(--border-card);border-radius:var(--radius-card) var(--radius-card) 0 0}.op-block-close{position:absolute;top:var(--space-3);right:var(--space-3);width:clamp(1.875rem,1.75rem + 0.56vw,2.125rem);height:clamp(1.875rem,1.75rem + 0.56vw,2.125rem);border-radius:50%;border:none;background:var(--bg-inset);color:var(--text-main);display:flex;align-items:center;justify-content:center;cursor:pointer}.op-block-close svg{width:clamp(1.125rem,1.0417rem + 0.37vw,1.25rem);height:clamp(1.125rem,1.0417rem + 0.37vw,1.25rem)}.op-block-title{font-size:var(--fs-md);font-weight:700;color:var(--text-main);padding-right:var(--space-5);margin-bottom:var(--space-2)}.op-block-text{font-size:var(--fs-base);line-height:1.5;color:var(--text-2)}.op-block-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.op-block-actions button{flex:1 1 auto;min-width:0;min-height:var(--tap-size);border-radius:var(--radius-btn);border:none;font:inherit;font-size:var(--fs-base);font-weight:700;cursor:pointer}.op-block-btn-primary{background:var(--brand-primary);color:var(--text-on-accent)}.op-block-actions .op-block-btn-secondary{background:none;border:1px solid var(--border-card);color:var(--text-main)}.op-comment-input{flex:1 1 auto;min-width:0;border:1px solid transparent;border-radius:var(--radius-btn);height:var(--tap-size);box-sizing:border-box;padding:0 var(--space-3);font-size:var(--fs-base);background:var(--bg-inset);color:var(--text-main);outline:none}.op-comment-input::placeholder{color:var(--text-muted)}.op-comment-input:focus,.op-comment-input:focus-visible{outline:none;border-color:var(--text-main);box-shadow:none}.order-sheet{position:relative;background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card-lg);overflow:hidden;margin-bottom:var(--space-2)}.sheet-head{padding:var(--space-4)}.sheet-patient{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.01em;color:var(--text-main);margin-top:2px;overflow-wrap:anywhere}.sheet-items{margin-top:2px}.sheet-item{font-size:var(--fs-base);font-weight:400;color:var(--text-2);overflow-wrap:anywhere}.sheet-item span{color:var(--text-sub)}.sheet-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-3)}.sheet-tile{min-width:0;background:var(--bg-inset);border-radius:var(--radius-inner);padding:var(--space-2) var(--space-3)}.sheet-tile span{display:block;font-size:var(--fs-xs);font-weight:500;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-tile b{display:block;font-size:var(--fs-md);font-weight:600;color:var(--text-main);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-tile b.is-overdue{color:var(--status-overdue);font-weight:700}@container (max-width:22rem){.sheet-tiles{grid-template-columns:1fr 1fr}}.sheet-section{border-top:1px solid var(--border);padding:var(--space-3) var(--space-4) var(--space-4)}.order-sheet > .sheet-section:first-child{border-top:none}.sheet-label{font-size:var(--fs-base);font-weight:700;color:var(--text-main)}.sheet-label span{font-weight:600;color:var(--text-sub)}.sheet-label-block{margin-bottom:var(--space-2)}.sheet-toggle{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--tap-size);cursor:pointer;user-select:none}.ops-section{padding:0}.ops-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--tap-size);padding:0 var(--space-4);border-bottom:1px solid var(--border)}.ops-count{font-size:var(--fs-sm);font-weight:600;color:var(--text-sub);white-space:nowrap}.ops-count b{font-weight:700;color:var(--text-main)}.ops-empty{color:var(--text-muted);font-size:var(--fs-base);padding:var(--space-3) var(--space-4)}.ops-route{position:relative}.ops-line{position:absolute;left:calc(var(--route-col) / 2 + var(--space-2) - 1.5px);width:3px;border-radius:2px;pointer-events:none}.ops-line-done{background:var(--text-main);transition:height .3s ease}.ops-line-rest{background:var(--border-card)}@media (prefers-reduced-motion:reduce){.ops-line-done{transition:none}}.op-col{position:relative;z-index:1;flex-shrink:0;width:var(--route-col);display:flex;align-items:center;justify-content:center;align-self:stretch}.ops-done-toggle{width:100%;display:flex;align-items:center;gap:var(--space-2);min-height:calc(var(--tap-size) + var(--space-2));padding:0 var(--space-1) 0 var(--space-2);border:none;border-bottom:1px solid var(--border);background:none;font:inherit;font-size:var(--fs-md);font-weight:500;color:var(--text-sub);cursor:pointer;text-align:left}.ops-done-toggle > span:not(.op-col):not(.group-arrow){flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-done-toggle .op-stack{display:flex;flex-direction:column;gap:3px}.ops-done-toggle .op-stack i{display:block;width:var(--dot-size);height:var(--dot-size);border-radius:50%;background:var(--text-main)}.ops-done .op-row{opacity:.7}.ops-done .op-name{color:var(--text-muted);text-decoration:line-through;font-weight:400}.op-row{position:relative;display:flex;align-items:center;gap:var(--space-2);min-height:calc(var(--tap-size) + var(--space-2));padding:0 var(--space-3) 0 var(--space-2);border-bottom:1px solid var(--border)}.op-row:last-child{border-bottom:none}.op-circle{position:relative;box-sizing:border-box;width:var(--dot-size);height:var(--dot-size);border-radius:50%;border:2.5px solid var(--border-card);background:var(--bg-card);display:flex;align-items:center;justify-content:center;font-size:0}.op-circle.done{background:var(--text-main);border-color:var(--text-main)}.op-circle.done.queued{background:var(--status-today);border-color:var(--status-today)}.op-name{flex:1 1 auto;min-width:0;font-size:var(--fs-md);font-weight:400;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-qty{font-weight:400;color:var(--text-sub)}.op-tech{font-weight:400;color:var(--text-sub);white-space:nowrap}.op-now{position:relative;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-2);background:var(--bg-now);border-top:1px solid var(--border-now);border-bottom:1px solid var(--border-now)}.op-now-dot{position:relative;width:var(--op-circle);height:var(--op-circle);border-radius:50%;box-sizing:border-box;background:var(--brand-primary);border:4px solid var(--bg-card);box-shadow:0 0 0 2px var(--brand-primary)}.op-now-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.op-now-label{font-size:var(--fs-xs);font-weight:700;color:var(--brand-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-now-name{font-size:var(--fs-lg);font-weight:600;color:var(--text-main);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-now-meta{font-size:var(--fs-sm);font-weight:400;color:var(--text-sub);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.op-check,.op-mark-btn{width:var(--tap-size);height:var(--tap-size);margin:0;padding:0;flex-shrink:0;box-sizing:border-box;border-radius:var(--radius-btn);border:2px solid var(--text-main);background:var(--bg-card);display:flex;align-items:center;justify-content:center;color:var(--text-on-dark);font-size:var(--fs-lg);font-weight:700;cursor:pointer;transition:background .2s,transform .1s}.op-mark-btn{border:1.5px solid var(--border-card)}.op-check:active,.op-mark-btn:active{transform:scale(.94)}.op-check.done,.op-mark-btn.done{background:var(--text-main);border-color:var(--text-main)}.op-check.done::after,.op-mark-btn.done::after{content:'✓'}.op-check.queued{border-color:var(--status-today);background:var(--status-today-bg);color:var(--status-today)}.op-check:disabled:not(.done),.op-mark-btn:disabled:not(.done){opacity:.5;cursor:default}.op-end-square{width:var(--dot-size);height:var(--dot-size);border-radius:3px;box-sizing:border-box;border:2.5px solid var(--border-card);background:var(--bg-card)}.op-end-square.done{background:var(--text-main);border-color:var(--text-main)}.op-end-text{flex:1 1 auto;min-width:0;font-size:var(--fs-xs);font-weight:600;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-deliver{padding:var(--space-3) var(--space-4) var(--space-4)}.btn-deliver{width:100%;min-height:calc(var(--tap-size) + var(--space-1));padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-btn);font:inherit;font-size:var(--fs-base);font-weight:700;background:var(--brand-primary);color:var(--text-on-accent);cursor:pointer}.btn-deliver:active{transform:scale(.98)}.btn-deliver:disabled{background:var(--bg-muted);color:var(--text-muted);cursor:default;transform:none}.btn-deliver-hint{font-size:var(--fs-sm);font-weight:500;color:var(--text-sub);text-align:center;margin-top:var(--space-1)}.op-comments-body{max-height:0;overflow:hidden;transition:max-height .3s ease}.cmt{padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.cmt:last-child{border-bottom:none}.cmt-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--fs-sm);margin-bottom:2px}.cmt-author{font-weight:600;color:var(--text-sub);min-width:0;overflow-wrap:anywhere}.cmt-role{font-size:var(--fs-2xs);color:var(--text-muted);font-weight:500}.cmt-date{color:var(--text-sub);white-space:nowrap;flex-shrink:0}.cmt-text{font-size:var(--fs-base);color:var(--text-main);overflow-wrap:anywhere}.cmt-empty{color:var(--text-muted);font-size:var(--fs-base);padding:var(--space-1) 0}.comment-form{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-2)}@media (prefers-reduced-motion:reduce){.op-check,.op-mark-btn,.op-comments-body,.btn-deliver{transition:none}}.op-file-drop{margin-top:var(--space-3);border:1.5px dashed var(--border-card);border-radius:var(--radius-btn);min-height:calc(var(--tap-min) + 2px);padding:var(--space-2) var(--space-3);display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:none;color:var(--text-main);font-size:var(--fs-base);font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.op-file-drop.drag-over{border-color:var(--brand-primary);background:var(--bg-now);border-style:solid}.op-file-drop svg{flex-shrink:0;width:clamp(1.125rem,1.0417rem + 0.37vw,1.25rem);height:clamp(1.125rem,1.0417rem + 0.37vw,1.25rem);color:var(--text-sub)}.file-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.file-row.is-unbound{align-items:flex-start}.file-ico{flex-shrink:0;width:clamp(2rem,1.8333rem + 0.74vw,2.5rem);height:clamp(2rem,1.8333rem + 0.74vw,2.5rem);border-radius:var(--radius-inner);background:var(--bg-inset);color:var(--text-sub);display:flex;align-items:center;justify-content:center}.file-ico.is-small{width:clamp(1.625rem,1.5rem + 0.56vw,1.875rem);height:clamp(1.625rem,1.5rem + 0.56vw,1.875rem);margin-top:1px}.file-main{flex:1 1 auto;min-width:0}.file-name{font-size:var(--fs-base);font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:var(--fs-xs);color:var(--text-sub)}.file-bind-btn{display:block;width:100%;text-align:left;margin-top:var(--space-1);padding:var(--space-2);border-radius:var(--radius-inner);border:1px solid var(--border-card);background:var(--bg-card);font-size:var(--fs-sm);font-weight:500;color:var(--text-main);cursor:pointer}.file-bind-btn.is-suggest{background:var(--bg-now);border-color:var(--border-now);color:var(--brand-text-strong)}.file-sep{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.file-sep.is-dashed{border-top-style:dashed;border-top-color:var(--border-card)}.mill-row{padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.dash-head{background:var(--surface-dark);color:var(--text-on-dark);border-radius:var(--radius-card);padding:var(--space-4);margin-bottom:var(--space-2)}.dash-hero{position:relative}.dash-hero-label{font-size:var(--fs-sm);font-weight:600;color:var(--text-on-dark-sub)}.dash-hero-num{font-size:var(--fs-hero);font-weight:700;line-height:.95;letter-spacing:-.04em;margin-top:var(--space-1);color:var(--brand-primary)}.dash-hero-unit{font-size:var(--fs-md);font-weight:600;letter-spacing:0;color:var(--text-on-dark)}.dash-hero-sub{font-size:var(--fs-sm);font-weight:600;color:var(--accent-on-dark);margin-top:var(--space-2)}.dash-hero-sub.is-ok{color:var(--text-on-dark-sub);font-weight:500}.dash-hero-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1);margin-top:var(--space-3)}.dash-tile{min-width:0;background:var(--surface-dark-2);border-radius:var(--radius-btn);padding:var(--space-2) var(--space-3)}.dash-tile .dash-label{color:var(--text-on-dark-sub)}.dash-money-num{font-size:var(--fs-xl);font-weight:700;color:var(--text-on-dark);letter-spacing:-.01em;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2)}.dash-row{display:flex;gap:var(--space-2)}.dash-row > .dash-card{flex:1 1 0;min-width:0}.dash-label{font-size:var(--fs-xs);font-weight:600;color:var(--text-sub)}.dash-card-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);min-height:var(--tap-min)}.dash-card-head .dash-label{font-size:var(--fs-base);font-weight:700;color:var(--text-main);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-week-sum{font-size:var(--fs-sm);font-weight:500;color:var(--text-sub);white-space:nowrap;flex-shrink:0}.dash-week-sum b{font-weight:700;color:var(--text-main)}.earn-chart{position:relative;display:flex;align-items:flex-start;gap:var(--space-2)}.earn-plot{flex:1 1 auto;min-width:0}.earn-bars{position:relative;display:flex;align-items:flex-end;gap:var(--space-2);height:var(--chart-h);border-bottom:2px solid var(--text-main)}.earn-line{position:absolute;left:0;right:0;border-top:1px dashed var(--border-card);pointer-events:none}.earn-line-max{top:0}.earn-line-mid{top:50%}.earn-bar-col{flex:1 1 0;min-width:0;height:100%;padding:0 2px;display:flex;align-items:flex-end;justify-content:center;cursor:pointer;border-radius:var(--radius-inner)}.earn-bar{width:100%;min-height:2px;border-radius:3px 3px 0 0;background:var(--text-main);transition:height .5s cubic-bezier(.4,0,.2,1)}.earn-bar-col.is-today .earn-bar{background:var(--brand-primary)}.earn-days{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.earn-day{flex:1 1 0;min-width:0;text-align:center;font-size:var(--fs-xs);font-weight:500;color:var(--text-sub)}.earn-day.is-today{color:var(--brand-text-strong);font-weight:700}.earn-axis{position:relative;width:3.6em;flex-shrink:0;white-space:nowrap;height:var(--chart-h);font-size:var(--fs-2xs);font-weight:600;color:var(--text-sub);line-height:1}.earn-axis-max{position:absolute;top:-1.3em;left:0;right:0}.earn-axis-mid{position:absolute;top:calc(50% - 1.3em);left:0;right:0;opacity:.75}.earn-tip{position:absolute;z-index:5;pointer-events:none;white-space:nowrap;background:var(--surface-dark);color:var(--text-on-dark);padding:var(--space-1) var(--space-2);border-radius:var(--radius-inner);font-size:var(--fs-xs);font-weight:600}.earn-chart.is-dense .earn-bars,.earn-chart.is-dense .earn-days{gap:2px}.earn-chart.is-dense .earn-bar-col{padding:0}.earn-chart.is-dense .earn-day{overflow:visible;white-space:nowrap}.dash-period-tabs{margin-bottom:var(--space-2)}.dash-note{font-size:var(--fs-xs);color:var(--text-muted);margin-top:var(--space-2)}.dash-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.dash-kpi{min-width:0;background:var(--bg-inset);border-radius:var(--radius-inner);padding:var(--space-2) var(--space-3)}.dash-kpi-label{font-size:var(--fs-xs);font-weight:500;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-kpi-num{font-size:var(--fs-lg);font-weight:700;color:var(--text-main);letter-spacing:-.01em;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-kpi-delta{font-size:var(--fs-xs);font-weight:600;color:var(--text-sub);margin-top:2px}.dash-kpi-delta.is-up{color:var(--status-ok)}.hist-right.is-when{color:var(--text-sub);font-weight:600}.hist-right.is-when.is-soon{color:var(--status-today);font-weight:700}.dash-acc{padding:0}.dash-acc-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--tap-size);padding:0 var(--space-2) 0 var(--space-4);cursor:pointer;user-select:none}.dash-acc-title{font-size:var(--fs-base);font-weight:700;color:var(--text-main);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-acc-title span{color:var(--text-sub);font-weight:600}.dash-acc-body{border-top:1px solid var(--border);padding:var(--space-1) var(--space-4) var(--space-3)}.hist-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:var(--space-2) 0;border-bottom:1px solid var(--border);cursor:pointer}.hist-row:last-child{border-bottom:none}.hist-main{flex:1 1 auto;min-width:0}.hist-op{font-size:var(--fs-base);font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hist-meta{font-size:var(--fs-xs);color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hist-right{flex-shrink:0;text-align:right;font-size:var(--fs-sm);font-weight:700;color:var(--status-ok);white-space:nowrap}.hist-empty{font-size:var(--fs-base);color:var(--text-muted);text-align:center;padding:var(--space-2) 0}.stat-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0}.stat-name{flex:0 0 6em;font-size:var(--fs-sm);color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-track{flex:1 1 auto;min-width:0;height:6px;border-radius:3px;background:var(--bg-inset);overflow:hidden}.stat-fill{height:100%;border-radius:3px;background:var(--text-main)}.stat-count{flex:0 0 2em;text-align:right;font-size:var(--fs-base);font-weight:700;color:var(--text-main)}@media (prefers-reduced-motion:reduce){.earn-bar,.scope-tab,.card-tab,.attn-filter{transition:none}}.empty{text-align:center;padding:var(--space-5) var(--space-4);color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card)}.empty svg{width:3rem;height:3rem;margin-bottom:var(--space-3);opacity:.4}.loading-text{text-align:center;padding:var(--space-5);color:var(--text-muted)}.btn-retry{width:auto;padding:0 var(--space-4);font-size:var(--fs-base);font-weight:600;margin:var(--space-3) auto 0}.skeleton{background:var(--border);border-radius:var(--radius-inner);min-height:var(--tap-min)}#summary-content{position:relative;z-index:1;container:sumpage / inline-size}.sum-head{margin-bottom:var(--space-2)}.sum-title{font-size:var(--fs-xl);font-weight:800;color:var(--text-main);letter-spacing:-.01em;line-height:1.2}.sum-beta{display:inline-block;vertical-align:middle;margin-left:var(--space-2);padding:.2em var(--space-1);border-radius:var(--radius-btn);background:var(--badge-neutral-bg);color:var(--badge-neutral-text);font-size:var(--fs-2xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1.2}.sum-wip{display:inline-block;vertical-align:middle;margin-left:var(--space-1);padding:.15em var(--space-1);border-radius:var(--radius-btn);background:var(--status-today-bg);color:var(--status-today);font-size:var(--fs-2xs);font-weight:800;letter-spacing:.04em;text-transform:none;line-height:1.2;white-space:nowrap}.sum-sub{font-size:var(--fs-sm);color:var(--text-sub);margin-top:2px;overflow-wrap:anywhere}.sum-filters{display:flex;align-items:flex-end;gap:var(--space-2);margin-bottom:var(--space-3)}.sum-filters .sum-tabs{flex:1 1 auto;min-width:0;margin-bottom:0}.sum-icon-btn{flex-shrink:0;width:var(--tap-size);height:var(--tap-size);padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-card);border-radius:var(--radius-btn);background:var(--bg-card);color:var(--text-main);cursor:pointer}.sum-icon-btn svg{width:clamp(1.125rem,1.0417rem + 0.37vw,1.25rem);height:clamp(1.125rem,1.0417rem + 0.37vw,1.25rem)}.sum-icon-btn:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.sum-custom{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2);margin-bottom:var(--space-2)}.sum-date{flex:1 1 9rem;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-xs);font-weight:700;color:var(--text-sub)}.sum-date input{width:100%;min-width:0;height:var(--tap-size);padding:0 var(--space-2);border:1px solid var(--border-card);border-radius:var(--radius-btn);background:var(--bg-card);font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text-main)}.sum-btn{flex-shrink:0;min-height:var(--tap-size);padding:0 var(--space-4);border:none;border-radius:var(--radius-btn);cursor:pointer;background:var(--brand-primary);color:var(--brand-light);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:700}.sum-btn-sec{flex-shrink:0;min-height:var(--tap-min);padding:0 var(--space-3);border:1px solid var(--border-card);border-radius:var(--radius-btn);background:none;cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:700;color:var(--text-main)}.sum-custom-error{font-size:var(--fs-sm);font-weight:600;color:var(--status-overdue);margin-bottom:var(--space-2)}.sum-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2);align-items:start;transition:opacity .2s ease}.sum-grid.is-refreshing{opacity:.55}@container sumpage (min-width:56rem){.sum-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.sum-card.is-wide{grid-column:1 / -1}}.sum-card{min-width:0;background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-card)}.sum-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:var(--tap-size);padding:0 var(--space-3) 0 var(--space-4);border:0;background:none;cursor:pointer;text-align:left;font-family:var(--font-sans)}.sum-card-head:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px;border-radius:var(--radius-card)}.sum-card-title{font-size:var(--fs-sm);font-weight:700;color:var(--text-main);min-width:0}.sum-card-body{container:sumcard / inline-size;padding:0 var(--space-4) var(--space-4)}.sum-loading,.sum-empty{font-size:var(--fs-base);color:var(--text-muted);padding:var(--space-2) 0}.sum-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--fs-base);color:var(--status-overdue);padding:var(--space-1) 0}.sum-error > span{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.sum-subtitle{font-size:var(--fs-xs);font-weight:700;color:var(--text-sub);letter-spacing:.08em;text-transform:uppercase;margin:var(--space-4) 0 var(--space-1)}.sum-note{font-size:var(--fs-sm);color:var(--text-sub);margin:var(--space-1) 0;overflow-wrap:anywhere}.sum-note b{color:var(--text-main)}.sum-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}@container sumcard (min-width:40rem){.sum-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.sum-tile{min-width:0;border:1px solid var(--border);border-radius:var(--radius-inner);padding:var(--space-3)}.sum-tile-label{font-size:var(--fs-xs);font-weight:700;color:var(--text-sub);letter-spacing:.08em;text-transform:uppercase}.sum-tile-value{font-size:var(--fs-xl);font-weight:800;color:var(--text-main);letter-spacing:-.01em;margin-top:var(--space-1);overflow-wrap:anywhere}.sum-tile-foot{display:flex;flex-wrap:wrap;gap:2px var(--space-2);margin-top:var(--space-1);font-size:var(--fs-xs);color:var(--text-sub)}.sum-delta-wrap{white-space:nowrap}.sum-delta{font-weight:800}.sum-delta.is-good{color:var(--status-ok)}.sum-delta.is-bad{color:var(--status-overdue)}.sum-delta.is-flat{color:var(--text-muted)}.sum-row{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.sum-row:last-child{border-bottom:0}.sum-row.is-link{cursor:pointer}.sum-row.is-link:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px;border-radius:var(--radius-btn)}.sum-row.is-head{padding:var(--space-1) 0;font-size:var(--fs-2xs);font-weight:700;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.sum-row.is-head .sum-row-name,.sum-row.is-head .sum-row-val,.sum-row.is-head .sum-row-extra{font-size:inherit;font-weight:inherit;color:inherit}.sum-row-name{flex:1 1 auto;min-width:0;font-size:var(--fs-base);font-weight:600;color:var(--text-main);overflow-wrap:anywhere}.sum-row-sub{display:block;font-size:var(--fs-xs);font-weight:500;color:var(--text-sub);margin-top:2px}.sum-row-val{flex-shrink:0;max-width:50%;text-align:right;font-size:var(--fs-base);font-weight:700;color:var(--text-main);white-space:nowrap;font-variant-numeric:tabular-nums}.sum-row-note{display:block;font-size:var(--fs-xs);font-weight:600;color:var(--text-sub);margin-top:2px}.sum-row-extra{display:none;flex:0 0 6.5em;text-align:right;font-size:var(--fs-sm);font-weight:600;color:var(--text-sub);white-space:nowrap;font-variant-numeric:tabular-nums}@container sumcard (min-width:32rem){.sum-row-extra{display:block}}.sum-meter{display:block;height:calc(var(--bar-thin) / 2);margin-top:var(--space-1);background:var(--border);border-radius:var(--radius-btn);overflow:hidden}.sum-meter-fill{display:block;height:100%;background:var(--text-main);border-radius:var(--radius-btn)}.sum-band{display:flex;gap:2px;height:var(--bar-thin);margin-top:var(--space-3)}.sum-band-seg{flex:1 1 0;min-width:2px;border-radius:4px}.sum-band-seg.is-ok,.sum-key.is-seg.is-ok{background:var(--status-ok)}.sum-band-seg.is-mid,.sum-key.is-seg.is-mid{background:var(--status-today)}.sum-band-seg.is-bad,.sum-key.is-seg.is-bad{background:var(--status-overdue)}.sum-band-seg.is-worst,.sum-key.is-seg.is-worst{background:var(--status-overdue-chip)}.sum-legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin-top:var(--space-2);font-size:var(--fs-xs);color:var(--text-sub)}.sum-legend-item{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.sum-legend-item b{color:var(--text-main);font-weight:700}.sum-key{display:inline-block;flex-shrink:0;width:var(--space-3);height:var(--space-2);border-radius:2px}.sum-key.is-bar{background:var(--brand-primary)}.sum-key.is-prev{height:2px;background:var(--text-sub)}.sum-chart-head{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin-bottom:var(--space-3);font-size:var(--fs-sm);color:var(--text-sub)}.sum-chart-head b{color:var(--text-main);font-weight:800}.sum-chart{position:relative;display:flex;align-items:flex-start;gap:var(--space-2)}.sum-plot{flex:1 1 auto;min-width:0}.sum-bars{position:relative;display:flex;align-items:flex-end;gap:2px;height:var(--chart-h-lg);border-bottom:1px solid var(--border-card)}.sum-grid-line{position:absolute;left:0;right:0;border-top:1px solid var(--border);pointer-events:none}.sum-grid-line.is-max{top:0}.sum-grid-line.is-mid{top:50%}.sum-col{position:relative;flex:1 1 0;min-width:0;height:100%;display:flex;align-items:flex-end;justify-content:center;cursor:pointer}.sum-col:focus-visible{outline:2px solid var(--brand-primary);outline-offset:1px;border-radius:4px}.sum-bar{display:block;width:100%;max-width:1.5rem;background:var(--brand-primary);border-radius:4px 4px 0 0;transition:opacity .15s ease}.sum-col.is-active .sum-bar,.sum-col:hover .sum-bar{opacity:.75}.sum-bar-prev{position:absolute;left:50%;transform:translateX(-50%);width:100%;max-width:1.5rem;height:2px;background:var(--text-sub);pointer-events:none}.sum-xs{display:flex;gap:2px;margin-top:var(--space-1)}.sum-x{flex:1 1 0;min-width:0;overflow:visible;white-space:nowrap;font-size:var(--fs-2xs);font-weight:600;color:var(--text-muted);text-align:center}.sum-axis{position:relative;flex-shrink:0;width:3.5em;height:var(--chart-h-lg);font-size:var(--fs-2xs);font-weight:700;color:var(--text-sub);line-height:1;font-variant-numeric:tabular-nums}.sum-axis-max{position:absolute;top:0;left:0}.sum-axis-mid{position:absolute;top:calc(50% - .5em);left:0}.sum-chart .earn-tip{top:0}.sum-matrix-wrap{overflow-x:auto;margin:0 calc(var(--space-4) * -1)}.sum-matrix-wrap:focus-visible{outline:2px solid var(--brand-primary);outline-offset:-2px}.sum-matrix{width:100%;border-collapse:separate;border-spacing:2px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.sum-matrix th,.sum-matrix td{padding:var(--space-1) var(--space-2);white-space:nowrap;text-align:right;border-radius:4px}.sum-matrix thead th{font-size:var(--fs-2xs);font-weight:700;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.sum-matrix th[scope="row"],.sum-matrix thead th:first-child{position:sticky;left:0;z-index:1;text-align:left;background:var(--bg-card);box-shadow:0 0 0 2px var(--bg-card);border-radius:0;padding-left:var(--space-4);max-width:11em;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:var(--text-main)}.sum-matrix tr >:last-child{padding-right:var(--space-4)}.sum-matrix td{color:var(--text-main)}.sum-matrix .is-total,.sum-matrix tfoot td,.sum-matrix tfoot th{font-weight:800}.sum-notes{margin:var(--space-4) 0 var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--border-card);border-radius:var(--radius-card);background:var(--bg-card)}.sum-notes .sum-subtitle{margin-top:0}.sum-notes ul{padding-left:var(--space-4);font-size:var(--fs-sm);color:var(--text-sub)}.sum-notes li + li{margin-top:var(--space-1)}.sum-sheet{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;background:rgba(29,21,15,.35)}.sum-sheet[hidden]{display:none}.sum-sheet-card{max-height:85vh;overflow-y:auto}.sum-checks{display:flex;flex-direction:column;margin-top:var(--space-2)}.sum-check{display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap-min);font-size:var(--fs-base);font-weight:600;color:var(--text-main);cursor:pointer;border-bottom:1px solid var(--border)}.sum-check:last-child{border-bottom:0}.sum-check input{-webkit-appearance:checkbox;appearance:auto;width:1.25rem;height:1.25rem;flex-shrink:0;accent-color:var(--brand-primary)}@media (prefers-reduced-motion:reduce){.sum-grid,.sum-bar{transition:none}}