.crystal-calendar-page{background:var(--chat-background);position:relative;overflow:hidden auto;scrollbar-width:thin;scrollbar-color:color-mix(in oklch,var(--color-border) 40%,transparent) transparent;scrollbar-gutter:stable}.crystal-calendar-page,.page-loading{min-height:100vh;display:flex;flex-direction:column;color:var(--color-text-primary)}.page-loading{align-items:center;justify-content:center;gap:.75rem;background:var(--color-background)}.page-loading-spinner{width:3rem;height:3rem;border-radius:50%;border:3px solid var(--color-border);border-top-color:var(--color-primary);animation:spin 1s linear infinite}.crystal-header{position:relative;z-index:10;padding:.75rem 0 .5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.crystal-header-content{max-width:1600px;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 auto .5rem}.crystal-header-left{flex:1;min-width:220px}.crystal-page-title{font-size:2rem;font-weight:800;color:var(--color-text-primary);margin:0 0 .35rem;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-text-primary),var(--color-primary));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.crystal-page-subtitle{font-size:1rem;color:var(--color-text-secondary);margin:0;font-weight:400}.crystal-header-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.crystal-search-container{position:relative;display:flex;align-items:center;min-width:260px}.crystal-search-icon{position:absolute;left:1rem;color:var(--color-text-tertiary);pointer-events:none;z-index:2}.crystal-search-input{width:100%;padding:.875rem 1rem .875rem 3rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text-primary);font-size:.9375rem;font-weight:500;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease;outline:none}.crystal-search-input::placeholder{color:var(--color-text-tertiary);font-weight:400}.crystal-search-input:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--color-primary) 20%,transparent);transform:translateY(-1px)}.crystal-search-clear{padding:.5rem;border:1px solid transparent;border-radius:6px;color:var(--color-text-secondary);transition:background-color .2s ease,color .2s ease}.crystal-add-btn{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;background:var(--color-primary);border:1px solid transparent;border-radius:12px;color:white;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 12px color-mix(in oklch,var(--color-primary) 30%,transparent);position:relative;overflow:hidden;z-index:20}.crystal-add-btn:hover{background:color-mix(in oklch,var(--color-primary) 90%,white);transform:translateY(-2px);box-shadow:0 6px 16px color-mix(in oklch,var(--color-primary) 40%,transparent)}.crystal-view-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 2rem;background:var(--color-surface);border-radius:16px;border:1px solid var(--color-border);margin:0 2rem}.crystal-stats-number{font-size:1.5rem;line-height:1}.crystal-stats-label{font-weight:500}.crystal-date-navigation{display:flex;align-items:center;gap:.75rem}.crystal-nav-btn{padding:.625rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.crystal-nav-btn:hover{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.crystal-current-date{padding:.5rem 1rem;background:color-mix(in oklch,var(--color-primary) 10%,transparent);border:1px solid color-mix(in oklch,var(--color-primary) 20%,transparent);border-radius:8px;color:var(--color-primary);font-weight:600;font-size:.9375rem;min-width:120px;text-align:center}.crystal-today-btn{padding:.625rem 1rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease;font-weight:600;font-size:.875rem}.crystal-today-btn:hover{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.crystal-view-toggle{display:flex;background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:.25rem;gap:.25rem}.crystal-view-btn{padding:.5rem .75rem;background:transparent;border:none;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;transition:background-color .2s ease,color .2s ease;display:flex;align-items:center;justify-content:center;font-size:.875rem}.crystal-view-btn:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.crystal-view-btn.active{background:var(--color-surface-elevated);color:var(--color-primary);box-shadow:0 2px 4px color-mix(in oklch,var(--color-background) 50%,transparent);font-weight:600}.crystal-refresh-btn{padding:.625rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.crystal-refresh-btn:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-primary);color:var(--color-primary)}.crystal-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.crystal-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:1fr;aspect-ratio:7/6;gap:1px;background:var(--color-border);border-radius:20px;overflow:hidden;border:1px solid var(--color-border);box-shadow:0 10px 24px color-mix(in oklch,var(--color-background) 50%,transparent);width:100%;max-width:min(100%,1200px);min-height:450px;max-height:min(75vh,800px);margin:0 auto;position:relative;flex:1;box-sizing:border-box}.crystal-calendar-grid .crystal-week-header{background:var(--color-surface-elevated);padding:1rem;text-align:center;border-bottom:1px solid var(--color-border)}.crystal-week-day{font-size:.75rem;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.crystal-calendar-day{background:var(--color-surface);padding:.75rem;cursor:pointer;transition:background-color .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease;display:flex;flex-direction:column;min-height:80px;width:100%;box-sizing:border-box}.crystal-calendar-day:hover{background:var(--color-surface-elevated);z-index:2;box-shadow:0 4px 12px color-mix(in oklch,var(--color-background) 20%,transparent)}.crystal-calendar-day.outside-month{background:var(--color-background);opacity:.6}.crystal-calendar-day.today{background:color-mix(in oklch,var(--color-primary) 5%,var(--color-surface))}.crystal-calendar-day .crystal-day-number{font-size:.875rem;font-weight:600;display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.crystal-day-number span.today{color:var(--color-primary);background:color-mix(in oklch,var(--color-primary) 15%,transparent);width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:50%}.crystal-day-number span.current-month{color:var(--color-text-primary)}.crystal-day-number span.other-month{color:var(--color-text-tertiary)}.crystal-today-indicator{display:none}.crystal-day-events{display:flex;flex-direction:column;gap:.25rem}.crystal-day-event{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;background:color-mix(in oklch,var(--color-primary) 15%,transparent);color:var(--color-primary);transition:background-color .2s ease,transform .2s ease;text-overflow:ellipsis;white-space:nowrap;border-left:2px solid var(--color-primary)}.crystal-day-event:hover{background:color-mix(in oklch,var(--color-primary) 25%,transparent);transform:translateX(2px)}.crystal-more-events{font-size:.7rem;color:var(--color-text-tertiary);text-align:center;padding:.25rem}.crystal-more-events:hover{color:var(--color-text-secondary);background:var(--color-surface-elevated);border-radius:4px}.crystal-events-list{display:flex;flex-direction:column;gap:1rem;flex:1;overflow:hidden auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:color-mix(in oklch,var(--color-border) 40%,transparent) transparent}.crystal-event-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:1.25rem;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,border-color .2s ease;overflow:hidden;min-height:120px;display:flex;flex-direction:column;justify-content:space-between}.crystal-event-card.list-view{flex-direction:row;align-items:stretch;min-height:auto;padding:1rem 1.25rem;gap:1.25rem}.crystal-event-list-body{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(0,2fr) auto;gap:1.5rem;width:100%;align-items:center}.crystal-event-list-time{display:flex;flex-direction:column;gap:.25rem;color:var(--color-text-secondary);font-weight:600}.crystal-list-date{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}.crystal-list-time{display:flex;align-items:center;gap:.35rem;font-size:1rem;color:var(--color-text-primary)}.crystal-list-duration{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary)}.crystal-event-list-details{min-width:0;display:flex;flex-direction:column;gap:.35rem}.crystal-event-list-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.crystal-list-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface-elevated);font-size:.75rem;color:var(--color-text-secondary)}.crystal-event-list-actions{display:flex;align-items:center;justify-content:flex-end}.crystal-actions.list-view-actions{opacity:1;transform:none;padding-top:0;border-top:none;border-left:1px solid var(--color-border);padding-left:1rem;gap:.5rem}.crystal-timezone-pill.list-view{margin-top:.25rem}@media (max-width:1024px){.crystal-event-list-body{grid-template-columns:1fr}.crystal-event-list-actions{justify-content:flex-start}.crystal-actions.list-view-actions{border-left:none;border-top:1px solid var(--color-border);padding-left:0;padding-top:.75rem;flex-wrap:wrap;gap:.5rem}}.crystal-event-card:hover{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:0 8px 24px color-mix(in oklch,var(--color-background) 30%,transparent)}.crystal-event-card.selected{border-color:var(--color-primary);background:color-mix(in oklch,var(--color-primary) 2%,var(--color-surface))}.crystal-event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.crystal-event-time{display:flex;align-items:center;gap:.5rem;color:var(--color-primary);font-weight:600;font-size:.9rem}.crystal-time-icon{flex-shrink:0}.crystal-event-duration{background:color-mix(in oklch,var(--color-primary) 10%,transparent);color:var(--color-primary);padding:.2rem .5rem;border-radius:6px;font-size:.7rem;font-weight:600}.crystal-event-content{flex:1}.crystal-event-title{font-size:1.1rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .35rem;line-height:1.3;cursor:pointer;transition:color .2s ease}.crystal-event-title:hover{color:var(--color-primary)}.crystal-event-description{color:var(--color-text-secondary);margin:0 0 1rem;line-height:1.5;font-size:.85rem}.crystal-event-metadata{display:flex;flex-wrap:wrap;gap:.75rem}.crystal-timezone-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .75rem;border-radius:999px;border:1px dashed color-mix(in oklch,var(--color-accent-purple) 35%,transparent);font-size:.75rem;color:var(--color-text-secondary);background:color-mix(in oklch,var(--color-accent-purple) 5%,var(--color-background))}.crystal-timezone-pill-label{text-transform:uppercase;font-weight:600;letter-spacing:.02em;color:var(--color-text-primary)}.crystal-timezone-pill-divider{opacity:.4}.crystal-timezone-pill-value{font-weight:500}.crystal-metadata-item{display:flex;align-items:center;gap:.35rem;color:var(--color-text-secondary);font-size:.8rem}.crystal-metadata-icon{flex-shrink:0;opacity:.7}.crystal-actions{opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease;padding-top:1rem;border-top:1px solid var(--color-border);margin-top:1rem}.crystal-event-card:focus-within .crystal-actions,.crystal-event-card:hover .crystal-actions{opacity:1;transform:translateY(0)}.crystal-action-btn{padding:.5rem;background:var(--color-surface-elevated);border-radius:8px;transition:transform .2s ease,color .2s ease,background-color .2s ease,border-color .2s ease}.crystal-action-btn:hover{transform:translateY(-2px);background:var(--color-surface)}.crystal-action-secondary:hover{color:var(--color-text-primary);border-color:var(--color-border-focus)}.crystal-action-danger:hover{background:var(--color-error);color:white;border-color:var(--color-error)}.crystal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem;text-align:center}.crystal-loading-spinner{width:3rem;height:3rem;border-top:3px solid var(--color-border);border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.crystal-loading p{color:var(--color-text-secondary);font-size:1rem}.crystal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem;text-align:center;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:20px;margin:2rem 0}.crystal-empty-icon{width:4rem;height:4rem;color:var(--color-text-tertiary);margin-bottom:1rem;opacity:.5}.crystal-empty h3{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .5rem}.crystal-empty p{color:var(--color-text-secondary);margin:0 0 2rem;font-size:1rem}.crystal-week-view{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;overflow:auto;min-height:600px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:color-mix(in oklch,var(--color-border) 40%,transparent) transparent}.crystal-week-view .crystal-week-header{display:grid;grid-template-columns:80px repeat(7,1fr);background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.crystal-time-column-header{color:var(--color-text-tertiary);font-size:.75rem;font-weight:600;text-transform:uppercase}.crystal-time-column-header,.crystal-week-view .crystal-day-header{padding:1rem .5rem;border-right:1px solid var(--color-border);display:flex;align-items:center;justify-content:center}.crystal-week-view .crystal-day-header{text-align:center;flex-direction:column}.crystal-day-header:last-child{border-right:none}.crystal-day-header.today .crystal-day-name{color:var(--color-primary)}.crystal-day-name{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.crystal-day-header.today .crystal-day-number{color:var(--color-primary);background:color-mix(in oklch,var(--color-primary) 10%,transparent);border-radius:50%;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.crystal-week-view .crystal-day-number{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);line-height:1}.crystal-week-body{max-height:600px;overflow-y:auto}.crystal-hour-row{display:grid;grid-template-columns:80px repeat(7,1fr);border-bottom:1px solid var(--color-border);min-height:80px}.crystal-time-label{padding:.75rem;font-size:.75rem;color:var(--color-text-tertiary);font-weight:500;align-items:flex-start;justify-content:center;background:var(--color-surface-elevated)}.crystal-time-label,.crystal-time-slot{border-right:1px solid var(--color-border);display:flex}.crystal-time-slot{padding:.5rem;cursor:pointer;transition:background-color .2s ease;position:relative;flex-direction:column;gap:.25rem}.crystal-time-slot:hover{background:var(--color-surface-elevated)}.crystal-time-slot.has-events{background:color-mix(in oklch,var(--color-background) 50%,transparent)}.crystal-time-slot:last-child{border-right:none}.crystal-week-event{background:color-mix(in oklch,var(--color-primary) 15%,transparent);border-left:3px solid var(--color-primary);border-radius:4px;padding:.35rem .5rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease;font-size:.75rem}.crystal-week-event:hover{transform:translateY(-1px);background:color-mix(in oklch,var(--color-primary) 25%,transparent)}.crystal-week-event .crystal-event-time{font-size:.7rem;color:var(--color-primary);margin-bottom:0}.crystal-week-event .crystal-event-title{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.crystal-day-view{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;overflow:hidden;min-height:600px;display:flex;flex-direction:column}.crystal-day-view .crystal-day-header{padding:1.5rem 2rem;background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.crystal-day-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0}.crystal-day-stats{padding:.5rem 1rem;background:color-mix(in oklch,var(--color-primary) 10%,transparent);border-radius:999px;color:var(--color-primary);font-weight:600;font-size:.85rem}.crystal-day-body{flex:1;overflow-y:auto}.crystal-day-hour{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid var(--color-border);min-height:80px}.crystal-day-time{padding:1rem;border-right:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;gap:.5rem;background:var(--color-surface-elevated)}.crystal-time-separator{width:100%;height:1px;background:var(--color-border);display:none}.crystal-day-content{padding:.5rem 1rem;transition:background-color .2s ease}.crystal-day-hour:hover .crystal-day-content{background:var(--color-surface-elevated)}.event-edit-modal-overlay{position:fixed;inset:0;background:oklch(0 0 0/.65);-webkit-backdrop-filter:blur(12px) saturate(110%);backdrop-filter:blur(12px) saturate(110%);display:flex;align-items:center;justify-content:center;z-index:1200;padding:1.5rem;animation:overlay-fade-in .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes overlay-fade-in{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(12px) saturate(110%);backdrop-filter:blur(12px) saturate(110%)}}.event-edit-modal{width:min(640px,100%);background:color-mix(in oklch,var(--color-surface) 95%,transparent);border:1px solid color-mix(in oklch,var(--color-border) 60%,transparent);border-radius:24px;display:flex;flex-direction:column;box-shadow:0 24px 48px -12px oklch(0 0 0/.4),0 0 0 1px color-mix(in oklch,var(--color-surface-elevated) 20%,transparent) inset;max-height:90vh;animation:modal-spring-in .5s cubic-bezier(.19,1,.22,1) forwards;transform-origin:center center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow:hidden}@keyframes modal-spring-in{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.event-edit-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--color-border);background:linear-gradient(to bottom,var(--color-surface-elevated) 0,color-mix(in oklch,var(--color-surface-elevated) 60%,transparent) 100%)}.event-edit-modal-title{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.01em}.event-edit-modal-title svg{color:var(--color-primary);filter:drop-shadow(0 2px 4px color-mix(in oklch,var(--color-primary) 30%,transparent))}.event-edit-modal-header-actions{display:flex;align-items:center;gap:.75rem}.event-edit-modal-content{padding:2rem;overflow-y:auto;scrollbar-gutter:stable}.event-edit-form-grid{display:grid;gap:2rem}.event-edit-section-title{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.event-form-group{display:flex;flex-direction:column;gap:.625rem;position:relative}.event-form-label{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin-left:.25rem;transition:color .2s ease}.event-form-group:focus-within .event-form-label{color:var(--color-primary)}.event-form-input,.event-form-textarea{width:100%;padding:.875rem 1rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-background);color:var(--color-text-primary);font-size:.95rem;transition:border-color .25s cubic-bezier(.2,0,0,1),background-color .25s ease,box-shadow .25s ease,transform .25s ease;box-shadow:0 1px 2px oklch(0 0 0/.05)}.event-form-input:hover,.event-form-textarea:hover{border-color:var(--color-border-focus);background:color-mix(in oklch,var(--color-background) 98%,var(--color-primary))}.event-form-input:focus,.event-form-textarea:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 4px color-mix(in oklch,var(--color-primary) 15%,transparent),0 1px 2px oklch(0 0 0/.05);transform:translateY(-1px)}.event-timezone-warning{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:12px;background:color-mix(in oklch,var(--color-warning) 10%,transparent);border:1px solid color-mix(in oklch,var(--color-warning) 25%,transparent);color:var(--color-text-primary);font-size:.9rem;line-height:1.5;margin-top:.5rem}.event-timezone-warning svg{color:var(--color-warning);flex-shrink:0;margin-top:.1rem}.event-form-checkbox{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-surface-elevated);border-radius:12px;border:1px solid var(--color-border);cursor:pointer;transition:background-color .2s ease,border-color .2s ease;-webkit-user-select:none;user-select:none}.event-form-checkbox:hover{background:var(--color-surface);border-color:var(--color-primary)}.event-form-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem;border-radius:4px;accent-color:var(--color-primary)}.event-edit-modal-footer{padding:1.5rem 2rem;border-top:1px solid var(--color-border);background:var(--color-surface-elevated);display:flex;justify-content:flex-end;gap:1rem;border-radius:0 0 24px 24px}.event-edit-btn{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.5rem;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background-color .2s cubic-bezier(.2,0,0,1),border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;border:1px solid transparent;letter-spacing:.01em}.event-edit-btn-save{background:var(--color-primary);color:white;box-shadow:0 4px 12px color-mix(in oklch,var(--color-primary) 30%,transparent),0 1px 2px color-mix(in oklch,var(--color-primary) 50%,transparent)}.event-edit-btn-save:hover:not(:disabled){background:color-mix(in oklch,var(--color-primary) 90%,white);transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in oklch,var(--color-primary) 35%,transparent),0 2px 4px color-mix(in oklch,var(--color-primary) 50%,transparent)}.event-edit-btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none;filter:grayscale(.5)}.event-edit-btn-delete{margin-right:auto;background:color-mix(in oklch,var(--color-error) 10%,transparent);color:var(--color-error);border-color:transparent}.event-edit-btn-delete:hover{background:color-mix(in oklch,var(--color-error) 20%,transparent);border-color:color-mix(in oklch,var(--color-error) 25%,transparent);transform:translateY(-1px)}.event-edit-footer-actions{display:flex;align-items:center;gap:1rem}.event-edit-btn-cancel{background:color-mix(in oklch,var(--color-text-primary) 5%,transparent);color:var(--color-text-secondary);border-color:var(--color-border)}.event-edit-btn-cancel:hover{background:var(--color-surface-elevated);color:var(--color-text-primary);border-color:var(--color-border-focus);transform:translateY(-1px);box-shadow:0 2px 4px oklch(0 0 0/.05)}.event-edit-ai-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--color-secondary),var(--color-primary));color:white;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;margin-right:1rem;box-shadow:0 4px 12px color-mix(in oklch,var(--color-primary) 25%,transparent)}.event-edit-ai-btn:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 8px 20px color-mix(in oklch,var(--color-primary) 35%,transparent)}.event-edit-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.event-edit-modal-close:hover{background:var(--color-surface);color:var(--color-error);border-color:color-mix(in oklch,var(--color-error) 25%,transparent);transform:rotate(90deg)}@media (max-width:768px){.crystal-header-content{flex-direction:column;align-items:stretch}.crystal-header-actions{justify-content:flex-start}.crystal-view-controls{margin:0 1rem;flex-wrap:wrap}.crystal-calendar-grid{grid-template-columns:1fr;gap:1rem;border:none;background:transparent;box-shadow:none;overflow:visible;height:auto;max-height:none;aspect-ratio:auto}.crystal-week-header{display:none}.crystal-calendar-day{min-height:100px;border:1px solid var(--color-border);border-radius:12px}.crystal-day-view,.crystal-week-view{border-radius:12px}}.crystal-day-title{font-size:1.25rem}.crystal-day-hour{grid-template-columns:80px 1fr;min-height:60px}.crystal-day-time{padding:1rem .5rem}.crystal-time-label{font-size:.875rem}.crystal-day-content{padding:.75rem 1rem}.crystal-day-event{padding:.75rem}.crystal-event-title{font-size:.875rem}.crystal-event-description{font-size:.75rem}@media (max-width:1023px) and (min-width:768px){.crystal-header-content{flex-direction:row;align-items:center;gap:1.5rem;padding:0 1.5rem}.crystal-header-actions{flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.crystal-search-container{min-width:250px}.crystal-view-controls{margin:0 1.5rem;padding:.875rem 1.25rem;gap:1rem}.crystal-calendar-grid{gap:1px;aspect-ratio:7/6;min-height:400px;max-height:min(70vh,600px);max-width:min(100%,800px);border-radius:16px}.crystal-calendar-day{min-height:50px;min-width:50px;padding:.5rem}.crystal-page-title{font-size:2.25rem}.crystal-week-header{padding:.875rem}.crystal-day-number{font-size:.813rem}.crystal-day-event{padding:.188rem .375rem;font-size:.688rem}}@media (max-width:767px){.crystal-header{padding:1rem 0}.crystal-header-content{flex-direction:column;align-items:flex-start;gap:1rem;padding:0 1rem}.crystal-header-left{text-align:center;width:100%}.crystal-header-actions{width:100%;flex-direction:column;gap:.75rem}.crystal-search-container{min-width:100%;width:100%}.crystal-search-input{padding:.75rem 1rem .75rem 2.5rem;font-size:.875rem}.crystal-add-btn{width:100%;justify-content:center;padding:.75rem 1rem;font-size:.875rem}.crystal-view-controls{margin:0 1rem;padding:.625rem .75rem;flex-wrap:wrap;gap:.5rem;justify-content:center}.crystal-stats{order:-1;width:100%;justify-content:center;margin-bottom:.5rem}.crystal-controls-divider{display:none}.crystal-date-navigation{gap:.5rem;flex-wrap:wrap;justify-content:center}.crystal-current-date{font-size:.875rem;min-width:100px;padding:.375rem .75rem}.crystal-nav-btn,.crystal-today-btn{padding:.5rem .75rem;font-size:.75rem}.crystal-view-toggle{width:100%;justify-content:center}.crystal-view-btn{flex:1;padding:.5rem .25rem;font-size:.75rem}.crystal-calendar-grid{gap:1px;aspect-ratio:7/6;min-height:300px;max-height:min(60vh,450px);max-width:100%;width:100%;margin:0 auto;padding:0 .5rem;box-sizing:border-box;border-radius:12px;box-shadow:0 4px 16px color-mix(in oklch,oklch(0% 0 0) 8%,transparent),0 1px 8px color-mix(in oklch,oklch(0% 0 0) 4%,transparent)}.crystal-calendar-day{min-height:35px;min-width:35px;padding:.25rem;cursor:pointer}.crystal-week-header{padding:.5rem .25rem}.crystal-week-day{font-size:.625rem;letter-spacing:.025em}.crystal-day-number{font-size:.688rem;margin-bottom:.25rem}.crystal-today-indicator{width:.375rem;height:.375rem}.crystal-day-event{padding:.063rem .125rem;font-size:.563rem;line-height:1.2;margin-bottom:.063rem}.crystal-more-events{font-size:.563rem}.crystal-content{padding:1rem .75rem;overflow:hidden auto}.crystal-event-card{padding:1rem;min-height:auto}.crystal-event-header{margin-bottom:.75rem;flex-direction:column;align-items:flex-start;gap:.5rem}.crystal-event-time{font-size:.813rem}.crystal-event-duration{font-size:.688rem}.crystal-event-title{font-size:1rem;margin-bottom:.5rem}.crystal-event-description{font-size:.813rem;margin-bottom:.75rem}.crystal-event-metadata{margin-bottom:.75rem}.crystal-metadata-item{font-size:.75rem}.crystal-actions{opacity:1;transform:translateY(0);padding-top:.75rem;gap:.375rem;flex-wrap:wrap;justify-content:center}.crystal-action-btn{width:1.875rem;height:1.875rem;padding:.375rem}}@media (max-width:480px){.crystal-header{padding:.75rem 0}.crystal-header-content{padding:0 .75rem;gap:.75rem}.crystal-header-left{text-align:center}.crystal-page-title{font-size:1.5rem;margin-bottom:.25rem}.crystal-page-subtitle{font-size:.875rem}.crystal-header-actions{gap:.5rem}.crystal-search-input{padding:.625rem 1rem .625rem 2.5rem;font-size:.813rem}.crystal-add-btn{padding:.625rem .875rem;font-size:.813rem}.crystal-view-controls{margin:0 .75rem;padding:.5rem .625rem;gap:.375rem}.crystal-stats-number{font-size:1.125rem}.crystal-stats-label{font-size:.688rem}.crystal-date-navigation{gap:.375rem;width:100%;justify-content:center}.crystal-current-date{font-size:.75rem;min-width:90px;padding:.313rem .625rem}.crystal-nav-btn,.crystal-today-btn{padding:.375rem .625rem;font-size:.688rem}.crystal-view-toggle{width:100%}.crystal-view-btn{font-size:.688rem;padding:.375rem .188rem}.crystal-calendar-grid{gap:1px;aspect-ratio:7/6;min-height:260px;max-height:min(55vh,350px);max-width:100%;width:100%;margin:0 auto;padding:0 .625rem;box-sizing:border-box;border-radius:8px;box-shadow:0 2px 12px color-mix(in oklch,oklch(0% 0 0) 6%,transparent),0 1px 6px color-mix(in oklch,oklch(0% 0 0) 3%,transparent)}.crystal-calendar-day{min-height:28px;min-width:28px;padding:.188rem;cursor:pointer}.crystal-calendar-grid .crystal-week-header{padding:.375rem .188rem}.crystal-week-day{font-size:.563rem;letter-spacing:.01em}.crystal-day-number{font-size:.625rem;margin-bottom:.188rem}.crystal-today-indicator{width:.313rem;height:.313rem}.crystal-day-event{padding:.063rem;font-size:.5rem;line-height:1.1;margin-bottom:.031rem;border-radius:2px}.crystal-more-events{font-size:.5rem}.crystal-content{padding:.75rem .5rem}.crystal-event-card{padding:.875rem;border-radius:16px}.crystal-event-header{margin-bottom:.5rem;gap:.375rem}.crystal-event-time{font-size:.75rem}.crystal-event-duration{font-size:.625rem}.crystal-event-title{font-size:.9375rem;margin-bottom:.375rem}.crystal-event-description{font-size:.75rem;margin-bottom:.5rem;-webkit-line-clamp:2;line-clamp:2}.crystal-event-metadata{margin-bottom:.5rem;gap:.5rem}.crystal-metadata-item{font-size:.688rem}.crystal-actions{padding-top:.5rem;gap:.25rem;justify-content:center}.crystal-action-btn{width:1.625rem;height:1.625rem;padding:.313rem}.crystal-action-divider{display:none}.crystal-week-view{min-height:350px;border-radius:12px}.crystal-week-view .crystal-week-header{grid-template-columns:50px repeat(7,1fr)}.crystal-time-column-header{padding:.5rem .125rem}.crystal-week-view .crystal-day-header{padding:.375rem .125rem;min-height:35px}.crystal-day-name{font-size:.563rem;margin-bottom:0}.crystal-day-number{font-size:.688rem}.crystal-week-body{max-height:350px}.crystal-hour-row{grid-template-columns:50px repeat(7,1fr);min-height:40px}.crystal-time-label{padding:.5rem .125rem;font-size:.625rem}.crystal-time-slot{padding:.125rem;min-height:40px}.crystal-week-event{padding:.125rem;font-size:.625rem;margin-bottom:.063rem;border-radius:3px;border-left-width:2px}.crystal-event-time{font-size:.563rem;margin-bottom:.063rem}.crystal-event-title{font-size:.625rem;line-height:1.1}.crystal-day-view{min-height:350px;border-radius:12px}.crystal-day-view .crystal-day-header{padding:.75rem;gap:.5rem}.crystal-day-title{font-size:1rem}.crystal-day-stats{font-size:.688rem;padding:.25rem .5rem}.crystal-day-body{max-height:350px}.crystal-day-hour{grid-template-columns:50px 1fr;min-height:45px}.crystal-day-time{padding:.5rem .375rem;gap:.125rem}.crystal-time-label{font-size:.688rem}.crystal-time-separator{width:15px}.crystal-day-content{padding:.375rem .5rem}.crystal-day-event{padding:.375rem}.crystal-event-header{font-size:.75rem}.crystal-event-title{font-size:.875rem}.crystal-event-description,.crystal-event-location{font-size:.688rem}.crystal-calendar-day:active,.crystal-calendar-day:hover{transform:translateY(-1px);box-shadow:0 2px 8px color-mix(in oklch,var(--secondary) 15%,transparent)}.crystal-actions{opacity:1;transform:translateY(0);transition:none}.crystal-action-btn:active,.crystal-action-btn:hover,.crystal-event-card:active,.crystal-event-card:hover{transform:translateY(-1px)}.crystal-calendar-day{position:relative}.crystal-calendar-day:after{content:"";position:absolute;inset:-2px;background:transparent;transition:background-color .2s ease;border-radius:4px}.crystal-calendar-day:active:after,.crystal-calendar-day:hover:after{background:color-mix(in oklch,var(--secondary) 10%,transparent)}.crystal-action-btn{min-width:44px}.crystal-action-btn,.crystal-add-btn{min-height:44px;display:flex;align-items:center;justify-content:center}}.crystal-calendar-tooltip{position:fixed;z-index:9999;pointer-events:none;animation:crystal-tooltip-appear .3s cubic-bezier(.25,.46,.45,.94)}.crystal-tooltip-glow{position:absolute;inset:-2px;background:linear-gradient(135deg,color-mix(in oklch,var(--secondary) 30%,transparent),color-mix(in oklch,var(--primary) 30%,transparent),color-mix(in oklch,var(--secondary) 30%,transparent));border-radius:20px;filter:blur(8px);opacity:.6;animation:crystal-glow-pulse 2s ease-in-out infinite}.crystal-tooltip-content{position:relative;background:color-mix(in oklch,var(--surface) 95%,color-mix(in oklch,var(--surface-elevated) 20%,transparent));border:1px solid color-mix(in oklch,var(--border) 40%,transparent);border-radius:16px;padding:1rem 1.25rem;-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);box-shadow:0 20px 40px color-mix(in oklch,oklch(0% 0 0) 25%,transparent),0 8px 24px color-mix(in oklch,oklch(0% 0 0) 15%,transparent),inset 0 1px 0 color-mix(in oklch,oklch(100% 0 0) 10%,transparent);min-width:240px;max-width:320px}.crystal-tooltip-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid color-mix(in oklch,var(--border) 20%,transparent)}.crystal-tooltip-icon-wrapper{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in oklch,var(--secondary) 20%,transparent),color-mix(in oklch,var(--primary) 20%,transparent));border-radius:10px;border:1px solid color-mix(in oklch,var(--secondary) 30%,transparent);box-shadow:0 4px 12px color-mix(in oklch,var(--secondary) 15%,transparent)}.crystal-tooltip-icon{color:var(--secondary);filter:drop-shadow(0 1px 2px color-mix(in oklch,oklch(0% 0 0) 20%,transparent))}.crystal-tooltip-header-text{flex:1}.crystal-tooltip-date{font-size:.9375rem;font-weight:600;color:var(--text-primary);line-height:1.3;background:linear-gradient(135deg,var(--text-primary),color-mix(in oklch,var(--secondary) 60%,var(--text-primary)));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.crystal-tooltip-time-section{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.crystal-tooltip-time-wrapper{display:flex;align-items:center;gap:.5rem}.crystal-tooltip-time-icon{color:var(--primary);flex-shrink:0}.crystal-tooltip-time-text{font-size:1rem;font-weight:700;color:var(--primary);letter-spacing:.025em}.crystal-tooltip-duration{font-size:.813rem;color:var(--text-secondary);font-style:italic;padding-left:1.5rem}.crystal-tooltip-action{display:flex;justify-content:center;align-items:center;padding:.5rem .75rem;background:linear-gradient(135deg,color-mix(in oklch,var(--secondary) 15%,transparent),color-mix(in oklch,var(--primary) 15%,transparent));border:1px solid color-mix(in oklch,var(--secondary) 30%,transparent);border-radius:8px;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.crystal-tooltip-action-text{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.crystal-tooltip-arrow{position:absolute;top:calc(100% - 1px);left:50%;transform:translateX(-50%);width:12px;height:12px;overflow:hidden}.crystal-tooltip-arrow-inner{position:absolute;top:-6px;left:-6px;width:12px;height:12px;background:color-mix(in oklch,var(--surface) 95%,color-mix(in oklch,var(--surface-elevated) 20%,transparent));border:1px solid color-mix(in oklch,var(--border) 40%,transparent);border-radius:3px;transform:rotate(45deg)}@keyframes crystal-tooltip-appear{0%{opacity:0;transform:translate(-50%,-100%) translateY(-10px) scale(.8)}to{opacity:1;transform:translate(-50%,-100%) translateY(-10px) scale(1)}}@keyframes crystal-glow-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.6;transform:scale(1.02)}}@keyframes liquid-crystal-shimmer{0%{background-position:-200%;transform:translateX(0) scale(1)}25%{transform:translateX(1px) scale(1.01)}50%{background-position:200%;transform:translateX(-1px) scale(1.02)}75%{transform:translateX(2px) scale(1.01)}to{background-position:400%;transform:translateX(0) scale(1)}}@keyframes magnetic-hover{0%,to{transform:translateZ(0) rotateX(0) rotateY(0) scale(1)}25%{transform:translateZ(10px) rotateX(2deg) rotateY(-2deg) scale(1.05)}50%{transform:translateZ(15px) rotateX(-1deg) rotateY(1deg) scale(1.08)}75%{transform:translateZ(8px) rotateX(1deg) rotateY(-1deg) scale(1.03)}}@keyframes bounce-entrance{0%{opacity:0;transform:translateY(-20px) scale(.8) rotateX(-10deg)}30%{opacity:.7;transform:translateY(2px) scale(1.05) rotateX(2deg)}50%{opacity:.9;transform:translateY(-1px) scale(.98) rotateX(-1deg)}70%{opacity:1;transform:translateY(1px) scale(1.02) rotateX(.5deg)}to{opacity:1;transform:translateY(0) scale(1) rotateX(0)}}@keyframes liquid-dropdown{0%{opacity:0;transform:translateY(-10px) scaleY(.8) scaleX(.95);clip-path:polygon(0 0,100% 0,100% 0,0 0)}30%{opacity:.8;transform:translateY(2px) scaleY(1.05) scaleX(1.02);clip-path:polygon(0 0,100% 0,100% 60%,0 60%)}60%{opacity:.95;transform:translateY(-1px) scaleY(.98) scaleX(1.01);clip-path:polygon(0 0,100% 0,100% 85%,0 85%)}to{opacity:1;transform:translateY(0) scaleY(1) scaleX(1);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}@keyframes floating-particles{0%,to{transform:translateY(0) rotate(0deg);opacity:.3}33%{transform:translateY(-8px) rotate(120deg);opacity:.6}66%{transform:translateY(5px) rotate(240deg);opacity:.4}}@keyframes event-highlight-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklch,var(--primary) 40%,transparent),0 2px 8px color-mix(in oklch,var(--primary) 20%,transparent);transform:translateX(0) scale(1)}50%{box-shadow:0 0 0 8px color-mix(in oklch,var(--primary) 10%,transparent),0 4px 16px color-mix(in oklch,var(--primary) 30%,transparent);transform:translateX(3px) scale(1.02)}}.crystal-calendar-day{position:relative;transition:transform .4s cubic-bezier(.4,0,.2,1),box-shadow .4s ease;animation:bounce-entrance .6s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:calc(var(--day-index, 0) * .03s);transform-style:preserve-3d;perspective:1000px}.crystal-calendar-day:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,transparent,color-mix(in oklch,var(--primary) 20%,transparent),transparent,color-mix(in oklch,var(--secondary) 20%,transparent),transparent);border-radius:12px;opacity:0;transition:opacity .4s ease;z-index:-1;filter:blur(8px);animation:liquid-crystal-shimmer 3s ease-in-out infinite;animation-play-state:paused}.crystal-calendar-day:hover:before{opacity:1;animation-play-state:running}.crystal-calendar-day:hover{transform:translateZ(20px) rotateX(5deg) rotateY(-5deg) scale(1.05);z-index:10;box-shadow:0 20px 40px color-mix(in oklch,var(--secondary) 25%,transparent),0 10px 20px color-mix(in oklch,var(--primary) 20%,transparent),inset 0 1px 0 color-mix(in oklch,oklch(100% 0 0) 10%,transparent)}.crystal-day-event{position:relative;background:linear-gradient(135deg,color-mix(in oklch,var(--primary) 20%,transparent),color-mix(in oklch,var(--primary) 15%,transparent));border:1px solid color-mix(in oklch,var(--primary) 30%,transparent);transition:transform .3s cubic-bezier(.4,0,.2,1),background .3s ease,border-color .3s ease,box-shadow .3s ease;animation:magnetic-hover .6s ease-in-out;animation-play-state:paused;overflow:hidden}.crystal-day-event:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,color-mix(in oklch,oklch(100% 0 0) 40%,transparent),transparent);transition:left .6s ease}.crystal-day-event:hover:before{left:100%}.crystal-day-event:hover{transform:translateX(4px) translateY(-2px) scale(1.05);background:linear-gradient(135deg,color-mix(in oklch,var(--primary) 30%,transparent),color-mix(in oklch,var(--primary) 25%,transparent));border-color:color-mix(in oklch,var(--primary) 50%,transparent);box-shadow:0 8px 25px color-mix(in oklch,var(--primary) 35%,transparent),0 4px 12px color-mix(in oklch,var(--primary) 25%,transparent),inset 0 1px 0 color-mix(in oklch,oklch(100% 0 0) 20%,transparent);animation:event-highlight-pulse 1.5s ease-in-out infinite;animation-play-state:running}.crystal-more-events{position:relative;background:linear-gradient(135deg,color-mix(in oklch,var(--secondary) 15%,transparent),color-mix(in oklch,var(--secondary) 10%,transparent));border:1px solid color-mix(in oklch,var(--secondary) 25%,transparent);border-radius:8px;cursor:pointer;transition:transform .3s cubic-bezier(.4,0,.2,1),background .3s ease,border-color .3s ease,box-shadow .3s ease;overflow:hidden;animation:floating-particles 4s ease-in-out infinite}.crystal-more-events:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,color-mix(in oklch,var(--secondary) 30%,transparent) 0,transparent 70%);opacity:0;transition:opacity .3s ease}.crystal-more-events:hover{transform:translateY(-2px) scale(1.05);background:linear-gradient(135deg,color-mix(in oklch,var(--secondary) 25%,transparent),color-mix(in oklch,var(--secondary) 20%,transparent));border-color:color-mix(in oklch,var(--secondary) 40%,transparent);box-shadow:0 6px 20px color-mix(in oklch,var(--secondary) 30%,transparent),0 3px 10px color-mix(in oklch,var(--secondary) 20%,transparent)}.crystal-more-events:hover:after{opacity:1}.crystal-event-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;margin-top:.5rem;background:var(--color-surface);border:1px solid color-mix(in oklch,var(--border) 40%,transparent);border-radius:12px;box-shadow:0 20px 40px color-mix(in oklch,oklch(0% 0 0) 40%,transparent),0 10px 20px color-mix(in oklch,oklch(0% 0 0) 30%,transparent),inset 0 1px 0 color-mix(in oklch,oklch(100% 0 0) 10%,transparent);-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);animation:liquid-dropdown .4s cubic-bezier(.34,1.56,.64,1);transform-origin:top center;max-height:320px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:color-mix(in oklch,var(--border) 40%,transparent) transparent}.crystal-event-dropdown::-webkit-scrollbar{width:6px}.crystal-event-dropdown::-webkit-scrollbar-track{background:color-mix(in oklch,var(--surface) 50%,transparent);border-radius:3px}.crystal-event-dropdown::-webkit-scrollbar-thumb{background:color-mix(in oklch,var(--border) 60%,transparent);border-radius:3px}.crystal-event-dropdown-header{padding:.75rem 1rem;border-bottom:1px solid color-mix(in oklch,var(--border) 30%,transparent);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,color-mix(in oklch,var(--primary) 10%,transparent),color-mix(in oklch,var(--secondary) 10%,transparent));border-radius:11px 11px 0 0}.crystal-event-dropdown-title{font-size:.875rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.crystal-event-dropdown-close{width:24px;height:24px;background:color-mix(in oklch,var(--error) 20%,transparent);border:1px solid color-mix(in oklch,var(--error) 30%,transparent);border-radius:6px;color:var(--error);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease,transform .2s ease;font-size:.75rem}.crystal-event-dropdown-close:hover{background:color-mix(in oklch,var(--error) 30%,transparent);border-color:color-mix(in oklch,var(--error) 50%,transparent);transform:scale(1.1)}.crystal-event-dropdown-list{padding:.5rem}.crystal-dropdown-event{padding:.75rem;margin-bottom:.25rem;background:color-mix(in oklch,var(--surface) 60%,transparent);border:1px solid color-mix(in oklch,var(--border) 30%,transparent);border-radius:8px;cursor:pointer;transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s ease,transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.crystal-dropdown-event:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,color-mix(in oklch,var(--primary) 20%,transparent),transparent);transition:left .4s ease}.crystal-dropdown-event:hover:before{left:100%}.crystal-dropdown-event:hover{background:color-mix(in oklch,var(--primary) 15%,transparent);border-color:color-mix(in oklch,var(--primary) 40%,transparent);transform:translateX(2px) scale(1.02);box-shadow:0 4px 12px color-mix(in oklch,var(--primary) 25%,transparent),0 2px 6px color-mix(in oklch,var(--primary) 15%,transparent)}.crystal-dropdown-event:last-child{margin-bottom:0}.crystal-dropdown-event-time{font-size:.75rem;font-weight:600;color:var(--primary);margin-bottom:.25rem;display:flex;align-items:center;gap:.375rem}.crystal-dropdown-event-title{margin-bottom:.25rem}.crystal-dropdown-event-name{font-size:.813rem;font-weight:500;color:var(--text-primary);line-height:1.3;margin-bottom:.125rem}.crystal-dropdown-event-description{font-size:.75rem;color:var(--text-secondary);line-height:1.4;margin-top:.125rem;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis}.crystal-dropdown-event-details{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem}.crystal-dropdown-event-location,.crystal-dropdown-event-participants{display:flex;align-items:center;gap:.25rem;font-size:.688rem;color:var(--text-tertiary)}.crystal-dropdown-event-location svg,.crystal-dropdown-event-participants svg{flex-shrink:0;opacity:.7}.crystal-dropdown-event-type{font-size:.688rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;display:inline-block;padding:.125rem .375rem;background:color-mix(in oklch,var(--secondary) 15%,transparent);border-radius:4px;border:1px solid color-mix(in oklch,var(--secondary) 25%,transparent)}.crystal-dropdown-event-priority{position:absolute;top:.5rem;right:.5rem;width:8px;height:8px;border-radius:50%;animation:crystal-glow-pulse 2s ease-in-out infinite}.crystal-dropdown-event-priority.high{background:color-mix(in oklch,var(--error) 80%,transparent);box-shadow:0 0 6px color-mix(in oklch,var(--error) 40%,transparent)}.crystal-dropdown-event-priority.medium{background:color-mix(in oklch,var(--warning) 80%,transparent);box-shadow:0 0 6px color-mix(in oklch,var(--warning) 40%,transparent)}.crystal-dropdown-event-priority.low{background:color-mix(in oklch,var(--success) 80%,transparent);box-shadow:0 0 6px color-mix(in oklch,var(--success) 40%,transparent)}.crystal-dropdown-event-priority.urgent{background:color-mix(in oklch,var(--error) 100%,transparent);box-shadow:0 0 8px color-mix(in oklch,var(--error) 60%,transparent);animation:crystal-glow-pulse 1s ease-in-out infinite}.crystal-event-dropdown:before{content:"";position:absolute;top:-6px;left:50%;width:12px;height:12px;background:var(--color-surface);border:1px solid color-mix(in oklch,var(--border) 40%,transparent);border-bottom:none;border-right:none;transform:translateX(-50%) rotate(45deg);z-index:-1}.crystal-dropdown-overlay{position:fixed;inset:0 0 0 0;z-index:999;background:color-mix(in oklch,oklch(0% 0 0) 20%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.crystal-day-event-dropdown-container{position:absolute;top:100%;left:0;right:0;z-index:1000;margin-top:.25rem}@media (max-width:1023px) and (min-width:768px){.crystal-tooltip-content{min-width:220px;max-width:280px;padding:.875rem 1rem}.crystal-tooltip-date{font-size:.875rem}.crystal-tooltip-time-text{font-size:.9375rem}.crystal-tooltip-icon-wrapper{width:28px;height:28px}}@media (max-width:767px){.crystal-tooltip-content{min-width:200px;max-width:260px;padding:.75rem .875rem}.crystal-tooltip-date{font-size:.813rem}.crystal-tooltip-time-text{font-size:.875rem}.crystal-tooltip-icon-wrapper{width:24px;height:24px}.crystal-tooltip-action-text{font-size:.688rem}}@media (max-width:480px){.crystal-tooltip-content{min-width:180px;max-width:240px;padding:.625rem .75rem}.crystal-tooltip-header{gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem}.crystal-tooltip-date{font-size:.75rem}.crystal-tooltip-time-text{font-size:.813rem}.crystal-tooltip-duration{font-size:.75rem;padding-left:1.25rem}.crystal-tooltip-icon-wrapper{width:20px;height:20px}.crystal-tooltip-action{padding:.375rem .5rem}.crystal-tooltip-action-text{font-size:.625rem}}@media (prefers-reduced-motion:reduce){.crystal-action-btn:before,.crystal-add-btn:before,.crystal-calendar-tooltip,.crystal-loading-spinner,.crystal-tooltip-glow{animation:none}.crystal-action-btn,.crystal-add-btn,.crystal-event-card,.crystal-search-input{transition:none}}@media (max-width:1023px){.crystal-header-content{align-items:flex-start;gap:.75rem}.crystal-header-actions{width:100%;justify-content:flex-start;margin-top:.5rem}.crystal-page-title{font-size:1.75rem}.crystal-page-subtitle{font-size:.95rem}}@media (max-width:640px){.crystal-header-content{padding:0 1rem;gap:.75rem}.crystal-header-actions{gap:.5rem}.crystal-search-container{min-width:0;flex:1}.crystal-add-btn{width:100%;justify-content:center}.crystal-page-title{font-size:1.5rem}.crystal-page-subtitle{font-size:.9rem}.crystal-content{padding:1.25rem 1rem 1.5rem}.crystal-calendar-grid{aspect-ratio:7/6;min-height:calc(100vh - 280px);width:100%;max-width:100%;margin:0;padding:0 .5rem;box-sizing:border-box}.crystal-calendar-grid:before{left:0;right:0}}@media (max-width:768px){.crystal-calendar-page{padding:0}.crystal-header{padding:.5rem 0 .25rem}.crystal-header-content{padding:0 1rem;gap:.5rem}.crystal-page-title{font-size:1.5rem}.crystal-search-container{min-width:200px}.crystal-search-input{padding:.75rem 1rem .75rem 2.5rem;font-size:.875rem}.crystal-view-controls{padding:.75rem 1rem;margin:0 1rem;gap:.75rem;flex-wrap:wrap}.crystal-stats-number{font-size:1.25rem}.crystal-stats-label{font-size:.75rem}.crystal-date-navigation{gap:.5rem}.crystal-current-date{font-size:.875rem;min-width:100px;padding:.375rem .75rem}.crystal-nav-btn,.crystal-today-btn{padding:.5rem;font-size:.75rem}.crystal-view-toggle{gap:.125rem}.crystal-view-btn{padding:.375rem .5rem;font-size:.75rem}.crystal-content{padding:1rem;gap:1rem}.crystal-calendar-grid{max-width:100%;min-height:350px;max-height:60vh;aspect-ratio:auto;border-radius:12px}.crystal-calendar-day{min-height:50px;padding:.5rem}.crystal-calendar-grid .crystal-day-number{font-size:.75rem;margin-bottom:.25rem}.crystal-calendar-grid .crystal-day-event{font-size:.625rem;padding:.125rem .25rem}.crystal-calendar-grid .crystal-week-header{padding:.75rem .5rem}.crystal-week-day{font-size:.75rem}.crystal-week-view{min-height:400px;border-radius:12px}.crystal-week-view .crystal-week-header{grid-template-columns:60px repeat(7,1fr)}.crystal-time-column-header{padding:.75rem .5rem;font-size:.75rem}.crystal-week-view .crystal-day-header{padding:.5rem .25rem;min-height:50px}.crystal-day-name{font-size:.75rem}.crystal-week-view .crystal-day-number{font-size:.875rem}.crystal-hour-row{grid-template-columns:60px repeat(7,1fr);min-height:60px}.crystal-week-view .crystal-time-label{padding:.75rem .5rem;font-size:.75rem}.crystal-time-slot{padding:.5rem;min-height:60px}.crystal-week-event{font-size:.7rem;padding:.375rem}.crystal-day-view{min-height:400px;border-radius:12px}.crystal-day-header h2{font-size:1.25rem}.crystal-day-hour{min-height:60px}.crystal-day-time{padding:.75rem .5rem}.crystal-time-label{font-size:.75rem}.crystal-day-content{padding:.5rem}.crystal-day-event{font-size:.75rem;padding:.5rem}.crystal-event-card{padding:1rem;min-height:120px;border-radius:12px}.crystal-event-title{font-size:1rem}.crystal-event-description,.crystal-event-time{font-size:.875rem}.crystal-event-duration{font-size:.625rem;padding:.125rem .375rem}.crystal-actions{padding-top:.75rem;gap:.375rem}.crystal-action-btn{padding:.5rem;font-size:.875rem}.crystal-events-list{gap:1rem}.crystal-modal{padding:1.5rem;border-radius:16px}.crystal-modal-title{font-size:1.25rem}}@media (max-width:480px){.crystal-header-content{padding:0 .75rem}.crystal-page-title{font-size:1.25rem}.crystal-page-subtitle{font-size:.875rem}.crystal-search-container{min-width:160px}.crystal-search-input{padding:.625rem 1rem .625rem 2.25rem;font-size:.8rem}.crystal-view-controls{padding:.5rem .75rem;margin:0 .75rem;gap:.5rem}.crystal-content{padding:.75rem}.crystal-calendar-grid{min-height:300px;max-height:50vh;border-radius:8px}.crystal-calendar-day{min-height:40px;padding:.375rem}.crystal-day-number{font-size:.625rem;margin-bottom:.125rem}.crystal-day-event{font-size:.5rem;padding:.125rem;line-height:1.2}.crystal-week-header{padding:.5rem .25rem}.crystal-week-day{font-size:.625rem}.crystal-week-view{min-height:350px}.crystal-week-header{grid-template-columns:50px repeat(7,1fr)}.crystal-time-column-header{padding:.5rem .25rem;font-size:.625rem}.crystal-day-header{padding:.375rem .125rem;min-height:40px}.crystal-day-name{font-size:.625rem;margin-bottom:.125rem}.crystal-day-number{font-size:.75rem}.crystal-hour-row{grid-template-columns:50px repeat(7,1fr);min-height:50px}.crystal-time-label{padding:.5rem .25rem}.crystal-time-slot{padding:.375rem;min-height:50px}.crystal-week-event{font-size:.6rem;padding:.25rem;line-height:1.2}.crystal-day-view{min-height:350px}.crystal-day-header h2{font-size:1.125rem}.crystal-day-hour{min-height:50px}.crystal-day-time{padding:.5rem .25rem}.crystal-time-label{font-size:.625rem}.crystal-day-content{padding:.375rem}.crystal-day-event{font-size:.625rem;padding:.375rem}.crystal-event-card{padding:.75rem;min-height:100px;border-radius:8px}.crystal-event-title{font-size:.875rem;margin-bottom:.25rem}.crystal-event-description{font-size:.75rem;margin-bottom:.75rem}.crystal-event-time{font-size:.75rem;gap:.375rem}.crystal-event-duration{font-size:.5rem}.crystal-actions{padding-top:.5rem;gap:.25rem}.crystal-action-btn{padding:.375rem;font-size:.75rem}.crystal-action-divider{height:1rem;margin:0 .125rem}.crystal-modal{padding:1rem;border-radius:12px;max-height:85vh}.crystal-modal-title{font-size:1.125rem}.crystal-modal-header{margin-bottom:.5rem}.crystal-events-list{gap:.75rem}.crystal-calendar-grid,.crystal-calendar-page,.crystal-content,.crystal-day-view,.crystal-events-list,.crystal-week-view{overflow-x:hidden!important;max-width:100vw;box-sizing:border-box}.crystal-day-event,.crystal-event-description,.crystal-event-title,.crystal-week-event{word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%}}@media (max-width:360px){.crystal-header-content{padding:0 .5rem}.crystal-view-controls{padding:.375rem .5rem;margin:0 .5rem}.crystal-content{padding:.5rem}.crystal-calendar-grid{min-height:280px;max-height:45vh}.crystal-calendar-day{min-height:35px;padding:.25rem}.crystal-hour-row,.crystal-week-header{grid-template-columns:40px repeat(7,1fr)}.crystal-time-column-header,.crystal-time-label{padding:.375rem .125rem;font-size:.5rem}}@media (max-width:640px){.event-edit-modal{width:100%;height:100%;max-height:100dvh;border-radius:0;display:flex;flex-direction:column}.event-edit-modal-header{padding:1rem 1.25rem;flex-shrink:0}.event-edit-modal-title{font-size:1.125rem}.event-edit-ai-btn span{display:none}.event-edit-ai-btn{margin-right:.25rem;padding:.5rem}.event-edit-modal-close{width:36px;height:36px}.event-edit-modal-content{padding:1.25rem;flex:1;overflow-y:auto}.event-edit-form-grid{gap:1.5rem}.event-edit-modal-footer{flex-direction:column;gap:1rem;padding:1rem 1.25rem 1.5rem;border-radius:0;background:var(--color-surface-elevated);flex-shrink:0}.event-edit-footer-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.75rem;order:1}.event-edit-btn{width:100%;justify-content:center;padding:.875rem;font-size:1rem;height:3.25rem}.event-edit-btn-delete{width:100%;margin-right:0;order:2;opacity:.8;background:transparent;border:1px solid color-mix(in oklch,var(--color-error) 20%,transparent)}.event-edit-btn-delete:active,.event-edit-btn-delete:hover{background:color-mix(in oklch,var(--color-error) 10%,transparent);opacity:1}}.contacts-page,.crystal-contacts-page{min-height:100vh;background:var(--chat-background);color:var(--color-text-primary);font-family:var(--font-family-primary);position:relative;overflow-x:hidden}.contacts-main{padding:clamp(2rem,5vw,3rem);z-index:1}.contacts-main,.crystal-content{max-width:1600px;margin:0 auto;position:relative}.crystal-content{padding:2rem;z-index:5;content-visibility:auto;contain:layout paint;flex:1;display:flex;flex-direction:column;gap:1.5rem;overflow-x:hidden;width:100%;box-sizing:border-box}.contacts-header,.crystal-header{position:relative;z-index:10;padding:2rem 0;background:var(--color-surface);border-bottom:1px solid var(--color-border);margin-bottom:2rem}.contacts-header-content,.crystal-header-content{max-width:1600px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.contacts-header-left,.crystal-header-left{flex:1;min-width:250px}.contacts-title,.crystal-page-title{font-size:clamp(2rem,5vw,3rem);font-weight:800;color:var(--color-text-primary);margin:0 0 .5rem;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-text-primary),var(--color-primary));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.contacts-subtitle,.crystal-page-subtitle{font-size:1.1rem;color:var(--color-text-secondary);margin:0;font-weight:400;max-width:600px}.contacts-header-actions,.crystal-header-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0;flex-wrap:wrap}.contacts-search-controls,.crystal-search-container{display:flex;align-items:center;position:relative;min-width:320px}.contacts-search-input,.crystal-search-input{width:100%;padding:.875rem 1rem .875rem 3rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:.95rem;outline:none;transition:border-color .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s cubic-bezier(.2,.8,.2,1),background-color .2s ease;box-shadow:0 2px 8px color-mix(in oklch,var(--color-background) 50%,transparent)}.contacts-search-input:focus,.crystal-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--color-primary) 20%,transparent);background:var(--color-surface)}.contacts-search-icon,.crystal-search-icon{left:1rem;width:1.1rem;height:1.1rem;pointer-events:none}.contacts-search-icon,.crystal-search-clear,.crystal-search-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary)}.crystal-search-clear{right:.75rem;background:transparent;border:none;cursor:pointer;padding:.25rem;border-radius:var(--radius-md);transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}.crystal-search-clear:hover{background:var(--color-surface-elevated);color:var(--color-error)}.contacts-view-controls,.crystal-view-controls{display:flex;align-items:center;gap:1.5rem;margin:0 2rem;padding:.75rem 1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.contacts-view-toggle,.crystal-view-toggle{display:flex;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.25rem;gap:.25rem}.contacts-view-button,.crystal-view-btn{padding:.5rem .75rem;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;font-size:.875rem;display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-md)}.contacts-view-button:hover,.crystal-view-btn:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.contacts-view-button.active,.crystal-view-btn.active{background:var(--color-surface-elevated);color:var(--color-primary);box-shadow:0 2px 4px color-mix(in oklch,var(--color-background) 50%,transparent);font-weight:600}.crystal-stats{display:flex;flex-direction:column;align-items:center;line-height:1}.crystal-stats-number{font-size:1.25rem;font-weight:700;color:var(--color-primary)}.crystal-stats-label{font-size:.75rem;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.crystal-controls-divider{width:1px;height:2rem;background:var(--color-border)}.crystal-sort-dropdown{position:relative}.crystal-sort-trigger{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;font-size:.875rem;font-weight:500}.crystal-sort-trigger:hover{border-color:var(--color-primary);background:var(--color-surface)}.crystal-sort-menu{position:absolute;top:calc(100% + .5rem);right:0;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 10px 30px color-mix(in oklch,var(--color-background) 20%,transparent);min-width:220px;z-index:50;padding:.5rem}.crystal-sort-option{display:block;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;font-size:.875rem;text-align:left;border-radius:var(--radius-md)}.crystal-sort-option:hover{background:var(--color-surface);color:var(--color-primary)}.crystal-sort-option.active{background:color-mix(in oklch,var(--color-primary) 10%,transparent);color:var(--color-primary);font-weight:600}.contacts-grid,.crystal-contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.contacts-list-view,.crystal-contacts-grid.list-view,.crystal-contacts-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:3rem}.contact-card,.crystal-contact-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.25rem;transition:all .2s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;gap:1rem;height:100%;min-height:220px}.crystal-contact-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px color-mix(in oklch,var(--color-background) 40%,transparent);border-color:var(--color-primary);background:var(--color-surface-elevated)}.crystal-contact-card.selected{border-color:var(--color-primary);background:color-mix(in oklch,var(--color-primary) 2%,var(--color-surface-elevated));box-shadow:0 0 0 2px color-mix(in oklch,var(--color-primary) 20%,transparent)}.crystal-selection-indicator{position:absolute;top:0;left:0;width:3px;height:100%;background:var(--color-primary);opacity:0;transition:opacity .15s ease}.crystal-contact-card.selected .crystal-selection-indicator{opacity:1}.crystal-avatar-section{display:flex;align-items:center;gap:1rem;position:relative;z-index:2}.crystal-avatar{position:relative;width:3.5rem;height:3.5rem;flex-shrink:0}.crystal-avatar-image,.crystal-avatar-placeholder{width:100%;height:100%;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:var(--color-primary);background:var(--color-surface-elevated);border:2px solid var(--color-surface);box-shadow:0 2px 8px color-mix(in oklch,var(--color-background) 20%,transparent)}.crystal-relationship-ring{position:absolute;top:-3px;left:-3px;width:calc(100% + 6px);height:calc(100% + 6px);border-radius:50%;padding:2px;background:conic-gradient(from 0deg,var(--color-primary) var(--relationship-angle,0deg),transparent var(--relationship-angle,0deg));mask:radial-gradient(circle,transparent 60%,black 0);-webkit-mask:radial-gradient(circle,transparent 60%,black 0);transition:transform .2s ease;pointer-events:none;opacity:.8}.crystal-contact-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.crystal-contact-name{font-size:1.1rem;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crystal-contact-details{display:flex;align-items:center;gap:.5rem;font-size:.8rem;margin-top:.25rem}.crystal-contact-details,.crystal-role{color:var(--color-text-secondary);overflow:hidden}.crystal-role{background:var(--color-surface-overlay);padding:.1rem .4rem;border-radius:4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.02em;border:1px solid var(--color-border-subtle);text-overflow:ellipsis;white-space:nowrap;max-width:100%}.crystal-contact-meta{display:flex;align-items:center;gap:1rem;font-size:.8rem;color:var(--color-text-tertiary);padding-bottom:.75rem;border-bottom:1px solid var(--color-border-subtle);min-height:2rem}.contact-hover-trigger,.crystal-contact-meta span{display:flex;align-items:center;gap:.35rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crystal-detail-icon{color:var(--color-text-tertiary);width:14px;height:14px;flex-shrink:0}.crystal-contact-stats{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0}.crystal-stat{display:flex;flex-direction:column;gap:.1rem}.crystal-stat-value{font-size:.95rem;font-weight:700;color:var(--color-text-primary);line-height:1}.crystal-stat-label{font-size:.65rem;color:var(--color-text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.crystal-card-content{flex:1;display:flex;flex-direction:column;gap:.75rem}.crystal-contact-tags{display:flex;flex-wrap:wrap;gap:.35rem;height:1.5rem;overflow:hidden}.crystal-tag{padding:.15rem .5rem;background:var(--color-surface-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:999px;font-size:.7rem;font-weight:500;white-space:nowrap}.crystal-tag-more{background:transparent;border-style:dashed;color:var(--color-text-tertiary)}.crystal-contact-notes{color:var(--color-text-secondary);font-size:.8rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;opacity:.8}.crystal-actions{display:flex;align-items:center;gap:.5rem;margin-top:auto;opacity:.6;transition:opacity .2s ease}.crystal-contact-card:hover .crystal-actions{opacity:1}.crystal-action-btn{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-tertiary);cursor:pointer;transition:all .15s ease}.crystal-action-btn:hover{background:var(--color-surface-elevated);color:var(--color-text-primary);border-color:var(--color-border);transform:translateY(-1px)}.crystal-action-primary{color:var(--color-primary);background:color-mix(in oklch,var(--color-primary) 5%,transparent)}.crystal-action-primary:hover{background:var(--color-primary);color:white;border-color:var(--color-primary)}.crystal-action-divider{width:1px;height:1.25rem;background:var(--color-border);margin:0 .25rem}.crystal-contact-list-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.75rem 1.25rem;display:grid;grid-template-columns:auto 2fr 1fr auto;align-items:center;gap:1.5rem;transition:all .15s ease;cursor:pointer}.crystal-contact-list-item:hover{background:var(--color-surface-elevated);border-color:var(--color-primary);transform:translateX(2px)}.crystal-list-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-surface-elevated);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:var(--color-primary);flex-shrink:0}.crystal-list-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.crystal-list-info{display:flex;flex-direction:column;gap:.15rem}.crystal-list-name{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.crystal-list-meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--color-text-secondary)}.crystal-list-stats{display:flex;gap:1.5rem}.crystal-list-stat{display:flex;flex-direction:column;gap:.1rem}.crystal-list-stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}.crystal-list-stat-value{font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.crystal-list-actions{display:flex;align-items:center;gap:.25rem;opacity:0;transition:opacity .15s ease}.crystal-contact-list-item:hover .crystal-list-actions{opacity:1}@media (max-width:1024px){.crystal-contact-list-item{grid-template-columns:auto 1fr;gap:1rem}.crystal-list-stats{grid-column:2;flex-wrap:wrap;gap:1rem}.crystal-list-actions{grid-column:1/-1;justify-content:flex-end;opacity:1;border-top:1px solid var(--color-border-subtle);padding-top:.5rem;margin-top:.25rem}}@media (max-width:768px){.contacts-grid{grid-template-columns:1fr}}