@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}*,: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:#3b82f6;--activity-green:#22c55e;--activity-yellow:#eab308;--activity-purple:#a855f7;--activity-cyan:#06b6d4;--activity-gray:#94a3b8;--activity-red:#ef4444;--activity-white:#e2e8f0;--activity-orange:#f97316;--activity-bluegray:#64748b;--activity-powderblue:#a8ccf5;--activity-pink:#ec4899}.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-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-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:block}.member-location{color:var(--text-muted);font-size:8px;font-weight:400;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:9px;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-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:8px;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-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:center;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;width:100%;padding-right:14px;display:block}.schedule-fill-block .schedule-pill-jira-icon{color:inherit;opacity:.85;line-height:0;position:absolute;top:2px;right:2px}.schedule-pill{cursor:grab;border-radius:3px;flex-direction:column;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;font-size:8px}.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:#ccd2db;border:1px solid #b3bbc6}.schedule-pill-orange{color:#532809;background:#f5ad6e;border:1px solid #e8924b}.schedule-pill-bluegray{color:#1e2733;background:#a6b2c4;border:1px solid #8b99ae}.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-popover{z-index:500;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;width:280px;overflow:hidden;box-shadow:0 12px 40px #00000080}.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-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-textarea{resize:none;min-height:32px;max-height:120px;font-family:inherit;line-height:1.4;overflow-y:auto}.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);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.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-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}.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}.enablement-add-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 2px;display:flex}.enablement-add-btn:hover{color:var(--text-primary)}.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;padding:5px 8px;font-size:11px;font-weight:600}.lanes-menu-btn:hover{color:var(--text-primary)}.lanes-menu-dropdown{z-index:30;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;min-width:200px;margin-top:4px;padding:6px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0000004d}.lanes-menu-title{color:var(--text-muted);padding:2px 6px 6px;font-size:10px}.lanes-menu-option{color:var(--text-primary);cursor:pointer;border-radius:5px;align-items:center;gap:8px;padding:5px 6px;font-size:12px;display:flex}.lanes-menu-option:hover,.schedule-stage-header{background:var(--bg-elevated)}.schedule-stage-cell{border-right:1px solid var(--border);background:#4755690f}.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-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}.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}.app-toast{z-index:1000;cursor:pointer;border-radius:8px;max-width:460px;padding:10px 16px;font-size:13px;font-weight:500;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000059}.app-toast-error{color:#fee2e2;background:#7f1d1d;border:1px solid #b91c1c}.app-toast-info{color:#dbeafe;background:#1e3a5f;border:1px solid #3b82f6}.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-empty{color:var(--text-muted);opacity:.5;padding:4px 0;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-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-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:1200px;margin:0 auto;padding:24px 32px}.users-tab-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.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-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);border-radius:8px;overflow:hidden}.users-table{border-collapse:collapse;width:100%;font-size:13px}.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:10px 16px;font-size:10px;font-weight:600}.users-row td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 16px}.users-row:last-child td{border-bottom:none}.users-row:hover{background:#ffffff04}.users-row-editing,.users-row-adding{background:#0070f30a}.users-name{color:var(--text-primary);font-weight:500}.users-email{color:var(--text-secondary);font-family:ui-monospace,monospace;font-size:12px}.users-email-missing{color:var(--text-muted);font-family:inherit}.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;width:80px}.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-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);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%);box-shadow:0 6px 18px #0006}.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-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-empty{text-align:center;color:var(--text-muted);padding:60px;font-size:13px}.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);border-radius:8px;min-width:210px;max-height:340px;padding:6px;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00000073}.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));border-radius:16px 16px 0 0;overflow-y:auto;box-shadow:0 -8px 30px #0006}.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-count{color:var(--text-muted,#9aa3b2);margin-left:auto;font-size:12px}.map-canvas{flex:1;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}.map-popup{min-width:180px;max-width:240px;font-size:12px}.map-popup-title{margin-bottom:5px;font-size:13px;font-weight:700}.map-popup-row{justify-content:space-between;gap:10px;line-height:1.5;display:flex}.map-popup-row span{color:#6b7280}.map-popup-addr{color:#6b7280;margin-top:5px;font-size:11px}.map-popup-jira{color:#2563eb;margin-top:6px;font-size:11px;font-weight:600;text-decoration:none;display:inline-block}.map-popup-geo{margin-top:5px;font-size:10px}.map-popup-geo.geo-address{color:#16a34a}.map-popup-geo.geo-city{color:#ca8a04}.map-popup-geo.geo-state{color:#dc2626}.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{color:var(--text-primary,#e5e5e5);justify-content:space-between;gap:12px;padding:3px 0;display:flex}.map-unplaced-reason{color:#fb7185;white-space:nowrap}@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}
