.crm-layout{display:flex;min-height:100vh;background:var(--color-background-secondary)}.crm-main{flex:1;margin-left:256px;min-height:100vh}.crm-topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;background:#fff;border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.crm-topbar h1{font-size:1.4rem;font-weight:700;margin:0 0 2px}.crm-subtitle{font-size:.82rem;color:var(--color-text-secondary);margin:0}.topbar-actions{display:flex;align-items:center;gap:8px}.btn-primary{display:inline-flex;align-items:center;gap:6px;background:var(--color-primary);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:none}.btn-primary:hover{opacity:.9}.btn-secondary{display:inline-flex;align-items:center;background:#fff;color:var(--color-text-secondary);border:1px solid var(--color-border);padding:8px 10px;border-radius:8px;cursor:pointer;font-size:.85rem}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.month-label{font-size:1rem;font-weight:700;color:var(--color-text-primary);min-width:180px;text-align:center;text-transform:capitalize}.page-content{padding:24px 32px;display:grid;grid-template-columns:1fr 220px;gap:20px;align-items:start}.view-toggle{grid-column:1 / -1;display:flex;gap:4px;margin-bottom:-8px}.vtab{padding:6px 14px;border:1px solid var(--color-border);background:#fff;border-radius:7px;font-size:.83rem;font-weight:500;cursor:pointer;color:var(--color-text-secondary)}.vtab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.calendar-view,.week-view,.list-view{background:#fff;border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.cal-grid{display:flex;flex-direction:column}.cal-header-row{display:grid;grid-template-columns:repeat(7,1fr)}.cal-header-cell{padding:10px;text-align:center;font-size:.78rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;background:var(--color-background-secondary);border-bottom:1px solid var(--color-border)}.cal-body{display:grid;grid-template-columns:repeat(7,1fr)}.cal-cell{min-height:100px;padding:6px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.cal-cell:nth-child(7n){border-right:none}.cal-cell--empty{background:var(--color-background-secondary)}.cal-cell--today{background:#133dbd08}.cal-day-num{font-size:.82rem;font-weight:600;color:var(--color-text-secondary);width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:4px}.today-num{background:var(--color-primary);color:#fff}.cal-events{display:flex;flex-direction:column;gap:2px}.cal-event{background:var(--color-primary);color:#fff;font-size:.68rem;padding:2px 5px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:opacity .15s}.cal-event:hover{opacity:.85}.cal-more{font-size:.68rem;color:var(--color-text-secondary);padding:1px 4px}.week-grid{padding:16px}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.week-day-header{text-align:center;margin-bottom:8px}.week-day-name{font-size:.72rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase}.week-day-num{font-size:1.2rem;font-weight:700;color:var(--color-text-primary);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin:4px auto}.week-day--today .week-day-num{background:var(--color-primary);color:#fff}.week-event{padding:6px 8px;border-radius:6px;background:var(--color-background-secondary);margin-bottom:4px;font-size:.75rem;cursor:pointer;transition:background .15s}.week-event:hover{background:#e8edf8}.we-time{display:block;font-weight:700;color:var(--color-text-primary)}.we-name{display:block;color:var(--color-text-primary);font-weight:600}.we-type{display:block;color:var(--color-text-secondary);font-size:.7rem}.list-date-group{font-size:.78rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;padding:12px 20px 6px;background:var(--color-background-secondary)}.list-apt-card{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background .15s}.list-apt-card:hover{background:#f8fafc}.list-apt-time{font-size:.88rem;font-weight:700;color:var(--color-text-primary);min-width:50px}.list-apt-bar{width:3px;height:36px;border-radius:2px;flex-shrink:0}.list-apt-info{flex:1}.list-apt-name{font-size:.88rem;font-weight:600;color:var(--color-text-primary)}.list-apt-meta{font-size:.78rem;color:var(--color-text-secondary)}.list-apt-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.list-apt-status{font-size:.75rem;font-weight:600}.list-apt-export{display:flex;gap:6px}.export-icon-btn{padding:4px;border:1px solid var(--color-border);border-radius:5px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s}.export-icon-btn:hover{border-color:var(--color-primary)}.empty-state{padding:40px;text-align:center;color:var(--color-text-secondary)}.agenda-sidebar{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:20px}.agenda-sidebar h3{font-size:.88rem;font-weight:700;color:var(--color-text-primary);margin:0 0 12px}.sidebar-apt{padding:8px 10px;border-radius:6px;background:var(--color-background-secondary);margin-bottom:6px;cursor:pointer;transition:background .15s}.sidebar-apt:hover{background:#e8edf8}.sa-time{font-size:.72rem;font-weight:700;color:var(--color-text-secondary)}.sa-name{font-size:.83rem;font-weight:600;color:var(--color-text-primary)}.no-events{font-size:.82rem;color:var(--color-text-secondary);font-style:italic;margin:0}.modal-overlay{position:fixed;inset:0;background:#00000073;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(2px)}.modal-box{background:#fff;border-radius:16px;width:100%;max-width:440px;box-shadow:0 20px 60px #0000002e;position:relative;animation:modalIn .2s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--color-text-secondary);padding:4px 8px;border-radius:6px;transition:background .15s}.modal-close:hover{background:var(--color-background-secondary)}.modal-header{display:flex;align-items:flex-start;gap:12px;padding:24px 24px 16px;border-bottom:1px solid var(--color-border)}.modal-type-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:5px}.modal-title{font-size:1rem;font-weight:700;color:var(--color-dark);margin:0 0 6px;line-height:1.3}.modal-status-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:100px;border:1.5px solid;letter-spacing:.04em}.modal-details{padding:16px 24px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--color-border)}.modal-detail-row{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;color:var(--color-text-primary)}.modal-detail-row svg{flex-shrink:0;margin-top:1px;color:var(--color-text-secondary)}.modal-export{padding:16px 24px 20px}.export-label{font-size:.78rem;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px}.export-buttons{display:flex;gap:10px}.export-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:8px;font-size:.83rem;font-weight:600;cursor:pointer;text-decoration:none;transition:all .15s ease;border:1.5px solid var(--color-border);background:#fff;color:var(--color-dark)}.export-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.export-btn--google:hover{border-color:#4285f4;color:#4285f4}.export-btn--apple:hover{border-color:#555;color:#333}@media(max-width:1024px){.crm-main{margin-left:0}.page-content{grid-template-columns:1fr}.week-days{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.page-content{padding:16px 20px}.week-days{grid-template-columns:repeat(2,1fr)}.cal-cell{min-height:60px}.crm-topbar{padding:14px 16px;flex-wrap:wrap;gap:10px}}
