@import"https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&display=swap";:root{--canvas-default: #f5efe6;--canvas-gradient-top: #f8f4ed;--canvas-gradient-bottom: #efe6da;--canvas-subtle: #fbf7f1;--canvas-overlay: rgba(250, 245, 238, .94);--surface-default: #fffaf4;--surface-muted: #f7f0e7;--surface-strong: #f2e7da;--surface-inset: #ebe0d2;--border-default: #d8cbbd;--border-muted: #e7ddd2;--border-strong: #c2b2a2;--text-primary: #24292f;--text-secondary: #57606a;--text-muted: #6e7781;--text-on-accent: #ffffff;--accent-primary: #0969da;--accent-primary-hover: #0550ae;--accent-primary-soft: #dff0ff;--accent-warm: #9a6700;--accent-warm-soft: #fff1d6;--success: #1a7f37;--success-soft: #dafbe1;--warning: #9a6700;--warning-soft: #fff8c5;--danger: #cf222e;--danger-soft: #ffebe9;--neutral-soft: #f3ede5;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--content-max-width: 1320px;--shadow-xs: 0 1px 1px rgba(31, 35, 40, .04);--shadow-sm: 0 2px 6px rgba(31, 35, 40, .08);--shadow-md: 0 10px 24px rgba(31, 35, 40, .12);--motion-route-duration: .26s;--motion-route-ease: cubic-bezier(.22, 1, .36, 1);--motion-control-duration: .16s;--motion-control-ease: ease;--font-ui: "Source Sans 3", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-code: "JetBrains Mono", "Cascadia Code", "Fira Code", monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.external-orders-context{display:grid;gap:16px}.external-provider-strip{display:flex;flex-wrap:wrap;gap:10px}.external-provider-chip{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 16px;border-radius:999px;border:1px solid rgba(206,160,95,.32);background:linear-gradient(180deg,#fff9f0fa,#f8edd6f0);color:#8b5d1a;font-weight:700}.external-provider-chip.active{border-color:#c6882085;box-shadow:0 12px 24px #c6882024}.external-provider-chip.muted{color:#8d7a5a;background:#fffbf3d1}.external-session-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:22px;border:1px solid rgba(210,182,132,.26);background:radial-gradient(circle at top left,rgba(255,246,227,.95),transparent 42%),linear-gradient(180deg,#fffcf6fa,#f8efe2f2)}.external-session-copy{display:grid;gap:6px;min-width:0}.external-session-copy strong{font-size:1rem;color:#243244}.external-session-copy span,.external-session-preview{color:#6d737a;font-size:.92rem}.external-session-preview{max-width:320px;padding:10px 14px;border-radius:16px;background:#ffffffbd;border:1px solid rgba(212,192,152,.24);text-align:right;word-break:break-all}.external-session-preview.empty{color:#b44d3a}.external-order-filter-shell{display:grid;gap:14px}.external-order-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.external-order-filter-actions{display:flex;justify-content:flex-end;gap:12px}.external-order-tab-section{display:grid;gap:14px;margin-bottom:18px}.external-order-result-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:20px;border:1px solid rgba(216,194,156,.24);background:radial-gradient(circle at top left,rgba(255,244,220,.82),transparent 42%),linear-gradient(180deg,#fffdf8fa,#f7efe4f0)}.external-order-result-summary strong{color:#243244;font-size:1.08rem}.external-order-result-summary span{color:#6d737a;font-size:.92rem}.external-order-tab-strip{display:flex;flex-wrap:wrap;gap:10px}.external-order-tab{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(214,187,145,.3);background:#fffdf8d1;color:#5f6570;font-weight:700;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease,color .16s ease}.external-order-tab strong{color:#243244}.external-order-tab:hover,.external-order-tab:focus-visible{border-color:#c688206b;color:#243244;transform:translateY(-1px)}.external-order-tab.active{color:#8b5d1a;border-color:#c6882085;background:linear-gradient(180deg,#fff9ee,#f8ecd1f5);box-shadow:0 14px 26px #c6882024}.external-order-inline-tip{margin-bottom:16px;padding:12px 16px;border-radius:16px;border:1px solid rgba(85,144,222,.28);background:#eaf4ffeb;color:#386692;font-size:.92rem}.external-order-list{display:grid;gap:18px}.external-order-row{display:grid;gap:18px;padding:22px 24px;border-radius:24px;border:1px solid rgba(218,195,155,.24);background:radial-gradient(circle at top right,rgba(255,246,227,.72),transparent 32%),radial-gradient(circle at bottom left,rgba(255,250,239,.88),transparent 38%),linear-gradient(180deg,#fffdf8fa,#f7efe4f5);box-shadow:0 22px 48px #392a160f}.external-order-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:18px;align-items:start}.external-order-main{display:grid;gap:12px;min-width:0}.external-order-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.external-order-title-row strong{color:#243244;font-size:1.38rem;line-height:1.1;letter-spacing:.01em}.external-order-status-row{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.external-order-route{display:grid;gap:8px}.external-order-route strong{color:#243244;font-size:1.12rem;line-height:1.3}.external-order-route span,.external-route-note{color:#6d737a;line-height:1.5}.external-order-action-panel{display:grid;gap:14px;align-content:start;padding:16px;border-radius:20px;border:1px solid rgba(214,189,144,.24);background:#ffffffb8;box-shadow:inset 0 0 0 1px #ffffff6b}.external-order-action-copy{display:grid;gap:6px}.external-order-action-copy span{color:#7b8088;font-size:.82rem;font-weight:700;letter-spacing:.02em}.external-order-action-copy strong,.external-order-fact-card strong{color:#243244}.external-order-actions{display:flex;flex-wrap:wrap;gap:10px}.external-order-action-panel .btn-primary,.external-order-action-panel .btn-secondary{width:100%;justify-content:center}.external-order-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.external-order-fact-card{display:grid;gap:6px;padding:14px 16px;border-radius:18px;border:1px solid rgba(216,194,156,.2);background:#ffffffad}.external-order-fact-card span{color:#7b8088;font-size:.83rem;font-weight:700}.external-order-fact-card strong{color:#243244;font-size:1rem;line-height:1.35}.external-order-fact-card small{color:#7b8088;line-height:1.4}.external-order-footer{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:12px}.external-order-assist-card{display:grid;gap:6px;padding:16px 18px;border-radius:18px;border:1px solid rgba(216,194,156,.2);background:#ffffffa3}.external-order-assist-card span{color:#7b8088;font-size:.82rem;font-weight:700}.external-order-assist-card strong{color:#243244;line-height:1.45}.external-order-assist-card small{color:#6d737a;line-height:1.5}.external-order-note-card{background:linear-gradient(180deg,#fff9eceb,#fff4dcb3)}.external-order-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.external-cookie-input{min-height:160px;resize:vertical}.external-transfer-form{position:relative;isolation:isolate;overflow:clip;gap:18px}.external-transfer-loading{display:grid;gap:16px;padding:24px;border-radius:24px;border:1px solid rgba(215,190,144,.22);background:radial-gradient(circle at top left,rgba(255,244,220,.72),transparent 42%),linear-gradient(180deg,#fffdf8fa,#f7efe3f5);box-shadow:inset 0 0 0 1px #ffffff6b,0 18px 32px #b5985f14}.external-transfer-loading-hero{display:grid;gap:8px}.external-transfer-loading-badge{display:inline-flex;align-items:center;gap:8px;min-height:30px;width:fit-content;padding:0 12px;border-radius:999px;border:1px solid rgba(209,177,124,.28);background:#fffbf5d6;color:#845920;font-size:.82rem;font-weight:700}.external-transfer-loading-orb{width:10px;height:10px;border-radius:50%;background:linear-gradient(180deg,#f0b35f,#d78a2f);box-shadow:0 0 #d78a2f47;animation:external-transfer-orb-pulse 1.8s ease-in-out infinite}.external-transfer-loading-hero strong{color:#243244;font-size:1.18rem}.external-transfer-loading-hero p{margin:0;color:#5f6671;line-height:1.6}.external-transfer-loading-stage{display:grid;grid-template-columns:minmax(220px,1fr) minmax(120px,160px) minmax(220px,1fr);gap:14px;align-items:center}.external-transfer-loading-card{display:grid;gap:8px;padding:18px;border-radius:22px;border:1px solid rgba(214,190,150,.22);background:#fffc;box-shadow:inset 0 0 0 1px #ffffff5c}.external-transfer-loading-card span{color:#7b8088;font-size:.82rem;font-weight:700;letter-spacing:.02em}.external-transfer-loading-card strong{color:#243244;font-size:1rem;line-height:1.45}.external-transfer-loading-card small{color:#5f6671;line-height:1.55}.external-transfer-loading-route{position:relative;min-height:84px;display:grid;place-items:center}.external-transfer-loading-route-line{width:100%;height:2px;border-radius:999px;background:linear-gradient(90deg,#dcc9ae33,#d0b07c8c,#dcc9ae33)}.external-transfer-loading-route-dot{position:absolute;top:50%;left:14px;width:12px;height:12px;border-radius:50%;transform:translateY(-50%);background:linear-gradient(180deg,#f1ba6b,#d98a34);box-shadow:0 4px 12px #d98a3452;opacity:0;animation:external-transfer-route-travel 2.8s ease-in-out infinite}.external-transfer-loading-route-dot.dot-b{animation-delay:.8s}.external-transfer-loading-route-dot.dot-c{animation-delay:1.6s}.external-transfer-loading-route-chip{position:absolute;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 12px;border-radius:999px;background:#ffffffe6;border:1px solid rgba(214,190,150,.24);color:#8b5d1a;font-size:.82rem;font-weight:700}.external-transfer-loading-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.external-transfer-loading-step{display:grid;gap:6px;padding:14px 16px;border-radius:18px;border:1px solid rgba(214,190,150,.18);background:#ffffffb8}.external-transfer-loading-step span{color:#8b5d1a;font-size:.78rem;font-weight:700;letter-spacing:.08em}.external-transfer-loading-step strong{color:#243244;line-height:1.4}.external-transfer-loading-step small{color:#6d737a;line-height:1.5}.external-transfer-loading-submit{max-width:860px;margin:0 auto}.external-transfer-submit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;align-items:center;padding:18px;background:#faf4e994;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.external-transfer-panel{background:linear-gradient(180deg,#fffffffa,#fbf4e9fa)}.external-transfer-modal-body{padding:18px;gap:16px;background:radial-gradient(circle at top left,rgba(255,244,220,.35),transparent 42%),linear-gradient(180deg,#fffcf7f5,#f7eee2eb)}.external-transfer-shell{display:grid;grid-template-columns:minmax(320px,.96fr) minmax(420px,1.04fr);gap:18px;align-items:start}.external-transfer-preview{display:grid;gap:14px;padding:20px;border-radius:24px;border:1px solid rgba(217,193,147,.22);background:radial-gradient(circle at top left,rgba(255,245,223,.72),transparent 42%),linear-gradient(180deg,#fffcf5fa,#f9f1e5f0);box-shadow:inset 0 0 0 1px #ffffff73,0 14px 28px #b5985f14}.external-transfer-preview-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px}.external-transfer-preview-title{display:grid;gap:6px;min-width:0}.external-transfer-preview-title span{color:#7b8088;font-size:.82rem;font-weight:700;letter-spacing:.02em}.external-transfer-preview-title strong{font-size:1.24rem;color:#243244}.external-transfer-preview-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.external-preview-mode{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;background:#ffffffc7;border:1px solid rgba(214,190,150,.28);color:#8b5d1a;font-size:.84rem;font-weight:700}.external-transfer-product-card{display:grid;gap:8px;padding:18px;border-radius:22px;border:1px solid rgba(212,185,137,.24);background:#ffffffd1;box-shadow:inset 0 0 0 1px #ffffff6b}.external-transfer-product-card span,.external-transfer-preview-card span,.external-transfer-summary-card span,.external-transfer-binding-summary span{color:#7b8088;font-size:.82rem;font-weight:700;letter-spacing:.02em}.external-transfer-product-card strong,.external-transfer-preview-card strong,.external-transfer-summary-card strong,.external-transfer-binding-summary strong{color:#243244}.external-transfer-product-card strong{font-size:1.08rem;line-height:1.55}.external-transfer-product-card p,.external-transfer-summary-card p{margin:0;color:#5d6470;line-height:1.55}.external-transfer-tag-row{display:flex;flex-wrap:wrap;gap:8px}.external-transfer-tag{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid rgba(205,177,122,.24);background:#fffbf5d1;color:#6f5d43;font-size:.82rem;font-weight:700}.external-transfer-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.external-transfer-preview-card,.external-transfer-binding-summary>div{display:grid;gap:6px;padding:14px 16px;border-radius:18px;border:1px solid rgba(216,194,156,.2);background:#ffffffb8}.external-transfer-preview-card strong,.external-transfer-summary-card strong,.external-transfer-binding-summary strong{font-size:1rem;line-height:1.45}.external-transfer-preview-card small{color:#6d737a;line-height:1.5}.external-transfer-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.external-transfer-summary-card{display:grid;gap:8px;padding:14px 16px;border-radius:18px;border:1px solid rgba(212,185,137,.22);background:#ffffffc2}.external-transfer-summary-card.warning{background:linear-gradient(180deg,#fff8f0f2,#fff1e3eb);border-color:#d4955d42}.external-transfer-notes{display:grid;gap:8px;padding:16px 18px;border-radius:18px;background:#ffffffbd;border:1px solid rgba(214,190,150,.22)}.external-transfer-notes strong{color:#243244}.external-transfer-notes ul{margin:0;padding-left:18px;display:grid;gap:8px}.external-transfer-notes li{color:#5d6470;line-height:1.55}.external-transfer-editor{display:grid;gap:16px;align-content:start}.external-transfer-form-section{display:grid;gap:14px;padding:18px;border-radius:22px;border:1px solid rgba(215,192,151,.22);background:#ffffffc7;box-shadow:inset 0 0 0 1px #ffffff5c}.external-transfer-section-head{display:grid;gap:6px}.external-transfer-section-head h4{margin:0;font-size:1.02rem;color:#243244}.external-transfer-section-head p{margin:0;color:#6d737a;line-height:1.5}.external-transfer-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;align-items:start}.external-transfer-field-span-2{grid-column:1 / -1}.external-transfer-route-note{margin-top:0;padding:12px 14px;border-radius:16px;border:1px solid rgba(216,194,156,.18);background:#fbf7efeb}.external-transfer-binding-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.external-transfer-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.external-transfer-actions .btn-secondary,.external-transfer-actions .btn-primary{min-width:128px}@keyframes external-transfer-orb-pulse{0%,to{transform:scale(1);box-shadow:0 0 #d78a2f29}50%{transform:scale(1.08);box-shadow:0 0 0 8px #d78a2f00}}@keyframes external-transfer-route-travel{0%{left:14px;opacity:0;transform:translateY(-50%) scale(.82)}18%{opacity:1}82%{left:calc(100% - 26px);opacity:1;transform:translateY(-50%) scale(1)}to{left:calc(100% - 26px);opacity:0;transform:translateY(-50%) scale(.9)}}@keyframes external-transfer-route-travel-vertical{0%{top:14px;opacity:0;transform:translate(-50%) scale(.82)}18%{opacity:1}82%{top:calc(100% - 26px);opacity:1;transform:translate(-50%) scale(1)}to{top:calc(100% - 26px);opacity:0;transform:translate(-50%) scale(.9)}}.external-route-fields{align-items:start}.external-route-note{margin-top:-4px;font-size:.9rem}@media (max-width: 960px){.external-order-filter-grid,.external-order-head,.external-order-footer,.external-order-facts{grid-template-columns:minmax(0,1fr)}.external-session-summary{flex-direction:column;align-items:flex-start}.external-session-preview{max-width:none;width:100%;text-align:left}.external-order-pagination{flex-direction:column;align-items:stretch}.external-transfer-shell,.external-transfer-loading-stage,.external-transfer-preview-grid,.external-transfer-summary-grid,.external-transfer-form-grid,.external-transfer-binding-summary{grid-template-columns:minmax(0,1fr)}.external-transfer-preview-pills{justify-content:flex-start}.external-transfer-loading-route{min-height:88px}.external-transfer-loading-route-line{width:2px;height:100%;background:linear-gradient(180deg,#dcc9ae33,#d0b07c8c,#dcc9ae33)}.external-transfer-loading-route-dot{top:14px;left:50%;transform:translate(-50%);animation-name:external-transfer-route-travel-vertical}.external-transfer-loading-route-chip{position:relative}.external-transfer-loading-steps{grid-template-columns:minmax(0,1fr)}}@media (max-width: 720px){.external-transfer-loading{padding:18px}.external-order-result-summary,.external-order-title-row{flex-direction:column;align-items:flex-start}.external-order-status-row{justify-content:flex-start}.external-order-row{padding:18px}.external-order-facts{grid-template-columns:minmax(0,1fr)}.external-transfer-modal-body,.external-transfer-preview,.external-transfer-form-section{padding:16px}.external-transfer-actions{flex-direction:column-reverse;align-items:stretch}.external-transfer-actions .btn-secondary,.external-transfer-actions .btn-primary{width:100%}.external-transfer-submit-overlay{padding:12px}}@media (prefers-reduced-motion: reduce){.external-transfer-loading-orb,.external-transfer-loading-route-dot{animation:none}}html,body,#root{height:100%}html{overflow-y:scroll}body{margin:0;color:var(--text-primary);font-family:var(--font-ui);background:radial-gradient(760px 320px at -8% -10%,rgba(255,222,167,.42),transparent 70%),radial-gradient(820px 360px at 115% 110%,rgba(215,236,255,.36),transparent 70%),linear-gradient(180deg,var(--canvas-gradient-top) 0%,var(--canvas-gradient-bottom) 100%);background-attachment:fixed}a{color:var(--accent-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}ul{margin:0;padding-left:18px}input[type=checkbox]{accent-color:var(--accent-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#ece5db}::-webkit-scrollbar-thumb{background:#c4b4a2;border:2px solid #ece5db;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#a8927b}@keyframes route-fade-out{0%{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(1.5px)}}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);grid-template-rows:64px minmax(0,1fr);grid-template-areas:"topbar topbar" "side content"}.topbar{grid-area:topbar;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-5);background:var(--canvas-overlay);border-bottom:1px solid var(--border-default);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.top-left{min-width:0;display:flex;align-items:center}.workspace-rail-shell{min-width:0;flex:1 1 auto;display:grid;align-items:center}.workspace-rail{min-width:0;display:flex;align-items:center;gap:8px}.workspace-rail-desktop{overflow-x:auto;overflow-y:hidden;padding:5px 0}.workspace-rail-mobile{display:none}.workspace-rail-empty{min-height:38px;display:inline-flex;align-items:center;padding:0 14px;border:1px dashed #d7c4ae;border-radius:999px;background:#fffaf2d1;color:var(--text-muted);font-size:12px;white-space:nowrap}.workspace-pill{flex:0 0 auto;min-width:0;max-width:248px;display:inline-flex;align-items:stretch;border:1px solid;border-radius:20px;box-shadow:0 8px 18px #5c402112,var(--shadow-xs);overflow:hidden}.workspace-pill-main{min-width:0;max-width:208px;border:0;background:transparent;color:inherit;display:inline-flex;align-items:center;padding:8px 14px 8px 15px;cursor:pointer}.workspace-pill-copy{min-width:0;width:100%;display:grid;gap:1px;text-align:left}.workspace-pill-title,.workspace-pill-meta{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-pill-title{font-size:12px;font-weight:700;line-height:1.15}.workspace-pill-meta{font-size:11px;color:#392c1db8;line-height:1.1}.workspace-pill-close{align-self:center;margin:0 8px 0 0;width:24px;height:24px;border-radius:999px;border:1px solid rgba(106,79,47,.16);background:#fffcf78f;color:inherit;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-weight:600;cursor:pointer;transform-origin:center;transition:background-color .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}.workspace-pill-close-glyph{width:12px;height:12px;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;fill:none}.workspace-pill-close:hover,.workspace-pill-close:focus-visible{background:#fffaf3e6;border-color:#6a4f2f47;transform:scale(1.08);box-shadow:0 6px 12px #6a4f2f1f}.workspace-pill.active{border-color:#d3a534;background:linear-gradient(180deg,#fff2c7,#f0cf72);color:#5f4214;box-shadow:0 0 0 1px #ae812038,0 12px 24px #8e671c24,var(--shadow-sm);transform:translateY(-1px)}.workspace-pill.active .workspace-pill-meta{color:#5f4214c7}.workspace-pill.active .workspace-pill-close{border-color:#7b57132e;background:#fff9e7bd}.workspace-pill.active .workspace-pill-close:hover,.workspace-pill.active .workspace-pill-close:focus-visible{background:#fff6d6f5;border-color:#7b57134d;transform:scale(1.08);box-shadow:0 6px 12px #7b571324}.workspace-pill-apricot{border-color:#d9b38d;background:linear-gradient(180deg,#fff3e6,#f4e0cd);color:#5f3a1b}.workspace-pill-peach{border-color:#ddb09f;background:linear-gradient(180deg,#fff0ea,#f5ddd3);color:#643126}.workspace-pill-honey{border-color:#d8bf86;background:linear-gradient(180deg,#fff6df,#f4e7bf);color:#62461b}.workspace-pill-sand{border-color:#d3c0a7;background:linear-gradient(180deg,#faf3e8,#ede0ce);color:#584734}.workspace-pill-coral{border-color:#d8ada4;background:linear-gradient(180deg,#fff1ee,#f2dad3);color:#64322b}.workspace-pill-tea{border-color:#cdb994;background:linear-gradient(180deg,#f9f2df,#eadfc3);color:#5d4b24}.workspace-pill-cream{border-color:#d8b68c;background:linear-gradient(180deg,#fff5e8,#f3e3ca);color:#6a4620}.workspace-pill-blush{border-color:#d7b4b0;background:linear-gradient(180deg,#fff3f1,#f0ddd8);color:#6a3e36}.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:4px 10px 4px 4px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:linear-gradient(180deg,#fffdf9,#f8f0e5);box-shadow:var(--shadow-xs)}.brand-mark{width:34px;height:34px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid #2a78d5;background:linear-gradient(160deg,#2f85ec,#0d68d3 62%,#0953ac);color:var(--text-on-accent);box-shadow:inset 0 1px #fff3}.brand-glyph{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.brand-copy{min-width:0;display:grid;gap:1px}.brand-title{display:inline-flex;align-items:baseline;gap:6px;font-family:var(--font-code);letter-spacing:.04em;text-transform:uppercase}.brand-title-light,.brand-title-hot{line-height:1;font-size:13px;font-weight:700}.brand-title-light{color:var(--text-primary)}.brand-title-hot{color:var(--accent-primary)}.brand-sub{margin:0;color:var(--text-muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-hero{min-height:56px;padding:6px 12px 6px 6px;border-radius:var(--radius-lg);gap:12px}.brand-hero .brand-mark{width:42px;height:42px;border-radius:var(--radius-md)}.brand-hero .brand-glyph{width:22px;height:22px}.brand-hero .brand-title-light,.brand-hero .brand-title-hot{font-size:15px}.brand-hero .brand-sub{font-size:12px}.top-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-2);white-space:nowrap}.top-meta,.top-user{flex:0 0 auto;min-height:32px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-secondary);font-size:12px}.side-nav{grid-area:side;position:sticky;top:64px;align-self:start;height:calc(100vh - 64px);overflow-y:auto;padding:var(--space-4);border-right:1px solid var(--border-default);background:linear-gradient(180deg,#f8f2e9,#f1e8dc);display:grid;align-content:start;gap:var(--space-4)}.side-group{display:grid;gap:var(--space-2)}.side-group-title{margin:0;font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.side-item{min-height:34px;width:100%;display:inline-flex;align-items:center;gap:8px;padding:0 9px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;text-align:left;color:var(--text-secondary);cursor:pointer;transition:color var(--motion-control-duration) var(--motion-control-ease),border-color var(--motion-control-duration) var(--motion-control-ease),background-color var(--motion-control-duration) var(--motion-control-ease)}.side-item:hover{text-decoration:none;color:var(--text-primary);border-color:var(--border-default);background:#ffffff8c}.side-item.active{color:var(--accent-primary);border-color:#a8cdf5;background:var(--accent-primary-soft);font-weight:600}.side-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);background:var(--surface-default);border:1px solid var(--border-muted)}.side-label{font-size:14px}.nav-glyph{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.main-content{grid-area:content;min-width:0;min-height:calc(100vh - 64px);padding:var(--space-5);display:grid;align-content:start;gap:var(--space-5);overflow:hidden}.route-stack{width:min(100%,var(--content-max-width));margin:0 auto}.route-stack{position:relative;isolation:isolate}.route-layer{width:min(100%,var(--content-max-width));margin:0 auto;will-change:opacity,filter;contain:paint}.route-layer>.card+.card{margin-top:var(--space-4)}.route-current{position:relative;z-index:2}.route-previous{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.route-stack.is-transitioning .route-previous{animation:route-fade-out var(--motion-route-duration) var(--motion-route-ease) both}.card{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-default);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{padding:14px 18px;border-bottom:1px solid var(--border-muted);background:linear-gradient(180deg,#fffdf9,#faf3ea);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.card-heading{display:grid;gap:2px}.card-heading h2{margin:0;font-size:20px;line-height:1.2;font-weight:700}.card-heading p{margin:0;color:var(--text-secondary);font-size:13px}.card-header-action{display:inline-flex;align-items:center;gap:var(--space-2)}.card-body{padding:18px;display:grid;gap:14px}.card-context{display:grid;gap:8px;padding:10px;border:1px solid var(--border-muted);border-radius:var(--radius-md);background:var(--canvas-subtle)}.card-actions{display:grid;gap:8px;padding:10px;border:1px solid var(--border-muted);border-radius:var(--radius-md);background:var(--surface-muted)}.card-content{display:grid;gap:12px}.card-content>h3{margin:2px 0 0;font-size:16px;font-weight:700;color:var(--text-primary)}.card-compact .card-header{padding:10px 14px}.card-compact .card-heading h2{font-size:17px}.card-compact .card-heading p{font-size:12px}.card-compact .card-body{padding:12px 14px;gap:10px}.btn-primary,.btn-secondary,.btn-danger{min-height:36px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;cursor:pointer;transition:color var(--motion-control-duration) var(--motion-control-ease),border-color var(--motion-control-duration) var(--motion-control-ease),background-color var(--motion-control-duration) var(--motion-control-ease),box-shadow var(--motion-control-duration) var(--motion-control-ease)}.btn-primary{color:var(--text-on-accent);border-color:var(--accent-primary);background:linear-gradient(180deg,#2b7ee5 0%,var(--accent-primary) 100%)}.btn-primary:hover{border-color:var(--accent-primary-hover);background:linear-gradient(180deg,#2573d7 0%,var(--accent-primary-hover) 100%)}.btn-secondary{color:var(--text-primary);border-color:var(--border-default);background:linear-gradient(180deg,#fffaf3,#f6ede1)}.btn-secondary:hover{border-color:var(--border-strong);background:linear-gradient(180deg,#fff7ed,#f2e5d6)}.btn-danger{color:#fff;border-color:var(--danger);background:linear-gradient(180deg,#de4450 0%,var(--danger) 100%)}.btn-danger:hover{border-color:#a40e26;background:linear-gradient(180deg,#cf2f3c,#b6232f)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-link:disabled{opacity:.55;cursor:not-allowed}.btn-link{min-height:30px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--accent-primary);background:transparent;font-size:12px;font-weight:600;cursor:pointer;transition:color var(--motion-control-duration) var(--motion-control-ease),border-color var(--motion-control-duration) var(--motion-control-ease),background-color var(--motion-control-duration) var(--motion-control-ease)}.btn-link:hover{text-decoration:none;border-color:#bfd8f4;background:#edf5ff}.btn-link-secondary{color:var(--text-secondary)}.top-actions .btn-secondary,.top-actions button{flex:0 0 auto;white-space:nowrap}.btn-link-secondary:hover{border-color:var(--border-default);background:var(--surface-muted);color:var(--text-primary)}.btn-link-danger{color:var(--danger)}.btn-link-danger:hover{border-color:#f0c2c0;background:var(--danger-soft)}.toolbar,.toolbar-main,.toolbar-secondary,.form-inline{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.toolbar-spread{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px;border:1px solid var(--border-muted);border-radius:var(--radius-md);background:var(--canvas-subtle)}.finance-cockpit{display:grid;gap:10px;padding:10px;border:1px solid var(--border-muted);border-radius:var(--radius-md);background:var(--canvas-subtle)}.finance-stepper{display:flex;flex-wrap:wrap;gap:8px}.finance-step{min-height:30px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-secondary);display:inline-flex;align-items:center;font-size:12px;font-weight:700}.finance-step.pending{color:var(--text-muted);background:var(--surface-muted)}.finance-step.current{color:#0b5fc4;border-color:#a8cdf5;background:var(--accent-primary-soft)}.finance-step.done{color:#1f6f3d;border-color:#9bd8b0;background:var(--success-soft)}.finance-step.blocked{color:#9f1c24;border-color:#e3a7a1;background:var(--danger-soft)}.finance-action-group{display:grid;gap:6px}.finance-action-label{margin:0;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.finance-action-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.finance-action-row input,.finance-action-row select{min-width:220px}.finance-preselect-tip{min-height:40px;display:inline-flex;align-items:center;padding:0 12px;border:1px dashed #ccb89d;border-radius:var(--radius-sm);background:#fff7eb;color:var(--text-secondary);font-size:12px;font-weight:600}.finance-export-panel{padding:10px;border:1px solid var(--border-muted);border-radius:var(--radius-md);background:var(--surface-muted)}.section-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.section-nav-sticky{position:sticky;top:8px;z-index:6;padding:8px;border:1px solid var(--border-muted);border-radius:var(--radius-md);background:#fcf7eef2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.section-link{min-height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-secondary);font-size:12px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:color var(--motion-control-duration) var(--motion-control-ease),border-color var(--motion-control-duration) var(--motion-control-ease),background-color var(--motion-control-duration) var(--motion-control-ease)}.section-link:hover{text-decoration:none;border-color:#a8cdf5;background:var(--accent-primary-soft);color:#0b5fc4}.section-link:focus-visible{outline:2px solid #4b8fdc;outline-offset:1px}.section-link.active{border-color:#a8cdf5;background:var(--accent-primary-soft);color:#0b5fc4}.section-link-button{cursor:pointer;font:inherit}.filter-toggle{min-height:32px;padding:0 10px;border:1px solid var(--border-default);border-radius:999px;background:var(--surface-default);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:color var(--motion-control-duration) var(--motion-control-ease),border-color var(--motion-control-duration) var(--motion-control-ease),background-color var(--motion-control-duration) var(--motion-control-ease)}.filter-toggle:hover{border-color:#b9a07f;background:#fff7eb;color:var(--text-primary)}.filter-toggle.active{border-color:#a8cdf5;background:var(--accent-primary-soft);color:#0b5fc4}.section-block{display:grid;gap:10px}.project-focus-banner{display:flex;align-items:center}.project-focus-pill{min-height:28px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid #d8bf86;border-radius:999px;background:linear-gradient(180deg,#fff6df,#f4e7bf);color:#62461b;font-size:12px;font-weight:700;letter-spacing:.01em}.project-overview-shell{display:grid;gap:14px}.project-overview-card,.project-workbench-card{border:1px solid var(--border-default);border-radius:var(--radius-md);background:linear-gradient(180deg,#fffdf9,#f8efe3);box-shadow:var(--shadow-xs);padding:14px;display:grid;gap:10px}.project-overview-card-accent{border-color:#dbc487;background:linear-gradient(180deg,#fff9ea,#f7edd0)}.project-overview-card-head,.project-workbench-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.project-overview-card-head h3,.project-workbench-head h3{margin:0;font-size:15px;font-weight:700}.project-overview-copy,.project-workbench-summary,.project-workbench-meta{margin:0}.project-overview-copy,.project-workbench-summary{color:var(--text-primary);line-height:1.6}.project-workbench-meta{color:var(--text-secondary);line-height:1.5;font-size:13px}.project-overview-chip{min-height:24px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid #d8bf86;border-radius:999px;background:linear-gradient(180deg,#fff6df,#f4e7bf);color:#62461b;font-size:12px;font-weight:700;white-space:nowrap}.project-overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-overview-metrics>div{min-width:0;display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default)}.project-overview-metrics span{color:var(--text-secondary);font-size:12px}.project-overview-metrics strong{color:var(--text-primary);font-size:15px;font-weight:700}.project-identity-card{display:grid;gap:12px}.project-identity-context{display:flex;flex-wrap:wrap;gap:6px;color:var(--text-secondary);font-size:14px;font-weight:600}.project-identity-briefs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-identity-brief{display:grid;gap:4px;padding:14px 14px 12px;border:1px solid rgba(151,119,51,.14);border-radius:16px;background:linear-gradient(180deg,#fffcf5f0,#f9f1e1f0);box-shadow:inset 0 1px #ffffff80}.project-identity-brief-label{color:var(--text-muted);font-size:11px;font-weight:700}.project-identity-brief strong{color:var(--text-primary);font-size:18px;line-height:1.2}.project-identity-brief small{color:var(--text-secondary);font-size:12px}.project-context-bar{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 14px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:linear-gradient(180deg,#fffdf9,#f8efe3);box-shadow:var(--shadow-xs)}.project-context-bar-compact{padding:10px 12px;gap:10px}.project-context-copy{min-width:0;display:grid;gap:3px}.project-context-copy strong{color:var(--text-primary);font-size:15px;font-weight:700}.project-context-copy span{color:var(--text-secondary);font-size:13px;line-height:1.45}.project-context-side{flex:1 1 320px;min-width:0;display:grid;justify-items:end;gap:8px}.project-context-bar-compact .project-context-copy{gap:2px}.project-context-bar-compact .project-context-copy strong{font-size:14px}.project-context-bar-compact .project-context-copy span{font-size:12px}.project-context-bar-compact .project-context-side{flex:0 0 auto;justify-items:end}.project-identity-meta{display:flex;flex-wrap:wrap;gap:8px}.project-overview-actions,.project-workbench-actions{display:flex;align-items:center;gap:8px}.project-workbench-tags{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.project-workbench-badge{min-height:24px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid var(--border-default);border-radius:999px;background:var(--surface-default);color:var(--text-secondary);font-size:12px;font-weight:600;white-space:nowrap}.project-workbench-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-planning-shell{display:grid;gap:16px;padding:20px 22px 24px;border:1px solid rgba(204,171,92,.9);border-radius:24px;background:linear-gradient(180deg,#fff9e6fa,#f4e9c7fa);box-shadow:inset 0 0 0 1px #ffffff57,0 10px 24px #80602214}.project-planning-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-planning-head-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.project-planning-toolbar{display:flex;align-items:center;gap:10px;padding:2px 0 6px}.project-planning-toolbar-label{flex:0 0 auto;font-size:13px;font-weight:700;color:#815d17}.project-planning-arrow{flex:0 0 auto;width:34px;height:34px;border-radius:999px;border:1px solid rgba(184,145,52,.18);background:linear-gradient(180deg,#fffcf3fa,#fcf5e1fa);color:#7c5918;font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px #7657180f;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,opacity .16s ease,background-color .16s ease;-webkit-user-select:none;user-select:none;cursor:pointer}.project-planning-arrow:hover:not([aria-disabled=true]){transform:translateY(-1px);border-color:#b891346b;box-shadow:0 10px 18px #7657181f}.project-planning-arrow[aria-disabled=true]{opacity:.42;cursor:default;box-shadow:none}.project-planning-jump-list{min-width:0;flex:0 1 auto;display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:999px;background:#fffaecd1;border:1px solid rgba(214,183,104,.18);box-shadow:inset 0 1px #ffffff94;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-behavior:smooth;-ms-overflow-style:none}.project-planning-jump-list::-webkit-scrollbar{display:none}.project-planning-jump-chip{flex:0 0 auto;min-height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(214,183,104,.16);background:#ffffffb3;color:#7a5a1f;font-size:13px;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;-webkit-user-select:none;user-select:none;cursor:pointer;scroll-snap-align:center}.project-planning-jump-chip:hover{background:#fffdf7f5;border-color:#b891343d}.project-planning-jump-chip-active{border-color:#bd8c1275;background:linear-gradient(180deg,#ffeda0fa,#f7cd57f0);color:#603f08;box-shadow:0 6px 14px #bd8c1224}.project-planning-viewport{position:relative;overflow:hidden;padding:10px 6px 12px}.project-planning-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(248px,1fr);gap:16px;align-items:start;transition:transform .26s ease;will-change:transform}.project-planning-viewport:before{content:"";position:absolute;left:24px;right:24px;top:36px;height:3px;border-radius:999px;background:linear-gradient(90deg,#d6b053db,#cea84d66);pointer-events:none}.project-planning-card{min-width:0;display:grid;gap:12px;min-height:250px;padding:24px 18px 18px;border:1px solid rgba(164,127,57,.16);border-radius:20px;background:linear-gradient(180deg,#fffcf5fa,#f9f1e1fa);box-shadow:0 14px 28px #5d461914,0 4px 10px #5d46190d;position:relative;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.project-planning-card:before{content:"";position:absolute;top:23px;left:18px;width:16px;height:16px;border-radius:999px;background:linear-gradient(180deg,#d7b154,#b68726);box-shadow:0 0 0 5px #f7ecca;z-index:1}.project-planning-card:after{content:none}.project-planning-card:hover{transform:translateY(-3px);box-shadow:0 20px 38px #5d46191f,0 8px 18px #5d461914}.project-planning-card-highlighted{border-color:#d5a42fc7;box-shadow:0 0 0 2px #e6c16133,0 18px 34px #966c1a29;background:linear-gradient(180deg,#fffbef,#f9ebc2);transform:translateY(-2px)}.project-planning-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:16px}.project-planning-card-head strong{color:var(--text-primary);font-size:17px;font-weight:800}.project-planning-card-head span{color:var(--text-secondary);font-size:13px;font-weight:600}.project-planning-title{margin:0;color:var(--text-primary);font-size:18px;font-weight:800;line-height:1.4}.project-planning-title-muted{color:#4d566185;font-weight:700}.project-planning-node-row{display:flex;flex-wrap:wrap;gap:6px}.project-planning-node-note-list{display:grid;gap:8px}.project-planning-node-note{display:grid;gap:4px;padding:10px 12px;border-radius:14px;border:1px solid rgba(151,119,51,.12);background:#ffffff8f}.project-planning-node-note-arrival{border-color:#30878042;background:linear-gradient(180deg,#e0f6f2f0,#d2f1ecd1)}.project-planning-node-note-departure{border-color:#c884473d;background:linear-gradient(180deg,#ffefe2f0,#fde8d6d1)}.project-planning-node-note-label{color:var(--text-secondary);font-size:11px;font-weight:700}.project-planning-node-note-value{color:var(--text-primary);font-size:13px;font-weight:700;line-height:1.5;white-space:pre-wrap}.project-planning-node-chip{min-height:24px;display:inline-flex;align-items:center;padding:0 8px;border:1px solid rgba(151,119,51,.16);border-radius:999px;background:#ffffff9e;color:var(--text-secondary);font-size:11px;font-weight:700}.project-planning-node-chip-arrival{border-color:#30878057;background:#d2f1eceb;color:#1f6b65}.project-planning-node-chip-departure{border-color:#c8844757;background:#fde8d6eb;color:#9a4d1b}.project-planning-resource-preview{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}.project-planning-service-preview{display:grid;gap:8px}.project-planning-service-preview-label{color:var(--text-secondary);font-size:11px;font-weight:700}.project-planning-resource-detail-list{display:grid;gap:8px}.project-planning-resource-detail{display:grid;gap:3px;padding:10px 12px;border-radius:14px;border:1px solid rgba(151,119,51,.12);background:#ffffff85}.project-planning-resource-detail-hotel{border-color:#be972042;background:linear-gradient(180deg,#fff4cdd1,#fbeebaa3)}.project-planning-resource-detail-scenic{border-color:#529d703d;background:linear-gradient(180deg,#dff4e4e0,#d0ecd7ad)}.project-planning-resource-detail-label{color:var(--text-secondary);font-size:11px;font-weight:700}.project-planning-resource-detail-value{color:var(--text-primary);font-size:13px;font-weight:700;line-height:1.45}.project-planning-resource-more{min-height:26px;display:inline-flex;align-items:center;padding:0 10px;border:1px dashed rgba(151,119,51,.24);border-radius:999px;background:#ffffff85;color:var(--text-secondary);font-size:12px;font-weight:600}.project-planning-card-action{display:flex;justify-content:flex-start;margin-top:auto;padding-top:6px}.project-planning-edit-link{padding:0;border:none;background:transparent;color:#24539a;font-weight:700;position:relative}.project-planning-edit-link:hover{color:#183e76;text-decoration:underline}.project-workbench-card.recommended{border-color:#d6b45c;box-shadow:0 0 0 1px #b5831524,var(--shadow-sm)}.project-task-panel{border:1px solid #dbc487;border-radius:var(--radius-md);background:linear-gradient(180deg,#fff9ea,#f7edd0);box-shadow:var(--shadow-xs);padding:14px;display:grid;gap:10px}.project-task-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.project-task-panel-head h3{margin:0;font-size:15px;font-weight:700}.project-task-panel-copy{min-width:0;display:grid;gap:6px}.project-task-decision{margin:0;color:var(--text-primary);font-size:15px;line-height:1.55;font-weight:600}.project-task-panel-focus{gap:12px}.project-workspace-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-workspace-metrics>div{min-width:0;display:grid;gap:4px;padding:10px 12px;border:1px solid rgba(151,119,51,.18);border-radius:var(--radius-sm);background:#fffcf5bd}.project-workspace-metrics span{color:var(--text-secondary);font-size:12px}.project-workspace-metrics strong{color:var(--text-primary);font-size:15px;font-weight:700}.section-header{margin:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.section-header>h3{margin:0}[id^=project-],[id^=finance-]{scroll-margin-top:84px}.form-inline label{min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-secondary)}.form-inline input,.form-inline select,.toolbar input,.toolbar select,.modal-field input,.modal-field select,.modal-field textarea,.resource-form-grid input,.resource-form-grid select,.resource-form-grid textarea,.entity-value input,.entity-value textarea,.login-field input{min-width:130px;min-height:38px;padding:8px 12px;border:1px solid #ccb89e;border-radius:8px;background:linear-gradient(180deg,#fffefb,#f8efe2);color:var(--text-primary);box-shadow:inset 0 1px #ffffffbf,0 1px 1px #6a523214;transition:border-color var(--motion-control-duration) var(--motion-control-ease),box-shadow var(--motion-control-duration) var(--motion-control-ease),background-color var(--motion-control-duration) var(--motion-control-ease)}.form-inline input::placeholder,.toolbar input::placeholder,.modal-field input::placeholder,.modal-field textarea::placeholder,.resource-form-grid input::placeholder,.resource-form-grid textarea::placeholder,.entity-value input::placeholder,.entity-value textarea::placeholder,.login-field input::placeholder{color:#9a8367}.form-inline input:hover,.form-inline select:hover,.toolbar input:hover,.toolbar select:hover,.modal-field input:hover,.modal-field select:hover,.modal-field textarea:hover,.resource-form-grid input:hover,.resource-form-grid select:hover,.resource-form-grid textarea:hover,.entity-value input:hover,.entity-value textarea:hover,.login-field input:hover{border-color:#b99872;box-shadow:inset 0 1px #ffffffbf,0 1px 2px #6a52321a}.form-inline select,.toolbar select,.modal-field select,.resource-form-grid select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:38px;background:linear-gradient(180deg,#fffefb,#f8efe2),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.25 4.5 6 8.25 9.75 4.5' fill='none' stroke='%23745a35' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat;background-position:0 0,right 12px center;background-size:auto,12px 12px}.form-inline select:hover,.toolbar select:hover,.modal-field select:hover,.resource-form-grid select:hover{border-color:#b99872}.form-inline input:focus,.form-inline select:focus,.toolbar input:focus,.toolbar select:focus,.modal-field input:focus,.modal-field select:focus,.modal-field textarea:focus,.resource-form-grid input:focus,.resource-form-grid select:focus,.resource-form-grid textarea:focus,.entity-value input:focus,.entity-value textarea:focus,.login-field input:focus{outline:none;border-color:#6d9fd4;box-shadow:0 0 0 3px #0969da29,inset 0 1px #ffffffd9}.form-inline input:disabled,.form-inline select:disabled,.toolbar input:disabled,.toolbar select:disabled,.modal-field input:disabled,.modal-field select:disabled,.modal-field textarea:disabled,.resource-form-grid input:disabled,.resource-form-grid select:disabled,.resource-form-grid textarea:disabled,.entity-value input:disabled,.entity-value textarea:disabled,.login-field input:disabled{color:#7f6c55;border-color:#dac9b3;background:linear-gradient(180deg,#f7f1e9,#f0e7db);box-shadow:none;cursor:not-allowed}.kpi-grid,.resource-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dashboard-stack{display:grid;gap:18px}.kpi,.resource-kpi{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:12px;background:linear-gradient(180deg,#fffdf9,#f8f0e5);box-shadow:var(--shadow-xs);font-weight:600}.resource-kpi{display:grid;gap:2px}.resource-kpi span{color:var(--text-secondary);font-size:13px;font-weight:500}.skeleton-grid{opacity:.95}.skeleton-card,.skeleton-kpi{border-color:#ddd3c7;background:linear-gradient(180deg,#f7f1e8,#f1e8dd)}.skeleton-line,.skeleton-pill{background:#e4d9cc;border-radius:999px}.skeleton-line{height:10px}.skeleton-title{width:42%;height:14px}.skeleton-label{width:34%}.skeleton-value{width:72%;height:12px}.skeleton-text{width:100%;height:12px}.skeleton-value.short,.skeleton-text.short{width:46%}.skeleton-pill{width:62px;height:24px}.skeleton-text-block{display:grid;gap:10px;padding:4px 0}.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,360px));justify-content:start;align-items:start;gap:10px}.resource-entity-grid{grid-template-columns:repeat(auto-fill,minmax(280px,360px));justify-content:start}.entity-card{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-default);box-shadow:var(--shadow-xs);padding:12px;display:grid;align-self:start;gap:8px}.entity-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.entity-card-highlight{border-color:#caa05f;box-shadow:0 0 0 1px #9a670033,var(--shadow-sm)}.project-entry-card{position:relative}.project-entry-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:12px 0 0 12px;background:#d7cab9}.project-entry-card.stage-quoting:before{background:#d7b35c}.project-entry-card.stage-execution:before{background:#7cc09a}.project-entry-card.stage-settling:before{background:#88b8ea}.project-entry-card.stage-archived:before{background:#b7b0a4}.project-entry-card.stage-archived{background:linear-gradient(180deg,#f8f3eb,#f2ece3);border-color:#d8d0c5}.entity-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.entity-title{margin:0;font-size:15px;font-weight:700}.entity-title-link{padding:0;border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:15px;font-weight:800;text-align:left;cursor:pointer}.entity-title-link:hover{color:#24539a;text-decoration:underline}.entity-tags{display:inline-flex;flex-wrap:wrap;gap:6px}.entity-fields{display:grid;gap:6px}.entity-field{display:grid;gap:1px}.entity-label{font-size:11px;color:var(--text-muted)}.entity-value{font-size:13px}.entity-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px}.project-entry-focus{display:grid;gap:2px;padding:10px 12px;border:1px solid #e2d0a4;border-radius:var(--radius-sm);background:linear-gradient(180deg,#fff9ea,#f7edd0)}.project-entry-focus strong{color:var(--text-primary);font-size:13px;line-height:1.5;font-weight:700}.project-entry-card.stage-archived .project-entry-focus{border-color:#d7cec1;background:linear-gradient(180deg,#f6f1e8,#eee7dc)}.project-entry-card.stage-archived .project-entry-focus strong{color:#5d564d}.project-entry-context{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--text-secondary);font-size:13px;line-height:1.5}.project-entry-context-divider{color:#b39f85}.projects-result-meta{color:var(--text-secondary);font-size:13px}.projects-result-meta strong{color:var(--text-primary)}.projects-filter-panel{display:grid;gap:10px;padding:10px 12px;border:1px solid var(--border-muted);border-radius:var(--radius-md);background:linear-gradient(180deg,#fffdf7,#fbf6eb)}.projects-filter-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.projects-filter-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.projects-filter-search{flex:1 1 420px;min-width:0}.projects-filter-criteria{flex:1 1 860px;min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.projects-filter-field{min-width:0;display:grid;gap:6px}.projects-filter-field>span{color:var(--text-secondary);font-size:12px;font-weight:700}.projects-filter-field-keyword{flex:1 1 300px}.projects-filter-field-keyword input{min-width:220px}.projects-filter-field-date{flex:0 1 auto}.projects-filter-date-range{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.projects-filter-date-range input{min-width:150px}.projects-filter-date-divider{color:var(--text-muted);font-size:12px;font-weight:700}.projects-filter-actions{display:inline-flex;align-items:flex-end;gap:8px;margin-top:18px}.supplier-card-actions>.btn-secondary,.supplier-contract-actions>.btn-secondary,.supplier-contract-actions>.btn-danger{min-width:92px}.supplier-contract-block{display:grid;gap:14px}.supplier-contract-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.supplier-contract-header .card-heading{flex:1 1 auto;min-width:0}.supplier-contract-header .btn-primary{flex:0 0 auto;min-width:92px}.supplier-contract-toolbar{align-items:center}.supplier-contract-grid{margin-top:0}.status-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;border:1px solid;font-size:11px;font-weight:600}.status-pill.success{color:#1f6f3d;border-color:#8ed3a8;background:var(--success-soft)}.status-pill.warning{color:#7a5900;border-color:#f1cf7f;background:var(--warning-soft)}.status-pill.danger{color:#9f1c24;border-color:#f0b7b3;background:var(--danger-soft)}.status-pill.neutral{color:var(--text-secondary);border-color:var(--border-default);background:var(--neutral-soft)}.flow-steps{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid var(--border-muted);border-radius:var(--radius-md);background:var(--canvas-subtle)}.flow-step{min-height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-secondary);font-size:12px;font-weight:600}.flow-step .dot{width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-muted);border:1px solid var(--border-default);font-size:11px}.flow-step.current{color:#0b5fc4;border-color:#a8cdf5;background:var(--accent-primary-soft)}.flow-step.current .dot{color:var(--text-on-accent);background:var(--accent-primary);border-color:var(--accent-primary)}.flow-step.done{color:var(--success);border-color:#9bd8b0;background:var(--success-soft)}.flow-step.done .dot{color:#fff;background:var(--success);border-color:var(--success)}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:14px;background:#35302a75;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-mask-content{inset:auto;z-index:80;align-items:flex-start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-panel{width:min(760px,100%);max-height:calc(100vh - 28px);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-default);box-shadow:var(--shadow-md);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.modal-panel-wide{width:min(1120px,100%)}.modal-header{padding:12px 16px;border-bottom:1px solid var(--border-muted);background:linear-gradient(180deg,#fffdf8,#f8f1e8);display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-header h3{margin:0;font-size:16px}.modal-body{padding:16px;overflow:auto;overscroll-behavior:contain;display:grid;align-content:start;gap:12px}.modal-mask-content .modal-panel{margin:0 auto;max-height:calc(100% - 28px)}.modal-form{display:grid;gap:12px}.modal-field{display:grid;gap:6px}.modal-field span{color:var(--text-secondary);font-size:13px}.searchable-local-select,.planning-inline-select{position:relative;min-width:0}.searchable-local-select-trigger,.planning-inline-select-trigger{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border:1px solid #d0b58e;border-radius:14px;background:linear-gradient(180deg,#fffdfa,#f7f0e5);box-shadow:inset 0 1px #ffffffb8;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.searchable-local-select-trigger:hover,.planning-inline-select-trigger:hover{border-color:#b99350}.searchable-local-select-trigger.active,.planning-inline-select-trigger.active{border-color:#7aa7de;box-shadow:0 0 0 3px #7aa7de2e}.searchable-local-select-trigger:disabled,.planning-inline-select-trigger:disabled{cursor:not-allowed;opacity:.72}.searchable-local-select-trigger-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-local-select-caret,.planning-inline-select-caret{color:var(--text-muted);font-size:12px;flex:0 0 auto}.searchable-local-select-panel,.planning-inline-select-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:6;max-height:260px;overflow:auto;padding:8px;border:1px solid rgba(176,139,64,.22);border-radius:14px;background:linear-gradient(180deg,#fffdf9,#f8f1e8);box-shadow:0 14px 28px #4d391224}.searchable-local-select-search-wrap{padding-bottom:8px}.searchable-local-select-search{width:100%;min-height:40px;padding:0 12px;border:1px solid rgba(176,139,64,.22);border-radius:10px;background:#fffcf6e0;color:var(--text-primary);font:inherit}.searchable-local-select-search:focus{outline:none;border-color:#7aa7de;box-shadow:0 0 0 3px #7aa7de29}.searchable-local-select-options{display:grid;gap:2px}.searchable-local-select-option,.planning-inline-select-option{width:100%;display:grid;gap:2px;padding:10px 12px;border:none;border-radius:10px;background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.searchable-local-select-option-main{min-width:0}.searchable-local-select-option-secondary{color:var(--text-muted);font-size:12px}.searchable-local-select-option:hover,.planning-inline-select-option:hover{background:#e8d8b857}.searchable-local-select-option.active,.planning-inline-select-option.active{background:#d7ebffb8;color:#24539a;font-weight:700}.searchable-local-select-empty,.planning-inline-select-empty{padding:10px 12px;color:var(--text-muted);font-size:13px}.modal-field-hint{color:var(--text-muted);font-size:12px}.modal-checkbox{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px}.planning-assignment-list{display:grid;gap:10px}.planning-assignment-card{display:grid;gap:10px;padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:linear-gradient(180deg,#fffdf8,#f8f1e6)}.planning-assignment-grid,.planning-transport-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.planning-assignment-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-planning-editor{align-items:start}.project-planning-editor-shell{position:relative}.project-planning-editor-span-2{grid-column:span 2}.project-planning-editor-actions{grid-column:1 / -1;width:100%;justify-self:stretch;display:flex;margin-top:4px;padding-top:14px;border-top:1px solid rgba(151,119,51,.14);justify-content:flex-end}.project-resource-picker-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1010;display:flex;align-items:flex-start;justify-content:center;padding:96px 24px 24px;background:#35302a24;overflow-y:auto;overscroll-behavior:contain}.project-resource-picker-panel{width:min(560px,calc(100vw - 48px));max-height:none;overflow:visible;border:1px solid var(--border-default);border-radius:18px;background:linear-gradient(180deg,#fffdf9,#f8f1e8);box-shadow:var(--shadow-md);padding:16px;display:grid;gap:12px}.project-resource-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-resource-picker-head strong{color:var(--text-primary);font-size:15px;font-weight:800}.project-planning-resource-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}.project-planning-resource-head-actions{display:flex;gap:8px;flex-wrap:wrap}.project-planning-resource-empty{min-height:52px;display:flex;align-items:center;justify-content:center;padding:0 14px;border:1px dashed rgba(185,152,114,.5);border-radius:14px;background:#fffcf5e6;color:var(--text-secondary);font-size:13px}.project-planning-resource-stack{display:grid;gap:12px}.project-planning-resource-card{display:grid;gap:12px;padding:14px;border:1px solid rgba(186,156,118,.32);border-radius:16px;background:linear-gradient(180deg,#fffdf9,#f8efe2);transition:box-shadow .18s ease,border-color .18s ease}.project-planning-resource-card-highlighted{border-color:#5089de8f;box-shadow:0 0 0 3px #7aa7de2e,0 12px 24px #43608a1a}.project-planning-resource-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.project-planning-resource-tags{display:flex;gap:6px;flex-wrap:wrap}.project-planning-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-planning-resource-toggle-row{display:flex;align-items:center;gap:10px}.project-planning-detail-card{display:grid;gap:10px;padding:12px;border:1px solid rgba(151,119,51,.18);border-radius:14px;background:#ffffffb8}.project-planning-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.project-planning-detail-head strong{color:var(--text-primary);font-size:13px}.project-planning-detail-meta{color:var(--text-secondary);font-size:12px}.project-planning-room-grid{display:grid;gap:8px}.project-planning-room-row{display:grid;grid-template-columns:minmax(0,1fr) 132px auto;gap:8px;align-items:end}.project-planning-ticket-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.route-day-plan-list{display:grid;gap:12px}.route-day-plan-card{display:grid;gap:10px;padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:linear-gradient(180deg,#fffdf8,#f7f0e3)}.route-day-plan-toggle{width:100%;padding:0;border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.route-day-plan-head,.route-day-plan-headline{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.route-day-plan-headline{flex:1 1 auto;min-width:0}.route-day-plan-head strong{color:var(--text-primary);font-size:14px}.route-day-plan-head span{color:var(--text-secondary);font-size:12px}.route-day-plan-toggle-label{color:var(--accent-primary);font-size:12px;font-weight:600;white-space:nowrap}.route-day-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.route-day-plan-span-2{grid-column:span 2}.route-template-city-field{gap:10px}.route-template-city-selector{display:flex;flex-wrap:wrap;gap:8px}.route-template-city-empty{width:100%;padding:10px 12px;border:1px dashed rgba(176,146,103,.5);border-radius:var(--radius-sm);background:#fffaf2d1;color:var(--text-secondary);font-size:12px}.route-template-city-chip{min-height:36px;padding:0 12px;border:1px solid rgba(186,156,118,.44);border-radius:999px;background:linear-gradient(180deg,#fffdf9,#f8efe2);color:var(--text-secondary);display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease}.route-template-city-chip:hover,.route-template-city-chip:focus-visible{border-color:#5f92d580;box-shadow:0 0 0 3px #77a9e729}.route-template-city-chip.active{border-color:#9fc2eb;background:linear-gradient(180deg,#eef6ff,#def);color:#145fb8}.route-template-city-chip-mark{color:inherit;font-size:11px;font-weight:700}.route-day-plan-checks{display:grid;gap:8px}.route-day-node-toggle-group{display:flex;flex-wrap:wrap;gap:10px}.route-day-node-toggle{min-width:112px;min-height:40px;padding:8px 12px;border:1px solid rgba(186,156,118,.44);border-radius:14px;background:linear-gradient(180deg,#fffdf9,#f8efe2);display:grid;justify-items:start;gap:2px;color:var(--text-secondary);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease}.route-day-node-toggle:hover,.route-day-node-toggle:focus-visible{border-color:#5f92d580;box-shadow:0 0 0 3px #77a9e729}.route-day-node-toggle.active{border-color:#9fc2eb;background:linear-gradient(180deg,#eef6ff,#def);color:#145fb8}.route-day-node-toggle-title{font-size:13px;font-weight:700}.route-day-node-toggle-state{color:var(--text-muted);font-size:11px;line-height:1.4}.route-day-node-toggle.active .route-day-node-toggle-state{color:#145fb8e0}.route-day-resource-list{display:grid;gap:8px}.route-day-resource-row{display:grid;grid-template-columns:132px minmax(0,1fr) minmax(0,1fr) auto;gap:8px}.route-template-grid{align-items:start}.route-template-card{position:relative;height:100%;gap:12px;padding-top:12px}.route-template-card .entity-actions{margin-top:auto}.route-template-title-wrap{display:grid;gap:4px;min-width:0;width:100%}.route-template-meta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0}.route-template-title-row{min-width:0;width:100%}.route-template-title-row .entity-title{display:block;width:100%;min-width:0;margin:0}.route-template-days-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 11px;flex-shrink:0;border-radius:999px;border:1px solid rgba(214,183,104,.22);background:#fff8e1c7;color:#8b6518;font-size:14px;font-weight:700;line-height:1}.route-template-code{color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.04em;min-width:0}.route-template-viewer{display:grid;gap:14px}.route-template-viewer-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.route-template-viewer-meta{color:var(--text-secondary);font-size:13px}.route-day-view-list{display:grid;gap:10px}.route-day-view-card{display:grid;gap:10px;padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:linear-gradient(180deg,#fffdf9,#faf3ea)}.route-day-view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.route-day-view-tags,.route-day-view-resources{display:flex;flex-wrap:wrap;gap:6px}.resource-chip{min-height:26px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid rgba(185,152,114,.56);border-radius:999px;background:#ffffffb8;color:var(--text-secondary);font-size:12px;font-weight:600}.resource-chip-hotel{border-color:#a4853885;background:linear-gradient(180deg,#fff7da,#f2e2a2);color:#6d520f}.resource-chip-scenic{border-color:#4b91686b;background:linear-gradient(180deg,#edf9ef,#d5f0d9);color:#256142}.resource-chip-fleet{border-color:#5278b070;background:linear-gradient(180deg,#edf4ff,#dce8ff);color:#24539a}.resource-chip-driver{border-color:#3a899470;background:linear-gradient(180deg,#ecfbfc,#d4f1f4);color:#1f6570}.resource-chip-guide{border-color:#9b649a61;background:linear-gradient(180deg,#fbf0fb,#efdaf1);color:#7f3d81}.resource-chip-vehicle{border-color:#b06d4866;background:linear-gradient(180deg,#fff2eb,#f6ddd0);color:#8a4a2a}.route-city-list{display:grid;gap:8px}.route-city-row{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:linear-gradient(180deg,#fffdf9,#faf3ea)}.route-day-preview-list{display:grid;gap:6px}.route-day-preview-item{display:grid;gap:2px;padding:8px 10px;border:1px solid rgba(151,119,51,.16);border-radius:var(--radius-sm);background:#fffcf5cc}.route-day-preview-item strong{color:var(--text-primary);font-size:13px}.route-day-preview-item span{color:var(--text-secondary);font-size:12px}.modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.confirm-mask{z-index:1200}.confirm-panel{width:min(440px,100%)}.confirm-panel-warning{border-color:#e0bf77}.confirm-panel-danger{border-color:#de9f9b}.confirm-badge{min-width:50px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);border:1px solid;font-family:var(--font-code);font-size:11px;font-weight:700}.confirm-badge-warning{color:#6e5300;border-color:#e0bf77;background:var(--warning-soft)}.confirm-badge-danger{color:#9f1c24;border-color:#de9f9b;background:var(--danger-soft)}.confirm-message{margin:0 0 12px;line-height:1.6;color:var(--text-secondary)}.inline-actions{display:inline-flex;align-items:center;gap:6px}.resource-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid var(--border-muted);border-radius:16px;background:linear-gradient(180deg,#fffdf9,#f3eadf);box-shadow:inset 0 1px #ffffffc7,0 1px 2px #6f532d0f}.resource-action-main{flex:1 1 540px;min-width:260px;display:grid;gap:8px}.resource-tab{min-height:38px;padding:0 14px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;cursor:pointer;transition:color var(--motion-control-duration) var(--motion-control-ease),border-color var(--motion-control-duration) var(--motion-control-ease),background-color var(--motion-control-duration) var(--motion-control-ease),box-shadow var(--motion-control-duration) var(--motion-control-ease),transform var(--motion-control-duration) var(--motion-control-ease)}.resource-tab:hover{color:var(--text-primary);border-color:#b998728f;background:#ffffff8f}.resource-tab.active{color:#0f4f95;border-color:#a8cdf5;background:linear-gradient(180deg,#eff7ff,#dceeff);box-shadow:inset 0 1px #ffffffdb,0 6px 14px #487eb829;transform:translateY(-1px)}.resource-tab-label{white-space:nowrap;line-height:1}.resource-search-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.resource-filter-row{display:grid;gap:8px}.resource-filter-bar{display:flex;flex-wrap:wrap;gap:8px}.resource-filter-field{min-height:36px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:linear-gradient(180deg,#fffdf9,#f8f1e8);box-shadow:inset 0 1px #ffffffa6}.resource-filter-field span{color:var(--text-secondary);font-size:12px;font-weight:600;white-space:nowrap}.resource-filter-field input,.resource-filter-field select{min-width:150px;min-height:28px;border:none;background:transparent;padding:0}.resource-filter-field input:focus,.resource-filter-field select:focus{outline:none;box-shadow:none}.resource-filter-field:focus-within{border-color:#7bb2ea;box-shadow:inset 0 1px #ffffffd1,0 0 0 3px #0969da26}.resource-filter-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.resource-filter-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px;border:1px solid var(--border-muted);border-radius:999px;background:linear-gradient(180deg,#fffdf9,#f8efe2);box-shadow:inset 0 1px #ffffffb8}.resource-filter-actions .btn-link{min-height:32px;padding:0 10px;border-radius:999px}.resource-filter-actions .btn-primary,.resource-filter-actions .btn-secondary{min-height:32px;padding:0 12px;border-radius:999px}.resource-search{min-height:36px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default)}.resource-filter-bar .resource-search{flex:1 1 220px}.resource-search span{color:var(--text-secondary);font-size:12px;font-weight:600;white-space:nowrap}.resource-search input{min-width:250px;min-height:28px;border:none;padding:0;background:transparent;color:var(--text-primary)}.resource-search input:focus{outline:none;box-shadow:none}.resource-search:focus-within{border-color:#7bb2ea;box-shadow:0 0 0 3px #0969da26}.resource-search-meta{min-height:30px;display:inline-flex;align-items:center;padding:0 8px;border:1px solid var(--border-muted);border-radius:var(--radius-sm);background:var(--canvas-subtle);color:var(--text-secondary);font-size:12px}.resource-card .card-body{position:relative}.resource-card .card-content{position:relative;z-index:10;transition:filter .28s cubic-bezier(.22,1,.36,1),opacity .28s cubic-bezier(.22,1,.36,1)}.resource-card.resource-card-drawer-open .card-content{filter:saturate(.94);opacity:.78}.resource-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;pointer-events:none;overflow-x:hidden}.card-body-drawer{position:static;min-height:140px}.resource-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;box-sizing:border-box;border:none;border-radius:var(--radius-md);background:#f6efe5bd;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .32s cubic-bezier(.22,1,.36,1);cursor:pointer}.resource-drawer-panel{position:fixed;box-sizing:border-box;max-width:calc(100vw - 24px);min-height:220px;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;padding:14px 14px 0;border:1px solid var(--border-muted);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffdfa,#faf3ea);box-shadow:0 24px 48px #7b5c342e;overflow:hidden;opacity:0;transform:translate3d(0,calc(-100% - 28px),0);transform-origin:top center;will-change:transform,opacity;pointer-events:none;visibility:hidden;transition:opacity .26s cubic-bezier(.22,1,.36,1),transform .56s cubic-bezier(.16,.92,.24,1),box-shadow .28s cubic-bezier(.22,1,.36,1)}.resource-drawer-grip{width:42px;height:5px;margin:-2px auto 0;border-radius:999px;background:#7b5c3438}.resource-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.resource-drawer-heading{display:grid;gap:3px}.resource-drawer-heading h3{margin:0;font-size:16px;line-height:1.2}.resource-drawer-heading p{margin:0;color:var(--text-secondary);font-size:12px}.resource-drawer-close{min-height:34px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:#fff8ee;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:pointer}.resource-drawer-close:hover{border-color:#d6bea2;background:#fff2e0}.resource-drawer-body{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px}.resource-drawer-panel .resource-form-grid{width:100%;margin:0;min-height:0;max-height:100%;overflow:auto;align-content:start;padding:0 2px 20px 0;overscroll-behavior:contain;scrollbar-gutter:stable}.resource-drawer.resource-drawer-open{pointer-events:auto}.resource-drawer.resource-drawer-open .resource-drawer-backdrop{opacity:1}.resource-drawer.resource-drawer-open .resource-drawer-panel{opacity:1;transform:translateZ(0);pointer-events:auto;visibility:visible}.resource-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.resource-field{display:grid;gap:6px}.resource-field>span{color:var(--text-secondary);font-size:12px;font-weight:600}.resource-span-2{grid-column:span 2}.resource-span-full{grid-column:1 / -1}.resource-submit{align-self:end}.resource-roomtype-wrap,.resource-city-picker{display:grid;gap:8px}.resource-city-picker{position:relative}.resource-selected-tags{display:flex;flex-wrap:wrap;gap:6px}.resource-selected-tag{min-height:30px;padding:0 10px;border:1px solid #a8cdf5;border-radius:999px;background:var(--accent-primary-soft);color:#0b5fc4;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;cursor:pointer}.resource-selected-tag:hover{border-color:#7fb7ef}.resource-city-candidates{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:24;display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px;padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default);box-shadow:var(--shadow-md);max-height:240px;overflow:auto}.resource-city-chip{min-height:32px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:space-between;gap:6px;cursor:pointer}.resource-city-chip small{color:var(--text-muted);font-size:11px}.resource-city-chip.active{border-color:#a8cdf5;background:var(--accent-primary-soft);color:#0b5fc4}.resource-ticket-editor{display:grid;gap:10px;padding:10px;border:1px solid var(--border-muted);border-radius:var(--radius-md);background:var(--canvas-subtle)}.resource-ticket-base,.resource-ticket-seasonal{display:grid;gap:8px}.resource-ticket-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.resource-ticket-title{margin:0;color:var(--text-secondary);font-size:12px;font-weight:700;letter-spacing:.04em}.resource-ticket-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.resource-ticket-fare{display:grid;gap:8px;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:linear-gradient(180deg,#fffefb,#f9f1e6)}.resource-seasonal-list{display:grid;gap:8px}.resource-seasonal-item{display:grid;gap:8px;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default)}.resource-seasonal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.resource-seasonal-head p{margin:0;font-size:12px;font-weight:700;color:var(--text-secondary)}.resource-fleet-picker-wrap{display:grid;gap:6px}.resource-fleet-meta{margin:0;color:var(--text-muted);font-size:12px}.resource-fleet-picker{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px dashed #cdb799;border-radius:var(--radius-md);background:#fff8ec}.resource-fleet-chip{min-height:32px;padding:0 10px;border:1px solid #d8c7ad;border-radius:999px;background:#fffdf8;color:var(--text-secondary);display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;cursor:pointer;transition:color var(--motion-control-duration) var(--motion-control-ease),border-color var(--motion-control-duration) var(--motion-control-ease),background-color var(--motion-control-duration) var(--motion-control-ease),box-shadow var(--motion-control-duration) var(--motion-control-ease)}.resource-fleet-chip:hover{border-color:#bfa486;background:#fff8ee;color:var(--text-primary)}.resource-fleet-chip:focus-visible{outline:none;border-color:#7bb2ea;box-shadow:0 0 0 3px #0969da26}.resource-fleet-chip.active{color:#0b5fc4;border-color:#a8cdf5;background:var(--accent-primary-soft)}.resource-fleet-chip-mark{width:18px;height:18px;border-radius:999px;border:1px solid #c8b79d;background:#fff8ee;display:inline-flex;align-items:center;justify-content:center;color:#946a2a;font-size:11px;font-weight:700}.resource-fleet-chip.active .resource-fleet-chip-mark{border-color:#7cb3eb;background:#ddecff;color:#0b5fc4}.resource-empty-inline{grid-column:1 / -1;margin:0;color:var(--text-muted)}.resource-row{display:flex;align-items:center;gap:6px}.resource-age-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.resource-age-range-item{display:grid;gap:6px}.resource-age-range-item span{color:var(--text-secondary);font-size:12px;font-weight:600}.resource-create-inline{min-width:108px;border-color:#d9c0a0;background:linear-gradient(180deg,#fff9ef,#f6ead9)}.resource-pager{margin-top:10px;padding-top:10px;border-top:1px solid rgba(180,153,120,.24);justify-content:flex-end}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.divider{margin:10px 0;border:none;border-top:1px solid var(--border-muted)}.form-error{margin:0;color:var(--danger);font-size:13px;font-weight:600}.state-notice{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;border:1px solid;border-radius:var(--radius-sm);font-size:13px}.state-notice-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid;font-weight:700;font-size:12px}.state-notice-loading{color:#7a5900;border-color:#e0bf77;background:var(--warning-soft)}.state-notice-loading .state-notice-icon{border-color:#caa661}.state-notice-error{color:#9f1c24;border-color:#de9f9b;background:var(--danger-soft)}.state-notice-error .state-notice-icon{border-color:#cc7c78}.state-notice-success{color:#1f6f3d;border-color:#8ed3a8;background:var(--success-soft)}.state-notice-success .state-notice-icon{border-color:#66b884}.state-notice-info{color:#0b5fc4;border-color:#a8cdf5;background:var(--accent-primary-soft)}.state-notice-info .state-notice-icon{border-color:#7fb7ef}.mini-kpi-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.mini-kpi{min-height:30px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-secondary);font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.mini-kpi strong{color:var(--text-primary);font-size:13px}.mini-kpi.warning{border-color:#e0bf77;background:var(--warning-soft);color:#7a5900}.mini-kpi.danger{border-color:#de9f9b;background:var(--danger-soft);color:#9f1c24}.mini-kpi.success{border-color:#8ed3a8;background:var(--success-soft);color:#1f6f3d}.hint-block{border:1px dashed #cfbc9e;border-radius:var(--radius-sm);background:#fff8ea;padding:10px}.hint-block p{margin:0;color:var(--text-secondary)}.legacy-entry-block{display:grid;gap:10px;margin-bottom:12px}.legacy-entry-actions{display:flex;align-items:center;gap:8px}.empty-state{border:1px dashed #cfbc9e;border-radius:var(--radius-sm);background:#fff8ea;padding:12px;display:grid;gap:4px}.empty-state h4{margin:0;font-size:14px;color:var(--text-primary)}.empty-state p{margin:0;font-size:13px;color:var(--text-secondary)}.empty-state-actions{display:inline-flex;align-items:center;gap:8px}.login-shell{min-height:100vh;padding:18px;display:flex;align-items:center;justify-content:center;background:radial-gradient(600px 260px at 10% 10%,rgba(255,222,167,.42),transparent 72%),radial-gradient(560px 260px at 90% 90%,rgba(198,226,255,.4),transparent 72%),linear-gradient(180deg,#f8f4ed,#efe6da)}.login-card{width:min(440px,100%);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-default);box-shadow:var(--shadow-md);padding:20px;display:grid;gap:10px}.login-card h1{margin:0;font-size:24px}.login-brand{display:flex;justify-content:center}.login-subtitle,.login-note{margin:0;color:var(--text-secondary);font-size:13px}.login-field{display:grid;gap:6px}.login-field span{font-size:13px;color:var(--text-secondary)}.login-error{color:var(--danger);font-size:13px}.login-submit{width:100%}.bottom-nav{display:none}@media (prefers-reduced-motion: reduce){.route-stack.is-transitioning .route-previous{animation:none!important}.section-nav-sticky{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (max-width: 1240px){.kpi-grid,.resource-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-overview-summary,.project-workbench-grid,.project-overview-metrics,.project-workspace-metrics{grid-template-columns:1fr}.resource-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-age-range{grid-template-columns:1fr}.resource-drawer{left:12px;right:12px}.resource-ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-context-side{justify-items:start}}@media (max-width: 980px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"topbar" "content"}.topbar{padding:8px 10px;gap:8px;flex-wrap:wrap}.workspace-rail-shell{order:3;width:100%}.workspace-rail-desktop{display:none}.workspace-rail-mobile{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:6px;padding-bottom:2px}.workspace-rail-mobile .workspace-pill{flex:0 0 auto;max-width:108px;border-radius:14px}.workspace-rail-mobile .workspace-pill-main{width:auto;padding:5px 8px 5px 9px}.workspace-rail-mobile .workspace-pill-title{max-width:60px;font-size:11px}.workspace-rail-mobile .workspace-pill-meta{display:none}.workspace-rail-mobile .workspace-pill-close{width:18px;height:18px;margin-right:5px}.top-actions{width:100%;justify-content:space-between;flex-wrap:wrap;gap:6px}.brand{min-height:34px;padding-right:6px;gap:6px}.brand-mark{width:28px;height:28px}.brand-title-light,.brand-title-hot{font-size:12px}.brand-sub{display:none}.top-meta,.top-user{min-height:28px;padding:0 8px;font-size:11px}.top-actions .btn-secondary,.top-actions button{min-height:28px}.side-nav{display:none}.main-content{padding:12px 12px calc(82px + env(safe-area-inset-bottom))}.toolbar-spread{flex-direction:column;align-items:stretch}.toolbar-main,.toolbar-secondary{width:100%}.projects-filter-row{flex-direction:column;align-items:stretch}.projects-filter-search{flex:0 1 auto;width:100%;min-width:0}.projects-filter-criteria{flex:0 1 auto;width:100%;min-width:0;align-items:stretch;align-content:start}.projects-filter-field-keyword,.projects-filter-field-date,.projects-filter-actions,.projects-filter-date-range input{width:100%;min-width:0}.projects-filter-date-range{display:grid;grid-template-columns:1fr}.projects-filter-date-divider{display:none}.projects-filter-actions{margin-top:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.projects-filter-actions>*{flex:1 1 0}.projects-result-meta{width:100%;min-width:0}.resource-action-main,.resource-search-group,.resource-search,.resource-filter-field{width:100%}.resource-drawer-panel .resource-form-grid,.resource-drawer-panel .resource-ticket-grid{grid-template-columns:1fr}.resource-drawer-panel .resource-span-2,.resource-drawer-panel .resource-span-full,.resource-drawer-panel .resource-submit{grid-column:1 / -1}.resource-drawer-panel .resource-submit{width:100%;justify-self:stretch;align-self:stretch}.resource-action-main{flex:0 1 auto;min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:stretch;align-content:start}.card-actions,.toolbar-spread,.resource-filter-row,.resource-filter-meta{width:100%;max-width:100%;min-width:0}.card-actions,.toolbar-spread,.resource-action-main{overflow-x:hidden}.resource-tabs{display:flex;flex-wrap:nowrap;align-items:center;align-self:flex-start;width:100%;max-width:100%;min-height:48px;height:48px;max-height:48px;overflow-x:auto;overflow-y:clip;padding-top:6px;padding-bottom:6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.resource-tab{flex:0 0 auto;width:auto;min-height:36px;height:36px;padding:0 14px;white-space:nowrap}.resource-filter-meta{flex-direction:column;align-items:stretch}.resource-search-meta{width:100%}.resource-filter-actions{width:100%;justify-content:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}.resource-create-inline{grid-column:1 / -1;width:100%}.resource-filter-bar,.resource-entity-grid,.resource-form-grid,.resource-ticket-grid,.two-col{grid-template-columns:1fr}.resource-filter-bar{display:grid}.entity-card,.entity-fields,.entity-value,.card-actions,.card-content{min-width:0}.entity-value{overflow-wrap:anywhere;word-break:break-word}.resource-search input,.resource-filter-field input,.resource-filter-field select{min-width:0;width:100%}.resource-card .card-actions,.resource-card .card-content,.card-body-drawer{min-height:0;align-content:start}.finance-action-row{flex-direction:column;align-items:stretch}.finance-action-row>*{width:100%}.project-identity-briefs{grid-template-columns:1fr}.project-identity-brief strong{font-size:16px}.finance-stepper{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.finance-step{flex:0 0 auto;white-space:nowrap}.section-nav{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scroll-snap-type:x proximity}.section-link{flex:0 0 auto;scroll-snap-align:start}.project-overview-card,.project-workbench-card{padding:12px}.section-nav-sticky{top:4px}[id^=project-],[id^=finance-]{scroll-margin-top:70px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:stretch;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:4px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#f5efe6fa;border-top:1px solid var(--border-default);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bottom-nav::-webkit-scrollbar{display:none}.bottom-nav a,.bottom-nav button{flex:0 0 64px;min-height:52px;display:grid;justify-items:center;align-content:center;gap:2px;width:100%;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-secondary);cursor:pointer}.bottom-nav a.active,.bottom-nav button.active{color:#0b5fc4;border-color:#a8cdf5;background:var(--accent-primary-soft)}.bottom-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.bottom-label{font-size:11px;font-weight:600;white-space:nowrap}}@media (max-width: 760px){.modal-mask-content{padding:12px;align-items:stretch}.modal-mask-content .modal-panel{width:100%;max-height:none;min-height:0;margin:0}.modal-mask-content .modal-body{overflow:visible}.kpi-grid,.entity-grid,.resource-kpi-grid,.resource-entity-grid,.resource-form-grid,.two-col,.resource-ticket-grid{grid-template-columns:1fr}.resource-row,.resource-ticket-title-row,.resource-seasonal-head{flex-direction:column;align-items:stretch}.resource-row>*,.resource-ticket-title-row>*,.resource-seasonal-head>*{width:100%;min-width:0}.resource-city-picker,.resource-ticket-editor,.resource-ticket-base,.resource-ticket-seasonal,.resource-seasonal-item{min-width:0;max-width:100%}.resource-submit{width:100%;justify-self:stretch;align-self:stretch}.resource-filter-meta{width:100%}.project-overview-shell,.project-identity-card,.project-context-bar,.project-context-copy,.project-context-side,.project-identity-briefs,.project-identity-brief,.project-identity-meta,.project-workbench-grid,.project-workbench-card,.project-planning-shell,.project-planning-head,.project-planning-toolbar,.project-planning-jump-list,.project-planning-viewport,.project-planning-track,.project-planning-card,.section-nav-sticky,.section-nav{width:100%;max-width:100%;min-width:0}.project-identity-context{display:grid;grid-template-columns:1fr;gap:2px;min-width:0;width:100%;max-width:100%}.project-identity-context>span,.project-context-copy>span,.project-context-copy>strong,.project-identity-brief strong,.project-identity-brief small,.project-planning-title,.project-planning-resource-detail-value,.project-workbench-summary,.project-workbench-meta{min-width:0;overflow-wrap:anywhere;word-break:break-word}.project-entry-context-divider{display:none}.resource-pager{justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.card-header,.card-body{padding-left:12px;padding-right:12px}.card-header,.entity-head{flex-direction:column;align-items:stretch}.card-header-action,.entity-actions,.resource-filter-actions{width:100%}.supplier-contract-header{flex-direction:column;align-items:stretch}.planning-assignment-grid,.planning-transport-grid,.route-day-plan-grid,.project-planning-resource-grid,.project-planning-ticket-grid,.route-day-resource-row{grid-template-columns:1fr}.planning-assignment-actions{flex-direction:column;align-items:flex-start}.project-planning-editor-span-2{grid-column:auto}.project-planning-toolbar{flex-wrap:wrap;align-items:flex-start}.project-planning-head{flex-direction:column;align-items:stretch}.project-planning-head-actions{width:100%;justify-content:space-between}.project-planning-toolbar-label{width:100%}.project-planning-arrow{display:none}.project-planning-jump-list{flex:1 1 100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding-inline-end:6px}.project-planning-jump-list::-webkit-scrollbar{display:none}.project-planning-viewport{padding:8px 0 0;overflow:visible}.project-planning-track{grid-auto-flow:row;grid-auto-columns:auto;transform:none!important}.project-context-bar,.project-context-bar-compact{flex-direction:column;align-items:stretch;justify-content:flex-start}.project-context-side,.project-context-bar-compact .project-context-side{width:100%;justify-items:start}.project-identity-meta{align-items:flex-start}.project-planning-viewport:before{left:20px;right:auto;top:16px;bottom:16px;width:3px;height:auto;background:linear-gradient(180deg,#d6b053db,#cea84d66)}.project-planning-card:before{top:23px;left:12px}.project-planning-card,.project-planning-card:nth-child(odd),.project-planning-card:nth-child(2n),.project-planning-card:nth-child(3n),.project-planning-card:hover,.project-planning-card-highlighted{min-height:0;padding:20px 16px 16px 34px;transform:none}.project-planning-editor-actions{grid-column:1 / -1;padding:12px 0 0}.project-planning-room-row{grid-template-columns:1fr}.route-day-plan-span-2{grid-column:auto}}.occupancy-stack{display:grid;gap:20px}.occupancy-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;width:100%}.occupancy-filter-field{min-width:168px}.occupancy-filter-search{flex:1 1 260px}.occupancy-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.occupancy-summary-card{display:grid;gap:6px;padding:16px 18px;border:1px solid var(--border-soft);border-radius:18px;background:linear-gradient(180deg,#ffffffe0,#fbf7f0f5)}.occupancy-summary-label{color:var(--text-subtle);font-size:13px}.occupancy-summary-value{font-size:28px;line-height:1}.occupancy-summary-meta{color:var(--text-subtle);font-size:13px}.occupancy-tabs{display:inline-flex;flex-wrap:wrap;gap:10px;padding:8px;border:1px solid var(--border-soft);border-radius:20px;background:#faf4ebd9;width:fit-content}.occupancy-tab{border:1px solid var(--border-soft);border-radius:999px;background:#ffffffc2;color:var(--text-main);padding:10px 18px;font-weight:600;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.occupancy-tab.active{background:#e7c27042;border-color:#c68d2294;color:var(--text-strong)}.occupancy-board-shell{display:grid;gap:14px}.occupancy-board-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--text-subtle);font-size:13px}.occupancy-board-scroll{overflow-x:auto;padding-bottom:4px}.occupancy-board{display:grid;gap:12px}.occupancy-board-head,.occupancy-row{display:grid;grid-template-columns:250px minmax(0,1fr);gap:12px;align-items:stretch}.occupancy-resource-head{display:flex;align-items:center;padding:0 12px;color:var(--text-subtle);font-size:13px;font-weight:600}.occupancy-days-grid{display:grid;gap:6px}.occupancy-day-head{text-align:center;color:var(--text-subtle);font-size:12px;font-weight:600}.occupancy-row{cursor:pointer}.occupancy-row.active .occupancy-resource-card{border-color:#c68d227a;box-shadow:0 10px 22px #c1994a1f}.occupancy-resource-card{display:grid;gap:8px;padding:14px 16px;border:1px solid var(--border-soft);border-radius:18px;background:#ffffffe6}.occupancy-resource-main{display:grid;gap:2px}.occupancy-resource-secondary,.occupancy-resource-meta{color:var(--text-subtle);font-size:13px}.occupancy-resource-stats{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.occupancy-row-grid{align-items:stretch}.occupancy-day-cell{display:flex;align-items:center;justify-content:center;min-height:52px;border:1px solid rgba(212,203,188,.8);border-radius:12px;background:#ffffffb3;color:var(--text-subtle);font-size:12px;font-weight:700}.occupancy-day-cell.occupied{background:#f1d8aa59;border-color:#c49c4a6b;color:var(--text-strong)}.occupancy-day-cell.conflict{background:#efaeae57;border-color:#ce6a6a80;color:#8f2f2f}.occupancy-day-cell.high-load{background:#f8d69566;border-color:#cc962775;color:#8a5a12}.occupancy-row-details{margin-left:262px;margin-top:10px;padding:16px 18px;border:1px solid var(--border-soft);border-radius:18px;background:#ffffffd1}.occupancy-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.occupancy-detail-card{display:grid;gap:10px;padding:14px 16px;border:1px solid var(--border-soft);border-radius:16px;background:linear-gradient(180deg,#ffffffeb,#faf6eff5)}.occupancy-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.occupancy-detail-projects{display:grid;gap:8px}.occupancy-project-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(191,167,118,.32);display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:#f5f0e7f5;color:var(--text-primary);cursor:pointer;text-align:left}.occupancy-project-chip:hover{background:#fcf8ef}.occupancy-range-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.occupancy-range-field{min-width:180px}.app-crash-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:var(--surface-page)}.app-crash-card{width:min(560px,100%);display:grid;gap:14px;padding:24px;border:1px solid var(--border-default);border-radius:24px;background:linear-gradient(180deg,#fffffff5,#f8f1e6fa);box-shadow:var(--shadow-md)}.app-crash-card h1{margin:0;font-size:28px;color:var(--text-primary)}.app-crash-card p{margin:0;color:var(--text-secondary)}@media (max-width: 980px){.occupancy-board-head,.occupancy-row{grid-template-columns:220px minmax(0,1fr)}.occupancy-row-details{margin-left:0}}@media (max-width: 760px){.occupancy-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}.occupancy-toolbar{align-items:stretch}.occupancy-filter-field,.occupancy-filter-search{min-width:0;flex:1 1 100%}.occupancy-board-head,.occupancy-row{grid-template-columns:1fr}.occupancy-resource-head{padding:0}.occupancy-day-cell{min-height:44px}}.occupancy-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}.occupancy-filter-cluster{display:grid;grid-template-columns:180px minmax(260px,1fr);gap:12px}.occupancy-filter-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.occupancy-workbench-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:18px 20px;border:1px solid rgba(205,177,122,.3);border-radius:22px;background:linear-gradient(135deg,#fff9ebeb,#f6ebcdb3),radial-gradient(circle at top right,rgba(226,192,123,.18),transparent 40%)}.occupancy-intro-copy{display:grid;gap:4px}.occupancy-intro-copy strong{font-size:18px;color:var(--text-strong)}.occupancy-intro-copy span{color:var(--text-subtle);line-height:1.6}.occupancy-legend{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-content:start}.occupancy-legend-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid rgba(191,167,118,.26);background:#ffffffb8}.occupancy-legend-pill.normal{color:var(--text-strong)}.occupancy-legend-pill.warning{color:#8a5a12;background:#f8d69559;border-color:#cc962770}.occupancy-legend-pill.danger{color:#8f2f2f;background:#efaeae47;border-color:#ce6a6a75}.occupancy-alert-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.occupancy-alert-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;gap:6px;padding:16px 18px;border-radius:20px;border:1px solid rgba(205,177,122,.28);background:#fffbf3f0;box-shadow:0 12px 24px #b5985f14;text-align:left;cursor:pointer}.occupancy-alert-card strong{font-size:17px;color:var(--text-strong)}.occupancy-alert-card span{color:var(--text-subtle);line-height:1.5}.occupancy-alert-card.danger{border-color:#ce6a6a6b;background:linear-gradient(180deg,#fff6f6f5,#f9e4e4f5)}.occupancy-alert-card.warning{border-color:#cc96276b;background:linear-gradient(180deg,#fffcf3f5,#faefd5f5)}.occupancy-alert-label{display:inline-flex;align-items:center;width:fit-content;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-strong);background:#ffffffbd;border:1px solid rgba(205,177,122,.26)}.occupancy-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.occupancy-summary-card{min-height:118px;border-radius:20px;border:1px solid rgba(203,176,123,.26);background:linear-gradient(180deg,#ffffffdb,#faf2e2eb);box-shadow:0 12px 28px #b0945c14}.occupancy-tabs{display:flex;flex-wrap:wrap;gap:10px}.occupancy-tab{min-width:92px;font-weight:800}.occupancy-board-shell{gap:16px}.occupancy-board-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.occupancy-board-meta{display:flex;flex-wrap:wrap;gap:10px}.occupancy-board-meta span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(205,177,122,.28);background:#fffbf2d1;color:var(--text-subtle);font-size:13px}.occupancy-range-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.occupancy-range-field{min-width:156px}.occupancy-board-scroll{overflow-x:auto;padding:6px 4px 8px}.occupancy-mobile-list{display:none}.occupancy-mobile-card{display:grid;gap:12px;padding:16px 18px;border-radius:22px;border:1px solid rgba(205,177,122,.26);background:linear-gradient(180deg,#fffffff0,#fbf4e7f0);box-shadow:0 12px 24px #b5985f14}.occupancy-mobile-head{display:grid;gap:10px}.occupancy-mobile-days{display:flex;flex-wrap:wrap;gap:8px}.occupancy-mobile-days .occupancy-day-cell{min-height:64px;min-width:88px;padding:10px 12px}.occupancy-mobile-more{display:inline-flex;align-items:center;justify-content:center;min-width:88px;min-height:64px;padding:10px 12px;border-radius:16px;border:1px dashed rgba(205,177,122,.32);color:var(--text-subtle);background:#fffcf6b8;font-weight:700}.occupancy-mobile-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(198,141,34,.36);background:#fffaefeb;color:var(--brand-primary);border-radius:14px;padding:12px 14px;font-weight:800;cursor:pointer}.occupancy-row-details-mobile{margin-left:0}.occupancy-board{gap:14px}.occupancy-board-head,.occupancy-row{display:grid;grid-template-columns:292px minmax(0,1fr);gap:16px;align-items:stretch}.occupancy-resource-head{min-height:56px;padding:0 16px;border-radius:18px;border:1px solid rgba(205,177,122,.24);background:#fff9ece6;color:var(--text-subtle);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.occupancy-days-grid{gap:8px}.occupancy-day-head{min-height:56px;padding:8px 4px;border-radius:16px;background:#fffaf1bf;border:1px solid rgba(205,177,122,.22);display:grid;justify-items:center;align-content:center;gap:2px}.occupancy-day-head strong{font-size:16px;color:var(--text-strong)}.occupancy-day-head small{color:var(--text-subtle);font-size:11px}.occupancy-day-head-focused{border-color:#c68d2275;box-shadow:inset 0 0 0 1px #c68d222e,0 10px 20px #c1994a24;background:#fff5dcfa}.occupancy-row-block{display:grid;gap:10px}.occupancy-resource-card{min-height:88px;padding:16px 18px;border-radius:22px;border:1px solid rgba(205,177,122,.26);background:linear-gradient(180deg,#fffffff0,#fbf4e7f0);box-shadow:0 14px 26px #b89a5f14}.occupancy-resource-title{display:flex;gap:10px;align-items:center;justify-content:space-between}.occupancy-resource-title strong{font-size:18px;color:var(--text-strong)}.occupancy-resource-secondary{line-height:1.5}.occupancy-resource-stats{gap:10px}.occupancy-resource-meta{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f8f2e4e0;border:1px solid rgba(205,177,122,.24)}.occupancy-day-cell{min-height:88px;border-radius:20px;border:1px solid rgba(205,177,122,.2);background:#fffcf6b8;display:grid;justify-items:center;align-content:center;gap:4px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.occupancy-row:hover .occupancy-day-cell.occupied,.occupancy-row:hover .occupancy-day-cell.conflict,.occupancy-row:hover .occupancy-day-cell.high-load{transform:translateY(-1px);box-shadow:0 12px 24px #b5985f1a}.occupancy-day-cell strong{font-size:20px;line-height:1}.occupancy-day-cell small{font-size:11px;font-weight:700;letter-spacing:.06em}.occupancy-day-cell-focused{border-color:#c68d228f;box-shadow:inset 0 0 0 1px #c68d222e,0 12px 22px #c1994a24}.occupancy-row.active .occupancy-resource-card{border-color:#c68d227a;box-shadow:0 14px 30px #c1994a29}.occupancy-row.active .occupancy-day-cell.occupied,.occupancy-row.active .occupancy-day-cell.high-load,.occupancy-row.active .occupancy-day-cell.conflict{border-color:#c68d226b}.occupancy-row-details{margin-left:308px;padding:18px 20px;border-radius:22px;border:1px solid rgba(205,177,122,.24);background:#fffbf3db}.occupancy-detail-summary{display:flex;justify-content:space-between;gap:14px;align-items:start;margin-bottom:16px}.occupancy-detail-summary div{display:grid;gap:4px}.occupancy-detail-summary strong{font-size:18px}.occupancy-detail-summary span{color:var(--text-subtle)}.occupancy-detail-grid{gap:14px}.occupancy-detail-card{border-radius:20px;border:1px solid rgba(205,177,122,.22);background:#ffffffd1;box-shadow:0 8px 18px #b5985f0f}.occupancy-detail-head{align-items:start}.occupancy-detail-date,.occupancy-detail-head-meta{display:grid;gap:4px}.occupancy-detail-date span,.occupancy-detail-count{color:var(--text-subtle);font-size:13px}.occupancy-detail-projects{gap:10px}.occupancy-room-summary{display:grid;gap:8px}.occupancy-room-summary-label{color:var(--text-subtle);font-size:12px;font-weight:700}.occupancy-room-summary-chips{display:flex;flex-wrap:wrap;gap:8px}.occupancy-room-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f6ebcdb8;border:1px solid rgba(204,150,39,.34);color:#7a5417;font-size:12px;font-weight:700}.occupancy-project-chip{border-radius:18px;padding:12px 14px;background:#fffcf6e6;box-shadow:none}.occupancy-project-chip-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.occupancy-project-chip-head span{color:var(--text-subtle);font-size:12px;font-weight:700}.occupancy-project-chip small{color:var(--text-subtle);line-height:1.5}@media (max-width: 1120px){.occupancy-toolbar,.occupancy-board-toolbar,.occupancy-workbench-intro{grid-template-columns:1fr}.occupancy-filter-actions,.occupancy-legend,.occupancy-range-bar{justify-content:flex-start}.occupancy-filter-cluster{grid-template-columns:repeat(2,minmax(0,1fr))}.occupancy-board-head,.occupancy-row{grid-template-columns:248px minmax(0,1fr)}.occupancy-row-details{margin-left:0}}@media (max-width: 760px){.occupancy-filter-cluster,.occupancy-alert-strip{grid-template-columns:1fr}.occupancy-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.occupancy-board-head,.occupancy-row{grid-template-columns:1fr}.occupancy-resource-head{min-height:auto;padding:0;border:0;background:transparent}.occupancy-day-head{min-height:48px}.occupancy-day-cell{min-height:72px;border-radius:16px}.occupancy-day-cell strong{font-size:17px}.occupancy-mobile-list{display:grid;gap:12px}.occupancy-board-scroll{display:none}}.occupancy-filter-panel{display:grid;gap:14px;padding:18px 20px;border:1px solid rgba(205,177,122,.3);border-radius:22px;background:linear-gradient(180deg,#ffffffe6,#f9f1e0e6)}.occupancy-filter-panel-head{display:grid;gap:4px}.occupancy-filter-panel-head strong{font-size:18px;color:var(--text-strong)}.occupancy-filter-panel-head span{color:var(--text-subtle);font-size:13px}.occupancy-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.occupancy-calendar-list{display:grid;gap:16px}.occupancy-calendar-card{display:grid;gap:14px;padding:18px 20px;border-radius:24px;border:1px solid rgba(205,177,122,.28);background:linear-gradient(180deg,#fffffff0,#fbf4e7f0);box-shadow:0 14px 28px #b5985f14}.occupancy-calendar-head{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;gap:10px;border:0;background:transparent;padding:0;text-align:left;cursor:pointer}.occupancy-month-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.occupancy-month-weekday{display:flex;justify-content:center;align-items:center;min-height:34px;border-radius:12px;background:#fffaf1cc;color:var(--text-subtle);font-size:12px;font-weight:700}.occupancy-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.occupancy-month-empty{min-height:86px;border-radius:16px;background:#f7f1e66b}.occupancy-month-day{font-size:12px;color:var(--text-subtle);font-weight:700}.occupancy-day-cell-muted{opacity:.38}.occupancy-row-details-calendar{margin-left:0;padding:0;border:0;background:transparent}@media (max-width: 1120px){.occupancy-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.occupancy-filter-panel{padding:16px}.occupancy-filter-grid{grid-template-columns:1fr}.occupancy-calendar-card{padding:16px}.occupancy-month-head,.occupancy-month-grid{gap:6px}.occupancy-month-empty,.occupancy-day-cell{min-height:72px;border-radius:14px}}.occupancy-type-bar{display:flex;align-items:center;justify-content:flex-start}.occupancy-filter-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.35fr);gap:18px;padding:22px 24px}.occupancy-filter-section{display:grid;gap:12px;min-width:0}.occupancy-filter-section-title{color:var(--text-subtle);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.occupancy-filter-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.occupancy-filter-grid-time .occupancy-filter-field:nth-child(1){grid-column:span 4}.occupancy-filter-grid-time .occupancy-filter-field:nth-child(2),.occupancy-filter-grid-time .occupancy-filter-field:nth-child(3){grid-column:span 4}.occupancy-filter-grid-resource .occupancy-filter-field:nth-child(1){grid-column:span 4}.occupancy-resource-picker{position:relative;min-width:0}.occupancy-filter-field{min-width:0}.occupancy-filter-search input,.occupancy-filter-field input,.occupancy-filter-field select{width:100%}.occupancy-filter-actions{grid-column:span 3;display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;flex-wrap:wrap}.occupancy-alert-list{display:grid;gap:10px}.occupancy-alert-item{display:grid;gap:4px;padding:14px 16px;border-radius:18px;border:1px solid rgba(205,177,122,.28);background:#fffbf3f0}.occupancy-alert-item.warning{border-color:#cc962757;background:#faf2d6e0}.occupancy-alert-item.danger{border-color:#d25c5c52;background:#fdefefeb}.occupancy-alert-item-date{color:var(--text-subtle);font-size:12px;font-weight:700}.occupancy-calendar-card{gap:16px;scroll-margin-top:92px}.occupancy-calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;cursor:default}.occupancy-resource-main{min-width:0}.occupancy-resource-title{align-items:center}.occupancy-resource-secondary{color:var(--text-subtle)}.occupancy-resource-stats{display:flex;flex-wrap:wrap;justify-content:flex-end}.occupancy-shortcut-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 14px;border:1px solid rgba(196,156,74,.38);border-radius:999px;background:#fffaf1eb;color:#7a5417;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.occupancy-shortcut-button:hover{border-color:#b8801b8f;background:#f7eccbf5}.occupancy-shortcut-button.active{border-color:#689c576b;background:#e5f3e2f5;color:#376d3e}.occupancy-month-grid{align-items:stretch}.occupancy-month-empty,.occupancy-day-cell{min-height:92px}.occupancy-day-cell{width:100%;padding:12px 10px;justify-items:stretch;align-content:space-between;text-align:left}.occupancy-day-cell.occupied,.occupancy-day-cell.high-load,.occupancy-day-cell.conflict{cursor:pointer}.occupancy-day-cell.occupied:hover,.occupancy-day-cell.high-load:hover,.occupancy-day-cell.conflict:hover{transform:translateY(-1px);box-shadow:0 12px 24px #b5985f1a}.occupancy-day-cell .occupancy-month-day{display:inline-flex;justify-content:flex-start}.occupancy-day-cell-count{display:inline-flex;align-items:center;white-space:nowrap;font-size:13px;font-weight:800;line-height:1.2;color:var(--text-strong)}.occupancy-day-cell.occupied .occupancy-day-cell-count,.occupancy-day-cell.high-load .occupancy-day-cell-count,.occupancy-day-cell.conflict .occupancy-day-cell-count{color:inherit}.occupancy-row-details-calendar{margin-top:2px}.occupancy-detail-card{display:grid;gap:16px;padding:18px 20px}.occupancy-detail-head{display:flex;justify-content:space-between;gap:16px}.occupancy-detail-head-meta{display:grid;justify-items:end;gap:8px}.occupancy-detail-projects{display:grid;gap:10px}.occupancy-project-chip{display:grid;gap:6px;width:100%;text-align:left;border:1px solid rgba(205,177,122,.22)}.occupancy-project-chip:hover{border-color:#c68d2266;box-shadow:0 10px 18px #b5985f14}@media (max-width: 1180px){.occupancy-filter-panel{grid-template-columns:1fr}.occupancy-filter-actions{grid-column:1 / -1;justify-content:flex-start}}@media (max-width: 920px){.occupancy-filter-grid-time .occupancy-filter-field:nth-child(1),.occupancy-filter-grid-time .occupancy-filter-field:nth-child(2),.occupancy-filter-grid-time .occupancy-filter-field:nth-child(3),.occupancy-filter-grid-resource .occupancy-filter-field:nth-child(1),.occupancy-filter-grid-resource .occupancy-resource-picker{grid-column:span 6}.occupancy-calendar-head,.occupancy-detail-head{display:grid}.occupancy-resource-stats,.occupancy-detail-head-meta{justify-content:flex-start;justify-items:start}}@media (max-width: 760px){.occupancy-filter-panel{padding:16px}.occupancy-filter-grid{grid-template-columns:1fr}.occupancy-filter-grid-time .occupancy-filter-field:nth-child(1),.occupancy-filter-grid-time .occupancy-filter-field:nth-child(2),.occupancy-filter-grid-time .occupancy-filter-field:nth-child(3),.occupancy-filter-grid-resource .occupancy-filter-field:nth-child(1),.occupancy-resource-picker,.occupancy-filter-actions{grid-column:auto}.occupancy-filter-actions{justify-content:stretch}.occupancy-filter-actions .btn{width:100%}.occupancy-month-empty,.occupancy-day-cell{min-height:78px}.occupancy-day-cell{padding:10px 8px}.occupancy-day-cell-count{font-size:12px}}.occupancy-filter-panel{grid-template-columns:1fr;gap:14px;width:100%;max-width:none;margin:0;padding:20px 22px}.occupancy-alert-list,.occupancy-calendar-list,.occupancy-calendar-card{width:100%;max-width:none;margin:0}.occupancy-filter-section{gap:10px;padding:16px 18px;border:1px solid rgba(205,177,122,.18);border-radius:18px;background:#fffcf6a8}.occupancy-filter-grid{align-items:end;gap:10px 12px}.occupancy-filter-grid-time .occupancy-filter-field:nth-child(1),.occupancy-filter-grid-time .occupancy-filter-field:nth-child(2),.occupancy-filter-grid-time .occupancy-filter-field:nth-child(3){grid-column:span 4}.occupancy-filter-grid-resource .occupancy-filter-field:nth-child(1){grid-column:span 3}.occupancy-filter-grid-resource .occupancy-resource-picker{grid-column:span 5}.occupancy-filter-actions{grid-column:span 4;align-items:center;justify-content:center;gap:12px}.occupancy-resource-candidates{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:24;display:grid;grid-template-columns:1fr;gap:6px;padding:8px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default);box-shadow:var(--shadow-md);max-height:240px;overflow:auto}.occupancy-resource-chip{width:100%;min-height:34px;padding:0 10px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-default);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;cursor:pointer;text-align:left}.occupancy-resource-chip span{display:block;min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.occupancy-resource-chip.active{border-color:#a8cdf5;background:var(--accent-primary-soft);color:#0b5fc4}.occupancy-filter-actions .btn{min-width:110px}.occupancy-month-shortcut{grid-column:span 4;display:grid;gap:8px;align-items:end}.occupancy-month-shortcut .btn{justify-self:start}.occupancy-month-empty,.occupancy-day-cell{min-height:104px}.occupancy-day-cell{position:relative;display:flex;align-items:center;justify-content:center;padding:14px 10px;text-align:center}.occupancy-day-cell .occupancy-month-day{position:absolute;top:12px;left:50%;transform:translate(-50%)}.occupancy-day-cell-count{justify-content:center;text-align:center}@media (max-width: 1180px){.occupancy-filter-panel{max-width:none}.occupancy-filter-grid-time .occupancy-filter-field:nth-child(1),.occupancy-filter-grid-time .occupancy-filter-field:nth-child(2),.occupancy-month-shortcut,.occupancy-filter-grid-resource .occupancy-filter-field:nth-child(1),.occupancy-resource-picker{grid-column:span 6}.occupancy-filter-actions{grid-column:1 / -1;justify-content:center}}@media (max-width: 760px){.occupancy-stack,.occupancy-stack>*,.occupancy-summary-grid,.occupancy-summary-card,.occupancy-type-bar,.occupancy-tabs,.occupancy-filter-panel,.occupancy-filter-section,.occupancy-filter-grid,.occupancy-filter-field,.occupancy-filter-search,.occupancy-filter-actions,.occupancy-alert-list,.occupancy-alert-item,.occupancy-calendar-list,.occupancy-calendar-card,.occupancy-calendar-head,.occupancy-resource-main,.occupancy-resource-title,.occupancy-resource-stats,.occupancy-row-details-calendar,.occupancy-detail-card{box-sizing:border-box;min-width:0;max-width:100%}.occupancy-summary-grid{grid-template-columns:1fr}.occupancy-tabs{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.occupancy-tab{width:100%}.occupancy-filter-section{padding:14px}.occupancy-filter-grid-time .occupancy-filter-field:nth-child(1),.occupancy-filter-grid-time .occupancy-filter-field:nth-child(2),.occupancy-month-shortcut,.occupancy-filter-grid-resource .occupancy-filter-field:nth-child(1),.occupancy-resource-picker,.occupancy-filter-actions{grid-column:auto}.occupancy-month-shortcut .btn{width:100%;justify-self:stretch}.occupancy-stack,.occupancy-calendar-list,.occupancy-calendar-card,.occupancy-summary-card,.occupancy-filter-panel,.occupancy-filter-section,.occupancy-alert-item,.occupancy-month-head,.occupancy-month-grid{box-sizing:border-box;min-width:0;width:100%}.occupancy-month-head,.occupancy-month-grid{gap:4px}.occupancy-month-weekday,.occupancy-month-empty,.occupancy-day-cell{min-width:0}.occupancy-month-empty,.occupancy-day-cell{min-height:76px}.occupancy-day-cell .occupancy-month-day{top:10px}.occupancy-day-cell{padding:8px 4px}.occupancy-day-cell-count{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.05;font-size:11px}.occupancy-resource-title,.occupancy-resource-stats{min-width:0}.occupancy-resource-title strong,.occupancy-resource-secondary,.occupancy-resource-meta{overflow-wrap:anywhere;word-break:break-word}}.project-entry-secondary-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--fg-muted);font-size:13px}.entity-actions.entity-actions-split{display:flex;align-items:center;justify-content:space-between;gap:12px}.entity-actions-secondary{display:flex;align-items:center;gap:12px}.project-form-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px;border:1px solid var(--line-soft);border-radius:20px;background:#fffbf599}.project-form-section-span-2{grid-column:1 / -1}.project-form-section-head{grid-column:1 / -1;display:flex;flex-direction:column;gap:6px}.project-form-section-head h4{margin:0;font-size:18px}.project-form-section-head p{margin:0;color:var(--fg-muted)}.project-party-grid{display:grid;grid-template-columns:1fr;gap:14px}.project-party-section{display:flex;flex-direction:column;gap:14px;padding:16px 18px;border:1px solid var(--line-soft);border-radius:20px;background:linear-gradient(180deg,#fffffff0,#faf5e9e6);box-shadow:0 8px 20px #b5985f0f}.project-party-section-head-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.project-party-section-copy{min-width:0}.project-party-section-head h4,.section-heading h3{margin:0;font-size:18px}.project-party-section-head p,.section-heading p{margin:4px 0 0;color:var(--fg-muted);font-size:12px}.project-party-count{flex:0 0 auto;display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:#f2e6c6e0;border:1px solid rgba(198,164,95,.28);color:#7b5620;font-size:12px;font-weight:700;white-space:nowrap}.project-party-count.empty{background:#faf7f0f2;color:var(--fg-muted)}.project-party-chip-list{display:grid;gap:8px}.project-party-chip,.project-party-empty{min-width:0;padding:14px 16px;border-radius:16px;border:1px solid var(--line-default);background:#faf4e5eb}.project-party-empty{display:inline-flex;align-items:center;min-height:48px;color:var(--fg-muted);line-height:1.5}.project-party-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;border-color:#cdb17a47}.project-party-chip-copy{min-width:0;display:grid;gap:4px}.project-party-chip-title{font-weight:700}.project-party-chip-meta{color:var(--fg-muted);font-size:12px}.project-party-chip-remove{flex:0 0 auto;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid rgba(188,84,54,.22);background:#fff9f6e6;color:#b85436;cursor:pointer}.project-party-toolbar{display:flex;justify-content:flex-start;margin-top:-2px}.project-party-toolbar .btn-secondary.active{border-color:#c6a45f66;background:#f4e8c7db}.project-party-picker-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:12px 14px;padding:14px;border-radius:18px;border:1px dashed rgba(198,164,95,.42);background:#ffffffdb}.project-party-picker-field select{width:100%;min-width:0}.project-party-picker-preview{min-height:56px;display:grid;align-content:center;gap:4px;padding:10px 12px;border-radius:16px;background:#f8f1e0eb;border:1px solid rgba(205,177,122,.22)}.project-party-picker-preview strong{font-size:15px}.project-party-picker-preview span{color:var(--fg-muted);line-height:1.5}.project-party-picker-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;grid-column:1 / -1;padding-top:2px}.butler-center-shell{display:flex;flex-direction:column;gap:20px;min-width:0;max-width:100%}.butler-center-filter-panel{display:flex;flex-direction:column;gap:16px}.butler-center-filter-copy h3{margin:0;font-size:20px}.butler-center-filter-copy p{margin:6px 0 0;color:var(--fg-muted)}.butler-center-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.mini-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.mini-kpi-card{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-radius:20px;border:1px solid var(--line-soft);background:#ffffffc7}.mini-kpi-card span{color:var(--fg-muted)}.mini-kpi-card strong{font-size:36px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.butler-center-alert-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.butler-center-alert-card{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:18px;border:1px solid rgba(190,78,52,.24);background:#fff4eeeb;color:inherit;text-decoration:none}.butler-center-alert-card small{color:var(--fg-muted)}.butler-center-projects,.butler-center-timeline{min-width:0;max-width:100%}.butler-center-project-butlers{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(180,153,120,.18)}.butler-center-project-butlers-label{color:var(--fg-muted);font-size:12px;font-weight:700}.butler-center-project-butler-list{display:flex;flex-wrap:wrap;gap:8px}.butler-center-project-butler-chip,.butler-center-project-butler-empty{min-height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700}.butler-center-project-butler-chip{border:1px solid var(--butler-bar-border, rgba(71, 122, 198, .2));background:var(--butler-bar-soft, rgba(233, 242, 255, .92));color:var(--butler-bar-text, #2f5f9a)}.butler-center-project-butler-empty{border:1px dashed rgba(180,153,120,.28);color:var(--fg-muted)}.butler-timeline-shell,.butler-calendar-desktop{min-width:0;max-width:100%}.butler-calendar-desktop{display:grid;gap:12px}.butler-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.butler-calendar-weekday{padding:0 6px;color:var(--fg-muted);font-size:12px;font-weight:700;letter-spacing:.02em}.butler-calendar-weeks{display:grid;gap:12px}.butler-calendar-week{position:relative;min-width:0;border:1px solid rgba(180,153,120,.2);border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#fffcf8fa,#f8f1e6eb)}.butler-calendar-day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:inherit}.butler-calendar-day{min-width:0;min-height:inherit;padding:10px 10px 12px;border-right:1px solid rgba(180,153,120,.16);background:#ffffff42}.butler-calendar-day:last-child{border-right:none}.butler-calendar-day.is-outside{background:#f4eee3b8}.butler-calendar-day.is-outside .butler-calendar-day-date,.butler-calendar-day.is-outside .butler-calendar-day-count{opacity:.55}.butler-calendar-day.is-today .butler-calendar-day-date{color:#fff;background:linear-gradient(180deg,#2d7fe5,#1f66c2);border-color:#1f66c259;box-shadow:0 10px 18px #2d7fe538}.butler-calendar-day-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.butler-calendar-day-date{display:flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;border:1px solid rgba(180,153,120,.18);background:#fffbf4db;color:#5a4631;font-size:12px;font-weight:700;white-space:nowrap}.butler-calendar-day-count{color:var(--fg-muted);font-size:11px;font-weight:700;white-space:nowrap}.butler-calendar-bars{position:absolute;top:44px;right:8px;bottom:10px;left:8px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;pointer-events:none}.butler-calendar-bar{pointer-events:auto;position:relative;z-index:1;display:flex;align-items:center;gap:8px;min-width:0;padding:0 10px;border-radius:999px;border:1px solid var(--butler-bar-border, rgba(71, 122, 198, .24));background:var(--butler-bar-fill, rgba(233, 242, 255, .92));color:var(--butler-bar-text, #2f5f9a);text-decoration:none;box-shadow:0 6px 14px #6e5b4314,inset 0 0 0 1px #fff6;transition:transform .16s ease,box-shadow .16s ease}.butler-calendar-bar:hover,.butler-calendar-bar.is-project-hovered{transform:translateY(-1px);box-shadow:0 10px 20px #6e5b4324,inset 0 0 0 1px #ffffff70;z-index:2}.butler-calendar-bar-content{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.butler-calendar-bar-content strong,.butler-calendar-bar-content span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.butler-calendar-bar-content strong{font-size:12px}.butler-calendar-bar-content span{font-size:11px;opacity:.88}.butler-calendar-bar-edge{flex:0 0 auto;font-size:12px;font-weight:700;opacity:.78}.butler-timeline-mobile-list{display:none}.butler-timeline-mobile-card{display:grid;gap:10px;padding:16px;border-radius:18px;border:1px solid rgba(180,153,120,.22);background:#fffbf4e6}.butler-timeline-mobile-title{display:grid;gap:4px;color:inherit;text-decoration:none}.butler-timeline-mobile-title span{color:var(--fg-muted);font-size:13px}.butler-timeline-mobile-meta{display:flex;flex-wrap:wrap;gap:6px;color:var(--fg-muted);font-size:12px;font-weight:600}.butler-timeline-mobile-butlers{display:grid;gap:4px}.butler-timeline-mobile-butler-list{display:flex;flex-wrap:wrap;gap:8px}.butler-timeline-mobile-butlers-label{color:var(--fg-muted);font-size:11px;font-weight:700}@media (max-width: 900px){.project-form-section,.project-party-grid,.butler-center-filter-grid,.mini-kpi-grid{grid-template-columns:1fr}.entity-actions.entity-actions-split{flex-direction:column;align-items:stretch}.entity-actions-secondary{justify-content:space-between}.butler-calendar-desktop{display:none}.butler-timeline-mobile-list{display:grid;gap:12px}.project-party-section-head-row,.project-party-chip,.project-party-picker-actions{flex-direction:column;align-items:stretch}.project-party-picker-card{grid-template-columns:1fr}.project-party-count,.project-party-chip-remove{align-self:flex-start}}
