*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--color-gray-900);background-color:var(--color-gray-50);line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}ul,ol{list-style:none}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #eff6ff;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-success: #16a34a;--color-warning: #d97706;--color-error: #dc2626;--header-height: 56px;--sidebar-width: 240px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1)}.api-error-banner{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:.5rem 1rem;font-size:.875rem;border-radius:var(--radius-md);margin-bottom:.75rem;flex-shrink:0}.api-warning-banner{background:#fffbeb;border-color:#fde68a;color:#92400e}.layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.layout-header{height:var(--header-height);background:#fff;border-bottom:1px solid var(--color-gray-200);flex-shrink:0;z-index:10}.layout-header-inner{max-width:100%;height:100%;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between}.layout-logo{font-size:1.125rem;font-weight:700;color:var(--color-primary);letter-spacing:-.02em}.layout-user{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--color-gray-600)}.layout-tenant{background:var(--color-primary-light);color:var(--color-primary);padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.layout-body{flex:1;display:flex;overflow:hidden}.layout-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.sidebar{width:var(--sidebar-width);background:#fff;border-right:1px solid var(--color-gray-200);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .5rem}.sidebar-title{font-size:.8125rem;font-weight:600;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em}.sidebar-add-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--color-gray-500);cursor:pointer}.sidebar-add-btn:hover{background:var(--color-gray-100);color:var(--color-primary)}.sidebar-calendar-list{list-style:none;padding:.25rem 0;flex:1}.sidebar-calendar-item{display:flex;align-items:center;justify-content:space-between;padding:.375rem 1rem}.sidebar-calendar-item:hover{background:var(--color-gray-50)}.sidebar-calendar-label{display:flex;align-items:center;gap:.5rem;flex:1;cursor:pointer;min-width:0}.sidebar-checkbox{accent-color:var(--color-primary);cursor:pointer}.sidebar-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sidebar-calendar-name{font-size:.875rem;color:var(--color-gray-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border-radius:4px;padding:1px 4px}.sidebar-calendar-name:hover{background:var(--color-gray-100)}.sidebar-menu-wrapper{position:relative}.sidebar-menu-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--color-gray-400);cursor:pointer;opacity:0}.sidebar-calendar-item:hover .sidebar-menu-btn{opacity:1}.sidebar-menu-btn:hover{background:var(--color-gray-200);color:var(--color-gray-700)}.sidebar-dropdown{position:absolute;right:0;top:100%;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:160px;z-index:50;padding:.25rem 0}.sidebar-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.8125rem;color:var(--color-gray-700);cursor:pointer;text-align:left}.sidebar-dropdown-item:hover{background:var(--color-gray-50)}.sidebar-dropdown-danger{color:var(--color-error)}.sidebar-dropdown-danger:hover{background:#fef2f2}.sidebar-footer{border-top:1px solid var(--color-gray-200);padding:.75rem 1rem}.sidebar-footer-btn{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--color-gray-500);cursor:pointer;padding:.375rem 0}.sidebar-footer-btn:hover{color:var(--color-primary)}.calendar-page{flex:1;padding:1.25rem 1.5rem;overflow:hidden;display:flex;flex-direction:column;height:100%}.calendar-page .fc{flex:1;height:100%}.calendar-page .fc-toolbar-title{font-size:1rem;font-weight:600}.calendar-page .fc-button{background:var(--color-primary)!important;border-color:var(--color-primary)!important;font-size:.8125rem!important}.calendar-page .fc-button:hover,.calendar-page .fc-button-active{background:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important}.calendar-page .fc-now-indicator-line{border-color:#ef4444;border-width:2px}.calendar-page .fc-now-indicator-arrow{border-color:#ef4444}.calendar-page .fc-timegrid-event{min-height:2.25em;overflow:visible}.calendar-page .fc-timegrid-event .fc-event-main{overflow:visible}.calendar-page .fc-timegrid-event .fc-event-title{white-space:nowrap;overflow:visible}.fc-task-content{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;min-width:0;padding:0 2px}.fc-task-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-task-done{text-decoration:line-through;opacity:.6}.fc-task-checkbox{flex-shrink:0;width:14px;height:14px;cursor:pointer;accent-color:#fff}.fc-reminder-icon{width:12px;height:12px;min-width:12px;min-height:12px;display:inline-block;vertical-align:-2px;margin-right:3px;opacity:.9;flex-shrink:0;overflow:visible}.calendar-page .fc-task-completed{opacity:.5}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:440px;max-height:calc(100vh - 2rem);display:flex;flex-direction:column}.modal-wide{max-width:560px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-gray-200);flex-shrink:0}.modal-header h3{font-size:1rem;font-weight:600;color:var(--color-gray-900)}.modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--color-gray-400);cursor:pointer}.modal-close:hover{background:var(--color-gray-100);color:var(--color-gray-700)}.modal>form,.modal-wide>form{display:flex;flex-direction:column;flex:1;min-height:0}.modal-body{padding:1rem 1.25rem;flex:1;min-height:0;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--color-gray-200);flex-shrink:0}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8125rem;font-weight:500;color:var(--color-gray-700);margin-bottom:.375rem}.form-group label.required:after{content:" *";color:var(--color-danger, #dc2626)}.form-group input[type=text]{width:100%;padding:.5rem .75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-gray-900)}.form-group input[type=text]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.color-picker{display:flex;gap:.5rem;flex-wrap:wrap}.color-swatch{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2px solid transparent}.color-swatch:hover{transform:scale(1.15)}.color-swatch-active{border-color:var(--color-gray-900);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-gray-400)}.btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--color-gray-700);border:1px solid var(--color-gray-300)}.btn-secondary:hover{background:var(--color-gray-50)}.btn-danger{background:#fff;color:#dc2626;border:1px solid #fca5a5}.btn-danger:hover{background:#fef2f2}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:4px 10px;font-size:.8125rem}.btn-ghost{background:transparent;color:var(--color-gray-500);border:none}.btn-ghost:hover{color:var(--color-gray-700);background:var(--color-gray-50)}.meeting-link-row{display:flex;align-items:center;gap:8px}.meeting-link-row a{text-decoration:none}.form-group select,.form-group textarea,.form-group input[type=date],.form-group input[type=time],.form-group input[type=email],.form-group input[type=number]{width:100%;padding:.5rem .75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-gray-900);font-family:inherit;background:#fff}.form-group select:focus,.form-group textarea:focus,.form-group input[type=date]:focus,.form-group input[type=time]:focus,.form-group input[type=email]:focus,.form-group input[type=number]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.form-group textarea{resize:vertical}.form-group select:disabled,.form-group input:disabled{background:var(--color-gray-100);color:var(--color-gray-500);cursor:not-allowed}.modal-wide .form-group{margin-bottom:.625rem}.modal-wide .form-group label{margin-bottom:.25rem}.event-mode-toggle{display:flex;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);overflow:hidden;margin-bottom:.625rem}.event-mode-toggle-disabled{opacity:.5;pointer-events:none}.event-mode-btn{flex:1;padding:.3rem .75rem;font-size:.8125rem;font-weight:500;cursor:pointer;text-align:center;background:#fff;color:var(--color-gray-600);border:none;border-right:1px solid var(--color-gray-300);transition:background .15s,color .15s}.event-mode-btn:last-child{border-right:none}.event-mode-btn:hover:not(.event-mode-btn-active){background:var(--color-gray-50)}.event-mode-btn-active{background:var(--color-primary);color:#fff}.event-allday-toggle{display:flex;align-items:center;gap:.5rem;margin-bottom:.625rem}.event-allday-toggle label{font-size:.875rem;color:var(--color-gray-700);cursor:pointer;margin-bottom:0}.event-datetime-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;overflow:hidden}.event-datetime-inputs{display:flex;gap:.5rem;overflow:hidden}.event-datetime-inputs input[type=date]{flex:1;min-width:0}.event-datetime-inputs input[type=time]{width:100px;min-width:0;flex-shrink:1}.modal-footer-split{justify-content:space-between}.modal-footer-left,.modal-footer-actions{display:flex;gap:.5rem}.settings-hint{font-size:.75rem;color:var(--color-gray-500);margin-bottom:.75rem}.settings-days-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.settings-day-item{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--color-gray-700);cursor:pointer}.settings-day-item input[type=checkbox]{cursor:pointer}.settings-hours-row{display:flex;align-items:center;gap:1rem}.settings-hours-row label{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--color-gray-700);font-weight:400}.settings-hours-row select{width:auto;min-width:5rem}.settings-toggle-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.settings-toggle-label input[type=checkbox]{cursor:pointer}.settings-reminder-defaults{display:flex;gap:1.5rem}.caldav-info{font-size:.875rem;color:var(--color-gray-600);line-height:1.5;margin-bottom:1rem}.caldav-url-box{display:flex;align-items:center;gap:.5rem;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:.5rem .75rem;margin-bottom:1rem}.caldav-url{flex:1;font-family:var(--font-mono);font-size:.75rem;color:var(--color-gray-800);word-break:break-all}.caldav-copy-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--color-gray-500);cursor:pointer;flex-shrink:0}.caldav-copy-btn:hover{background:var(--color-gray-200);color:var(--color-gray-700)}.caldav-instructions{margin-top:1rem}.caldav-instructions h4{font-size:.875rem;font-weight:600;color:var(--color-gray-800);margin-bottom:.5rem}.caldav-instructions ol{padding-left:1.25rem;font-size:.8125rem;color:var(--color-gray-600);line-height:1.75}.app-password-created{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-md);padding:1rem;margin-bottom:1rem}.app-password-created p{font-size:.8125rem;color:#166534;margin-bottom:.5rem}.app-password-form{display:flex;gap:.5rem;margin-bottom:1rem}.app-password-form input{flex:1;padding:.5rem .75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:.875rem}.app-password-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.app-password-loading,.app-password-empty{font-size:.875rem;color:var(--color-gray-500);text-align:center;padding:1rem 0}.app-password-table{width:100%;font-size:.8125rem;border-collapse:collapse}.app-password-table th{text-align:left;font-weight:500;color:var(--color-gray-500);padding:.5rem .75rem;border-bottom:1px solid var(--color-gray-200)}.app-password-table td{padding:.5rem .75rem;color:var(--color-gray-700);border-bottom:1px solid var(--color-gray-100)}.app-password-table code{font-family:var(--font-mono);font-size:.75rem;background:var(--color-gray-100);padding:.125rem .375rem;border-radius:var(--radius-sm)}.booking-pages-page{padding:1.5rem;overflow-y:auto;height:100%}.booking-pages-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.booking-pages-header h2{font-size:1.125rem;font-weight:600;color:var(--color-gray-900)}.booking-pages-loading,.booking-pages-empty{text-align:center;padding:2rem 1rem;color:var(--color-gray-500);font-size:.875rem;line-height:1.6}.booking-pages-list{display:flex;flex-direction:column;gap:.75rem}.booking-page-card{border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:1rem 1.25rem;background:#fff}.booking-page-inactive{opacity:.6}.booking-page-card-main{display:flex;align-items:center;justify-content:space-between;gap:1rem}.booking-page-card-info{display:flex;align-items:center;gap:.75rem}.booking-page-card-info h3{font-size:.9375rem;font-weight:600;color:var(--color-gray-900)}.booking-page-duration{font-size:.75rem;color:var(--color-gray-500);background:var(--color-gray-100);padding:.125rem .5rem;border-radius:var(--radius-sm)}.booking-page-badge-inactive{font-size:.75rem;color:var(--color-warning);background:#fffbeb;padding:.125rem .5rem;border-radius:var(--radius-sm)}.booking-page-card-actions{display:flex;align-items:center;gap:.25rem}.booking-page-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--color-gray-500);cursor:pointer}.booking-page-action-btn:hover{background:var(--color-gray-100);color:var(--color-gray-700)}.booking-page-action-danger:hover{background:#fef2f2;color:var(--color-error)}.booking-page-card-link{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-gray-100)}.booking-page-card-link code{font-family:var(--font-mono);font-size:.7rem;color:var(--color-gray-400);word-break:break-all}.booking-form-page{padding:1.5rem;overflow-y:auto;height:100%;max-width:720px}.booking-form-header{margin-bottom:1.5rem}.booking-form-header h2{font-size:1.125rem;font-weight:600;color:var(--color-gray-900);margin-top:.5rem}.booking-form-back{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--color-gray-500);cursor:pointer}.booking-form-back:hover{color:var(--color-primary)}.booking-form select,.booking-form input[type=number],.booking-form input[type=text],.booking-form input[type=email],.booking-form input[type=date],.booking-form input[type=time]{width:100%;padding:.5rem .75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-gray-900);background:#fff}.booking-form select:focus,.booking-form input:focus,.booking-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.booking-form-textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-gray-900);font-family:inherit;resize:vertical}.booking-form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.booking-form-calendars{display:flex;flex-direction:column;gap:.5rem}.booking-form-calendar-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-gray-800);cursor:pointer}.booking-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-gray-200)}.weekly-schedule{display:flex;flex-direction:column;gap:.5rem}.schedule-day{display:flex;align-items:flex-start;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--color-gray-100)}.schedule-day:last-child{border-bottom:none}.schedule-day-toggle{display:flex;align-items:center;gap:.5rem;min-width:110px;cursor:pointer;padding-top:.25rem}.schedule-day-label{font-size:.875rem;color:var(--color-gray-700)}.schedule-day-blocks{flex:1;display:flex;flex-direction:column;gap:.375rem}.schedule-time-block{display:flex;align-items:center;gap:.375rem}.schedule-time-input{width:100px;padding:.25rem .5rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:.8125rem}.schedule-time-sep{color:var(--color-gray-400);font-size:.875rem}.schedule-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--color-gray-400);cursor:pointer;font-size:1rem}.schedule-remove-btn:hover{background:#fef2f2;color:var(--color-error)}.schedule-add-block{font-size:.75rem;color:var(--color-primary);cursor:pointer;padding:.125rem 0;text-align:left}.schedule-add-block:hover{text-decoration:underline}.pb-layout{min-height:100vh;background:var(--color-gray-50);display:flex;align-items:center;justify-content:center;padding:1rem;font-family:var(--font-sans)}.pb-card{background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:700px;overflow:hidden}.pb-card-narrow{max-width:400px;padding:2rem;text-align:center}.pb-topbar{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;border-bottom:1px solid var(--color-gray-200);gap:.75rem}.pb-topbar-info{display:flex;align-items:center;gap:.5rem;min-width:0}.pb-topbar-owner{font-size:.75rem;color:var(--color-gray-400);white-space:nowrap}.pb-topbar-title{font-size:.875rem;font-weight:600;color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pb-topbar-duration{display:flex;align-items:center;gap:.25rem;font-size:.6875rem;color:var(--color-gray-500);background:var(--color-gray-100);padding:.125rem .5rem;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.pb-columns{display:flex;min-height:0}.pb-col-calendar{padding:.75rem 1rem;border-right:1px solid var(--color-gray-200);flex-shrink:0}.pb-col-slots{flex:1;padding:.75rem 1rem;min-width:0;display:flex;flex-direction:column}.pb-slots-header{font-size:.8125rem;font-weight:600;color:var(--color-gray-700);text-transform:capitalize;margin-bottom:.5rem}.pb-slots-loading{font-size:.8125rem;color:var(--color-gray-400);padding:1rem 0;text-align:center}.pb-form{display:flex;flex-direction:column;gap:.375rem}.pb-form-slot-summary{font-size:.8125rem;font-weight:600;color:var(--color-primary);margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.pb-form-change{font-size:.75rem;color:var(--color-gray-500);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}.pb-form-change:hover{color:var(--color-gray-700)}.pb-input{width:100%;padding:.375rem .625rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:.8125rem;color:var(--color-gray-900);font-family:inherit}.pb-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.pb-textarea{resize:none}.pb-submit{margin-top:.25rem;width:100%;padding:.375rem .75rem;font-size:.8125rem}.pb-success{padding:2rem 1.5rem;text-align:center}.pb-success h2{font-size:1.125rem;font-weight:600;color:var(--color-success);margin-bottom:.75rem}.pb-success-date{font-size:.9375rem;font-weight:500;color:var(--color-gray-900);margin-bottom:.375rem}.pb-success p{font-size:.8125rem;color:var(--color-gray-600)}@media(max-width:600px){.pb-columns{flex-direction:column}.pb-col-calendar{border-right:none;border-bottom:1px solid var(--color-gray-200)}}.mini-cal{-webkit-user-select:none;user-select:none;width:260px}.mini-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem}.mini-cal-month{font-size:.8125rem;font-weight:600;color:var(--color-gray-900);text-transform:capitalize}.mini-cal-nav{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);background:#fff;color:var(--color-gray-600);cursor:pointer;transition:background .15s,color .15s}.mini-cal-nav:hover:not(:disabled){background:var(--color-gray-100);color:var(--color-gray-900)}.mini-cal-nav:disabled{opacity:.35;cursor:not-allowed}.mini-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.mini-cal-dow{font-size:.625rem;font-weight:600;color:var(--color-gray-400);text-align:center;padding:0 0 .25rem;text-transform:uppercase;letter-spacing:.02em}.mini-cal-day{width:34px;height:30px;display:flex;align-items:center;justify-content:center;font-size:.75rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-gray-400);cursor:default;transition:background .12s,color .12s;padding:0}.mini-cal-day-outside{color:var(--color-gray-200)}.mini-cal-day-enabled{color:var(--color-gray-900);font-weight:500;cursor:pointer}.mini-cal-day-enabled:hover{background:var(--color-gray-100)}.mini-cal-day-today{font-weight:700;position:relative}.mini-cal-day-today:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:3px;height:3px;border-radius:50%;background:var(--color-primary)}.mini-cal-day-selected{background:var(--color-primary)!important;color:#fff!important;font-weight:600}.mini-cal-day-selected:after{background:#fff}.slot-picker{display:flex;flex-direction:column;gap:.25rem;max-height:240px;overflow-y:auto}.slot-picker-empty{font-size:.8125rem;color:var(--color-gray-500);text-align:center;padding:.75rem 0}.slot-btn{padding:.375rem .75rem;border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;color:var(--color-primary);background:#fff;cursor:pointer;text-align:center;flex-shrink:0}.slot-btn:hover{background:var(--color-primary-light)}.slot-btn-selected{background:var(--color-primary);color:#fff}.slot-btn-selected:hover{background:var(--color-primary-hover)}.reminder-editor{margin-top:4px}.reminder-editor>label{display:block;font-weight:500;font-size:.875rem;margin-bottom:6px}.reminder-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.reminder-row select{flex:1;min-width:0}.btn-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:4px;flex-shrink:0}.btn-icon:hover{background:#f3f4f6;color:#dc2626}.reminder-add-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--color-primary);font-size:.8125rem;cursor:pointer;padding:4px 0}.reminder-add-btn:hover{text-decoration:underline}.reminder-defaults-grid{display:flex;gap:16px;margin-top:4px}.modal-divider{border:none;border-top:1px solid #e5e7eb;margin:16px 0}
