
:root { --font-sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",Arial,sans-serif; --ink:#142d2d; --muted:#6c7f7d; --paper:#f5f7f2; --card:#fff; --line:#dfe7e1; --teal:#0f6a62; --teal-soft:#d9eee7; --coral:#d96e4c; --amber:#bd812d; --shadow:0 10px 30px #103a3710; }
.refresh-status{font-size:12px;color:var(--muted);align-self:center}
.issue-filters{--issue-blue:#245b8a;--issue-blue-soft:#edf4fb;--issue-amber:#805212;--issue-amber-soft:#fff5e3;display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 12px}
.issue-filter{min-height:44px;border:1px solid var(--line);border-radius:8px;padding:9px 16px;background:var(--card);color:var(--ink);font:inherit;font-size:13px;cursor:pointer;transition:background .18s,border-color .18s}
.issue-filter:hover{border-color:var(--teal)}.issue-filter[aria-pressed=true]{background:var(--teal-soft);border-color:var(--teal);color:var(--teal)}
.issue-filter-active[aria-pressed=true]{color:var(--issue-blue);background:var(--issue-blue-soft);border-color:var(--issue-blue)}
.issue-filter-replacement[aria-pressed=true]{color:var(--issue-amber);background:var(--issue-amber-soft);border-color:var(--issue-amber)}
.issue-filter:focus-visible,.issue-entry summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.issue-entry{--issue-muted:#526b63;--issue-blue:#245b8a;--issue-amber:#805212;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow-wrap:anywhere}
.issue-entry-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 0}.issue-entry-top>div{min-width:0}
.issue-entry h3{font-size:16px;line-height:1.6;margin:0;font-weight:600}.issue-entry-top p{font-size:13px;color:var(--issue-muted);margin:5px 0 0}.issue-entry-top p strong{font-weight:500;color:var(--ink);margin-left:8px}
.issue-kind{max-width:100%;flex-shrink:0;padding:5px 9px;border-radius:6px;background:var(--teal-soft);color:var(--teal);font-size:12px;line-height:1.5}
.issue-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:16px 20px}
.issue-entry dt{font-size:12px;color:var(--issue-muted);line-height:1.6}.issue-entry dd{font-size:14px;margin:4px 0 0;line-height:1.6;font-variant-numeric:tabular-nums}
.issue-entry-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;border-top:1px solid var(--line);padding:6px 20px}
.issue-entry .btn,.issue-toolbar .btn,.stock-view-tabs .btn{min-height:44px}
.issue-entry-footer>.btn{font-size:13px;color:var(--teal);align-self:start}
.issue-custody-list{margin:0 20px 14px;padding:0 14px;background:var(--paper);border-radius:9px}
.issue-custody-unit{display:grid;grid-template-columns:minmax(120px,1fr) minmax(130px,1fr) minmax(120px,.8fr) auto;gap:12px 20px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}.issue-custody-unit:last-child{border-bottom:0}
.issue-custody-unit strong,.issue-custody-unit span,.issue-custody-unit small{display:block}.issue-custody-unit span,.issue-custody-unit small{font-size:12px;line-height:1.6;color:var(--issue-muted)}.issue-custody-unit strong{font-size:14px;line-height:1.6;font-weight:500}.issue-custody-unit small{margin-top:4px}
.issue-unit-status small{font-size:11px}.issue-unit-value strong{font-size:19px;color:var(--teal);font-variant-numeric:tabular-nums}
.is-due .issue-unit-status>strong,.is-due .issue-unit-date>small{color:var(--issue-blue)}.is-soon .issue-unit-status>strong,.is-soon .issue-unit-date>small{color:var(--issue-amber)}
.issue-unit-details{grid-column:1/-1}.issue-unit-details>summary{min-height:44px}
.issue-batches{margin-top:20px}.issue-batches>summary{min-height:44px;line-height:44px;width:fit-content;cursor:pointer;color:var(--teal);font-size:13px}
.stock-history-details{padding:0 20px 8px;border-top:1px solid var(--line)}
@media(min-width:1101px){.custody-search.issue-search{grid-template-columns:1fr 1.2fr 1fr 1fr auto}}
@media(max-width:1100px){.issue-custody-unit{grid-template-columns:repeat(2,minmax(0,1fr))}.issue-unit-action{justify-self:end}}
@media(max-width:600px){
  .issue-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.issue-filter{padding:9px 8px}
  .issue-entry-top{padding:16px 16px 0;flex-wrap:wrap;gap:10px}.issue-entry-top>div{flex:1 1 150px}
  .issue-facts{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 16px;gap:12px}
  .issue-custody-list{margin:0 12px 12px;padding:0 12px}.issue-custody-unit{gap:12px}
  .issue-unit-status{grid-column:1/-1}.issue-unit-action{grid-column:1/-1;justify-self:start}.issue-unit-value strong{font-size:18px}
  .issue-entry-footer{padding:6px 12px;gap:8px}.issue-entry-footer>.btn{padding:9px 8px}
  .custody-search.issue-search input{min-width:0;width:100%;min-height:44px;font-size:16px}
}
@media(prefers-reduced-motion:reduce){.issue-filter{transition:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.function-tooltip{position:fixed;top:0;left:0;z-index:1000;max-width:min(320px,calc(100vw - 24px));box-sizing:border-box;padding:10px 13px;border-radius:8px;background:#173d3a;color:#fff;font-size:13px;line-height:1.8;box-shadow:0 6px 22px #0b2b2926;overflow-wrap:anywhere}
.mall-hub-toolbar{margin-bottom:4px;border-bottom:1px solid var(--line)}
.mall-view-tabs{display:flex;flex-wrap:wrap;gap:8px}
.mall-view-tab{min-height:48px;padding:10px 18px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--ink);font:inherit;font-size:14px;line-height:1.6;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.mall-view-tab:hover{background:var(--teal-soft);color:var(--teal)}.mall-view-tab[aria-pressed=true]{color:var(--teal);border-bottom-color:var(--teal);font-weight:600}
.mall-view-tab:focus-visible,.mall-function-help summary:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.catalog-requests-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
.catalog-requests-head>div{min-width:0}.catalog-requests-head h3{margin:0;font-size:16px;line-height:1.6}.catalog-requests-head .form-hint{margin:6px 0 0}.catalog-requests-head>.btn{min-height:44px;flex-shrink:0;font-size:13px}
.mall-function-help{margin-bottom:18px;font-size:13px;color:#526b63}.mall-function-help summary{display:flex;align-items:center;width:fit-content;min-height:44px;cursor:pointer;color:var(--teal);gap:7px}.mall-function-help summary::before{content:"+";font-size:17px}.mall-function-help[open] summary::before{content:"−"}
.mall-function-help dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:4px 0 18px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.mall-function-help dt{color:var(--ink);font-weight:600;line-height:1.6}.mall-function-help dd{margin:5px 0 0;line-height:1.8}
.mall-view-content{min-width:0}
@media(max-width:600px){.mall-view-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.mall-view-tab{padding:10px 6px}.catalog-requests-head{align-items:flex-start;flex-wrap:wrap;gap:12px}.mall-function-help dl{grid-template-columns:minmax(0,1fr);padding:16px}.mall-view-content .catalog-search input{font-size:16px;min-height:44px;width:100%;box-sizing:border-box}}
@media(prefers-reduced-motion:reduce){.mall-view-tab{transition:none}}
.count-list{--count-blue:#245b8a;--count-amber:#805212;--count-muted:#526b63;display:grid;gap:16px}
.count-card{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:18px 20px;overflow-wrap:anywhere}
.count-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.count-card h3{font-size:16px;line-height:1.6;font-weight:600;margin:0}.count-card-top p{font-size:12px;line-height:1.7;color:var(--count-muted,#526b63);margin:5px 0 0}
.count-status{display:inline-block;max-width:100%;padding:5px 9px;border-radius:6px;background:#fff4df;color:#805212;font-size:12px;line-height:1.6;flex-shrink:0}.count-status.is-finished{background:var(--teal-soft);color:var(--teal)}
.count-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:20px 0 18px}
.count-progress li{display:flex;align-items:center;gap:8px;position:relative;border-top:3px solid var(--line);padding-top:10px;color:#526b63;font-size:13px;line-height:1.6;min-width:0}
.count-progress .count-step-number{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--paper);font-size:12px;font-variant-numeric:tabular-nums}
.count-progress .is-done{border-color:var(--teal);color:var(--teal)}.count-progress .is-done .count-step-number{background:var(--teal-soft)}
.count-progress .is-current{border-color:#245b8a;color:#245b8a;font-weight:600}.count-progress .is-current .count-step-number{background:#e8f1fb;color:#245b8a}.count-progress .is-skipped{color:#526b63;border-color:var(--line);font-weight:400}
.count-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.count-card-bottom>div{min-width:0}
.count-next{font-size:14px;line-height:1.8;margin:0;color:var(--ink)}.count-card-meta{color:#526b63;font-size:12px;line-height:1.8;margin:6px 0 0}
.count-card .btn,.count-filters .btn,.count-detail-actions .btn,.count-line-approval .btn,.count-history summary{min-height:44px}
.count-card-bottom>.btn{flex-shrink:0;font-size:13px}
.count-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.count-detail-summary{border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--paper);min-width:0}
.count-detail-summary .count-progress{margin:16px 0}.count-detail-summary .count-detail-actions{margin:16px 0 0}
.count-detail-stat{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px}.count-detail-stat span{color:#526b63}
.count-dialog .modal-body{min-width:0}.count-dialog .table-wrap p{font-size:12px;line-height:1.7;max-width:240px;white-space:normal;margin:7px 0 0}
.count-line-approval{display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:220px;white-space:normal;font-size:13px}.count-line-approval strong{font-weight:500}.count-line-approval small{color:#526b63;font-size:12px}
.count-dialog .btn,.count-dialog .table-wrap td .btn,[data-approval-dialog] .btn{min-height:44px;min-width:44px}
.count-difference{font-weight:600;color:#805212}.count-command-hint{font-size:14px;line-height:1.9;margin:0}
.count-history summary{cursor:pointer;line-height:44px;color:var(--teal);font-size:13px;width:fit-content}.count-history ol{list-style:none;padding:0;margin:8px 0}.count-history li{padding:10px 0;border-bottom:1px solid var(--line)}.count-history strong{display:block;font-size:13px;font-weight:500}.count-history span{display:block;color:#526b63;font-size:12px;margin-top:5px;line-height:1.7}
.approval-card .approval-next{margin:14px 0 0;font-size:14px;line-height:1.8}.approval-card .count-card-bottom{margin-top:12px}
.approval-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}.approval-facts dt{font-size:12px;color:#526b63}.approval-facts dd{font-size:14px;line-height:1.8;margin:5px 0 0;overflow-wrap:anywhere}
@media(max-width:600px){
  .count-card{padding:16px}.count-card-top{flex-wrap:wrap;gap:8px}.count-card-top>div{flex:1 1 160px}
  .count-progress{gap:6px}.count-progress li{flex-direction:column;align-items:flex-start;gap:6px;font-size:12px}.count-progress .count-step-number{width:22px;height:22px}
  .count-card-bottom{flex-direction:column;align-items:stretch;gap:12px}.count-card-bottom>.btn{align-self:flex-start}
  .count-detail-summary{padding:14px}.count-detail-summary .toolbar{align-items:stretch;flex-direction:column}.count-detail-summary .toolbar .btn{text-align:left}
  .approval-facts{grid-template-columns:minmax(0,1fr)}.count-dialog .table-wrap p{max-width:100%}
}
@media(prefers-reduced-motion:reduce){.count-card .btn,.count-filters .btn,.count-dialog .btn,[data-approval-dialog] .btn{transition:none}.count-card .btn:hover,.count-dialog .btn:hover,[data-approval-dialog] .btn:hover{transform:none}}
.mall-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-radius:12px;background:#e3eee8;margin-bottom:12px}
.mall-hero h3{font-size:15px;font-weight:600;margin:0}.mall-hero p{font-size:12px;line-height:1.6;margin:5px 0 0;color:#48635b}.mall-hero .btn{font-size:13px;flex-shrink:0}
.mall-address{display:flex;justify-content:space-between;align-items:center;gap:16px;background:white;border:1px solid var(--line);border-radius:12px;padding:13px 18px;margin-bottom:22px;overflow-wrap:anywhere}
.mall-address strong{font-size:13px;font-weight:600}.mall-address p{font-size:12px;margin:4px 0 0;line-height:1.7;color:var(--muted)}.mall-address .btn{font-size:12px;flex-shrink:0}
.mall-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px;align-items:start}
.mall-catalog{min-width:0}.mall-catalog-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.mall-catalog-head h3{font-size:16px;margin:0;font-weight:600;white-space:nowrap}.mall-catalog-head h3 small{font-size:12px;color:var(--muted);font-weight:400;margin-left:10px}
.mall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.mall-search{width:320px;max-width:100%}.mall-search input{width:100%;border:1px solid var(--line);border-radius:8px;background:white;padding:10px 12px;font-size:13px}
.mall-product.card{display:flex;flex-direction:column;overflow:hidden;min-width:0;border-radius:12px;box-shadow:none;transition:border-color .18s,box-shadow .18s}.mall-product.card:hover{border-color:#a7c6ba;box-shadow:0 6px 20px #103a370d}
.mall-product-photo{aspect-ratio:1;flex-shrink:0;background:#f0f3ef;overflow:hidden}
.mall-product-photo img{display:block;width:100%;height:100%;object-fit:contain}
.mall-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:13px;color:#688b7d}
.mall-placeholder span{font-size:36px;font-weight:500}.mall-placeholder small{font-size:11px}
.mall-product-body{display:flex;flex:1;flex-direction:column;min-width:0;padding:13px 14px 14px}
.mall-product-body h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:42px;margin:7px 0 5px;font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.mall-category{font-size:11px;color:var(--teal)}
.mall-product-body .mall-spec{margin:0 0 6px;font-size:12px;line-height:1.6;color:#576762;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.mall-stock{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 10px}
.mall-price{display:block;margin-top:auto;color:#c4502e;font-size:24px;font-weight:600;line-height:1.4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.mall-price small{font-weight:400;font-size:12px;color:var(--muted)}.mall-price.inquiry{font-size:16px;line-height:2.1}
.mall-details{font-size:12px;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}.mall-details summary{cursor:pointer;width:fit-content;min-height:28px;line-height:28px}.mall-details p{line-height:1.7;margin:6px 0}
.mall-add{display:flex;gap:8px;margin-top:10px}.mall-add input{width:60px;min-width:0;border:1px solid var(--line);border-radius:7px;padding:8px;color:var(--ink);background:white;font-size:13px}
.mall-add .btn{flex:1;min-width:0;min-height:40px;padding:8px 6px;font-size:13px;font-weight:500;box-shadow:none}
.mall-cart{position:sticky;top:96px;min-width:0}.mall-cart-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.mall-cart-line p{font-size:13px;color:var(--muted);margin:6px 0}.mall-cart-line .btn{align-self:center;padding:5px}
.mall-cart .card-head h3{font-size:14px}.mall-cart .card-head>span{font-size:12px;color:var(--muted)}.mall-cart-line strong{font-size:13px;font-weight:500}.mall-cart .form-hint{font-size:12px;line-height:1.8}.mall-cart-empty{padding:18px 0 24px;text-align:center}.mall-cart-empty strong{font-size:14px;font-weight:500}.mall-cart-empty p{font-size:12px;color:var(--muted);margin:8px 0 0}
.mall-cart .card-body>.btn{width:100%;margin-top:10px}
.mall-order{margin-bottom:20px;overflow-wrap:anywhere}.mall-order .card-head{align-items:center}.mall-order .card-head p{margin-bottom:0}
.mall-progress{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-bottom:20px}.mall-progress .current{padding:6px 9px;background:var(--teal-soft);color:var(--teal);border-radius:6px;font-weight:600}
.mall-order-lines{display:grid;gap:12px}.mall-order-lines>div{display:flex;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.mall-order-lines span{color:var(--muted);font-size:14px}
.mall-signature{width:100%;height:auto;aspect-ratio:640/220;background:white;border:1px dashed #7b9c8b;border-radius:8px;touch-action:none;display:block;margin:10px 0}
.mall-qr{width:230px;max-width:100%;margin:auto;display:block}
.tone-amber{--order-color:#966009;--order-soft:#fff5df;--order-border:#e4c990}
.tone-blue{--order-color:#2563a6;--order-soft:#edf4fd;--order-border:#bed5ed}
.tone-violet{--order-color:#7553a8;--order-soft:#f3effa;--order-border:#d6c8eb}
.tone-teal{--order-color:#0f6a62;--order-soft:#e9f5f1;--order-border:#a9d6cc}
.tone-green{--order-color:#247049;--order-soft:#eaf5ee;--order-border:#b6d6c1}
.tone-red{--order-color:#af3f38;--order-soft:#fdf0ee;--order-border:#e7bcb5}
.tone-gray{--order-color:#64716e;--order-soft:#f0f3f1;--order-border:#ced7d2}
.order-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.order-list-head p{margin:0;font-weight:600}.order-list-head p>span{display:block;font-size:13px;font-weight:400;color:#5d706b;margin-top:6px}
.order-list-head .btn{min-height:44px;flex-shrink:0}
.order-summary-list{display:grid;gap:14px}
.order-summary-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:24px;align-items:center;width:100%;padding:20px 24px;border:1px solid var(--line);border-radius:13px;background:var(--card);color:var(--ink);font:inherit;text-align:left;overflow-wrap:anywhere;transition:border-color .18s,box-shadow .18s;touch-action:manipulation}
.order-summary-main{display:grid;grid-template-columns:136px minmax(0,1fr);align-items:center;gap:24px;min-width:0;width:100%;min-height:76px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:6px}
.order-summary-main:focus-visible,.order-stage-node:focus-visible{outline:2px solid var(--teal);outline-offset:4px}
.order-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.order-filters .btn{min-height:44px}
.order-stage-controls{display:grid;grid-template-columns:repeat(var(--stage-count,5),minmax(0,1fr));gap:6px;min-width:0}
.order-stage-node{min-height:48px;min-width:44px;padding:6px 0;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:12px;text-align:center;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:9px;touch-action:manipulation}
.order-node-track{height:7px;width:100%;background:var(--line);border-radius:4px}
.order-stage-node.is-done .order-node-track,.order-stage-node.is-current .order-node-track{background:var(--order-color)}
.order-stage-node.is-current{background:var(--order-soft);color:var(--order-color);font-weight:600}
.order-stage-node:not(:disabled):hover{background:var(--order-soft);color:var(--order-color)}
.order-stage-node:disabled{cursor:default;opacity:.65}
.order-reimbursement{margin-top:16px;font-size:14px}.order-reimbursement summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.order-detail-section{scroll-margin-top:76px}
.order-summary-card:hover{border-color:var(--order-border);box-shadow:0 5px 18px #173e340c}
.order-summary-card:active{background:#f9fbf8}
.order-date{display:flex;flex-direction:column;gap:5px;padding-right:18px;border-right:1px solid var(--line)}
.order-date>span,.order-date>small{font-size:12px;color:#5d706b}
.order-date strong{font-size:18px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.order-date small{font-size:12px}
.order-summary-content{display:flex;flex-direction:column;gap:8px;min-width:0}
.order-kind{color:#5d706b;font-size:12px}
.order-summary-content>strong{font-size:15px;font-weight:600;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.order-item-count{font-size:12px;color:#5d706b}
.order-summary-progress{min-width:0;display:grid;gap:16px}
.order-progress-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}
.order-status{display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border-radius:6px;background:var(--order-soft);color:var(--order-color);font-size:13px;font-weight:600;white-space:nowrap}
.order-open-label{display:flex;gap:7px;align-items:center;font-size:12px;color:#5d706b;white-space:nowrap}.order-open-label>span{font-size:21px;line-height:1}
.order-stage-bar{display:block;min-width:0}
.order-stage-track,.order-stage-labels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.order-stage-track>span{height:7px;border-radius:4px;background:#e7ede9}
.order-stage-track>.is-done,.order-stage-track>.is-current{background:var(--order-color)}
.order-stage-track>.is-current{box-shadow:0 0 0 2px var(--order-soft)}
.order-stage-labels{margin-top:9px;text-align:center;font-size:12px;color:#61706b;line-height:1.5}
.order-stage-labels>.is-current{color:var(--order-color);font-weight:600}
.entry-dialog.order-detail-dialog{max-width:900px}
.order-detail-dialog::backdrop{background:#102c2b80}
.order-detail-dialog .modal-head{position:sticky;top:0;background:var(--card);z-index:2;gap:16px;align-items:center}
.order-detail-dialog .modal-head h3{font-size:18px}
.order-detail-dialog .btn{min-height:44px}
.order-detail-body{padding:24px;overflow-wrap:anywhere}
.order-loading{padding:32px 0;text-align:center;color:#5d706b}
.order-detail-progress{padding:20px;border:1px solid var(--order-border);border-radius:10px;background:var(--order-soft)}
.order-detail-progress>div{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.order-detail-progress .order-status{background:var(--card)}
.order-detail-progress p{margin:0;font-size:14px;color:var(--order-color)}
.order-detail-section{padding-top:24px}.order-detail-section+.order-detail-section{margin-top:22px;border-top:1px solid var(--line)}
.order-detail-dialog .order-detail-section h4{font-size:15px;margin:0 0 16px;font-weight:600}
.order-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px;margin:0}
.order-facts dt{font-size:12px;color:#5d706b;margin-bottom:5px}.order-facts dd{margin:0;line-height:1.7;font-size:14px;white-space:pre-wrap}
.order-note{font-size:14px;line-height:1.8;background:#f5f7f3;border-radius:8px;padding:12px 14px;white-space:pre-wrap;margin:14px 0 0}
.order-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.order-section-heading>span,.order-section-heading time{color:#5d706b;font-size:12px}
.order-detail-section .table-wrap{box-shadow:none;border-radius:8px}
.order-detail-section table{table-layout:fixed}
.order-detail-section th,.order-detail-section td{white-space:normal;overflow-wrap:anywhere;padding:12px 14px;vertical-align:top}
.order-detail-section th:first-child{width:34%}
.order-detail-section td{font-size:14px}
.order-detail-section td small{display:block;font-size:12px;color:#5d706b;line-height:1.7;margin-top:5px}
.order-amount{text-align:right;margin:16px 0 0;font-size:13px}.order-amount strong{font-size:21px;margin-left:12px;font-variant-numeric:tabular-nums}
.order-delivery{background:#f5f7f3;padding:16px;border-radius:8px;margin-top:18px;font-size:14px}.order-delivery>strong{font-size:13px}.order-delivery p{margin:6px 0 0;line-height:1.8;white-space:pre-wrap}
.order-evidence{display:flex;gap:20px;flex-wrap:wrap;align-items:start;margin-top:14px}.order-evidence span{display:block;font-size:12px;color:#5d706b;margin-bottom:8px}.order-evidence .photo-thumb{width:100px;height:76px;object-fit:contain}
.order-receipt{padding:16px;border:1px solid var(--line);border-radius:10px;margin-top:12px}.order-receipt>p{font-size:14px;line-height:1.8;margin:10px 0 0}
.order-timeline{list-style:none;margin:0;padding:0 0 0 6px}
.order-timeline li{position:relative;padding:0 0 22px 22px;border-left:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;font-size:13px;line-height:1.7}
.order-timeline li::before{content:"";width:9px;height:9px;background:var(--teal);border:3px solid #e9f5f1;border-radius:50%;position:absolute;left:-8px;top:4px}
.order-timeline li:last-child{padding-bottom:0;border-color:transparent}
.order-timeline strong{font-weight:500}.order-timeline time,.order-timeline li>span{color:#5d706b;font-size:12px}.order-timeline li>span{grid-column:1/-1}
.order-detail-dialog .modal-foot{position:sticky;bottom:0;padding:16px 24px;background:var(--card);border-top:1px solid var(--line);flex-wrap:wrap;z-index:2}
.order-detail-dialog .modal-foot[hidden]{display:none}
@media(max-width:1200px){
  .order-summary-card{grid-template-columns:minmax(0,1fr);gap:18px}
  .order-summary-progress{grid-column:1/-1;gap:12px}
  .order-progress-heading{justify-content:space-between}
}
@media(max-width:600px){
  .order-list-head{align-items:flex-start;gap:12px;flex-direction:column}.order-list-head p>span{font-size:12px;line-height:1.7}
  .order-list-head .btn{font-size:13px;padding:9px 12px}
  .order-summary-card{padding:18px 16px;gap:16px;grid-template-columns:minmax(0,1fr)}
  .order-summary-main{grid-template-columns:minmax(0,1fr);gap:12px}
  .order-date{border:0;padding:0;display:grid;grid-template-columns:1fr auto;gap:4px 8px}
  .order-date>span{grid-column:1}.order-date>strong{grid-column:1;font-size:19px}
  .order-date>small{grid-column:2;grid-row:2;align-self:center}
  .order-summary-content{gap:5px}.order-summary-content>strong{font-size:15px}
  .order-summary-progress{padding-top:14px;border-top:1px solid var(--line)}
  .order-kind{font-size:12px}
  .entry-dialog.order-detail-dialog{width:calc(100% - 20px);max-height:92dvh}
  .order-detail-dialog .modal-head{padding:14px 16px}
  .order-detail-body{padding:16px}
  .order-detail-progress{padding:16px 12px}
  .order-detail-progress>div{display:block}.order-detail-progress p{margin-top:10px;line-height:1.8}
  .order-facts{grid-template-columns:minmax(0,1fr);gap:14px}
  .order-section-heading{flex-wrap:wrap;gap:6px}.order-detail-dialog .order-section-heading h4{margin-bottom:8px}
  .order-detail-dialog .modal-foot{padding:12px 16px}
  .order-detail-dialog .modal-foot .btn{flex:1;font-size:13px}
  .order-timeline li{grid-template-columns:minmax(0,1fr);gap:3px}
  .order-receipt{padding:12px}
}
@media(prefers-reduced-motion:reduce){.order-summary-card{transition:none}}
.mall-receipt{padding:16px 0;border-top:1px solid var(--line)}
.product-library-toolbar,.product-library-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.product-library-toolbar{justify-content:space-between;margin-bottom:22px}.product-library-filters .btn{font-size:13px}
.product-library-open{display:block;width:100%;flex:1;min-width:0;padding:0;background:white;color:var(--ink);text-align:left}
.product-library-open:focus-visible{outline-offset:-4px}.product-library-open .mall-product-body{min-height:185px}.product-library-open .mall-price{margin-top:6px}
.product-supplier{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:10px 0 0}
.product-library-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border-top:1px solid var(--line)}.product-library-foot .btn{font-size:12px;padding:7px 10px}.tag.delisted{background:#edf0ed;color:#65726c}
.product-edit-summary{padding:12px 14px;border-radius:8px;background:var(--paper)}.product-edit-summary p{font-size:12px;color:var(--muted);margin:6px 0 0}
.product-status-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:7px 5px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:12px;white-space:nowrap;cursor:pointer;flex-shrink:0}
.product-status-toggle:hover{background:var(--paper)}.product-status-toggle[aria-checked="true"]{color:var(--teal)}.product-status-toggle:disabled{opacity:.65;cursor:wait}
.status-track{display:block;position:relative;width:28px;height:17px;border-radius:20px;background:#c0cbc4;flex-shrink:0}.status-track:after{content:"";position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:white;transition:transform .15s}
.product-status-toggle[aria-checked="true"] .status-track{background:var(--teal)}.product-status-toggle[aria-checked="true"] .status-track:after{transform:translateX(11px)}
.library-excluded{font-size:11px;white-space:nowrap}.library-item-heading>.product-status-toggle{margin-top:0}
.library-item-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:24px}.library-item-heading h3{font-size:22px;line-height:1.5;margin:6px 0}.library-item-heading p{font-size:13px;color:var(--muted);margin:0}.library-item-heading>div{min-width:0;overflow-wrap:anywhere}.library-item-heading>.tag{flex-shrink:0}
.library-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;margin:0}.library-facts>div{min-width:0}.library-facts dt{font-size:12px;color:var(--muted);margin-bottom:6px}.library-facts dd{font-size:14px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.library-purchase{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}.library-main-photo{min-width:0}.library-main-photo>.btn{width:100%;margin-top:12px}.library-item-tabs .btn{min-height:42px}
@media(max-width:1100px){.mall-layout{grid-template-columns:minmax(0,1fr)}.mall-cart{position:static}}
@media(max-width:600px){
  .mall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .mall-hero{padding:13px 14px;align-items:start;flex-direction:column;gap:9px}.mall-hero h3{font-size:14px}.mall-hero .btn{padding:7px 10px;min-height:36px}
  .mall-address{padding:12px 14px;align-items:start;gap:8px;flex-wrap:wrap;margin-bottom:18px}.mall-address .btn{padding:6px 10px;min-height:36px}
  .mall-catalog-head{align-items:start;flex-direction:column;gap:10px;margin-bottom:12px}.mall-search{width:100%}.mall-search input{font-size:16px}
  .mall-product-body{padding:10px}.mall-product-body h3{font-size:13px;min-height:39px}.mall-category{font-size:11px}.mall-placeholder span{font-size:28px}.mall-placeholder small{font-size:10px}
  .mall-price{font-size:21px}.mall-price.inquiry{font-size:14px}.mall-price small{font-size:11px}.mall-stock{font-size:11px}.mall-add{gap:6px}.mall-add input{width:50px;padding:6px 4px}.mall-add .btn{font-size:12px}
  .mall-order-lines>div{flex-direction:column;gap:6px}
}
@media(max-width:350px){.mall-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
  .product-library-foot{padding:8px 10px;gap:6px;flex-direction:column;align-items:stretch}.product-library-foot .btn{padding:6px;font-size:12px;min-height:36px}.product-library-open .mall-product-body{min-height:180px}.product-library-filters .btn{font-size:12px;padding:8px}
  .product-library-foot .product-status-toggle{justify-content:center}.product-library-foot .library-excluded{text-align:center;line-height:44px;padding:0}
  .library-purchase{grid-template-columns:minmax(0,1fr)}.library-main-photo{max-width:220px}.library-facts{gap:18px 14px}.library-item-heading h3{font-size:18px}.library-item-tabs{gap:6px}.library-item-tabs .btn{font-size:12px;padding:8px 10px}.library-item-heading+.section-tabs+.card .card-head{gap:12px;flex-wrap:wrap}
}
* { box-sizing:border-box; }
.toolbar {display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.entry-dialog {border:0;border-radius:16px;max-width:560px;width:calc(100% - 32px);max-height:88dvh;padding:0;color:var(--ink)}
.entry-dialog.wide {max-width:1100px}
.batch-issue-dialog.entry-dialog{max-width:960px;overflow:hidden}
.batch-issue-dialog>form{display:flex;flex-direction:column;max-height:88dvh;min-height:0}
.batch-issue-dialog .modal-head{padding:16px 20px;align-items:center;flex-shrink:0}
.batch-issue-dialog .modal-head h3{font-size:18px}
.batch-issue-dialog .modal-body{padding:16px 20px;gap:12px;overflow-y:auto;min-height:0}
.batch-issue-dialog .modal-foot{padding:12px 20px;background:var(--card);border-top:1px solid var(--line);flex-shrink:0}
.batch-issue-dialog .modal-foot .btn{min-height:44px;min-width:120px}
.batch-editor{display:block!important}
.batch-editor [hidden]{display:none!important}
.batch-editor .batch-modes{display:flex;gap:4px;padding:4px;background:var(--paper);border:1px solid var(--line);border-radius:9px;margin-bottom:12px}
.batch-modes button{flex:1;min-height:44px;padding:8px 12px;border-radius:6px;background:transparent;color:var(--muted);font-size:14px;font-weight:600}
.batch-modes button[aria-pressed=true]{background:var(--card);color:var(--teal);box-shadow:0 1px 4px #103a3712}
.batch-issue-dialog .batch-help{font-size:12px;color:var(--muted);margin:0 0 12px;line-height:1.7}
.batch-issue-dialog .batch-limit{margin:8px 0 0}
.batch-common{display:grid;grid-template-columns:minmax(0,1.6fr) 112px minmax(0,1fr);gap:12px;align-items:end}
.batch-issue-dialog .field label{font-size:12px;line-height:1.5}
.batch-issue-dialog .field input,.batch-issue-dialog .field select{min-height:44px;padding:8px 10px;background:var(--card);font-size:14px}
.batch-picker-heading,.batch-lines-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:16px 0 10px}
.batch-picker-heading strong,.batch-lines-heading strong{font-size:13px;font-weight:600}
.batch-picker-heading span,.batch-lines-heading span{font-size:12px;color:var(--muted)}
.batch-person-tools{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:10px;align-items:end;margin-bottom:10px}
.batch-person-actions{display:flex;gap:8px}
.batch-person-actions .btn{font-size:12px;min-height:44px;padding:8px 10px;white-space:nowrap}
.batch-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;max-height:250px;overflow:auto;padding:1px 3px 3px 1px}
.batch-editor label.batch-person{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;cursor:pointer;font-size:13px;font-weight:500;background:var(--card);line-height:1.4}
.batch-issue-dialog .batch-editor .batch-person input[type=checkbox]{appearance:auto;width:18px;min-width:18px;max-width:18px;min-height:18px;height:18px;margin:0;padding:0;accent-color:var(--teal);flex-shrink:0}
.batch-person span{min-width:0;overflow-wrap:anywhere}
.batch-person small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}
.batch-person:has(input:checked){border-color:var(--teal);background:var(--teal-soft)}
.batch-person:focus-within{outline:2px solid var(--teal);outline-offset:1px}
.batch-no-people{margin:0;text-align:center;padding:24px 12px;font-size:13px;color:var(--muted)}
.batch-summary{padding:10px 12px;margin-top:12px;border-radius:7px;background:var(--teal-soft);color:var(--teal);font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums}
.batch-summary.batch-shortage{background:#fff3e8;color:#8a4a19}
.batch-single-person{max-width:360px}
.batch-lines-head,.batch-lines .issue-row{display:grid;grid-template-columns:minmax(0,1.6fr) 110px minmax(0,1fr) 44px;gap:10px;align-items:center}
.batch-lines-head{padding:0 10px 6px;font-size:12px;color:var(--muted)}
.batch-lines .issue-row{position:relative;border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:8px;background:var(--paper)}
.batch-lines .field label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.batch-remove{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:0;border-radius:6px;background:transparent;color:#9c3722}
.batch-remove:hover{background:#fbe9e4}
.batch-remove:focus-visible,.batch-modes button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.batch-add{font-size:13px;min-height:44px;padding:8px 12px}
.batch-issue-dialog .field textarea{min-height:60px;padding:8px 10px}
@media(max-width:700px){
  .batch-person-tools{grid-template-columns:minmax(0,1fr) 120px}
  .batch-person-actions{grid-column:1/-1}
  .batch-common{grid-template-columns:minmax(0,1fr) 100px}
  .batch-common>.field:last-child{grid-column:1/-1}
  .batch-lines-head{display:none}
  .batch-lines .issue-row{grid-template-columns:90px minmax(0,1fr) 44px;gap:8px;align-items:end;padding:10px}
  .batch-lines .issue-row>.field:first-child{grid-column:1/3}
  .batch-lines .issue-row>.field:nth-child(2){grid-column:1;grid-row:2}
  .batch-lines .issue-row>.field:nth-child(3){grid-column:2/4;grid-row:2}
  .batch-lines .field label{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}
  .batch-lines .batch-remove{grid-column:3;grid-row:1}
  .batch-issue-dialog .field input,.batch-issue-dialog .field select,.batch-issue-dialog .field textarea{font-size:16px}
}
@media(max-width:450px){
  .batch-issue-dialog .modal-head{padding:12px 14px}
  .batch-issue-dialog .modal-body{padding:12px 14px}
  .batch-issue-dialog .modal-foot{padding:10px 14px}
  .batch-people{grid-template-columns:repeat(2,minmax(0,1fr));max-height:240px}
  .batch-modes button{font-size:13px;padding:8px 4px}
  .batch-picker-heading{gap:8px;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){.batch-issue-dialog .btn{transition:none}.batch-issue-dialog .btn-primary:hover{transform:none}}
.report-form {padding:20px;margin-bottom:20px}
.report-filters {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.report-filters .field {min-width:0}
.import-form .report-filters {grid-template-columns:minmax(0,1fr)}
.opening-status{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;margin-bottom:18px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.opening-status.is-complete{background:#edf5f1;border-color:#b8d4c8}
.opening-status-copy{min-width:0}.opening-status-title{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap}
.opening-status-title strong{font-size:15px;font-weight:600}.opening-status-title span{color:var(--muted);font-size:13px}
.opening-status-copy p{margin:7px 0 0;font-size:13px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
.opening-status-actions{flex-shrink:0}.opening-status-actions .btn{min-height:44px}
@media(max-width:760px){.opening-status{align-items:stretch;flex-direction:column;gap:12px;padding:14px}.opening-status-title{align-items:flex-start;flex-direction:column;gap:6px}.opening-status-actions .btn{width:100%}}
.report-filters input,.report-filters select {min-width:0;width:100%;max-width:100%}
.company-reports{--report-muted:#51645f;--report-chip-bg:#f3f6f3;min-width:0}
.report-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}
.report-group{min-width:0;--report-tone:#185f52;--report-tint:#eaf4ee;--report-border:#a5c9b5}
.report-tone-stock{--report-tone:#235b86;--report-tint:#edf4fa;--report-border:#acc8df}
.report-tone-operations{--report-tone:#80531b;--report-tint:#faf2e5;--report-border:#dac198}
.report-group h3{font-size:13px;font-weight:600;color:var(--report-tone);margin:0 0 9px;padding-left:2px}
.report-group-buttons{display:grid;gap:8px}
.report-choice{display:block;min-width:0;width:100%;padding:11px 15px;text-align:left;border:1px solid transparent;border-radius:10px;color:var(--report-tone);background:var(--report-tint);transition:border-color .16s,box-shadow .16s}
.report-choice:hover{border-color:var(--report-border)}
.report-choice[aria-pressed=true]{border-color:var(--report-tone);box-shadow:inset 3px 0 var(--report-tone)}
.report-choice-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;font-weight:600;line-height:1.5}
.report-choice-current{font-size:11px;font-weight:400;white-space:nowrap;opacity:.8}
.report-choice[aria-pressed=true] .report-choice-current{font-weight:600;opacity:1}
.report-choice-description{display:block;font-size:12px;line-height:1.5;margin-top:3px;color:var(--report-muted)}
.report-panel{min-width:0;border:1px solid var(--line);background:var(--card);border-radius:12px;overflow:hidden}
.report-query{padding:18px 20px;border-bottom:1px solid var(--line)}
.report-scope-filters{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px 24px}
.report-filter-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;min-width:0}
.report-filter-label{width:56px;flex-shrink:0;line-height:44px;font-size:12px;color:var(--report-muted);font-weight:500}
.report-chip-list{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
.report-chip{min-height:44px;max-width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--report-muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere;transition:border-color .16s,background-color .16s}
.report-chip:hover{background:var(--report-chip-bg);border-color:#9dbbb0}
.report-chip[aria-pressed=true]{background:var(--teal-soft);color:#14594f;border-color:#a4c8b8;font-weight:600}
.report-fixed-scope{font-size:13px;font-weight:500;line-height:40px;overflow-wrap:anywhere}
.report-search-row{display:flex;align-items:flex-end;gap:10px}
.report-query .field{min-width:0;gap:6px}
.report-query .field label{color:var(--report-muted);font-size:12px}
.report-search-row>.field{flex:1;max-width:620px}
.report-search-row>.field:has([name=person]){flex:.65;max-width:380px}
.report-query input,.report-project-dialog input{width:100%;min-width:0;min-height:44px;border:1px solid #bfcfc6;border-radius:7px;background:white;color:var(--ink);padding:9px 12px}
.report-search-row>.btn{min-height:44px;white-space:nowrap;font-size:13px}
.report-custom-dates{display:grid;grid-template-columns:repeat(2,minmax(0,240px));gap:12px;margin:0 0 14px 68px}
.report-current-note{font-size:12px;color:var(--report-muted);margin:0 0 12px}
.report-feedback{color:var(--report-muted);margin:10px 0 0;font-size:12px;min-height:20px}
.report-feedback-pending{color:#80531b}
.report-error{margin:16px 20px;color:#9d372e}
.report-empty{text-align:center;padding:40px 20px;color:var(--report-muted)}
.report-empty strong{font-size:14px;color:var(--ink);font-weight:500}
.report-empty p{font-size:12px;margin:9px 0 0}
.report-results{min-width:0}
.report-result-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px}
.report-result-header>div:first-child{min-width:0}
.report-result-header h3{font-size:16px;margin:0;font-weight:600}
.report-result-header h3>span{font-size:12px;font-weight:400;margin-left:12px;color:var(--report-muted);white-space:nowrap}
.report-result-header p{font-size:12px;color:var(--report-muted);margin:6px 0 0;overflow-wrap:anywhere}
.report-result-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.report-export{background:#eaf4ee;color:#185f52;border:1px solid #a5c9b5;min-height:44px;font-size:12px;box-shadow:none}
.report-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-top:1px solid var(--line)}
.report-table{width:100%;border-collapse:collapse}
.report-table th{background:#f4f7f4;color:var(--report-muted);font-size:12px;font-weight:500;white-space:nowrap}
.report-table th,.report-table td{padding:13px 16px;text-align:left;border-bottom:1px solid #e9eeea;vertical-align:top}
.report-table td{font-size:13px;max-width:260px;min-width:86px;overflow-wrap:anywhere}
.report-table td:first-child{font-weight:500;min-width:140px}
.report-table tbody tr:last-child td{border-bottom:0}
.report-table tbody tr:hover{background:#fafcf9}
.report-row-id{display:block;font-size:10px;color:var(--report-muted);font-weight:400;margin-top:4px;overflow-wrap:anywhere}
.report-table .report-number{font-variant-numeric:tabular-nums;white-space:nowrap}
.report-result-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;border-top:1px solid var(--line);color:var(--report-muted);font-size:12px}
.report-result-footer>div{display:flex;gap:8px}
.report-explanation{border-top:1px solid var(--line);padding:0 20px;color:var(--report-muted);font-size:12px}
.report-explanation>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;width:fit-content}
.report-explanation>summary::before{content:"+";font-size:16px}
.report-explanation[open]>summary::before{content:"−"}
.report-explanation p{margin:0 0 14px;max-width:1000px;line-height:1.8}
.report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0 20px 18px}
.report-metrics>div{min-width:0;border-left:2px solid #d2e4db;padding-left:12px}
.report-metrics dt{font-size:12px;color:var(--report-muted)}
.report-metrics dd{margin:6px 0 0;font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.report-cost-note{font-size:12px;color:var(--report-muted);line-height:1.8;margin:0;padding:0 20px 16px}
.report-project-dialog{max-width:700px}
.report-project-dialog .modal-body{display:block}
.report-project-dialog .field{margin-bottom:18px}
.report-project-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:44dvh;overflow-y:auto;padding:3px}
.report-project-options .report-chip{text-align:left;min-height:44px}
.report-project-empty{color:#51645f;font-size:13px}
@media(max-width:1100px){
  .report-scope-filters{grid-template-columns:minmax(0,1fr);gap:0}
  .report-hub{gap:12px}.report-choice{padding:10px 12px}.report-choice-description{font-size:11px}
  .report-result-header{align-items:flex-start}.report-result-actions{flex-wrap:wrap;justify-content:flex-end}
}
@media(max-width:700px){
  .report-hub{grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:18px}
  .report-group-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .report-group h3{margin-bottom:6px;font-size:12px}
  .report-choice{padding:10px 8px;min-height:58px}
  .report-choice-title{font-size:12px;line-height:1.6;justify-content:center;text-align:center}
  .report-choice-description,.report-choice-current{display:none}
  .report-choice[aria-pressed=true]{box-shadow:inset 0 -3px var(--report-tone)}
  .report-query{padding:14px}
  .report-filter-row{display:block;margin-bottom:14px}
  .report-filter-label{display:block;width:auto;line-height:1.6;margin-bottom:8px}
  .report-chip{min-height:44px;padding:9px 12px}
  .report-query .report-chip-list{gap:8px}
  .report-query input,.report-project-dialog input{min-height:44px;font-size:16px}
  .report-search-row{flex-wrap:wrap;gap:8px}
  .report-search-row>.field,.report-search-row>.field:has([name=person]){flex:1 1 100%;max-width:none}
  .report-search-row>.btn{min-height:44px;padding:9px 12px}
  .report-custom-dates{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:0}
  .report-result-header{padding:16px 14px;flex-direction:column;gap:12px}
  .report-result-actions{justify-content:flex-start;width:100%;flex-wrap:wrap}
  .report-export{min-height:44px}
  .report-result-footer{padding:14px;flex-wrap:wrap}
  .report-explanation{padding:0 14px}
  .report-metrics{padding:0 14px 18px;gap:18px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-metrics dd{font-size:18px}.report-cost-note{padding:0 14px 16px}
  .report-project-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-table-wrap{overflow-x:auto}
  .report-table{min-width:760px}
  .report-table thead{display:table-header-group}
  .report-table tbody{display:table-row-group}
  .report-table tr{display:table-row;padding:0}
  .report-table td{display:table-cell;text-align:left}
  .report-table td:before{display:none}
}
@media(prefers-reduced-motion:reduce){.report-choice,.report-chip{transition:none}}
.catalog-search {max-width:560px;margin:0 0 18px}
@media(max-width:980px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.report-filters{grid-template-columns:minmax(0,1fr)}.report-form{padding:14px}}
.entry-dialog .modal-body {grid-template-columns:minmax(0,1fr);overflow-wrap:anywhere}
.entry-dialog .field {min-width:0}
.entry-dialog .field input,.entry-dialog .field select,.entry-dialog .field textarea {min-width:0;width:100%;max-width:100%;box-sizing:border-box}
.entry-dialog::backdrop {background:#0e292880}
.form-error {color:#a63122}
.entry-dialog .form-error:empty {display:none}
.entry-dialog h4 {margin:8px 0 0}
.entry-dialog .modal-head h3 {min-width:0;overflow-wrap:anywhere}
.entry-dialog .modal-head [data-close] {flex-shrink:0;white-space:nowrap;align-self:flex-start}
.form-hint{color:var(--muted);font-size:.9rem;margin:.3rem 0 .8rem}
.custody-preview{border-left:3px solid var(--teal);padding:4px 0 4px 12px;overflow-wrap:anywhere}
.custody-preview>span{font-size:12px;color:var(--muted)}
.custody-preview output{display:block;font-size:22px;font-weight:700;margin:6px 0;font-variant-numeric:tabular-nums}
.custody-preview .form-hint{margin-bottom:0}
.optional{color:var(--muted);font-weight:400;margin-left:.25rem}
.photo-thumb{display:block;width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#f3f5f7}
button:disabled {opacity:.55;cursor:wait}
:focus-visible {outline:3px solid #d79054;outline-offset:3px}
.login {max-width:430px;margin:10dvh auto;padding:28px;background:white;border:1px solid var(--line);border-radius:16px}
.login form {display:grid;gap:15px}
.login p {font-size:14px;color:var(--muted);line-height:1.7}
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-sans); font-size:14px; line-height:1.6; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; border:0; }
.shell { display:grid; grid-template-columns:240px minmax(0,1fr); min-height:100dvh; }
.sidebar {min-width:0}
.nav .btn {border:0}
.nav .btn-primary {background:#285854;color:white;box-shadow:none}
.sidebar { padding:25px 18px; background:#113836; color:#d8f1ea; display:flex; flex-direction:column; gap:30px; }
.brand { display:flex; align-items:center; gap:10px; padding:0 8px; font-weight:600; min-width:0; }
.brand-mark { display:block; flex:0 0 40px; width:40px; height:40px; object-fit:contain; }
.brand-name { font-size:13px; line-height:1.5; white-space:nowrap; }
.eyebrow { color:#86b9ae; font-size:12px; font-weight:400; letter-spacing:0; }
.kicker .eyebrow{color:var(--muted)}
.nav { display:grid; gap:5px; }
.nav button { text-align:left; color:#a9d0c7; background:transparent; padding:12px 12px; border-radius:10px; transition:.18s; }
.nav button:hover,.nav button.active { background:#285854; color:#fff; }
.nav .nav-entry{display:flex;align-items:center;gap:10px;min-height:44px}
.nav-title{flex:1;min-width:0}
.nav-count{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:22px;height:22px;padding:0 6px;border-radius:20px;background:#f9d7cd;color:#8c2f20;font-size:12px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.custody-search{display:grid;grid-template-columns:minmax(160px,1fr) minmax(200px,1.4fr) auto;align-items:end;gap:14px 18px;padding:18px;margin-bottom:20px;box-shadow:none}
.custody-search .field{min-width:0}
.custody-search input{min-width:0;width:100%;min-height:44px;font:inherit;font-size:14px}
.custody-search-actions{display:flex;gap:8px;flex-wrap:wrap}
.custody-search .btn,[data-custody-output] .btn{min-height:44px}
.custody-feedback{grid-column:1/-1;margin:0;color:#526b63;font-size:13px;line-height:1.6}
.custody-result-heading{display:flex;justify-content:space-between;margin:0 0 12px;color:#526b63;font-size:13px}
.custody-empty{padding:24px;line-height:1.8}.custody-empty p{color:#526b63;font-size:14px;margin:8px 0 0}
.custody-records{--custody-muted:#526b63;--custody-due:#2563a6;--custody-due-soft:#edf4fd;--custody-soon:#855715;--custody-soon-soft:#fff5e3;display:grid;gap:14px}
.custody-entry{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow-wrap:anywhere}
.custody-entry-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 0}
.custody-identity{min-width:0}.custody-identity h3{margin:0;font-size:16px;line-height:1.6;font-weight:600}
.custody-identity p{margin:5px 0 0;color:var(--custody-muted);font-size:13px}.custody-identity p strong{margin-left:8px;color:var(--ink);font-weight:500}
.custody-status{flex-shrink:0;display:inline-flex;align-items:center;min-height:28px;max-width:100%;padding:3px 10px;border-radius:6px;background:var(--teal-soft);color:var(--teal);font-size:12px;font-weight:500}
.custody-due .custody-status{background:var(--custody-due-soft);color:var(--custody-due)}.custody-soon .custody-status{background:var(--custody-soon-soft);color:var(--custody-soon)}.custody-closed .custody-status{background:#edf0ed;color:var(--custody-muted)}
.custody-entry-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,.4fr);align-items:center;gap:24px;padding:18px 22px}
.custody-without-money{grid-template-columns:minmax(0,1fr)}
.custody-period dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0}
.custody-entry dt{font-size:12px;font-weight:400;color:var(--custody-muted);line-height:1.6}.custody-entry dd{margin:5px 0 0;color:var(--ink);font-size:14px;line-height:1.6;font-variant-numeric:tabular-nums}
.custody-period-hint{display:block;margin:5px 0 0;color:var(--custody-muted);font-size:12px;font-weight:400}.custody-due .custody-period-hint{color:var(--custody-due)}.custody-soon .custody-period-hint{color:var(--custody-soon)}
.custody-value{border-left:1px solid var(--line);padding-left:24px;text-align:right}
.custody-value>span,.custody-value>small{display:block;font-size:12px;line-height:1.6;color:var(--custody-muted)}
.custody-value>strong{display:block;margin:2px 0;font-size:24px;line-height:1.4;font-weight:600;color:var(--teal);font-variant-numeric:tabular-nums}
.custody-closed .custody-value>strong{color:var(--ink);font-size:21px}
.custody-entry-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:8px 22px;border-top:1px solid var(--line)}
.custody-record-details{min-width:0}
.custody-record-details>summary{display:flex;align-items:center;gap:5px;min-height:44px;width:fit-content;max-width:100%;padding:0 4px;list-style:none;color:var(--custody-muted);font-size:12px;cursor:pointer;border-radius:5px}
.custody-record-details>summary::-webkit-details-marker{display:none}.custody-record-details>summary:hover{color:var(--teal);background:var(--paper)}
.custody-record-details>summary:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.custody-details-open,.custody-record-details[open] .custody-details-closed{display:none}.custody-record-details[open] .custody-details-open{display:inline}.custody-record-details[open]>summary svg{transform:rotate(180deg)}
.custody-record-details>dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:0;padding:8px 0 16px}.custody-record-details dd{font-size:13px}.custody-detail-wide{grid-column:1/-1}
.custody-entry-actions .btn{font-size:13px;color:var(--teal);border-color:#b7d2c7;background:#f6faf7;box-shadow:none}
.custody-pagination{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:16px;font-size:13px;color:#526b63}
@media(max-width:1100px){.custody-search{grid-template-columns:repeat(2,minmax(0,1fr))}.custody-search-actions{grid-column:1/-1}}
@media(max-width:600px){
  .custody-search{grid-template-columns:minmax(0,1fr);padding:14px;gap:14px}.custody-search input{font-size:16px}.custody-search-actions{width:100%}.custody-pagination{justify-content:space-between}.nav-count{min-width:22px}
  .custody-entry-top{padding:16px 16px 0;gap:10px;flex-wrap:wrap}.custody-identity{flex:1 1 170px}.custody-identity h3{font-size:16px}
  .custody-entry-body{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.custody-period dl{gap:12px}
  .custody-value{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 10px;border-left:0;border-top:1px solid var(--line);padding:12px 0 0;text-align:left}
  .custody-value>strong{grid-column:2;grid-row:1/3;font-size:23px;text-align:right}.custody-value>small{grid-column:1}
  .custody-entry-footer{padding:8px 16px;gap:12px}.custody-record-details>dl{grid-template-columns:minmax(0,1fr)}
}
.sidebar-user p{font-size:12px;margin:7px 0 0;overflow-wrap:anywhere;color:#b9d9d0}
.workspace-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid #426c65;border-radius:10px;background:#0d2d2b}
.workspace-switch button{min-height:38px;padding:8px 6px;border-radius:7px;background:transparent;color:#b9d9d0;font-size:13px;white-space:nowrap}
.workspace-switch button[aria-pressed=true]{background:#e1eee7;color:#173d36;font-weight:600}
.workspace-current{padding:10px 12px;border:1px solid #426c65;border-radius:9px;color:#e1eee7;font-weight:500}
.nav-section{min-width:0}
.project-context{display:flex;align-items:center;gap:9px;min-width:0}.project-context>span,.scope-label{font-size:12px;color:var(--muted);white-space:nowrap}
.scope-label{padding:7px 12px;border:1px solid var(--line);border-radius:7px;background:white}
.workspace-intro{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 20px}
.workspace-shortcuts{display:flex;gap:12px;flex-wrap:wrap}
.section-tabs{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.section-tabs .btn{font-size:13px}
.alert-heading .toolbar{margin:0}
.side-note { margin-top:auto; border:1px solid #3b6f6a; background:#1c4946; border-radius:12px; padding:14px; color:#b9d9d0; font-size:12px; line-height:1.6; }
.main { min-width:0; }
.topbar { height:77px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); padding:0 36px; background:#f9faf6e8; backdrop-filter:blur(14px); position:sticky; top:0; z-index:2; }
.topbar h1 { margin:0; font-size:18px; font-weight:600; }
.top-actions { display:flex; align-items:center; gap:12px; }
.project-select,.search { background:#fff; border:1px solid var(--line); border-radius:9px; padding:9px 12px; color:var(--ink); }
.avatar { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#e4a979; font-weight:800; font-size:12px; }
.content { max-width:1440px; margin:0 auto; padding:34px 36px 60px; }
.kicker { display:flex; justify-content:space-between; align-items:end; margin-bottom:24px; }
.kicker h2 { font-size:26px; font-weight:600; margin:6px 0; letter-spacing:0; }
.kicker p { color:var(--muted); margin:0; font-size:14px; }
.btn { border-radius:9px; padding:10px 14px; font-weight:500; transition:.18s; }
.btn-primary { background:var(--teal); color:#fff; box-shadow:0 6px 14px #0f6a6222; }
.btn-primary:hover { background:#0b504a; transform:translateY(-1px); }
.btn-quiet { color:var(--teal); background:var(--teal-soft); }
.btn-ghost { background:transparent; border:1px solid var(--line); color:var(--ink); }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:20px; }
.metric { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:18px; box-shadow:var(--shadow); }
.metric .label { color:var(--muted); font-size:12px; }
.metric strong { display:block; font-size:27px; margin:11px 0 4px; letter-spacing:-.05em; }
.metric .hint { color:var(--teal); font-size:12px; }
.grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:18px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); overflow:hidden; }
.card-head { display:flex; justify-content:space-between; align-items:center; padding:18px 20px; border-bottom:1px solid var(--line); }
.card-head h3 { margin:0; font-size:15px; font-weight:600; }
.card-body { padding:18px 20px; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th { text-align:left; color:var(--muted); font-size:12px; font-weight:500; letter-spacing:0; padding:10px 20px; white-space:nowrap; }
td { padding:14px 20px; border-top:1px solid #edf1ed; white-space:nowrap; }
tr:hover td { background:#f9fbf7; }
.tag { display:inline-flex; padding:4px 8px; border-radius:99px; font-size:11px; font-weight:700; background:#eef1ee; color:#49615c; }
.tag.good { background:#dff2e8; color:#23735d; }.tag.warn { background:#fff0d4; color:#96601c; }.tag.coral { background:#ffe5dc; color:#a24e37; }
.activity { display:grid; gap:0; }
.activity-item { padding:15px 0; border-bottom:1px solid #edf1ed; display:grid; grid-template-columns:10px 1fr auto; gap:11px; align-items:start; }
.dot { width:8px; height:8px; border-radius:50%; background:var(--coral); margin-top:5px; }.dot.green { background:var(--teal); }.dot.amber { background:var(--amber); }
.activity-item strong { display:block; font-size:13px; }.activity-item span,.activity-item time { color:var(--muted); font-size:11px; line-height:1.7; }
.quick { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.quick button { background:#f3f7f2; border:1px solid var(--line); padding:15px 10px; border-radius:10px; text-align:left; color:var(--ink); }.quick button:hover { border-color:#9cc9bd; background:#eaf5ef; }
.quick b { display:block; font-size:13px; margin-top:8px; }.quick small { color:var(--muted); font-size:11px; }
.panel-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.asset-card { padding:17px; border:1px solid var(--line); border-radius:13px; background:#fff; }.asset-icon { width:38px;height:38px;border-radius:11px;background:#e7f2ec;display:grid;place-items:center;color:var(--teal);font-weight:600; }.asset-card h4 { margin:14px 0 5px; }.asset-card p { color:var(--muted); font-size:12px; margin:0 0 14px; }
.empty { text-align:center; color:var(--muted); padding:36px 20px; }
.modal-backdrop { position:fixed; inset:0; display:grid; place-items:center; background:#0e292880; z-index:10; padding:18px; }.modal { max-width:560px; width:100%; background:#fff; border-radius:15px; box-shadow:0 24px 80px #092c2b40; }.modal-head { padding:20px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; }.modal-head h3 { margin:0; }.modal-body { padding:20px; display:grid; gap:14px; }.field { display:grid; gap:6px; }.field label { font-size:12px; font-weight:700; }.field input,.field select,.field textarea { border:1px solid var(--line); border-radius:8px; padding:10px; color:var(--ink); background:#fbfcfa; }.field textarea { min-height:82px; resize:vertical; }.modal-foot { padding:0 20px 20px; display:flex; justify-content:flex-end; gap:9px; }
.toast { position:fixed; bottom:24px; right:24px; background:#173d3a; color:#e7f6ef; padding:13px 16px; border-radius:10px; box-shadow:0 12px 30px #0b2b2928; font-size:13px; z-index:20; animation:rise .25s ease-out; }
@keyframes rise { from { transform:translateY(10px); opacity:0; } }
@media(max-width:980px){ .shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:static;padding:15px 16px;display:block}.brand{margin-bottom:14px}.nav{display:flex;overflow:auto;max-width:100%}.nav button{white-space:nowrap}.side-note{display:none}.topbar{padding:0 18px}.content{padding:24px 18px 45px}.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.panel-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:600px){.topbar{height:auto;padding:13px 15px;gap:10px;align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.project-select{max-width:145px}.kicker{display:block}.kicker .btn{margin-top:15px}.metrics{gap:9px}.metric{padding:14px}.metric strong{font-size:23px}.grid{gap:12px}.panel-grid{grid-template-columns:1fr}.quick{grid-template-columns:1fr}.content{padding-left:14px;padding-right:14px}td,th{padding-left:13px;padding-right:13px}}


@media(max-width:980px){.shell{grid-template-rows:auto minmax(0,1fr)}.sidebar-user{display:none}.brand{margin-bottom:8px}.workspace-switch{max-width:280px;margin:12px 0}.workspace-current{display:none}.nav-label{display:none}.project-context{flex:1}.project-context .project-select{width:100%}}
@media(max-width:600px){
  .topbar h1{display:none}.top-actions{width:100%;flex-wrap:nowrap;justify-content:space-between;gap:6px}.project-select{min-width:0;flex:1;max-width:none}
  .table-wrap table,.table-wrap tbody{display:block}.table-wrap thead{display:none}.table-wrap tr{display:block;padding:12px 0;border-top:1px solid var(--line)}.table-wrap tr:first-child{border-top:0}
  .table-wrap td{display:block;white-space:normal;overflow-wrap:anywhere;padding:6px 14px;border:0;min-height:30px}.table-wrap td[data-label]::before{content:attr(data-label);display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
  .table-wrap td .btn{margin:2px 0;min-height:40px}.entry-dialog .card-body{padding:10px}.field input{min-width:0;width:100%}.modal-head{gap:10px}
}

.record-focus{outline:2px solid var(--teal);outline-offset:-2px;background:var(--teal-soft)}
.alert-panel{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:20px;margin-bottom:24px}
.alert-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.alert-heading h3{margin:0}.alert-heading p{font-size:12px;color:var(--muted);margin:7px 0 0}
.alert-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.alert-metric{border:1px solid var(--line);border-radius:12px;padding:16px;text-align:left;background:#f6f9f6;color:var(--ink);cursor:pointer}.alert-metric span,.alert-metric small{display:block}.alert-metric strong{display:block;font-size:30px;margin:8px 0}.alert-metric small{font-size:11px}.alert-metric.danger{background:#fff0ea;border-color:#e8b7a7;color:#9c3722}.alert-metric.amber{background:#fff8e9;border-color:#e6cd9d;color:#805212}.alert-metric:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.alert-project{max-width:420px;margin-bottom:18px}.alert-overdue{color:#9c3722}
@media(max-width:600px){.alert-panel{padding:14px}.alert-heading{align-items:flex-start;flex-wrap:wrap}.alert-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.alert-metric{padding:12px}}

.alert-workspace{--alert-red:#a13d29;--alert-red-soft:#fff0eb;--alert-amber:#855715;--alert-amber-soft:#fff5e3;--alert-muted:#566c65}
.alert-viewbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}
.alert-view-switch{display:flex;gap:24px}.alert-view{display:inline-flex;align-items:center;gap:9px;min-height:50px;padding:0 2px;border:0;border-bottom:3px solid transparent;background:transparent;font-size:15px;color:var(--alert-muted);white-space:nowrap}
.alert-view[aria-pressed=true]{border-bottom-color:var(--teal);color:var(--teal);font-weight:600}.alert-view span{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:21px;border-radius:5px;padding:0 6px;background:#e8eee9;font-size:12px;font-variant-numeric:tabular-nums}
.alert-view[aria-pressed=true] span{background:var(--teal-soft)}.alert-settings .btn{min-height:44px;padding:8px 12px;font-size:12px;background:transparent;box-shadow:none;color:var(--alert-muted)}
.alert-view-hint{margin:12px 0 20px;font-size:13px;color:var(--alert-muted)}
.alert-inbox{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.alert-filterbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}
.alert-type-filters{display:flex;gap:8px;flex-wrap:wrap}.alert-type{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 11px;border-radius:7px;background:transparent;color:var(--alert-muted);font-size:13px;white-space:nowrap}
.alert-type:hover{background:var(--paper)}.alert-type[aria-pressed=true]{background:#e8f2ed;color:var(--teal);font-weight:600}.alert-type span{font-size:12px;font-variant-numeric:tabular-nums;opacity:.85}
.alert-project-filter{display:flex;align-items:center;gap:10px;flex-shrink:0}.alert-project-filter label{color:var(--alert-muted);font-size:12px}.alert-project-filter select{min-height:40px;max-width:210px;border:1px solid var(--line);border-radius:7px;padding:8px 30px 8px 10px;background:white;color:var(--ink);font-size:13px}
.alert-list-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 20px;font-size:12px;color:var(--alert-muted)}.alert-list-meta .btn{padding:4px 8px;min-height:30px;font-size:12px;border:0;color:var(--teal)}
.alert-table table{table-layout:fixed;width:100%}.alert-table th{padding:12px 18px;background:#f6f8f5;color:var(--alert-muted)}.alert-table td{padding:20px 18px;white-space:normal;overflow-wrap:anywhere;vertical-align:top;font-size:13px;line-height:1.7}
.alert-table th:nth-child(1){width:20%}.alert-table th:nth-child(2){width:14%}.alert-table th:nth-child(3){width:17%}.alert-table th:nth-child(4){width:20%}.alert-table th:nth-child(5){width:17%}.alert-table th:nth-child(6){width:12%}
.alert-material{display:block;font-size:14px;font-weight:600;margin-bottom:5px;line-height:1.6}.alert-subtext{display:block;color:var(--alert-muted);font-size:12px;line-height:1.7;margin-top:5px}
.alert-status{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:5px;font-size:12px;font-weight:500;white-space:nowrap}.alert-status:before{content:"";display:block;width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.alert-status.danger{color:var(--alert-red);background:var(--alert-red-soft)}.alert-status.warning{color:var(--alert-amber);background:var(--alert-amber-soft)}.alert-status.resolved{color:var(--teal);background:#eaf3ee}
.alert-number{display:block;font-size:20px;line-height:1.5;font-weight:600;font-variant-numeric:tabular-nums}.alert-number small{font-size:12px;font-weight:400;color:var(--alert-muted)}.alert-measure{margin:0 0 2px}.alert-number+.alert-subtext{margin-top:3px}
.alert-time{font-variant-numeric:tabular-nums}.alert-time time{font-size:12px}.alert-overdue{color:var(--alert-red)}.alert-review-note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.alert-row-actions{display:flex;align-items:flex-start;flex-direction:column;gap:8px}.alert-row-actions .btn{min-height:40px;padding:8px 11px;font-size:12px;white-space:nowrap;box-shadow:none}.alert-row-actions .btn:hover{transform:none}
.alert-empty{text-align:center;padding:52px 20px;color:var(--alert-muted);font-size:13px}.alert-empty strong{font-size:15px;color:var(--ink);font-weight:500}.alert-empty p{margin:8px auto 0;max-width:420px}
.alert-help{margin-top:20px;font-size:12px;color:var(--alert-muted)}.alert-help>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none;width:fit-content}.alert-help>summary:before{content:"+";font-size:17px;color:var(--teal)}.alert-help[open]>summary:before{content:"−"}.alert-help p{max-width:850px;margin:8px 0;line-height:1.9}.alert-help .table-wrap{margin-top:16px}
@media(max-width:1200px){.alert-filterbar{flex-wrap:wrap}.alert-table td,.alert-table th{padding-left:12px;padding-right:12px}.alert-table th:nth-child(1){width:19%}.alert-table th:nth-child(4){width:19%}.alert-table th:nth-child(5){width:18%}.alert-table th:nth-child(6){width:13%}}
@media(max-width:760px){
  .alert-viewbar{align-items:flex-start;gap:10px;flex-wrap:wrap}.alert-view-switch{gap:22px}.alert-settings{margin-left:auto;align-self:center}.alert-settings .btn{font-size:11px;padding:8px}
  .alert-filterbar{padding:12px 14px;gap:12px}.alert-type-filters{gap:5px}.alert-type{min-height:44px;padding:8px 10px}.alert-project-filter{width:100%}.alert-project-filter select{min-height:44px;flex:1;max-width:none;font-size:16px}
  .alert-table table,.alert-table tbody{display:block}.alert-table thead{display:none}.alert-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 16px;padding:18px 16px;border-top:1px solid var(--line)}.alert-table tr:first-child{border-top:0}
  .alert-table td{display:block;padding:0;border:0;min-width:0}.alert-table td[data-label]:before{content:attr(data-label);display:block;font-size:11px;color:var(--alert-muted);margin-bottom:5px}.alert-table td:nth-child(1),.alert-table td:nth-child(4),.alert-table td:nth-child(5),.alert-table td:nth-child(6){grid-column:1/-1}
  .alert-table td:nth-child(1):before,.alert-table td:nth-child(2):before,.alert-table td:nth-child(3):before,.alert-table td:nth-child(6):before{display:none}.alert-table td:nth-child(2){grid-column:2;grid-row:2}.alert-table td:nth-child(3){grid-column:1;grid-row:2}
  .alert-table td:nth-child(1){padding-bottom:12px;border-bottom:1px solid var(--line)}.alert-table .alert-material{font-size:16px}.alert-table td:nth-child(4){font-size:14px}.alert-table td:nth-child(6){padding-top:12px;border-top:1px solid var(--line)}
  .alert-row-actions{flex-direction:row;flex-wrap:wrap;justify-content:flex-end}.alert-table td .btn{min-height:44px;margin:0}.alert-list-meta{padding:8px 16px}.alert-help{font-size:13px}.alert-view-hint{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.alert-workspace button{transition:none;transform:none}}
.ding-dialog{--ding-muted:#526b63;--ding-danger:#963c2d}
.ding-dialog>.modal-head,.ding-member>.modal-head{position:sticky;top:0;z-index:2;background:var(--card)}
.ding-dialog .modal-head p{margin:5px 0 0}.ding-dialog .modal-body{min-width:0}
.ding-dialog [data-ding-close]{flex-shrink:0;min-width:58px;white-space:nowrap}
.ding-intro{padding:12px 16px;border-left:3px solid var(--teal);background:var(--teal-soft);border-radius:5px}
.ding-intro p{margin:0;font-size:14px;line-height:1.8}
.ding-dialog .btn,.ding-member .btn{min-height:44px;min-width:44px;margin:0;font-size:13px}
.ding-dialog .toolbar{gap:8px}.ding-summary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 0}
.ding-summary strong{font-size:16px}.ding-summary span{color:var(--ding-muted);font-size:13px}
.ding-counts{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px 16px;background:var(--paper);border-radius:8px}
.ding-counts>span{font-size:13px;color:var(--ding-muted);display:flex;align-items:center;gap:10px}
.ding-counts strong{font-size:19px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.ding-controls,.ding-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ding-controls{justify-content:space-between;margin:16px 0}.ding-tabs .btn[aria-pressed=true]{background:var(--teal-soft);color:var(--teal);border-color:var(--teal)}
.ding-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 24px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center;overflow-wrap:anywhere}
.ding-row>div{min-width:0}.ding-row>div:nth-child(2){display:flex;align-items:center;justify-content:space-between;gap:12px}
.ding-row strong{font-size:15px;font-weight:600}.ding-row p{margin:4px 0 0;font-size:13px;color:var(--ding-muted);line-height:1.7}
.ding-row span{font-size:13px;line-height:1.7}.ding-row .ding-person-status{align-items:flex-end;flex-direction:column;gap:4px}
.ding-row-actions{display:flex;flex-wrap:wrap;gap:8px}.ding-id{font-variant-numeric:tabular-nums}
.ding-conflict{color:var(--ding-danger)}.ding-review-note{color:var(--ding-muted)}
.ding-empty{padding:24px 16px;text-align:center;background:var(--paper);border-radius:8px;font-size:14px;line-height:1.8}.ding-empty p{margin:8px 0 0;color:var(--ding-muted)}
.ding-pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:16px 0 0}
.ding-pagination span{margin-right:auto;font-size:13px;color:var(--ding-muted)}
.ding-dialog input,.ding-dialog select{width:100%;box-sizing:border-box;min-height:44px}
.ding-relation{padding:14px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;overflow-wrap:anywhere}
.ding-relation>div{min-width:0}.ding-relation strong{font-size:14px}.ding-relation p{font-size:13px;line-height:1.7;color:#526b63;margin:5px 0 0}
.ding-dialog .btn:focus-visible,.ding-member .btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
@media(max-width:600px){
  .ding-dialog .ding-toolbar{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.ding-toolbar .btn{text-align:left}
  .ding-counts{gap:8px 14px;padding:12px}.ding-counts>span{font-size:12px;gap:6px}.ding-counts strong{font-size:17px}
  .ding-controls{align-items:stretch;flex-direction:column}.ding-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.ding-tabs .btn{padding:8px 4px}
  .ding-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px 0}.ding-row>div:nth-child(2){align-items:flex-start}.ding-row .ding-person-status{align-items:flex-start}
  .ding-dialog input,.ding-dialog select{font-size:16px}.ding-relation{align-items:flex-start;flex-direction:column;gap:8px}
}
@media(prefers-reduced-motion:reduce){.ding-dialog .btn,.ding-member .btn{transition:none;transform:none}}
.org-directory{--org-muted:#526b63;min-width:0}.org-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 16px}.org-heading h3{font-size:18px;margin:0}.org-heading p{font-size:13px;color:var(--org-muted);margin:4px 0 0}.org-directory button,.org-access-dialog button{min-height:44px;min-width:44px;cursor:pointer}
.org-directory button:focus-visible,.org-access-dialog :focus-visible{outline:2px solid var(--teal);outline-offset:2px}.org-layout{display:grid;grid-template-columns:270px minmax(0,1fr);border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden;min-width:0}.org-tree{padding:12px 8px;background:#f8faf7;border-right:1px solid var(--line);max-height:760px;overflow:auto}.org-tree ul{list-style:none;padding:0;margin:0}.org-node{display:flex;align-items:center;padding-left:calc(var(--org-depth)*10px);gap:2px;min-width:0}.org-expand{border:0;background:transparent;color:var(--org-muted);font-size:18px;padding:0;flex-shrink:0}.org-leaf{width:44px;flex-shrink:0}
.org-node-label,.org-all{font:inherit;border:0;background:transparent;text-align:left;border-radius:6px;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 8px;color:var(--ink);width:100%}.org-node-label span{overflow-wrap:anywhere;font-size:13px}.org-node-label small{font-size:12px;color:var(--org-muted)}.org-node-label:hover,.org-all:hover{background:var(--teal-soft)}.org-tree [aria-current=true]{background:var(--teal-soft);color:var(--teal);font-weight:600}.org-all{margin-bottom:8px;font-size:14px}.org-main{padding:20px;min-width:0}.org-search label{display:block;font-size:13px;font-weight:500;margin-bottom:6px}.org-search input{font:inherit;width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--line);border-radius:7px;padding:9px 12px}
.org-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0 12px;border-bottom:1px solid var(--line)}.org-list-heading span{font-size:13px;color:var(--org-muted)}.org-person{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}.org-person strong{font-size:15px;font-weight:600}.org-person p{font-size:12px;line-height:1.8;color:var(--org-muted);margin:5px 0 0;overflow-wrap:anywhere}.org-access{display:flex;align-items:flex-end;flex-direction:column;gap:6px}.org-access .btn{margin:0}.org-access small{font-size:12px;color:var(--org-muted);overflow-wrap:anywhere}.org-access .tag{white-space:normal}.org-empty{padding:40px 10px;text-align:center;color:var(--org-muted)}.org-pagination{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding-top:16px}.org-pagination span{margin-right:auto;font-size:13px;color:var(--org-muted)}.org-sync-status{padding:10px 14px;background:var(--teal-soft);color:var(--teal);border-radius:6px;font-size:13px}.org-settings{margin-top:24px}.org-settings>summary{cursor:pointer;min-height:44px;color:var(--muted);font-size:13px}.org-settings>summary:focus-visible{outline:2px solid var(--teal)}
.org-access-dialog .modal-head{align-items:flex-start}.org-access-dialog .modal-head>div{min-width:0}.org-access-dialog [data-access-close]{flex-shrink:0;white-space:nowrap}.org-access-dialog .modal-head p{margin:4px 0 0;overflow-wrap:anywhere}.org-account-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.org-account-fields .field:first-child{grid-column:1/-1}.org-account-fields .field{margin:0}.org-access-dialog input:not([type=checkbox]),.org-access-dialog select{box-sizing:border-box;width:100%;font:inherit;min-height:44px;border:1px solid var(--line);border-radius:6px;padding:8px;background:white;color:var(--ink)}.org-hq-option{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px;background:var(--teal-soft);border-radius:8px;margin:18px 0}.org-hq-option small{display:block;font-size:12px;color:#405e53;margin-top:3px}.org-access-dialog input[type=checkbox]{width:20px;height:20px;accent-color:var(--teal);flex-shrink:0}.org-project-heading h4{font-size:15px;margin:0}.org-project-heading p{margin:4px 0 12px}.org-grant-list{border:1px solid var(--line);border-radius:8px;padding:0 12px}.org-grant-row{display:grid;grid-template-columns:minmax(0,1fr) 180px 95px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.org-grant-row:last-child{border:0}.org-grant-row>label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;cursor:pointer}.org-grant-row select:disabled{opacity:.55;background:var(--paper)}
@media(max-width:900px){.org-layout{grid-template-columns:220px minmax(0,1fr)}.org-main{padding:14px}.org-person{grid-template-columns:minmax(0,1fr)}.org-access{flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:flex-end}.org-access .tag{margin-right:auto}}
@media(max-width:600px){.org-heading{align-items:flex-start;flex-wrap:wrap}.org-layout{grid-template-columns:minmax(0,1fr)}.org-tree{border-right:0;border-bottom:1px solid var(--line);max-height:240px}.org-main{padding:14px}.org-search input{font-size:16px}.org-person p{font-size:13px}.org-heading .btn{margin:0}.org-account-fields{grid-template-columns:minmax(0,1fr)}.org-account-fields .field:first-child{grid-column:auto}.org-grant-row{grid-template-columns:minmax(0,1fr) 90px;gap:6px 10px}.org-grant-row>label{grid-column:1/-1}.org-access-dialog select,.org-access-dialog input:not([type=checkbox]){font-size:16px}}
@media(prefers-reduced-motion:reduce){.org-directory button,.org-access-dialog button{transition:none;transform:none}}
.org-access-dialog [hidden]{display:none!important}.org-grant-row>label>span{min-width:0;overflow-wrap:anywhere}.org-grant-row>label small{display:block;margin-top:2px}.org-access-dialog .org-search{margin:0 0 12px}
.org-site-message,.org-project-empty{padding:24px;line-height:1.8}.org-site-message h3{margin:0 0 10px}.org-site-message p,.org-project-empty p{color:var(--muted);margin:0 0 16px}.org-site-message a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.org-project-empty p{margin:8px 0 0}
.org-heading{margin-bottom:12px;gap:12px}.org-heading h3{font-size:16px}.org-heading p{font-size:12px;margin-top:3px}
.org-layout{container:org-directory / inline-size;grid-template-rows:auto auto minmax(0,1fr) auto}
.org-tree,.org-main{display:grid;grid-template-rows:subgrid;grid-row:1/5;row-gap:0}
.org-tree{grid-column:1;max-height:none;overflow:visible}
.org-main{grid-column:2;padding:12px 16px;min-width:0}
.org-tree-toolbar{display:flex;align-items:center;margin-bottom:10px;min-width:0}
.org-all{margin:0;font-size:13px}
.org-tree-columns{grid-row:2;display:flex;align-items:center;padding:8px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--org-muted);font-size:12px}
.org-tree>ul{grid-row:3;min-height:0;contain:size;overflow:auto}
.org-node{min-height:53px;box-sizing:border-box;border-bottom:1px solid transparent}
.org-node-label{line-height:1.5}.org-node-label small{flex-shrink:0}
.org-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;min-width:0}
.org-list-toolbar .org-list-heading{padding:0;border:0;justify-content:flex-start;gap:10px;min-width:0;flex-wrap:wrap}
.org-list-heading strong{font-size:13px;font-weight:600}.org-list-heading span{font-size:12px}
.org-list-toolbar .org-search{width:260px;max-width:52%;flex-shrink:0}
.org-list-toolbar .org-search label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.org-list-toolbar .org-search input{font-size:13px;padding:8px 10px;border-radius:6px}
.org-person-columns,.org-person{display:grid;grid-template-columns:88px minmax(0,1fr) 140px 80px;column-gap:12px;align-items:center}
.org-person-columns{grid-row:2;padding:8px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--org-muted);font-size:12px}
.org-people{grid-row:3;min-width:0}
.org-person-columns>span:last-child{text-align:center}
.org-person{padding:4px 8px;row-gap:0;min-width:0;border-bottom:1px solid var(--line);transition:background .15s}
.org-person:hover,.org-person:focus-within{background:#f7faf7}
.org-person>div{min-width:0}
.org-person strong{font-size:13px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}
.org-person .org-department{font-size:12px;line-height:1.5;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.org-access{align-items:flex-start;justify-content:center;flex-direction:column;flex-wrap:nowrap;gap:1px}
.org-status{display:block;max-width:100%;font-size:12px;font-weight:400;line-height:1.5;color:var(--org-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.org-status::before{content:"";display:inline-block;width:5px;height:5px;margin:0 6px 2px 0;border-radius:50%;background:var(--org-muted)}
.org-status.enabled{color:var(--teal)}.org-status.enabled::before{background:var(--teal)}
.org-status.needs-review{color:#805212}.org-status.needs-review::before{background:#805212}
.org-access small{max-width:100%;font-size:12px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.org-person-action{display:flex;justify-content:flex-end}
.org-person .org-person-edit{width:80px;min-height:44px;border:0;box-shadow:none;background:transparent;color:var(--teal);font-size:12px;font-weight:500;padding:6px 8px;border-radius:6px;white-space:nowrap;margin:0}
.org-person .org-person-edit:hover{background:var(--teal-soft)}
.org-pagination{grid-row:4;padding-top:10px}.org-pagination span{font-size:12px}
@container org-directory (max-width:872px){
  .org-list-toolbar{align-items:flex-start;flex-wrap:wrap}.org-list-toolbar .org-search{max-width:100%;width:100%;flex:1 1 100%}
  .org-person-columns{grid-template-columns:minmax(0,1fr)}.org-person-columns>span:not(:first-child){display:none}
  .org-person{grid-template-columns:minmax(0,1fr) 80px;grid-template-areas:"identity action" "departments action" "access action";padding:8px 4px;gap:2px 10px}
  .org-person-identity{grid-area:identity}.org-person-departments{grid-area:departments}.org-person-action{grid-area:action}
  .org-access{grid-area:access;flex-direction:row;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;gap:0 8px}
}
@media(max-width:600px){.org-layout{grid-template-rows:none}.org-tree,.org-main{display:block;grid-column:auto;grid-row:auto}.org-tree{max-height:240px;overflow:auto}.org-tree>ul{contain:none;overflow:visible}.org-main{padding:12px}.org-list-toolbar .org-search input{font-size:16px}.org-heading .btn{font-size:12px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.org-person{transition:none}}
.entry-dialog.access-simple-dialog{--access-muted:#526b63;max-width:740px;overflow:hidden}
.access-simple-dialog>form,.access-simple-dialog>.access-result-layout{display:flex;flex-direction:column;max-height:88dvh}
.access-simple-dialog .modal-head{flex-shrink:0;padding:18px 22px;gap:12px}
.access-simple-dialog .modal-head h3{font-size:18px}
.access-simple-dialog .modal-body{overflow-y:auto;min-height:0;padding:16px 22px 20px;gap:18px}
.access-simple-dialog .form-hint{color:var(--access-muted);line-height:1.7;font-size:13px;margin:6px 0}
.access-simple-dialog .modal-foot{flex-shrink:0;align-items:center;padding:12px 22px;border-top:1px solid var(--line);background:var(--card);flex-wrap:wrap}
.access-save-summary{margin-right:auto;font-size:13px;color:var(--access-muted)}
.access-simple-dialog summary{cursor:pointer;min-height:44px;line-height:1.6;padding:10px 0;color:var(--teal);font-size:14px}
.access-origin{font-size:13px;color:var(--access-muted);margin-top:-8px}
.access-origin summary{font-size:13px;color:var(--access-muted)}
.access-origin p{margin:0 0 8px;line-height:1.8;overflow-wrap:anywhere}
.access-role-field{padding:0;margin:0;border:0;min-width:0}
.access-role-field legend,.access-scope h4{padding:0;margin:0 0 12px!important;font-size:15px;font-weight:600;line-height:1.6}
.access-role-field legend>span,.access-scope h4>span{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:5px;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-size:13px;font-variant-numeric:tabular-nums}
.access-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.access-role-card{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:10px;padding:14px 12px;min-height:84px;box-sizing:border-box;cursor:pointer;background:var(--card);transition:background .18s,border-color .18s}
.access-role-card:hover{border-color:var(--teal)}
.access-role-card.is-selected{background:var(--teal-soft);border-color:var(--teal)}
.org-access-dialog.access-simple-dialog input[type=radio]{appearance:auto;width:18px;height:18px;min-height:0;flex:0 0 18px;padding:0;margin:3px 0 0;accent-color:var(--teal)}
.access-role-card span{min-width:0}.access-role-card strong{font-size:15px;line-height:1.6;font-weight:600;display:block}
.access-role-card small{display:block;color:var(--access-muted);font-size:12px;line-height:1.7;margin-top:3px}
.access-project-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.access-project-chip{border:1px solid var(--line);background:var(--paper);padding:7px 11px;border-radius:6px;font-size:14px;line-height:1.6;overflow-wrap:anywhere;max-width:100%;box-sizing:border-box}
.access-project-picker{margin-top:4px}
.access-project-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;max-height:250px;overflow:auto;padding:4px}
.access-project-option{display:flex;gap:10px;align-items:center;min-height:48px;padding:7px 8px;border-radius:6px;font-size:14px;cursor:pointer;min-width:0}
.access-project-option:has(input:checked){background:var(--teal-soft)}
.access-project-option input{margin:0}
.access-project-option span{min-width:0;overflow-wrap:anywhere}
.access-project-option small{display:block;font-size:12px;line-height:1.6;color:var(--access-muted)}
.access-department{max-width:360px;margin-top:10px}
.access-simple-dialog .field label{font-size:13px}
.access-preserved,.access-hq-note{font-size:14px;line-height:1.8;padding:12px 14px;border-radius:8px;background:var(--teal-soft);margin:4px 0}
.access-account-note{font-size:13px;color:var(--access-muted);margin:0}
.access-account-note strong{color:var(--ink);font-weight:500}
.access-advanced{border-top:1px solid var(--line);padding-top:6px}
.access-advanced>summary{color:var(--access-muted)}
.access-advanced>summary span{font-size:12px;margin-left:12px}
.access-individual{margin:0 0 14px}
.access-individual-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 120px auto;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}
.access-individual-row>strong{font-size:14px;line-height:1.7;font-weight:500;align-self:center;overflow-wrap:anywhere}
.access-individual-row .btn{margin:0}
.access-revoke{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}
.access-revoke .btn{color:#a43228}
.access-revoke>label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;color:#a43228;cursor:pointer;margin:8px 0}
.access-revoke-note{padding:12px 14px;background:#fff0ec;border-radius:8px;font-size:14px;color:#a43228;line-height:1.8}
.access-password-result{display:flex;gap:8px;align-items:center;min-width:0}
.access-password-result input{flex:1;min-width:0}.access-password-result .btn{margin:0;flex-shrink:0}
.access-credentials>p{line-height:1.8;font-size:14px;margin:0}
.access-simple-dialog summary:focus-visible,.access-simple-dialog label:focus-within{outline:2px solid var(--teal);outline-offset:3px}
@media(max-width:600px){
  .entry-dialog.access-simple-dialog{width:calc(100% - 20px);max-height:92dvh}
  .access-simple-dialog>form,.access-simple-dialog>.access-result-layout{max-height:92dvh}
  .access-simple-dialog .modal-head{padding:14px 16px}.access-simple-dialog .modal-head h3{font-size:16px}
  .access-simple-dialog .modal-body{padding:12px 16px 16px;gap:16px}.access-simple-dialog .modal-foot{padding:12px 16px}
  .access-role-grid{gap:8px}.access-role-card{padding:12px 8px;gap:7px;min-height:100px}
  .access-role-card strong{font-size:14px}.access-role-card small{font-size:12px}
  .access-project-options{grid-template-columns:minmax(0,1fr)}
  .access-individual-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
  .access-individual-row>strong{grid-column:1/-1}.access-advanced>summary span{display:block;margin:3px 0 0}
  .access-save-summary{font-size:12px;flex:1;min-width:0}
}
@media(prefers-reduced-motion:reduce){.access-role-card{transition:none}}
.account-dialog{max-width:560px;box-sizing:border-box}
.account-dialog[open]{display:flex;flex-direction:column}
.account-dialog>.modal-body{display:block;overflow-y:auto}
.account-dialog .modal-head{flex-shrink:0}
.account-summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.account-summary strong{font-size:16px;overflow-wrap:anywhere}
.account-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);margin-bottom:18px}
.account-tabs button{min-height:44px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:8px 10px;font:inherit;font-size:13px;cursor:pointer}
.account-tabs button[aria-pressed=true]{color:var(--teal);border-bottom-color:var(--teal);font-weight:600}
.account-tabs button:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}
.account-dialog form{display:grid;gap:12px}
.account-dialog .form-hint{margin:0;line-height:1.75}
.account-dialog .field{display:grid;gap:6px}
.account-dialog input,.account-dialog select{min-height:44px}
.account-dialog button,.account-first-change button{min-height:44px}
.account-pending{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--teal-soft);margin:0 0 14px;font-size:13px;overflow-wrap:anywhere}
.account-pending p{margin:6px 0 0}
.top-actions{flex-wrap:wrap}
@media(max-width:600px){.topbar{height:auto;min-height:77px;gap:10px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.top-actions{gap:6px;width:100%}.top-actions .btn{min-height:44px;padding:8px 10px}.account-dialog{width:calc(100% - 20px);max-height:90dvh}.account-dialog .field input,.account-dialog .field select{font-size:16px}.account-first-change{margin:16px 10px;padding:20px;box-sizing:border-box}}
.ding-gate{position:relative;isolation:isolate;min-height:100dvh;display:grid;place-items:center;padding:32px 18px;color:#fff;background:#1a2430}
.ding-gate-scene{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 46%,#0c121838 0%,#0c121894 62%,#0c1218b8 100%),linear-gradient(180deg,#0c12182e 0%,#0c12188c 100%),url("/assets/property_inventory/login-bg.jpg") center/cover no-repeat}
.ding-gate-stage{width:min(540px,100%);min-width:0;display:flex;align-items:center;flex-direction:column;text-align:center;padding-bottom:env(safe-area-inset-bottom)}
.ding-gate-clock{font-size:14px;font-variant-numeric:tabular-nums;color:#ffffffd6;margin:0 0 16px}
.ding-gate h1{display:flex;align-items:center;justify-content:center;gap:12px;margin:0;color:#fff;font-size:36px;font-weight:700;line-height:1.3;letter-spacing:0}
.ding-gate h1 img{flex-shrink:0;object-fit:contain}.ding-gate h1 small{font-size:12px;font-weight:500;display:inline-block;vertical-align:middle;margin-left:6px;color:#ffffffc7}
.ding-gate-kicker{margin:8px 0 28px;font-size:16px;color:#ffffffc7}
.ding-qr{position:relative;flex-shrink:0;width:300px;height:300px;overflow:hidden;background:white;border-radius:8px}
.ding-qr #dingLoginQr,.ding-qr iframe{display:block;width:300px;height:300px;border:0}
.ding-qr-cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:32px;background:#fff;color:#4b5563;font-size:14px;line-height:1.8}
.ding-qr-cover[hidden]{display:none}
.ding-gate-instruction{margin:14px 0 0;font-size:14px;color:#ffffffed}
.ding-gate-actions{display:flex;align-items:center;justify-content:center;gap:12px;color:#ffffff73}
.ding-gate button,.ding-recovery summary{font:inherit;cursor:pointer}
.ding-gate-actions button,.ding-gate-switch{min-height:44px;border:0;padding:8px 2px;background:transparent;color:#ffffffd6;font-size:13px}
.ding-gate-actions button:hover,.ding-recovery summary:hover{color:#fff}
.ding-gate button:disabled{cursor:wait;opacity:.6}
.ding-gate button:focus-visible,.ding-recovery summary:focus-visible{outline:2px solid #8ec0ff;outline-offset:4px;border-radius:4px}
.ding-gate .ding-login-scope{max-width:360px;margin:0;font-size:12px;line-height:1.8;color:#ffffffb8}
.ding-gate .ding-gate-error{max-width:380px;margin:12px 0 0;color:#ffd7a8;font-size:13px;line-height:1.8}
.ding-gate-error:empty{display:none}
.ding-recovery{width:min(300px,100%);margin-top:16px}
.ding-recovery summary{display:inline-flex;align-items:center;min-height:44px;list-style:none;color:#ffffffc7;font-size:13px}
.ding-recovery summary::-webkit-details-marker{display:none}
.ding-recovery .form-hint{font-size:12px;color:#ffffffb8}
.ding-gate-password{display:grid;gap:10px;width:min(300px,100%);margin:12px auto 0;text-align:left}
.ding-gate-password .field{gap:4px}.ding-gate-password label{font-size:12px;font-weight:400;color:#ffffffd6}
.ding-gate-password input{min-height:44px;min-width:0;width:100%;border:1px solid #ffffff47;border-radius:8px;padding:10px 12px;font:inherit;font-size:14px;background:#0c1218b8;color:#fff}
.ding-gate-password input::placeholder{color:#ffffff8c}.ding-gate-password input:focus{outline:2px solid #8ec0ff;outline-offset:2px}
.ding-gate-password button{min-height:44px;border:0;border-radius:8px;padding:10px 14px;background:#1677ff;color:#fff;font-size:14px}
@media(min-width:900px){.ding-gate h1{font-size:44px}}
@media(max-width:600px){.ding-gate{padding:24px 12px}.ding-gate h1{font-size:28px;gap:8px}.ding-gate h1 img{width:36px;height:36px}.ding-gate-kicker{font-size:14px;margin-bottom:24px}.ding-gate-password input{font-size:16px}}
@media(max-width:330px){.ding-gate{padding-inline:8px}.ding-gate h1{font-size:25px}}
