@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@600&family=Plus+Jakarta+Sans:wght@400;600;700&family=JetBrains+Mono:wght@500&display=swap";:root{--btn-radius: var(--radius-sm);--btn-radius-pill: var(--radius-pill);--btn-gap: .4rem;--btn-font-weight: 600;--btn-transition: background-color .15s var(--ease), border-color .15s var(--ease), box-shadow .15s var(--ease), color .15s var(--ease), transform .15s var(--ease), opacity .15s var(--ease);--btn-padding-sm: .35rem .7rem;--btn-font-sm: .78rem;--btn-gap-sm: .3rem;--btn-padding-md: .55rem 1.1rem;--btn-font-md: .875rem;--btn-padding-lg: .8rem 1.7rem;--btn-font-lg: 1rem;--btn-danger-ring: rgba(179, 66, 58, .25)}.btn,button{appearance:none;-webkit-appearance:none;-moz-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap);margin:0;border:none;outline:none;background:none;text-decoration:none;font-family:inherit;font-weight:var(--btn-font-weight);line-height:1.2;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--btn-radius);transition:var(--btn-transition);padding:var(--btn-padding-md);font-size:var(--btn-font-md)}a.btn{display:inline-flex}.btn:disabled,.btn.is-disabled,.btn[aria-disabled=true],button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn[aria-busy=true],button[aria-busy=true]{opacity:.85;cursor:progress;pointer-events:none}.btn[aria-busy=true]:before,button[aria-busy=true]:before{content:"";flex-shrink:0;width:.85em;height:.85em;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;opacity:.9;animation:spin .7s linear infinite}.btn:focus-visible,button:focus-visible{box-shadow:var(--focus-ring)}.btn:active:not(:disabled):not(.is-disabled),button:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled):not(.is-disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary,.secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled):not(.is-disabled),.secondary:hover:not(:disabled){background:var(--color-surface-alt)}.btn-danger,.danger{background:var(--color-red);color:#fff}.btn-danger:hover:not(:disabled):not(.is-disabled),.danger:hover:not(:disabled){background:#a01f2e;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger:focus-visible,.danger:focus-visible{box-shadow:var(--focus-ring-danger)}.btn-ghost{background:transparent;color:var(--color-text-muted);padding:var(--btn-padding-sm);font-size:var(--btn-font-sm)}.btn-ghost:hover:not(:disabled):not(.is-disabled){background:var(--color-surface-alt);color:var(--color-text)}.btn-link,.link-button{background:none;color:var(--color-primary);padding:0 .4rem;margin:0 -.4rem;text-decoration:none;font-weight:600;border-radius:var(--radius-xs)}.btn-link:hover:not(:disabled):not(.is-disabled),.link-button:hover:not(:disabled){background:var(--color-surface-alt);color:var(--color-primary-hover)}.btn-link.btn-danger-text,.link-button.danger-text{color:var(--color-red)}.btn-link.btn-danger-text:hover:not(:disabled):not(.is-disabled),.link-button.danger-text:hover:not(:disabled){background:#b3423a1a;color:#a01f2e}.btn-sm{padding:var(--btn-padding-sm);font-size:var(--btn-font-sm);gap:var(--btn-gap-sm)}.btn-md{padding:var(--btn-padding-md);font-size:var(--btn-font-md)}.btn-lg{padding:var(--btn-padding-lg);font-size:var(--btn-font-lg)}.btn-link.btn-sm,.link-button.btn-sm{font-size:var(--btn-font-sm)}.btn-link.btn-lg,.link-button.btn-lg{font-size:var(--btn-font-lg)}.btn svg,button svg{flex-shrink:0;width:1em;height:1em}.btn-icon{padding:.4rem;aspect-ratio:1 / 1;font-size:1rem;line-height:1}.btn-icon.btn-sm{padding:.25rem;font-size:.85rem}.btn-icon.btn-lg{padding:.6rem;font-size:1.3rem}.btn-icon-right{flex-direction:row-reverse}.matrix-wrap{overflow:auto;max-height:460px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}table.matrix{border-collapse:separate;border-spacing:0;width:100%;min-width:640px}table.matrix th,table.matrix td{padding:.6rem .75rem;border-bottom:1px solid var(--color-border);text-align:left}table.matrix thead th{background:var(--color-surface-alt);font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;position:sticky;top:0;z-index:2}table.matrix thead th.product-col,table.matrix tbody td.product-col{position:sticky;left:0;background:var(--color-surface-alt);z-index:2;min-width:200px}table.matrix thead th.product-col{z-index:3}table.matrix tbody td.product-col{background:var(--color-surface);z-index:1}table.matrix tbody tr:last-child td{border-bottom:none}table.matrix td.cell{text-align:center}.cell-val{border:none;background:var(--color-primary-bg);color:var(--color-primary);font-weight:700;font-size:.85rem;min-width:34px;padding:.35rem .6rem;border-radius:var(--radius-sm);cursor:pointer}.cell-val:hover{background:var(--color-primary);color:#fff}.cell-val.attn{background:var(--color-red-bg);color:var(--color-red)}.cell-val.attn:hover{background:var(--color-red);color:#fff}.cell-val.pend{box-shadow:inset 0 0 0 2px var(--color-amber)}.cell-empty{color:var(--color-border);font-size:.85rem}.cell-add{border:1px dashed var(--color-border);background:none;color:var(--color-text-muted);font-weight:600;font-size:.85rem;min-width:34px;padding:.3rem .55rem;border-radius:var(--radius-sm);cursor:pointer}.cell-add:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-bg)}.priority-list{display:flex;flex-direction:column;gap:.5rem;max-height:420px;overflow-y:auto}.priority-row{display:flex;align-items:center;gap:.75rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.55rem .75rem}.priority-row-name{flex:1 1 auto;font-weight:600;font-size:.9rem;min-width:0}.priority-row-meta{font-family:var(--font-mono, monospace);color:var(--color-text-muted);font-size:.75rem;display:block;margin-top:.1rem}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-primary);color:#fff;font-weight:700;font-size:.68rem;flex-shrink:0}.order-btns{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.order-btns button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;font-size:.6rem;padding:1px 6px;color:var(--color-text-muted);line-height:1.4}.order-btns button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.order-btns button:disabled{opacity:.35;cursor:default}.pd-theme{--pd-ink: #1c211d;--pd-ink-muted: #5b6259;--pd-ink-faint: #7f867b;--pd-surface-page: #f6f4ef;--pd-surface: #fffdf9;--pd-surface-alt: #f0efe7;--pd-border: #e2ded2;--pd-border-strong: #cac5b4;--pd-brand: #344c3d;--pd-brand-hover: #263a2e;--pd-brand-tint: #e5ebe4;--pd-brand-ring: rgba(52, 76, 61, .22);--pd-gold: #a8792f;--pd-gold-tint: #f6ecd8;--pd-success: #0f7a68;--pd-success-bg: #e2f2ec;--pd-danger: #b3423a;--pd-danger-bg: #fae9e6;--pd-warning: #8a5f16;--pd-warning-bg: #f8f0dc;--pd-info: #33587f;--pd-info-bg: #e7eff6;--pd-neutral-bg: #eae8de;--pd-on-brand: #fdfbf6;--pd-font-display: "Fraunces", Georgia, "Times New Roman", serif;--pd-font-ui: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--pd-font-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;--pd-radius-xs: 4px;--pd-radius-sm: 6px;--pd-radius-md: 10px;--pd-radius-lg: 20px;--pd-radius-pill: 999px;--pd-shadow-sm: 0 1px 2px rgba(28, 33, 29, .07);--pd-shadow-md: 0 6px 20px rgba(28, 33, 29, .1);--pd-shadow-lg: 0 20px 48px rgba(28, 33, 29, .16);--pd-sp-4: 4px;--pd-sp-8: 8px;--pd-sp-12: 12px;--pd-sp-16: 16px;--pd-sp-20: 20px;--pd-sp-24: 24px;--pd-sp-32: 32px;color-scheme:light;background:var(--pd-surface-page);color:var(--pd-ink);font:400 14px/21px var(--pd-font-ui);width:100%;max-width:var(--page-max-w);margin:0 auto;min-width:0;display:flex;flex-direction:column;gap:var(--pd-sp-24)}.pd-theme,.pd-theme *{box-sizing:border-box}.pd-theme h1{font:600 28px/34px var(--pd-font-display);letter-spacing:-.01em;margin:0;text-wrap:balance;color:var(--pd-ink)}.pd-theme h1 .refresh-indicator{font-family:var(--pd-font-ui);font-size:13px;margin-left:10px;color:var(--pd-ink-muted)}.pd-theme h2{font:700 16px/22px var(--pd-font-ui);letter-spacing:-.005em;margin:0 0 12px;color:var(--pd-ink)}.pd-theme p{margin:0}.pd-theme .page-intro,.pd-theme .section-intro,.pd-theme .hint-text{color:var(--pd-ink-muted);font-size:13px;line-height:18px;margin:6px 0 0;max-width:68ch}.pd-theme .section-intro{margin:0;max-width:72ch}.pd-theme .hint-text.mt-0,.pd-theme p.mt-0,.pd-theme .mt-0{margin-top:0}.pd-theme .mt-4{margin-top:16px}.pd-theme .code{font:500 13px/18px var(--pd-font-mono);background:var(--pd-surface-alt);padding:2px 6px;border-radius:var(--pd-radius-xs);color:var(--pd-ink)}.pd-theme button,.pd-theme .btn{font-family:var(--pd-font-ui);font-weight:600;border-radius:var(--pd-radius-sm);padding:10px 20px;font-size:14px;line-height:18px;border:none;background:var(--pd-brand);color:var(--pd-on-brand);transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.pd-theme button:hover:not(:disabled),.pd-theme .btn:hover:not(:disabled){background:var(--pd-brand-hover)}.pd-theme button:disabled,.pd-theme .btn:disabled,.pd-theme button.is-disabled{opacity:.5;cursor:not-allowed}.pd-theme button:focus-visible,.pd-theme .btn:focus-visible{box-shadow:0 0 0 3px var(--pd-brand-ring);outline:none}.pd-theme .btn-secondary,.pd-theme .secondary{background:var(--pd-surface);color:var(--pd-ink);border:1px solid var(--pd-border);box-shadow:var(--pd-shadow-sm)}.pd-theme .btn-secondary:hover:not(:disabled),.pd-theme .secondary:hover:not(:disabled){background:var(--pd-surface-alt)}.pd-theme .btn-danger,.pd-theme .danger{background:var(--pd-danger);color:var(--pd-on-brand)}.pd-theme .btn-danger:hover:not(:disabled),.pd-theme .danger:hover:not(:disabled){background:#973730}.pd-theme .btn-link,.pd-theme .link-button{background:none;border:none;padding:0;margin:0;color:var(--pd-ink-muted);text-decoration:underline;font:600 13px var(--pd-font-ui)}.pd-theme .btn-link:hover:not(:disabled),.pd-theme .link-button:hover:not(:disabled){color:var(--pd-ink);background:none}.pd-theme .btn-link.danger-text,.pd-theme .btn-link.btn-danger-text,.pd-theme .link-button.danger-text{color:var(--pd-danger)}.pd-theme .btn-sm,.pd-theme .link-button.btn-sm,.pd-theme .btn-link.btn-sm{font-size:12px}.pd-theme .btn-icon,.pd-theme .modal-close{background:none;border:none;color:var(--pd-ink-muted);font-size:18px;line-height:1;padding:4px}.pd-theme .btn-icon:hover,.pd-theme .modal-close:hover{color:var(--pd-ink);background:none}.pd-theme button[aria-busy=true]:before,.pd-theme .btn[aria-busy=true]:before{border-color:currentColor;border-right-color:transparent}.pd-theme .section-header,.pd-theme .page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--pd-sp-12);flex-wrap:wrap;margin-bottom:var(--pd-sp-16)}.pd-theme .section-header .actions{display:flex;gap:10px;flex-wrap:wrap}.pd-theme .field-group-label{font:700 16px/22px var(--pd-font-ui);color:var(--pd-ink);margin:0}.pd-theme .card{background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);box-shadow:var(--pd-shadow-sm);padding:var(--pd-sp-20);margin:0;min-width:0}.pd-theme .card.compact-card{padding:var(--pd-sp-12) var(--pd-sp-16)}.pd-theme .stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--pd-sp-12)}@media (max-width: 720px){.pd-theme .stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.pd-theme .stat-card{background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);box-shadow:var(--pd-shadow-sm);padding:12px 14px;display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0}.pd-theme .stat-icon{width:28px;height:28px;border-radius:var(--pd-radius-sm);background:var(--pd-brand-tint);color:var(--pd-brand);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pd-theme .stat-icon svg{width:15px;height:15px}.pd-theme .stat-icon.gold{background:var(--pd-gold-tint);color:var(--pd-gold)}.pd-theme .stat-num{font:600 20px/24px var(--pd-font-display);letter-spacing:-.01em;color:var(--pd-ink)}.pd-theme .stat-num.warning{color:var(--pd-warning)}.pd-theme .stat-label{font-size:11px;line-height:14px;color:var(--pd-ink-muted)}.pd-theme .filter-bar{display:flex;gap:var(--pd-sp-16);flex-wrap:wrap;align-items:flex-end}.pd-theme .field{display:flex;flex-direction:column;gap:6px;min-width:0}.pd-theme .field label,.pd-theme .filter-bar>label{font:700 12px/16px var(--pd-font-ui);letter-spacing:.03em;text-transform:uppercase;color:var(--pd-ink-muted);display:flex;flex-direction:column;gap:6px}.pd-theme .filter-note{color:var(--pd-ink-faint);font-size:12px;margin-left:auto;align-self:center}.pd-theme select,.pd-theme input[type=date],.pd-theme input[type=number],.pd-theme input[type=text],.pd-theme input[type=search],.pd-theme textarea{background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);padding:10px 12px;font:400 14px var(--pd-font-ui);color:var(--pd-ink);text-transform:none;letter-spacing:normal;min-width:0;width:100%}.pd-theme textarea{min-height:64px;font-family:var(--pd-font-ui)}.pd-theme select:focus,.pd-theme input:focus,.pd-theme textarea:focus{outline:none;border-color:var(--pd-brand);box-shadow:0 0 0 3px var(--pd-brand-ring)}.pd-theme input.num,.pd-theme input.input-sm{width:auto;padding:6px 8px;font-size:13px}.pd-theme .required-tag{color:var(--pd-danger);margin-left:2px;font-weight:700;text-transform:none}.pd-theme .checkbox-label{display:inline-flex;align-items:center;gap:8px;font:500 13px var(--pd-font-ui);color:var(--pd-ink);text-transform:none;cursor:pointer}.pd-theme .checkbox-label input{width:auto}.pd-theme .form-grid{display:flex;flex-direction:column;gap:var(--pd-sp-16);max-width:none}.pd-theme .form-grid-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--pd-sp-16);align-items:end;margin-top:0;max-width:none}.pd-theme .form-grid-wide{max-width:none}.pd-theme .form-grid label,.pd-theme .form-grid-inline>label{display:flex;flex-direction:column;gap:6px;font:700 12px/16px var(--pd-font-ui);letter-spacing:.03em;text-transform:uppercase;color:var(--pd-ink-muted)}.pd-theme .form-two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--pd-sp-20)}@media (max-width: 560px){.pd-theme .form-two-col{grid-template-columns:1fr}}.pd-theme .field-stack{display:flex;flex-direction:column;gap:var(--pd-sp-16)}.pd-theme .date-range-row{display:flex;gap:10px;align-items:center}.pd-theme .date-range-row span{color:var(--pd-ink-faint);font-size:13px}.pd-theme .date-range-row input[type=date]{width:auto;flex:1 1 0;min-width:0}.pd-theme .detail-grid{display:grid;grid-template-columns:minmax(120px,160px) 1fr;row-gap:0;column-gap:var(--pd-sp-16);margin:0;font-size:14px}.pd-theme .detail-grid dt{color:var(--pd-ink-muted);font:700 12px/16px var(--pd-font-ui);text-transform:uppercase;letter-spacing:.03em;padding:10px 0;align-self:center}.pd-theme .detail-grid dd{margin:0;font:600 14px var(--pd-font-ui);color:var(--pd-ink);padding:10px 0}.pd-theme .detail-grid>*:not(:nth-last-child(-n+2)){border-bottom:1px solid var(--pd-border)}.pd-theme .badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:var(--pd-radius-pill);font:700 12px/16px var(--pd-font-ui);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:var(--pd-neutral-bg);color:var(--pd-ink-muted)}.pd-theme .badge:before{display:none}.pd-theme .badge-green{background:var(--pd-success-bg);color:var(--pd-success)}.pd-theme .badge-red{background:var(--pd-danger-bg);color:var(--pd-danger)}.pd-theme .badge-amber{background:var(--pd-warning-bg);color:var(--pd-warning)}.pd-theme .badge-blue{background:var(--pd-info-bg);color:var(--pd-info)}.pd-theme .badge-gray{background:var(--pd-neutral-bg);color:var(--pd-ink-muted)}.pd-theme .matrix-wrap,.pd-theme .plan-list-wrap,.pd-theme .table-wrap{overflow:auto;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);background:var(--pd-surface);box-shadow:none}.pd-theme .matrix-wrap{max-height:420px}.pd-theme .plan-list-wrap.scroll-y,.pd-theme .table-wrap.scroll-y{max-height:360px;overflow-y:auto}.pd-theme table.matrix,.pd-theme table.plan-list,.pd-theme .data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px;font-variant-numeric:tabular-nums}.pd-theme table.matrix{min-width:760px}.pd-theme table.plan-list,.pd-theme .data-table{min-width:0}.pd-theme table.matrix th,.pd-theme table.matrix td,.pd-theme table.plan-list th,.pd-theme table.plan-list td,.pd-theme .data-table th,.pd-theme .data-table td{padding:12px 14px;border-bottom:1px solid var(--pd-border);text-align:left;vertical-align:middle}.pd-theme table.matrix thead th,.pd-theme table.plan-list thead th,.pd-theme .data-table th{background:var(--pd-surface-alt);font:700 12px/16px var(--pd-font-ui);letter-spacing:.03em;text-transform:uppercase;color:var(--pd-ink-muted);white-space:nowrap;position:sticky;top:0;z-index:2}.pd-theme table.matrix thead th.product-col,.pd-theme table.matrix tbody td.product-col{position:sticky;left:0;background:var(--pd-surface-alt);z-index:2;min-width:190px}.pd-theme table.matrix thead th.product-col{z-index:3}.pd-theme table.matrix tbody td.product-col{background:var(--pd-surface);z-index:1}.pd-theme table.matrix tbody tr:last-child td,.pd-theme table.plan-list tbody tr:last-child td,.pd-theme .data-table tbody tr:last-child td{border-bottom:none}.pd-theme table.matrix td.cell{text-align:center}.pd-theme .data-table tbody tr:hover td{background:var(--pd-surface-alt)}.pd-theme .data-table--dense th,.pd-theme .data-table--dense td{padding:8px 10px;font-size:13px}.pd-theme .empty-row{text-align:center;color:var(--pd-ink-muted);padding:2.5rem!important}.pd-theme .empty-row:hover td{background:transparent!important}.pd-theme .empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--pd-ink-muted)}.pd-theme .cell-val{border:none;background:var(--pd-brand-tint);color:var(--pd-brand);font:700 14px var(--pd-font-ui);min-width:34px;padding:6px 10px;border-radius:var(--pd-radius-sm);cursor:pointer}.pd-theme .cell-val:hover{background:var(--pd-brand);color:var(--pd-on-brand)}.pd-theme .cell-val.attn{background:var(--pd-warning-bg);color:var(--pd-warning)}.pd-theme .cell-val.attn:hover{background:var(--pd-warning);color:var(--pd-on-brand)}.pd-theme .cell-val.pend{box-shadow:inset 0 0 0 2px var(--pd-warning)}.pd-theme .cell-empty{color:var(--pd-border-strong);font-size:14px}.pd-theme .cell-add{border:1px dashed var(--pd-border-strong);background:none;color:var(--pd-ink-faint);font:600 14px var(--pd-font-ui);min-width:34px;padding:5px 10px;border-radius:var(--pd-radius-sm);cursor:pointer}.pd-theme .cell-add:hover{border-color:var(--pd-brand);color:var(--pd-brand);background:var(--pd-brand-tint)}.pd-theme .tab-switch{display:inline-flex;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);overflow:hidden;width:fit-content;background:var(--pd-surface);box-shadow:var(--pd-shadow-sm)}.pd-theme .tab-switch button{background:var(--pd-surface);border:none;border-right:1px solid var(--pd-border);border-radius:0;padding:11px 20px;font:700 13px var(--pd-font-ui);color:var(--pd-ink-muted)}.pd-theme .tab-switch button:last-child{border-right:none}.pd-theme .tab-switch button.active{background:var(--pd-brand);color:var(--pd-on-brand)}.pd-theme .tab-switch button:not(.active):hover{background:var(--pd-surface-alt)}.pd-theme .sticky-bar{position:sticky;top:0;z-index:10;background:var(--pd-surface-page);padding-block:var(--pd-sp-12) 2px;margin:0 0 4px;display:flex;flex-direction:column;gap:var(--pd-sp-12);border-bottom:1px solid var(--pd-border)}.pd-theme .tab-controls{display:flex;flex-direction:column;gap:var(--pd-sp-12)}.pd-theme .mode-toggle,.pd-theme .view-toggle{display:flex;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);overflow:hidden;width:fit-content}.pd-theme .mode-toggle button,.pd-theme .view-toggle-btn{background:var(--pd-surface);border:none;border-radius:0;padding:8px 14px;font:600 13px var(--pd-font-ui);color:var(--pd-ink-muted)}.pd-theme .mode-toggle button.active,.pd-theme .view-toggle-btn--active{background:var(--pd-brand);color:var(--pd-on-brand)}.pd-theme .mode-toggle button:not(.active):hover,.pd-theme .view-toggle-btn:not(.view-toggle-btn--active):hover{background:var(--pd-surface-alt)}.pd-theme .button-row{display:flex;gap:var(--pd-sp-8);align-items:center;flex-wrap:wrap}.pd-theme .priority-list,.pd-theme .priority-list-wrap{max-height:620px;overflow-y:auto;padding-right:4px}.pd-theme .priority-row{display:flex;align-items:center;gap:12px;background:var(--pd-surface-alt);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);padding:10px 12px;margin-bottom:8px}.pd-theme .priority-row-name,.pd-theme .pname{flex:1 1 auto;font:600 14px var(--pd-font-ui);color:var(--pd-ink);min-width:0}.pd-theme .priority-row-meta,.pd-theme .pmeta{font:500 12px var(--pd-font-mono);color:var(--pd-ink-muted);display:block;margin-top:2px}.pd-theme .rank-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--pd-brand);color:var(--pd-on-brand);font:700 11px var(--pd-font-mono);flex-shrink:0;padding:0}.pd-theme .order-btns{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.pd-theme .order-btns button{background:var(--pd-surface);border:1px solid var(--pd-border);color:var(--pd-ink-muted);border-radius:4px;font-size:10px;line-height:1.4;padding:2px 7px}.pd-theme .order-btns button:hover:not(:disabled){background:var(--pd-surface);border-color:var(--pd-brand);color:var(--pd-brand)}.pd-theme .order-btns button:disabled{opacity:.3}.pd-theme .loading-row{display:flex;align-items:center;gap:.6rem;color:var(--pd-ink-muted);padding:1.25rem 0}.pd-theme .spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--pd-border);border-top-color:var(--pd-brand);animation:pd-spin .7s linear infinite}.pd-theme .spinner-sm{width:.9em;height:.9em;border-width:2px}@keyframes pd-spin{to{transform:rotate(360deg)}}.pd-theme .error-text{color:var(--pd-danger);font-size:13px;background:var(--pd-danger-bg);padding:10px 12px;border-radius:var(--pd-radius-sm)}.pd-theme .warning-text{color:var(--pd-warning);font-size:13px;background:var(--pd-warning-bg);padding:10px 12px;border-radius:var(--pd-radius-sm)}.pd-theme .warning-text--inline{background:none;padding:0}.pd-theme .restricted-text{color:var(--pd-ink-faint);font-style:italic}.pd-theme .check-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--pd-border)}.pd-theme .check-row:last-of-type{border-bottom:none}.pd-theme .check-label{font:600 14px var(--pd-font-ui);color:var(--pd-ink)}.pd-theme .check-sub{color:var(--pd-ink-muted);font-size:12px;margin-top:2px}.pd-theme .check-right{text-align:right}.pd-theme .demand-pair{display:flex;gap:20px}.pd-theme .demand-pair div{text-align:right}.pd-theme .demand-pair .d-label{display:block;font-size:11px;color:var(--pd-ink-faint);text-transform:uppercase;letter-spacing:.03em}.pd-theme .demand-pair .d-val{font:700 14px var(--pd-font-ui);color:var(--pd-ink)}.pd-theme .demand-pair .d-val.faint{color:var(--pd-ink-faint);font-weight:400;font-style:italic}.pd-theme .readiness-verdict{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:var(--pd-radius-sm);margin-bottom:var(--pd-sp-16)}.pd-theme .readiness-verdict.ready{background:var(--pd-success-bg)}.pd-theme .readiness-verdict.warn{background:var(--pd-warning-bg)}.pd-theme .readiness-verdict.risk{background:var(--pd-danger-bg)}.pd-theme .readiness-verdict .rv-text{font:700 14px var(--pd-font-ui)}.pd-theme .readiness-verdict.ready .rv-text{color:var(--pd-success)}.pd-theme .readiness-verdict.warn .rv-text{color:var(--pd-warning)}.pd-theme .readiness-verdict.risk .rv-text{color:var(--pd-danger)}.pd-theme .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c211d66;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.pd-theme .modal-card{background:var(--pd-surface);border-radius:var(--pd-radius-lg);box-shadow:var(--pd-shadow-lg);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;padding:0}.pd-theme .modal-card-wide{max-width:820px}.pd-theme .modal-card-sm{max-width:420px}.pd-theme .modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:28px 28px 20px;position:sticky;top:0;z-index:3;background:var(--pd-surface);border-top-left-radius:var(--pd-radius-lg);border-top-right-radius:var(--pd-radius-lg)}.pd-theme .modal-header h2{font:600 22px/28px var(--pd-font-display);margin:0}.pd-theme .modal-body{min-width:0;padding:0 28px 20px}.pd-theme .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 28px 28px;border-top:1px solid var(--pd-border);flex-wrap:wrap;position:sticky;bottom:0;z-index:3;background:var(--pd-surface);border-bottom-left-radius:var(--pd-radius-lg);border-bottom-right-radius:var(--pd-radius-lg)}.pd-theme .planning-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);overflow-y:auto;overflow-x:hidden;max-height:520px;background:var(--pd-surface)}.pd-theme .planning-calendar-weekday{position:sticky;top:0;z-index:2;background:var(--pd-surface-alt);color:var(--pd-ink-muted);font:700 11px/16px var(--pd-font-ui);text-transform:uppercase;letter-spacing:.03em;text-align:center;padding:8px 4px;border-bottom:1px solid var(--pd-border)}.pd-theme .planning-calendar-day{min-height:96px;padding:6px;border-right:1px solid var(--pd-border);border-bottom:1px solid var(--pd-border);display:flex;flex-direction:column;gap:4px;min-width:0}.pd-theme .planning-calendar-day--muted{background:var(--pd-surface-alt);color:var(--pd-ink-faint)}.pd-theme .planning-calendar-daynum{font:600 12px var(--pd-font-ui);color:var(--pd-ink-muted)}.pd-theme .planning-calendar-chip{border:none;background:var(--pd-brand-tint);color:var(--pd-brand);font:600 11px var(--pd-font-mono);padding:3px 6px;border-radius:var(--pd-radius-xs);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pd-theme .planning-calendar-chip--ready{background:var(--pd-success-bg);color:var(--pd-success)}.pd-theme .planning-calendar-chip--short{background:var(--pd-danger-bg);color:var(--pd-danger)}:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--page-max-w: 1920px;--page-pad: clamp(1.25rem, 2vw, 3rem);--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .95rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--line-tight: 1.2;--line-base: 1.45;--nums: tabular-nums lining-nums;--card-min-w: 340px;--kv-label-w: 170px;--row-pad-y: .75rem;--row-pad-x: 1rem;--row-pad-y-dense: .45rem;--row-pad-x-dense: .75rem;--focus-ring: 0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-primary);--focus-ring-danger: 0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-red)}@media (prefers-reduced-motion: reduce){.spinner,.refresh-indicator,.btn[aria-busy=true]:before,button[aria-busy=true]:before{animation:none!important}.page-content{scroll-behavior:auto}}.stack-2>*+*{margin-top:var(--space-2)}.stack-4>*+*{margin-top:var(--space-4)}.stack-5>*+*{margin-top:var(--space-5)}.mt-0{margin-top:0!important}.mt-2{margin-top:var(--space-2)!important}.mt-3{margin-top:var(--space-3)!important}.mt-4{margin-top:var(--space-4)!important}.mt-5{margin-top:var(--space-5)!important}.mb-0{margin-bottom:0!important}.mb-2{margin-bottom:var(--space-2)!important}.mb-4{margin-bottom:var(--space-4)!important}.mb-5{margin-bottom:var(--space-5)!important}.ml-2{margin-left:var(--space-2)!important}.section-divider{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.input-xs{width:4.5rem}.input-sm{width:6rem}.input-md{width:9rem}.text-center{text-align:center}.button-row--end{justify-content:flex-end}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--card-min-w),1fr));gap:var(--space-4);align-items:stretch;margin-bottom:var(--space-4)}.card-grid>.card{margin-bottom:0;height:100%}.card-grid>.card--span{grid-column:1 / -1}.card-grid--2{grid-template-columns:repeat(auto-fit,minmax(calc(var(--card-min-w) * 1.3),1fr))}.detail-grid dd.num{font-variant-numeric:var(--nums)}.data-table .num{text-align:right;white-space:nowrap;font-variant-numeric:var(--nums)}.data-table .status{text-align:center}.data-table a{color:var(--color-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#344c3d73;border-radius:var(--radius-xs)}.data-table a:hover{color:var(--color-primary-hover);text-decoration-color:currentColor}.data-table td.code .link-button{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#344c3d73;font-weight:500}.data-table .code{font-family:var(--font-mono);font-size:.85em;letter-spacing:0;white-space:nowrap}input.num,input[type=number]{text-align:right;font-variant-numeric:var(--nums)}.data-table--dense{font-size:var(--text-sm)}.data-table--dense th,.data-table--dense td{padding:var(--row-pad-y-dense) var(--row-pad-x-dense)}.data-table .col-actions{position:sticky;right:0;z-index:1;background:var(--color-surface);text-align:right}.data-table .col-actions .button-row{justify-content:flex-end}.table-wrap--scroll .data-table .col-actions{box-shadow:-8px 0 8px -8px #1c211d24}.data-table thead .col-actions{background:var(--color-surface-alt);z-index:3}.data-table tbody tr:hover .col-actions{background:var(--color-surface-alt)}.table-wrap--scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-gutter:stable}.modal-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.badge svg{width:12px;height:12px;margin-right:.3rem;flex-shrink:0}.pill-link{display:inline-flex;align-items:center;gap:.3rem;background:var(--color-primary-bg);color:var(--color-primary);border:1px solid transparent;border-radius:var(--radius-pill);padding:.22rem .65rem;font:inherit;font-size:.76rem;font-weight:700;line-height:1.25;letter-spacing:.01em;white-space:nowrap;text-decoration:none;cursor:pointer;box-shadow:none;transition:background .15s,color .15s}.pill-link:after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin-top:1px;flex:none}.pill-link.is-back:after{content:none}.pill-link.is-back:before{content:"";width:5px;height:5px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:1px;flex:none}.pill-link.is-back{padding:.22rem .7rem .22rem .55rem}.pill-link.is-inline{font-size:.82em;padding:.08rem .55rem .08rem .6rem}.pill-link.is-popup:before{content:"";width:7px;height:7px;border:1.5px solid currentColor;border-radius:2px;box-shadow:2px -2px 0 -.5px var(--color-primary-bg),2px -2px 0 1px currentColor;margin-right:.15rem;flex:none}.pill-link:hover:not(:disabled),.pill-link:focus-visible{background:var(--color-primary);color:#fff;text-decoration:none}.pill-link:hover:not(:disabled).is-popup:before{box-shadow:2px -2px 0 -.5px var(--color-primary),2px -2px 0 1px currentColor}.pill-link:disabled{opacity:.6;cursor:default}.summary-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-3);align-items:stretch;margin-bottom:var(--space-4)}.sc{position:relative;min-width:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem 1rem;box-shadow:var(--shadow-sm)}.sc--q{grid-column:span 3}.sc--t{grid-column:span 4}.sc--h{grid-column:span 6}.sc--f{grid-column:1 / -1}@media (max-width: 1100px){.sc--q,.sc--t{grid-column:span 6}.sc--h{grid-column:1 / -1}}@media (max-width: 640px){.sc--q,.sc--t{grid-column:1 / -1}}.sc-title{margin:0 0 .45rem;font-size:.9rem;font-weight:700}.sc .detail-grid{grid-template-columns:150px 1fr;gap:.4rem .9rem;font-size:.85rem}.sc-headline{display:flex;flex-direction:column;gap:.3rem}.sc-big{font-size:1.1rem;font-weight:700;line-height:1.2}.sc-big .pill-link.is-inline{font-size:.85rem}.sc-sub{color:var(--color-text-muted);font-size:.85rem}.sc-chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.2rem;padding-top:.2rem;font-size:.78rem;color:var(--color-text-muted)}.sc-chips span{background:var(--color-surface-alt);border-radius:var(--radius-pill);padding:.15rem .55rem}.sc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.6rem}.sc-stats .lab,.sc-kv .lab{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.sc-stats .val{font-size:1.25rem;font-weight:700;margin-top:.1rem;line-height:1.1}.sc-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.4rem .8rem}.sc-kv .val{font-size:.875rem;font-weight:500}.sc-link,.sc-ring,.sc-file{padding-right:6rem}.sc-link .pill-link.is-action,.sc-ring .pill-link.is-action,.sc-file .pill-link.is-action,.sc .pill-link.is-action{position:absolute;top:.7rem;right:.75rem}.sc-link{display:flex;flex-direction:column;gap:.15rem}.sc-lt{font-size:.95rem;font-weight:700;line-height:1.25}.sc-ls{color:var(--color-text-muted);font-size:.82rem;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.sc-ring{display:flex;align-items:center;gap:.8rem}.sc-ring .circ{flex:none;width:44px;height:44px;border-radius:50%;background:var(--color-primary-bg);color:var(--color-primary);display:grid;place-items:center;font-size:1.05rem;font-weight:700}.sc-rb{min-width:0}.sc-file{display:flex;align-items:center;gap:.7rem}.sc-file .fic{flex:none;width:34px;height:34px;border-radius:var(--radius-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);display:grid;place-items:center;font-family:var(--font-mono);font-size:.55rem;font-weight:700;color:var(--color-text-muted)}.sc-file .fb{min-width:0}.boxed-area{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:.85rem 1rem 1rem;margin-bottom:var(--space-4)}.boxed-area-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 .6rem}.boxed-area-head h2{font-size:.95rem;margin:0}.boxed-area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}.boxed-area-grid .sc{padding:.75rem 6rem .75rem .9rem;box-shadow:none;background:var(--color-bg)}.boxed-area-grid .sc.no-pill-gutter{padding-right:.9rem}@media (max-width: 700px){.boxed-area-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.4rem}.boxed-area-grid .sc{flex:0 0 min(80%,260px);scroll-snap-align:start}}.modal-card.modal-card-maximized{width:calc(100vw - 2.5rem);max-width:calc(100vw - 2.5rem);height:calc(100vh - 2.5rem);max-height:calc(100vh - 2.5rem)}.modal-header-actions{display:flex;align-items:center;gap:.3rem}.searchable-select{position:relative}.searchable-select-control{display:flex;align-items:center;gap:.4rem;min-height:2.1rem;padding:.35rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:text}.searchable-select--disabled .searchable-select-control{background:var(--color-surface-alt);cursor:default;opacity:.7}.searchable-select-value{flex:1;min-width:0;white-space:normal;word-break:break-word;font-size:inherit}.searchable-select-value.is-placeholder{color:var(--color-text-muted)}.searchable-select-input{flex:1;min-width:0;border:none;outline:none;background:transparent;padding:0;font:inherit;text-align:left}.searchable-select-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.searchable-select-clear{border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 .15rem}.searchable-select-clear:hover{color:var(--color-text)}.searchable-select-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--color-text-muted);flex-shrink:0}.searchable-select-list{position:fixed;z-index:300;max-height:15rem;overflow-y:auto;margin:0;padding:.25rem 0;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.searchable-select-option{padding:.4rem .65rem;cursor:pointer;font-size:var(--text-sm)}.searchable-select-option:hover,.searchable-select-option.is-selected{background:var(--color-primary-bg)}.searchable-select-sublabel{margin-left:.4rem;color:var(--color-text-muted);font-size:.85em}.searchable-select-empty{padding:.5rem .65rem;color:var(--color-text-muted);font-size:var(--text-sm)}:root{--color-bg: #faf7f0;--color-surface: #ffffff;--color-surface-alt: #f3ecd9;--color-border: #e8dcc0;--color-text: #2b2820;--color-text-muted: #6b6250;--color-text-faint: #948a70;--color-primary: #344c3d;--color-primary-hover: #25382b;--color-primary-bg: #e6ece5;--color-primary-ring: rgba(52, 76, 61, .22);--color-gold: #b8863c;--color-gold-bg: #f4e6c6;--color-green: #0f7a68;--color-green-bg: #e2f2ec;--color-red: #b3423a;--color-red-bg: #fae9e6;--color-blue: #33587f;--color-blue-bg: #e7eff6;--color-amber: #8a5f16;--color-amber-bg: #f8f0dc;--color-gray-bg: #eae8de;--sidebar-bg: #f2e8d0;--sidebar-bg-active: #e8d4a3;--sidebar-text: #1c211d;--sidebar-text-active: #23361f;--sidebar-active-link-text: #fdfbf6;--sidebar-border: rgba(52, 76, 62, .14);--sidebar-gold-accent: #a8792f;--shadow-sm: 0 1px 2px rgba(28, 33, 29, .07);--shadow-md: 0 6px 20px rgba(28, 33, 29, .1);--shadow-lg: 0 20px 48px rgba(28, 33, 29, .16);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 20px;--radius-pill: 999px;--ease: cubic-bezier(.2, .7, .3, 1);--color-border-soft: #f0e8d4;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;font-family:var(--font-ui);color-scheme:light}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.01em}h1{font-family:var(--font-display);font-weight:800;font-size:1.85rem;margin:0}h1.code-heading{font-family:var(--font-mono);font-weight:600;font-size:1.4rem;letter-spacing:-.01em}h2{font-family:var(--font-ui);font-weight:700;font-size:1.05rem;margin:2rem 0 .75rem;color:var(--color-text)}p{line-height:1.5}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}button{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:.55rem 1.1rem;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .05s ease;display:inline-flex;align-items:center;gap:.4rem}button:hover:not(:disabled){background:var(--color-primary-hover)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible{outline:none;box-shadow:var(--focus-ring)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;font-family:inherit;background:var(--color-surface);color:var(--color-text);width:100%;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);gap:.6rem}.first-load{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;padding:4rem 1rem;color:var(--color-text-muted)}.first-load--full{min-height:100vh;padding:0}.first-load-ring{width:40px;height:40px;border-radius:50%;border:3px solid var(--color-gold-bg);border-top-color:var(--color-primary);border-right-color:var(--color-gold);animation:spin .8s linear infinite}.first-load-label{font-size:.8rem;font-weight:600;letter-spacing:.01em}@media (prefers-reduced-motion: reduce){.first-load-ring{animation:none}}.spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--color-border);border-top-color:var(--color-primary);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-row{display:flex;align-items:center;gap:.6rem;color:var(--color-text-muted);padding:1.5rem 0}.spinner-sm{width:.9em;height:.9em;border-width:2px}.refresh-indicator{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-ui);font-size:.8rem;font-weight:500;letter-spacing:normal;color:var(--color-text-muted);white-space:nowrap;animation:refresh-indicator-in .15s ease-out}@keyframes refresh-indicator-in{0%{opacity:0}to{opacity:1}}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar-backdrop{display:none}.sidebar{width:232px;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);box-shadow:3px 0 16px #344c3e0f;padding:1.4rem .9rem;flex-shrink:0;display:flex;flex-direction:column;gap:1.1rem;height:100vh;overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:.7rem;font-family:var(--font-display);font-weight:600;font-size:1.3rem;padding:.2rem .5rem .6rem;flex-shrink:0;border-bottom:1px solid var(--sidebar-border)}.sidebar-brand-text{background:linear-gradient(100deg,var(--sidebar-text-active) 25%,var(--sidebar-gold-accent) 85%);-webkit-background-clip:text;background-clip:text;color:transparent}.sidebar-brand-mark{width:34px;height:34px;object-fit:contain;flex-shrink:0}.sidebar nav{display:flex;flex-direction:column;gap:.9rem;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;margin:0 -.4rem;padding:.2rem .4rem}.sidebar-collapse-all{align-self:flex-start;background:none;border:1px solid rgba(52,76,62,.2);color:var(--sidebar-text);font-size:.72rem;font-weight:600;padding:.3rem .65rem;border-radius:var(--radius-pill);box-shadow:none;flex-shrink:0}.sidebar-collapse-all:hover:not(:disabled){background:var(--sidebar-bg-active);color:var(--sidebar-text-active)}.sidebar-group{display:flex;flex-direction:column;gap:.15rem}.sidebar-group-label{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;box-shadow:none;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#1c211dd9;padding:.3rem .7rem;margin-bottom:.15rem;cursor:pointer}button.sidebar-group-label:hover{background:none;color:var(--sidebar-text-active)}.sidebar-group-chevron{transition:transform .15s ease;opacity:.6;transform:rotate(90deg)}.sidebar-group-chevron.collapsed{transform:rotate(0)}.sidebar-link{display:flex;align-items:center;gap:.65rem;padding:.55rem .7rem;color:var(--sidebar-text);text-decoration:none;font-size:.875rem;font-weight:500;border-radius:var(--radius-sm);transition:background .12s ease,color .12s ease}.sidebar-link:hover{background:var(--sidebar-bg-active);color:var(--sidebar-text-active);text-decoration:none}.sidebar-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.sidebar-link.active{color:var(--sidebar-active-link-text);background:var(--color-primary);font-weight:600;box-shadow:inset 3px 0 0 var(--sidebar-gold-accent)}.sidebar-link svg{flex-shrink:0;opacity:.9}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow:hidden}.topbar{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.75rem;border-bottom:1px solid var(--color-border);background:var(--color-surface);gap:1rem;flex-shrink:0}.topbar-menu-button{display:none;background:none;color:var(--color-text);padding:.3rem}.topbar-menu-button:hover{background:var(--color-surface-alt)}.topbar-user{display:flex;align-items:center;gap:.7rem;font-size:.85rem;margin-left:auto}.topbar-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}.topbar-user-meta{display:flex;flex-direction:column;line-height:1.25}.topbar-user-name{font-weight:600}.topbar-user-role{color:var(--color-text-muted);font-size:.78rem}.page-content{padding:var(--space-5) var(--page-pad);max-width:min(100%,var(--page-max-w));width:100%;flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;scrollbar-gutter:stable}.page-content,.sidebar nav{scrollbar-color:var(--color-border) transparent}.page-content::-webkit-scrollbar,.sidebar nav::-webkit-scrollbar{width:9px}.page-content::-webkit-scrollbar-track,.sidebar nav::-webkit-scrollbar-track{background:transparent}.page-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill);border:2px solid var(--color-bg)}.sidebar nav::-webkit-scrollbar-thumb{background:var(--sidebar-bg-active);border-radius:var(--radius-pill);border:2px solid var(--sidebar-bg)}.page-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-faint)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;gap:1rem;flex-wrap:wrap}.page-header h1{display:flex;align-items:center;gap:.6rem}.page-toolbar{position:sticky;top:0;z-index:3;background:var(--color-bg);margin:0 calc(-1 * var(--page-pad)) 1.25rem;padding:var(--space-5) var(--page-pad) 1rem;border-bottom:1px solid var(--color-border)}.page-toolbar:first-child{margin-top:calc(-1 * var(--space-5));top:calc(-1 * var(--space-5))}.page-toolbar .breadcrumb{display:block;margin:0 0 .4rem}p+.page-toolbar{margin-top:0}.page-toolbar .page-header{margin-bottom:1rem}.page-toolbar .page-header:last-child{margin-bottom:0}.page-toolbar .list-filter-bar{background:none;border:none;box-shadow:none;padding:0;margin:0}.page-toolbar-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.breadcrumb{font-size:.85rem;color:var(--color-text-muted);margin-bottom:.75rem;display:inline-flex}.tab-row{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:.5rem 0 1.25rem}.tab-button{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border);box-shadow:none;border-radius:6px 18px 4px 6px;padding:.45rem 1.1rem .45rem .9rem;font-size:.85rem;font-weight:600;position:relative;transition:background .15s,color .15s,border-color .15s}.tab-button:hover:not(:disabled){background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}.tab-button.active{color:var(--color-primary);background:var(--color-primary-bg);border-color:var(--color-primary);font-weight:700}.tab-button.active:after{content:none}.toggle-switch{--toggle-w: 48px;--toggle-h: 28px;width:var(--toggle-w);height:var(--toggle-h);padding:0;border-radius:var(--radius-pill);background:var(--color-gray-bg);border:none;position:relative;cursor:pointer;flex-shrink:0;transition:background .15s ease}.toggle-switch:hover:not(:disabled){background:var(--color-gray-bg);filter:brightness(.97)}.toggle-switch.checked{background:var(--color-green)}.toggle-switch.checked:hover:not(:disabled){background:#0c6656}.toggle-switch:disabled{opacity:.5;cursor:not-allowed}.toggle-switch:focus-visible{outline:none;box-shadow:var(--focus-ring)}.toggle-switch-thumb{position:absolute;top:2px;left:2px;width:calc(var(--toggle-h) - 4px);height:calc(var(--toggle-h) - 4px);border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .15s ease}.toggle-switch.checked .toggle-switch-thumb{transform:translate(calc(var(--toggle-w) - var(--toggle-h)))}.toggle-switch.saving .toggle-switch-thumb:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;border:2px solid var(--color-border);border-top-color:var(--color-primary);animation:toggle-switch-spin .6s linear infinite}@keyframes toggle-switch-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.toggle-switch.saving .toggle-switch-thumb:after{animation:none;border-top-color:var(--color-border)}}.toggle-list{display:flex;flex-direction:column;gap:1rem}.toggle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.toggle-row:last-child{padding-bottom:0;border-bottom:none}.toggle-row-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.toggle-row-title{font-weight:700;font-size:.9rem}.toggle-row-desc{color:var(--color-text-muted);font-size:.8rem;line-height:1.45}.card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:1.4rem;margin-bottom:1.1rem;box-shadow:var(--shadow-sm)}.card-title{font-size:.95rem;font-weight:700;margin:0 0 1rem}.table-wrap{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);overflow:visible;box-shadow:var(--shadow-sm)}.table-wrap .data-table th:first-child{border-top-left-radius:var(--radius-md)}.table-wrap .data-table th:last-child{border-top-right-radius:var(--radius-md)}.table-wrap .data-table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-md)}.table-wrap .data-table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-md)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-base);font-variant-numeric:var(--nums)}.data-table th{text-align:left;color:var(--color-text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;padding:calc(var(--row-pad-y) - .05rem) var(--row-pad-x);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border-soft);position:sticky;top:0;z-index:2}.data-table td{padding:var(--row-pad-y) var(--row-pad-x);border-bottom:1px solid var(--color-border-soft)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--color-surface-alt)}.empty-row{text-align:center;color:var(--color-text-muted);padding:2.5rem!important}.empty-row:hover td{background:transparent!important}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--color-text-muted)}.empty-state svg{width:28px;height:28px;opacity:.5}.checkbox-label{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;font-size:.85rem;margin:.75rem 0 1rem;cursor:pointer}.checkbox-label input{width:auto}.form-grid{display:grid;gap:1rem;max-width:440px}.form-grid-inline{margin-top:1rem;max-width:none;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}.form-grid-wide{max-width:680px}.list-filter-bar{position:sticky;top:0;z-index:5}.field-group-label{font-size:.8rem;font-weight:700;color:var(--color-text);margin-bottom:.6rem}.bom-line-row{margin-bottom:.75rem;padding:.85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt)}.restricted-text{color:var(--color-text-faint);font-style:italic}.detail-grid{display:grid;grid-template-columns:var(--kv-label-w) 1fr;gap:.65rem 1rem;margin:0;font-size:.875rem}.detail-grid dt{color:var(--color-text-muted);font-weight:500}.detail-grid dd{margin:0;font-weight:500}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;letter-spacing:.01em;background:var(--color-gray-bg);color:var(--color-text-muted)}.badge-blue{background:var(--color-blue-bg);color:var(--color-blue)}.badge-green{background:var(--color-green-bg);color:var(--color-green)}.badge-red{background:var(--color-red-bg);color:var(--color-red)}.badge-amber{background:var(--color-amber-bg);color:var(--color-amber)}.badge-gray{background:var(--color-gray-bg);color:var(--color-text-muted)}.badge-green:before,.badge-red:before,.badge-blue:before,.badge-amber:before,.badge-gray:before{content:"";flex-shrink:0;width:6px;height:6px;border-radius:50%;margin-right:.4rem;background:currentColor}.button-row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.error-text{color:var(--color-red);font-size:.85rem;background:var(--color-red-bg);padding:.6rem .8rem;border-radius:var(--radius-sm)}.warning-text{color:var(--color-amber);font-size:.85rem;background:var(--color-amber-bg);padding:.6rem .8rem;border-radius:var(--radius-sm)}.warning-text--inline{background:none;padding:0}.hint-text{color:var(--color-text-muted);font-size:.85rem}.section-intro{color:var(--color-text-muted);font-size:.875rem;max-width:68ch;margin:-.5rem 0 1.25rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.75rem}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.1rem 1.3rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.35rem;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}a.stat-card{color:inherit}a.stat-card:hover{text-decoration:none;border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}a.activity-row{color:inherit}a.activity-row:hover{text-decoration:none}a.activity-row:hover .activity-row-main span:first-child{color:var(--color-primary)}.stat-card-icon{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center;margin-bottom:.3rem}.stat-value{font-family:var(--font-display);font-size:2rem;font-weight:800;letter-spacing:-.01em;font-variant-numeric:var(--nums)}.stat-label{color:var(--color-text-muted);font-size:.8rem;font-weight:600}.dashboard-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:1.25rem;align-items:start}@media (max-width: 860px){.dashboard-columns{grid-template-columns:1fr}}.activity-list{display:flex;flex-direction:column}.activity-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--color-border);font-size:.85rem}.activity-row:last-child{border-bottom:none;padding-bottom:0}.activity-row-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.activity-row-main span:first-child{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-row-meta{color:var(--color-text-muted);font-size:.78rem}.quick-links{display:grid;gap:.6rem}.quick-link-card{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);transition:border-color .12s ease,box-shadow .12s ease}.quick-link-card:hover{text-decoration:none;border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.quick-link-card-icon{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.quick-link-card-text{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.quick-link-card-text strong{font-size:.875rem}.quick-link-card-text span{font-size:.78rem;color:var(--color-text-muted)}.qr-card{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.qr-image{width:128px;height:128px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#fff;padding:6px}.qr-meta{display:flex;flex-direction:column;gap:.5rem;font-size:.85rem}.qr-link-box{display:flex;align-items:center;gap:.5rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.45rem .6rem;font-size:.8rem;word-break:break-all}.track-page{min-height:100vh;background:linear-gradient(180deg,var(--color-primary-bg) 0%,var(--color-bg) 320px);padding:2.5rem 1.25rem;display:flex;justify-content:center}.track-shell{width:100%;max-width:560px}.track-brand{display:flex;align-items:center;gap:.6rem;font-weight:800;margin-bottom:1.5rem}.track-brand img{width:28px;height:28px}.track-progress{display:flex;justify-content:center;gap:.4rem;margin-bottom:1.5rem}.track-progress-dot{width:8px;height:8px;border-radius:50%;background:var(--color-border);transition:background .2s ease,transform .2s ease}.track-progress-dot.active{background:var(--color-primary)}@keyframes track-step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.track-step{animation:track-step-in .25s ease-out}@media (prefers-reduced-motion: reduce){.track-step{animation:none}}.track-check-badge{width:56px;height:56px;border-radius:50%;background:var(--color-green);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:var(--shadow-md)}.track-eyebrow{text-align:center;color:var(--color-green);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .35rem}.track-hero-title{font-family:var(--font-display);font-size:1.7rem;font-weight:800;text-align:center;margin:0 0 .3rem}.track-hero-code{font-family:var(--font-mono);color:var(--color-text-muted);text-align:center;font-size:.85rem;margin:0 0 1.5rem}.track-hero-facts{grid-template-columns:1fr 1fr;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.1rem 1.3rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.track-step-title{font-size:1.4rem}.track-step-intro{margin-top:-.35rem}.track-cta{width:100%;justify-content:center;padding:.85rem 1.1rem;font-size:.95rem;border-radius:var(--radius-pill)}.track-step-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1rem}.track-back-link{background:none;color:var(--color-text-muted);padding:.3rem;font-weight:600;font-size:.85rem}.track-back-link:hover:not(:disabled){background:none;color:var(--color-primary);text-decoration:underline}.track-nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:.75rem;margin:.75rem 0}.track-nutrition-cell{text-align:center;background:var(--color-surface-alt);border-radius:var(--radius-sm);padding:.65rem .4rem}.track-nutrition-cell span{display:block;font-family:var(--font-display);font-size:1.1rem;font-weight:700}.track-nutrition-cell label{display:block;font-size:.68rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.timeline{display:flex;flex-direction:column}.timeline-item{display:flex;gap:.85rem;padding-bottom:1rem;position:relative}.timeline-item:not(:last-child):before{content:"";position:absolute;left:5px;top:16px;bottom:-4px;width:2px;background:var(--color-border)}.timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--color-primary);margin-top:4px;flex-shrink:0}.timeline-dot.fail{background:var(--color-red)}.timeline-content{font-size:.85rem}.timeline-content strong{display:block}.timeline-content span{color:var(--color-text-muted);font-size:.78rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,var(--color-gold-bg) 0%,var(--color-bg) 60%);padding:1.5rem}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2.75rem 2.5rem;width:360px;max-width:100%;text-align:center;box-shadow:var(--shadow-lg)}.login-logo{width:72px;height:72px;object-fit:contain;margin-bottom:1rem}.login-logo-full{width:200px;height:auto;object-fit:contain;margin:0 auto 1.75rem;display:block}.google-button-slot{display:flex;justify-content:center;margin:1rem 0}.signin-status{display:inline-flex;align-items:center;gap:.45rem;color:var(--color-primary);font-weight:600;font-size:.85rem;margin:.75rem 0 0}.shop-floor-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:.75rem 0}.shop-floor-button{min-height:52px;min-width:120px;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;border-radius:var(--radius-pill);border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.shop-floor-button:hover:not(:disabled){background:var(--color-surface-alt)}.shop-floor-button.selected-pass,.shop-floor-button.result-pass:hover:not(:disabled){border-color:var(--color-green);background:var(--color-green-bg);color:var(--color-green)}.shop-floor-button.selected-fail,.shop-floor-button.result-fail:hover:not(:disabled){border-color:var(--color-red);background:var(--color-red-bg);color:var(--color-red)}.shop-floor-form input,.shop-floor-form select,.shop-floor-form textarea{min-height:48px;font-size:1rem}.data-table td .shop-floor-form{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap}.data-table td .shop-floor-actions{gap:.35rem;margin:0;flex-wrap:nowrap}.data-table td .shop-floor-button{min-height:unset;min-width:unset;padding:var(--btn-padding-sm, .35rem .7rem);font-size:var(--btn-font-sm, .78rem);font-weight:600;border-radius:var(--radius-sm);border-width:1px}.data-table td .shop-floor-form input,.data-table td .shop-floor-form select,.data-table td .shop-floor-form textarea{min-height:unset;font-size:.875rem;padding:.35rem .5rem}@media (max-width: 900px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.app-shell.nav-open .sidebar{transform:translate(0)}.app-shell.nav-open .sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0b1466;z-index:30}.topbar-menu-button{display:inline-flex}.page-content{padding:1.1rem}.page-toolbar{margin:0 -1.1rem 1rem;padding:1.1rem 1.1rem .85rem}.page-toolbar:first-child{margin-top:-1.1rem;top:-1.1rem}.topbar{padding:.75rem 1.1rem}.topbar-user-meta{display:none}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c211d73;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1.25rem;z-index:100}.modal-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-soft);width:100%;max-width:560px;max-height:calc(100vh - 3rem);overflow-y:auto;display:flex;flex-direction:column}.modal-card-wide{max-width:860px}.modal-card-sm{max-width:440px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.4rem;border-bottom:1px solid var(--color-border-soft);position:sticky;top:0;background:var(--color-surface);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.modal-header h2{margin:0;font-family:var(--font-display);font-size:1.2rem}.modal-close{color:var(--color-text-muted)}.modal-body{padding:1.1rem 1.4rem 1.4rem}.view-toggle{display:inline-flex;gap:.25rem;margin-left:auto;background:var(--color-gray-bg);border-radius:var(--radius-pill);padding:.2rem}.view-toggle-btn{border:none;background:transparent;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600;padding:.35rem .9rem;border-radius:var(--radius-pill);cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease)}.view-toggle-btn:hover:not(.view-toggle-btn--active){color:var(--color-text)}.view-toggle-btn--active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.planning-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-border-soft);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);overflow-y:auto;overflow-x:hidden;max-height:520px}.planning-calendar-weekday{background:var(--color-surface-alt);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-align:center;padding:.5rem .25rem;position:sticky;top:0;z-index:2}.planning-calendar-day{background:var(--color-surface);min-height:96px;padding:.35rem;display:flex;flex-direction:column;gap:.25rem}.planning-calendar-day--muted{background:var(--color-bg)}.planning-calendar-day--muted .planning-calendar-daynum{color:var(--color-text-faint)}.planning-calendar-daynum{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.planning-calendar-chip{display:block;width:100%;text-align:left;border:none;border-radius:var(--radius-xs);padding:.2rem .4rem;font-size:var(--text-xs);font-weight:600;background:var(--color-gray-bg);color:var(--color-text);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-calendar-chip:hover{filter:brightness(.96)}.planning-calendar-chip--ready{background:var(--color-green-bg);color:var(--color-green)}.planning-calendar-chip--short{background:var(--color-red-bg);color:var(--color-red)}@media (max-width: 640px){.planning-calendar-day{min-height:64px}.planning-calendar-weekday{font-size:.65rem}}
