1/* Compact Calendar Plugin - Sleek Design */ 2 3/* Main container: Responsive with flexible sizing */ 4.calendar-compact-container { 5 display: flex; 6 width: 100%; 7 max-width: 1200px; 8 min-width: 320px; 9 height: 600px; 10 max-height: 90vh; 11 background-color: var(--background-site, #ffffff); 12 border: 1px solid var(--border-color, #d0d0d0); 13 border-radius: 4px; 14 box-shadow: 0 2px 4px rgba(0,0,0,0.06); 15 overflow: hidden; 16 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; 17 font-size: 12px; 18} 19 20/* Dark theme borders - match sidebar widget style */ 21.calendar-theme-matrix.calendar-compact-container { 22 border: 2px solid var(--border-main, #00cc07); 23 box-shadow: 0 0 10px var(--shadow-color, rgba(0, 204, 7, 0.3)); 24} 25 26.calendar-theme-purple.calendar-compact-container { 27 border: 2px solid var(--border-main, #9b59b6); 28 box-shadow: 0 0 10px var(--shadow-color, rgba(155, 89, 182, 0.3)); 29} 30 31.calendar-theme-pink.calendar-compact-container { 32 border: 2px solid var(--border-main, #ff1493); 33 box-shadow: 0 0 10px var(--shadow-color, rgba(255, 20, 147, 0.4)); 34} 35 36/* Mobile responsive */ 37@media (max-width: 768px) { 38 .calendar-compact-container { 39 flex-direction: column; 40 height: auto; 41 min-height: 400px; 42 max-height: none; 43 } 44 45 .calendar-compact-left { 46 width: 100% !important; 47 min-width: 100% !important; 48 border-right: none !important; 49 border-bottom: 1px solid var(--border-color, #e0e0e0); 50 height: auto; 51 min-height: 300px; 52 } 53 54 .calendar-compact-right { 55 width: 100% !important; 56 min-width: 100% !important; 57 max-height: 400px; 58 } 59} 60 61/* Tablet responsive */ 62@media (max-width: 1024px) and (min-width: 769px) { 63 .calendar-compact-container { 64 max-width: 100%; 65 } 66 67 .calendar-compact-left { 68 width: 60% !important; 69 min-width: 400px; 70 } 71 72 .calendar-compact-right { 73 width: 40% !important; 74 min-width: 250px; 75 } 76} 77 78/* Small screens */ 79@media (max-width: 600px) { 80 .calendar-compact-container { 81 font-size: 11px; 82 height: auto; 83 max-height: none; 84 } 85} 86 87/* Left side: Calendar - FLEXIBLE */ 88.calendar-compact-left { 89 flex: 1; 90 min-width: 400px; 91 border-right: 1px solid var(--border-color, #e0e0e0); 92 display: flex; 93 flex-direction: column; 94 background: var(--background-site); 95 overflow: hidden; 96} 97 98/* Right side: Event list - FLEXIBLE */ 99.calendar-compact-right { 100 flex: 0 0 300px; 101 min-width: 250px; 102 max-width: 400px; 103 display: flex; 104 flex-direction: column; 105 background: var(--background-site); 106 overflow: hidden; 107} 108 109/* Calendar header - COMPACT */ 110.calendar-compact-header { 111 display: flex; 112 align-items: center; 113 gap: 12px; 114 padding: 8px 12px; 115 background: var(--background-header); 116 color: var(--text-primary); 117 border-bottom: 1px solid var(--border-color, #e0e0e0); 118} 119 120/* Namespace filter indicator at top of calendar */ 121.calendar-namespace-filter { 122 display: flex; 123 align-items: center; 124 gap: 6px; 125 padding: 6px 10px; 126 background: var(--cell-today-bg, #e8f5e9); 127 border: 1px solid var(--border-main, #81c784); 128 border-radius: 4px; 129 margin: 8px 12px 0 12px; 130 font-size: 11px; 131} 132 133.namespace-filter-label { 134 color: var(--text-bright, #2e7d32); 135 font-weight: 600; 136} 137 138.namespace-filter-name { 139 background: var(--text-bright, #00cc07); 140 color: var(--background-site, white); 141 padding: 2px 6px; 142 border-radius: 3px; 143 font-weight: 500; 144 font-family: monospace; 145 font-size: 10px; 146} 147 148.namespace-filter-clear { 149 background: none; 150 border: none; 151 color: var(--text-bright, #00cc07); 152 cursor: pointer; 153 font-size: 16px; 154 padding: 0; 155 width: 20px; 156 height: 20px; 157 display: flex; 158 align-items: center; 159 justify-content: center; 160 border-radius: 3px; 161 margin-left: auto; 162 transition: background 0.2s; 163} 164 165.namespace-filter-clear:hover { 166 background: var(--cell-today-bg, rgba(0, 204, 7, 0.1)); 167} 168 169.namespace-filter-badge { 170 position: relative; 171 padding-right: 24px !important; 172} 173 174.filter-clear-inline { 175 position: absolute; 176 right: 4px; 177 top: 50%; 178 transform: translateY(-50%); 179 background: none; 180 border: none; 181 color: var(--text-dim, #999); 182 cursor: pointer; 183 font-size: 12px; 184 padding: 0; 185 width: 16px; 186 height: 16px; 187 border-radius: 50%; 188 display: flex; 189 align-items: center; 190 justify-content: center; 191 transition: all 0.15s; 192 line-height: 1; 193} 194 195.filter-clear-inline:hover { 196 background: var(--cell-bg, rgba(211, 47, 47, 0.1)); 197 color: var(--text-bright, #d32f2f); 198} 199 200.calendar-compact-header h3 { 201 margin: 0; 202 font-size: 14px; 203 font-weight: 600; 204 color: var(--text-primary, #2c3e50); 205 flex: 1; 206 text-align: center; 207} 208 209.calendar-month-picker { 210 cursor: pointer; 211 user-select: none; 212 transition: all 0.15s; 213 padding: 4px 8px; 214 border-radius: 4px; 215} 216 217.calendar-month-picker:hover { 218 background: var(--cell-today-bg, #f0f0f0); 219 color: var(--text-bright, #008800); 220 box-shadow: 0 0 3px var(--shadow-color, rgba(0,0,0,0.1)); 221} 222 223.month-picker-overlay { 224 position: fixed; 225 top: 0; 226 left: 0; 227 right: 0; 228 bottom: 0; 229 background: rgba(0, 0, 0, 0.5); 230 display: flex; 231 align-items: center; 232 justify-content: center; 233 z-index: 10000; 234} 235 236.month-picker-dialog { 237 background: var(--background-site, white); 238 border-radius: 8px; 239 padding: 20px; 240 box-shadow: 0 4px 20px var(--shadow-color, rgba(0, 0, 0, 0.3)); 241 min-width: 300px; 242 border: 1px solid var(--border-main, transparent); 243} 244 245.month-picker-dialog h4 { 246 margin: 0 0 16px 0; 247 font-size: 16px; 248 font-weight: 600; 249 color: var(--text-primary, #2c3e50); 250} 251 252.month-picker-selects { 253 display: flex; 254 gap: 12px; 255 margin-bottom: 16px; 256} 257 258.month-picker-select { 259 flex: 1; 260 padding: 8px 12px; 261 border: 1px solid var(--border-color, #d0d0d0); 262 border-radius: 4px; 263 font-size: 14px; 264 background: var(--cell-bg, white); 265 color: var(--text-primary, #333); 266 cursor: pointer; 267} 268 269.month-picker-select:focus { 270 outline: none; 271 border-color: var(--text-bright, #008800); 272 box-shadow: 0 0 0 2px var(--shadow-color, rgba(0, 136, 0, 0.1)); 273} 274 275.month-picker-actions { 276 display: flex; 277 gap: 8px; 278 justify-content: flex-end; 279} 280 281.cal-nav-btn { 282 background: var(--border-main); 283 border: 1px solid var(--border-color); 284 color: var(--background-site); 285 width: 28px; 286 height: 28px; 287 border-radius: 4px; 288 cursor: pointer; 289 font-size: 16px; 290 transition: all 0.15s; 291 padding: 0; 292 display: flex; 293 align-items: center; 294 justify-content: center; 295} 296 297.cal-nav-btn:hover { 298 filter: brightness(1.3); 299 box-shadow: 0 0 6px var(--shadow-color, rgba(0,0,0,0.3)); 300 transform: scale(1.08); 301} 302 303.cal-nav-btn:active { 304 filter: brightness(0.85); 305 transform: scale(0.95); 306 box-shadow: none; 307} 308 309.cal-today-btn { 310 background: var(--border-main); 311 border: 1px solid var(--border-color); 312 color: var(--background-site); 313 font-size: 11px; 314 font-weight: 600; 315 padding: 4px 10px; 316 border-radius: 4px; 317 cursor: pointer; 318 transition: all 0.15s; 319} 320 321.cal-today-btn:hover { 322 filter: brightness(1.3); 323 box-shadow: 0 0 6px var(--shadow-color, rgba(0,0,0,0.3)); 324 transform: scale(1.08); 325} 326 327.cal-today-btn:active { 328 filter: brightness(0.85); 329 transform: scale(0.95); 330 box-shadow: none; 331} 332 333/* Calendar grid - Excel-like sizing - RESPONSIVE */ 334.calendar-compact-grid { 335 width: 100%; 336 border-collapse: collapse; 337 table-layout: fixed; 338 flex: 1; 339 margin: 0 !important; 340 padding: 0; 341} 342 343/* Day name headers (SMTWTFS) - rendered as a separate grid div above the table 344 to avoid Firefox table-cell height issues where th matches td height */ 345.calendar-day-headers { 346 display: grid; 347 grid-template-columns: repeat(7, 1fr); 348 background: var(--background-header); 349 border-bottom: 1px solid var(--border-color, #d0d0d0); 350 margin: 0; 351 padding: 0; 352} 353 354.calendar-day-headers span { 355 height: 22px; 356 line-height: 22px; 357 font-size: 10px; 358 font-weight: 600; 359 text-align: center; 360 color: var(--text-primary); 361 border-right: 1px solid var(--border-color, #e8e8e8); 362 box-sizing: border-box; 363} 364 365.calendar-day-headers span:last-child { 366 border-right: none; 367} 368 369.calendar-compact-grid tbody td { 370 height: 58px; 371 min-height: 40px; 372 border: 1px solid var(--border-color, #e8e8e8); 373 border-top: none; 374 border-left: none; 375 background-color: var(--background-site); /* Use scoped CSS var from PHP */ 376 color: var(--text-primary); 377 cursor: pointer; 378 padding: 3px; 379 position: relative; 380 vertical-align: top; 381 transition: background 0.1s; 382} 383 384/* Smaller cells on mobile */ 385@media (max-width: 600px) { 386 .calendar-compact-grid tbody td { 387 height: 45px; 388 min-height: 35px; 389 padding: 2px; 390 } 391 392 .calendar-day-headers span { 393 height: 18px; 394 line-height: 18px; 395 font-size: 9px; 396 } 397} 398 399.calendar-compact-grid tbody td:first-child { 400 border-left: 1px solid var(--border-color, #e8e8e8); 401} 402 403.calendar-compact-grid tbody td:hover { 404 background-color: var(--background-alt); /* Hover state uses scoped var */ 405} 406 407.cal-empty { 408 background: var(--background-site); 409 cursor: default !important; 410} 411 412.cal-empty:hover { 413 background: var(--background-site); 414} 415 416.cal-day { 417 cursor: pointer; 418 transition: background 0.15s, box-shadow 0.15s; 419} 420 421.cal-day:hover { 422 background: var(--cell-today-bg) !important; 423 box-shadow: inset 0 0 0 1px var(--border-main, rgba(0,0,0,0.1)); 424} 425 426.cal-today { 427 background: var(--cell-today-bg); 428} 429 430.cal-today:hover { 431 box-shadow: inset 0 0 0 2px var(--border-main, rgba(0,0,0,0.15)); 432} 433 434.cal-has-events { 435 /* background removed - set via inline style with template colors */ 436} 437 438.cal-has-events:hover { 439 /* background removed - inline style handles this */ 440} 441 442.day-num { 443 display: inline-block; 444 font-size: 11px; 445 font-weight: 500; 446 color: var(--text-primary, #333); 447 padding: 1px 3px; 448} 449 450.cal-today .day-num, 451.day-num-today { 452 background: var(--border-main, #008800); 453 color: var(--background-site, white) !important; 454 border-radius: 50%; 455 font-weight: 700; 456 width: 20px; 457 height: 20px; 458 line-height: 20px; 459 text-align: center; 460 padding: 0; 461 display: inline-block; 462} 463 464.event-indicators { 465 position: absolute; 466 left: 20px; 467 right: 0; 468 top: 20px; 469 bottom: 2px; 470 display: flex; 471 flex-direction: column; 472 gap: 2px; 473 pointer-events: none; 474} 475 476.event-bar { 477 width: 100%; 478 min-height: 6px; 479 height: 6px; 480 border-radius: 2px; 481 cursor: pointer; 482 pointer-events: auto; 483 transition: all 0.2s; 484 box-shadow: 0 1px 2px rgba(0,0,0,0.1); 485 position: relative; 486} 487 488.event-bar:hover { 489 transform: scaleY(1.3); 490 box-shadow: 0 2px 4px rgba(0,0,0,0.2); 491 z-index: 10; 492} 493 494.event-bar-no-time { 495 /* Events without time appear at top */ 496 order: -1; 497 opacity: 0.9; 498} 499 500.event-bar-timed { 501 /* Events with time are sorted by time */ 502 opacity: 0.95; 503} 504 505/* Multi-day event styling - creates visual continuity */ 506.event-bar-continues { 507 /* Event continues from previous day - extend left to cell edge */ 508 border-top-left-radius: 0; 509 border-bottom-left-radius: 0; 510 margin-left: -20px; 511 padding-left: 20px; 512} 513 514.event-bar-continuing { 515 /* Event continues to next day - extend right to cell edge */ 516 border-top-right-radius: 0; 517 border-bottom-right-radius: 0; 518 margin-right: -2px; 519 padding-right: 2px; 520} 521 522.event-bar-continues.event-bar-continuing { 523 /* Event continues both ways (middle of span) - no border radius, extends both sides */ 524 border-radius: 0; 525} 526 527/* Old event dot - removing */ 528.event-dot { 529 display: none; 530} 531 532/* Event list header - COMPACT */ 533.event-list-header { 534 display: flex; 535 align-items: center; 536 justify-content: space-between; 537 padding: 8px 10px; 538 border-bottom: 1px solid var(--border-color, #e0e0e0); 539 background: var(--background-header); 540} 541 542.event-list-header-content { 543 display: flex; 544 align-items: center; 545 gap: 6px; 546 flex: 1; 547} 548 549.event-list-header h4 { 550 margin: 0; 551 font-size: 12px; 552 font-weight: 600; 553 color: var(--text-primary); 554} 555 556.namespace-badge { 557 background: var(--cell-today-bg, #e8f5e9); 558 color: var(--text-bright, #388e3c); 559 padding: 2px 6px; 560 border-radius: 10px; 561 font-size: 9px; 562 font-weight: 600; 563 text-transform: uppercase; 564 letter-spacing: 0.3px; 565 border: 1px solid var(--border-color, transparent); 566} 567 568/* Event search bar - inline in header */ 569.event-search-container-inline { 570 position: relative; 571 flex: 1; 572 max-width: 200px; 573 margin: 0 8px; 574} 575 576.event-search-input-inline { 577 width: 100%; 578 padding: 4px 24px 4px 8px; 579 border: 1px solid var(--border-color, #d0d0d0); 580 border-radius: 3px; 581 font-size: 11px; 582 outline: none; 583 transition: border-color 0.2s, box-shadow 0.2s; 584 background: var(--cell-bg); 585 color: var(--text-primary); 586} 587 588.event-search-input-inline:focus { 589 border-color: var(--text-bright, #00cc07); 590 box-shadow: 0 0 0 2px var(--shadow-color, rgba(0, 204, 7, 0.1)); 591} 592 593.event-search-input-inline::placeholder { 594 color: var(--text-dim); 595 font-size: 10px; 596} 597 598.event-search-clear-inline { 599 position: absolute; 600 right: 4px; 601 top: 50%; 602 transform: translateY(-50%); 603 background: none; 604 border: none; 605 color: var(--text-dim); 606 cursor: pointer; 607 padding: 2px 4px; 608 font-size: 12px; 609 line-height: 1; 610 transition: color 0.2s; 611} 612 613.event-search-clear-inline:hover { 614 color: var(--text-primary); 615} 616 617.no-search-results { 618 text-align: center; 619 color: var(--text-dim); 620 font-size: 12px; 621 padding: 20px; 622 font-style: italic; 623} 624 625.add-event-compact { 626 background: var(--border-main); 627 color: var(--background-site); 628 border: none; 629 padding: 4px 8px; 630 border-radius: 3px; 631 font-size: 11px; 632 font-weight: 500; 633 cursor: pointer; 634 transition: all 0.15s; 635} 636 637.add-event-compact:hover { 638 filter: brightness(1.3); 639 box-shadow: 0 0 6px var(--shadow-color, rgba(0,0,0,0.3)); 640 transform: scale(1.05); 641} 642 643.add-event-compact:active { 644 filter: brightness(0.85); 645 transform: scale(0.95); 646} 647 648/* Event list scrollable area - COMPACT */ 649.event-list-compact { 650 flex: 1; 651 overflow-y: auto; 652 padding: 6px; 653 background: var(--background-site); 654} 655 656.event-list-compact::-webkit-scrollbar { 657 width: 6px; 658} 659 660.event-list-compact::-webkit-scrollbar-track { 661 background: var(--cell-bg, #f5f5f5); 662} 663 664.event-list-compact::-webkit-scrollbar-thumb { 665 background: var(--border-color, #ccc); 666 border-radius: 3px; 667} 668 669.event-list-compact::-webkit-scrollbar-thumb:hover { 670 background: var(--text-dim, #aaa); 671} 672 673/* Event items in list - SUPER COMPACT with checkbox on right */ 674.event-compact-item { 675 display: flex; 676 align-items: flex-start; 677 margin-bottom: 4px; 678 background-color: var(--background-site); 679 color: var(--text-primary); 680 border: 1px solid var(--border-color, #e0e0e0); 681 border-left: 3px solid var(--text-bright, #3498db); 682 border-radius: 3px; 683 padding: 5px 6px; 684 transition: box-shadow 0.15s, background 0.15s, transform 0.15s; 685 gap: 6px; 686 position: relative; 687} 688 689.event-compact-item:hover { 690 box-shadow: 0 1px 3px rgba(0,0,0,0.08); 691 background-color: var(--background-alt); /* Slightly different on hover */ 692} 693 694.event-highlighted { 695 animation: highlightPulse 0.6s ease-in-out; 696 background: var(--tomorrow-bg, #fff9e6) !important; 697 box-shadow: 0 2px 8px var(--shadow-color, rgba(255, 193, 7, 0.4)) !important; 698} 699 700@keyframes highlightPulse { 701 0% { 702 background: var(--background-site, #ffffff); 703 box-shadow: 0 0 0 rgba(255, 193, 7, 0); 704 } 705 50% { 706 background: #fffbea; 707 box-shadow: 0 4px 12px rgba(255, 193, 7, 0.6); 708 transform: scale(1.02); 709 } 710 100% { 711 background: #fff9e6; 712 box-shadow: 0 2px 8px rgba(255, 193, 7, 0.4); 713 transform: scale(1); 714 } 715} 716 717.event-completed { 718 opacity: 0.55; 719 background: var(--cell-bg, #f5f5f5); 720} 721 722.event-completed .event-title-compact { 723 text-decoration: line-through; 724 color: var(--text-dim, #999); 725} 726 727.event-past { 728 opacity: 0.35; 729 background: var(--cell-bg, #fafafa); 730 font-size: 10px; 731 padding: 3px 6px; 732 margin-bottom: 2px; 733 cursor: pointer; 734 transition: all 0.2s ease; 735} 736 737.event-past:hover { 738 opacity: 0.6; 739 background: var(--cell-today-bg, #f5f5f5); 740} 741 742.event-past-expanded { 743 opacity: 0.8 !important; 744 background: var(--cell-bg, #f9f9f9) !important; 745 padding: 5px 6px !important; 746 font-size: 12px !important; 747} 748 749.event-past-expanded .event-title-compact { 750 font-size: 12px !important; 751 color: var(--text-dim, #666) !important; 752} 753 754.event-past-expanded .event-date-time { 755 font-size: 11px !important; 756 color: var(--text-dim, #888) !important; 757} 758 759.event-past .event-title-compact { 760 font-size: 10px; 761 color: var(--text-dim, #aaa); 762 font-weight: 400; 763} 764 765.event-past .event-date-time { 766 font-size: 9px; 767 color: var(--text-dim, #bbb); 768} 769 770.event-past .event-action-btn { 771 font-size: 11px; 772 opacity: 0.3; 773} 774 775.event-past .event-action-btn:hover { 776 opacity: 0.7; 777} 778 779.event-today-badge { 780 background: var(--border-main, #9b59b6); 781 color: var(--background-site, white); 782 padding: 1px 4px; 783 border-radius: 3px; 784 font-size: 9px; 785 font-weight: 600; 786 letter-spacing: 0.5px; 787 display: inline-block; 788 vertical-align: middle; 789 margin-left: auto; /* Right-align */ 790 float: right; /* Force to right side */ 791} 792 793.event-pastdue-badge { 794 background: var(--pastdue-color, #e74c3c); 795 color: white; 796 padding: 1px 4px; 797 border-radius: 3px; 798 font-size: 9px; 799 font-weight: 600; 800 letter-spacing: 0.5px; 801 display: inline-block; 802 vertical-align: middle; 803 margin-left: auto; /* Right-align */ 804 float: right; /* Force to right side */ 805} 806 807.event-pastdue { 808 border: 2px solid var(--pastdue-color, #e74c3c) !important; 809 border-radius: 4px; 810 opacity: 1 !important; 811} 812 813.event-namespace-badge { 814 background: var(--text-bright, #008800); 815 color: var(--background-site, white); 816 padding: 1px 4px; 817 border-radius: 3px; 818 font-size: 9px; 819 font-weight: 500; 820 display: inline-block; 821 vertical-align: middle; 822 margin-left: 4px; 823 cursor: pointer; 824 transition: all 0.15s; 825} 826 827.event-namespace-badge:hover { 828 filter: brightness(1.3); 829} 830 831.event-conflict-badge { 832 background: var(--border-main, #ff9800); 833 color: var(--background-site, white); 834 padding: 0px 4px; 835 border-radius: 2px; 836 font-size: 9px; 837 display: inline-block; 838 vertical-align: middle; 839 margin-left: 3px; 840 cursor: help; 841 animation: pulse-warning 2s infinite; 842 line-height: 14px; 843 border: 1px solid var(--text-bright, #ff9800); 844} 845 846@keyframes pulse-warning { 847 0%, 100% { 848 opacity: 1; 849 } 850 50% { 851 opacity: 0.7; 852 } 853} 854 855.event-conflict-badge:hover { 856 background: var(--text-bright, #f57c00); 857 animation: none; 858} 859 860/* Custom conflict tooltip - SMALLER FOR MAIN CALENDAR */ 861.conflict-tooltip { 862 position: fixed; 863 z-index: 10000; 864 background: var(--background-site, white); 865 border: 1px solid var(--border-main, #ff9800); 866 border-radius: 3px; 867 box-shadow: 0 2px 6px var(--shadow-color, rgba(0,0,0,0.2)); 868 padding: 0; 869 min-width: 120px; 870 max-width: 200px; 871 opacity: 0; 872 transition: opacity 0.2s; 873 pointer-events: none; 874} 875 876/* Custom tooltip that appears above and to the left - FIXED POSITION */ 877[data-tooltip] { 878 position: relative; 879 cursor: help; 880} 881 882[data-tooltip]:before { 883 content: attr(data-tooltip); 884 position: fixed; 885 padding: 3px 6px; 886 background: rgba(0, 0, 0, 0.95); 887 color: var(--background-site, #fff); 888 font-size: 9px; 889 line-height: 1.3; 890 white-space: pre-line; 891 border-radius: 3px; 892 opacity: 0; 893 pointer-events: none; 894 transition: opacity 0.2s; 895 min-width: 120px; 896 max-width: 200px; 897 z-index: 10000; 898 text-align: left; 899 box-shadow: 0 2px 8px rgba(0,0,0,0.3); 900} 901 902[data-tooltip]:hover:before { 903 opacity: 1; 904} 905 906/* Pink theme tooltips - with hearts! */ 907.sidebar-pink [data-tooltip]:before { 908 background: linear-gradient(135deg, #ff1493 0%, #ff69b4 100%); 909 color: #fff; 910 border: 2px solid #ff85c1; 911 box-shadow: 0 0 15px rgba(255, 20, 147, 0.6), 0 4px 12px rgba(0, 0, 0, 0.4); 912 font-weight: 600; 913} 914 915.sidebar-pink [data-tooltip]:after { 916 content: ''; 917 position: fixed; 918 font-size: 12px; 919 opacity: 0; 920 pointer-events: none; 921 transition: opacity 0.2s; 922 z-index: 10001; 923 filter: drop-shadow(0 0 3px rgba(255, 20, 147, 0.8)); 924} 925 926.sidebar-pink [data-tooltip]:hover:after { 927 opacity: 1; 928} 929 930/* Position data-tooltip with JavaScript for no cutoff */ 931.data-tooltip-positioned:before { 932 /* Position set by JavaScript */ 933} 934 935/* Allow sidebar to overflow for tooltips */ 936.sidebar-widget, 937.sidebar-matrix { 938 overflow: visible !important; 939} 940 941.conflict-tooltip-header { 942 background: var(--border-main, #ff9800); 943 color: var(--background-site, white); 944 padding: 4px 8px; 945 font-weight: 600; 946 font-size: 10px; 947 border-radius: 2px 2px 0 0; 948} 949 950.conflict-tooltip-body { 951 padding: 6px 8px; 952 font-size: 9px; 953 line-height: 1.4; 954} 955 956.conflict-item { 957 padding: 2px 0; 958 color: var(--text-primary, #333); 959 border-bottom: 1px solid var(--border-color, #f0f0f0); 960 font-size: 9px; 961} 962 963.conflict-item:last-child { 964 border-bottom: none; 965} 966 967.event-info { 968 flex: 1; 969 min-width: 0; 970 padding-right: 60px; 971 text-align: left; 972} 973 974.event-title-row { 975 display: flex; 976 align-items: center; 977 gap: 4px; 978} 979 980.event-title-compact { 981 font-size: 12px; 982 font-weight: 600; 983 color: var(--text-primary, #2c3e50); 984 overflow: hidden; 985 text-overflow: ellipsis; 986 white-space: nowrap; 987 text-align: left; 988} 989 990.event-meta-compact { 991 font-size: 10px; 992 color: var(--text-dim, #666); 993 margin-top: 1px; 994 text-align: left; 995} 996 997.event-date-time { 998 font-weight: 500; 999} 1000 1001.event-desc-compact { 1002 font-size: 10px; 1003 color: var(--text-dim, #666); 1004 line-height: 1.4; 1005 margin-top: 2px; 1006 text-align: left; 1007 word-wrap: break-word; 1008 overflow-wrap: break-word; 1009} 1010 1011.event-desc-compact img.event-image { 1012 max-width: 100%; 1013 height: auto; 1014 margin: 4px 0; 1015 border-radius: 3px; 1016 display: block; 1017} 1018 1019.event-desc-compact a { 1020 color: var(--text-bright, #008800); 1021 text-decoration: none; 1022 border-bottom: 1px dotted var(--text-bright, #008800); 1023} 1024 1025.event-desc-compact a:hover { 1026 color: var(--text-primary, #388e3c); 1027 border-bottom-style: solid; 1028} 1029 1030.event-desc-compact strong, 1031.event-desc-compact b { 1032 font-weight: 600; 1033 color: var(--text-primary, #333); 1034} 1035 1036.event-desc-compact em, 1037.event-desc-compact i { 1038 font-style: italic; 1039} 1040 1041.event-desc-compact code { 1042 background: var(--cell-bg, #f5f5f5); 1043 padding: 1px 3px; 1044 border-radius: 2px; 1045 font-family: monospace; 1046 font-size: 9px; 1047 color: var(--text-primary, inherit); 1048} 1049 1050.event-actions-compact { 1051 position: absolute; 1052 top: 5px; 1053 right: 24px; 1054 display: flex; 1055 gap: 2px; 1056 flex-shrink: 0; 1057} 1058 1059.event-action-btn { 1060 background: none; 1061 border: none; 1062 font-size: 14px; 1063 cursor: pointer; 1064 padding: 2px; 1065 opacity: 0.5; 1066 transition: opacity 0.15s, transform 0.15s; 1067} 1068 1069.event-action-btn:hover { 1070 opacity: 1; 1071 transform: scale(1.15); 1072} 1073 1074.task-checkbox { 1075 position: absolute; 1076 top: 5px; 1077 right: 6px; 1078 width: 16px; 1079 height: 16px; 1080 margin: 0; 1081 cursor: pointer; 1082 flex-shrink: 0; 1083 accent-color: var(--text-bright, #008800); 1084 /* Custom checkbox - bright border for all themes */ 1085 appearance: none; 1086 -webkit-appearance: none; 1087 border: 2px solid var(--text-bright, #008800); 1088 border-radius: 3px; 1089 background: var(--cell-bg, #fff); 1090 transition: all 0.15s; 1091 box-shadow: 0 0 3px var(--shadow-color, rgba(0,0,0,0.1)); 1092} 1093 1094.task-checkbox:hover { 1095 border-color: var(--text-bright, #008800); 1096 box-shadow: 0 0 8px var(--shadow-color, rgba(0,0,0,0.25)); 1097 transform: scale(1.1); 1098} 1099 1100.task-checkbox:checked { 1101 background: var(--text-bright, #008800); 1102 border-color: var(--text-bright, #008800); 1103 box-shadow: 0 0 6px var(--shadow-color, rgba(0,0,0,0.2)); 1104} 1105 1106.task-checkbox:checked::after { 1107 content: '✓'; 1108 display: block; 1109 text-align: center; 1110 color: var(--background-site, white); 1111 font-size: 11px; 1112 font-weight: 700; 1113 line-height: 12px; 1114} 1115 1116.no-events-msg { 1117 text-align: center; 1118 color: var(--text-dim, #999); 1119 font-size: 12px; 1120 font-style: italic; 1121 padding: 40px 20px; 1122} 1123 1124/* Sleek Event Dialog - FULLY RESPONSIVE */ 1125.event-dialog-compact { 1126 position: fixed; 1127 top: 0; 1128 left: 0; 1129 width: 100%; 1130 height: 100%; 1131 z-index: 9999; 1132 display: flex; 1133 align-items: center; 1134 justify-content: center; 1135 animation: fadeIn 0.2s ease; 1136 padding: 20px; 1137 box-sizing: border-box; 1138 overflow-y: auto; 1139} 1140 1141@keyframes fadeIn { 1142 from { opacity: 0; } 1143 to { opacity: 1; } 1144} 1145 1146.dialog-content-sleek { 1147 position: relative; 1148 background: var(--background-site, #ffffff); 1149 width: 100%; 1150 max-width: 450px; 1151 max-height: calc(100vh - 40px); 1152 border-radius: 8px; 1153 box-shadow: 0 8px 32px var(--shadow-color, rgba(0,0,0,0.2)); 1154 z-index: 10000; 1155 animation: slideUp 0.3s ease; 1156 overflow: hidden; 1157 display: flex; 1158 flex-direction: column; 1159 margin: auto; 1160 border: 1px solid var(--border-main, transparent); 1161} 1162 1163/* Mobile responsive dialog */ 1164@media (max-width: 768px) { 1165 .event-dialog-compact { 1166 padding: 10px; 1167 } 1168 1169 .dialog-content-sleek { 1170 max-width: 100%; 1171 width: calc(100% - 20px); 1172 max-height: calc(100vh - 20px); 1173 } 1174} 1175 1176@media (max-width: 480px) { 1177 .event-dialog-compact { 1178 padding: 0; 1179 align-items: flex-start; 1180 } 1181 1182 .dialog-content-sleek { 1183 width: 100%; 1184 max-width: 100%; 1185 max-height: 100vh; 1186 border-radius: 0; 1187 margin: 0; 1188 } 1189} 1190 1191@keyframes slideUp { 1192 from { 1193 transform: translateY(20px); 1194 opacity: 0; 1195 } 1196 to { 1197 transform: translateY(0); 1198 opacity: 1; 1199 } 1200} 1201 1202.dialog-header-sleek { 1203 display: flex; 1204 align-items: center; 1205 justify-content: space-between; 1206 padding: 10px 14px; 1207 background: var(--background-header, #2c3e50); 1208 color: var(--text-bright, white); 1209 cursor: move; 1210 flex-shrink: 0; 1211 border-bottom: 1px solid var(--border-main, transparent); 1212} 1213 1214.dialog-drag-handle { 1215 cursor: move; 1216} 1217 1218.dialog-header-sleek h3 { 1219 margin: 0; 1220 font-size: 15px; 1221 font-weight: 600; 1222} 1223 1224.dialog-close-btn { 1225 background: var(--cell-today-bg, rgba(255,255,255,0.2)); 1226 border: none; 1227 color: white; 1228 font-size: 22px; 1229 width: 28px; 1230 height: 28px; 1231 border-radius: 50%; 1232 cursor: pointer; 1233 display: flex; 1234 align-items: center; 1235 justify-content: center; 1236 transition: all 0.2s; 1237 line-height: 1; 1238 padding: 0; 1239 flex-shrink: 0; 1240} 1241 1242.dialog-close-btn:hover { 1243 background: var(--cell-today-bg, rgba(255,255,255,0.3)); 1244 transform: scale(1.1); 1245} 1246 1247.sleek-form { 1248 padding: 10px 12px; 1249 overflow-y: auto; 1250 overflow-x: hidden; 1251 flex: 1; 1252 max-height: calc(100vh - 160px); 1253 background: var(--background-site, #ffffff); 1254} 1255 1256/* Ensure form is scrollable on small screens */ 1257@media (max-height: 600px) { 1258 .sleek-form { 1259 max-height: calc(100vh - 120px); 1260 } 1261} 1262 1263@media (max-height: 500px) { 1264 .sleek-form { 1265 max-height: calc(100vh - 100px); 1266 } 1267} 1268 1269.form-field { 1270 margin-bottom: 6px; 1271} 1272 1273/* Compact form elements */ 1274.input-compact { 1275 height: 30px !important; 1276 padding: 4px 8px !important; 1277 font-size: 11px !important; 1278} 1279 1280.textarea-compact { 1281 min-height: 28px !important; 1282 padding: 4px 8px !important; 1283 font-size: 11px !important; 1284 line-height: 1.3 !important; 1285} 1286 1287.field-label-compact { 1288 font-size: 10px !important; 1289 margin-bottom: 2px !important; 1290 font-weight: 500; 1291 color: var(--text-dim, #555); 1292} 1293 1294.form-field-checkbox-compact { 1295 padding: 4px 8px !important; 1296 margin-bottom: 6px !important; 1297} 1298 1299.checkbox-label-compact { 1300 font-size: 10px !important; 1301 gap: 4px !important; 1302} 1303 1304.checkbox-label-compact input[type="checkbox"] { 1305 width: 13px !important; 1306 height: 13px !important; 1307 accent-color: var(--text-bright, #008800); 1308} 1309 1310.color-picker-compact { 1311 height: 30px !important; 1312} 1313 1314/* Responsive form fields */ 1315@media (max-width: 480px) { 1316 .form-field { 1317 margin-bottom: 8px; 1318 } 1319} 1320 1321.form-field-checkbox { 1322 background: var(--cell-bg, #f1f8f4); 1323 padding: 8px; 1324 border-radius: 4px; 1325 border: 1px solid var(--border-main, #008800); 1326} 1327 1328.checkbox-label { 1329 display: flex; 1330 align-items: center; 1331 gap: 6px; 1332 cursor: pointer; 1333 font-size: 11px; 1334 font-weight: 500; 1335 color: var(--text-primary, #388e3c); 1336} 1337 1338.checkbox-label input[type="checkbox"] { 1339 width: 15px; 1340 height: 15px; 1341 cursor: pointer; 1342 accent-color: var(--text-bright, #008800); 1343} 1344 1345.recurring-options { 1346 background: var(--cell-bg, #f1f8f4); 1347 padding: 12px; 1348 border-radius: 4px; 1349 border: 1px solid var(--border-main, #81c784); 1350 margin-top: 8px; 1351} 1352 1353.form-row-group { 1354 display: grid; 1355 grid-template-columns: 1fr 1fr; 1356 gap: 10px; 1357 margin-bottom: 10px; 1358} 1359 1360@media (max-width: 768px) { 1361 .form-row-group { 1362 grid-template-columns: 1fr; 1363 gap: 8px; 1364 } 1365} 1366 1367.field-label { 1368 display: block; 1369 font-size: 11px; 1370 font-weight: 600; 1371 color: var(--text-primary, #2c3e50); 1372 margin-bottom: 5px; 1373 text-transform: uppercase; 1374 letter-spacing: 0.3px; 1375} 1376 1377@media (max-width: 480px) { 1378 .field-label { 1379 font-size: 10px; 1380 } 1381} 1382 1383.input-sleek { 1384 width: 100%; 1385 color: var(--text-primary, #333); 1386 padding: 8px 10px; 1387 border: 2px solid var(--border-color, #e0e0e0); 1388 border-radius: 4px; 1389 font-size: 13px; 1390 font-family: inherit; 1391 transition: all 0.2s; 1392 background: var(--cell-bg, #fafafa); 1393 box-sizing: border-box; 1394} 1395 1396.input-sleek:focus { 1397 outline: none; 1398 border-color: var(--text-bright, #008800); 1399 background: var(--background-site, white); 1400 box-shadow: 0 0 0 3px var(--shadow-color, rgba(33, 150, 243, 0.1)); 1401} 1402 1403.input-sleek::placeholder, 1404.textarea-sleek::placeholder { 1405 color: var(--text-dim, #999); 1406} 1407 1408.input-date { 1409 font-weight: 500; 1410 color: var(--text-primary, #2c3e50); 1411 cursor: pointer; 1412} 1413 1414.input-date::-webkit-calendar-picker-indicator { 1415 cursor: pointer; 1416 font-size: 14px; 1417 padding: 2px; 1418} 1419 1420.textarea-sleek { 1421 resize: vertical; 1422 min-height: 60px; 1423 line-height: 1.4; 1424} 1425 1426.color-picker-container { 1427 display: flex; 1428 align-items: center; 1429 gap: 10px; 1430} 1431 1432.color-picker-wrapper { 1433 display: flex; 1434 align-items: center; 1435 gap: 8px; 1436} 1437 1438.color-picker-wrapper .color-select { 1439 flex: 1; 1440} 1441 1442.color-picker-input { 1443 width: 45px; 1444 height: 38px; 1445 border: 2px solid var(--border-color, #e0e0e0); 1446 border-radius: 6px; 1447 cursor: pointer; 1448 padding: 2px; 1449 display: none; 1450} 1451 1452.color-picker-input:hover { 1453 border-color: var(--text-bright, #4CAF50); 1454} 1455 1456.input-color-sleek { 1457 width: 50px; 1458 height: 38px; 1459 border: 2px solid var(--border-color, #e0e0e0); 1460 border-radius: 6px; 1461 cursor: pointer; 1462 transition: all 0.2s; 1463} 1464 1465.input-color-sleek:hover { 1466 border-color: var(--text-bright, #008800); 1467 transform: scale(1.05); 1468} 1469 1470.color-label { 1471 font-size: 11px; 1472 color: var(--text-dim, #666); 1473} 1474 1475.form-row-group { 1476 display: grid; 1477 grid-template-columns: 2fr 1fr; 1478 gap: 16px; 1479 margin-bottom: 20px; 1480} 1481 1482.field-label { 1483 display: block; 1484 font-size: 13px; 1485 font-weight: 600; 1486 color: var(--text-primary, #2c3e50); 1487 margin-bottom: 8px; 1488 text-transform: uppercase; 1489 letter-spacing: 0.5px; 1490} 1491 1492.input-sleek { 1493 width: 100%; 1494 color: var(--text-primary, #333); 1495 padding: 12px 16px; 1496 border: 2px solid var(--border-color, #e0e0e0); 1497 border-radius: 8px; 1498 font-size: 15px; 1499 font-family: inherit; 1500 transition: all 0.2s; 1501 background: var(--cell-bg, #fafafa); 1502 box-sizing: border-box; 1503} 1504 1505.input-sleek:focus { 1506 outline: none; 1507 border-color: var(--text-bright, #667eea); 1508 background: var(--background-site, white); 1509 box-shadow: 0 0 0 3px var(--shadow-color, rgba(102, 126, 234, 0.1)); 1510} 1511 1512.input-date { 1513 font-weight: 500; 1514 color: var(--text-primary, #2c3e50); 1515 cursor: pointer; 1516} 1517 1518.input-date::-webkit-calendar-picker-indicator { 1519 cursor: pointer; 1520 font-size: 18px; 1521 padding: 4px; 1522} 1523 1524.textarea-sleek { 1525 resize: vertical; 1526 min-height: 80px; 1527 line-height: 1.5; 1528} 1529 1530.color-picker-container { 1531 display: flex; 1532 align-items: center; 1533 gap: 12px; 1534} 1535 1536.input-color-sleek { 1537 width: 60px; 1538 height: 44px; 1539 border: 2px solid var(--border-color, #e0e0e0); 1540 border-radius: 8px; 1541 cursor: pointer; 1542 transition: all 0.2s; 1543} 1544 1545.input-color-sleek:hover { 1546 border-color: var(--text-bright, #667eea); 1547 transform: scale(1.05); 1548} 1549 1550.color-label { 1551 font-size: 13px; 1552 color: var(--text-dim, #666); 1553} 1554 1555.form-field-checkbox { 1556 background: var(--cell-bg, #f1f8f4); 1557 padding: 12px; 1558 border-radius: 6px; 1559 border: 1px solid var(--border-main, #008800); 1560} 1561 1562.checkbox-label { 1563 display: flex; 1564 align-items: center; 1565 gap: 8px; 1566 cursor: pointer; 1567 font-size: 13px; 1568 font-weight: 500; 1569 color: var(--text-primary, #388e3c); 1570} 1571 1572.checkbox-label input[type="checkbox"] { 1573 width: 18px; 1574 height: 18px; 1575 cursor: pointer; 1576 accent-color: var(--text-bright, #008800); 1577} 1578 1579.form-row-group { 1580 display: grid; 1581 grid-template-columns: 1fr 1fr; 1582 gap: 12px; 1583 margin-bottom: 16px; 1584} 1585 1586@media (max-width: 768px) { 1587 .form-row-group { 1588 grid-template-columns: 1fr; 1589 } 1590} 1591 1592.dialog-actions-sleek { 1593 display: flex; 1594 gap: 8px; 1595 padding: 12px 14px; 1596 background: var(--cell-bg, #f8f9fa); 1597 border-top: 1px solid var(--border-color, #e0e0e0); 1598 justify-content: flex-end; 1599 flex-shrink: 0; 1600} 1601 1602/* Ensure buttons are visible on small screens */ 1603@media (max-width: 480px) { 1604 .dialog-actions-sleek { 1605 padding: 10px; 1606 } 1607 1608 .btn-sleek { 1609 flex: 1; 1610 justify-content: center; 1611 } 1612} 1613 1614.btn-sleek { 1615 padding: 7px 14px; 1616 border: none; 1617 border-radius: 4px; 1618 font-size: 12px; 1619 font-weight: 600; 1620 cursor: pointer; 1621 transition: all 0.2s; 1622 display: inline-flex; 1623 align-items: center; 1624 gap: 4px; 1625} 1626 1627.btn-cancel-sleek { 1628 background: var(--border-color, #e0e0e0); 1629 color: var(--text-dim, #555); 1630} 1631 1632.btn-cancel-sleek:hover { 1633 filter: brightness(1.2); 1634 box-shadow: 0 0 4px var(--shadow-color, rgba(0,0,0,0.15)); 1635} 1636 1637.btn-save-sleek { 1638 background: var(--text-bright, #008800); 1639 color: var(--background-site, white); 1640 box-shadow: 0 2px 4px var(--shadow-color, rgba(0,0,0,0.2)); 1641} 1642 1643.btn-save-sleek:hover { 1644 filter: brightness(1.3); 1645 box-shadow: 0 4px 8px var(--shadow-color, rgba(0,0,0,0.3)); 1646} 1647 1648.btn-save-sleek:active { 1649 transform: translateY(1px); 1650 filter: brightness(0.9); 1651} 1652 1653/* Day popup */ 1654.day-popup { 1655 position: fixed; 1656 top: 0; 1657 left: 0; 1658 width: 100%; 1659 height: 100%; 1660 z-index: 10000; 1661 display: flex; 1662 align-items: center; 1663 justify-content: center; 1664 padding: 20px; 1665 box-sizing: border-box; 1666} 1667 1668.day-popup-overlay { 1669 position: absolute; 1670 top: 0; 1671 left: 0; 1672 width: 100%; 1673 height: 100%; 1674 background: rgba(0,0,0,0.5); 1675} 1676 1677.day-popup-content { 1678 position: relative; 1679 background: var(--background-site, white); 1680 width: 100%; 1681 max-width: 450px; 1682 max-height: calc(100vh - 40px); 1683 border-radius: 8px; 1684 box-shadow: 0 4px 20px var(--shadow-color, rgba(0,0,0,0.3)); 1685 z-index: 10001; 1686 display: flex; 1687 flex-direction: column; 1688 border: 1px solid var(--border-main, transparent); 1689} 1690 1691/* Responsive day popup */ 1692@media (max-width: 768px) { 1693 .day-popup { 1694 padding: 10px; 1695 } 1696 1697 .day-popup-content { 1698 max-width: 100%; 1699 max-height: calc(100vh - 20px); 1700 } 1701} 1702 1703@media (max-width: 480px) { 1704 .day-popup { 1705 padding: 0; 1706 } 1707 1708 .day-popup-content { 1709 width: 100%; 1710 max-width: 100%; 1711 max-height: 100vh; 1712 border-radius: 0; 1713 } 1714} 1715 1716.day-popup-header { 1717 display: flex; 1718 align-items: center; 1719 justify-content: space-between; 1720 padding: 10px 14px; 1721 border-bottom: 2px solid var(--border-main, #e0e0e0); 1722 background: var(--background-header, #fafafa); 1723 border-radius: 8px 8px 0 0; 1724} 1725 1726.day-popup-header h4 { 1727 margin: 0; 1728 font-size: 15px; 1729 font-weight: 600; 1730 color: var(--text-primary, #2c3e50); 1731} 1732 1733.popup-close { 1734 background: none; 1735 border: none; 1736 font-size: 24px; 1737 color: var(--text-dim, #999); 1738 cursor: pointer; 1739 width: 28px; 1740 height: 28px; 1741 display: flex; 1742 align-items: center; 1743 justify-content: center; 1744 border-radius: 4px; 1745 transition: all 0.15s; 1746 line-height: 1; 1747 padding: 0; 1748} 1749 1750.popup-close:hover { 1751 background: var(--cell-bg, #f0f0f0); 1752 color: var(--text-primary, #333); 1753} 1754 1755.day-popup-body { 1756 flex: 1; 1757 overflow-y: auto; 1758 padding: 10px 14px; 1759 max-height: 400px; 1760} 1761 1762.popup-events-list { 1763 display: flex; 1764 flex-direction: column; 1765 gap: 6px; 1766} 1767 1768.popup-continuation-notice { 1769 font-size: 10px; 1770 color: var(--text-dim, #666); 1771 background: var(--cell-bg, #f0f0f0); 1772 padding: 3px 8px; 1773 border-radius: 3px; 1774 margin-bottom: 4px; 1775 border-left: 3px solid var(--text-bright, #00cc07); 1776 font-weight: 500; 1777} 1778 1779.popup-event-item { 1780 display: flex; 1781 background: var(--cell-bg, #f8f9fa); 1782 border: 1px solid var(--border-color, #e0e0e0); 1783 border-radius: 4px; 1784 overflow: hidden; 1785 transition: box-shadow 0.15s; 1786} 1787 1788.popup-event-item:hover { 1789 box-shadow: 0 2px 6px var(--shadow-color, rgba(0,0,0,0.1)); 1790} 1791 1792.popup-event-content { 1793 flex: 1; 1794 padding: 6px 10px; 1795} 1796 1797.popup-event-main-row { 1798 display: flex; 1799 align-items: center; 1800 justify-content: space-between; 1801 gap: 8px; 1802} 1803 1804.popup-event-info-inline { 1805 display: flex; 1806 align-items: center; 1807 gap: 8px; 1808 flex: 1; 1809 min-width: 0; 1810} 1811 1812.popup-event-title { 1813 font-size: 13px; 1814 font-weight: 600; 1815 color: var(--text-primary, #2c3e50); 1816 white-space: nowrap; 1817 overflow: hidden; 1818 text-overflow: ellipsis; 1819 flex-shrink: 1; 1820} 1821 1822.popup-event-time { 1823 font-size: 11px; 1824 color: var(--text-bright, #008800); 1825 font-weight: 500; 1826 white-space: nowrap; 1827 flex-shrink: 0; 1828} 1829 1830.popup-event-multiday { 1831 font-size: 11px; 1832 color: var(--text-dim, #666); 1833 font-weight: 500; 1834 white-space: nowrap; 1835 flex-shrink: 0; 1836} 1837 1838.popup-event-namespace { 1839 font-size: 10px; 1840 color: var(--background-site, #fff); 1841 background: var(--text-bright, #008800); 1842 padding: 2px 6px; 1843 border-radius: 3px; 1844 font-weight: 500; 1845 white-space: nowrap; 1846 flex-shrink: 0; 1847} 1848 1849.popup-event-desc { 1850 font-size: 11px; 1851 color: var(--text-dim, #666); 1852 line-height: 1.4; 1853 margin-top: 4px; 1854 padding-left: 0; 1855} 1856 1857.popup-event-actions { 1858 display: flex; 1859 gap: 4px; 1860 flex-shrink: 0; 1861} 1862 1863.event-edit-btn, 1864.event-delete-btn { 1865 background: none; 1866 border: none; 1867 font-size: 16px; 1868 cursor: pointer; 1869 padding: 4px; 1870 border-radius: 3px; 1871 transition: background 0.15s; 1872 line-height: 1; 1873 width: 24px; 1874 height: 24px; 1875 display: flex; 1876 align-items: center; 1877 justify-content: center; 1878} 1879 1880.event-edit-btn:hover { 1881 background: var(--cell-today-bg, #e8f5e9); 1882} 1883 1884.event-delete-btn:hover { 1885 background: var(--cell-today-bg, #ffebee); 1886} 1887 1888.day-popup-footer { 1889 padding: 10px 14px; 1890 border-top: 1px solid var(--border-color, #e0e0e0); 1891 background: var(--cell-bg, #fafafa); 1892 border-radius: 0 0 8px 8px; 1893} 1894 1895.btn-add-event { 1896 width: 100%; 1897 background: var(--text-bright, #008800); 1898 color: var(--background-site, white); 1899 border: none; 1900 padding: 10px 16px; 1901 border-radius: 6px; 1902 font-size: 14px; 1903 font-weight: 500; 1904 cursor: pointer; 1905 transition: background 0.15s; 1906} 1907 1908.btn-add-event:hover { 1909 filter: brightness(1.3); 1910 box-shadow: 0 2px 6px var(--shadow-color, rgba(0,0,0,0.2)); 1911} 1912 1913.btn-add-event:active { 1914 filter: brightness(0.85); 1915 transform: translateY(1px); 1916} 1917 1918.dialog-overlay { 1919 position: absolute; 1920 top: 0; 1921 left: 0; 1922 width: 100%; 1923 height: 100%; 1924 background: rgba(0,0,0,0.4); 1925} 1926 1927.dialog-content-compact { 1928 position: relative; 1929 background: white; 1930 width: 400px; 1931 border-radius: 6px; 1932 box-shadow: 0 4px 12px rgba(0,0,0,0.2); 1933 padding: 20px; 1934 z-index: 10000; 1935} 1936 1937.dialog-content-compact h4 { 1938 margin: 0 0 16px 0; 1939 font-size: 16px; 1940 font-weight: 600; 1941 color: var(--text-primary, #2c3e50); 1942} 1943 1944.form-row { 1945 margin-bottom: 14px; 1946} 1947 1948.form-row-date { 1949 background: var(--cell-bg, #f1f8f4); 1950 padding: 10px; 1951 border-radius: 6px; 1952 border: 2px solid var(--border-main, #008800); 1953 margin-bottom: 18px; 1954} 1955 1956.form-row-date label { 1957 color: var(--text-bright, #388e3c); 1958 font-size: 13px; 1959} 1960 1961.form-row label { 1962 display: block; 1963 font-size: 12px; 1964 font-weight: 600; 1965 color: var(--text-dim, #555); 1966 margin-bottom: 4px; 1967} 1968 1969.form-row input[type="text"], 1970.form-row input[type="time"], 1971.form-row input[type="date"], 1972.form-row input[type="color"], 1973.form-row textarea { 1974 width: 100%; 1975 padding: 8px; 1976 border: 1px solid var(--border-color, #d0d0d0); 1977 border-radius: 4px; 1978 font-size: 13px; 1979 box-sizing: border-box; 1980 font-family: inherit; 1981} 1982 1983.form-row input[type="color"] { 1984 height: 36px; 1985 padding: 2px; 1986} 1987 1988.form-row textarea { 1989 resize: vertical; 1990} 1991 1992.dialog-actions { 1993 display: flex; 1994 gap: 8px; 1995 justify-content: flex-end; 1996 margin-top: 16px; 1997} 1998 1999.btn-save, 2000.btn-cancel { 2001 padding: 8px 16px; 2002 border: none; 2003 border-radius: 4px; 2004 font-size: 13px; 2005 font-weight: 500; 2006 cursor: pointer; 2007 transition: all 0.15s; 2008} 2009 2010.btn-save { 2011 background: var(--text-bright, #008800); 2012 color: var(--background-site, white); 2013} 2014 2015.btn-save:hover { 2016 filter: brightness(1.3); 2017 box-shadow: 0 2px 6px var(--shadow-color, rgba(0,0,0,0.2)); 2018} 2019 2020.btn-cancel { 2021 background: var(--cell-bg, #f5f5f5); 2022 color: var(--text-dim, #555); 2023 border: 1px solid var(--border-color, #d0d0d0); 2024} 2025 2026.btn-cancel:hover { 2027 filter: brightness(1.2); 2028 box-shadow: 0 0 4px var(--shadow-color, rgba(0,0,0,0.15)); 2029} 2030 2031/* Standalone event list */ 2032.eventlist-standalone { 2033 max-width: 700px; 2034 margin: 20px auto; 2035 background: white; 2036 border: 1px solid var(--border-color, #d0d0d0); 2037 border-radius: 6px; 2038 padding: 20px; 2039} 2040 2041.eventlist-standalone h3 { 2042 margin: 0 0 20px 0; 2043 font-size: 18px; 2044 font-weight: 600; 2045 color: var(--text-primary, #2c3e50); 2046 border-bottom: 2px solid var(--border-main, #008800); 2047 padding-bottom: 10px; 2048} 2049 2050/* Compact Event List Widget */ 2051.eventlist-compact-widget { 2052 background: var(--background-site, #ffffff); 2053 border: 1px solid var(--border-color, #d0d0d0); 2054 border-radius: 6px; 2055 box-shadow: 0 2px 6px rgba(0,0,0,0.08); 2056 overflow: visible; 2057 display: flex; 2058 flex-direction: column; 2059 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; 2060} 2061 2062/* Simple 2-Line Event List (New Design) */ 2063.eventlist-simple { 2064 width: 100%; 2065 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; 2066 font-size: 11px; 2067 line-height: 1.4; 2068 overflow: visible; 2069} 2070 2071/* Compact pastel header for {{eventlist today}} - Single line */ 2072.eventlist-today-header { 2073 display: flex; 2074 flex-direction: column; 2075 align-items: center; 2076 padding: 6px 10px 2px 10px; 2077 background: var(--cell-bg, #1a1a1a); 2078 color: var(--text-bright, #00cc07); 2079 border: 2px solid var(--text-bright, #00cc07); 2080 border-radius: 4px; 2081 margin-bottom: 8px; 2082 box-shadow: 0 0 8px var(--shadow-color, rgba(0, 204, 7, 0.2)); 2083 gap: 3px; 2084 overflow: visible; 2085} 2086 2087/* Purple theme overrides */ 2088.sidebar-purple .eventlist-today-header { 2089 border-color: var(--text-bright, #9b59b6); 2090 box-shadow: 0 0 8px var(--shadow-color, rgba(155, 89, 182, 0.2)); 2091} 2092 2093/* Professional theme overrides */ 2094.sidebar-professional .eventlist-today-header { 2095 border-color: var(--text-bright, #4a90e2); 2096 box-shadow: 0 2px 4px var(--shadow-color, rgba(0, 0, 0, 0.1)); 2097} 2098 2099/* Pink theme overrides */ 2100.sidebar-pink .eventlist-today-header { 2101 border-color: var(--text-bright, #ff1493); 2102 box-shadow: 0 0 6px var(--shadow-color, rgba(255, 20, 147, 0.25)); 2103} 2104 2105.eventlist-bottom-info { 2106 display: flex; 2107 justify-content: space-between; 2108 align-items: center; 2109 width: 100%; 2110 gap: 10px; 2111 overflow: visible; 2112} 2113 2114.eventlist-weather { 2115 font-size: 13px; 2116 font-weight: 700; 2117 font-family: 'Courier New', monospace; 2118 letter-spacing: 0.3px; 2119 text-shadow: 0 0 1px var(--text-primary, rgba(0, 204, 7, 0.4)); 2120 color: var(--text-primary, #00cc07); 2121 white-space: nowrap; 2122} 2123 2124.eventlist-today-date { 2125 font-size: 10px; 2126 font-weight: 700; 2127 color: var(--text-primary, #00cc07); 2128 letter-spacing: 0.5px; 2129 white-space: nowrap; 2130 text-transform: uppercase; 2131 text-align: center; 2132 flex: 1; 2133} 2134 2135.eventlist-today-clock { 2136 font-size: 16px; 2137 font-weight: 700; 2138 font-family: 'Courier New', monospace; 2139 letter-spacing: 1px; 2140 text-shadow: 0 0 2px var(--text-primary, rgba(0, 204, 7, 0.5)); 2141 color: var(--text-primary, #00cc07); 2142} 2143 2144.eventlist-stats-container { 2145 width: 100%; 2146 display: flex; 2147 flex-direction: column; 2148 gap: 2px; 2149 margin: 0; 2150 overflow: visible; 2151} 2152 2153.eventlist-cpu-bar { 2154 width: 100%; 2155 height: 3px; 2156 background: var(--cell-today-bg, rgba(0, 204, 7, 0.1)) !important; 2157 border-radius: 1px; 2158 overflow: visible; 2159 position: relative; 2160 cursor: help; 2161} 2162 2163.system-tooltip { 2164 position: fixed; 2165 background: var(--cell-bg, rgba(0, 0, 0, 0.95)) !important; 2166 padding: 6px 8px; 2167 border-radius: 4px; 2168 font-size: 9px; 2169 line-height: 1.3; 2170 white-space: normal; 2171 min-width: 150px; 2172 max-width: 250px; 2173 z-index: 999999; 2174 border: 1px solid; 2175 box-shadow: 0 3px 8px rgba(0,0,0,0.5); 2176 pointer-events: none; 2177 /* Position will be set by JavaScript */ 2178} 2179 2180.system-tooltip div { 2181 font-size: 9px !important; 2182 line-height: 1.3 !important; 2183 margin: 0; 2184} 2185 2186.system-tooltip .tooltip-title { 2187 font-weight: bold; 2188 margin-bottom: 2px; 2189} 2190 2191.eventlist-cpu-fill { 2192 height: 100%; 2193 background: var(--text-bright, #00cc07) !important; 2194 transition: width 0.3s ease; 2195 box-shadow: 0 0 4px var(--shadow-color, rgba(0, 204, 7, 0.6)) !important; 2196} 2197 2198.eventlist-cpu-fill-purple { 2199 background: var(--border-main, #9b59b6) !important; 2200 box-shadow: 0 0 4px var(--shadow-color, rgba(155, 89, 182, 0.6)) !important; 2201} 2202 2203.eventlist-cpu-fill-orange { 2204 background: var(--text-primary, #ff8c00) !important; 2205 box-shadow: 0 0 4px var(--shadow-color, rgba(255, 140, 0, 0.6)) !important; 2206} 2207 2208/* Pink theme system bars - different shades of pink */ 2209.sidebar-pink .eventlist-cpu-fill { 2210 background: var(--text-bright, #ff1493) !important; 2211 box-shadow: 0 0 5px var(--shadow-color, rgba(255, 20, 147, 0.7)) !important; 2212} 2213 2214.sidebar-pink .eventlist-cpu-fill-purple { 2215 background: var(--border-main, #ff69b4) !important; 2216 box-shadow: 0 0 5px var(--shadow-color, rgba(255, 105, 180, 0.7)) !important; 2217} 2218 2219.sidebar-pink .eventlist-cpu-fill-orange { 2220 background: var(--text-primary, #ff85c1) !important; 2221 box-shadow: 0 0 5px var(--shadow-color, rgba(255, 133, 193, 0.7)) !important; 2222} 2223 2224.sidebar-pink .eventlist-cpu-realtime { 2225 background: var(--cell-today-bg, rgba(255, 20, 147, 0.1)) !important; 2226} 2227 2228.sidebar-pink .eventlist-mem-realtime { 2229 background: var(--cell-today-bg, rgba(255, 133, 193, 0.1)) !important; 2230} 2231 2232.eventlist-cpu-realtime { 2233 background: var(--cell-today-bg, rgba(155, 89, 182, 0.1)) !important; 2234} 2235 2236.eventlist-mem-realtime { 2237 background: var(--cell-today-bg, rgba(255, 140, 0, 0.1)) !important; 2238} 2239 2240.eventlist-simple-item { 2241 border-bottom: 1px solid var(--border-color, #e0e0e0); 2242 padding: 0; 2243} 2244 2245.eventlist-simple-item:last-child { 2246 border-bottom: none; 2247} 2248 2249.eventlist-simple-today { 2250 background: var(--cell-today-bg, #f3eeff) !important; 2251 border-left: 3px solid var(--border-main, #9b59b6) !important; 2252} 2253 2254.eventlist-simple-today .eventlist-simple-header { 2255 background: var(--cell-today-bg, #e8d9ff) !important; 2256} 2257 2258.eventlist-simple-today .eventlist-simple-body { 2259 background: var(--cell-bg, #f9f5ff) !important; 2260} 2261 2262.eventlist-simple-today-badge { 2263 background: var(--border-main, #9b59b6); 2264 color: var(--background-site, white); 2265 padding: 1px 4px; 2266 border-radius: 3px; 2267 font-size: 9px; 2268 font-weight: 600; 2269 letter-spacing: 0.5px; 2270 display: inline-block; 2271 vertical-align: middle; 2272 float: right; /* Right-align */ 2273 margin-left: auto; 2274} 2275 2276.eventlist-simple-pastdue { 2277 background: var(--pastdue-bg, #ffe6e6) !important; 2278 border-left: 3px solid var(--pastdue-color, #e74c3c) !important; 2279} 2280 2281.eventlist-simple-pastdue .eventlist-simple-header { 2282 background: var(--pastdue-bg-strong, #ffd9d9) !important; 2283} 2284 2285.eventlist-simple-pastdue .eventlist-simple-body { 2286 background: var(--pastdue-bg-light, #fff2f2) !important; 2287} 2288 2289.eventlist-simple-pastdue-badge { 2290 background: var(--pastdue-color, #e74c3c); 2291 color: white; 2292 padding: 1px 4px; 2293 border-radius: 3px; 2294 font-size: 9px; 2295 font-weight: 600; 2296 letter-spacing: 0.5px; 2297 display: inline-block; 2298 vertical-align: middle; 2299 float: right; /* Right-align */ 2300 margin-left: auto; 2301} 2302 2303.eventlist-simple-tomorrow { 2304 background: var(--tomorrow-bg, #fff9e6) !important; 2305} 2306 2307.eventlist-simple-tomorrow .eventlist-simple-header { 2308 background: var(--tomorrow-bg-strong, #fff4cc) !important; 2309} 2310 2311.eventlist-simple-tomorrow .eventlist-simple-body { 2312 background: var(--tomorrow-bg-light, #fffbf0) !important; 2313} 2314 2315.eventlist-simple-header { 2316 font-weight: 500; 2317 color: var(--text-primary, #2c3e50); 2318 padding: 4px 6px; 2319 line-height: 1.5; 2320 background: var(--cell-bg, #f5fcf5); 2321 font-size: 11px; 2322} 2323 2324.eventlist-simple-title { 2325 font-weight: 700; 2326 color: var(--text-bright, #ff6600); 2327 font-size: 12px; 2328} 2329 2330.eventlist-simple-time { 2331 color: var(--text-dim, #666); 2332 font-size: 10px; 2333} 2334 2335.eventlist-simple-date { 2336 color: var(--text-dim, #888); 2337 font-size: 10px; 2338} 2339 2340.eventlist-simple-namespace { 2341 background: var(--cell-today-bg, #e8f5e9); 2342 color: var(--text-bright, #388e3c); 2343 padding: 1px 4px; 2344 border-radius: 3px; 2345 font-size: 9px; 2346 font-weight: 500; 2347 margin-left: 4px; 2348} 2349 2350.eventlist-simple-body { 2351 color: var(--text-dim, #555); 2352 font-size: 11px; 2353 line-height: 1.5; 2354 padding: 4px 6px; 2355 background: var(--background-site, #fff); 2356} 2357 2358.eventlist-simple-body a { 2359 color: var(--text-bright, #008800); 2360 text-decoration: none; 2361} 2362 2363.eventlist-simple-body a:hover { 2364 text-decoration: underline; 2365} 2366 2367.eventlist-simple-body strong { 2368 font-weight: 600; 2369 color: var(--text-primary, #2c3e50); 2370} 2371 2372.eventlist-simple-body code { 2373 background: var(--cell-bg, #f5f5f5); 2374 padding: 1px 3px; 2375 border-radius: 3px; 2376 font-family: 'Courier New', monospace; 2377 font-size: 10px; 2378 color: var(--text-primary, inherit); 2379} 2380 2381.eventlist-simple-no-desc { 2382 display: none; 2383} 2384 2385.eventlist-simple-empty { 2386 padding: 10px 0; 2387 color: var(--text-dim, #999); 2388} 2389 2390.eventlist-simple-empty .eventlist-simple-header { 2391 margin-bottom: 4px; 2392 background: var(--cell-bg, #f5fcf5); 2393} 2394 2395.eventlist-simple-empty .eventlist-simple-body { 2396 color: var(--text-dim, #999); 2397 font-style: italic; 2398 padding: 4px 6px; 2399 font-size: 11px; 2400} 2401 2402.eventlist-widget-header { 2403 background: var(--text-bright, #008800); 2404 color: white; 2405 padding: 8px 12px; 2406 flex-shrink: 0; 2407} 2408 2409.eventlist-widget-header h4 { 2410 margin: 0; 2411 font-size: 13px; 2412 font-weight: 600; 2413} 2414 2415.eventlist-widget-content { 2416 overflow-y: auto; 2417 padding: 8px; 2418 flex: 1; 2419} 2420 2421.eventlist-widget-date { 2422 font-size: 11px; 2423 font-weight: 600; 2424 color: var(--text-dim, #666); 2425 margin: 8px 0 4px 0; 2426 padding-bottom: 2px; 2427 border-bottom: 1px solid var(--border-color, #e0e0e0); 2428} 2429 2430.eventlist-widget-item { 2431 background: var(--cell-bg, #fafafa); 2432 border: 1px solid var(--border-color, #e0e0e0); 2433 border-left: 3px solid var(--text-bright, #3498db); 2434 border-radius: 3px; 2435 padding: 6px 8px; 2436 margin-bottom: 6px; 2437 transition: all 0.15s; 2438} 2439 2440.eventlist-widget-item:hover { 2441 background: var(--cell-bg, #f0f0f0); 2442 box-shadow: 0 1px 3px rgba(0,0,0,0.1); 2443} 2444 2445.eventlist-widget-title { 2446 font-size: 12px; 2447 font-weight: 600; 2448 color: var(--text-primary, #2c3e50); 2449 margin-bottom: 2px; 2450} 2451 2452.eventlist-widget-time { 2453 font-size: 11px; 2454 color: var(--text-dim, #666); 2455 margin-bottom: 4px; 2456} 2457 2458.eventlist-widget-desc { 2459 font-size: 11px; 2460 color: var(--text-dim, #555); 2461 margin-top: 4px; 2462 line-height: 1.4; 2463} 2464 2465.eventlist-widget-desc img { 2466 max-width: 100%; 2467 height: auto; 2468 border-radius: 3px; 2469 margin: 4px 0; 2470} 2471 2472.eventlist-widget-desc a { 2473 color: var(--text-bright, #008800); 2474 text-decoration: none; 2475 border-bottom: 1px dotted var(--text-bright, #008800); 2476} 2477 2478.eventlist-widget-desc a:hover { 2479 border-bottom-style: solid; 2480} 2481 2482.eventlist-widget-empty { 2483 text-align: center; 2484 color: var(--text-dim, #999); 2485 font-size: 12px; 2486 padding: 20px; 2487 margin: 0; 2488} 2489 2490/* Global themed link class (used in renderDescription) */ 2491.cal-link { 2492 color: var(--text-bright, #008800) !important; 2493 text-decoration: none; 2494 border-bottom: 1px dotted var(--text-bright, #008800); 2495 transition: all 0.15s; 2496} 2497 2498.cal-link:hover { 2499 border-bottom-style: solid; 2500 opacity: 0.85; 2501} 2502 2503/* Sidebar widget links - inherit theme colors */ 2504.sidebar-widget a.cal-link { 2505 color: var(--text-bright, #00cc07) !important; 2506 border-bottom-color: var(--text-bright, #00cc07); 2507} 2508 2509/* Standalone event panel (right panel only) */ 2510.event-panel-standalone { 2511 width: 320px; 2512 background: var(--background-site, #ffffff); 2513 border: 1px solid var(--border-color, #d0d0d0); 2514 border-radius: 6px; 2515 box-shadow: 0 2px 6px rgba(0,0,0,0.08); 2516 display: flex; 2517 flex-direction: column; 2518 max-height: 600px; 2519 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; 2520 font-size: 13px; 2521} 2522 2523/* Dark theme borders for event panel - match sidebar widget style */ 2524.event-panel-standalone[data-theme="matrix"] { 2525 border: 2px solid var(--border-main, #00cc07); 2526 box-shadow: 0 0 10px var(--shadow-color, rgba(0, 204, 7, 0.3)); 2527} 2528 2529.event-panel-standalone[data-theme="purple"] { 2530 border: 2px solid var(--border-main, #9b59b6); 2531 box-shadow: 0 0 10px var(--shadow-color, rgba(155, 89, 182, 0.3)); 2532} 2533 2534.event-panel-standalone[data-theme="pink"] { 2535 border: 2px solid var(--border-main, #ff1493); 2536 box-shadow: 0 0 10px var(--shadow-color, rgba(255, 20, 147, 0.4)); 2537} 2538 2539.event-panel-standalone .event-list-compact { 2540 overflow-y: auto; 2541 flex: 1; 2542 padding: 10px; 2543} 2544 2545/* Event panel - Compact two-row header for ~500px width (10% smaller) */ 2546.panel-header-compact { 2547 background: var(--cell-bg, #f5f5f5); 2548 border-bottom: 2px solid var(--border-color, #ddd); 2549} 2550 2551.panel-header-row-1 { 2552 display: flex; 2553 align-items: center; 2554 gap: 7px; 2555 padding: 7px 11px; 2556 background: var(--cell-bg, #fafafa); 2557 border-bottom: 1px solid var(--border-color, #e8e8e8); 2558} 2559 2560.panel-header-row-2 { 2561 display: flex; 2562 align-items: center; 2563 gap: 7px; 2564 padding: 7px 11px; 2565 background: var(--background-site, #ffffff); 2566} 2567 2568.panel-nav-btn { 2569 background: var(--cell-bg, #ffffff); 2570 border: 1px solid var(--border-color, #ccc); 2571 color: var(--text-primary, #333); 2572 width: 29px; 2573 height: 29px; 2574 border-radius: 4px; 2575 cursor: pointer; 2576 font-size: 16px; 2577 font-weight: bold; 2578 transition: all 0.2s; 2579 display: flex; 2580 align-items: center; 2581 justify-content: center; 2582 padding: 0; 2583 flex-shrink: 0; 2584} 2585 2586.panel-nav-btn:hover { 2587 background: var(--text-bright, #00cc07); 2588 color: var(--background-site, white); 2589 border-color: var(--text-bright, #00cc07); 2590 filter: brightness(1.2); 2591 box-shadow: 0 0 6px var(--shadow-color, rgba(0,0,0,0.3)); 2592} 2593 2594.panel-month-title { 2595 margin: 0; 2596 font-size: 13px; 2597 font-weight: 600; 2598 color: var(--text-primary, #2c3e50); 2599 cursor: pointer; 2600 padding: 5px 9px; 2601 border-radius: 4px; 2602 transition: background 0.2s; 2603 white-space: nowrap; 2604 user-select: none; 2605 flex: 1; 2606 text-align: center; 2607 background: var(--cell-bg, #ffffff); 2608 border: 1px solid var(--border-color, #e0e0e0); 2609} 2610 2611.panel-month-title:hover { 2612 background: var(--cell-today-bg, #e8f5e9); 2613 border-color: var(--text-bright, #00cc07); 2614} 2615 2616.panel-ns-badge { 2617 background: var(--cell-today-bg, #e3f2fd); 2618 color: var(--text-bright, #1976d2); 2619 padding: 3px 7px; 2620 border-radius: 11px; 2621 font-size: 9px; 2622 font-weight: 600; 2623 text-transform: uppercase; 2624 letter-spacing: 0.3px; 2625 white-space: nowrap; 2626 border: 1px solid var(--border-color, #bbdefb); 2627 flex-shrink: 0; 2628} 2629 2630.panel-ns-badge.filter-on { 2631 background: var(--text-bright, #ff9800); 2632 color: var(--background-site, white); 2633 border-color: var(--border-main, #f57c00); 2634 cursor: pointer; 2635 transition: all 0.2s; 2636} 2637 2638.panel-ns-badge.filter-on:hover { 2639 filter: brightness(1.2); 2640} 2641 2642.panel-today-btn { 2643 background: var(--cell-bg, #ffffff); 2644 border: 1px solid var(--border-color, #ccc); 2645 color: var(--text-primary, #333); 2646 padding: 5px 11px; 2647 border-radius: 4px; 2648 cursor: pointer; 2649 font-size: 10px; 2650 font-weight: 600; 2651 transition: all 0.2s; 2652 white-space: nowrap; 2653 flex-shrink: 0; 2654} 2655 2656.panel-today-btn:hover { 2657 background: var(--text-bright, #00cc07); 2658 color: var(--background-site, white); 2659 border-color: var(--text-bright, #00cc07); 2660 filter: brightness(1.2); 2661 box-shadow: 0 0 6px var(--shadow-color, rgba(0,0,0,0.3)); 2662} 2663 2664.panel-search-box { 2665 position: relative; 2666 flex: 1; 2667} 2668 2669.panel-search-input { 2670 width: 100%; 2671 padding: 5px 25px 5px 9px; 2672 border: 1px solid var(--border-color, #d0d0d0); 2673 border-radius: 4px; 2674 font-size: 11px; 2675 outline: none; 2676 transition: border-color 0.2s, box-shadow 0.2s; 2677 background: var(--cell-bg, #fafafa); 2678 color: var(--text-primary, #333); 2679} 2680 2681.panel-search-input:focus { 2682 border-color: var(--text-bright, #00cc07); 2683 box-shadow: 0 0 0 2px var(--shadow-color, rgba(0, 204, 7, 0.1)); 2684 background: var(--background-site, white); 2685} 2686 2687.panel-search-input::placeholder { 2688 color: var(--text-dim, #999); 2689} 2690 2691.panel-search-clear { 2692 position: absolute; 2693 right: 5px; 2694 top: 50%; 2695 transform: translateY(-50%); 2696 background: none; 2697 border: none; 2698 color: var(--text-dim, #999); 2699 cursor: pointer; 2700 padding: 3px; 2701 font-size: 13px; 2702 line-height: 1; 2703 transition: color 0.2s; 2704} 2705 2706.panel-search-clear:hover { 2707 color: var(--text-primary, #333); 2708} 2709 2710.panel-add-btn { 2711 background: var(--text-bright, #00cc07); 2712 border: 1px solid var(--border-main, #00a806); 2713 color: var(--background-site, white); 2714 padding: 5px 13px; 2715 border-radius: 4px; 2716 cursor: pointer; 2717 font-size: 11px; 2718 font-weight: 600; 2719 transition: all 0.2s; 2720 white-space: nowrap; 2721 flex-shrink: 0; 2722} 2723 2724.panel-add-btn:hover { 2725 filter: brightness(1.3); 2726 transform: translateY(-1px); 2727 box-shadow: 0 2px 6px var(--shadow-color, rgba(0,0,0,0.2)); 2728} 2729 2730.panel-standalone-header { 2731 display: flex; 2732 align-items: center; 2733 gap: 8px; 2734 padding: 12px 12px; 2735 background: var(--cell-bg, #fafafa); 2736 border-bottom: 1px solid var(--border-color, #e0e0e0); 2737 flex-shrink: 0; 2738} 2739 2740.panel-header-content { 2741 flex: 1; 2742 display: flex; 2743 flex-direction: column; 2744 align-items: center; 2745 gap: 4px; 2746} 2747 2748.panel-standalone-header h3 { 2749 margin: 0; 2750 font-size: 12px; 2751 font-weight: 600; 2752 color: var(--text-primary, #2c3e50); 2753 white-space: nowrap; 2754} 2755 2756.panel-standalone-header .calendar-month-picker { 2757 cursor: pointer; 2758 user-select: none; 2759 transition: all 0.15s; 2760 padding: 4px 8px; 2761 border-radius: 4px; 2762 white-space: nowrap; 2763} 2764 2765.panel-standalone-header .calendar-month-picker:hover { 2766 background: var(--cell-today-bg, #e8e8e8); 2767 color: var(--text-bright, #008800); 2768} 2769 2770.panel-standalone-header .namespace-badge { 2771 font-size: 11px; 2772 font-weight: 500; 2773 color: var(--text-bright, #388e3c); 2774 background: var(--cell-today-bg, #e8f5e9); 2775 padding: 2px 8px; 2776 border-radius: 3px; 2777 text-decoration: none; 2778 transition: all 0.15s; 2779 display: inline-block; 2780} 2781 2782.panel-standalone-header .namespace-badge:hover { 2783 background: var(--cell-bg, #c8e6c9); 2784 color: var(--text-primary, #2e7d32); 2785} 2786 2787.panel-standalone-actions { 2788 padding: 10px 16px; 2789 background: var(--background-site, #ffffff); 2790 border-bottom: 1px solid var(--border-color, #e0e0e0); 2791 flex-shrink: 0; 2792 display: flex; 2793 align-items: center; 2794 gap: 8px; 2795} 2796 2797.panel-standalone-actions .add-event-compact { 2798 flex-shrink: 0; 2799} 2800 2801.eventlist-day-group { 2802 margin-bottom: 24px; 2803} 2804 2805.eventlist-date { 2806 margin: 0 0 12px 0; 2807 font-size: 14px; 2808 font-weight: 600; 2809 color: var(--text-primary, #2c3e50); 2810 background: var(--cell-bg, #f8f8f8); 2811 padding: 8px 12px; 2812 border-left: 4px solid var(--border-main, #008800); 2813} 2814 2815.eventlist-item { 2816 display: flex; 2817 margin-bottom: 10px; 2818 background: white; 2819 border: 1px solid var(--border-color, #e0e0e0); 2820 border-radius: 4px; 2821 overflow: hidden; 2822} 2823 2824.eventlist-content { 2825 flex: 1; 2826 padding: 12px; 2827 display: flex; 2828 align-items: center; 2829 gap: 12px; 2830} 2831 2832.eventlist-time { 2833 font-size: 12px; 2834 font-weight: 600; 2835 color: var(--text-bright, #008800); 2836 min-width: 50px; 2837} 2838 2839.eventlist-title { 2840 font-size: 14px; 2841 font-weight: 500; 2842 color: var(--text-primary, #2c3e50); 2843} 2844 2845.eventlist-desc { 2846 font-size: 12px; 2847 color: var(--text-dim, #666); 2848 margin-top: 6px; 2849 line-height: 1.4; 2850} 2851 2852/* =================================== 2853 MOBILE RESPONSIVE - EVENTLIST & EVENTPANEL 2854 =================================== */ 2855 2856/* Tablet and below (768px) */ 2857@media (max-width: 768px) { 2858 /* Event Panel Standalone */ 2859 .event-panel-standalone { 2860 width: 100%; 2861 max-width: 100%; 2862 border-radius: 0; 2863 max-height: none; 2864 min-height: 400px; 2865 } 2866 2867 /* Compact Event List Widget */ 2868 .eventlist-compact-widget { 2869 width: 100% !important; 2870 max-width: 100%; 2871 border-radius: 0; 2872 } 2873 2874 .eventlist-widget-header h4 { 2875 font-size: 14px; 2876 } 2877 2878 .eventlist-widget-title { 2879 font-size: 13px; 2880 } 2881 2882 .eventlist-widget-time { 2883 font-size: 12px; 2884 } 2885 2886 /* Standalone event list (old style) */ 2887 .eventlist-standalone { 2888 max-width: 100%; 2889 margin: 10px; 2890 padding: 15px; 2891 border-radius: 0; 2892 } 2893 2894 .eventlist-standalone h3 { 2895 font-size: 16px; 2896 } 2897} 2898 2899/* Mobile (480px and below) */ 2900@media (max-width: 480px) { 2901 /* Event Panel Standalone */ 2902 .event-panel-standalone { 2903 font-size: 12px; 2904 min-height: 300px; 2905 } 2906 2907 .panel-standalone-header { 2908 padding: 10px 12px; 2909 } 2910 2911 .panel-standalone-header h3 { 2912 font-size: 12px; 2913 } 2914 2915 .panel-standalone-actions { 2916 padding: 8px 12px; 2917 } 2918 2919 .event-panel-standalone .event-list-compact { 2920 padding: 8px; 2921 } 2922 2923 /* Compact Event List Widget */ 2924 .eventlist-compact-widget { 2925 min-width: 280px; 2926 } 2927 2928 .eventlist-widget-header { 2929 padding: 6px 10px; 2930 } 2931 2932 .eventlist-widget-header h4 { 2933 font-size: 13px; 2934 } 2935 2936 .eventlist-widget-content { 2937 padding: 6px; 2938 } 2939 2940 .eventlist-widget-item { 2941 padding: 5px 6px; 2942 margin-bottom: 5px; 2943 } 2944 2945 .eventlist-widget-title { 2946 font-size: 12px; 2947 } 2948 2949 .eventlist-widget-time { 2950 font-size: 11px; 2951 } 2952 2953 .eventlist-widget-desc { 2954 font-size: 11px; 2955 } 2956 2957 /* Standalone event list */ 2958 .eventlist-standalone { 2959 margin: 5px; 2960 padding: 10px; 2961 } 2962 2963 .eventlist-standalone h3 { 2964 font-size: 14px; 2965 margin-bottom: 15px; 2966 } 2967 2968 .eventlist-day-group { 2969 margin-bottom: 18px; 2970 } 2971 2972 .eventlist-date { 2973 font-size: 13px; 2974 padding: 6px 10px; 2975 } 2976 2977 .eventlist-title { 2978 font-size: 13px; 2979 } 2980 2981 .eventlist-time { 2982 font-size: 11px; 2983 } 2984 2985 .eventlist-desc { 2986 font-size: 11px; 2987 } 2988} 2989 2990/* Very small mobile (320px) */ 2991@media (max-width: 320px) { 2992 .eventlist-compact-widget { 2993 min-width: 100%; 2994 } 2995 2996 .event-panel-standalone { 2997 min-height: 250px; 2998 } 2999 3000 .eventlist-widget-header h4 { 3001 font-size: 12px; 3002 } 3003 3004 .eventlist-widget-title { 3005 font-size: 11px; 3006 } 3007 3008 .panel-standalone-header h3 { 3009 font-size: 12px; 3010 } 3011} 3012 3013/* Past Events Collapsible Section */ 3014.past-events-section { 3015 margin-bottom: 10px; 3016 border-bottom: 1px solid var(--border-color, #e0e0e0); 3017} 3018 3019.past-events-toggle { 3020 padding: 6px 10px; 3021 background: var(--cell-bg); 3022 color: var(--text-dim); 3023 cursor: pointer; 3024 user-select: none; 3025 font-size: 11px; 3026 font-weight: 600; 3027 display: flex; 3028 align-items: center; 3029 border-radius: 3px; 3030 transition: background 0.2s; 3031} 3032 3033.past-events-toggle:hover { 3034 background: var(--background-alt); 3035} 3036 3037.past-events-arrow { 3038 font-size: 9px; 3039 margin-right: 5px; 3040 transition: transform 0.2s; 3041 display: inline-block; 3042 width: 10px; 3043 color: var(--text-dim); 3044} 3045 3046.past-events-label { 3047 color: var(--text-dim); 3048} 3049 3050.past-events-content { 3051 margin-top: 5px; 3052} 3053 3054/* Namespace Search Dropdown */ 3055.namespace-search-wrapper { 3056 position: relative; 3057} 3058 3059.namespace-search-input { 3060 width: 100%; 3061} 3062 3063.namespace-dropdown { 3064 position: absolute; 3065 top: 100%; 3066 left: 0; 3067 right: 0; 3068 max-height: 200px; 3069 overflow-y: auto; 3070 background: white; 3071 border: 1px solid var(--border-color, #ddd); 3072 border-top: none; 3073 border-radius: 0 0 4px 4px; 3074 box-shadow: 0 4px 8px rgba(0,0,0,0.1); 3075 z-index: 1000; 3076 margin-top: -1px; 3077} 3078 3079.namespace-option { 3080 padding: 8px 12px; 3081 cursor: pointer; 3082 font-size: 12px; 3083 border-bottom: 1px solid var(--border-color, #f0f0f0); 3084 transition: background-color 0.15s; 3085} 3086 3087.namespace-option:hover { 3088 background-color: var(--cell-bg, #f5f5f5); 3089} 3090 3091.namespace-option.selected { 3092 background-color: var(--cell-today-bg, #e3f2fd); 3093 color: var(--text-bright, #1976d2); 3094} 3095 3096.namespace-option:last-child { 3097 border-bottom: none; 3098} 3099 3100/* Matrix-themed Sidebar Widget */ 3101.sidebar-matrix { 3102 font-family: system-ui, sans-serif !important; 3103 background: linear-gradient(180deg, #242424 0%, #2a2a2a 100%) !important; 3104 border: 2px solid #00cc07 !important; 3105 box-shadow: 0 0 15px rgba(0, 204, 7, 0.4), inset 0 0 20px rgba(0, 204, 7, 0.05) !important; 3106} 3107 3108.sidebar-matrix-header { 3109 background: linear-gradient(180deg, #2a2a2a 0%, #242424 100%) !important; 3110 border-bottom: 2px solid #00cc07 !important; 3111 box-shadow: 0 2px 8px rgba(0, 204, 7, 0.3) !important; 3112} 3113 3114.sidebar-matrix-clock { 3115 animation: matrix-pulse 2s ease-in-out infinite; 3116} 3117 3118.sidebar-matrix-date { 3119 opacity: 0.9; 3120} 3121 3122@keyframes matrix-pulse { 3123 0%, 100% { 3124 text-shadow: 0 0 2px rgba(0, 204, 7, 0.4); 3125 } 3126 50% { 3127 text-shadow: 0 0 4px rgba(0, 255, 0, 0.5), 0 0 6px rgba(0, 204, 7, 0.3); 3128 } 3129} 3130 3131/* Matrix glow effect for sidebar */ 3132.sidebar-widget.sidebar-matrix::before { 3133 content: ''; 3134 position: absolute; 3135 top: -2px; 3136 left: -2px; 3137 right: -2px; 3138 bottom: -2px; 3139 background: linear-gradient(45deg, #00cc07, #00ff00, #00cc07); 3140 border-radius: 4px; 3141 opacity: 0; 3142 z-index: -1; 3143 animation: matrix-border-glow 3s ease-in-out infinite; 3144} 3145 3146@keyframes matrix-border-glow { 3147 0%, 100% { 3148 opacity: 0; 3149 } 3150 50% { 3151 opacity: 0.3; 3152 } 3153} 3154 3155/* Scrollbar styling for matrix theme */ 3156.sidebar-matrix ::-webkit-scrollbar { 3157 width: 6px; 3158} 3159 3160.sidebar-matrix ::-webkit-scrollbar-track { 3161 background: #242424; 3162} 3163 3164.sidebar-matrix ::-webkit-scrollbar-thumb { 3165 background: #00cc07; 3166 border-radius: 3px; 3167 box-shadow: 0 0 5px rgba(0, 204, 7, 0.5); 3168} 3169 3170.sidebar-matrix ::-webkit-scrollbar-thumb:hover { 3171 background: #00ff00; 3172 box-shadow: 0 0 8px rgba(0, 255, 0, 0.8); 3173} 3174 3175/* ==================================== 3176 PINK BLING THEME - SPECIAL EFFECTS 3177 ==================================== */ 3178 3179/* Shimmer animation for today's cell - BARELY NOTICEABLE */ 3180@keyframes pink-shimmer { 3181 0% { 3182 box-shadow: 0 0 2px rgba(255, 20, 147, 0.15), 3183 0 0 3px rgba(255, 20, 147, 0.08); 3184 } 3185 50% { 3186 box-shadow: 0 0 4px rgba(255, 20, 147, 0.25), 3187 0 0 6px rgba(255, 20, 147, 0.12); 3188 } 3189 100% { 3190 box-shadow: 0 0 2px rgba(255, 20, 147, 0.15), 3191 0 0 3px rgba(255, 20, 147, 0.08); 3192 } 3193} 3194 3195/* Sparkle animation for today's day number - BARELY NOTICEABLE */ 3196@keyframes pink-sparkle { 3197 0%, 100% { 3198 text-shadow: 0 0 2px rgba(255, 20, 147, 0.3); 3199 transform: scale(1); 3200 } 3201 50% { 3202 text-shadow: 0 0 3px rgba(255, 20, 147, 0.5); 3203 transform: scale(1.01); 3204 } 3205} 3206 3207/* Glow pulse for event bars - BARELY NOTICEABLE */ 3208@keyframes pink-glow-pulse { 3209 0%, 100% { 3210 box-shadow: 0 0 1px currentColor; 3211 } 3212 50% { 3213 box-shadow: 0 0 2px currentColor, 3214 0 0 3px rgba(255, 105, 180, 0.15); 3215 } 3216} 3217 3218/* Gradient shimmer for headers */ 3219@keyframes pink-gradient-shimmer { 3220 0% { 3221 background-position: 0% 50%; 3222 } 3223 50% { 3224 background-position: 100% 50%; 3225 } 3226 100% { 3227 background-position: 0% 50%; 3228 } 3229} 3230 3231/* Pink particle explosion on click */ 3232@keyframes particle-explode { 3233 0% { 3234 opacity: 1; 3235 transform: translate(0, 0) scale(1); 3236 } 3237 100% { 3238 opacity: 0; 3239 transform: translate(var(--tx), var(--ty)) scale(0); 3240 } 3241} 3242 3243/* Cursor trail glow */ 3244@keyframes cursor-trail-fade { 3245 0% { 3246 opacity: 1; 3247 transform: scale(1); 3248 } 3249 100% { 3250 opacity: 0; 3251 transform: scale(0.5); 3252 } 3253} 3254 3255/* Pink particle styles */ 3256.pink-particle { 3257 position: fixed; /* Changed to fixed so it works anywhere on screen */ 3258 width: 6px; 3259 height: 6px; 3260 background: radial-gradient(circle, #ff1493, #ff69b4); 3261 border-radius: 50%; 3262 pointer-events: none; 3263 z-index: 9999999; /* Above everything including dialogs */ 3264 box-shadow: 0 0 8px #ff1493, 3265 0 0 15px #ff69b4; 3266} 3267 3268/* Cursor trail glow */ 3269.pink-cursor-trail { 3270 position: fixed; /* Changed to fixed so it works anywhere on screen */ 3271 width: 8px; 3272 height: 8px; 3273 background: radial-gradient(circle, rgba(255, 20, 147, 0.8), rgba(255, 105, 180, 0.4)); 3274 border-radius: 50%; 3275 pointer-events: none; 3276 z-index: 9999998; /* Just below particles */ 3277 box-shadow: 0 0 10px rgba(255, 20, 147, 0.6), 3278 0 0 20px rgba(255, 105, 180, 0.3); 3279} 3280 3281/* Tiny neon pixel sparkles */ 3282.pink-pixel-sparkle { 3283 position: fixed; 3284 width: 2px; 3285 height: 2px; 3286 background: var(--background-site, #fff); 3287 border-radius: 50%; 3288 pointer-events: none; 3289 z-index: 9999997; /* Just below trail */ 3290 box-shadow: 0 0 2px #ff1493, 3291 0 0 4px #ff69b4, 3292 0 0 6px #fff; 3293} 3294 3295/* Pixel sparkle twinkle animation */ 3296@keyframes pixel-twinkle { 3297 0%, 100% { 3298 opacity: 0; 3299 transform: scale(0); 3300 } 3301 50% { 3302 opacity: 1; 3303 transform: scale(1.5); 3304 } 3305} 3306 3307/* Pixel sparkle float away */ 3308@keyframes pixel-float-away { 3309 0% { 3310 opacity: 1; 3311 transform: translateY(0) scale(1); 3312 } 3313 100% { 3314 opacity: 0; 3315 transform: translateY(-30px) scale(0); 3316 } 3317} 3318 3319/* Pink theme specific styles - TONED DOWN */ 3320.calendar-theme-pink .cal-today { 3321 animation: pink-shimmer 2s ease-in-out infinite; 3322 border: 2px solid #ff1493 !important; 3323 position: relative; 3324 overflow: visible; 3325} 3326 3327.calendar-theme-pink .cal-today .day-num, 3328.calendar-theme-pink .day-num-today { 3329 background: transparent !important; 3330 color: #fff !important; 3331 position: relative; 3332 z-index: 1; 3333 font-weight: 700; 3334 filter: none; 3335 width: 22px; 3336 height: 22px; 3337 line-height: 22px; 3338 text-align: center; 3339 font-size: 10px; 3340 padding: 0; 3341 display: inline-flex; 3342 align-items: center; 3343 justify-content: center; 3344 overflow: visible; 3345} 3346 3347/* Heart shape behind the day number */ 3348.calendar-theme-pink .cal-today .day-num::before, 3349.calendar-theme-pink .day-num-today::before { 3350 content: '♥'; 3351 position: absolute; 3352 top: 50%; 3353 left: 50%; 3354 transform: translate(-50%, -48%); 3355 font-size: 26px; 3356 color: #ff1493; 3357 z-index: -1; 3358 text-shadow: 0 0 8px rgba(255, 20, 147, 0.7), 3359 0 0 16px rgba(255, 20, 147, 0.4), 3360 0 0 24px rgba(255, 105, 180, 0.2); 3361 animation: pink-heart-beat 1.2s ease-in-out infinite; 3362 line-height: 1; 3363} 3364 3365/* Heart beat animation */ 3366@keyframes pink-heart-beat { 3367 0%, 100% { 3368 transform: translate(-50%, -48%) scale(1); 3369 text-shadow: 0 0 8px rgba(255, 20, 147, 0.7), 3370 0 0 16px rgba(255, 20, 147, 0.4); 3371 } 3372 15% { 3373 transform: translate(-50%, -48%) scale(1.15); 3374 text-shadow: 0 0 12px rgba(255, 20, 147, 0.9), 3375 0 0 24px rgba(255, 20, 147, 0.5), 3376 0 0 36px rgba(255, 105, 180, 0.3); 3377 } 3378 30% { 3379 transform: translate(-50%, -48%) scale(0.95); 3380 } 3381 45% { 3382 transform: translate(-50%, -48%) scale(1.1); 3383 text-shadow: 0 0 10px rgba(255, 20, 147, 0.8), 3384 0 0 20px rgba(255, 20, 147, 0.4); 3385 } 3386 60% { 3387 transform: translate(-50%, -48%) scale(1); 3388 } 3389} 3390 3391.calendar-theme-pink .event-bar { 3392 animation: pink-glow-pulse 2s ease-in-out infinite; 3393} 3394 3395.calendar-theme-pink .calendar-compact-header { 3396 background: linear-gradient(90deg, #2d1a24, #3d2030, #2d1a24, #1a0d14); 3397 background-size: 300% 300%; 3398 animation: pink-gradient-shimmer 3s ease infinite; 3399} 3400 3401.calendar-theme-pink .event-list-header { 3402 background: linear-gradient(90deg, #2d1a24, #3d2030, #2d1a24); 3403 background-size: 300% 300%; 3404 animation: pink-gradient-shimmer 3s ease infinite; 3405} 3406 3407/* Subtle hover glow - BARELY NOTICEABLE */ 3408.calendar-theme-pink .cal-today:hover { 3409 box-shadow: 0 0 5px rgba(255, 20, 147, 0.25), 3410 0 0 8px rgba(255, 20, 147, 0.12) !important; 3411} 3412 3413/* Pink theme event items get subtle glow */ 3414.calendar-theme-pink .event-compact-item { 3415 box-shadow: 0 0 1px rgba(255, 20, 147, 0.08); 3416 transition: all 0.3s ease; 3417} 3418 3419.calendar-theme-pink .event-compact-item:hover { 3420 box-shadow: 0 0 3px rgba(255, 20, 147, 0.15); 3421 transform: translateX(2px); 3422} 3423 3424/* Calendar borders get subtle glow */ 3425.calendar-theme-pink.calendar-compact-container { 3426 box-shadow: 0 0 5px rgba(255, 20, 147, 0.12), 3427 0 2px 4px rgba(0,0,0,0.06); 3428 position: relative; 3429} 3430 3431/* Today badge extra sparkle */ 3432.calendar-theme-pink .event-today-badge { 3433 animation: pink-sparkle 1.5s ease-in-out infinite; 3434} 3435 3436/* Consistent subtle text glow for dark themes - main calendar event list */ 3437.calendar-theme-matrix .event-title-compact, 3438.calendar-theme-matrix .event-meta-compact, 3439.calendar-theme-matrix .event-desc-compact { 3440 text-shadow: 0 0 1px var(--text-primary, #00cc07); 3441} 3442 3443.calendar-theme-purple .event-title-compact, 3444.calendar-theme-purple .event-meta-compact, 3445.calendar-theme-purple .event-desc-compact { 3446 text-shadow: 0 0 1px var(--text-primary, #b19cd9); 3447} 3448 3449.calendar-theme-pink .event-title-compact, 3450.calendar-theme-pink .event-meta-compact, 3451.calendar-theme-pink .event-desc-compact { 3452 text-shadow: 0 0 2px var(--text-primary, #ff69b4); 3453} 3454 3455/* Dark theme link glow */ 3456.calendar-theme-matrix .event-desc-compact a, 3457.calendar-theme-matrix .cal-link { 3458 text-shadow: 0 0 1px var(--text-bright, #00ff00); 3459} 3460 3461.calendar-theme-purple .event-desc-compact a, 3462.calendar-theme-purple .cal-link { 3463 text-shadow: 0 0 1px var(--text-bright, #d4a5ff); 3464} 3465 3466.calendar-theme-pink .event-desc-compact a, 3467.calendar-theme-pink .cal-link { 3468 text-shadow: 0 0 2px var(--text-bright, #ff1493); 3469} 3470 3471/* Dark theme event panel text glow */ 3472.event-panel-standalone[data-theme="matrix"] .event-title-compact, 3473.event-panel-standalone[data-theme="matrix"] .event-meta-compact, 3474.event-panel-standalone[data-theme="matrix"] .event-desc-compact { 3475 text-shadow: 0 0 1px var(--text-primary, #00cc07); 3476} 3477 3478.event-panel-standalone[data-theme="purple"] .event-title-compact, 3479.event-panel-standalone[data-theme="purple"] .event-meta-compact, 3480.event-panel-standalone[data-theme="purple"] .event-desc-compact { 3481 text-shadow: 0 0 1px var(--text-primary, #b19cd9); 3482} 3483 3484.event-panel-standalone[data-theme="pink"] .event-title-compact, 3485.event-panel-standalone[data-theme="pink"] .event-meta-compact, 3486.event-panel-standalone[data-theme="pink"] .event-desc-compact { 3487 text-shadow: 0 0 2px var(--text-primary, #ff69b4); 3488} 3489 3490/* Past due badge pulsing effect - SUBTLE */ 3491@keyframes pink-pulse-urgent { 3492 0%, 100% { 3493 box-shadow: 0 0 3px rgba(255, 140, 0, 0.4); 3494 } 3495 50% { 3496 box-shadow: 0 0 8px rgba(255, 140, 0, 0.6); 3497 } 3498} 3499 3500.calendar-theme-pink .event-pastdue-badge { 3501 animation: pink-pulse-urgent 1s ease-in-out infinite; 3502} 3503 3504/* ======================================== 3505 MATRIX THEME: CHECKBOX GLOW 3506 ======================================== */ 3507.calendar-theme-matrix .task-checkbox, 3508.sidebar-matrix .task-checkbox { 3509 border: 2px solid #00ff00; 3510 background: rgba(0, 204, 7, 0.08); 3511 box-shadow: 0 0 6px rgba(0, 255, 0, 0.3), inset 0 0 4px rgba(0, 204, 7, 0.1); 3512} 3513 3514.calendar-theme-matrix .task-checkbox:hover, 3515.sidebar-matrix .task-checkbox:hover { 3516 border-color: #00ff00; 3517 box-shadow: 0 0 10px rgba(0, 255, 0, 0.5), inset 0 0 6px rgba(0, 204, 7, 0.2); 3518} 3519 3520.calendar-theme-matrix .task-checkbox:checked, 3521.sidebar-matrix .task-checkbox:checked { 3522 background: #00cc07; 3523 border-color: #00ff00; 3524 box-shadow: 0 0 8px rgba(0, 255, 0, 0.6); 3525} 3526 3527/* ======================================== 3528 PURPLE THEME: CHECKBOX GLOW 3529 ======================================== */ 3530.calendar-theme-purple .task-checkbox, 3531.sidebar-purple .task-checkbox { 3532 border: 2px solid #d4a5ff; 3533 background: rgba(155, 89, 182, 0.08); 3534 box-shadow: 0 0 6px rgba(212, 165, 255, 0.3), inset 0 0 4px rgba(155, 89, 182, 0.1); 3535} 3536 3537.calendar-theme-purple .task-checkbox:hover, 3538.sidebar-purple .task-checkbox:hover { 3539 border-color: #d4a5ff; 3540 box-shadow: 0 0 10px rgba(212, 165, 255, 0.5), inset 0 0 6px rgba(155, 89, 182, 0.2); 3541} 3542 3543.calendar-theme-purple .task-checkbox:checked, 3544.sidebar-purple .task-checkbox:checked { 3545 background: #9b59b6; 3546 border-color: #d4a5ff; 3547 box-shadow: 0 0 8px rgba(212, 165, 255, 0.6); 3548} 3549 3550/* ======================================== 3551 PINK THEME: CHECKBOX GLOW 3552 ======================================== */ 3553.calendar-theme-pink .task-checkbox, 3554.sidebar-pink .task-checkbox { 3555 border: 2px solid #ff1493; 3556 background: rgba(255, 20, 147, 0.08); 3557 box-shadow: 0 0 6px rgba(255, 20, 147, 0.35), inset 0 0 4px rgba(255, 20, 147, 0.1); 3558} 3559 3560.calendar-theme-pink .task-checkbox:hover, 3561.sidebar-pink .task-checkbox:hover { 3562 border-color: #ff69b4; 3563 box-shadow: 0 0 10px rgba(255, 20, 147, 0.6), inset 0 0 6px rgba(255, 20, 147, 0.2); 3564} 3565 3566.calendar-theme-pink .task-checkbox:checked, 3567.sidebar-pink .task-checkbox:checked { 3568 background: #ff1493; 3569 border-color: #ff69b4; 3570 box-shadow: 0 0 8px rgba(255, 20, 147, 0.7); 3571} 3572 3573/* Pink checkbox in dialog forms */ 3574.calendar-theme-pink .checkbox-label input[type="checkbox"], 3575.calendar-theme-pink .checkbox-label-compact input[type="checkbox"] { 3576 accent-color: #ff1493; 3577} 3578 3579/* Wiki theme checkboxes - use border color */ 3580.calendar-theme-wiki .task-checkbox, 3581.sidebar-wiki .task-checkbox, 3582.eventlist-theme-wiki .task-checkbox { 3583 border: 2px solid var(--border-main, #ccc); 3584 accent-color: var(--border-main, #ccc); 3585} 3586 3587.calendar-theme-wiki .task-checkbox:hover, 3588.sidebar-wiki .task-checkbox:hover, 3589.eventlist-theme-wiki .task-checkbox:hover { 3590 border: 2px solid var(--border-main, #ccc); 3591 box-shadow: 0 0 8px rgba(0, 0, 0, 0.15); 3592} 3593 3594.calendar-theme-wiki .task-checkbox:checked, 3595.sidebar-wiki .task-checkbox:checked, 3596.eventlist-theme-wiki .task-checkbox:checked { 3597 background: var(--border-main, #ccc); 3598 border: 2px solid var(--border-main, #ccc); 3599} 3600 3601/* Wiki theme buttons - use __link__ color */ 3602.calendar-theme-wiki .cal-nav-btn, 3603.calendar-theme-wiki .cal-today-btn { 3604 background: var(--text-bright, #2b73b7); 3605 color: #fff; 3606} 3607 3608/* Wiki theme day headers - use __background_neu__ */ 3609.calendar-theme-wiki .calendar-day-headers { 3610 background: var(--cell-today-bg, #eee); 3611} 3612 3613/* Wiki theme past events toggle - use __background_neu__ */ 3614.calendar-theme-wiki .past-events-toggle { 3615 background: var(--cell-today-bg, #eee); 3616} 3617 3618.calendar-theme-wiki .calendar-day-headers span { 3619 color: var(--text-primary, #333); 3620} 3621 3622.sidebar-wiki .panel-nav-btn, 3623.sidebar-wiki .panel-today-btn { 3624 background: var(--text-bright, #2b73b7); 3625 color: #fff; 3626} 3627 3628.event-panel-standalone[data-theme="wiki"] .panel-nav-btn, 3629.event-panel-standalone[data-theme="wiki"] .panel-today-btn { 3630 background: var(--text-bright, #2b73b7); 3631 color: #fff; 3632} 3633 3634/* Wiki theme clock - no glow */ 3635.sidebar-wiki .eventlist-today-clock, 3636.eventlist-theme-wiki .eventlist-today-clock { 3637 text-shadow: none; 3638} 3639 3640/* Wiki theme clock - no glow, slightly larger */ 3641.sidebar-wiki .eventlist-today-clock, 3642.eventlist-theme-wiki .eventlist-today-clock { 3643 text-shadow: none; 3644 font-size: 20px; 3645} 3646 3647/* ======================================== 3648 PINK THEME: BUTTON FIREWORK BURST HOVER 3649 ======================================== */ 3650@keyframes pink-firework-burst { 3651 0% { 3652 box-shadow: 0 0 4px rgba(255, 20, 147, 0.4); 3653 } 3654 25% { 3655 box-shadow: 0 0 15px rgba(255, 20, 147, 0.8), 3656 0 0 30px rgba(255, 105, 180, 0.4), 3657 5px -5px 8px rgba(255, 20, 147, 0.6), 3658 -5px -5px 8px rgba(255, 105, 180, 0.5), 3659 5px 5px 8px rgba(255, 133, 193, 0.4), 3660 -5px 5px 8px rgba(255, 20, 147, 0.5); 3661 } 3662 50% { 3663 box-shadow: 0 0 20px rgba(255, 20, 147, 0.9), 3664 0 0 40px rgba(255, 105, 180, 0.5), 3665 8px -8px 12px rgba(255, 20, 147, 0.5), 3666 -8px -8px 12px rgba(255, 105, 180, 0.4), 3667 8px 8px 12px rgba(255, 133, 193, 0.3), 3668 -8px 8px 12px rgba(255, 20, 147, 0.4), 3669 0 -10px 15px rgba(255, 20, 147, 0.3), 3670 10px 0 15px rgba(255, 105, 180, 0.3); 3671 } 3672 75% { 3673 box-shadow: 0 0 12px rgba(255, 20, 147, 0.6), 3674 0 0 25px rgba(255, 105, 180, 0.3), 3675 12px -12px 8px rgba(255, 20, 147, 0.2), 3676 -12px -12px 8px rgba(255, 105, 180, 0.15), 3677 12px 12px 8px rgba(255, 133, 193, 0.1), 3678 -12px 12px 8px rgba(255, 20, 147, 0.15); 3679 } 3680 100% { 3681 box-shadow: 0 0 6px rgba(255, 20, 147, 0.5), 3682 0 0 15px rgba(255, 105, 180, 0.3); 3683 } 3684} 3685 3686/* Apply firework burst to all pink theme buttons on hover */ 3687.calendar-theme-pink .cal-nav-btn:hover, 3688.calendar-theme-pink .cal-today-btn:hover, 3689.calendar-theme-pink .btn-save-sleek:hover, 3690.calendar-theme-pink .btn-cancel-sleek:hover, 3691.calendar-theme-pink .btn-add-event:hover, 3692.calendar-theme-pink .event-edit-btn:hover, 3693.calendar-theme-pink .event-delete-btn:hover, 3694.calendar-theme-pink .event-action-btn:hover { 3695 background: #ff1493 !important; 3696 color: #1a0d14 !important; 3697 border-color: #ff69b4 !important; 3698 animation: pink-firework-burst 0.6s ease-out forwards; 3699 transform: scale(1.1); 3700 filter: brightness(1.4); 3701} 3702 3703.calendar-theme-pink .cal-nav-btn:active, 3704.calendar-theme-pink .cal-today-btn:active, 3705.calendar-theme-pink .btn-save-sleek:active, 3706.calendar-theme-pink .btn-cancel-sleek:active, 3707.calendar-theme-pink .btn-add-event:active { 3708 transform: scale(0.92); 3709 filter: brightness(1.6); 3710 animation: none; 3711 box-shadow: 0 0 25px rgba(255, 20, 147, 1), 0 0 50px rgba(255, 105, 180, 0.6); 3712} 3713 3714/* Sidebar pink button firework */ 3715.sidebar-pink .event-edit-btn:hover, 3716.sidebar-pink .event-delete-btn:hover { 3717 background: #ff1493 !important; 3718 color: #1a0d14 !important; 3719 animation: pink-firework-burst 0.6s ease-out forwards; 3720 transform: scale(1.1); 3721} 3722 3723/* Panel standalone pink buttons */ 3724.event-panel-standalone[data-theme="pink"] .panel-nav-btn:hover, 3725.event-panel-standalone[data-theme="pink"] .panel-today-btn:hover, 3726.event-panel-standalone[data-theme="pink"] .panel-add-btn:hover { 3727 background: #ff1493 !important; 3728 color: #1a0d14 !important; 3729 animation: pink-firework-burst 0.6s ease-out forwards; 3730 transform: scale(1.1); 3731} 3732 3733/* ======================================== 3734 TEXT COLOR PROTECTION 3735 Forces text to stay readable on dark themes 3736 when browser extensions modify page colors. 3737 Only uses color !important — no filter, no 3738 color-scheme, no variable resets. 3739 ======================================== */ 3740 3741/* Matrix: green text on dark background */ 3742.calendar-theme-matrix .event-title-compact, 3743.calendar-theme-matrix .event-list-header, 3744.calendar-theme-matrix .calendar-day-headers, 3745.sidebar-matrix .event-title-compact { 3746 color: var(--text-bright, #00ff00) !important; 3747 -webkit-text-fill-color: var(--text-bright, #00ff00) !important; 3748} 3749 3750.calendar-theme-matrix .event-meta-compact, 3751.calendar-theme-matrix .event-desc-compact, 3752.calendar-theme-matrix .no-events-msg, 3753.sidebar-matrix .event-meta-compact, 3754.sidebar-matrix .event-desc-compact { 3755 color: var(--text-dim, #00aa00) !important; 3756 -webkit-text-fill-color: var(--text-dim, #00aa00) !important; 3757} 3758 3759.calendar-theme-matrix .day-num, 3760.calendar-theme-matrix .cal-nav-btn, 3761.calendar-theme-matrix .cal-today-btn, 3762.sidebar-matrix .eventlist-today-date { 3763 color: var(--text-primary, #00cc07) !important; 3764 -webkit-text-fill-color: var(--text-primary, #00cc07) !important; 3765} 3766 3767/* Purple: purple text on dark background */ 3768.calendar-theme-purple .event-title-compact, 3769.calendar-theme-purple .event-list-header, 3770.calendar-theme-purple .calendar-day-headers, 3771.sidebar-purple .event-title-compact { 3772 color: var(--text-bright, #d4a5ff) !important; 3773 -webkit-text-fill-color: var(--text-bright, #d4a5ff) !important; 3774} 3775 3776.calendar-theme-purple .event-meta-compact, 3777.calendar-theme-purple .event-desc-compact, 3778.calendar-theme-purple .no-events-msg, 3779.sidebar-purple .event-meta-compact, 3780.sidebar-purple .event-desc-compact { 3781 color: var(--text-dim, #8e7ab8) !important; 3782 -webkit-text-fill-color: var(--text-dim, #8e7ab8) !important; 3783} 3784 3785.calendar-theme-purple .day-num, 3786.calendar-theme-purple .cal-nav-btn, 3787.calendar-theme-purple .cal-today-btn, 3788.sidebar-purple .eventlist-today-date { 3789 color: var(--text-primary, #b19cd9) !important; 3790 -webkit-text-fill-color: var(--text-primary, #b19cd9) !important; 3791} 3792 3793/* Pink: pink text on dark background */ 3794.calendar-theme-pink .event-title-compact, 3795.calendar-theme-pink .event-list-header, 3796.calendar-theme-pink .calendar-day-headers, 3797.sidebar-pink .event-title-compact { 3798 color: var(--text-bright, #ff1493) !important; 3799 -webkit-text-fill-color: var(--text-bright, #ff1493) !important; 3800} 3801 3802.calendar-theme-pink .event-meta-compact, 3803.calendar-theme-pink .event-desc-compact, 3804.calendar-theme-pink .no-events-msg, 3805.sidebar-pink .event-meta-compact, 3806.sidebar-pink .event-desc-compact { 3807 color: var(--text-dim, #ff85c1) !important; 3808 -webkit-text-fill-color: var(--text-dim, #ff85c1) !important; 3809} 3810 3811.calendar-theme-pink .day-num, 3812.calendar-theme-pink .cal-nav-btn, 3813.calendar-theme-pink .cal-today-btn, 3814.sidebar-pink .eventlist-today-date { 3815 color: var(--text-primary, #ff69b4) !important; 3816 -webkit-text-fill-color: var(--text-primary, #ff69b4) !important; 3817} 3818 3819/* Badge text AND background protection - all dark themes */ 3820.calendar-theme-matrix .event-today-badge, 3821.calendar-theme-matrix .event-pastdue-badge, 3822.calendar-theme-matrix .event-namespace-badge, 3823.calendar-theme-matrix .eventlist-simple-today-badge, 3824.calendar-theme-matrix .eventlist-simple-pastdue-badge, 3825.calendar-theme-matrix .panel-ns-badge, 3826.sidebar-matrix .event-today-badge, 3827.sidebar-matrix .event-pastdue-badge, 3828.sidebar-matrix .event-namespace-badge, 3829.calendar-theme-purple .event-today-badge, 3830.calendar-theme-purple .event-pastdue-badge, 3831.calendar-theme-purple .event-namespace-badge, 3832.calendar-theme-purple .eventlist-simple-today-badge, 3833.calendar-theme-purple .eventlist-simple-pastdue-badge, 3834.calendar-theme-purple .panel-ns-badge, 3835.sidebar-purple .event-today-badge, 3836.sidebar-purple .event-pastdue-badge, 3837.sidebar-purple .event-namespace-badge, 3838.calendar-theme-pink .event-today-badge, 3839.calendar-theme-pink .event-pastdue-badge, 3840.calendar-theme-pink .event-namespace-badge, 3841.calendar-theme-pink .eventlist-simple-today-badge, 3842.calendar-theme-pink .eventlist-simple-pastdue-badge, 3843.calendar-theme-pink .panel-ns-badge, 3844.sidebar-pink .event-today-badge, 3845.sidebar-pink .event-pastdue-badge, 3846.sidebar-pink .event-namespace-badge { 3847 color: var(--background-site, white) !important; 3848 -webkit-text-fill-color: var(--background-site, white) !important; 3849 background: var(--text-bright) !important; 3850} 3851 3852.calendar-theme-matrix .event-pastdue-badge, 3853.calendar-theme-purple .event-pastdue-badge, 3854.calendar-theme-pink .event-pastdue-badge, 3855.calendar-theme-matrix .eventlist-simple-pastdue-badge, 3856.calendar-theme-purple .eventlist-simple-pastdue-badge, 3857.calendar-theme-pink .eventlist-simple-pastdue-badge, 3858.sidebar-matrix .event-pastdue-badge, 3859.sidebar-purple .event-pastdue-badge, 3860.sidebar-pink .event-pastdue-badge { 3861 background: var(--pastdue-color, #e74c3c) !important; 3862} 3863 3864/* Purple: sidebar section event text and section headers */ 3865.sidebar-purple .event-title-compact, 3866.sidebar-purple .event-meta-compact, 3867.sidebar-purple .event-desc-compact { 3868 color: var(--text-primary, #b19cd9) !important; 3869 -webkit-text-fill-color: var(--text-primary, #b19cd9) !important; 3870} 3871 3872.sidebar-purple .eventlist-today-clock { 3873 color: var(--text-bright, #d4a5ff) !important; 3874 -webkit-text-fill-color: var(--text-bright, #d4a5ff) !important; 3875} 3876 3877.sidebar-purple .eventlist-today-date { 3878 color: var(--text-dim, #8e7ab8) !important; 3879 -webkit-text-fill-color: var(--text-dim, #8e7ab8) !important; 3880} 3881 3882/* Pink: sidebar section event text */ 3883.sidebar-pink .event-title-compact { 3884 color: var(--text-bright, #ff1493) !important; 3885 -webkit-text-fill-color: var(--text-bright, #ff1493) !important; 3886} 3887 3888.sidebar-pink .eventlist-today-clock { 3889 color: var(--text-bright, #ff1493) !important; 3890 -webkit-text-fill-color: var(--text-bright, #ff1493) !important; 3891} 3892 3893.sidebar-pink .eventlist-today-date { 3894 color: var(--text-dim, #ff85c1) !important; 3895 -webkit-text-fill-color: var(--text-dim, #ff85c1) !important; 3896} 3897 3898/* ======================================== 3899 EVENTLIST THEMING 3900 Applies theme colors to {{eventlist}} output 3901 ======================================== */ 3902 3903/* Matrix eventlist */ 3904.eventlist-theme-matrix .eventlist-simple-title { 3905 color: var(--text-bright, #00ff00) !important; 3906 -webkit-text-fill-color: var(--text-bright, #00ff00) !important; 3907} 3908 3909.eventlist-theme-matrix .eventlist-simple-header { 3910 color: var(--text-primary, #00cc07) !important; 3911 -webkit-text-fill-color: var(--text-primary, #00cc07) !important; 3912 background: var(--cell-bg, #242424) !important; 3913} 3914 3915.eventlist-theme-matrix .eventlist-simple-time, 3916.eventlist-theme-matrix .eventlist-simple-date, 3917.eventlist-theme-matrix .eventlist-simple-body { 3918 color: var(--text-dim, #00aa00) !important; 3919 -webkit-text-fill-color: var(--text-dim, #00aa00) !important; 3920 background: var(--background-site, #242424) !important; 3921} 3922 3923.eventlist-theme-matrix .eventlist-simple-body a { 3924 color: var(--text-bright, #00ff00) !important; 3925 -webkit-text-fill-color: var(--text-bright, #00ff00) !important; 3926} 3927 3928.eventlist-theme-matrix .eventlist-simple-body strong { 3929 color: var(--text-primary, #00cc07) !important; 3930 -webkit-text-fill-color: var(--text-primary, #00cc07) !important; 3931} 3932 3933.eventlist-theme-matrix .eventlist-simple-body code { 3934 background: var(--cell-bg, #1a3d1a) !important; 3935 color: var(--text-primary, #00cc07) !important; 3936 -webkit-text-fill-color: var(--text-primary, #00cc07) !important; 3937} 3938 3939.eventlist-theme-matrix .eventlist-simple-namespace { 3940 background: var(--cell-today-bg, #2a4d2a) !important; 3941 color: var(--text-bright, #00ff00) !important; 3942 -webkit-text-fill-color: var(--text-bright, #00ff00) !important; 3943} 3944 3945.eventlist-theme-matrix .eventlist-simple-empty, 3946.eventlist-theme-matrix .eventlist-simple-empty .eventlist-simple-body { 3947 color: var(--text-dim, #00aa00) !important; 3948 -webkit-text-fill-color: var(--text-dim, #00aa00) !important; 3949} 3950 3951.eventlist-theme-matrix .eventlist-simple-item { 3952 border-bottom-color: var(--border-color, #00cc07) !important; 3953} 3954 3955.eventlist-theme-matrix .eventlist-today-header { 3956 background: var(--cell-bg, #242424) !important; 3957 color: var(--text-bright, #00ff00) !important; 3958 -webkit-text-fill-color: var(--text-bright, #00ff00) !important; 3959 border-color: var(--text-bright, #00ff00) !important; 3960} 3961 3962.eventlist-theme-matrix .eventlist-today-clock { 3963 color: var(--text-bright, #00ff00) !important; 3964 -webkit-text-fill-color: var(--text-bright, #00ff00) !important; 3965} 3966 3967.eventlist-theme-matrix .eventlist-today-date { 3968 color: var(--text-dim, #00aa00) !important; 3969 -webkit-text-fill-color: var(--text-dim, #00aa00) !important; 3970} 3971 3972/* Purple eventlist */ 3973.eventlist-theme-purple .eventlist-simple-title { 3974 color: var(--text-bright, #d4a5ff) !important; 3975 -webkit-text-fill-color: var(--text-bright, #d4a5ff) !important; 3976} 3977 3978.eventlist-theme-purple .eventlist-simple-header { 3979 color: var(--text-primary, #b19cd9) !important; 3980 -webkit-text-fill-color: var(--text-primary, #b19cd9) !important; 3981 background: var(--cell-bg, #2a2030) !important; 3982} 3983 3984.eventlist-theme-purple .eventlist-simple-time, 3985.eventlist-theme-purple .eventlist-simple-date, 3986.eventlist-theme-purple .eventlist-simple-body { 3987 color: var(--text-dim, #8e7ab8) !important; 3988 -webkit-text-fill-color: var(--text-dim, #8e7ab8) !important; 3989 background: var(--background-site, #2a2030) !important; 3990} 3991 3992.eventlist-theme-purple .eventlist-simple-body a { 3993 color: var(--text-bright, #d4a5ff) !important; 3994 -webkit-text-fill-color: var(--text-bright, #d4a5ff) !important; 3995} 3996 3997.eventlist-theme-purple .eventlist-simple-body strong { 3998 color: var(--text-primary, #b19cd9) !important; 3999 -webkit-text-fill-color: var(--text-primary, #b19cd9) !important; 4000} 4001 4002.eventlist-theme-purple .eventlist-simple-body code { 4003 background: var(--cell-bg, #3d2b4d) !important; 4004 color: var(--text-primary, #b19cd9) !important; 4005 -webkit-text-fill-color: var(--text-primary, #b19cd9) !important; 4006} 4007 4008.eventlist-theme-purple .eventlist-simple-namespace { 4009 background: var(--cell-today-bg, #3d2b4d) !important; 4010 color: var(--text-bright, #d4a5ff) !important; 4011 -webkit-text-fill-color: var(--text-bright, #d4a5ff) !important; 4012} 4013 4014.eventlist-theme-purple .eventlist-simple-empty, 4015.eventlist-theme-purple .eventlist-simple-empty .eventlist-simple-body { 4016 color: var(--text-dim, #8e7ab8) !important; 4017 -webkit-text-fill-color: var(--text-dim, #8e7ab8) !important; 4018} 4019 4020.eventlist-theme-purple .eventlist-simple-item { 4021 border-bottom-color: var(--border-color, #9b59b6) !important; 4022} 4023 4024.eventlist-theme-purple .eventlist-today-header { 4025 background: var(--cell-bg, #2a2030) !important; 4026 color: var(--text-bright, #d4a5ff) !important; 4027 -webkit-text-fill-color: var(--text-bright, #d4a5ff) !important; 4028 border-color: var(--text-bright, #d4a5ff) !important; 4029} 4030 4031.eventlist-theme-purple .eventlist-today-clock { 4032 color: var(--text-bright, #d4a5ff) !important; 4033 -webkit-text-fill-color: var(--text-bright, #d4a5ff) !important; 4034} 4035 4036.eventlist-theme-purple .eventlist-today-date { 4037 color: var(--text-dim, #8e7ab8) !important; 4038 -webkit-text-fill-color: var(--text-dim, #8e7ab8) !important; 4039} 4040 4041/* Pink eventlist */ 4042.eventlist-theme-pink .eventlist-simple-title { 4043 color: var(--text-bright, #ff1493) !important; 4044 -webkit-text-fill-color: var(--text-bright, #ff1493) !important; 4045} 4046 4047.eventlist-theme-pink .eventlist-simple-header { 4048 color: var(--text-primary, #ff69b4) !important; 4049 -webkit-text-fill-color: var(--text-primary, #ff69b4) !important; 4050 background: var(--cell-bg, #1a0d14) !important; 4051} 4052 4053.eventlist-theme-pink .eventlist-simple-time, 4054.eventlist-theme-pink .eventlist-simple-date, 4055.eventlist-theme-pink .eventlist-simple-body { 4056 color: var(--text-dim, #ff85c1) !important; 4057 -webkit-text-fill-color: var(--text-dim, #ff85c1) !important; 4058 background: var(--background-site, #1a0d14) !important; 4059} 4060 4061.eventlist-theme-pink .eventlist-simple-body a { 4062 color: var(--text-bright, #ff1493) !important; 4063 -webkit-text-fill-color: var(--text-bright, #ff1493) !important; 4064} 4065 4066.eventlist-theme-pink .eventlist-simple-body strong { 4067 color: var(--text-primary, #ff69b4) !important; 4068 -webkit-text-fill-color: var(--text-primary, #ff69b4) !important; 4069} 4070 4071.eventlist-theme-pink .eventlist-simple-body code { 4072 background: var(--cell-bg, #2d1020) !important; 4073 color: var(--text-primary, #ff69b4) !important; 4074 -webkit-text-fill-color: var(--text-primary, #ff69b4) !important; 4075} 4076 4077.eventlist-theme-pink .eventlist-simple-namespace { 4078 background: var(--cell-today-bg, #2d1020) !important; 4079 color: var(--text-bright, #ff1493) !important; 4080 -webkit-text-fill-color: var(--text-bright, #ff1493) !important; 4081} 4082 4083.eventlist-theme-pink .eventlist-simple-empty, 4084.eventlist-theme-pink .eventlist-simple-empty .eventlist-simple-body { 4085 color: var(--text-dim, #ff85c1) !important; 4086 -webkit-text-fill-color: var(--text-dim, #ff85c1) !important; 4087} 4088 4089.eventlist-theme-pink .eventlist-simple-item { 4090 border-bottom-color: var(--border-color, #ff1493) !important; 4091} 4092 4093.eventlist-theme-pink .eventlist-today-header { 4094 background: var(--cell-bg, #1a0d14) !important; 4095 color: var(--text-bright, #ff1493) !important; 4096 -webkit-text-fill-color: var(--text-bright, #ff1493) !important; 4097 border-color: var(--text-bright, #ff1493) !important; 4098} 4099 4100.eventlist-theme-pink .eventlist-today-clock { 4101 color: var(--text-bright, #ff1493) !important; 4102 -webkit-text-fill-color: var(--text-bright, #ff1493) !important; 4103} 4104 4105.eventlist-theme-pink .eventlist-today-date { 4106 color: var(--text-dim, #ff85c1) !important; 4107 -webkit-text-fill-color: var(--text-dim, #ff85c1) !important; 4108} 4109