:root{--purple:#5145b9;--border:#e7e8f0;--background:#f5f6fa;--text:#202132;--muted:#74758a}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif}button{font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.shell{max-width:1250px;margin:0 auto;min-height:100dvh;background:white;display:flex;flex-direction:column;box-shadow:0 0 35px #0000000a}.app-header{justify-content:space-between;padding:22px 28px;border-bottom:1px solid var(--border)}.app-header,.brand{display:flex;align-items:center;gap:12px}.brand{font-size:23px}.brand svg{color:var(--purple)}.connection-status{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;white-space:nowrap}.status-dot{width:8px;height:8px;background:#c3c5cf;border-radius:50%;flex-shrink:0}.status-dot.connected{background:#16a34a}.content{flex:1 1;padding:25px 25px 55px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center}.tabs{display:flex;background:#f0eef8;border-radius:22px;gap:3px}.tabs button{border:0;border-radius:18px;padding:10px 22px;background:transparent}.tabs button.active{background:var(--purple);color:white}.today-button{border:1px solid var(--border);border-radius:10px;background:white;padding:10px 18px;font-weight:600}.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 18px}.nav h2{font-size:21px;text-align:center;text-transform:capitalize;margin:0}.nav button{display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:white;color:#4a4668;border-radius:10px;width:38px;height:38px;flex-shrink:0}.calendar-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.filter-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:20px;background:white;padding:8px 11px;font-size:12px;color:#34364b}.filter-chip svg{color:#9193a5}.filter-chip.filter-hidden{opacity:.45;background:#f5f5f7}.filter-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.calendar-board{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:white}.weekday-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f7f7fc;border-bottom:1px solid var(--border)}.weekday-header div{text-align:center;padding:13px 4px;font-size:12px;font-weight:700;color:#6d7087}.calendar-week{border-bottom:1px solid var(--border);min-height:112px;background:white}.calendar-week:last-child{border-bottom:0}.calendar-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-date{min-width:0;min-height:42px;padding:8px;text-align:right;border-right:1px solid #f0f0f5;font-size:13px}.calendar-date:last-child{border-right:0}.calendar-date.outside-month{color:#c0c2ce;background:#fafafe}.calendar-date.today span{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:var(--purple);color:white;font-weight:700}.calendar-week-events{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px 0;gap:4px 0;padding:3px 0 12px;align-items:start}.calendar-bar{display:block;min-width:0;margin:0 3px;padding:7px 9px;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;border-left:4px solid;text-align:left;line-height:1.3;min-height:28px}.calendar-bar:hover,.day-event:hover{filter:brightness(.97);box-shadow:0 1px 5px #00000018}.calendar-bar:focus-visible,.day-event:focus-visible,.filter-chip:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.bar-title{display:block;overflow:hidden;text-overflow:ellipsis}.bar-onecom1{background:#ede5ff;color:#6533b5;border-color:#8b5cf6}.bar-onecom2{background:#dcfce7;color:#166534;border-color:#16a34a}.bar-onecom3{background:#dbeafe;color:#1d4ed8;border-color:#2563eb}.bar-outlook{background:#cffafe;color:#155e75;border-color:#0891b2}.continues-before{border-top-left-radius:0;border-bottom-left-radius:0}.continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.day-view{border:1px solid var(--border);border-radius:14px;padding:18px;min-height:260px}.day-event{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:6px;padding:15px 17px;border:0;border-left:5px solid;border-radius:10px;margin-bottom:10px;text-align:left}.day-event strong{font-size:15px}.day-event>span:last-child{font-size:12px;opacity:.8}.day-event-time{font-size:12px;font-weight:700}.empty-day{color:var(--muted);text-align:center;padding:70px 10px;font-size:14px}.calendar-help{font-size:12px;color:var(--muted);margin-top:14px}.notice{background:#eef8f0;padding:20px;border-radius:16px;margin-bottom:20px;display:flex;gap:12px;align-items:flex-start}.notice p,.source p{font-size:13px;color:#626478;margin:8px 0 0}.source{display:flex;align-items:center;gap:14px;padding:18px;margin:12px 0;border:1px solid var(--border);border-radius:16px}.source>div{flex:1 1}.source button{border:1px solid #ddd;border-radius:9px;background:white;padding:9px;display:flex;align-items:center;gap:5px}.dot{display:inline-block;width:11px;height:11px;border-radius:50%;flex-shrink:0}h2{font-size:22px}.hint{color:var(--muted);font-size:12px}.error{background:#fff0f0;color:#9b2020;padding:12px;border-radius:9px;margin-top:16px}.bottom{position:-webkit-sticky;position:sticky;bottom:0;display:flex;justify-content:space-around;border-top:1px solid var(--border);background:#fafaff;padding:12px 8px max(12px,env(safe-area-inset-bottom));z-index:10}.bottom button{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;color:#49495a;min-width:85px;padding:7px;border-radius:12px;font-size:12px}.bottom .selected{color:var(--purple);background:#eeebff;font-weight:700}.modal-backdrop{position:fixed;inset:0;z-index:30;background:#10122388;display:flex;align-items:center;justify-content:center;padding:18px}.event-modal{position:relative;width:min(100%,480px);background:white;border-radius:18px;padding:28px;box-shadow:0 20px 65px #0003}.modal-close{position:absolute;top:16px;right:16px;border:0;background:#f3f2f9;border-radius:9px;padding:7px;justify-content:center}.modal-close,.modal-source{display:flex;align-items:center}.modal-source{gap:8px;color:#64667b;font-size:12px;margin-right:32px}.event-modal h2{font-size:22px;line-height:1.3;overflow-wrap:anywhere;margin:17px 0}.modal-date{display:flex;align-items:center;gap:9px;font-size:14px;line-height:1.5}.modal-date svg{flex-shrink:0;color:var(--purple)}.modal-note{font-size:12px;color:var(--muted);margin-top:20px}.modal-done{margin-top:10px;border:0;background:var(--purple);color:white;border-radius:9px;padding:10px 22px}@media(max-width:650px){.app-header{padding:17px 14px}.brand{font-size:19px}.content{padding:15px 9px 30px}.tabs button,.today-button{padding:9px 12px;font-size:12px}.nav h2{font-size:15px}.calendar-date{padding:5px;font-size:11px;min-height:35px}.weekday-header div{font-size:10px;padding:10px 2px}.calendar-week{min-height:100px}.calendar-bar{padding:6px 3px;margin:0 1px;font-size:9px;min-height:25px}.filter-chip{padding:7px 9px}.connection-status,.filter-chip{font-size:10px}.event-modal{padding:22px}.event-modal h2{font-size:19px}}.calendar-bar,.day-event{background:color-mix(in srgb,var(--event-color) 16%,white);border-left-color:var(--event-color);color:color-mix(in srgb,var(--event-color) 65%,#111827)}.source-color-settings{display:flex;flex-direction:column;align-items:stretch;gap:14px}.source-details{display:flex;align-items:center;gap:14px}.source-details>div{flex:1 1}.color-picker-section{border-top:1px solid var(--border);padding-top:12px}.color-picker-label{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.color-options{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.color-options .color-choice{width:29px;height:29px;border:2px solid white;border-radius:50%;padding:0;box-shadow:0 0 0 1px #cbd0db;flex-shrink:0}.color-options .color-choice-active{box-shadow:0 0 0 3px #22263a}.color-options .color-choice:focus-visible,.custom-color:focus-within,.reset-calendar-colors:focus-visible{outline:2px solid var(--purple);outline-offset:3px}.custom-color{display:flex;align-items:center;gap:7px;font-size:12px;cursor:pointer}.custom-color input{width:36px;height:32px;padding:2px;border:1px solid var(--border);border-radius:7px;background:white;cursor:pointer}.reset-calendar-colors{border:1px solid var(--border);border-radius:10px;background:white;padding:10px 14px;color:var(--text);font-weight:600}.event-modal{max-height:min(90dvh,850px);overflow-y:auto}.event-detail{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.event-detail>svg{flex-shrink:0;margin-top:2px;color:var(--purple)}.event-detail>div{min-width:0;flex:1 1}.event-detail strong{font-size:13px}.event-detail p{margin:5px 0 0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.event-description{white-space:pre-wrap}.event-detail a{color:var(--purple);text-decoration:underline}.search-refresh-row{display:flex;align-items:center;gap:10px;margin:4px 0 8px;flex-wrap:wrap}.calendar-search{display:flex;align-items:center;gap:9px;flex:1 1;min-width:180px;border:1px solid var(--border);border-radius:11px;padding:9px 11px;color:var(--muted);background:white}.calendar-search:focus-within{border-color:var(--purple);box-shadow:0 0 0 2px #5145b91a}.calendar-search input{flex:1 1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:13px}.calendar-search button{display:flex;border:0;background:transparent;color:var(--muted);padding:2px}.refresh-calendar{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:11px;background:white;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text)}.refresh-calendar:hover:not(:disabled){background:#f7f7fc}.refresh-hint{font-size:11px;color:var(--muted);margin:0 0 14px}.search-empty{font-size:13px;color:var(--muted);text-align:center;padding:14px}.refresh-spinning{animation:calendar-refresh-spin 1s linear infinite}@keyframes calendar-refresh-spin{to{transform:rotate(1turn)}}@media(max-width:650px){.refresh-calendar{padding:10px}.calendar-search{min-width:160px}}.year-search-results{border:1px solid var(--border);border-radius:14px;padding:16px;margin:12px 0 18px;background:#fafaff}.year-search-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.year-search-heading h3{font-size:15px;margin:0}.year-search-navigation{display:flex;align-items:center;gap:12px}.year-search-navigation button{display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:white;border-radius:8px;width:31px;height:31px}.year-search-list{max-height:350px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;background:white}.year-search-item{display:flex;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid var(--border);padding:12px;text-align:left;background:white;color:var(--text)}.year-search-item:last-child{border-bottom:0}.year-search-item:hover{background:#f6f4ff}.year-search-item-main{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.year-search-item-main strong{font-size:13px;overflow-wrap:anywhere}.year-search-item-main small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.create-event-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;background:#2563eb;color:white;padding:10px 15px;font-weight:650;cursor:pointer}.event-editor{gap:12px;max-height:90vh;overflow:auto;max-width:520px;width:min(94vw,520px)}.event-editor,.event-editor label{display:flex;flex-direction:column}.event-editor label{gap:5px;font-size:14px;font-weight:600}.event-editor input:not([type=checkbox]),.event-editor select,.event-editor textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px;background:white;color:#111827;font:inherit}.event-editor .editor-checkbox{flex-direction:row;align-items:center;font-weight:400}.editor-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center}.editor-actions button{cursor:pointer;padding:10px;border-radius:8px}.editor-delete{display:flex;gap:6px;align-items:center;justify-content:center;color:#b91c1c;background:transparent;border:1px solid #fecaca;padding:9px;border-radius:8px;cursor:pointer}.mobile-agenda,.mobile-fab{display:none}@media (max-width:650px){.shell{width:100%;min-width:0;overflow-x:hidden}.app-header{padding:14px 16px}.brand{font-size:18px;gap:8px}.brand svg{width:24px}.connection-status{font-size:10px}.content{padding:16px 12px 105px}.calendar-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:9px;gap:9px}.tabs{min-width:0;justify-content:space-around}.tabs button{flex:1 1;padding:11px 6px;font-size:12px}.calendar-toolbar>.create-event-button{display:none}.today-button{padding:10px 12px;min-height:44px}.nav{margin:18px 0 14px}.nav h2{font-size:16px;line-height:1.35}.nav button{width:44px;height:44px}.search-refresh-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:7px;gap:7px}.calendar-search{min-width:0}.calendar-search input{font-size:16px}.refresh-calendar{width:44px;height:44px;padding:0;font-size:0;gap:0}.refresh-calendar svg{width:19px;height:19px}.refresh-hint{font-size:10px;line-height:1.5}.calendar-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding:2px 1px 12px;margin-bottom:10px;scroll-snap-type:x proximity}.filter-chip{flex-shrink:0;white-space:nowrap;min-height:40px;font-size:11px;scroll-snap-align:start}.calendar-board{display:none}.mobile-agenda{display:block;margin-top:4px}.mobile-date-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px;background:#f7f7fc;padding:8px 4px;border-radius:16px}.mobile-date-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;border-radius:12px;background:transparent;color:#62647a;min-width:0;min-height:75px;padding:7px 1px}.mobile-date-button span{font-size:10px}.mobile-date-button strong{font-size:17px}.mobile-date-selected{background:var(--purple);color:#fff;box-shadow:0 3px 9px #5145b933}.mobile-date-dot{width:4px;height:4px;border-radius:50%;background:transparent}.mobile-date-dot.has-events{background:#8b5cf6}.mobile-date-selected .mobile-date-dot.has-events{background:white}.mobile-agenda-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 2px 13px}.mobile-agenda-heading h3{font-size:16px;margin:0;text-transform:capitalize}.mobile-agenda-heading span{font-size:11px;color:var(--muted);white-space:nowrap}.mobile-agenda-event{display:flex;align-items:center;gap:12px;width:100%;min-height:76px;padding:13px 12px;margin-bottom:9px;border:0;border-left:4px solid var(--event-color);border-radius:12px;background:color-mix(in srgb,var(--event-color) 9%,white);color:var(--text);text-align:left}.mobile-agenda-time{width:75px;flex-shrink:0;font-size:11px;font-weight:700;color:color-mix(in srgb,var(--event-color) 75%,black)}.mobile-agenda-info{display:flex;flex:1 1;min-width:0;flex-direction:column;gap:5px}.mobile-agenda-info strong{font-size:14px;overflow-wrap:anywhere}.mobile-agenda-info small{font-size:11px;color:#656779;overflow-wrap:anywhere}.mobile-agenda-event>svg{flex-shrink:0;color:#86889a}.mobile-agenda-empty{padding:40px 12px;text-align:center;color:var(--muted);font-size:13px}.calendar-help{display:none}.mobile-fab{position:fixed;right:18px;bottom:calc(87px + env(safe-area-inset-bottom));z-index:15;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border:0;border-radius:18px;background:#2563eb;color:#fff;box-shadow:0 6px 22px #1d4ed866}.bottom{position:fixed;left:0;right:0;bottom:0;padding:7px 8px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #0000000a}.bottom button{min-width:0;flex:1 1;min-height:53px;font-size:11px;padding:7px 4px;gap:4px}.bottom button svg{width:21px;height:21px}.modal-backdrop{padding:0;align-items:flex-end}.event-editor,.event-modal{width:100%;max-width:none;border-radius:20px 20px 0 0;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;padding:23px 18px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -10px 35px #0002}.event-editor input:not([type=checkbox]),.event-editor select,.event-editor textarea{font-size:16px;min-height:44px}.event-editor textarea{min-height:95px}.editor-actions button{min-height:44px}.source{padding:13px}.source-details{min-width:0}.source-details strong{overflow-wrap:anywhere}.year-search-results{padding:11px}.year-search-item{min-height:58px}}@media (max-width:360px){.mobile-agenda-time{width:65px}.brand{font-size:16px}.mobile-date-button strong{font-size:15px}}.mobile-month-calendar{display:none}@media (max-width:650px){.mobile-month-calendar{display:block;background:#f8f9fd;border:1px solid var(--border);border-radius:16px;padding:8px 5px 10px;margin-bottom:12px}.mobile-month-grid,.mobile-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.mobile-month-weekdays span{text-align:center;font-size:11px;font-weight:700;color:var(--muted);padding:7px 0}.mobile-month-day{border:1px solid transparent;border-radius:10px;background:transparent;min-width:0;min-height:51px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--text);cursor:pointer}.mobile-month-number{font-size:14px;font-weight:600}.mobile-month-outside{opacity:.36}.mobile-month-today .mobile-month-number{text-decoration:underline;text-underline-offset:3px}.mobile-month-selected{background:var(--purple);color:#fff}.mobile-month-dots{height:5px;display:flex;gap:3px;justify-content:center}.mobile-month-dots i{width:5px;height:5px;border-radius:50%}.mobile-month-selected .mobile-month-dots i{outline:1px solid white}.mobile-month-calendar{padding:9px 7px 8px}.mobile-month-scroll{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:5px}}@media (max-width:650px){.mobile-month-scroll:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.mobile-month-inner{min-width:490px}.mobile-month-grid,.mobile-month-weekdays{gap:3px}.mobile-month-weekdays span{font-size:11px;padding:8px 0}.mobile-month-day{min-height:100px;padding:6px 3px;align-items:stretch;justify-content:flex-start;gap:5px;border:1px solid #e7e8f0;border-radius:8px;background:#fff;text-align:left;overflow:hidden}.mobile-month-number{font-size:13px;padding-left:3px;line-height:1.3}.mobile-month-events{display:flex;flex-direction:column;gap:3px;width:100%;min-width:0}.mobile-month-event{display:block;min-width:0;padding:4px 3px;border-left:3px solid var(--event-color);border-radius:3px;background:color-mix(in srgb,var(--event-color) 15%,white);color:color-mix(in srgb,var(--event-color) 75%,#111827);font-size:10px;font-weight:600;line-height:1.25}.mobile-month-event-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.mobile-month-more{padding-left:3px;font-size:10px;font-weight:700;color:#666a80}.mobile-month-selected{background:#eeeaff;border-color:var(--purple);color:var(--text);box-shadow:inset 0 0 0 1px var(--purple)}.mobile-month-outside{opacity:.48}.mobile-month-scroll-hint{margin:8px 3px 0;color:var(--muted);font-size:11px;line-height:1.45}}:root{--purple:#354e85;--border:#e5eaf2;--background:#edf2f8;--text:#17263f;--muted:#77859a;--surface:#fff;--shadow:0 18px 55px rgba(28,48,79,.07)}body{background:var(--background);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}button{transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}button:active:not(:disabled){transform:scale(.985)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #92b5fa;outline-offset:2px}.shell{max-width:1440px;background:#f8fafd;box-shadow:0 0 65px #1b335015}.app-header{background:rgba(255,255,255,.95);padding:19px clamp(20px,3.2vw,48px);border-bottom:1px solid #e9edf4;gap:18px}.brand{gap:13px}.brand-icon{display:flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:14px;background:#172d51;color:white;box-shadow:0 6px 16px #172d5126}.brand-icon svg{color:white}.brand-wordmark{display:flex;flex-direction:column;gap:3px}.brand-wordmark strong{font-size:19px;letter-spacing:-.65px}.brand-wordmark small{font-size:10px;color:#8895a8;letter-spacing:.35px;font-weight:500}.connection-status{margin-left:auto;font-size:11px;background:#f2f7f5;border:1px solid #e2eee8;padding:9px 12px;border-radius:100px;color:#4b7466;font-weight:650}.header-logout{display:flex;align-items:center;gap:8px;border:1px solid #e4eaf2;background:white;border-radius:11px;padding:10px 13px;color:#53647e;font-size:12px;font-weight:700}.header-logout:hover{background:#f0f4fa}.content{padding:clamp(20px,3.2vw,46px) clamp(20px,3.2vw,46px) 65px}.dashboard-intro{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.dashboard-kicker{display:inline-flex;align-items:center;gap:7px;color:#607ea6;font-size:10px;letter-spacing:1.7px;font-weight:800}.dashboard-intro h1{font-size:clamp(25px,3.1vw,39px);line-height:1.16;letter-spacing:-1.6px;margin:11px 0 9px;font-weight:780}.dashboard-intro h1 em{font-style:normal;color:#6b88b1}.dashboard-intro p{margin:0;color:#8a97a9;font-size:13px}.dashboard-today{min-width:132px;display:flex;flex-direction:column;align-items:center;padding:13px 23px;background:white;border:1px solid #e8edf4;border-radius:19px;box-shadow:var(--shadow)}.dashboard-today span{font-size:9px;font-weight:850;letter-spacing:2px;color:#9aabc0}.dashboard-today strong{font-size:38px;line-height:1.1;letter-spacing:-1px}.dashboard-today small{font-size:11px;color:#8491a5;text-transform:capitalize;white-space:nowrap}.calendar-toolbar{justify-content:flex-start;gap:12px}.tabs{background:#eaf0f7;border:1px solid #e2e9f2;border-radius:13px;padding:4px}.tabs button{border-radius:10px;font-size:12px;font-weight:700;color:#63738a}.tabs button.active{background:white;color:#1d3457;box-shadow:0 2px 9px #2e44621a}.today-button{margin-left:auto;border-color:#e0e7f0;color:#435572}.create-event-button{background:#1c365b;border-radius:11px;padding:12px 17px;box-shadow:0 5px 14px #1c365b22}.create-event-button:hover{background:#2d4b75}.nav{margin:28px 0 19px}.nav h2{font-size:22px;font-weight:780;letter-spacing:-.65px}.nav button{border-color:#e1e8f0;border-radius:11px;width:42px;height:42px;color:#355173}.nav button:hover{background:#eef3f9}.calendar-search{box-shadow:0 2px 7px #213e6005}.calendar-search,.refresh-calendar{border-color:#e0e7ef}.refresh-hint{margin-top:5px}.filter-chip{border-color:#e2e8f0;background:#fff;border-radius:9px;font-weight:650;padding:10px 13px}.filter-chip:hover{border-color:#aebed4}.filter-chip.filter-hidden{opacity:.5}.calendar-board{border-color:#e2e8f0;border-radius:17px;box-shadow:var(--shadow)}.weekday-header{background:#f0f4fa;border-color:#e2e8f0}.weekday-header div{font-size:11px;letter-spacing:.8px;color:#6c7e98;padding:16px 4px}.calendar-week{min-height:129px;border-color:#e9edf3}.calendar-date{min-height:44px;border-color:#eef1f5;color:#52627a}.calendar-date.today span{background:#213e68}.calendar-bar{border-radius:6px;font-weight:700;padding:8px 9px}.day-view{background:white;border-color:#e1e8f0;box-shadow:var(--shadow)}.day-event{border-radius:11px}.source{background:white;border-color:#e2e8f0;box-shadow:0 6px 18px #1b365308}.notice{background:#eef4fb;color:#274568}.year-search-results{background:#f1f5fa}.bottom{background:white;border-color:#e3eaf2}.bottom .selected{color:#24456f;background:#eaf1fa}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.event-modal{border:1px solid #e5ebf3;box-shadow:0 24px 80px #101e3455}.modal-done{background:#203d65}.mobile-agenda-event{box-shadow:0 4px 14px #152d4908}.mobile-agenda-event:hover{box-shadow:0 5px 18px #152d491b}.login-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);background:#f8fafd;overflow:hidden}.login-panel{position:relative;z-index:1;width:min(100%,530px);margin:auto;padding:70px 55px}.login-mark{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:#1d385e;color:white;box-shadow:0 13px 26px #1d385e2c;margin-bottom:48px}.login-eyebrow{color:#7b94b5;font-size:11px;font-weight:850;letter-spacing:2.6px}.login-panel h1{font-size:clamp(35px,4vw,52px);line-height:1.12;letter-spacing:-2px;margin:17px 0}.login-panel h1 em{font-style:normal;color:#7994b8}.login-intro{font-size:14px;color:#8593a6;line-height:1.8;margin:0 0 36px}.login-form{gap:19px}.login-form,.login-form label{display:flex;flex-direction:column}.login-form label{gap:8px;font-size:12px;font-weight:750;color:#4e6078}.login-form input{width:100%;height:52px;border:1px solid #dfe6f0;border-radius:12px;background:white;padding:0 15px;font-size:15px;color:#1b2e49}.login-form input:focus{outline:2px solid #c2d4ee;border-color:#6f91bf}.login-form button{height:54px;border:0;border-radius:12px;background:#1e3a61;color:white;font-size:14px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:6px;box-shadow:0 10px 23px #203d652c}.login-form button:hover{background:#2a507e}.login-error{font-size:12px;color:#a83232;background:#fff0f0;padding:11px;border-radius:8px;margin:0}.login-foot{display:flex;align-items:center;justify-content:center;gap:9px;color:#9ca9b9;font-size:11px;margin-top:35px}.login-aside{background:radial-gradient(circle at 70% 30%,#42628c,#1b3457 58%,#132845);flex-direction:column;gap:18px;color:white;overflow:hidden}.login-aside,.login-aside-art{position:relative;display:flex;align-items:center;justify-content:center}.login-aside-art{height:320px;width:320px;color:#dce8f7}.login-aside-art>svg{filter:drop-shadow(0 15px 30px #0004)}.login-orbit{position:absolute;inset:10px;border:1px solid #ffffff2a;border-radius:50%;transform:rotate(-25deg) scaleX(1.4)}.orbit-two{inset:52px;transform:rotate(40deg) scaleX(1.5)}.login-aside p{font-size:21px;font-weight:650;letter-spacing:-.4px}.login-aside>span{position:absolute;bottom:40px;font-size:10px;letter-spacing:2px;color:#a9bfd9}@media(max-width:650px){.shell{background:#f8fafd}.app-header{padding:13px 14px}.brand-icon{width:39px;height:39px;border-radius:12px}.brand-wordmark strong{font-size:16px}.brand-wordmark small{font-size:9px}.connection-status{padding:7px 8px;font-size:9px}.header-logout{padding:9px}.header-logout span{display:none}.content{padding:21px 12px 110px}.dashboard-intro{margin-bottom:21px;gap:10px}.dashboard-intro h1{font-size:25px;letter-spacing:-1px;margin:8px 0}.dashboard-intro p{font-size:11px}.dashboard-kicker{font-size:9px;letter-spacing:1px}.dashboard-today{min-width:81px;padding:11px 7px;border-radius:13px}.dashboard-today strong{font-size:29px}.dashboard-today small{font-size:9px}.calendar-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto}.today-button{margin-left:0}.nav h2{font-size:18px}.mobile-month-calendar{background:white;border-color:#e2e8f0;box-shadow:var(--shadow);border-radius:15px}.mobile-month-day{border-color:#e7edf4;border-radius:9px;min-height:100px}.mobile-month-selected{background:#eaf1fb;border-color:#4a6c9d;box-shadow:inset 0 0 0 1px #4a6c9d}.mobile-month-today .mobile-month-number{color:#214d85}.mobile-agenda-heading h3{color:#203956}.mobile-agenda-event{background:color-mix(in srgb,var(--event-color) 7%,white);border-radius:13px}.mobile-fab{background:#1c365b;box-shadow:0 9px 26px #1c365b55}.login-shell{display:block}.login-panel{padding:55px 25px;max-width:470px}.login-mark{margin-bottom:42px}.login-aside{display:none}}@media(prefers-reduced-motion:reduce){button{transition:none}}