.timezone-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: #f0f4f8;
            padding: 0.4rem 0.9rem;
            border-radius: 20px;
            font-size: 0.9rem;
            border: 1px solid #dde4ec;
            margin: 0.2rem 0.2rem;
            transition: all 0.2s;
        }
        .timezone-badge:hover {
            background: #e3eaf1;
        }
        .timezone-badge .remove-zone {
            cursor: pointer;
            color: #b02a37;
            font-weight: 700;
            margin-left: 0.3rem;
        }
        .timezone-badge .remove-zone:hover {
            color: #a71d2a;
        }
        .time-grid {
            display: grid;
            grid-template-columns: 180px repeat(12, 1fr);
            gap: 1px;
            background: #e9ecef;
            border: 1px solid #dee2e6;
            border-radius: 8px;
            overflow: hidden;
            margin: 1.5rem 0;
            font-size: 0.8rem;
        }
        .time-grid .grid-header {
            background: #f8f9fa;
            font-weight: 600;
            padding: 0.6rem 0.4rem;
            text-align: center;
            border-bottom: 2px solid #dee2e6;
            background: #e9ecef;
        }
        .time-grid .grid-label {
            background: #f8f9fa;
            padding: 0.4rem 0.6rem;
            font-weight: 500;
            border-right: 1px solid #dee2e6;
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: #fcfcfd;
        }
        .time-grid .grid-cell {
            background: #fff;
            padding: 0.4rem 0.2rem;
            text-align: center;
            transition: background 0.15s;
            min-height: 2.2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.75rem;
            flex-direction: column;
            line-height: 1.2;
        }
        .time-grid .grid-cell.working {
            background: #d4edda;
        }
        .time-grid .grid-cell.partial {
            background: #fff3cd;
        }
        .time-grid .grid-cell.off {
            background: #f8d7da;
        }
        .time-grid .grid-cell.selected {
            background: #cfe2ff;
            border: 2px solid #0d6efd;
            box-shadow: inset 0 0 0 1px #0d6efd;
            font-weight: 600;
        }
        .time-grid .grid-cell.now {
            border-left: 2px solid #dc3545;
        }
        .time-grid .grid-cell .minute-marker {
            font-size: 0.55rem;
            opacity: 0.7;
            font-weight: 400;
        }
        .grid-hour {
            font-size: 0.7rem;
            color: #495057;
        }
        .legend-scheduler {
            display: flex;
            flex-wrap: wrap;
            gap: 1.2rem;
            margin: 1rem 0 0.5rem;
            font-size: 0.85rem;
        }
        .legend-scheduler .legend-item {
            display: flex;
            align-items: center;
            gap: 0.4rem;
        }
        .legend-scheduler .color-swatch {
            width: 18px;
            height: 18px;
            border-radius: 4px;
            border: 1px solid #ced4da;
        }
        .color-swatch.working { background: #d4edda; }
        .color-swatch.partial { background: #fff3cd; }
        .color-swatch.off { background: #f8d7da; }
        .color-swatch.selected { background: #cfe2ff; border-color: #0d6efd; }
        .participant-input-group {
            background: #f8f9fa;
            padding: 1rem;
            border-radius: 8px;
            border: 1px solid #e9ecef;
            margin-bottom: 1rem;
        }
        .suggested-times {
            background: #f0f7ff;
            border-radius: 8px;
            padding: 1rem 1.5rem;
            border-left: 5px solid #0d6efd;
            margin-top: 1.5rem;
        }
        .suggested-times .time-slot {
            font-size: 1.3rem;
            font-weight: 600;
            color: #0a58ca;
        }
        .timezone-offset {
            font-size: 0.75rem;
            color: #6c757d;
        }
        .dst-notice {
            background: #e7f3ff;
            border: 1px solid #b8daff;
            border-radius: 6px;
            padding: 0.5rem 1rem;
            font-size: 0.9rem;
            color: #004085;
            margin: 0.5rem 0;
        }
        .privacy-note-scheduler {
            font-size: 0.9rem;
            background: #e7f3ff;
            border: 1px solid #b8daff;
            color: #004085;
            padding: 0.5rem 1rem;
            border-radius: 4px;
            margin: 1rem 0;
        }
        .math-box-scheduler {
            background: rgba(13, 110, 253, 0.05);
            border-left: 4px solid #0d6efd;
            padding: 1rem 1.5rem;
            border-radius: 0 6px 6px 0;
            margin: 1.5rem 0;
        }
        .case-study-scheduler {
            background: #f0f7fa;
            border-radius: 8px;
            padding: 1.5rem;
            margin: 1.5rem 0;
            border-left: 5px solid #0d6efd;
        }
        .subsection-title-scheduler {
            font-weight: 600;
            margin-top: 2rem;
            margin-bottom: 1rem;
            color: #0a58ca;
            font-size: 1.2rem;
        }
        .property-table-scheduler {
            width: 100%;
            border-collapse: collapse;
            margin: 1.5rem 0;
        }
        .property-table-scheduler th,
        .property-table-scheduler td {
            padding: 0.75rem;
            text-align: left;
            border: 1px solid #dee2e6;
        }
        .property-table-scheduler th {
            background: #f8f9fa;
            font-weight: 600;
        }
        .property-table-scheduler tr:nth-child(even) {
            background: rgba(13, 110, 253, 0.04);
        }
        .authority-note-scheduler {
            font-size: 0.85rem;
            color: #6c757d;
            border-top: 1px solid #dee2e6;
            padding-top: 1rem;
            margin-top: 1rem;
            text-align: right;
        }
        .example-btn-scheduler {
            background: rgba(13, 110, 253, 0.08);
            border: 1px solid rgba(13, 110, 253, 0.2);
            border-radius: 20px;
            padding: 0.3rem 0.9rem;
            font-size: 0.85rem;
            color: #0a58ca;
            cursor: pointer;
            transition: all 0.2s;
            margin: 0.2rem 0.1rem;
            display: inline-flex;
            align-items: center;
            gap: 0.3rem;
        }
        .example-btn-scheduler:hover {
            background: rgba(13, 110, 253, 0.18);
            transform: translateY(-1px);
        }
        .world-clock-container {
            display: flex;
            flex-wrap: wrap;
            gap: 0.8rem;
            margin: 1rem 0;
        }
        .world-clock-item {
            flex: 1 0 140px;
            background: #f8f9fa;
            border-radius: 10px;
            padding: 0.8rem 0.6rem;
            text-align: center;
            border: 1px solid #e9ecef;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
        }
        .world-clock-item .city {
            font-weight: 600;
            font-size: 0.9rem;
        }
        .world-clock-item .time {
            font-size: 1.5rem;
            font-weight: 700;
            color: #0d6efd;
            font-family: 'Courier New', monospace;
        }
        .world-clock-item .date {
            font-size: 0.7rem;
            color: #6c757d;
        }
        .world-clock-item .offset {
            font-size: 0.7rem;
            color: #6c757d;
            background: #e9ecef;
            border-radius: 10px;
            padding: 0.1rem 0.5rem;
            display: inline-block;
            margin-top: 0.2rem;
        }
        @media (max-width: 768px) {
            .time-grid {
                grid-template-columns: 100px repeat(12, 1fr);
                font-size: 0.6rem;
            }
            .time-grid .grid-label {
                font-size: 0.6rem;
                padding: 0.2rem 0.2rem;
            }
            .time-grid .grid-cell {
                font-size: 0.55rem;
                min-height: 1.6rem;
                padding: 0.1rem 0.05rem;
            }
            .world-clock-item {
                flex: 1 0 100px;
            }
            .world-clock-item .time {
                font-size: 1.1rem;
            }
        }
        .tool-header-scheduler {
            margin-bottom: 1.5rem;
        }
        .result-container-scheduler {
            margin-top: 1.5rem;
        }
        .slot-card {
            background: white;
            border-radius: 8px;
            padding: 0.8rem 1.2rem;
            margin-bottom: 0.6rem;
            border: 1px solid #dee2e6;
            box-shadow: 0 1px 3px rgba(0,0,0,0.04);
        }
        .slot-card .badge-coverage {
            background: #0d6efd;
            color: white;
            border-radius: 20px;
            padding: 0.2rem 0.7rem;
            font-size: 0.75rem;
            font-weight: 600;
        }
        .buffer-input-group {
            max-width: 120px;
        }
        .action-buttons .btn {
            margin-right: 0.5rem;
        }