:root{--ink:#0b0f1a;--ink-2:#101829;--ink-3:#1a2440;--brand:#4f46e5;--brand-2:#22d3ee;--brand-soft:#e0e7ff;--paper:#f4f6fb;--muted:#9aa3b8;--line:#ffffff17;--display:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--body:"Manrope", ui-sans-serif, system-ui, sans-serif}html{scroll-behavior:smooth}body{font-family:var(--body);background:var(--ink);color:#e8ebf4;-webkit-font-smoothing:antialiased;line-height:1.6}body:after{content:"";z-index:60;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{text-transform:none;appearance:button;cursor:pointer;overflow:visible}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:10px;font-size:16px;display:flex}.rbc-toolbar .rbc-toolbar-label{text-align:center;flex-grow:1;padding:0 10px}.rbc-toolbar button{color:#373a3c;text-align:center;vertical-align:middle;white-space:nowrap;background:0 0;border:1px solid #ccc;border-radius:4px;margin:0;padding:.375rem 1rem;line-height:normal;display:inline-block}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-color:#e6e6e6;background-image:none;border-color:#adadad;box-shadow:inset 0 3px 5px #00000020}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{white-space:nowrap;display:inline-block}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (width<=767px){.rbc-toolbar{flex-direction:column}}.rbc-event{box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;color:#fff;cursor:pointer;text-align:left;background-color:#3174ad;border:none;border-radius:5px;width:100%;margin:0;padding:2px 5px}.rbc-slot-selecting .rbc-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected{background-color:#265985}.rbc-event:focus{outline:5px auto #3b99fc}.rbc-event-label{text-overflow:ellipsis;white-space:nowrap;font-size:80%;display:block;overflow:hidden}.rbc-event-overlaps{box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-right-radius:0;border-bottom-left-radius:0}.rbc-row{flex-direction:row;display:flex}.rbc-row-segment{padding:0 1px 1px}.rbc-row-segment .rbc-event-content{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{text-overflow:ellipsis;white-space:nowrap;z-index:4;color:#3174ad;background-color:#ffffff4d;height:auto;font-size:85%;font-weight:700;line-height:normal;display:block;overflow:hidden}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{-webkit-user-select:none;user-select:none;border:1px solid #ddd;flex-direction:column;flex:1 0 0;width:100%;height:100%;display:flex;position:relative}.rbc-month-header{flex-direction:row;display:flex}.rbc-month-row{flex-direction:column;flex:1 0 0;height:100%;display:flex;position:relative;overflow:hidden}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{text-align:right;flex:1 1 0;min-width:0;padding-right:5px}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{flex-direction:row;flex:1 0 0;display:flex;position:absolute;inset:0 1px 0 0;overflow:hidden}.rbc-day-bg{flex:1 0}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{z-index:5;background-color:#fff;border:1px solid #e5e5e5;padding:10px;position:absolute;box-shadow:0 5px 15px #00000040}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{flex-direction:column;flex:1 0 0;display:flex;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{border-spacing:0;border-collapse:collapse;border:1px solid #ddd;width:100%}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{vertical-align:top;padding:5px 10px}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{text-transform:lowercase;padding-left:15px;padding-right:15px}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:left;border-bottom:1px solid #ddd;padding:3px 5px}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{flex-direction:column;min-height:100%;display:flex}.rbc-time-column .rbc-timeslot-group{flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;flex-flow:column;min-height:40px;display:flex}.rbc-time-gutter,.rbc-header-gutter{flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{margin-right:10px;position:absolute;inset:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;flex-flow:column wrap;align-items:flex-start;min-height:20px;max-height:100%;display:flex;position:absolute;overflow:hidden}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{flex:none;width:auto;padding-right:5px}.rbc-day-slot .rbc-event-content{word-wrap:break-word;flex:1 1 0;width:100%;height:100%;min-height:1em;line-height:1}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{z-index:10;background-color:#fff;border-right:1px solid #ddd;margin-right:-1px;position:sticky;left:0}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{flex:1 0 0;min-width:auto}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{flex:1 1 0;width:140px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;color:#fff;background-color:#00000080;width:100%;padding:3px;font-size:75%;position:absolute}.rbc-slot-selecting{cursor:move}.rbc-time-view{border:1px solid #ddd;flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{z-index:4;position:relative}.rbc-time-view .rbc-row{box-sizing:border-box;min-height:20px}.rbc-time-header{flex-direction:row;flex:none;display:flex}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-left:1px solid #ddd;border-right-width:0}.rbc-time-header>.rbc-row:first-child,.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{border-left:1px solid #ddd;flex-direction:column;flex:1;min-width:0;display:flex}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;flex-shrink:0}.rbc-time-content{border-top:2px solid #ddd;flex:1 0;align-items:flex-start;width:100%;display:flex;position:relative;overflow-y:auto}.rbc-time-content>.rbc-time-gutter{flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{-webkit-user-select:none;user-select:none;width:100%}.rbc-current-time-indicator{z-index:3;pointer-events:none;background-color:#74ad31;height:1px;position:absolute;left:0;right:0}.rbc-resource-grouping.rbc-time-header-content{flex-direction:column;display:flex}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.rbc-calendar{box-sizing:border-box;flex-direction:column;align-items:stretch;height:100%;display:flex}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar :before,.rbc-calendar :after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full{position:absolute;inset:0;overflow:hidden}.rbc-ellipsis{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.rbc-rtl{direction:rtl}.rbc-header{text-overflow:ellipsis;white-space:nowrap;text-align:center;vertical-align:middle;border-bottom:1px solid #ddd;flex:1 0;min-height:0;padding:0 3px;font-size:90%;font-weight:700;overflow:hidden}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;cursor:pointer;-webkit-user-select:text;user-select:text;background:0 0;border:none;margin:0;padding:0}.rbc-row-content{-webkit-user-select:none;user-select:none;z-index:4;position:relative}.rbc-row-content-scrollable{flex-direction:column;height:100%;display:flex}.rbc-row-content-scrollable .rbc-row-content-scroll-container{-ms-overflow-style:none;scrollbar-width:none;height:100%;overflow-y:scroll}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--body);background:var(--ink);color:#e8ebf4}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(900px 500px at 12% -8%, #4f46e547, transparent 60%), radial-gradient(700px 420px at 95% 12%, #22d3ee24, transparent 60%), linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.5;background-repeat:no-repeat,no-repeat,repeat,repeat;background-size:auto,auto,56px 56px,56px 56px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(900px 600px at 50% 0,#000 25%,#0000 90%);mask-image:radial-gradient(900px 600px at 50% 0,#000 25%,#0000 90%)}.app{max-width:1280px;margin:0 auto;padding:20px}.header{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);background:#0b0f1ab8;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:14px 22px;display:flex;position:sticky;top:0;box-shadow:0 12px 40px #0006}.header-title{align-items:center;gap:20px;display:flex}.brand-txt{flex-direction:column;line-height:1.25;display:flex}.header-logo{width:auto;height:36px;display:block}.header h1{font-family:var(--display);letter-spacing:.01em;color:#fff;margin:0;font-size:1.3rem;font-weight:800}.header p{color:var(--muted);margin:0;font-size:.85rem}.header-info{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.event-count{color:var(--muted);font-size:14px;font-weight:600}.sync-btn{background:var(--brand);color:#fff;font-size:14px;font-weight:700;font-family:var(--body);cursor:pointer;border:none;border-radius:12px;align-items:center;height:36px;padding:8px 18px;line-height:1;text-decoration:none;transition:background .2s,transform .15s,box-shadow .25s,opacity .2s;display:inline-flex;box-shadow:0 10px 30px #4f46e559}.sync-btn:hover{background:#5f57ea;transform:translateY(-1px)}.sync-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.logout-btn{box-shadow:none;border:1px solid var(--line);color:#c7cdea;background:#ffffff0a}.logout-btn:hover{color:#fecaca;background:#dc262640;border-color:#f87171}.zoom-btn{background:var(--brand);color:#fff;font-size:14px;font-weight:700;font-family:var(--body);border-radius:12px;align-items:center;gap:8px;padding:10px 18px;text-decoration:none;transition:background .2s,transform .15s;display:inline-flex;box-shadow:0 10px 30px #4f46e559}.zoom-btn:hover{background:#5f57ea;transform:translateY(-1px)}.close-btn{border:1px solid var(--line);color:#e8ebf4;font-size:14px;font-weight:700;font-family:var(--body);cursor:pointer;background:#ffffff0a;border-radius:10px;margin-top:0;padding:8px 18px;transition:background .2s,border-color .2s}.close-btn:hover{background:#ffffff17;border-color:#ffffff59}.calendar-container{border:1px solid var(--line);background:linear-gradient(165deg,#ffffff0d,#ffffff04);border-radius:20px;padding:20px;position:relative;box-shadow:0 26px 60px #0006}.loader{height:100vh;color:var(--muted);justify-content:center;align-items:center;font-size:18px;display:flex}.rbc-calendar{color:#e8ebf4;font-size:14px}.rbc-toolbar{color:#e8ebf4;margin-bottom:16px}.rbc-toolbar .rbc-toolbar-label{font-family:var(--display);color:#fff;font-size:1.1rem;font-weight:700}.rbc-toolbar button{color:#c7cdea;border:1px solid var(--line);font-size:13px;font-family:var(--body);background:#ffffff0a;border-radius:10px;padding:6px 14px;transition:background .2s,border-color .2s}.rbc-toolbar button:hover:not(:disabled){background:#ffffff17;border-color:#ffffff59}.rbc-toolbar button.rbc-active,.rbc-toolbar button.rbc-active:hover{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 6px 20px #4f46e566}.rbc-toolbar button:focus{outline:none}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-month-view,.rbc-time-view,.rbc-agenda-view{border:1px solid var(--line);background:#ffffff05;border-radius:14px;overflow:hidden}.rbc-header{color:var(--muted);background:#ffffff05;padding:8px;font-weight:600}.rbc-header+.rbc-header{border-left:1px solid var(--line)}.rbc-month-row+.rbc-month-row,.rbc-month-row{border-top:1px solid var(--line)}.rbc-day-bg+.rbc-day-bg,.rbc-day-slot .rbc-time-slot,.rbc-timeslot-group,.rbc-time-slot{border-color:var(--line)}.rbc-day-bg{background:0 0}.rbc-off-range{color:#5a6480}.rbc-off-range-bg{background:#ffffff05}.rbc-today{background-color:#4f46e524}.rbc-date-cell{color:#c7cdea;padding:4px 6px}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell.rbc-now>a{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-weight:800;display:inline-flex;box-shadow:0 4px 14px #4f46e573}.rbc-event{font-size:12px;font-family:var(--body);cursor:pointer;border-radius:6px;padding:2px 6px}.rbc-event:focus{outline:none;box-shadow:0 0 0 2px #22d3ee80}.rbc-event-inner{line-height:1.3}.rbc-event-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-teams-link{color:#a8d8ff;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:10px;text-decoration:underline;display:block;overflow:hidden}.event-teams-link:hover{color:#fff}.rbc-time-content{border-top:1px solid var(--line)}.rbc-current-time-indicator{background:var(--brand-2);height:2px}.rbc-current-time-indicator:before{border:4px solid var(--brand-2)}.rbc-show-more{color:var(--brand-2);background:0 0;font-weight:700}.rbc-agenda-table{color:#d7dbe8}.rbc-agenda-table thead>tr>th,.rbc-agenda-table tbody>tr+tr{border-top:1px solid var(--line)}.rbc-agenda-table thead>tr>th{border-bottom:1px solid var(--line);color:var(--muted);font-weight:600}.rbc-label,.rbc-agenda-empty{color:var(--muted)}.rbc-allday-cell,.rbc-time-header-content,.rbc-time-content{border-color:var(--line)}.rbc-overlay{background:var(--ink-2);border:1px solid var(--line);color:#e8ebf4;border-radius:14px;box-shadow:0 20px 60px #0000008c}.rbc-overlay-header{border-bottom:1px solid var(--line)}.holidays-bar{border:1px solid var(--line);background:linear-gradient(165deg,#ffffff0a,#ffffff03);border-radius:14px;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:12px;padding:10px 20px;font-size:13px;display:flex}.holidays-label{color:var(--muted);margin-right:4px;font-weight:700}.holiday-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-weight:600;display:inline-flex}.holiday-toggle input[type=checkbox]{accent-color:var(--brand);cursor:pointer}.holidays-count{color:var(--muted);margin-left:auto;font-size:12px}.holiday-note{color:var(--muted);margin-top:8px;font-style:italic}.clocks-bar{border:1px solid var(--line);background:linear-gradient(165deg,#ffffff0a,#ffffff03);border-radius:14px;justify-content:center;gap:36px;margin-bottom:12px;padding:12px 20px;display:flex}.clock{flex-direction:column;align-items:center;gap:2px;display:flex}.clock-city{text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-size:11px;font-weight:600}.clock-time{color:#fff;letter-spacing:1px;font-family:Courier New,Courier,monospace;font-size:22px;font-weight:700}.toast{z-index:10000;background:var(--ink-2);border:1px solid #22d3ee80;border-radius:12px;max-width:320px;padding:14px 18px;animation:.3s toast-in;position:fixed;top:20px;right:20px;box-shadow:0 20px 60px #00000080}.toast-title{color:#fff;font-size:14px;font-weight:700}.toast-sub{color:var(--muted);margin-top:4px;font-size:13px}@keyframes toast-in{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#060a16d1;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--line);color:#e8ebf4;background:linear-gradient(170deg,#ffffff0f,#ffffff04);border-radius:18px;width:100%;max-width:520px;max-height:84vh;padding:24px;overflow-y:auto;box-shadow:0 30px 90px #0000008c}.modal h2{font-family:var(--display);color:#fff;margin-bottom:16px;font-size:1.3rem}.modal p{color:#d7dbe8;margin-bottom:8px;font-size:14px;line-height:1.5}.modal strong{color:#fff}.description{margin-top:12px}.description .desc-content{border:1px solid var(--line);word-break:break-word;color:#d7dbe8;background:#ffffff0a;border-radius:10px;max-height:200px;margin-top:4px;padding:12px;font-size:12px;line-height:1.6;overflow-y:auto}.description .desc-content a{color:var(--brand-2);word-break:break-all;text-decoration:underline}.share-modal{max-width:520px}.year-view{grid-template-columns:repeat(4,1fr);gap:16px;padding:16px 0;display:grid}.year-month{border:1px solid var(--line);background:#ffffff05;border-radius:12px;padding:10px;transition:border-color .2s}.year-month:hover{border-color:#a5b4fc66}.year-month-title{color:#e8ebf4;text-align:center;text-transform:capitalize;margin-bottom:8px;font-size:14px;font-weight:700}.year-month-weekdays{grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:4px;display:grid}.year-month-wd{text-align:center;color:var(--muted);padding:2px 0;font-size:10px;font-weight:600}.year-month-days{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.year-month-day{text-align:center;color:#c7cdea;cursor:pointer;border-radius:4px;flex-direction:column;justify-content:flex-start;align-items:center;min-height:32px;padding:2px 0;font-size:12px;transition:background .15s;display:flex;position:relative}.year-month-day:hover{background:#4f46e533}.year-month-day.empty{cursor:default}.year-month-day.empty:hover{background:0 0}.year-month-day.today .year-month-day-num{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-weight:700;display:flex}.year-month-day-num{line-height:22px}.year-month-dots{align-items:center;gap:2px;margin-top:1px;display:flex}.year-month-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.year-month-more{color:var(--muted);font-size:8px}.view-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.view-tab{border:1px solid var(--line);color:#c7cdea;font-size:14px;font-weight:600;font-family:var(--body);cursor:pointer;background:#ffffff05;border-radius:10px;padding:8px 18px;transition:background .2s,border-color .2s,transform .15s}.view-tab:hover{background:#ffffff12;border-color:#ffffff59}.view-tab.active{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 6px 20px #4f46e566}.view-tab-count{background:#ffffff2e;border-radius:10px;margin-left:4px;padding:1px 8px;font-size:12px}.commitments-view,.favorites-view{border:1px solid var(--line);background:linear-gradient(165deg,#ffffff0d,#ffffff04);border-radius:20px;min-height:500px;padding:20px;position:relative;box-shadow:0 26px 60px #0006}.commitments-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.commitments-header h3{color:#fff;font-size:18px;font-family:var(--display);align-items:center;gap:10px;margin:0;font-weight:800;display:flex}.commit-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.commit-filter-search,.commit-filter-select,.commit-form input,.commit-form textarea,.fav-form input{border:1px solid var(--line);font-size:14px;font-family:var(--body);color:#e8ebf4;background:#ffffff0a;border-radius:10px;padding:10px 12px}.commit-filter-search{flex:220px;min-width:180px}.commit-filter-search::placeholder,.commit-form input::placeholder,.commit-form textarea::placeholder,.fav-form input::placeholder{color:#6d7690}.commit-filter-search:focus,.commit-filter-select:focus,.commit-form input:focus,.commit-form textarea:focus,.fav-form input:focus{border-color:var(--brand-2);outline:none;box-shadow:0 0 0 3px #22d3ee24}.commit-filter-select,.fav-form select,.commit-form select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239aa3b8' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:38px}.commit-filter-select option,.fav-form select option,.commit-form select option{background:var(--ink-2);color:#e8ebf4}.commit-filter-info{color:var(--muted);white-space:nowrap;font-size:12px}.commitments-section{margin-bottom:20px}.commitments-section-title{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:10px;font-size:13px;font-weight:700}.commitments-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.commitments-empty{color:var(--muted);text-align:center;padding:24px 0;font-size:14px}.commit-card{border:1px solid var(--line);cursor:pointer;background:#ffffff05;border-radius:14px;flex-direction:column;gap:8px;padding:14px;transition:border-color .25s,box-shadow .25s,transform .2s;display:flex}.commit-card:hover{border-color:#a5b4fc66;transform:translateY(-2px);box-shadow:0 16px 40px #00000059}.commit-card.overdue{background:#ef444414;border-left:4px solid #ef4444}.commit-card.done{opacity:.78;border-left:4px solid #22c55e}.commit-card.done .commit-card-title{text-decoration:line-through}.commit-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.commit-card-title{color:#fff;font-size:15px;font-weight:700}.commit-status{color:#1a1200;white-space:nowrap;background:#f59e0b;border-radius:10px;padding:3px 8px;font-size:11px;font-weight:700}.commit-status.ok{color:#052e14;background:#22c55e}.commit-status.late{color:#fff;background:#ef4444}.commit-card-client{color:#c7cdea;font-size:13px}.commit-card-due{color:var(--brand-2);font-size:13px;font-weight:600}.commit-card-reminders{flex-wrap:wrap;gap:6px;display:flex}.commit-reminder-chip{color:#a5b4fc;background:#4f46e533;border:1px solid #4f46e566;border-radius:10px;padding:3px 8px;font-size:11px;font-weight:600}.commit-card-desc{color:#9aa3b8;text-overflow:ellipsis;max-height:60px;font-size:12px;overflow:hidden}.commit-card-actions{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.commitment-modal{max-width:520px;max-height:90vh;overflow-y:auto}.commit-form{flex-direction:column;gap:12px;margin-top:8px;display:flex}.commit-form label{color:#c7cdea;flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.commit-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.commit-reminders{border:1px solid var(--line);background:#ffffff08;border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.commit-reminders-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.commit-reminder-opt{color:#d7dbe8;align-items:center;flex-direction:row!important;gap:8px!important;font-size:13px!important;font-weight:500!important}.commit-error{color:#fecaca;font-size:13px;font-weight:600}.commit-form-actions{justify-content:flex-end;gap:8px;display:flex}.fav-form{border:1px solid var(--line);background:#ffffff08;border-radius:12px;flex-direction:column;gap:12px;margin-bottom:16px;padding:14px;display:flex}.fav-form .commit-form-row{display:grid}.fav-form label{color:#c7cdea;flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.favorites-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.favorite-card{border:1px solid var(--line);background:#ffffff05;border-radius:14px;flex-direction:column;gap:8px;padding:14px;transition:border-color .25s,box-shadow .25s,transform .2s;display:flex}.favorite-card:hover{border-color:#a5b4fc66;transform:translateY(-2px);box-shadow:0 16px 40px #00000059}.favorite-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.favorite-card-title{color:#fff;font-size:15px;font-weight:700}.favorite-card-host{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}@media (width>=700px){.fav-form .commit-form-row{grid-template-columns:1fr 2fr}}@media (width<=900px){.year-view{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.app{padding:14px}.header{padding:12px 16px}.header-info{gap:8px}.calendar-container{padding:12px}.commit-form-row{grid-template-columns:1fr}}@media (width<=500px){.year-view{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.booking-page{background:#f0f2f5;flex-direction:column;min-height:100vh;display:flex}.booking-header{color:#fff;background:#1a1a2e;align-items:center;gap:12px;padding:16px 24px;display:flex}.booking-header h1{font-size:20px;font-weight:700}.booking-body{flex:1;align-items:flex-start;gap:32px;max-width:900px;margin:40px auto;padding:0 20px;display:flex}.booking-info{background:#fff;border-radius:12px;flex:0 0 260px;padding:24px;position:sticky;top:20px;box-shadow:0 2px 12px #00000014}.host-info{align-items:center;gap:12px;margin-bottom:24px;display:flex}.host-avatar{color:#fff;background:#4361ee;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:16px;font-weight:700;display:flex}.host-label{color:#888;font-size:12px}.host-name{color:#1a1a2e;font-size:14px;font-weight:600}.meeting-info{flex-direction:column;gap:12px;display:flex}.info-row{color:#555;align-items:center;gap:8px;font-size:13px;display:flex}.info-icon{text-align:center;width:24px;font-size:16px}.booking-main{background:#fff;border-radius:12px;flex:1;min-height:400px;padding:32px;box-shadow:0 2px 12px #00000014}.booking-main h2{color:#1a1a2e;margin-bottom:16px;font-size:18px}.cal-nav{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.cal-nav-btn{cursor:pointer;color:#555;background:0 0;border:1px solid #ddd;border-radius:6px;padding:6px 12px;font-size:16px;transition:all .2s}.cal-nav-btn:hover{color:#fff;background:#4361ee;border-color:#4361ee}.cal-nav-label{color:#1a1a2e;font-size:16px;font-weight:600}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-day-header{text-align:center;color:#888;padding:8px 0;font-size:12px;font-weight:600}.cal-cell{text-align:center;cursor:pointer;color:#1a1a2e;border-radius:8px;padding:10px 0;font-size:14px;transition:all .15s}.cal-cell:not(.empty):not(.disabled):hover{color:#4361ee;background:#eef0ff}.cal-cell.selected{color:#fff;background:#4361ee;font-weight:600}.cal-cell.disabled{color:#ccc;cursor:not-allowed}.cal-cell.empty{cursor:default}.cal-hint{color:#999;text-align:center;margin-top:12px;font-size:12px}.back-btn{color:#4361ee;cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:0;font-size:13px;display:block}.back-btn:hover{text-decoration:underline}.slots-list{flex-direction:column;gap:8px;max-height:320px;display:flex;overflow-y:auto}.slot-item{cursor:pointer;border:1px solid #e0e0e0;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .15s;display:flex}.slot-item:hover{background:#f8f9ff;border-color:#4361ee}.slot-item.selected{background:#eef0ff;border-color:#4361ee}.slot-time{color:#1a1a2e;font-size:15px;font-weight:600}.slot-arrow{color:#4361ee;font-size:18px}.selected-time-badge{color:#4361ee;text-align:center;background:#eef0ff;border:1px solid #4361ee;border-radius:8px;margin-bottom:20px;padding:10px 16px;font-size:14px;font-weight:600}.form-section form{flex-direction:column;gap:16px;display:flex}.form-section label{color:#333;flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.form-section input,.form-section textarea{border:1px solid #ddd;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.form-section input:focus,.form-section textarea:focus{border-color:#4361ee;outline:none;box-shadow:0 0 0 2px #4361ee26}.field-hint{color:#999;font-size:11px;font-weight:400}.submit-btn{color:#fff;cursor:pointer;background:#4361ee;border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:600;transition:background .2s}.submit-btn:hover{background:#3a56d4}.submit-btn:disabled{cursor:not-allowed;background:#999}.error-msg{color:#e74c3c;font-size:13px}.confirmed-section{text-align:center;padding:20px 0}.confirmed-icon{margin-bottom:16px;font-size:48px}.confirmed-section h2{color:#1a1a2e;margin-bottom:8px;font-size:22px}.confirmed-date{color:#4361ee;margin-bottom:8px;font-size:16px;font-weight:600}.confirmed-detail{color:#666;margin-bottom:24px;font-size:14px}.confirmed-links{margin-bottom:24px}.zoom-btn{color:#fff;background:#4361ee;border-radius:8px;padding:12px 32px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.zoom-btn:hover{background:#3a56d4}.book-another-btn{color:#4361ee;cursor:pointer;background:0 0;border:1px solid #4361ee;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .2s}.book-another-btn:hover{background:#eef0ff}.booking-footer{text-align:center;padding:20px}.back-to-calendar{color:#4361ee;font-size:14px;text-decoration:none}.back-to-calendar:hover{text-decoration:underline}.loading,.no-slots{text-align:center;color:#888;padding:40px 0}@media (width<=700px){.booking-body{flex-direction:column;margin:20px auto}.booking-info{flex:auto;position:static}}
