.calendar-shell{padding:22px;display:grid;gap:18px}.calendar-title{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.calendar-title h2,.calendar-section h3{margin:0}.calendar-title p{margin:6px 0 0;color:#64748b;font-size:13px}.calendar-badge{padding:7px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;white-space:nowrap}.calendar-badge.connected{background:#dcfce7;color:#166534}.calendar-note{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.55}.calendar-section{border:1px solid #e2e8f0;border-radius:14px;padding:16px;display:grid;gap:13px}.calendar-section h3{font-size:16px}.calendar-connect{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px;align-items:end}.calendar-field{display:grid;gap:6px;color:#475569;font-size:12px;font-weight:700}.calendar-field input,.calendar-field select,.event-route{height:40px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;padding:0 11px;color:#0f172a}.calendar-button{height:40px;border:0;border-radius:9px;padding:0 15px;background:#2563eb;color:#fff;font-weight:800;cursor:pointer}.calendar-button.secondary{background:#e2e8f0;color:#334155}.calendar-button:disabled{opacity:.45;cursor:not-allowed}.calendar-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.calendar-slot{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;align-items:center}.calendar-slot input{text-align:center}.event-list{display:grid;gap:8px;max-height:420px;overflow:auto}.event-row{display:grid;grid-template-columns:auto 112px minmax(180px,1fr) 150px;gap:10px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:10px}.event-row time{font-variant-numeric:tabular-nums;font-weight:800}.event-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-empty{padding:20px;text-align:center;color:#64748b;background:#f8fafc;border-radius:10px}.calendar-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.calendar-result{color:#475569;font-size:13px}.calendar-danger{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#7f1d1d}.future-auth{opacity:.72}.future-buttons{display:flex;gap:8px}@media(max-width:760px){.calendar-shell{padding:15px}.calendar-connect,.calendar-slots{grid-template-columns:1fr}.event-row{grid-template-columns:auto 1fr}.event-title,.event-route{grid-column:1/-1}.event-title{white-space:normal}}
.final-schedule-list{display:grid;gap:8px}.final-schedule-row{display:grid;grid-template-columns:auto 105px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid #dbe5e8;border-radius:10px;background:#fbfdfd;cursor:grab}.final-schedule-row:active{cursor:grabbing}.final-schedule-row.final-dragging{opacity:.42;border-style:dashed}.final-check{width:18px;height:18px}.final-time-select{min-height:38px;border:1px solid #c9d7db;border-radius:8px;padding:0 9px;background:#fff;color:#182b31;text-align:center}.final-schedule-row span{font-weight:750;line-height:1.45}.final-actions{justify-content:flex-end}.final-memo-field{margin-top:4px}.final-memo-field textarea{width:100%;min-height:150px;resize:vertical;border:1px solid #c9d7db;border-radius:10px;padding:12px;background:#fff;color:#182b31;font:600 14px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}.final-memo-field textarea:focus{outline:2px solid #93c5fd;border-color:#2563eb}.final-restore{justify-self:start}@media(max-width:640px){.final-schedule-row{grid-template-columns:auto 92px minmax(0,1fr)}.final-actions{justify-content:flex-start}}
