.layout{display:flex;min-height:100vh;background:var(--color-bg)}.layout__sidebar{width:220px;flex-shrink:0;background:#ffffffeb;border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;box-shadow:1px 0 #ffffffb3}.layout__brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--color-border)}.layout__brand-mark{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--color-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.02em;font-family:var(--font-mono);box-shadow:0 8px 18px #c92a2a2e}.layout__brand-name{font-size:14px;font-weight:700}.layout__notice{margin:var(--space-3);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-ink);border-radius:var(--radius-sm);padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);cursor:pointer;text-align:left;box-shadow:0 1px 2px #10182808;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.layout__notice:hover{background:var(--color-bg-raised);border-color:var(--color-border-strong);box-shadow:var(--shadow-card)}.layout__notice-copy{min-width:0;display:grid;gap:2px}.layout__notice-title{font-size:13px;font-weight:700}.layout__notice-detail{max-width:146px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-secondary);font-size:11px;font-weight:500}.layout__notice strong{flex-shrink:0;min-width:22px;height:22px;border-radius:999px;background:var(--color-border-strong);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.layout__notice--danger{border-color:var(--color-negative);color:var(--color-negative);background:var(--color-negative-soft)}.layout__notice--danger .layout__notice-detail{color:var(--color-negative)}.layout__notice--danger strong{background:var(--color-negative)}.layout__nav{flex:1;padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto}.layout__nav-group{display:flex;flex-direction:column;gap:4px}.layout__nav-standalone{padding:9px 10px;border-radius:var(--radius-sm);border:1px solid transparent;color:var(--color-ink-soft);font-size:13px;font-weight:700;transition:background .15s ease,border-color .15s ease,color .15s ease}.layout__nav-standalone:hover{background:var(--color-bg-subtle);color:var(--color-ink)}.layout__nav-standalone--active{background:#fff8f8;border-color:#c92a2a2e;color:var(--color-brand)}.layout__nav-group-toggle{width:100%;border:0;background:transparent;color:var(--color-secondary);border-radius:var(--radius-sm);padding:7px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;text-align:left;cursor:pointer;font-size:12px;font-weight:700}.layout__nav-group-toggle:hover{background:var(--color-bg-subtle);color:var(--color-ink)}.layout__nav-group-toggle--active{color:var(--color-brand)}.layout__nav-group-count{min-width:18px;height:18px;border-radius:999px;background:var(--color-bg-subtle);color:var(--color-secondary);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.layout__nav-group-arrow{width:14px;display:inline-flex;justify-content:center;color:var(--color-secondary);font-size:11px;transition:transform .15s ease}.layout__nav-group-arrow--collapsed{transform:rotate(-90deg)}.layout__nav-group-items{display:flex;flex-direction:column;gap:var(--space-1)}.layout__nav-item{padding:8px 12px 8px 18px;border-radius:var(--radius-sm);border:1px solid transparent;color:var(--color-ink-soft);font-size:13px;font-weight:500;transition:background .15s ease,border-color .15s ease,color .15s ease}.layout__nav-item:hover{background:var(--color-bg-subtle);color:var(--color-ink)}.layout__nav-item--active{background:#fff8f8;border-color:#c92a2a2e;color:var(--color-brand);font-weight:700}.layout__user{padding:var(--space-4);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.layout__user-name{font-size:13px;font-weight:600}.layout__user-role{font-size:11px;color:var(--color-secondary)}.layout__logout{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:5px 10px;font-size:12px;color:var(--color-ink-soft);cursor:pointer}.layout__logout:hover{background:var(--color-bg-subtle);border-color:var(--color-border-strong)}.layout__content{flex:1;padding:var(--space-6);min-width:0;background:var(--color-bg)}@media (max-width: 768px){.layout{flex-direction:column}.layout__sidebar{width:100%;height:auto;position:relative;flex-direction:row;align-items:center;overflow-x:auto}.layout__brand{border-bottom:none;border-right:1px solid var(--color-border)}.layout__notice{margin:var(--space-2);min-width:150px}.layout__nav{flex-direction:row;padding:var(--space-2)}.layout__nav-group{min-width:128px}.layout__nav-group-toggle{white-space:nowrap}.layout__user{border-top:none;border-left:1px solid var(--color-border)}.layout__content{padding:var(--space-4)}}.logistics-todo-list{display:grid;gap:var(--space-2)}.logistics-todo-list--scroll{max-height:min(68vh,720px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.logistics-todo-card{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:6px}.logistics-todo-card--compact{grid-template-columns:1fr}.logistics-todo-head{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin-bottom:6px}.logistics-todo-message,.logistics-alert-message{font-size:13px;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.logistics-todo-meta,.logistics-alert-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:4px 12px;font-size:12px;color:var(--color-secondary)}.logistics-todo-meta>div,.logistics-alert-meta>div{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logistics-todo-meta-wide,.logistics-alert-meta-wide{grid-column:1 / -1;white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.logistics-todo-actions{display:flex;gap:var(--space-2);justify-content:flex-end;align-items:center;flex-wrap:wrap}.logistics-todo-card--compact .logistics-todo-actions{justify-content:flex-start}.logistics-alert-modal-list{display:grid;gap:var(--space-2);max-height:min(56vh,420px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px;margin-bottom:16px}.logistics-alert-card{border:1px solid var(--color-negative);border-left:4px solid var(--color-negative);border-radius:6px;padding:var(--space-3);background:#dc26260a}.logistics-alert-head{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center;margin-bottom:8px}.logistics-alert-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:10px;flex-wrap:wrap}@media (max-width: 768px){.logistics-todo-list--scroll{max-height:64vh}.logistics-todo-card{grid-template-columns:1fr}.logistics-todo-actions,.logistics-alert-actions{justify-content:flex-start}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:var(--space-5)}.login-box{width:100%;max-width:360px;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-7) var(--space-6);box-shadow:0 20px 60px #1018281a}.login-box__brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.login-box__mark{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--color-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;font-family:var(--font-mono);box-shadow:0 10px 22px #c92a2a33}.login-box__title{font-size:17px;font-weight:700}.login-box__subtitle{font-size:12px;color:var(--color-secondary)}.login-box__submit{width:100%;padding:10px;margin-top:var(--space-2)}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-6);align-items:center;padding:var(--space-4) var(--space-5);background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-5);box-shadow:var(--shadow-card)}.filter-bar__group{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.filter-bar__group--datetime{align-items:flex-end}.filter-bar__label{font-size:12px;font-weight:600;color:var(--color-secondary);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.filter-bar__group--datetime .filter-bar__label{align-items:center;display:inline-flex;height:32px}.filter-bar__presets{align-items:center;display:flex;gap:var(--space-1);background:var(--color-bg);box-sizing:border-box;height:32px;padding:2px;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.filter-bar__group--datetime .filter-bar__presets{align-self:flex-end}.preset-btn{border:none;background:transparent;align-items:center;box-sizing:border-box;display:inline-flex;height:26px;justify-content:center;padding:5px 12px;border-radius:3px;cursor:pointer;font-size:13px;color:var(--color-ink-soft);transition:background .15s ease,color .15s ease}.preset-btn:hover{background:var(--color-bg-subtle)}.preset-btn--active{background:var(--color-brand);color:#fff;font-weight:500}.preset-btn--active:hover{background:var(--color-brand)}.filter-bar__custom-dates{display:flex;align-items:center;gap:var(--space-2)}.filter-bar__custom-dates--datetime{align-items:flex-end}.filter-bar__custom-dates .preset-btn{align-items:center;box-sizing:border-box;display:inline-flex;height:32px;justify-content:center}.filter-bar__date-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);box-sizing:border-box;height:32px;padding:5px 8px;font-family:var(--font-mono);font-size:13px;background:var(--color-bg-raised)}.filter-bar__time-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);box-sizing:border-box;font-family:var(--font-mono);font-size:13px;height:32px;min-width:92px;padding:5px 8px;background:var(--color-bg-raised)}.filter-bar__datetime-field{display:inline-flex}.filter-bar__datetime-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);box-sizing:border-box;font-family:var(--font-mono);font-size:13px;height:32px;min-width:190px;padding:5px 8px;background:var(--color-bg-raised)}.filter-bar__custom-dates--datetime .filter-bar__date-sep{align-items:center;align-self:flex-end;display:inline-flex;height:32px}.filter-bar__date-sep{color:var(--color-secondary);font-size:13px}.filter-bar__select{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 10px;font-size:13px;background:var(--color-bg-raised);cursor:pointer}@media (max-width: 768px){.filter-bar{flex-direction:column;align-items:stretch}.filter-bar__group{justify-content:space-between}}.stat-card{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-card);position:relative;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.stat-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.stat-card:before{content:"";display:block;width:28px;height:3px;border-radius:999px;background:var(--color-brand);opacity:.72;margin-bottom:var(--space-3)}.stat-card__label{font-size:12px;color:var(--color-secondary);font-weight:600;letter-spacing:0;margin-bottom:var(--space-2)}.stat-card__value{font-size:29px;font-weight:700;line-height:1.1;color:var(--color-ink)}.stat-card__sublabel{font-size:12px;color:var(--color-secondary);margin-top:var(--space-2)}.data-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;font-size:13px;box-shadow:var(--shadow-card)}.data-table thead th{text-align:left;padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);font-weight:600;color:var(--color-ink-soft);font-size:12px;letter-spacing:0;white-space:nowrap}.data-table tbody td{padding:11px var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-ink);white-space:nowrap;background:var(--color-bg-raised)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover,.data-table tbody tr:hover td{background:var(--color-bg-subtle)}.data-table tbody tr.data-table__row--selected{outline:2px solid rgba(201,42,42,.28);outline-offset:-2px;background:var(--color-brand-soft)}.data-table tbody tr.data-table__row--selected:hover,.data-table tbody tr.data-table__row--selected td{background:var(--color-brand-soft)}.data-table tbody tr.data-table__row--manual-refund{background:var(--color-negative-soft)}.data-table tbody tr.data-table__row--auto-refund{background:var(--color-warning-soft)}.data-table tbody tr.data-table__row--manual-refund:hover,.data-table tbody tr.data-table__row--auto-refund:hover{filter:brightness(.98)}.order-select-cell{min-width:52px;text-align:center}.order-select-checkbox{width:24px;height:24px;margin:0;cursor:pointer;accent-color:var(--color-brand)}.data-table__empty{padding:var(--space-7) var(--space-4);text-align:center;color:var(--color-secondary);font-size:13px}.table-wrap{max-height:min(68vh,680px);overflow:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-card);scrollbar-gutter:stable both-edges}.table-wrap .data-table{box-shadow:none;min-width:100%;width:max-content}.table-wrap .data-table thead th{position:sticky;top:0;z-index:2}.tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;background:#eef0f4;color:var(--color-ink-soft)}.tag--accent{background:var(--color-success-soft);color:var(--color-success)}.tag--negative{background:var(--color-negative-soft);color:var(--color-negative)}.tag--warning{background:var(--color-warning-soft);color:var(--color-warning)}.customer-action-bar{margin-bottom:var(--space-4);display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;flex-wrap:wrap}.customer-action-bar__buttons,.customer-action-bar__search{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.customer-action-bar__selection{color:var(--color-secondary);font-size:13px;font-weight:600;margin-left:var(--space-2)}.customer-action-bar__search{flex:1 1 360px;justify-content:flex-end}.customer-action-bar__search input{flex:1 1 240px;max-width:420px}.customer-search-input{min-height:35px;padding:8px 10px;border:1px solid var(--color-border-strong);border-radius:4px;font-size:13px}.customer-row-actions{display:flex;gap:var(--space-2);align-items:center}.customer-points-log{margin:0 0 var(--space-4);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-subtle)}.customer-points-log__title{margin-bottom:var(--space-2);color:var(--color-ink-soft);font-size:12px;font-weight:700}.customer-points-log__row{display:grid;grid-template-columns:48px 96px minmax(0,1fr) 72px;gap:var(--space-2);align-items:center;padding:6px 0;border-top:1px solid var(--color-border);color:var(--color-ink);font-size:12px}.customer-points-log__row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 720px){.customer-action-bar,.customer-action-bar__buttons,.customer-action-bar__search,.customer-action-bar__search input,.customer-action-bar__search .btn{width:100%}.customer-action-bar__search{justify-content:stretch}}.modal-box.modal-box--order{width:calc(100vw - 32px);max-width:1040px;overflow-x:hidden}.order-header-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.order-action-bar{align-items:center;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3);padding:8px 10px}.order-search-input{border:1px solid var(--color-border-strong);border-radius:4px;flex:1 1 260px;height:34px;max-width:520px;min-width:220px;padding:6px 9px}.order-status-filter{background:var(--color-bg-raised);border:1px solid var(--color-border-strong);border-radius:4px;color:var(--color-ink);flex:0 0 142px;font-size:13px;height:34px;padding:6px 9px}.order-action-bar__selection{color:var(--color-secondary);flex:1 1 180px;font-size:12px;min-width:150px}.order-table-toolbar{align-items:center;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-2);padding:8px 10px}.order-table-toolbar__summary{color:var(--color-secondary);font-size:12px}.order-table-toolbar__controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2)}.order-table-toolbar__controls label{align-items:center;color:var(--color-ink-soft);display:inline-flex;font-size:12px;font-weight:600;gap:6px}.order-table-toolbar__controls select{border:1px solid var(--color-border-strong);border-radius:4px;font-size:12px;height:30px;padding:4px 8px}.order-table-toolbar__page{color:var(--color-secondary);font-size:12px;min-width:52px;text-align:center}.order-table-wrap{max-height:calc(100vh - 260px);overflow:auto;scrollbar-gutter:stable both-edges}.order-table{font-size:12px;min-width:1858px;table-layout:fixed}.order-table thead th{font-size:11px;padding:7px 8px;position:sticky;top:0;z-index:2}.order-table tbody td{font-size:12px;line-height:1.35;padding:6px 8px;vertical-align:top}.order-table .order-select-cell{min-width:0;padding-left:6px;padding-right:6px}.order-table .order-select-checkbox{height:20px;width:20px}.order-col-select{width:42px}.order-col-time{width:116px}.order-col-number{width:118px}.order-col-type{width:70px}.order-col-sales{width:74px}.order-col-name{width:72px}.order-col-phone{width:110px}.order-col-address{width:220px}.order-col-tracking{width:132px}.order-col-product{width:250px}.order-col-money-sm{width:74px}.order-col-money{width:84px}.order-col-receipt{width:104px}.order-col-payment{width:88px}.order-col-logistics{width:118px}.order-col-shipped-time{width:116px}.order-address-cell{max-width:220px;white-space:normal!important;word-break:break-all}.order-tracking-cell{max-width:132px;overflow-wrap:anywhere;vertical-align:middle!important;white-space:normal!important}.order-logistics-cell{vertical-align:middle!important}.order-status-stack{align-items:flex-start;display:flex;flex-direction:column;gap:3px;justify-content:center;min-height:30px}.order-product-cell-wrap{max-width:250px;min-width:220px;white-space:normal!important}.order-product-cell{display:grid;gap:2px;line-height:1.35;max-width:250px;word-break:break-all}.order-product-cell__main{color:var(--color-ink);font-weight:600}.order-product-cell__addons{color:var(--color-secondary);font-size:11px}.order-status-pill{border-radius:4px;display:inline-flex;align-items:center;justify-content:center;min-height:22px;min-width:58px;padding:2px 8px;font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap}.order-status-pill--neutral{background:#f2f4f7;color:var(--color-ink-soft)}.order-status-pill--info{background:var(--color-accent-soft);color:var(--color-accent)}.order-status-pill--success{background:var(--color-success-soft);color:var(--color-success)}.order-status-pill--negative{background:var(--color-negative-soft);color:var(--color-negative)}.order-status-pill--warning{background:var(--color-warning-soft);color:var(--color-warning)}.order-status-detail{color:var(--color-secondary);font-size:11px;line-height:1.25;white-space:normal}.order-type-tag{border-radius:4px;display:inline-flex;font-size:11px;font-weight:700;line-height:1.2;padding:3px 7px;white-space:nowrap}.order-type-tag--normal{background:#eef0f4;color:var(--color-ink-soft)}.order-type-tag--replacement{background:var(--color-warning-soft);color:var(--color-warning)}.order-items-editor{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:var(--space-4);padding:var(--space-3)}.order-items-editor__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.order-items-editor__title{font-size:13px;font-weight:700}.order-items-editor__hint,.order-items-editor__empty{color:var(--color-secondary);font-size:12px;line-height:1.5}.order-items-editor__row{align-items:end;display:grid;gap:var(--space-2);grid-template-columns:minmax(200px,1fr) 120px 150px 104px 68px;margin-bottom:var(--space-2)}.order-items-editor__row:last-child{margin-bottom:0}.order-items-editor__product,.order-items-editor__quantity,.order-items-editor__sku,.order-items-editor__total{min-width:0}.order-items-editor__product input,.order-items-editor__product select{width:100%}.order-items-editor__section{border-top:1px solid var(--color-border);padding-top:var(--space-3)}.order-items-editor__section+.order-items-editor__section{margin-top:var(--space-3)}.order-items-editor__section-title{color:var(--color-ink-soft);font-size:12px;font-weight:700;margin-bottom:var(--space-2)}.order-items-editor__quantity{min-width:116px}.order-items-editor__sku-value,.order-items-editor__total-value{align-items:center;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;font-size:13px;height:35px;padding:0 var(--space-2);white-space:nowrap}.order-items-editor__total-value{font-family:var(--font-mono);justify-content:center}.order-items-editor__field-label{display:block;color:var(--color-ink-soft);font-size:12px;font-weight:600;margin-bottom:var(--space-1);white-space:nowrap}.quantity-stepper input{min-width:0}.quantity-stepper--compact .btn{padding-left:0;padding-right:0}.order-items-editor__keep{align-items:center;color:var(--color-secondary);display:inline-flex;font-size:12px;height:35px;justify-content:center;width:68px}.order-items-editor__remove{align-items:center;display:inline-flex;height:35px;justify-content:center;width:68px}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (max-width: 640px){.modal-box.modal-box--order{max-width:calc(100vw - 24px);padding:var(--space-4)}.order-items-editor__head{align-items:stretch;flex-direction:column}.order-items-editor__head .btn{width:100%}.order-items-editor__row{grid-template-columns:1fr}.order-items-editor__quantity,.order-items-editor__sku,.order-items-editor__total,.order-items-editor__keep,.order-items-editor__remove{grid-column:auto}.order-items-editor__remove{width:100%}}.sop-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:var(--space-5);align-items:start}.sop-search{margin-bottom:var(--space-4)}.sop-course-list{display:grid;gap:var(--space-2)}.sop-course-item{border:1px solid var(--color-border);background:var(--color-bg-raised);border-radius:var(--radius-sm);padding:var(--space-3)}.sop-course-item--active{border-color:var(--color-accent);background:var(--color-accent-soft)}.sop-course-button{border:0;background:transparent;padding:0;cursor:pointer;text-align:left;width:100%}.sop-day-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.sop-day-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.sop-day-count,.sop-day-empty{color:var(--color-secondary);font-size:13px}.sop-day-count{align-self:center;white-space:nowrap}.sop-day-empty{align-items:center;min-height:34px;display:flex}.sop-day-dot{width:6px;height:6px;border-radius:999px;background:var(--color-success)}.sop-day-new{align-items:center;background:var(--color-warning-soft);border-radius:999px;color:var(--color-warning);display:inline-flex;font-size:11px;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 5px}.tab-btn{align-items:center;display:inline-flex;gap:6px;min-height:34px}@media (max-width: 900px){.sop-layout{grid-template-columns:minmax(0,1fr)}}.daily-log-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:stretch;margin-bottom:var(--space-4)}.daily-log-entry-card{min-width:0;min-height:100%;display:flex;flex-direction:column}.daily-log-entry-hint{min-height:40px;color:var(--color-secondary);font-size:12px;line-height:1.6;margin-bottom:var(--space-4)}.daily-log-entry-form{flex:1;display:flex;flex-direction:column}.daily-log-entry-actions{display:grid;gap:var(--space-3);margin-top:auto}.daily-log-entry-actions .btn{width:100%;min-height:40px}@media (max-width: 980px){.daily-log-entry-grid{grid-template-columns:1fr}.daily-log-entry-hint{min-height:0}}.product-action-bar{margin-bottom:var(--space-4);display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;flex-wrap:wrap}.product-action-bar__buttons{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.product-action-bar__hint{font-size:13px;font-weight:600;color:var(--color-ink-soft)}.system-backup-panel,.system-record-card,.system-detail-card{margin-bottom:var(--space-5)}.system-backup-main,.system-record-head{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;flex-wrap:wrap;margin-bottom:var(--space-4)}.system-section-title{font-size:18px;font-weight:600;margin-bottom:var(--space-2)}.system-backup-status{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;color:var(--color-secondary);font-size:13px}.system-backup-actions,.system-row-actions,.system-filter-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.system-backup-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.system-metric{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--color-bg)}.system-metric span{display:block;color:var(--color-secondary);font-size:12px;font-weight:600;margin-bottom:var(--space-1)}.system-metric strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.system-filter-grid{display:grid;grid-template-columns:150px 150px minmax(220px,1fr) 160px auto;gap:var(--space-3);align-items:end;margin-bottom:var(--space-3)}.system-filter-grid .form-field{margin-bottom:0}.system-filter-keyword input{width:100%}.system-filter-actions{align-items:end;padding-bottom:1px}.system-record-summary{color:var(--color-secondary);font-size:12px;margin-bottom:var(--space-3)}.system-log-list{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-raised)}.system-log-item{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.system-log-item:last-child{border-bottom:none}.system-log-item:hover{background:var(--color-bg)}.system-log-content{min-width:0}.system-log-title{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}.system-log-title strong{font-size:13px;font-weight:600}.system-log-meta{display:flex;gap:var(--space-4);flex-wrap:wrap;color:var(--color-secondary);font-size:12px}@media (max-width: 980px){.system-backup-metrics,.system-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-filter-keyword,.system-filter-actions{grid-column:1 / -1}}@media (max-width: 640px){.system-backup-actions,.system-backup-actions .btn,.system-filter-actions,.system-filter-actions .btn{width:100%}.system-backup-metrics,.system-filter-grid{grid-template-columns:1fr}}:root{--color-bg: #F5F6F8;--color-bg-subtle: #FAFAFB;--color-bg-raised: #FFFFFF;--color-ink: #1D1D1F;--color-ink-soft: #3F454D;--color-secondary: #727A84;--color-border: #E7E9EE;--color-border-strong: #D4D8E0;--color-brand: #C92A2A;--color-brand-hover: #A61E1E;--color-brand-soft: #FFF1F0;--color-link: #2563EB;--color-accent: #2563EB;--color-accent-hover: #1D4ED8;--color-accent-soft: #EEF5FF;--color-success: #15803D;--color-success-soft: #EAF8EF;--color-negative: #B42318;--color-negative-soft: #FDECEC;--color-warning: #A15C07;--color-warning-soft: #FFF4DF;--font-ui: -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Consolas", ui-monospace, monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 6px;--radius-md: 8px;--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .045);--shadow-hover: 0 2px 4px rgba(16, 24, 40, .06), 0 12px 28px rgba(16, 24, 40, .06)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh;background:var(--color-bg)}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}::selection{background:#c92a2a24}a{color:var(--color-link);text-decoration:none}.num{font-family:var(--font-mono);font-feature-settings:"tnum"}.num-positive{color:var(--color-ink)}.num-negative{color:var(--color-negative)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:34px;padding:8px 16px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:13px;font-weight:500;cursor:pointer;box-shadow:none;transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease,box-shadow .15s ease,transform .15s ease;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-brand);color:#fff;box-shadow:0 1px 2px #a61e1e29,0 8px 18px #c92a2a1f}.btn--primary:hover:not(:disabled){background:var(--color-brand-hover)}.btn--secondary{background:var(--color-bg-raised);color:var(--color-ink);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-bg-subtle);border-color:var(--color-border-strong)}.btn--danger{background:var(--color-bg-raised);color:var(--color-negative);border-color:var(--color-negative)}.btn--danger:hover:not(:disabled){background:var(--color-negative-soft);box-shadow:0 6px 16px #b4231814}.btn--sm{padding:4px 10px;font-size:12px}.form-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.form-field label{font-size:12px;font-weight:600;color:var(--color-ink-soft)}.form-field input,.form-field select,.form-field textarea{min-height:35px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-raised);font-size:13px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #c92a2a14;outline:none}.form-error{background:var(--color-negative-soft);color:var(--color-negative);border:1px solid rgba(180,35,24,.12);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:13px;margin-bottom:var(--space-4)}.form-success{background:var(--color-success-soft);color:var(--color-success);border:1px solid rgba(21,128,61,.12);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:13px;margin-bottom:var(--space-4)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1118276b;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.modal-box{background:var(--color-bg-raised);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.72);padding:var(--space-6);width:100%;max-width:440px;max-height:90vh;overflow-y:auto;box-shadow:0 22px 60px #11182738}.modal-box--wide{max-width:760px}.modal-box h3{margin-top:0;margin-bottom:var(--space-5);font-size:17px}.card{background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-card);transition:border-color .15s ease,box-shadow .15s ease}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);flex-wrap:wrap;gap:var(--space-3)}.page-header h1{font-size:22px;font-weight:700;letter-spacing:0;margin:0}.page-header p{font-size:13px;color:var(--color-secondary);margin:var(--space-1) 0 0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.line-performance{margin-bottom:var(--space-5)}.line-performance__desc,.line-performance__footnote{color:var(--color-secondary);font-size:12px;margin-top:var(--space-1)}.line-performance__panel{overflow-x:auto;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.line-performance__matrix{min-width:1480px}.line-performance__row{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(82px,.8fr) minmax(116px,1fr) minmax(86px,.85fr) minmax(116px,1fr) minmax(116px,1fr) minmax(96px,.85fr) minmax(96px,.85fr) minmax(96px,.85fr) minmax(116px,1fr) minmax(96px,.9fr) minmax(96px,.9fr) minmax(116px,1fr) minmax(96px,.9fr);border-bottom:1px solid var(--color-border)}.line-performance__row:last-child{border-bottom:none}.line-performance__row--head{background:var(--color-bg-subtle);color:var(--color-ink-soft);font-size:14px;font-weight:900}.line-performance__row--total{background:var(--color-brand-soft)}.line-performance__cell{min-width:0;padding:15px 12px;display:flex;align-items:center;justify-content:center;text-align:center;border-right:1px solid var(--color-border);color:var(--color-ink);font-size:clamp(15px,1.1vw,17px);font-weight:900;white-space:nowrap}.line-performance__row--total .line-performance__cell{font-size:clamp(16px,1.15vw,18px)}.line-performance__cell:last-child{border-right:none}.line-performance__cell--name{flex-direction:column;justify-content:center;align-items:center;text-align:center;padding-left:10px}.line-performance__name{font-size:18px;font-weight:900;color:var(--color-ink);line-height:1.2}.line-performance__sub{color:var(--color-secondary);font-size:12px;font-weight:600;line-height:1.25;margin-top:4px;white-space:normal}.line-performance__footnote{display:grid;gap:3px;line-height:1.45;margin-top:var(--space-3)}@media (max-width: 720px){.line-performance__matrix{min-width:1320px}}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);align-items:end}.form-grid .form-field{margin-bottom:0}.tabs{display:flex;gap:var(--space-2);flex-wrap:wrap}.tab-btn{border:1px solid var(--color-border);background:var(--color-bg-raised);color:var(--color-ink-soft);border-radius:var(--radius-sm);padding:7px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.tab-btn:hover{background:var(--color-bg-subtle)}.tab-btn--active{border-color:#c92a2a40;color:var(--color-brand);background:var(--color-brand-soft);box-shadow:inset 0 0 0 1px #c92a2a14}
