@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
:root{--bg-primary:#26262b;--bg-card:#2f2f35;--bg-elevated:#38383f;--bg-input:#2a2a30;--bg-secondary:#2f2f35;--bg-tertiary:#3c3c45;--border:#45454e;--border-hover:#56565f;--text-primary:#f1f1f3;--text-secondary:#a1a1ab;--text-muted:#74747f;--accent-blue:#0070f3;--accent-blue-hover:#005cc5;--accent-blue-bg:#0070f31a;--accent-blue-border:#0070f340;--accent:#3b82f6;--green:#22c55e;--green-bg:#22c55e1a;--green-border:#22c55e33;--yellow:#eab308;--yellow-bg:#eab3081a;--yellow-border:#eab30833;--red:#ef4444;--red-bg:#ef44441a;--red-border:#ef444433;--blue:#3b82f6;--blue-bg:#3b82f61a;--blue-border:#3b82f633;--surface-2:#94a3b829;--border-strong:#6b6b76;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--shadow-color-soft:#0000004d;--shadow-color-strong:#00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg-primary:#fff;--bg-card:#f7f7f8;--bg-elevated:#fff;--bg-input:#fff;--bg-secondary:#f7f7f8;--bg-tertiary:#eef0f2;--border:#e2e4e8;--border-hover:#c7cbd1;--text-primary:#16171a;--text-secondary:#45474e;--text-muted:#797b82;--accent-blue:#0070f3;--accent-blue-hover:#005cc5;--accent-blue-bg:#0070f314;--accent-blue-border:#0070f340;--accent:#3b82f6;--green:#16a34a;--green-bg:#16a34a1a;--green-border:#16a34a38;--yellow:#ca8a04;--yellow-bg:#ca8a041a;--yellow-border:#ca8a0438;--red:#dc2626;--red-bg:#dc26261a;--red-border:#dc262638;--blue:#2563eb;--blue-bg:#2563eb1a;--blue-border:#2563eb38;--surface-2:#64748b1a;--border-strong:#9a9ea6;--shadow-color-soft:#0f172a1a;--shadow-color-strong:#0f172a2e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{zoom:.8;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}input,textarea,select,button{font-family:inherit;font-size:inherit}a{color:var(--accent-blue);text-decoration:none}a:hover{text-decoration:underline}.avatar-small{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:flex}.btn-primary{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:500;transition:background .15s}.btn-primary:hover{background:var(--accent-blue-hover)}.btn-send{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;transition:background .15s}.btn-send:hover{background:var(--accent-blue-hover)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.app{background:var(--bg-primary);min-height:125vh}.undo-bar{gap:4px;display:flex}.undo-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:5px;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.undo-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary);border-color:var(--accent-blue,#3b82f6)}.undo-btn:disabled{opacity:.4;cursor:default}.stats-section{flex-direction:column;gap:8px;display:flex}.stats-collapse-toggle{cursor:pointer;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:2px 0;font-size:11px;font-weight:600;transition:color .15s;display:flex}.stats-collapse-toggle:hover{color:var(--text-secondary)}.stats-collapse-caret{font-size:9px;line-height:1}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:1px;padding:9px 12px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.stat-card-clickable{cursor:pointer}.stat-card-clickable:hover{border-color:var(--accent-blue-border,#3b82f666);background:#3b82f60a}.stat-card-active{border-color:var(--accent-blue,#3b82f6);box-shadow:0 0 0 1px var(--accent-blue,#3b82f6);background:#3b82f614}.stat-card-active .stat-label{color:var(--accent-blue,#3b82f6)}.stat-card-active .stat-sub{color:var(--accent-blue,#3b82f6);opacity:.7}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:500}.stat-value{color:var(--text-primary);font-size:20px;font-weight:700;line-height:1.15}.stat-sub{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}:root{--activity-blue:#1d4ed8;--activity-green:#22c55e;--activity-yellow:#eab308;--activity-purple:#a855f7;--activity-cyan:#0d9488;--activity-gray:#94a3b8;--activity-red:#ef4444;--activity-white:#e2e8f0;--activity-orange:#f97316;--activity-bluegray:#333a45;--activity-powderblue:#a8ccf5;--activity-pink:#ec4899;--activity-violet:#8b5cf6;--activity-indigo:#6366f1;--activity-teal:#14b8a6;--activity-sky:#0ea5e9;--activity-amber:#d97706;--activity-fuchsia:#d946ef;--activity-stone:#a8a29e;--activity-lime:#84cc16;--activity-rose:#f43f5e;--activity-emerald:#10b981}.schedule-tab{flex-direction:column;gap:10px;padding:14px;display:flex}.schedule-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-controls-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.schedule-sidebar-toggle-btn{border:1px solid var(--border);background:var(--bg-card);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.schedule-sidebar-toggle-btn:hover{border-color:var(--accent-blue,#3b82f6);color:var(--text-primary)}.schedule-controls-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-week-nav{align-items:center;gap:6px;display:flex}.schedule-nav-btn{border:1px solid var(--border);background:var(--bg-card);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:all .15s;display:flex}.schedule-nav-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.schedule-today-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:5px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;transition:all .15s;display:flex}.schedule-today-btn:hover{border-color:var(--accent);color:var(--accent)}.schedule-week-label{color:var(--text-primary);text-align:center;min-width:180px;font-size:12px;font-weight:600}.schedule-date-range-picker{align-items:center;gap:6px;display:flex}.schedule-date-label{color:var(--text-muted);font-size:10px;font-weight:500}.schedule-date-input{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);text-align:center;border-radius:5px;width:120px;padding:4px 8px;font-family:inherit;font-size:12px;transition:border-color .2s}.schedule-date-input:focus{border-color:var(--accent);outline:none}.schedule-role-filter{gap:4px;display:flex}.schedule-role-filter-btn{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:5px;padding:4px 10px;font-size:10px;font-weight:600;transition:all .15s}.schedule-person-select{border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:5px;padding:5px 8px;font-size:11px}.schedule-admin-btn{border:1px solid var(--border);background:var(--bg-card);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;transition:all .15s;display:flex}.schedule-admin-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}.schedule-travel-suggestion{color:var(--text-secondary);background:#3b82f614;border:1px solid #3b82f633;border-radius:8px;align-items:center;gap:10px;padding:10px 16px;font-size:12px;display:flex}.schedule-travel-suggestion strong{color:var(--text-primary)}.travel-suggest-accept{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-left:auto;padding:4px 10px;font-size:11px;font-weight:600}.travel-suggest-dismiss{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:11px}.schedule-conflict-banner{color:#f87171;background:#ef444414;border:1px solid #ef444433;border-radius:8px;align-items:center;gap:10px;padding:10px 16px;font-size:12px;display:flex}.schedule-grid-wrapper{border:1px solid var(--border);background:var(--bg-card);border-radius:8px;max-height:calc(125vh - 120px);position:relative;overflow:auto}.schedule-grid{border-collapse:collapse;table-layout:fixed;width:100%}.schedule-grid .member-name{white-space:normal;overflow-wrap:anywhere}.schedule-grid th,.schedule-grid td{border:1px solid var(--border);vertical-align:top;padding:2px}.schedule-grid thead{z-index:10}.schedule-grid thead tr:first-child th{z-index:10;position:sticky;top:-1px}.schedule-grid thead tr:nth-child(2) th{z-index:10;position:sticky;top:22px}.schedule-corner{background:var(--bg-elevated);z-index:12;width:110px;min-width:110px;position:sticky;left:0}.schedule-group-row .schedule-corner{box-shadow:inset 0 -2px 0 var(--border)}.schedule-datejump{padding:2px 3px;position:relative}.schedule-datejump-input{box-sizing:border-box;border:1px solid var(--border,#3a3a43);background:var(--bg-card,#1f242e);width:100%;color:var(--text-primary,#e5e5e5);border-radius:5px;padding:3px 8px 3px 6px;font-family:inherit;font-size:10px}.schedule-datejump-input::placeholder{color:var(--text-muted,#9aa3b2)}.schedule-datejump-input:focus{border-color:var(--accent,#60a5fa);outline:none}.schedule-datejump-clear{background:var(--border,#3a3a43);width:14px;height:14px;color:var(--text-primary,#e5e5e5);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:11px;line-height:1;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.schedule-datejump-clear:hover{background:var(--accent,#60a5fa);color:#fff}.schedule-datejump-menu{background:var(--bg-card,#1f242e);border:1px solid var(--border,#3a3a43);box-shadow:0 8px 28px var(--shadow-color-strong);border-radius:8px;padding:3px}.schedule-datejump-item{text-align:left;width:100%;color:var(--text-primary,#e5e5e5);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;padding:6px 10px;font-family:inherit;font-size:12px;display:block}.schedule-datejump-item.active,.schedule-datejump-item:hover{background:var(--accent,#60a5fa);color:#fff}.schedule-group-header{background:var(--bg-elevated);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;text-align:center;box-shadow:inset 0 -2px 0 var(--border);padding:4px 6px;font-size:9px;font-weight:600}.schedule-member-header{background:var(--bg-elevated);text-align:center;min-width:70px;padding:4px 2px;font-size:9px;font-weight:500}.member-name{color:var(--text-primary);font-size:9px;display:inline}.member-location{color:var(--text-muted);font-size:9.5px;font-weight:400;display:inline}.member-today-location{color:var(--accent-blue,#3b82f6);font-size:10.5px;font-weight:500;display:block}.schedule-member-header.reorderable{cursor:grab}.schedule-member-header.reorderable:active{cursor:grabbing}.schedule-member-header.reorder-over{box-shadow:inset 3px 0 0 var(--accent-blue,#3b82f6)}.col-drop-before{box-shadow:inset 4px 0 0 0 var(--accent-blue,#3b82f6)}.col-drop-after{box-shadow:inset -4px 0 0 0 var(--accent-blue,#3b82f6)}.member-utilization{justify-content:center;margin-top:2px;display:flex}.utilization-bar{background:var(--border);border-radius:2px;width:30px;height:3px;overflow:hidden}.utilization-fill{border-radius:2px;height:100%;transition:width .3s}.utilization-fill.low{background:#22c55e}.utilization-fill.medium{background:#eab308}.utilization-fill.high{background:#ef4444}.schedule-day-label{background:var(--bg-elevated);color:var(--text-secondary);white-space:nowrap;z-index:2;padding:4px;font-size:10px;font-weight:600;position:sticky;left:0}.schedule-day-label.weekend{color:var(--text-secondary,#999);opacity:.8}.schedule-cell{cursor:pointer;transition:background .15s;position:relative}.schedule-cell.weekend-cell{background:#ffffff0d}.schedule-cell.empty-cell:hover{background:var(--bg-elevated)}.schedule-cell.drag-over{outline-offset:-2px;background:#3b82f61a;outline:2px dashed #3b82f666}.schedule-pill.is-editing,.schedule-pill-sheets.is-editing,.schedule-fill-block.is-editing{outline:2px solid var(--accent-blue,#3b82f6);outline-offset:-1px;z-index:2;border-radius:3px;box-shadow:0 0 0 2px #3b82f659}.schedule-row-fse .schedule-day-label{border-left:3px solid #2563eb66}.schedule-row-ee .schedule-day-label{border-left:3px solid #dc262666}.schedule-row-csm .schedule-day-label{border-left:3px solid #16a34a66}.schedule-month-start>td{border-top:2px solid var(--accent-blue,#3b82f6)}.schedule-month-divider{letter-spacing:.5px;text-transform:uppercase;color:var(--accent-blue,#3b82f6);margin-bottom:1px;font-size:10px;font-weight:700;display:block}.schedule-type-picker{flex-wrap:wrap;gap:3px;margin-bottom:4px;display:flex}.schedule-type-chip{border:1px solid var(--border,#3a3a43);color:var(--text-secondary,#c7c7cf);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:2px 6px;font-family:inherit;font-size:9.5px;line-height:1.4;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.schedule-type-chip:hover{background:var(--bg-elevated,#2c2c33)}.schedule-type-chip.selected{border-color:var(--accent-blue,#3b82f6);color:var(--text-primary,#f1f1f3);background:#3b82f61f}.schedule-type-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.schedule-cell-add{width:100%;height:100%;color:var(--text-muted);opacity:.3;justify-content:center;align-items:center;display:none}.schedule-cell.empty-cell:hover .schedule-cell-add{display:flex}.schedule-cell-conflict{z-index:1;background:#ef4444;border-radius:50%;width:6px;height:6px;position:absolute;top:2px;right:2px}.schedule-bars-stack{flex-direction:column;gap:3px;min-height:100%;display:flex}.schedule-bars-stack .schedule-pill,.schedule-bars-stack .schedule-pill-sheets{flex:1 0 auto;margin-bottom:0}.schedule-fill-stack{background:var(--border);flex-direction:column;gap:2px;min-height:100%;display:flex}.schedule-fill-block{cursor:grab;flex:1 0 auto;align-items:flex-start;min-height:16px;padding:2px 5px;line-height:1.2;display:flex;position:relative}.schedule-fill-block.tentative{opacity:.72;border-style:dashed}.schedule-fill-text{white-space:normal;word-break:break-word;flex:1;min-width:0;font-size:calc(1em + 1.5px);font-weight:500;display:block}.schedule-pill-icon-stack{--icon-stack-gap:3px;--icon-stack-buffer:3px;align-items:center;gap:var(--icon-stack-gap);padding:var(--icon-stack-buffer) 0;pointer-events:none;flex-direction:column;flex-shrink:0;margin-left:4px;line-height:0;display:flex}.schedule-pill-icon-stack .schedule-pill-jira-icon{pointer-events:auto;color:inherit;line-height:0}.schedule-pill-done-icon{color:#000;line-height:0}.schedule-pill-missing-loc-icon,.schedule-pill-drift-icon{color:red;line-height:0}.schedule-pill{cursor:grab;border-radius:3px;flex-direction:row;align-items:flex-start;gap:1px;margin-bottom:1px;padding:2px 4px;font-size:8px;line-height:1.2;display:flex;overflow:hidden}.schedule-pill.dragging{opacity:.4}.schedule-pill-text{white-space:normal;word-break:break-word;flex:1;min-width:0;font-size:calc(1em + 1.5px);font-weight:500}.schedule-pill-jira{opacity:.7;color:inherit;font-size:7px;text-decoration:none}.schedule-pill-jira:hover{opacity:1;text-decoration:underline}.schedule-pill.tentative{opacity:.85;border-style:dashed}.schedule-pill-blue{color:#13294a;background:#8fbdf7;border:1px solid #6fa6ec}.schedule-pill-green{color:#0e3a23;background:#7ad79f;border:1px solid #5cc587}.schedule-pill-yellow{color:#463405;background:#f2cf5e;border:1px solid #e3bd45}.schedule-pill-purple{color:#311657;background:#bf9cf0;border:1px solid #a87fe6}.schedule-pill-gray{color:#20252d;background:#b6bdc9;border:1px solid #9aa2b0}.schedule-pill-red{color:#5a1212;background:#ff6b6b;border:1px solid #fb4d4d}.schedule-pill-white{color:#272c34;background:#f1f3f6;border:1px solid #d7dce3}.schedule-pill-orange{color:#532809;background:#f5ad6e;border:1px solid #e8924b}.schedule-pill-bluegray{color:#f8fafc;background:#333a45;border:1px solid #4b5563}.schedule-pill-powderblue{color:#15314e;background:#a8ccf5;border:1px solid #8fb7ef}.schedule-pill-cyan{color:#0a3742;background:#79d2e6;border:1px solid #57bfd6}.schedule-pill-pink{color:#4a1130;background:#f3a8cd;border:1px solid #ec8fbd}.schedule-pill-violet{color:#2e1065;background:#c4b5fd;border:1px solid #a78bfa}.schedule-pill-indigo{color:#1e1b4b;background:#a5b4fc;border:1px solid #818cf8}.schedule-pill-teal{color:#053b34;background:#7fd8cd;border:1px solid #4fc9bb}.schedule-pill-sky{color:#06344a;background:#7fd0f2;border:1px solid #52bce8}.schedule-pill-amber{color:#4a2c05;background:#f5c98a;border:1px solid #e8ad52}.schedule-pill-fuchsia{color:#4a1156;background:#ecaaf5;border:1px solid #dd8fea}.schedule-pill-stone{color:#292524;background:#d6d3d1;border:1px solid #bcb8b5}.schedule-pill-lime{color:#29420a;background:#c2e88a;border:1px solid #a9db5c}.schedule-pill-rose{color:#4c0519;background:#f7a3b1;border:1px solid #f27289}.schedule-pill-emerald{color:#064e3b;background:#6ee7b7;border:1px solid #34d399}.schedule-popover{z-index:500;background:var(--bg-card);border:1px solid var(--border);box-shadow:0 12px 40px var(--shadow-color-strong);border-radius:10px;width:280px;overflow:hidden}.schedule-popover-header{border-bottom:1px solid var(--border);color:var(--text-primary);justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.schedule-popover-assignee{color:var(--text-secondary,#9aa3b2);font-weight:500}.ms-jira-strip{align-items:center;gap:8px;margin:-4px 0 12px;display:flex}.ms-jira-key{color:var(--text-secondary,#9aa3b2);font-size:12px;font-weight:700}.jira-status-pill{text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.jira-status-todo{color:#94a3b8;background:#94a3b82e}.jira-status-scheduled{color:#818cf8;background:#6366f12e}.jira-status-progress{color:#60a5fa;background:#3b82f62e}.jira-status-done{color:#22c55e;background:#22c55e2e}.jira-status-hold{color:#eab308;background:#eab3082e}.jira-status-dead{color:#f87171;background:#ef444429}.jira-status-unknown,.jira-status-loading{color:var(--text-secondary,#9aa3b2);text-transform:none;letter-spacing:0;background:#94a3b81f;font-style:italic}.jira-status-select-wrap{border-radius:999px;display:inline-flex;position:relative}.jira-status-select{appearance:none;color:inherit;font:inherit;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;background:0 0;border:none;border-radius:999px;max-width:200px;padding:2px 18px 2px 8px;font-size:10px;font-weight:700}.jira-status-select:disabled{cursor:default;opacity:.7}.jira-status-select-wrap:after{content:"▾";opacity:.7;pointer-events:none;font-size:8px;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.jira-status-select option{color:var(--text-primary,#e5e7eb);background:var(--bg-elevated,#1e2230);text-transform:none;font-weight:500}.schedule-popover-tabs{border-bottom:1px solid var(--border);background:var(--bg-elevated,#1a1f29);gap:2px;padding:0 14px;display:flex}.schedule-popover-tab{appearance:none;cursor:pointer;color:var(--text-muted,#9aa3b2);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:4px;margin-bottom:-1px;padding:7px 12px;font-size:11px;font-weight:600;display:inline-flex}.schedule-popover-tab:hover{color:var(--text-primary)}.schedule-popover-tab.active{color:var(--text-primary);border-bottom-color:var(--accent,#60a5fa)}.schedule-popover-tab-notes-icon{color:#22c55e}.schedule-popover-close,.cell-popover-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px}.schedule-popover-body{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.schedule-popover-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.schedule-popover-select,.schedule-popover-input{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);box-sizing:border-box;border-radius:6px;width:100%;padding:6px 10px;font-size:12px}.schedule-popover-select:focus,.schedule-popover-input:focus{border-color:var(--accent);outline:none}.schedule-popover-readonly{color:var(--text-secondary,#c7ccd4);background:var(--bg-elevated,#1a1f29);border:1px solid var(--border,#2a2a2a);white-space:pre-wrap;word-break:break-word;border-radius:6px;padding:6px 9px;font-size:11px;line-height:1.45}.schedule-popover-appeng-meta{background:var(--bg-elevated,#1a1f29);border:1px solid var(--border,#2a2a2a);border-radius:6px;flex-direction:column;gap:3px;margin:2px 0 4px;padding:6px 9px;display:flex}.schedule-appeng-metarow{align-items:baseline;gap:8px;font-size:11px;line-height:1.4;display:flex}.schedule-appeng-metalabel{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted,#9aa3b2);flex:0 0 58px;font-size:10px;font-weight:700}.schedule-appeng-metaval{color:var(--text-secondary,#c7ccd4);word-break:break-word}.schedule-popover-onsite{-webkit-user-select:none;user-select:none}.schedule-popover-onsite input{accent-color:var(--activity-rose,#f43f5e)}.dismissed-row{flex-wrap:wrap;align-items:center;gap:6px;padding:2px 0;display:flex}.dismissed-row .dismissed-view{opacity:.75;flex:1;min-width:0;text-decoration:none}.dismissed-row .dismissed-view:hover{opacity:1}.dismissed-meta{color:var(--text-muted,#9aa3b2);white-space:nowrap;font-size:9px}.sig-yes{color:#16a34a;align-items:center;gap:3px;font-size:11px;font-weight:600;display:inline-flex}.sig-no{color:#d97706;font-size:11px;font-weight:600}.settings-badge{vertical-align:middle;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);background:var(--surface-2,#94a3b829);border-radius:3px;margin-left:8px;padding:1px 6px;font-size:9px;font-weight:700}.signature-row{flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;display:flex}.signature-preview{border:1px solid var(--border);background-color:var(--bg-primary);background-image:linear-gradient(45deg,#94a3b82e 25%,#0000 25% 75%,#94a3b82e 75%),linear-gradient(45deg,#94a3b82e 25%,#0000 25% 75%,#94a3b82e 75%);background-position:0 0,6px 6px;background-size:12px 12px;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:240px;height:84px;display:flex;overflow:hidden}.signature-preview img{-o-object-fit:contain;object-fit:contain;max-width:100%;max-height:100%}.signature-preview.is-empty{color:var(--text-muted);background-image:none;font-size:11px}.signature-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.signature-btn{cursor:pointer;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:5px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.signature-btn:hover{border-color:var(--accent-blue,#3b82f6)}.signature-btn.is-busy{opacity:.6;cursor:default}.signature-btn.is-danger:hover{color:#ef4444;border-color:#ef4444}.signature-btn:disabled{opacity:.6;cursor:default}.signature-btn.is-primary{border-color:var(--accent-blue,#3b82f6);color:var(--accent-blue,#3b82f6)}.signature-meta{color:var(--text-muted);font-size:10px}.sigpad{margin-top:12px}.sigpad-canvas{border:1px dashed var(--border);cursor:crosshair;touch-action:none;background:#fff;border-radius:6px;width:100%;max-width:520px;height:160px;display:block}.sigpad-actions{flex-wrap:wrap;align-items:center;gap:8px;max-width:520px;margin-top:8px;display:flex}.sigpad-hint{color:var(--text-muted);flex:1;font-size:10px}.signature-msg{align-items:center;gap:5px;margin-top:8px;font-size:11px;display:flex}.signature-msg.is-ok{color:#16a34a}.signature-msg.is-warn{color:#d97706}.signature-msg.is-err{color:#dc2626}.signature-hint{color:var(--text-muted);max-width:620px;margin-top:8px;font-size:10px;line-height:1.5}.signature-hint strong{color:var(--text-secondary)}.schedule-popover-serviceform{color:var(--text-secondary);background:color-mix(in srgb, #22c55e 10%, var(--bg-card));border:1px solid #22c55e4d;border-radius:4px;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;padding:5px 8px;font-size:11px;display:flex}.schedule-popover-serviceform-btn{color:#15803d;background:#22c55e2e;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:600;text-decoration:none;display:inline-flex}.schedule-popover-serviceform-btn:hover{background:#22c55e4d}.schedule-popover-serviceform-btn.is-fallback{color:var(--text-secondary);background:var(--surface-2,#94a3b829)}.schedule-popover-serviceform-btn.is-fallback:hover{background:#94a3b847}.schedule-popover-serviceform-note{opacity:.85}.schedule-popover-drift{color:var(--text-secondary);background:color-mix(in srgb, red 10%, var(--bg-card));border:1px solid #ff000057;border-radius:4px;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;padding:5px 8px;font-size:11px;display:flex}.schedule-popover-drift>svg{color:red;flex-shrink:0}.schedule-popover-drift strong{color:var(--text-primary);font-weight:600}.schedule-popover-drift-fix{color:#b91c1c;cursor:pointer;background:#ff000029;border:none;border-radius:4px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:600}.schedule-popover-drift-fix:hover:not(:disabled){background:#ff000042}.schedule-popover-drift-fix:disabled{opacity:.6;cursor:default}.schedule-popover-textarea{resize:none;flex:none;min-height:32px;font-family:inherit;line-height:1.4;overflow:hidden}.schedule-popover-travel{flex-direction:column;gap:4px;display:flex}.schedule-popover-quickpicks{flex-wrap:wrap;gap:4px;margin:1px 0 6px;display:flex}.schedule-popover-quickpick{cursor:pointer;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);border-radius:5px;padding:2px 8px;font-size:10px;font-weight:600}.schedule-popover-quickpick:hover{border-color:var(--accent);color:var(--accent)}.schedule-popover-ro:disabled{opacity:1}.schedule-popover-ro input:disabled,.schedule-popover-ro textarea:disabled,.schedule-popover-ro select:disabled,.schedule-popover-ro button:disabled{color:var(--text-primary);-webkit-text-fill-color:var(--text-primary);opacity:1;cursor:default}.schedule-perm-toast{z-index:700;color:#fee2e2;box-shadow:0 8px 28px var(--shadow-color-strong);pointer-events:none;background:#7f1d1d;border:1px solid #b91c1c;border-radius:8px;max-width:90vw;padding:8px 14px;font-size:12px;font-weight:600;position:fixed;top:16px;left:50%;transform:translate(-50%)}.schedule-popover-statusbar{border-bottom:1px solid var(--border);padding:10px 14px}.schedule-popover-statusbar .schedule-popover-status-toggle{margin-top:0}.schedule-popover-status-toggle{border:1px solid var(--border);border-radius:6px;gap:0;margin-top:4px;display:flex;overflow:hidden}.schedule-status-btn{background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;border:none;flex:1;padding:5px 0;font-size:11px;font-weight:500;transition:background .15s,color .15s}.schedule-status-btn.active{background:var(--accent);color:#fff;font-weight:600}.schedule-status-btn-tentative.active{background:var(--activity-red,#ef4444)}.schedule-status-btn:not(.active):hover{background:var(--bg-tertiary);color:var(--text-primary)}.schedule-popover-footer{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 14px;display:flex}.schedule-popover-footer-row{justify-content:space-between;align-items:center;display:flex}.schedule-popover-footer-row2{justify-content:space-between;align-items:center;gap:16px;display:flex}.schedule-popover-copylink{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;display:inline-flex}.schedule-popover-copylink:hover{color:var(--text-primary);border-color:var(--text-muted)}.schedule-popover-flightlink{color:#3b82f6;cursor:pointer;background:#3b82f614;border:1px solid #3b82f666;border-radius:5px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:500;text-decoration:none;display:inline-flex}.schedule-popover-flightlink:hover{background:#3b82f629;border-color:#3b82f6b3}.schedule-popover-triplinks{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto;display:flex}.schedule-popover-hotellink{color:#d97706;cursor:pointer;background:#d9770614;border:1px solid #d9770666;border-radius:5px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:500;text-decoration:none;display:inline-flex}.schedule-popover-hotellink:hover{background:#d9770629;border-color:#d97706b3}.schedule-popover-confirm{color:#facc15;background:#eab3081f;border-top:1px solid #eab30866;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;font-size:12px;display:flex}.schedule-popover-confirm-msg{flex-direction:column;gap:1px;min-width:0;display:flex}.schedule-popover-confirm-head{font-weight:700}.schedule-popover-confirm-fields{color:var(--text-secondary);text-overflow:ellipsis;font-size:11px;font-weight:400;overflow:hidden}.schedule-popover-confirm-actions{flex:none;gap:6px;display:flex}.schedule-popover-loccheck-slot{min-height:15px;margin-top:-2px}.schedule-popover-loccheck{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.schedule-popover-loccheck.ok{color:#4ade80}.schedule-popover-loccheck.fail{color:#f87171}.schedule-popover-actions{gap:6px;margin-left:auto;display:flex}.schedule-popover-cancel{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;padding:5px 10px;font-size:11px}.schedule-popover-save{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:5px;padding:5px 12px;font-size:11px;font-weight:600}.schedule-popover-save:disabled{opacity:.4;cursor:default}.schedule-popover-delete{color:#f87171;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:5px;padding:5px 10px;font-size:11px}.schedule-popover-delete:hover{background:#ef44441a}.schedule-popover-link-section{margin-top:4px}.schedule-popover-link-btn{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:6px;width:100%;padding:5px 10px;font-size:11px;transition:all .15s;display:flex}.schedule-popover-link-btn:hover{border-color:var(--accent);color:var(--accent)}.schedule-popover-linked{background:#3b82f61a;border:1px solid #3b82f633;border-radius:5px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;display:flex}.schedule-popover-linked a{color:#60a5fa;font-weight:600;text-decoration:none}.schedule-popover-linked a:hover{text-decoration:underline}.schedule-popover-assets{background:var(--bg-card,#1f242e);border:1px solid var(--border,#2a2a2a);border-radius:6px;flex-direction:column;gap:3px;margin-top:8px;padding:7px 9px;display:flex}.schedule-asset-row{justify-content:space-between;align-items:baseline;gap:10px;font-size:11px;display:flex}.schedule-asset-label{color:var(--text-muted,#9aa3b2);flex:none;font-weight:600}.schedule-asset-val{color:var(--text-primary,#e5e5e5);text-align:right;word-break:break-word;font-weight:600}.schedule-asset-link{color:#60a5fa;text-decoration:none}.schedule-asset-link:hover{text-decoration:underline}.schedule-asset-row-col{flex-direction:column;align-items:stretch;gap:2px}.schedule-asset-row-col .schedule-asset-label{text-align:left}.schedule-asset-skus{text-align:left;color:var(--text-secondary,#b8c0cc);flex-direction:column;gap:1px;font-size:10.5px;font-weight:500;display:flex}.map-popup-asset-link{color:#2563eb;font-weight:600;text-decoration:none}.map-popup-asset-link:hover{text-decoration:underline}.schedule-popover-history{margin-top:10px}.schedule-popover-history-list{flex-direction:column;gap:2px;margin:4px 0 0;padding:0;list-style:none;display:flex}.schedule-popover-history-list li{color:var(--text-secondary);flex-direction:column;gap:1px;font-size:10px;display:flex}.schedule-hist-main{align-items:center;gap:4px;display:flex}.schedule-hist-date{flex:1;min-width:0}.schedule-hist-person{color:var(--text-secondary);background:var(--surface-2,#94a3b829);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;flex-shrink:0;max-width:84px;padding:0 4px;font-size:8px;font-weight:600;line-height:1.55;overflow:hidden}.schedule-hist-when{color:var(--text-muted,#9aa3b2);font-size:8px}.schedule-hist-status,.schedule-hist-src{text-transform:uppercase;letter-spacing:.02em;border-radius:3px;flex-shrink:0;padding:0 4px;font-size:8px;line-height:1.55}.schedule-hist-status.is-tentative{color:#eab308;background:#eab3082e}.schedule-hist-status.is-confirmed{color:#22c55e;background:#22c55e2e}.schedule-hist-src-manual{color:var(--text-muted,#9aa3b2);background:#94a3b82e}.schedule-hist-src-jira{color:#60a5fa;background:#60a5fa2e}.schedule-popover-unlink{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px}.schedule-popover-link-search{flex-direction:column;gap:6px;display:flex}.schedule-popover-search-field{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);border-radius:5px;align-items:center;gap:6px;padding:5px 8px;display:flex}.schedule-popover-search-field:focus-within{border-color:var(--accent)}.schedule-popover-search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:11px}.schedule-popover-ticket-list{flex-direction:column;gap:2px;max-height:150px;display:flex;overflow-y:auto}.schedule-popover-ticket{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:flex-start;gap:6px;width:100%;padding:4px 8px;font-size:10px;transition:background .1s;display:flex}.schedule-popover-ticket:hover{background:var(--bg-elevated)}.ticket-key{color:#60a5fa;white-space:nowrap;flex-shrink:0;font-size:10px;font-weight:600}.ticket-summary{white-space:normal;word-break:break-word;font-size:10px;line-height:1.3}.ticket-status{background:var(--surface-2);color:var(--text-secondary);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:0 5px;font-size:9px}.ticket-status.is-terminal{background:color-mix(in srgb, var(--text-muted) 22%, transparent);color:var(--text-muted);text-decoration:line-through}.schedule-body{align-items:flex-start;gap:10px;display:flex}.schedule-sidebar{flex-direction:column;flex:0 0 240px;align-self:flex-start;gap:10px;width:240px;max-height:calc(125vh - 80px);display:flex;position:sticky;top:8px;overflow-y:auto}.sidebar-stats-grid{grid-template-columns:repeat(2,1fr);gap:5px;padding:0 8px 8px;display:grid}.sidebar-stat{border:1px solid var(--border);background:var(--bg-card);cursor:pointer;text-align:left;border-radius:6px;flex-direction:column;align-items:flex-start;gap:0;padding:4px 6px;font-family:inherit;transition:border-color .12s,background .12s;display:flex}.sidebar-stat:hover{border-color:var(--border-strong,#555)}.sidebar-stat.active{border-color:var(--accent,#3b82f6);background:#3b82f61f}.sidebar-stat-value{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.1}.sidebar-stat-label{text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:8px;overflow:hidden}.schedule-sidebar-resize{cursor:col-resize;background:0 0;border-radius:3px;flex:0 0 6px;align-self:stretch;transition:background .15s}.schedule-sidebar-resize:hover,.schedule-sidebar-resize:active{background:var(--accent-blue,#3b82f6)}.schedule-main{flex-direction:column;flex:1 1 0;gap:10px;min-width:0;display:flex}.schedule-pipeline-section{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.sidebar-section-wrap{flex-shrink:0;position:relative}.sidebar-section-wrap>.schedule-pipeline-section>.schedule-pipeline-toggle{cursor:grab}.sidebar-section-wrap>.schedule-pipeline-section>.schedule-pipeline-toggle:active{cursor:grabbing}.sidebar-section-wrap.drop-before:before,.sidebar-section-wrap.drop-after:after{content:"";background:var(--accent-blue,#3b82f6);pointer-events:none;border-radius:2px;height:3px;position:absolute;left:0;right:0}.sidebar-section-wrap.drop-before:before{top:0}.sidebar-section-wrap.drop-after:after{bottom:0}.schedule-pipeline-toggle{width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:6px 12px;font-size:11px;font-weight:600;transition:background .15s;display:flex}.schedule-pipeline-toggle:hover{background:var(--bg-elevated)}.schedule-pipeline-grid{background:var(--border);border-top:1px solid var(--border);grid-template-columns:1fr;gap:1px;display:grid}.schedule-pipeline-bucket{background:var(--bg-primary);flex-direction:column;gap:2px;padding:6px 7px;display:flex}.pipeline-bucket-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:6px;margin-bottom:2px;font-size:9px;font-weight:600;display:flex}.pipeline-bucket-dot{border-radius:50%;width:7px;height:7px}.pipeline-dot-blue{background:#3b82f6}.pipeline-dot-green{background:#22c55e}.pipeline-dot-orange{background:#f97316}.schedule-back-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:4px;margin-bottom:8px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.schedule-back-btn:hover{color:var(--text-primary);border-color:var(--border-strong,#555)}.schedule-conflicts-header{cursor:default}.schedule-conflicts-header:hover{background:0 0}.schedule-conflict-row{align-items:stretch;gap:4px;display:flex}.schedule-conflict-row .schedule-conflict-view{flex:1;min-width:0}.schedule-conflict-row.is-resolved{opacity:.7}.schedule-conflict-row.is-resolved .pipeline-ticket-key{color:var(--text-muted,#9aa3b2)}.schedule-conflict-action{color:var(--text-secondary);background:var(--surface-2,#94a3b829);cursor:pointer;border:none;border-radius:4px;flex-shrink:0;align-items:center;gap:3px;padding:0 8px;font-size:10px;font-weight:600;display:inline-flex}.schedule-conflict-action:hover{color:#16a34a;background:#22c55e2e}.schedule-conflict-resolved-header{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#9aa3b2);padding:8px 12px 2px;font-size:9px}.lanes-menu{position:relative}.lanes-menu-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:5px;align-items:center;padding:5px 8px;font-size:11px;font-weight:600;display:inline-flex}.lanes-menu-btn:hover{color:var(--text-primary)}.lanes-menu-dropdown{z-index:30;background:var(--bg-card);border:1px solid var(--border);min-width:200px;box-shadow:0 8px 24px var(--shadow-color-soft);border-radius:8px;margin-top:4px;padding:6px;position:absolute;top:100%;right:0}.lanes-menu-title{color:var(--text-muted);padding:2px 6px 6px;font-size:10px}.lanes-menu-divider{background:var(--border);height:1px;margin:6px 4px 2px}.lanes-menu-option{color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;width:100%;padding:5px 6px;font-family:inherit;font-size:12px;display:flex}.lanes-menu-option:hover{background:var(--bg-elevated)}.lanes-menu-pill{letter-spacing:.02em;white-space:nowrap;border:1px solid;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:700}.schedule-stage-header{background:var(--bg-elevated)}.schedule-stage-cell{border-right:1px solid var(--border);background:#4755690f}.schedule-milestone-header{background:color-mix(in srgb, #4964d0 14%, var(--bg-elevated))}.schedule-milestone-cell{border-right:1px solid var(--border);vertical-align:top;background:#4964d00d}.schedule-milestone-cell:hover{background:#4964d01a}.schedule-milestone-cell.has-milestone{background:#4964d047;box-shadow:inset 3px 0 #4964d0}.schedule-milestone-cell.has-milestone:hover{background:#4964d061}.schedule-milestone-cell.milestone-drop-over{outline-offset:-2px;background:#4964d033;outline:2px dashed #4964d0}.schedule-milestone-stack{flex-direction:column;gap:3px;display:flex}.schedule-milestone-label{color:var(--text-primary,#e8ecf3);white-space:normal;word-break:break-word;align-items:flex-start;gap:3px;padding:1px 2px;font-size:10px;font-weight:700;line-height:1.2;display:flex}.schedule-milestone-stack .schedule-milestone-label:not(:first-child){border-top:1px solid #4964d059;padding-top:3px}.schedule-milestone-icon{color:#eab308;flex:none;margin-top:1px}.schedule-milestone-text{flex:auto;min-width:0}.schedule-milestone-delete{color:var(--text-muted,#9aa3b2);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin-top:1px;padding:0;display:none}.schedule-milestone-label:hover .schedule-milestone-delete{display:inline-flex}.schedule-milestone-delete:hover{color:#ef4444}.schedule-milestone-empty{text-align:center;color:var(--text-muted,#6b7280);opacity:0;font-size:12px;display:block}.schedule-milestone-cell:hover .schedule-milestone-empty{opacity:.5}.schedule-milestone-add{color:var(--text-muted,#9aa3b2);cursor:pointer;opacity:0;background:0 0;border:1px dashed #0000;border-radius:3px;align-self:flex-start;margin-top:1px;padding:0 3px;font-size:9px;font-weight:600}.schedule-milestone-cell:hover .schedule-milestone-add{opacity:.7}.schedule-milestone-add:hover{color:var(--text-primary,#e8ecf3);border-color:#4964d0;opacity:1!important}.schedule-milestone-input{box-sizing:border-box;resize:none;background:var(--bg-card,#1a1f29);width:100%;color:var(--text-primary,#e8ecf3);border:1px solid #4964d0;border-radius:4px;padding:2px 3px;font-family:inherit;font-size:10px;line-height:1.25;overflow:hidden}.schedule-stage-cell.stage-drop-over{outline:2px dashed var(--accent-blue,#3b82f6);outline-offset:-2px;background:#3b82f61a}.schedule-stage-pill{background:var(--bg-card);color:var(--text-primary);cursor:grab;white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:3;border-radius:4px;-webkit-box-orient:vertical;margin:1px 0;padding:2px 5px;font-size:9px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.schedule-stage-pill.tentative{opacity:.72}.schedule-stage-pill:active{cursor:grabbing}.schedule-staged-popover{background:var(--bg-card,#26262c);border:1px solid var(--border);box-shadow:0 8px 28px var(--shadow-color-strong);color:var(--text-primary);border-radius:10px;padding:12px 14px;font-size:12px}.schedule-staged-pop-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.schedule-staged-pop-title{font-size:13px;font-weight:600;line-height:1.3}.schedule-staged-pop-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.schedule-staged-pop-close:hover{color:var(--text-primary)}.schedule-staged-pop-meta{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.schedule-staged-pop-chip{text-transform:uppercase;letter-spacing:.03em;background:var(--bg-elevated,#33333a);color:var(--text-secondary);border-radius:4px;padding:2px 6px;font-size:10px}.schedule-staged-pop-chip.tentative{color:#eab308;background:#eab30829}.schedule-staged-pop-chip.confirmed{color:#22c55e;background:#22c55e29}.schedule-staged-pop-jira{color:var(--accent-blue,#3b82f6);margin-bottom:8px;font-size:12px;font-weight:600;text-decoration:none;display:inline-block}.schedule-staged-pop-jira:hover{text-decoration:underline}.schedule-staged-pop-loading{color:var(--text-muted);margin-bottom:6px;font-size:11px;font-style:italic}.schedule-pipeline-bucket.region-drop-over{outline:2px dashed var(--accent-blue,#3b82f6);outline-offset:-2px;background:#3b82f612}.pipeline-ticket-dismiss{color:var(--text-muted,#888);cursor:pointer;opacity:.45;background:0 0;border:none;flex-shrink:0;align-items:center;margin-right:2px;padding:0;transition:color .12s,opacity .12s;display:inline-flex}.pipeline-ticket-dismiss:hover{color:#ef4444;opacity:1}.pipeline-ticket-dismiss:disabled{cursor:not-allowed;opacity:.25}.pipeline-ticket-dismiss:disabled:hover{color:var(--text-muted,#888);opacity:.25}.schedule-popover-search-hint{color:var(--text-muted,#888);padding:6px 8px;font-size:11px}.pipeline-region-set{flex-shrink:0;gap:2px;margin-right:6px;display:inline-flex}.pipeline-region-set button{border:1px solid var(--accent-blue,#3b82f6);color:#93c5fd;cursor:pointer;background:#3b82f61f;border-radius:3px;padding:1px 4px;font-family:inherit;font-size:8px;font-weight:700;line-height:1}.pipeline-region-set button:hover{color:#fff;background:#3b82f64d}.pipeline-region-set button:disabled{cursor:not-allowed;opacity:.35;border-color:var(--border,#3a3a43);color:var(--text-muted,#888);background:#94a3b81a}.pipeline-region-set button:disabled:hover{color:var(--text-muted,#888);background:#94a3b81a}.app-toast{z-index:1000;cursor:pointer;max-width:460px;box-shadow:0 6px 24px var(--shadow-color-soft);border-radius:8px;padding:10px 16px;font-size:13px;font-weight:500;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.app-toast-error{color:#fee2e2;background:#7f1d1d;border:1px solid #b91c1c}.app-toast-info{color:#dbeafe;background:#1e3a5f;border:1px solid #3b82f6}.schedule-popover-related{background:#f59e0b14;border:1px solid #f59e0b66;border-radius:8px;padding:8px 10px}.schedule-related-head{margin-bottom:4px;color:#f59e0b!important}.schedule-related-group+.schedule-related-group{margin-top:2px}.schedule-related-group-head{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:3px 0;font-size:10px;font-weight:600;display:flex}.schedule-related-group-head:hover{color:var(--text-primary)}.schedule-related-chevron{color:var(--text-muted);font-size:10px}.schedule-related-group .schedule-related-list{padding:3px 0 5px 2px}.schedule-related-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.schedule-related-item{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:11px;display:flex}.schedule-related-star{color:#f59e0b;font-size:11px}.schedule-related-key{color:var(--accent-blue);font-weight:700;text-decoration:none}.schedule-related-key:hover{text-decoration:underline}.schedule-related-status{background:var(--surface-2);color:var(--text-secondary);white-space:nowrap;border-radius:4px;padding:0 5px;font-size:9px}.schedule-related-near{background:color-mix(in srgb, var(--accent-blue) 18%, transparent);color:var(--accent-blue);white-space:nowrap;border-radius:4px;padding:0 5px;font-size:9px;font-weight:600}.schedule-related-when{color:var(--text-muted);white-space:nowrap;font-size:10px}.schedule-related-summary{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex-basis:100%;font-size:10px;line-height:1.3;overflow:hidden}.schedule-related-schedule-btn{color:#16a34a;cursor:pointer;background:#22c55e24;border:none;border-radius:4px;flex-shrink:0;align-items:center;gap:3px;padding:1px 6px;font-size:9px;font-weight:600;display:inline-flex}.schedule-related-schedule-btn:hover:not(:disabled){background:#22c55e3d}.schedule-related-schedule-btn:disabled{opacity:.6;cursor:default}.schedule-related-scheduled-badge{color:#16a34a;flex-shrink:0;align-items:center;gap:3px;font-size:9px;font-weight:600;display:inline-flex}.pipeline-ticket{background:var(--bg-elevated);border:1px solid var(--border);border-radius:3px;align-items:center;gap:5px;padding:2px 5px;font-size:8px;line-height:1.3;display:flex}.pipeline-ticket-key{color:#60a5fa;white-space:nowrap;flex-shrink:0;font-size:7px;font-weight:600;text-decoration:none}.pipeline-ticket-desc{font-size:9px}.pipeline-ticket-key:hover{text-decoration:underline}.pipeline-ticket-desc{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pipeline-ticket-link{color:#60a5fa;flex-shrink:0;line-height:0;display:inline-flex}.pipeline-ticket-link:hover{color:#93c5fd}.pipeline-ticket-overdue{color:red;flex-shrink:0;line-height:0;display:inline-flex}.pipeline-empty{color:var(--text-muted);opacity:.5;padding:6px 7px;font-size:10px}.schedule-panel-body{padding:4px 0;overflow-y:auto}.schedule-sidebar::-webkit-scrollbar{height:8px}.schedule-panel-body::-webkit-scrollbar{height:8px}.schedule-sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.schedule-panel-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.schedule-sidebar::-webkit-scrollbar-track{background:0 0}.schedule-panel-body::-webkit-scrollbar-track{background:0 0}.schedule-detail-list-inner{flex-direction:column;gap:3px;padding:2px 0;display:flex}.schedule-panel-resize-handle{cursor:ns-resize;-webkit-user-select:none;user-select:none;opacity:.4;justify-content:center;align-items:center;height:12px;transition:opacity .2s;display:flex}.schedule-panel-resize-handle:hover{opacity:.8}.schedule-panel-resize-bar{background:var(--text-muted);border-radius:2px;width:40px;height:3px}.schedule-detail-entry{background:var(--bg-secondary);border-radius:4px;align-items:center;gap:6px;padding:3px 7px;font-size:9px;display:flex}.schedule-detail-entry-date{color:var(--text-muted);min-width:64px;font-weight:500}.schedule-detail-entry-person{color:var(--text-primary);min-width:56px;font-weight:600}.schedule-detail-entry-desc{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.schedule-detail-tentative{color:#f59e0b;background:#f59e0b1a;border-radius:3px;padding:0 5px;font-size:8px;font-weight:600}.schedule-detail-person{background:var(--bg-secondary);border-radius:4px;padding:4px 7px}.schedule-detail-person-header{align-items:center;gap:6px;font-size:9px;display:flex}.schedule-detail-location{color:var(--text-muted);font-size:8px;font-weight:400}.schedule-detail-count{color:var(--text-muted);margin-left:auto;font-size:8px;font-weight:400}.schedule-detail-dates{flex-wrap:wrap;gap:3px;margin-top:3px;padding-left:12px;display:flex}.schedule-detail-date-chip{color:var(--text-secondary);background:var(--bg-tertiary);border-radius:3px;padding:1px 5px;font-size:8px}.schedule-detail-date-note{color:var(--text-muted);font-style:italic}.schedule-detail-role-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.schedule-util-row{background:var(--bg-secondary);border-radius:4px;align-items:center;gap:6px;padding:3px 7px;font-size:9px;display:flex}.schedule-util-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;width:100px;font-weight:600;overflow:hidden}.schedule-util-bar-track{background:var(--bg-tertiary);border-radius:4px;flex:1;min-width:80px;height:6px;overflow:hidden}.schedule-util-bar-fill{border-radius:4px;height:100%;transition:width .4s}.schedule-util-pct{color:var(--text-primary);text-align:right;min-width:36px;font-weight:700}.schedule-util-days{color:var(--text-muted);text-align:right;min-width:36px;font-size:8px}.schedule-person-view{flex-direction:column;gap:16px;display:flex}.schedule-person-header{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.schedule-person-info{align-items:center;gap:12px;display:flex}.schedule-person-name{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.schedule-role-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600}.schedule-person-location,.schedule-person-stats{color:var(--text-muted);font-size:12px}.schedule-person-empty{text-align:center;color:var(--text-muted);padding:40px;font-size:13px}.schedule-week-group{flex-direction:column;gap:4px;display:flex}.schedule-week-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);margin-bottom:4px;padding:8px 0 4px;font-size:11px;font-weight:600}.schedule-person-entry{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;padding:10px 16px;display:flex}.schedule-entry-date{flex-direction:column;align-items:center;min-width:60px;display:flex}.entry-day-name{color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:600}.entry-date-num{color:var(--text-secondary);font-size:12px}.schedule-type-badge{white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600}.schedule-type-blue{color:#13294a;background:#8fbdf7}.schedule-type-green{color:#0e3a23;background:#7ad79f}.schedule-type-yellow{color:#463405;background:#f2cf5e}.schedule-type-purple{color:#311657;background:#bf9cf0}.schedule-type-cyan{color:#0a3742;background:#79d2e6}.schedule-type-gray{color:#20252d;background:#b6bdc9}.schedule-type-red{color:#5a1212;background:#f29a9a}.schedule-type-powderblue{color:#15314e;background:#a8ccf5}.schedule-type-violet{color:#2e1065;background:#c4b5fd}.schedule-type-indigo{color:#1e1b4b;background:#a5b4fc}.schedule-type-teal{color:#053b34;background:#7fd8cd}.schedule-entry-desc{color:var(--text-primary);flex:1;font-size:13px}.schedule-entry-jira{color:#60a5fa;white-space:nowrap;font-size:11px;font-weight:600;text-decoration:none}.schedule-entry-jira:hover{text-decoration:underline}.schedule-entry-jira-slot{text-align:right;flex-shrink:0;width:64px}.schedule-entry-hours{color:var(--text-muted,#888);flex-shrink:0;align-items:center;gap:3px;font-size:11px;display:flex}.schedule-entry-hours input{width:62px;font:inherit;text-align:right;color:var(--text-primary);background:var(--bg-tertiary,#ffffff0a);border:1px solid var(--border,#3a3a43);border-radius:4px;padding:3px 6px;font-size:12px}.schedule-entry-hours-readonly{color:var(--text-muted,#888);flex-shrink:0;font-size:11px}.schedule-admin-overlay{z-index:200;background:#00000080;position:fixed;inset:0}.schedule-admin-drawer{background:var(--bg-card);border-left:1px solid var(--border);z-index:201;flex-direction:column;width:400px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.schedule-admin-header{border-bottom:1px solid var(--border);color:var(--text-primary);justify-content:space-between;align-items:center;padding:16px 20px;font-size:15px;font-weight:600;display:flex}.schedule-admin-header button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px}.schedule-admin-section{border-bottom:1px solid var(--border);padding:16px 20px}.schedule-admin-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:11px;font-weight:600}.schedule-admin-member-row{border-radius:6px;align-items:center;gap:10px;margin-bottom:2px;padding:8px 10px;transition:background .15s;display:flex}.schedule-admin-member-row:hover{background:var(--bg-elevated)}.schedule-admin-member-name{color:var(--text-primary);flex:1;font-size:13px}.schedule-admin-member-location{color:var(--text-muted);font-size:11px}.schedule-admin-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex}.schedule-admin-member-row:hover .schedule-admin-actions{opacity:1}.schedule-admin-actions button{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.schedule-admin-actions button:hover{background:var(--bg-elevated);color:var(--text-primary)}.schedule-admin-actions button.delete-btn:hover{color:#f87171;background:#ef44441a}.schedule-admin-confirm{color:#f87171;background:#ef44440d;border-radius:4px;align-items:center;gap:8px;margin-top:2px;padding:6px 10px;font-size:11px;display:flex}.schedule-admin-confirm button{cursor:pointer;border:none;border-radius:3px;padding:3px 8px;font-size:10px;font-weight:600}.schedule-admin-confirm .confirm-yes{color:#fff;background:#ef4444}.schedule-admin-confirm .confirm-no{background:var(--bg-elevated);color:var(--text-secondary)}.schedule-admin-form{padding:16px 20px}.schedule-admin-form-title{color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.schedule-admin-form-fields{flex-direction:column;gap:8px;display:flex}.schedule-admin-input,.schedule-admin-select{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);box-sizing:border-box;border-radius:6px;width:100%;padding:7px 10px;font-size:12px}.schedule-admin-input:focus,.schedule-admin-select:focus{border-color:var(--accent);outline:none}.schedule-admin-btn-add{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:4px;padding:7px 14px;font-size:12px;font-weight:600}.schedule-admin-btn-add:disabled{opacity:.4;cursor:default}.schedule-admin-edit-row{background:var(--bg-elevated);border-radius:6px;flex-direction:column;gap:6px;margin-bottom:2px;padding:8px 10px;display:flex}.schedule-admin-edit-fields{gap:6px;display:flex}.schedule-admin-edit-actions{justify-content:flex-end;gap:6px;display:flex}.schedule-admin-btn-save,.schedule-admin-btn-cancel{cursor:pointer;border:none;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600}.schedule-admin-btn-save{background:var(--accent);color:#fff}.schedule-admin-btn-cancel{border:1px solid var(--border);color:var(--text-muted);background:0 0}.users-tab{max-width:1800px;margin:0 auto;padding:24px 32px}.users-tab-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.user-settings-card{border:1px solid var(--border);background:var(--surface-2,#94a3b80a);border-radius:10px;margin-bottom:28px;padding:18px 20px}.user-settings-card .users-tab-header{margin-bottom:14px}.user-settings-buckets{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 20px;display:grid}.user-settings-check{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.user-settings-check input{cursor:pointer;accent-color:var(--accent,#6366f1)}.users-tab-title{color:var(--text-primary);margin:0 0 4px;font-size:22px;font-weight:600}.users-tab-subtitle{color:var(--text-secondary);max-width:560px;margin:0;font-size:13px}.users-add-btn{background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .1s;display:inline-flex}.users-add-btn:hover{background:var(--accent-blue-hover)}.users-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.users-role-filter{flex-wrap:wrap;gap:6px;display:flex}.users-search{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted,#888);border-radius:6px;align-items:center;gap:6px;min-width:220px;padding:5px 9px;display:flex}.users-search:focus-within{border-color:var(--accent-blue,#3b82f6)}.users-search-input{color:var(--text-primary,#e5e5e5);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:12px}.users-search-clear{color:var(--text-muted,#888);cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.users-search-clear:hover{color:var(--text-primary,#e5e5e5)}.users-th-sort{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600}.users-th-sort:hover{color:var(--accent-blue,#3b82f6)}.users-th-info{align-items:center;display:inline-flex}.users-role-filter-btn{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;border-radius:16px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.users-role-filter-btn:hover{color:var(--text-primary);border-color:var(--border-hover)}.users-role-filter-btn.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.users-role-count{background:#ffffff1a;border-radius:8px;padding:1px 6px;font-size:10px}.users-role-filter-btn.active .users-role-count{background:#fff3}.users-table-wrapper{background:var(--bg-card);border:1px solid var(--border);overscroll-behavior:contain;border-radius:8px;min-height:240px;max-height:calc(100vh - 120px);overflow:auto}.users-table thead th{z-index:2;background:var(--bg-elevated);box-shadow:inset 0 -1px 0 var(--border);position:sticky;top:0}.users-name-col{z-index:1;background:var(--bg-card);box-shadow:8px 0 8px -6px var(--shadow-color-strong);position:sticky;left:0}.users-table thead .users-name-col{z-index:3;box-shadow:8px 0 8px -6px var(--shadow-color-strong), inset 0 -1px 0 var(--border)}.users-row-editing .users-name-col,.users-row-adding .users-name-col{background:var(--bg-elevated)}.users-row-dirty .users-name-col{background:color-mix(in srgb, #eab308 8%, var(--bg-card))}.users-table{border-collapse:collapse;width:100%;font-size:12px}.users-table thead{background:var(--bg-elevated)}.users-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:8px 6px;font-size:10px;font-weight:600}.users-row td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 6px}.users-row:last-child td{border-bottom:none}.users-row:hover{background:#ffffff04}.users-row-editing,.users-row-adding{background:#0070f30a}.users-row-dirty td{background:#eab30814}.users-row-dirty td:first-child{box-shadow:inset 3px 0 #eab308}.users-row-deactivated td,.users-card-deactivated{opacity:.55}.users-name{color:var(--text-primary);font-weight:500}.users-email{color:var(--text-secondary);font-family:ui-monospace,monospace;font-size:11px}.users-email-missing{color:var(--text-muted);font-family:inherit}.users-lastsignin{color:var(--text-secondary);white-space:nowrap;font-size:11px}.users-table--admin .users-lastsignin{padding-right:94px}.users-input,.users-select{background:var(--bg-input);width:100%;color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:6px 10px;font-family:inherit;font-size:12px}.users-input:focus,.users-select:focus{border-color:var(--accent-blue);outline:none}.users-role-pill{letter-spacing:.5px;text-transform:uppercase;border-radius:10px;padding:3px 8px;font-size:10px;font-weight:600;display:inline-block}.users-table-actions-col{text-align:right;white-space:nowrap;z-index:1;background:var(--bg-card);width:80px;box-shadow:-8px 0 8px -6px var(--shadow-color-strong);position:sticky;right:0}.users-table thead .users-table-actions-col{background:var(--bg-elevated);z-index:3;box-shadow:-8px 0 8px -6px var(--shadow-color-strong), inset 0 -1px 0 var(--border)}.users-row-editing .users-table-actions-col{background:var(--bg-elevated)}.users-roles-card{margin-top:24px}.users-roles-table input.users-input{width:100%;min-width:60px}.users-roles-color{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;width:34px;height:26px;padding:0}.users-roles-key{font-family:var(--font-mono,ui-monospace, monospace);color:var(--text-muted);font-size:11px}.users-roles-order{width:56px}.users-roles-hint{color:var(--text-muted);font-size:11px;font-style:italic}.users-action-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;margin-left:4px;padding:4px 6px;transition:color .1s,border-color .1s,background .1s;display:inline-flex}.users-action-btn:hover{color:var(--text-primary);border-color:var(--border-hover)}.users-action-save{color:#fff;background:var(--accent-blue);border-color:var(--accent-blue)}.users-action-save:hover{background:var(--accent-blue-hover);border-color:var(--accent-blue-hover);color:#fff}.users-action-delete{color:#fff;background:var(--red);border-color:var(--red)}.users-empty{text-align:center;color:var(--text-muted);padding:40px}.app-nav{border-bottom:1px solid var(--border);background:var(--bg-primary);align-items:center;gap:4px;padding:12px 20px;display:flex}.app-brand{color:var(--text-primary);align-items:center;gap:8px;margin-right:14px;display:flex}.app-brand-cal-img{flex-shrink:0;width:30px;height:30px;display:block}.app-brand-title{color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap;font-size:14px;font-weight:600}.app-nav-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.app-nav-btn:hover{color:var(--text-secondary);background:var(--bg-elevated)}.app-nav-btn.active{color:var(--text-primary);background:var(--bg-elevated);border-color:var(--border)}.app-nav-settings{display:inline-flex;position:relative}.app-nav-caret{opacity:.8;margin-left:2px;font-size:9px}.app-nav-dropdown{background:var(--bg-elevated);border:1px solid var(--border);min-width:190px;box-shadow:0 10px 28px var(--shadow-color-soft);z-index:1000;border-radius:10px;flex-direction:column;gap:2px;margin-top:6px;padding:5px;display:flex;position:absolute;top:100%;left:0}.app-nav-dropdown button{text-align:left;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:8px 12px;font-family:inherit;font-size:13px}.app-nav-dropdown button:hover{background:var(--surface-2,#94a3b81f);color:var(--text-primary)}.app-nav-dropdown button.active{color:var(--text-primary);font-weight:600}.user-settings-heading{color:var(--text-primary);margin:0 0 4px;font-size:14px;font-weight:600}.app-nav-user{color:var(--text-muted);align-items:center;gap:12px;margin-left:auto;font-size:12px;display:flex}.app-nav-user-role{color:var(--text-secondary);font-weight:600}.app-saving-indicator{color:#f59e0b;white-space:nowrap;font-size:11px;font-weight:600;animation:1.1s ease-in-out infinite app-saving-pulse}@keyframes app-saving-pulse{0%,to{opacity:.5}50%{opacity:1}}.presence-bar{align-items:center;display:flex}.presence-avatar{-webkit-user-select:none;user-select:none;border:2px solid var(--bg-primary);box-sizing:border-box;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-left:-7px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.presence-avatar:first-child{margin-left:0}.presence-avatar.is-active{background:var(--accent-blue,#3b82f6);color:#fff}.presence-avatar.is-away{background:var(--border,#3a3a3a);color:var(--text-muted,#9aa3b2)}.presence-more{color:var(--text-muted);background:0 0;border-color:#0000;font-size:9px}.presence-avatar{cursor:default;position:relative}.presence-avatar:hover{z-index:60}.presence-tip{background:var(--bg-elevated,#1f2430);border:1px solid var(--border,#3a3a3a);box-shadow:0 6px 18px var(--shadow-color-strong);white-space:nowrap;z-index:100;pointer-events:none;border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:5px 9px;display:none;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%)}.presence-tip:before{content:"";border:5px solid #0000;border-bottom-color:var(--border,#3a3a3a);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.presence-avatar:hover .presence-tip{display:flex}.presence-tip-name{color:var(--text-primary,#e5e5e5);font-size:11px;font-weight:600}.presence-tip-status{text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:700}.presence-tip-status.active{color:var(--accent-blue,#3b82f6)}.presence-tip-status.away{color:var(--text-muted,#9aa3b2)}.app-signout-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:12px;transition:all .15s}.app-signout-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.dashboard-tab{flex-direction:column;gap:16px;padding:20px;display:flex}.dashboard-target{align-items:center;gap:6px;display:flex}.dashboard-export-btn{border:1px solid var(--border);color:var(--text-secondary,#c7c7cf);cursor:pointer;background:0 0;border-radius:5px;padding:5px 11px;font-family:inherit;font-size:11px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.dashboard-export-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary);border-color:var(--accent-blue,#3b82f6)}.dashboard-export-btn:disabled{opacity:.4;cursor:default}.dashboard-export-btn.active{border-color:var(--accent-blue,#3b82f6);color:var(--text-primary);background:#3b82f624}.dashboard-target-input{border:1px solid var(--border);background:var(--bg-card);width:56px;color:var(--text-primary);text-align:center;border-radius:5px;padding:4px 6px;font-family:inherit;font-size:12px}.dashboard-target-input:focus{border-color:var(--accent);outline:none}.dashboard-target-pct{color:var(--text-muted);font-size:12px}.dashboard-chart-card{background:var(--bg-card);border:1px solid var(--border);box-sizing:border-box;border-radius:12px;align-self:center;width:100%;max-width:1100px;padding:20px}.dashboard-chart-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dashboard-chart-title{color:var(--text-primary);margin-bottom:16px;font-size:14px;font-weight:600}.dashboard-chart-sub{color:var(--text-muted);font-size:12px;font-weight:400}.dashboard-chart-actions{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.dashboard-theme-toggle{justify-content:center;align-items:center;padding:5px 7px;display:inline-flex}.dashboard-chart-card[data-chart-theme=light]{background:#fff;border-color:#e5e7eb;box-shadow:0 1px 3px #00000059}.dashboard-chart-card[data-chart-theme=light] .dashboard-chart-title{color:#111827}.dashboard-chart-card[data-chart-theme=light] .dashboard-chart-sub{color:#6b7280}.dashboard-chart-card[data-chart-theme=light] .dashboard-legend{color:#374151}.dashboard-chart-card[data-chart-theme=light] .dashboard-legend-note,.dashboard-chart-card[data-chart-theme=light] .dashboard-empty{color:#6b7280}.dashboard-chart-card[data-chart-theme=light] .dashboard-export-btn{color:#374151;border-color:#d1d5db}.dashboard-chart-card[data-chart-theme=light] .dashboard-export-btn:hover:not(:disabled){color:#111827;background:#f3f4f6;border-color:#3b82f6}.dashboard-seg{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.dashboard-seg-btn{background:var(--bg-card);color:var(--text-muted);cursor:pointer;border:none;padding:5px 12px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s}.dashboard-seg-btn:hover{color:var(--text-secondary)}.dashboard-seg-btn.active{background:var(--bg-elevated);color:var(--text-primary)}.dashboard-seg-btn+.dashboard-seg-btn{border-left:1px solid var(--border)}.dashboard-chart-card[data-chart-theme=light] .dashboard-seg{border-color:#d1d5db}.dashboard-chart-card[data-chart-theme=light] .dashboard-seg-btn{color:#6b7280}.dashboard-chart-card[data-chart-theme=light] .dashboard-seg-btn:hover{color:#374151}.dashboard-chart-card[data-chart-theme=light] .dashboard-seg-btn.active{color:#111827;background:#e5e7eb}.dashboard-chart-card[data-chart-theme=light] .dashboard-seg-btn+.dashboard-seg-btn{border-left-color:#d1d5db}.dashboard-seg-btn:disabled{opacity:.4;cursor:not-allowed}.dashboard-seg-select{letter-spacing:.02em;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:3px 6px;font-family:inherit;font-size:10px;font-weight:600}.dashboard-seg-select:hover{color:var(--text-secondary)}.dashboard-seg-select:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.dashboard-chart-card[data-chart-theme=light] .dashboard-seg-select{color:#6b7280;border-color:#d1d5db}.dashboard-seg-select option{background:var(--bg-elevated);color:var(--text-primary)}.dashboard-chart-controls{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:0 0 9px;display:flex}.dashboard-chart-empty{text-align:center;color:var(--text-muted);max-width:48rem;margin:0 auto;padding:40px 24px;font-size:12px;line-height:1.6}.dashboard-chart-card[data-chart-theme=light] .dashboard-chart-empty{color:#6b7280}.dashboard-week-note{color:var(--text-muted,#9aa3b2);white-space:nowrap;cursor:help;align-self:center;font-size:11px}.dashboard-empty{text-align:center;color:var(--text-muted);padding:60px;font-size:13px}.monitoring-total-badge{color:#ef4444;background:#ef444429;border-radius:10px;margin-left:8px;padding:1px 7px;font-size:11px;font-weight:700}.monitoring-list{flex-direction:column;gap:6px;padding:4px 10px 12px;display:flex}.monitoring-person{border:1px solid var(--border,#3a3a43);background:var(--bg-card);border-radius:8px}.monitoring-person-head{align-items:center;gap:10px;padding:8px 10px;display:flex}.monitoring-person-toggle{cursor:pointer;min-width:0;font:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;display:flex}.monitoring-caret{color:var(--text-muted,#888);flex-shrink:0;font-size:10px}.monitoring-person-name{color:var(--text-primary);font-size:13px;font-weight:600}.monitoring-count-badge{white-space:nowrap;border-radius:4px;padding:1px 7px;font-size:10px;font-weight:700}.monitoring-last-sent{color:var(--text-muted,#888);white-space:nowrap;font-size:10px}.monitoring-last-sent.failed{color:#ef4444;font-weight:600}.monitoring-entries{border-top:1px solid var(--border,#3a3a43);flex-direction:column;gap:1px;padding:0 10px 8px;display:flex}.monitoring-entry{align-items:center;gap:10px;padding:6px 2px;font-size:12px;display:flex}.monitoring-entry-date{color:var(--text-secondary,#9aa3b2);white-space:nowrap;min-width:78px;font-size:11px}.monitoring-entry-desc{color:var(--text-primary);flex:1;min-width:0}.monitoring-entry-open{color:#60a5fa;white-space:nowrap;font-size:11px;font-weight:600;text-decoration:none}.monitoring-entry-open:hover{text-decoration:underline}.dashboard-legend{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;font-size:11px;display:flex}.dashboard-legend-item{align-items:center;gap:5px;display:flex}.dashboard-legend-dot{border-radius:2px;width:9px;height:9px;display:inline-block}.dashboard-legend-note{color:var(--text-muted);font-style:italic}.dashboard-multiselect{position:relative}.dashboard-multiselect-btn{border:1px solid var(--border);background:var(--bg-card);min-width:130px;color:var(--text-primary);cursor:pointer;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:5px 10px;font-family:inherit;font-size:11px;display:flex}.dashboard-multiselect-btn:hover{border-color:var(--border-hover)}.dashboard-multiselect-caret{color:var(--text-muted);font-size:9px}.dashboard-multiselect-menu{z-index:50;background:var(--bg-elevated);border:1px solid var(--border);min-width:210px;max-height:340px;box-shadow:0 8px 24px var(--shadow-color-strong);border-radius:8px;padding:6px;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto}.dashboard-multiselect-clear{text-align:left;border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;margin-bottom:4px;padding:6px 8px;font-family:inherit;font-size:11px}.dashboard-multiselect-clear:hover:not(:disabled){color:var(--text-primary)}.dashboard-multiselect-clear:disabled{opacity:.4;cursor:default}.dashboard-multiselect-group{padding:2px 0}.dashboard-multiselect-group-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:6px 8px 2px;font-size:9px}.dashboard-multiselect-option{cursor:pointer;color:var(--text-primary);border-radius:5px;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:flex}.dashboard-multiselect-option:hover{background:var(--bg-card)}.dashboard-multiselect-option input{cursor:pointer;accent-color:var(--accent);margin:0}@media (max-width:768px){body{zoom:1}.app{min-height:100vh}.app-nav{flex-wrap:wrap;gap:6px 10px;height:auto;min-height:0;padding:8px 10px}.app-nav-user{order:3;width:100%}}.mobile-schedule{max-width:720px;margin:0 auto;padding:8px 10px 80px}.ms-filter-bar{z-index:5;background:var(--bg-primary);border-bottom:1px solid var(--border,#2a2a2a);align-items:center;gap:8px;margin-bottom:4px;padding:8px 2px;display:flex;position:sticky;top:0}.ms-filter-label{color:var(--text-muted,#9aa3b2);font-size:12px}.ms-filter-select,.ms-field-input{background:var(--bg-card,#1f242e);min-height:40px;color:var(--text-primary,#e5e5e5);border:1px solid var(--border,#3a3a3a);border-radius:8px;flex:1;padding:8px 10px;font-size:15px}.ms-empty{color:var(--text-muted,#9aa3b2);text-align:center;padding:40px 0;font-size:14px}.ms-day{margin-bottom:6px}.ms-day-header{z-index:4;color:var(--text-primary,#e5e5e5);background:var(--bg-primary);justify-content:space-between;align-items:baseline;gap:8px;margin:10px 0 4px;padding:4px 2px;font-size:13px;font-weight:700;display:flex;position:sticky;top:52px}.ms-day-header.is-today{color:var(--accent-blue,#3b82f6)}.ms-day-note{color:var(--accent-blue,#3b82f6);font-size:11px;font-weight:600}.ms-card{text-align:left;background:var(--bg-card,#1f242e);border:1px solid var(--border,#2a2a2a);cursor:pointer;border-radius:10px;align-items:stretch;gap:0;width:100%;margin-bottom:6px;padding:0;display:flex;overflow:hidden}.ms-card:active{background:var(--bg-elevated,#262b36)}.ms-card-bar{border-radius:3px 0 0 3px;flex:0 0 5px;width:5px}.ms-card-body{flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.ms-card-desc{color:var(--text-primary,#e5e5e5);font-size:14px;font-weight:600;line-height:1.3}.ms-card-meta{color:var(--text-muted,#9aa3b2);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.ms-tentative{text-transform:uppercase;letter-spacing:.03em;color:#fb7185;border:1px solid #fb7185;border-radius:4px;padding:0 4px;font-size:10px;font-weight:700}.ms-sheet-backdrop{z-index:200;background:#0000008c;align-items:flex-end;display:flex;position:fixed;inset:0}.ms-sheet{background:var(--bg-elevated,#1f2430);width:100%;max-height:85vh;padding:14px 16px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px var(--shadow-color-strong);border-radius:16px 16px 0 0;overflow-y:auto}.ms-sheet-head{align-items:center;gap:8px;margin-bottom:12px;display:flex}.ms-sheet-title{color:var(--text-primary,#e5e5e5);flex:1;font-size:15px;line-height:1.3}.ms-sheet-close{color:var(--text-muted,#9aa3b2);cursor:pointer;background:0 0;border:none;padding:4px}.ms-field-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#9aa3b2);margin:12px 0 4px;font-size:11px;font-weight:700;display:block}.ms-status-toggle{gap:8px;display:flex}.ms-status-btn{cursor:pointer;background:var(--bg-card,#1f242e);min-height:40px;color:var(--text-muted,#9aa3b2);border:1px solid var(--border,#3a3a3a);border-radius:8px;flex:1;font-size:14px;font-weight:600}.ms-status-btn.active{background:var(--accent-blue,#3b82f6);color:#fff;border-color:var(--accent-blue,#3b82f6)}.ms-status-btn-tentative.active{background:var(--activity-red,#ef4444);border-color:var(--activity-red,#ef4444)}.ms-status-btn:disabled,.ms-field-input:disabled{opacity:.55;cursor:not-allowed}.ms-readonly-note{color:var(--text-muted,#9aa3b2);margin-top:12px;font-size:12px}.ms-sheet-actions{gap:8px;margin-top:18px;display:flex}.ms-sheet-save{cursor:pointer;background:var(--accent-blue,#3b82f6);color:#fff;border:none;border-radius:8px;flex:1;min-height:44px;font-size:15px;font-weight:600}.ms-sheet-delete{cursor:pointer;color:#fb7185;background:0 0;border:1px solid #fb7185;border-radius:8px;min-height:44px;padding:0 16px;font-size:14px;font-weight:600}@media (max-width:768px){.dashboard-tab{gap:12px;padding:10px}.dashboard-tab .schedule-controls{flex-direction:column;align-items:stretch}.dashboard-tab .schedule-controls-left,.dashboard-tab .schedule-controls-right{width:100%}.dashboard-chart-card{padding:8px}.dashboard-chart-head{flex-wrap:wrap;gap:6px}.users-tab{padding:10px 12px 80px}.users-tab-header{flex-wrap:wrap;gap:8px}.users-filter-bar{flex-direction:column;align-items:stretch;gap:8px}.users-roles-table{white-space:nowrap;display:block;overflow-x:auto}}.users-cards{flex-direction:column;gap:8px;margin-top:4px;display:flex}.users-card{background:var(--bg-card,#1f242e);border:1px solid var(--border,#2a2a2a);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.users-card-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.users-card-name{color:var(--text-primary,#e5e5e5);flex-wrap:wrap;align-items:center;font-size:14px;font-weight:600;display:flex}.users-card-sub{color:var(--text-muted,#9aa3b2);word-break:break-all;font-size:12px}.users-card-tags{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.users-card-loc{color:var(--text-muted,#9aa3b2);font-size:12px}.users-card-edit{cursor:pointer;background:var(--bg-elevated,#262b36);border:1px solid var(--border,#3a3a3a);width:38px;height:38px;color:var(--text-muted,#9aa3b2);border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.map-tab{flex-direction:column;height:calc(125vh - 56px);display:flex}.map-controls{border-bottom:1px solid var(--border,#2a2a2a);background:var(--bg-primary);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex}.map-control{align-items:center;gap:6px;display:flex}.map-control label{color:var(--text-muted,#9aa3b2);font-size:12px}.map-control input,.map-control select{background:var(--bg-card,#1f242e);min-height:32px;color:var(--text-primary,#e5e5e5);border:1px solid var(--border,#3a3a3a);border-radius:6px;padding:4px 8px;font-size:13px}.map-person-select{position:relative}.map-person-trigger{background:var(--bg-card,#1f242e);min-height:32px;color:var(--text-primary,#e5e5e5);border:1px solid var(--border,#3a3a3a);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-width:130px;padding:4px 8px;font-size:13px;display:flex}.map-person-trigger:hover{border-color:var(--accent,#60a5fa)}.map-person-caret{color:var(--text-muted,#9aa3b2);font-size:10px}.map-person-backdrop{z-index:999;position:fixed;inset:0}.map-person-menu{z-index:1000;background:var(--bg-card,#1f242e);border:1px solid var(--border,#3a3a43);min-width:200px;max-height:320px;box-shadow:0 8px 28px var(--shadow-color-strong);border-radius:8px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.map-person-opt{text-align:left;width:100%;color:var(--text-primary,#e5e5e5);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;align-items:center;gap:4px;padding:6px 8px;font-size:13px;display:flex}.map-person-opt:hover{background:var(--bg-elevated,#94a3b81f)}.map-person-opt.active{color:#60a5fa;font-weight:600}.map-person-check{color:#60a5fa;width:14px;display:inline-block}.map-person-sep{background:var(--border,#3a3a43);height:1px;margin:4px 2px}.map-person-clear{text-align:left;width:100%;color:var(--text-muted,#9aa3b2);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:6px 8px;font-size:12px}.map-person-clear:hover{color:var(--text-primary,#e5e5e5);background:var(--bg-elevated,#94a3b81f)}.map-count{color:var(--text-muted,#9aa3b2);margin-left:auto;font-size:12px}.map-body{flex:1;min-height:0;display:flex}.map-sidebar{border-right:1px solid var(--border);background:var(--bg-card);flex-direction:column;flex:0 0 340px;width:340px;min-height:0;display:flex;overflow-y:auto}.map-sidebar-collapse{text-align:left;cursor:pointer;width:100%;color:var(--text-muted);background:var(--bg-card);border:none;border-bottom:1px solid var(--border);padding:6px 14px;font-size:11px;font-weight:600}.map-sidebar-collapse:hover{color:var(--accent)}.map-sidebar-expand{cursor:pointer;border:none;border-right:1px solid var(--border);background:var(--bg-card);width:22px;color:var(--text-muted);flex:none;font-size:16px;font-weight:700}.map-sidebar-expand:hover{color:var(--accent);background:var(--bg-elevated)}.map-sidebar-section{border-bottom:1px solid var(--border)}.map-sidebar-head{width:100%;color:var(--text-primary);background:var(--bg-elevated);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:700;display:flex}.map-sidebar-head:hover{color:var(--accent)}.map-sidebar-chevron{color:var(--text-muted);font-size:11px}.map-sidebar-list{flex-direction:column;gap:6px;padding:8px 12px;display:flex}.map-canvas{flex:1;min-width:0;min-height:0;position:relative}.event-map{width:100%;height:100%}.map-loading,.map-empty{height:100%;color:var(--text-muted,#9aa3b2);text-align:center;justify-content:center;align-items:center;padding:20px;font-size:14px;display:flex}.event-map .gm-style-iw-c{color:var(--text-primary);border:1px solid var(--border);background:var(--bg-card)!important;box-shadow:0 12px 40px var(--shadow-color-strong)!important;border-radius:10px!important;padding:0!important}.event-map .gm-style-iw-d{background:var(--bg-card);color:var(--text-primary);padding:10px 14px 12px;max-height:none!important;overflow:auto!important}.event-map .gm-style-iw-tc:after,.event-map .gm-style-iw-t:after{background:var(--bg-card)!important}.event-map .gm-style-iw-ch{height:0!important;min-height:0!important;padding:0!important}.event-map .gm-ui-hover-effect>span{background-color:var(--text-secondary)!important}.event-map .gm-style-iw-c .gm-ui-hover-effect{top:2px!important;right:2px!important}.map-popup{min-width:180px;max-width:240px;font-size:12px;position:relative}.map-popup-close{cursor:pointer;width:20px;height:20px;color:var(--text-muted,#9aa3b2);background:0 0;border:none;border-radius:4px;padding:0;font-size:17px;font-weight:600;line-height:18px;position:absolute;top:-2px;right:-4px}.map-popup-close:hover{color:var(--text-primary);background:#94a3b82e}.map-popup-title{color:var(--text-primary);margin-bottom:6px;padding-right:18px;font-size:13px;font-weight:700}.map-popup-row{justify-content:space-between;gap:10px;line-height:1.55;display:flex}.map-popup-row span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.map-popup-row b{color:var(--text-primary);font-weight:600}.map-popup-addr{border-top:1px solid var(--border);color:var(--text-secondary);margin-top:6px;padding-top:6px;font-size:11px}.map-popup-jira{color:#60a5fa;margin-top:8px;font-size:11px;font-weight:600;text-decoration:none;display:inline-block}.map-popup-jira:hover{text-decoration:underline}.map-popup-geo{margin-top:5px;font-size:10px}.map-popup-geo.geo-address{color:#4ade80}.map-popup-geo.geo-city{color:#facc15}.map-popup-geo.geo-state{color:#f87171}.map-popup-precision{font-size:10px;font-weight:600}.map-popup-precision.geo-address{color:#4ade80}.map-popup-precision.geo-city{color:#facc15}.map-popup-precision.geo-state{color:#f87171}.map-route-chip{z-index:2;position:absolute;transform:translate(-50%,-50%)}.map-route-chip:hover{z-index:6}.map-route-date-box{color:#fff;white-space:nowrap;cursor:default;box-shadow:0 1px 3px var(--shadow-color-strong);background:#0f172adb;border:1px solid #0000;border-radius:5px;padding:1px 5px;font-size:10px;font-weight:700;display:inline-block}.map-route-chip.is-hover .map-route-date-box{color:#1f2937;background:#f59e0b;border-color:#fbbf24}.map-route-tip{color:#e5e7eb;white-space:nowrap;pointer-events:none;box-shadow:0 4px 16px var(--shadow-color-strong);opacity:0;visibility:hidden;background:#0f172a;border:1px solid #94a3b840;border-radius:6px;padding:6px 9px;font-size:11px;font-weight:500;line-height:1.3;transition:opacity .1s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.map-route-chip:hover .map-route-tip{opacity:1;visibility:visible}.map-unplaced-btn{cursor:pointer;color:#fb7185;background:#fb71851f;border:1px solid #fb718566;border-radius:6px;margin-left:12px;padding:2px 8px;font-size:11px;font-weight:600}.map-unplaced-list{border-bottom:1px solid var(--border,#2a2a2a);background:var(--bg-card,#1f242e);max-height:30vh;padding:8px 16px;font-size:12px;overflow-y:auto}.map-unplaced-head{color:var(--text-muted,#9aa3b2);margin-bottom:6px;font-size:11px;font-weight:700}.map-unplaced-row{border-bottom:1px solid var(--border);color:var(--text-primary,#e5e5e5);flex-direction:column;gap:3px;padding:6px 0;display:flex}.map-unplaced-row:last-child{border-bottom:none}.map-unplaced-label{font-size:11px;line-height:1.35}.map-unplaced-reason{color:#fb7185;font-size:10px}.map-unplaced-set{gap:4px;margin-top:2px;display:flex}.map-unplaced-input{border:1px solid var(--border);background:var(--bg-elevated);min-width:0;color:var(--text-primary);border-radius:6px;flex:1;padding:3px 8px;font-size:11px}.map-unplaced-input:focus{border-color:var(--accent);outline:none}.map-unplaced-save{cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:600}.map-unplaced-save:disabled{opacity:.4;cursor:default}.map-trips-btn{cursor:pointer;color:var(--accent);background:#60a5fa1f;border:1px solid #60a5fa66;border-radius:6px;margin-left:10px;padding:2px 8px;font-size:11px;font-weight:600}.map-trips-list{border-bottom:1px solid var(--border);background:var(--bg-card);flex-direction:column;gap:6px;max-height:34vh;padding:8px 16px;font-size:12px;display:flex;overflow-y:auto}.map-trips-head{color:var(--text-muted);font-size:11px;font-weight:700}.map-trip-card{border:1px solid var(--border);background:var(--bg-elevated);border-left-width:3px;border-radius:8px;padding:8px 10px}.map-trip-card.trip-homebase{border-left-color:#4ade80}.map-trip-card.trip-batch{border-left-color:#facc15}.map-trip-card.trip-area{border-left-color:var(--accent)}.map-range-quick{cursor:pointer;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);white-space:nowrap;border-radius:6px;margin-left:8px;padding:4px 10px;font-size:11px;font-weight:600}.map-range-quick:hover{border-color:var(--accent);color:var(--accent)}.map-search{align-items:center;gap:4px;display:flex}.map-search-input{border:1px solid var(--border);background:var(--bg-elevated);width:220px;color:var(--text-primary);border-radius:6px;padding:5px 10px;font-size:12px}.map-search-input::placeholder{color:var(--text-muted)}.map-search-input:focus{border-color:var(--accent);outline:none}.map-search-go{cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600}.map-search-go:disabled{opacity:.4;cursor:default}.map-toggle-btn{cursor:pointer;white-space:nowrap;border:1px solid var(--border,#3a3a43);background:var(--bg-elevated,#1a1f29);color:var(--text-muted,#9aa3b2);border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600}.map-toggle-btn.active{color:#60a5fa;background:#2563eb29;border-color:#2563eb}.map-toggle-btn:hover{color:var(--text-primary,#e5e5e5)}.map-miles{color:#60a5fa;white-space:nowrap;cursor:default;margin-left:8px;font-size:12px;font-weight:600}.map-search-clear{cursor:pointer;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);border-radius:6px;padding:4px 8px;font-size:12px}.map-trip-title{color:var(--text-primary);margin-bottom:3px;font-size:11.5px;font-weight:600;line-height:1.35}.map-trip-events{flex-direction:column;gap:2px;display:flex}.map-trip-event{color:var(--text-secondary);font-size:10.5px;line-height:1.35}.map-trip-event a{color:#60a5fa;font-weight:600;text-decoration:none}.map-trip-event a:hover{text-decoration:underline}@media (max-width:768px){.map-tab{height:calc(100vh - 104px)}}.schedule-popover-ticketfields{border-top:1px dashed var(--border,#3a3a3a);margin-top:8px;padding-top:6px}.schedule-popover-ticketfields-head{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted,#9aa3b2);margin-bottom:4px;font-size:10px;font-weight:700}.schedule-sidebar-modes{z-index:3;background:var(--bg-secondary,#26262b);gap:4px;padding:8px 8px 4px;display:flex;position:sticky;top:0}.schedule-sidebar-mode{font:inherit;letter-spacing:.02em;color:var(--text-muted,#888);border:1px solid var(--border,#3a3a43);cursor:pointer;background:0 0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:5px;padding:5px 8px;font-size:11px;font-weight:600;display:inline-flex}.schedule-sidebar-mode:hover{color:var(--text-secondary,#9aa3b2)}.schedule-sidebar-mode.active{color:var(--text-primary,#eee);background:var(--bg-tertiary,#ffffff0f);border-color:var(--text-muted,#888)}.schedule-triage-count{text-align:center;color:#fff;background:#ef4444;border-radius:8px;min-width:15px;padding:0 4px;font-size:9px;font-weight:700;line-height:15px}.schedule-triage-card{border:1px solid var(--border,#3a3a43);border-left:3px solid var(--text-muted,#888);background:var(--bg-tertiary,#ffffff08);cursor:pointer;border-radius:6px;margin:0 8px 6px;padding:7px 9px}.schedule-triage-card:hover{border-color:var(--text-muted,#888)}.schedule-triage-card[draggable=true]{cursor:grab}.schedule-triage-card[draggable=true]:active{cursor:grabbing}.schedule-triage-card.urgency-high{border-left-color:#ef4444}.schedule-triage-card.urgency-medium{border-left-color:#f97316}.schedule-triage-card.urgency-low{border-left-color:#6b7280}.schedule-triage-card-head{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.schedule-triage-customer{color:var(--text-primary,#eee);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.schedule-triage-urgency{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:8px;font-weight:700}.schedule-triage-urgency.u-high{color:#ef4444;background:#ef44442e}.schedule-triage-urgency.u-medium{color:#f97316;background:#f973162e}.schedule-triage-urgency.u-low{color:#9ca3af;background:#6b728033}.schedule-triage-worktype{color:var(--text-secondary,#9aa3b2);margin-top:2px;font-size:10px}.schedule-triage-meta{color:var(--text-muted,#888);flex-wrap:wrap;gap:6px;margin-top:3px;font-size:9px;display:flex}.schedule-triage-product{text-transform:uppercase;letter-spacing:.04em}.schedule-triage-actions{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.schedule-triage-btn{font:inherit;color:var(--text-secondary,#9aa3b2);border:1px solid var(--border,#3a3a43);cursor:pointer;background:0 0;border-radius:4px;padding:3px 7px;font-size:10px;font-weight:600}.schedule-triage-btn:hover:not(:disabled){color:var(--text-primary,#eee);border-color:var(--text-muted,#888)}.schedule-triage-btn:disabled{opacity:.45;cursor:not-allowed}.schedule-triage-btn.subtle{color:var(--text-muted,#888)}.schedule-triage-btn.primary{color:#22c55e;background:#22c55e1a;border-color:#22c55e66}.schedule-triage-btn.danger{color:#ef4444;background:#ef44441a;border-color:#ef444466}.schedule-triage-readonly{color:var(--text-muted,#888);border:1px dashed var(--border,#3a3a43);border-radius:6px;margin:4px 8px 8px;padding:7px 9px;font-size:10px;line-height:1.45}.schedule-triage-overlay{z-index:60;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.schedule-triage-modal{background:var(--bg-secondary,#26262b);border:1px solid var(--border,#3a3a43);border-radius:10px;flex-direction:column;width:min(560px,100%);max-height:calc(100vh - 48px);display:flex;box-shadow:0 18px 48px #00000080}.schedule-triage-modal.narrow{width:min(400px,100%)}.schedule-triage-modal-head{border-bottom:1px solid var(--border,#3a3a43);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 10px;display:flex}.schedule-triage-modal-title{color:var(--text-primary,#eee);font-size:14px;font-weight:700}.schedule-triage-modal-sub{color:var(--text-secondary,#9aa3b2);align-items:center;gap:7px;margin-top:3px;font-size:11px;display:flex}.schedule-triage-modal-body{padding:12px 16px;overflow-y:auto}.schedule-triage-fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px 14px;margin-bottom:12px;display:grid}.schedule-triage-fields>div{flex-direction:column;gap:1px;display:flex}.schedule-triage-fields span{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#888);font-size:9px}.schedule-triage-fields strong{color:var(--text-primary,#eee);font-size:12px;font-weight:600}.schedule-triage-desc,.schedule-triage-thread{color:var(--text-primary,#eee);background:var(--bg-tertiary,#ffffff0a);white-space:pre-wrap;border-radius:6px;padding:8px 10px;font-size:12px;line-height:1.5}.schedule-triage-thread{color:var(--text-secondary,#9aa3b2);font-size:11px}.schedule-triage-slacklink{color:var(--accent-blue,#3b82f6);margin-top:10px;font-size:11px;display:inline-block}.schedule-triage-hint{color:var(--text-muted,#888);margin:0 0 10px;font-size:11px;line-height:1.5}.schedule-triage-modal-actions{border-top:1px solid var(--border,#3a3a43);justify-content:flex-end;gap:6px;padding:10px 16px 14px;display:flex}.schedule-pipeline-toggle.static{cursor:default}
