.schedule-wrapper{max-width:1200px;margin:0 auto;padding:16px}.schedule-header{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e5e7eb;margin-bottom:16px}.schedule-header-back{color:#6b7280;font-size:18px;text-decoration:none;padding:8px}.schedule-header-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:linear-gradient(135deg,var(--ico-from, #3b82f6),var(--ico-to, #ed722e));color:var(--ico-fg, #fff)}.schedule-header-icon.schedule-public-icon{background:linear-gradient(135deg,#3b82f6,#ed722e);color:#fff}.schedule-gcal-icon{color:#4285f4}.schedule-form-row-hidden{display:none}.schedule-form-row-flat{margin-bottom:0}.schedule-form-inline{padding:12px 16px;margin-bottom:16px}.schedule-gcal-disconnect-form{display:inline}.schedule-public-password{max-width:480px;margin:48px auto;padding:24px}.schedule-public-password-title{font-size:18px;margin-bottom:8px;color:#111827}.schedule-public-password-help{color:#6b7280;margin-bottom:24px;font-size:13px}.schedule-public-password-error{padding:12px;background:#fef2f2;color:#991b1b;border-radius:6px;margin-bottom:16px;font-size:13px}.schedule-public-password-input{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;margin-bottom:16px;box-sizing:border-box}.schedule-public-password-submit{width:100%;padding:12px;background:linear-gradient(135deg,#3b82f6,#ed722e);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:14px}.schedule-header-title{flex:1;min-width:0}.schedule-header-name{font-size:18px;font-weight:700;margin:0;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-header-desc{font-size:13px;color:#6b7280;margin-top:2px}.schedule-header-btn{background:none;border:1px solid #e5e7eb;border-radius:8px;width:36px;height:36px;cursor:pointer;color:#6b7280;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.schedule-header-btn:hover{background:#f3f4f6}.schedule-header-btn.is-muted{color:#9ca3af}.schedule-actions{margin-bottom:16px}.schedule-btn-primary{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#3b82f6,#ed722e);color:#fff;border:none;padding:10px 18px;border-radius:8px;text-decoration:none;font-weight:600;cursor:pointer;font-size:14px}.schedule-btn-primary:hover{opacity:.9}.schedule-btn-secondary{display:inline-flex;align-items:center;gap:6px;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;padding:10px 18px;border-radius:8px;text-decoration:none;font-weight:600;cursor:pointer;font-size:14px}.schedule-empty{padding:48px 16px;text-align:center;color:#6b7280;background:#f9fafb;border-radius:8px}.schedule-empty-small{padding:16px;text-align:center;color:#9ca3af;font-size:13px}.schedule-event-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.schedule-event-card{display:block;padding:16px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .15s;position:relative}.schedule-event-card:hover{box-shadow:0 4px 12px #00000014;border-color:#3b82f6}.schedule-event-card-status{position:absolute;top:12px;right:12px;font-size:11px;padding:2px 8px;border-radius:999px;font-weight:600}.schedule-event-card-status.status-open{background:#dbeafe;color:#1e40af}.schedule-event-card-status.status-closed{background:#e5e7eb;color:#6b7280}.schedule-event-card-status.status-finalized{background:#d1fae5;color:#065f46}.schedule-event-card-title{font-size:16px;font-weight:700;margin-bottom:8px;padding-right:60px;color:#111827}.schedule-event-card-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#6b7280}.schedule-form{background:#fff;padding:24px;border-radius:10px;border:1px solid #e5e7eb}.schedule-form-row{margin-bottom:16px}.schedule-form-row label{display:block;font-weight:600;margin-bottom:6px;font-size:13px;color:#374151}.schedule-form-row label .required{color:#dc2626}.schedule-form-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}.schedule-form-checkbox input[type=checkbox]{margin:0}.schedule-form-row input,.schedule-form-row select,.schedule-form-row textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;box-sizing:border-box}.schedule-form-hint{font-size:12px;color:#6b7280;margin-top:4px}.schedule-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.schedule-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}.schedule-error{padding:12px 16px;background:#fef2f2;color:#991b1b;border-radius:6px;margin-bottom:16px;font-size:13px}.schedule-error ul{margin:0;padding-left:20px}.schedule-event-summary{background:#f9fafb;padding:16px;border-radius:8px;margin-bottom:16px}.schedule-event-desc{font-size:14px;color:#374151;margin-bottom:12px;white-space:pre-wrap}.schedule-event-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:#6b7280}.schedule-event-meta .is-expired{color:#dc2626}.schedule-finalized-badge{background:#d1fae5;color:#065f46;padding:2px 10px;border-radius:999px;font-weight:600}.schedule-notice{padding:12px 16px;background:#fef3c7;color:#92400e;border-radius:6px;margin-bottom:16px;font-size:13px}.schedule-legend{display:flex;flex-wrap:wrap;gap:24px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;font-size:12px}.schedule-legend-section{display:flex;align-items:center;gap:6px}.schedule-legend-label{color:#6b7280;font-weight:600}.schedule-legend-cell{display:inline-block;padding:2px 8px;border-radius:4px;border:1px solid #e5e7eb;background:#fff;font-size:11px}.schedule-heatmap-scroll-wrapper{position:relative;margin-bottom:16px}.schedule-heatmap-scroll{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.schedule-heatmap-arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:56px;border:1px solid #d1d5db;background:#fffffff2;color:#374151;border-radius:8px;cursor:pointer;font-size:24px;line-height:1;z-index:5;box-shadow:0 2px 8px #0000001f;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;transition:opacity .15s,background .15s}.schedule-heatmap-arrow:hover{background:#fff;box-shadow:0 4px 12px #0000002e}.schedule-heatmap-arrow:disabled{opacity:.25;cursor:not-allowed}.schedule-heatmap-arrow-left{left:-8px}.schedule-heatmap-arrow-right{right:-8px}@media(max-width:640px){.schedule-heatmap-arrow{width:32px;height:48px;font-size:20px}.schedule-heatmap-arrow-left{left:0}.schedule-heatmap-arrow-right{right:0}}.schedule-heatmap{border-collapse:collapse;width:100%;min-width:600px}.schedule-heatmap th,.schedule-heatmap td{border:1px solid #f3f4f6;padding:0;text-align:center}.schedule-heatmap-corner{background:#f9fafb;width:60px;min-width:60px;position:sticky;left:0;z-index:2}.schedule-heatmap-time{background:#f9fafb;color:#6b7280;font-size:11px;padding:4px 6px;width:60px;min-width:60px;position:sticky;left:0;z-index:1}.schedule-heatmap-day{background:#f9fafb;color:#374151;font-size:12px;padding:8px 4px;min-width:64px}.schedule-heatmap-day[data-dow="0"]{color:#dc2626}.schedule-heatmap-day[data-dow="6"]{color:#2563eb}.schedule-heatmap-dow{font-size:10px;color:#9ca3af;font-weight:400}.schedule-heatmap-cell{height:36px;min-width:80px;cursor:pointer;background:#fff;position:relative;-webkit-user-select:none;user-select:none;transition:background .1s,box-shadow .1s;overflow:hidden}.schedule-heatmap-event-title{position:absolute;inset:auto 2px 1px;font-size:9px;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;background:#ffffffd9;border-radius:2px;padding:0 2px;pointer-events:none;line-height:1.3;z-index:1}.schedule-heatmap-cell.heat-3 .schedule-heatmap-event-title,.schedule-heatmap-cell.heat-4 .schedule-heatmap-event-title{background:#ffffffeb}.schedule-heatmap-cell.has-my-event:after{align-items:flex-start!important;padding-top:1px;font-size:14px!important}.schedule-heatmap-cell.is-empty{background:repeating-linear-gradient(45deg,#fafafa,#fafafa 4px,#f3f4f6 4px 8px);cursor:default}.schedule-heatmap-cell:not(.is-empty):hover{box-shadow:inset 0 0 0 2px #3b82f6}.schedule-heatmap-count{font-size:11px;color:#374151;font-weight:600}.heat-0{background:#fff}.heat-1{background:#dbeafe}.heat-2{background:#93c5fd}.heat-3{background:#3b82f6}.heat-4{background:#1d4ed8}.heat-3 .schedule-heatmap-count,.heat-4 .schedule-heatmap-count{color:#fff}.schedule-heatmap-cell.my-available{box-shadow:inset 0 0 0 3px #10b981}.schedule-heatmap-cell.my-maybe{box-shadow:inset 0 0 0 3px #fbbf24}.schedule-heatmap-cell.my-unavailable{box-shadow:inset 0 0 0 3px #ef4444;opacity:.55}.schedule-heatmap-cell.my-available:after,.schedule-heatmap-cell.my-maybe:after,.schedule-heatmap-cell.my-unavailable:after{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;line-height:1;pointer-events:none;text-shadow:0 0 2px rgba(255,255,255,.9),0 0 2px rgba(255,255,255,.9)}.schedule-heatmap-cell.my-available:after{content:"○";color:#059669}.schedule-heatmap-cell.my-maybe:after{content:"△";color:#d97706}.schedule-heatmap-cell.my-unavailable:after{content:"×";color:#dc2626}.schedule-heatmap-cell.heat-3.my-available:after,.schedule-heatmap-cell.heat-4.my-available:after,.schedule-heatmap-cell.heat-3.my-maybe:after,.schedule-heatmap-cell.heat-4.my-maybe:after,.schedule-heatmap-cell.heat-3.my-unavailable:after,.schedule-heatmap-cell.heat-4.my-unavailable:after{text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff}.schedule-heatmap-cell.my-available .schedule-heatmap-count,.schedule-heatmap-cell.my-maybe .schedule-heatmap-count,.schedule-heatmap-cell.my-unavailable .schedule-heatmap-count{display:none}.schedule-legend-cell.my-available{box-shadow:inset 0 0 0 2px #10b981}.schedule-legend-cell.my-maybe{box-shadow:inset 0 0 0 2px #fbbf24}.schedule-legend-cell.my-unavailable{box-shadow:inset 0 0 0 2px #ef4444}.schedule-my-response{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:16px}.schedule-my-response-header h3{margin:0 0 4px;font-size:15px;color:#111827}.schedule-my-response-help{font-size:12px;color:#6b7280;margin-bottom:12px}.schedule-my-response-actions{display:flex;align-items:center;gap:12px}.schedule-save-status{font-size:12px;color:#6b7280}.schedule-save-status.is-success{color:#065f46}.schedule-save-status.is-error{color:#dc2626}.schedule-responses{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.schedule-responses h3{margin:0 0 12px;font-size:15px;color:#111827}.schedule-response-list{list-style:none;padding:0;margin:0}.schedule-response-list li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f3f4f6;font-size:13px}.schedule-response-list li:last-child{border-bottom:none}.schedule-response-name{color:#111827;font-weight:500}.schedule-response-count{color:#6b7280;font-size:12px}.schedule-finalize-box{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.schedule-finalize-box h4{margin:0 0 8px;font-size:13px;color:#374151}.schedule-finalize-box input{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;margin-right:8px}.schedule-matrix{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;margin-bottom:16px}.schedule-matrix-summary{cursor:pointer;font-weight:700;font-size:14px;color:#111827;list-style:none;-webkit-user-select:none;user-select:none}.schedule-matrix-summary::-webkit-details-marker{display:none}.schedule-matrix-summary:before{content:"▼";font-size:9px;margin-right:8px;display:inline-block;transition:transform .15s;transform:rotate(-90deg)}.schedule-matrix[open] .schedule-matrix-summary:before{transform:rotate(0)}.schedule-matrix-summary small{font-weight:400;color:#6b7280;font-size:11px;margin-left:8px}.schedule-matrix-legend{font-size:11px;color:#6b7280;margin:6px 0 8px}.schedule-matrix-scroll{overflow-x:auto;max-height:480px;overflow-y:auto;border-top:1px solid #f3f4f6}.schedule-matrix-table{border-collapse:collapse;min-width:100%;font-size:12px}.schedule-matrix-table th,.schedule-matrix-table td{border:1px solid #f3f4f6;padding:4px 8px;text-align:center;white-space:nowrap}.schedule-matrix-table thead th{background:#f9fafb;position:sticky;top:0;z-index:2;font-weight:600}.schedule-matrix-slot{text-align:left!important;background:#f9fafb;position:sticky;left:0;z-index:1;font-family:monospace;color:#374151}.schedule-matrix-available{color:#059669;font-weight:700}.schedule-matrix-maybe{color:#d97706;font-weight:700}.schedule-matrix-unavailable{color:#dc2626;font-weight:700}.schedule-matrix-blank{color:#d1d5db}.schedule-matrix-count-col{background:#eff6ff!important}.schedule-matrix-count{background:#eff6ff;font-size:11px;color:#6b7280;position:sticky;left:120px;z-index:1;white-space:nowrap}.schedule-matrix-count strong{font-size:14px;color:#111827}.schedule-matrix-count.is-full strong{color:#047857}.schedule-matrix-count.is-half strong{color:#d97706}.schedule-matrix-count.is-low strong{color:#6b7280}.schedule-my-events{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:12px 16px;margin-bottom:16px}.schedule-my-events-summary{cursor:pointer;font-weight:600;color:#9a3412;font-size:13px;list-style:none;-webkit-user-select:none;user-select:none}.schedule-my-events-summary::-webkit-details-marker{display:none}.schedule-my-events-summary:before{content:"▼";font-size:9px;margin-right:8px;display:inline-block;transition:transform .15s;transform:rotate(-90deg)}.schedule-my-events[open] .schedule-my-events-summary:before{transform:rotate(0)}.schedule-my-events-list{list-style:none;padding:8px 0 0;margin:8px 0 0;border-top:1px dashed #fed7aa}.schedule-my-events-list li{display:grid;grid-template-columns:90px 110px 1fr;gap:8px;padding:4px 0;font-size:12px;align-items:center}.schedule-my-events-date{color:#6b7280;font-weight:600}.schedule-my-events-time{color:#9a3412;font-family:monospace}.schedule-my-events-title{color:#111827}@media(max-width:480px){.schedule-my-events-list li{grid-template-columns:1fr;gap:2px}}.schedule-gcal-box{margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6}.schedule-gcal-status{font-size:13px;color:#374151;margin-bottom:4px;font-weight:600}.schedule-gcal-help{font-size:12px;color:#6b7280;margin-bottom:8px}.schedule-gcal-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 12px}.schedule-gcal-footer{margin-top:12px;padding-top:10px;border-top:1px solid #f3f4f6;text-align:right}.schedule-gcal-disconnect{background:none;border:none;color:#6b7280;font-size:11px;cursor:pointer;text-decoration:underline}.schedule-gcal-disconnect:hover{color:#dc2626}.schedule-gcal-cal-picker{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin:10px 0;font-size:12px}.schedule-gcal-cal-summary{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.schedule-gcal-cal-summary::-webkit-details-marker{display:none}.schedule-gcal-cal-summary:before{content:"▶";font-size:9px;margin-right:8px;color:#6b7280;transition:transform .15s;display:inline-block}details[open] .schedule-gcal-cal-summary:before{transform:rotate(90deg)}.schedule-gcal-cal-summary-label{font-weight:600;color:#374151;flex:1}.schedule-gcal-cal-summary-count{color:#6b7280;font-size:11px}.schedule-gcal-cal-body{padding:0 12px 12px}.schedule-gcal-cal-actions-top{text-align:right;margin-bottom:6px}.schedule-gcal-cal-list{padding-top:6px;border-top:1px dashed #e5e7eb}.schedule-gcal-cal-loading{color:#9ca3af;padding:8px 0}.schedule-gcal-cal-item{display:flex;align-items:center;gap:8px;padding:6px 0;cursor:pointer}.schedule-gcal-cal-item input{margin:0}.schedule-gcal-cal-item em{color:#6b7280;font-style:normal;font-size:11px}.schedule-gcal-cal-item .schedule-gcal-cal-role{margin-left:auto;font-size:10px;color:#9ca3af;background:#f3f4f6;padding:1px 6px;border-radius:3px}.schedule-gcal-cal-count{font-size:11px;color:#6b7280;margin-bottom:6px;padding-bottom:6px;border-bottom:1px dashed #e5e7eb}.schedule-share-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:12px 16px;margin-bottom:16px}.schedule-share-label{font-size:12px;color:#1e40af;font-weight:600;margin-bottom:6px}.schedule-share-row{display:flex;gap:8px;align-items:center}.schedule-share-row input{flex:1;padding:6px 10px;border:1px solid #93c5fd;border-radius:6px;font-size:12px;font-family:monospace;background:#fff}.schedule-share-hint{font-size:11px;color:#6b7280;margin-top:6px}@media(max-width:640px){.schedule-form-grid,.schedule-event-list{grid-template-columns:1fr}}
