code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{display:flex}@media (orientation:portrait){body{touch-action:manipulation}}:root{--primary-color:#3498db;--primary-color-dark:#2980b9;--success-color:#27ae60;--danger-color:#e74c3c;--dark-text:#2c3e50;--light-text:#7f8c8d;--light-bg:#ecf0f1;--border-color:#bdc3c7;--navigation-bg:#22313f;--navigation-size:108px;--portrait-navigation-size:76px;--shadow:0 2px 8px #0000001a;--shadow-lg:0 4px 16px #00000026}*{box-sizing:border-box}#root,body,html{height:100%;margin:0;padding:0;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#ecf0f1;background:var(--light-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow:hidden}button,input,select,textarea{font:inherit}.app{background:#ecf0f1;background:var(--light-bg);flex-direction:column;height:100%}.app,.app-header{display:flex;overflow:hidden;width:100%}.app-header{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-color-dark) 100%);box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow);color:#fff;flex:0 0 auto;gap:1rem;justify-content:space-between;min-height:72px;padding:.65rem 1rem .65rem 1.25rem;z-index:20}.app-title-group{min-width:0}.app-title-group h1{font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.1;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-widget-name{color:#ffffffbf;display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-top:.18rem;text-transform:uppercase}.header-controls{align-items:center;display:flex;flex:0 0 auto;gap:.7rem;min-width:0}.header-clock{align-items:flex-end;display:flex;flex-direction:column;line-height:1.05;min-width:92px}.header-clock-date{color:#ffffffc7;font-size:.72rem;font-weight:600}.header-time{color:#fff;font-family:Courier New,monospace;font-size:1.05rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.app-body{display:grid;flex:1 1 auto;grid-template-columns:108px minmax(0,1fr);grid-template-columns:var(--navigation-size) minmax(0,1fr);min-height:0;min-width:0;overflow:hidden}.app-navigation{background:#22313f;background:var(--navigation-bg);box-shadow:2px 0 8px #00000024;display:flex;flex-direction:column;gap:.45rem;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:.75rem .55rem}.app-nav-tab{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;color:#ffffffb8;cursor:pointer;display:flex;flex:0 0 auto;flex-direction:column;gap:.35rem;justify-content:center;min-height:78px;padding:.65rem .35rem;touch-action:manipulation;transition:color .2s ease,background .2s ease,border-color .2s ease;width:100%}.app-nav-tab:hover{background:#ffffff14;color:#fff}.app-nav-tab.active{background:#3498db;background:var(--primary-color);border-color:#ffffff3d;box-shadow:0 4px 12px #0000002e;color:#fff}.app-nav-icon{align-items:center;display:flex;font-size:1.55rem;justify-content:center}.app-nav-label{font-size:.78rem;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-nav-settings{margin-top:auto}.app-main{background:#ecf0f1;background:var(--light-bg);position:relative}.app-container,.app-main{min-height:0;min-width:0;overflow:hidden}.app-container{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);height:100%;padding:1rem;width:100%}.left-panel,.right-panel{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.left-panel>*,.right-panel>*{min-height:0}.left-panel .calendar{height:100%;overflow-y:auto}.future-widget{background:#fff;border:2px dashed #bdc3c7;border:2px dashed var(--border-color);border-radius:14px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--shadow);color:#2c3e50;color:var(--dark-text);flex-direction:column;height:calc(100% - 2rem);margin:1rem;min-height:300px;padding:2rem;text-align:center;width:calc(100% - 2rem)}.future-widget,.future-widget-icon{align-items:center;display:flex;justify-content:center}.future-widget-icon{background:#3498db1f;border-radius:50%;color:#3498db;color:var(--primary-color);font-size:2.2rem;height:76px;width:76px}.future-widget h2{font-size:1.7rem;margin:1rem 0 .4rem}.future-widget p{color:#7f8c8d;color:var(--light-text);line-height:1.5;margin:0;max-width:520px}.future-widget-status{background:#ecf0f1;background:var(--light-bg);border-radius:999px;color:#7f8c8d;color:var(--light-text);font-size:.78rem;font-weight:700;letter-spacing:.04em;margin-top:1.25rem;padding:.55rem .9rem;text-transform:uppercase}.error-message,.sync-error-message,.sync-message{align-items:center;border-radius:8px;box-shadow:0 4px 16px #00000026;box-shadow:var(--shadow-lg);color:#fff;display:flex;gap:1rem;max-width:min(420px,calc(100vw - 2rem));padding:1rem 1.25rem;position:fixed;z-index:3000}.error-message,.sync-error-message{animation:slideIn .3s ease-out;background:#e74c3c;background:var(--danger-color);right:1rem}.error-message{bottom:1rem}.sync-error-message{bottom:5rem}.sync-message{animation:slideInLeft .3s ease-out;background:#27ae60;background:var(--success-color);bottom:1rem;left:calc(108px + 1rem);left:calc(var(--navigation-size) + 1rem)}.error-message button,.sync-error-message button{background:#0000;border:0;color:#fff;cursor:pointer;font-size:1.2rem;margin-left:auto;padding:0}.loading{align-items:center;background:#ecf0f1;background:var(--light-bg);color:#3498db;color:var(--primary-color);display:flex;font-size:1.2rem;height:100vh;justify-content:center;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateX(420px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-420px)}to{opacity:1;transform:translateX(0)}}@media (orientation:portrait){.app-header{min-height:64px;padding:.5rem .65rem .5rem .85rem}.app-title-group h1{font-size:clamp(1rem,3.8vw,1.35rem)}.active-widget-name{font-size:.62rem}.header-controls{gap:.45rem}.header-clock{min-width:74px}.header-clock-date{font-size:.62rem}.header-time{font-size:.9rem}.app-body{display:flex;flex-direction:column}.app-main{flex:1 1 auto;order:1;overflow-y:auto}.app-navigation{box-shadow:0 -2px 8px #00000029;display:flex;flex:0 0 76px;flex:0 0 var(--portrait-navigation-size);flex-direction:row;gap:.35rem;min-height:76px;min-height:var(--portrait-navigation-size);order:2;overflow-x:auto;overflow-y:hidden;padding:.4rem .5rem max(.4rem,env(safe-area-inset-bottom));width:100%}.app-nav-tab{border-radius:8px;flex:1 0 76px;min-height:58px;min-width:76px;padding:.35rem;width:auto}.app-nav-settings{background:#22313f;background:var(--navigation-bg);box-shadow:-8px 0 12px #00000029;flex:0 0 76px;margin-left:auto;margin-top:0;position:-webkit-sticky;position:sticky;right:0;z-index:2}.app-nav-settings:hover{background:#2d4355}.app-nav-settings.active{background:#3498db;background:var(--primary-color)}.app-nav-icon{font-size:1.35rem}.app-nav-label{font-size:.7rem}.app-container{gap:.75rem;grid-template-columns:1fr;grid-template-rows:minmax(520px,auto) minmax(430px,auto);height:auto;min-height:100%;overflow:visible;padding:.75rem}.left-panel,.right-panel{min-height:430px;overflow:hidden}.future-widget{height:auto;margin:.75rem;min-height:calc(100% - 1.5rem);width:calc(100% - 1.5rem)}.error-message,.sync-error-message,.sync-message{font-size:.85rem;left:.75rem;max-width:none;padding:.75rem 1rem;right:.75rem}.error-message,.sync-message{bottom:calc(76px + .75rem);bottom:calc(var(--portrait-navigation-size) + .75rem)}.sync-error-message{bottom:calc(76px + 4.5rem);bottom:calc(var(--portrait-navigation-size) + 4.5rem)}}@media (orientation:portrait) and (max-width:520px){.header-weather{display:none}.app-title-group{max-width:44vw}}@media (orientation:landscape) and (max-height:760px){:root{--navigation-size:94px}.app-header{min-height:60px;padding-bottom:.4rem;padding-top:.4rem}.app-nav-tab{min-height:66px}.app-nav-icon{font-size:1.35rem}.app-container{gap:.65rem;padding:.65rem}}.calendar-widget-layout{grid-template-columns:minmax(0,1fr)}.calendar-panel{width:100%}.calendar-panel .calendar{flex:1 1;height:100%;overflow:hidden;width:100%}.view-mode-buttons{display:flex;gap:8px;margin-bottom:20px}.view-btn{background:#ecf0f1;border:2px solid #bdc3c7;border-radius:6px;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .2s ease}.view-btn:hover{background:#bdc3c7}.view-btn.active{background:#3498db;border-color:#3498db;color:#fff}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.calendar-header h2{color:#2c3e50;font-size:1.8rem;margin:0;min-width:200px;text-align:center}.nav-btn{align-items:center;background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:10px 14px;transition:all .2s ease}.nav-btn:hover{background:#2980b9;transform:scale(1.05)}.today-btn{background:#27ae60;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-bottom:16px;padding:8px 16px;transition:all .2s ease}.today-btn:hover{background:#229954}.weekdays{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-bottom:12px}.weekday{background:#ecf0f1;border-radius:6px;color:#2c3e50;font-weight:700;padding:10px;text-align:center}.days-grid-wrapper{position:relative;width:100%}.days-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);z-index:1}.day,.days-grid{position:relative}.day{background:#fff;border:2px solid #ecf0f1;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;min-height:120px;overflow:hidden;padding:6px;transition:all .2s ease}.day:hover{border-color:#3498db;box-shadow:0 4px 12px #3498db33;transform:translateY(-2px)}.day.empty{background:#0000;border:none;cursor:default}.day.today{background:#ecf0f1;border-color:#3498db}.day.today .day-number{align-items:center;background:#3498db;border-radius:4px;color:#fff;display:flex;height:24px;justify-content:center;width:24px}.day.selected{background:#fadbd8;border-color:#e74c3c}.day-number{color:#2c3e50;font-size:.95rem;font-weight:700;line-height:1;margin-bottom:4px;position:relative;z-index:2}.month-day-events{display:flex;flex-direction:column;gap:2px;margin-top:2px;min-width:0;position:relative;z-index:2}.month-event-item{align-items:center;border-radius:3px;box-sizing:border-box;display:flex;font-size:.64rem;gap:4px;line-height:1.15;max-width:100%;min-width:0;overflow:hidden;padding:1px 4px}.month-event-item.multi-day{color:#fff;font-weight:700}.month-event-item.all-day{background:#bdc3c759;color:#2c3e50;font-weight:700}.month-event-item.timed{background:#ecf0f1e6;color:#2c3e50;font-weight:600}.month-event-arrow{flex-shrink:0;font-size:.7rem;opacity:.9}.month-event-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.month-event-time{color:#7f8c8d;flex-shrink:0;font-size:.62rem;font-weight:700}.month-event-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-indicator{background:#fadbd8;border-radius:3px;color:#e74c3c;font-size:.62rem;font-weight:700;line-height:1.15;max-width:100%;padding:1px 4px;width:-webkit-fit-content;width:fit-content}.event-dot,.event-indicators,.month-event-row,.month-multi-day-event-bar,.month-multi-day-events-container,.month-multi-day-events-overlay,.month-single-day-event,.month-single-day-event-dot,.month-single-day-event-text,.month-single-day-event-time,.month-single-day-event-title,.month-single-day-events,.month-week-overlay,.multi-day-bar-container,.multi-day-bars{display:none}.week-view{display:flex;flex-direction:column;gap:20px}.week-multi-day-events{background:#f8f9fa;border-left:4px solid #34495e;border-radius:8px;padding:16px 0}.week-multi-day-header{color:#34495e;font-size:.85rem;font-weight:700;letter-spacing:.5px;margin-bottom:12px;padding:0 16px;text-transform:uppercase}.multi-day-grid{grid-gap:8px;auto-rows:max-content;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-bottom:8px;padding:0 16px}.week-multi-day-event{align-items:center;background-color:#3498db26;border:2px solid;border-radius:4px;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-weight:600;min-height:36px;opacity:.95;overflow:hidden;padding:8px 10px;position:relative;text-shadow:0 1px 2px #0000004d;transition:all .2s ease}.week-multi-day-event:hover{box-shadow:0 4px 12px #0003;opacity:1;transform:translateY(-2px)}.multi-day-event-content{align-items:center;box-sizing:border-box;display:flex;gap:6px;overflow:hidden;white-space:nowrap;width:100%}.multi-day-event-content .title{flex:1 1;font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-day-event-content .arrow{flex-shrink:0;font-size:1rem;opacity:.8}.week-days{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-bottom:12px}.week-day{background:#f8f9fa;border:2px solid #0000;border-radius:8px;cursor:pointer;padding:12px 8px;text-align:center;transition:all .2s ease}.week-day:hover{background:#ecf0f1}.week-day.today{background:#3498db;color:#fff}.week-day.selected{background:#ecf0f1;border-color:#3498db}.week-day-name{color:#7f8c8d;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.week-day-number{color:#2c3e50;font-size:1.5rem;font-weight:700}.week-day.today .week-day-number{color:#fff}.week-events{background:#f8f9fa;border-radius:8px;max-height:400px;overflow-y:auto;padding:16px}.week-event{background:#fff;border-left:4px solid #3498db;border-radius:6px;cursor:pointer;margin-bottom:8px;padding:12px;transition:all .2s ease}.week-event:hover{box-shadow:0 2px 8px #0000001a;transform:translateX(4px)}.week-event-time{color:#2c3e50;font-size:.85rem;font-weight:600;margin-bottom:4px}.week-event-details{display:flex;flex-direction:column;gap:2px}.week-event-title{color:#2c3e50;font-size:.95rem;font-weight:600}.week-event-date{color:#7f8c8d;font-size:.8rem}.no-events-week{color:#95a5a6;font-style:italic;padding:24px;text-align:center}.day-view{max-height:600px;overflow-y:auto;padding:16px}.day-event{background:#fff;border-left:4px solid #3498db;border-radius:8px;cursor:pointer;margin-bottom:12px;padding:16px;transition:all .2s ease}.day-event:hover{box-shadow:0 4px 12px #0000001a;transform:translateX(4px)}.day-event.multi-day{background:linear-gradient(135deg,#3498db0d,#3498db05)}.day-event-time{align-items:center;color:#2c3e50;display:flex;font-size:.9rem;font-weight:600;gap:8px;margin-bottom:8px}.duration-badge{background-color:#e74c3c;border-radius:12px;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;padding:2px 8px}.day-event-details{display:flex;flex-direction:column;gap:6px}.day-event-details h4{color:#2c3e50;font-size:1.05rem;margin:0}.day-event-details .location{color:#7f8c8d;font-size:.9rem;margin:0}.day-event-details .description{color:#34495e;font-size:.9rem;line-height:1.4;margin:0}.no-events-day{color:#95a5a6;font-style:italic;padding:40px 20px;text-align:center}.day-view::-webkit-scrollbar,.week-events::-webkit-scrollbar{width:6px}.day-view::-webkit-scrollbar-track,.week-events::-webkit-scrollbar-track{background:#ecf0f1;border-radius:3px}.day-view::-webkit-scrollbar-thumb,.week-events::-webkit-scrollbar-thumb{background:#bdc3c7;border-radius:3px}.day-view::-webkit-scrollbar-thumb:hover,.week-events::-webkit-scrollbar-thumb:hover{background:#95a5a6}@media (max-width:768px){.calendar{padding:10px}.calendar-header h2{font-size:1.4rem;min-width:150px}.days-grid,.weekdays{gap:4px}.day{min-height:100px;padding:5px}.day-number{font-size:.88rem}.month-event-item{font-size:.58rem;gap:3px;padding:1px 3px}.month-event-dot{height:5px;width:5px}.month-event-time,.more-indicator{font-size:.56rem}.week-view{gap:16px}.multi-day-grid{gap:2px}.week-event{padding:10px}.day-event{padding:12px}}@media (max-width:480px){.view-mode-buttons{gap:4px}.view-btn{font-size:.85rem;padding:6px 12px}.calendar-header h2{font-size:1.2rem;min-width:120px}.nav-btn{padding:8px 10px}.today-btn{font-size:.85rem;padding:6px 12px}.day{min-height:88px;padding:4px}.day-number{font-size:.82rem}.weekday{font-size:.8rem;padding:6px}.month-event-item{font-size:.54rem;gap:2px;padding:1px 2px}.month-event-time{display:none}.week-day{padding:8px 6px}.week-day-name{font-size:.75rem}.week-day-number{font-size:1.2rem}.multi-day-grid{gap:2px;padding:0 8px}.week-multi-day-event{min-height:32px;padding:6px 8px}.multi-day-event-content .title{font-size:.8rem}.week-events{max-height:300px;padding:12px}.week-event{margin-bottom:6px;padding:10px}.day-view{max-height:500px;padding:12px}.day-event{margin-bottom:10px;padding:12px}.day-event-time{font-size:.85rem}.day-event-details h4{font-size:.95rem}}.calendar{background:#fff;display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;padding:20px;width:100%}.calendar-toolbar{align-items:center;display:flex;flex:0 0 auto;gap:1rem;justify-content:space-between;margin-bottom:.85rem}.calendar-toolbar .view-mode-buttons{margin-bottom:0}.calendar-new-event-btn{align-items:center;background:var(--primary-color);border:0;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9rem;font-weight:700;gap:.45rem;justify-content:center;min-height:42px;padding:.65rem 1rem;touch-action:manipulation;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.calendar-new-event-btn:hover{background:#2980b9;box-shadow:var(--shadow);transform:translateY(-1px)}.calendar-inline-error{align-items:center;background:#fadbd8;border:1px solid #e74c3c;border-radius:6px;color:#a93226;display:flex;flex:0 0 auto;font-size:.88rem;font-weight:600;gap:1rem;justify-content:space-between;margin-bottom:.75rem;padding:.7rem .9rem}.calendar-inline-error button{background:#0000;border:0;color:inherit;cursor:pointer;font-size:1.2rem}.calendar-view-container{flex:1 1;min-height:0;min-width:0;overflow:hidden}.calendar-month-scroll{height:100%;overflow:auto;padding-right:2px;width:100%}.month-event-item[role=button]{cursor:pointer}.month-event-item[role=button]:focus-visible{outline:2px solid var(--primary-color);outline-offset:1px}.calendar-outlook-view{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;width:100%}.outlook-navigation-header{flex:0 0 auto}.outlook-navigation-header h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-outlook-view>.today-btn{align-self:flex-start;flex:0 0 auto}.outlook-day-frame,.outlook-week-viewport{background:#fff;border:1px solid #d7dce1;border-radius:8px;flex:1 1;min-height:0;min-width:0;overflow:hidden}.outlook-week-viewport{overflow-x:auto;overflow-y:hidden}.outlook-week-surface{display:flex;flex-direction:column;height:100%;min-height:0;min-width:900px;width:100%}.outlook-week-day-header{background:#f8f9fa;border-bottom:1px solid #d7dce1;display:grid;flex:0 0 auto;grid-template-columns:76px repeat(7,minmax(0,1fr))}.outlook-corner-cell{border-right:1px solid #d7dce1;min-height:64px}.outlook-day-heading{align-items:center;background:#f8f9fa;border:0;border-right:1px solid #e2e6e9;color:var(--dark-text);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:.15rem;justify-content:center;min-height:64px;min-width:0;touch-action:manipulation}.outlook-day-heading:last-child{border-right:0}.outlook-day-heading span{color:#6c757d;font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.outlook-day-heading strong{align-items:center;border-radius:50%;display:flex;font-size:1.05rem;height:34px;justify-content:center;width:34px}.outlook-day-heading.today strong{background:var(--primary-color);color:#fff}.outlook-day-heading.selected{box-shadow:inset 0 -3px 0 var(--primary-color)}.outlook-all-day-row{background:#fff;border-bottom:1px solid #d7dce1;display:grid;flex:0 0 auto;grid-template-columns:76px minmax(0,1fr);min-height:42px}.outlook-all-day-label{align-items:flex-start;border-right:1px solid #d7dce1;color:#6c757d;display:flex;font-size:.72rem;font-weight:700;justify-content:flex-end;padding:.55rem .55rem .4rem .25rem;text-transform:uppercase}.outlook-week-all-day-grid{grid-gap:3px 2px;background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#e2e6e9 1px);background-size:14.28571% 100%;display:grid;gap:3px 2px;grid-auto-flow:row;grid-template-columns:repeat(7,minmax(0,1fr));min-height:42px;padding:5px 3px}.outlook-day-all-day-row{grid-template-columns:76px minmax(0,1fr)}.outlook-day-all-day-events{align-items:flex-start;display:flex;flex-wrap:wrap;gap:4px;min-height:42px;padding:5px}.outlook-all-day-empty{align-self:center;color:#9aa0a6;font-size:.75rem;font-style:italic;grid-column:1/-1;padding:.35rem .55rem}.outlook-banner-event{align-items:center;border:1px solid;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.76rem;font-weight:700;gap:.25rem;line-height:1.1;min-height:28px;min-width:0;overflow:hidden;padding:.25rem .45rem;text-align:left;text-shadow:0 1px 2px #00000059;touch-action:manipulation}.outlook-banner-event:hover{filter:brightness(.96)}.outlook-banner-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outlook-day-banner-event{max-width:100%}.outlook-time-scroll{background:#fff;flex:1 1;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.outlook-day-time-grid,.outlook-week-time-grid{display:grid;grid-template-columns:76px minmax(0,1fr);min-width:0;position:relative}.outlook-time-gutter{background:#fbfbfc;border-right:1px solid #d7dce1;height:100%;position:relative}.outlook-time-label{color:#6c757d;font-size:.7rem;font-weight:600;left:0;pointer-events:none;position:absolute;right:.55rem;text-align:right;transform:translateY(-50%);z-index:2}.outlook-week-columns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));height:100%;min-width:0}.outlook-time-column{background:#fff;border-right:1px solid #e2e6e9;min-width:0;overflow:hidden;position:relative}.outlook-time-column:last-child{border-right:0}.outlook-time-column.today{background:rgba(52,152,219,.035)}.outlook-hour-line{border-top:1px solid #dfe3e6;height:1px;left:0;pointer-events:none;position:absolute;right:0}.outlook-hour-line:after{border-top:1px dotted #eceff1;content:"";left:0;position:absolute;right:0;top:31px}.outlook-timed-event{align-items:flex-start;border:1px solid;border-left:4px solid;border-radius:4px;box-shadow:0 1px 3px #00000029;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:.08rem;line-height:1.12;min-height:28px;overflow:hidden;padding:.25rem .35rem;position:absolute;text-align:left;text-shadow:0 1px 2px #00000061;touch-action:manipulation;z-index:4}.outlook-timed-event:focus-visible,.outlook-timed-event:hover{box-shadow:0 3px 8px #0000003d;filter:brightness(.96);z-index:6}.outlook-timed-event strong{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.outlook-timed-event small,.outlook-timed-event span{font-size:.65rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.outlook-current-time-line{background:#e74c3c;height:2px;left:0;pointer-events:none;position:absolute;right:0;z-index:8}.outlook-current-time-line span{background:#e74c3c;border-radius:50%;height:10px;left:-5px;position:absolute;top:50%;transform:translateY(-50%);width:10px}.outlook-day-frame{display:flex;flex-direction:column}.outlook-day-time-grid{grid-template-columns:76px minmax(0,1fr)}.outlook-day-column{border-right:0}.outlook-day-timed-event{padding:.35rem .5rem}.outlook-day-timed-event strong{font-size:.85rem}.outlook-day-timed-event small,.outlook-day-timed-event span{font-size:.72rem}.calendar-month-scroll::-webkit-scrollbar,.outlook-time-scroll::-webkit-scrollbar,.outlook-week-viewport::-webkit-scrollbar{height:8px;width:8px}.calendar-month-scroll::-webkit-scrollbar-track,.outlook-time-scroll::-webkit-scrollbar-track,.outlook-week-viewport::-webkit-scrollbar-track{background:#f1f3f4}.calendar-month-scroll::-webkit-scrollbar-thumb,.outlook-time-scroll::-webkit-scrollbar-thumb,.outlook-week-viewport::-webkit-scrollbar-thumb{background:#b7bdc3;border-radius:999px}@media (max-width:900px),(orientation:portrait){.calendar{padding:10px}.calendar-toolbar{gap:.6rem;margin-bottom:.65rem}.calendar-new-event-btn{font-size:.82rem;min-height:38px;padding:.55rem .75rem}.outlook-week-surface{min-width:780px}.outlook-week-day-header{grid-template-columns:64px repeat(7,minmax(0,1fr))}.outlook-all-day-row,.outlook-day-time-grid,.outlook-week-time-grid{grid-template-columns:64px minmax(0,1fr)}.outlook-day-heading{min-width:0;padding:.3rem .15rem;white-space:nowrap}.outlook-all-day-label,.outlook-corner-cell,.outlook-time-gutter{width:auto}.outlook-time-label{font-size:.64rem;right:.35rem}.outlook-day-heading{min-height:58px}.outlook-timed-event strong{font-size:.7rem}.outlook-timed-event small,.outlook-timed-event span{font-size:.6rem}}@media (max-width:520px){.calendar-toolbar{align-items:stretch}.calendar-toolbar .view-mode-buttons{flex:1 1}.calendar-toolbar .view-btn{flex:1 1;padding:6px 8px}.calendar-new-event-btn span{display:none}.calendar-new-event-btn{padding:0;width:42px}.outlook-navigation-header h2{font-size:1.05rem;min-width:0}}.outlook-day-all-day-events,.outlook-time-column,.outlook-week-all-day-grid{cursor:cell}.month-event-item{border:0;cursor:pointer;font-family:inherit;text-align:left;width:100%}.outlook-banner-event,.outlook-timed-event{cursor:pointer}.event-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.event-form-container{background:#fff;border-radius:8px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.form-header{align-items:center;background:#fff;border-bottom:2px solid var(--light-bg);display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.form-header h3{color:var(--dark-text);font-size:1.2rem;margin:0}.form-error{background:#fadbd8;border-bottom:1px solid #c0392b;color:#c0392b;flex-shrink:0;font-size:.9rem;margin:0;padding:.75rem 1.5rem}.event-form{flex:1 1;gap:1rem;overflow-y:auto;padding:1.5rem}.event-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:var(--dark-text);font-size:.9rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:.9rem;padding:.75rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3498db1a;outline:none}.form-group textarea{max-height:200px;min-height:100px;resize:vertical}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group.checkbox{align-items:center;flex-direction:row;gap:.75rem}.form-group.checkbox input{cursor:pointer;height:20px;margin:0;padding:0;width:20px}.form-group.checkbox label{margin:0}.days-picker{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr)}.day-btn{background:#fff;border:2px solid var(--border-color);border-radius:4px;color:var(--dark-text);cursor:pointer;font-size:.85rem;font-weight:600;padding:.6rem;transition:all .2s ease}.day-btn:hover{color:var(--primary-color)}.day-btn.selected,.day-btn:hover{border-color:var(--primary-color)}.day-btn.selected{background:var(--primary-color);color:#fff}.recurrence-section{background:var(--light-bg);border:1px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;gap:1rem;padding:1rem}.recurrence-section h4{color:var(--dark-text);font-size:.95rem;margin:0}.recurrence-section .form-group{margin:0}.recurrence-section label{font-size:.85rem}.recurrence-end-options{display:flex;flex-direction:column;gap:.75rem}.option{align-items:center;border-radius:4px;display:flex;gap:.75rem;padding:.5rem;transition:all .2s ease}.option:hover{background:#3498db1a}.option input[type=radio]{cursor:pointer;height:auto;margin:0;width:auto}.option label{cursor:pointer;font-weight:500;margin:0}.option input[type=date],.option input[type=number]{flex:1 1;margin-left:.5rem;padding:.5rem}.recurrence-summary{background:#fff;border-left:3px solid var(--primary-color);border-radius:4px;padding:.75rem}.summary-text{color:var(--primary-color);font-size:.85rem;font-weight:500;margin:0}.form-actions{background:#fff;border-top:2px solid var(--light-bg);bottom:0;flex-shrink:0;padding:1.5rem;position:-webkit-sticky;position:sticky}.event-form-container::-webkit-scrollbar{width:6px}.event-form-container::-webkit-scrollbar-track{background:var(--light-bg)}.event-form-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.event-form-container::-webkit-scrollbar-thumb:hover{background:#95a5a6}@media (orientation:portrait){.event-form-overlay{padding:.5rem}.event-form-container{max-height:95vh;max-width:95vw}.form-header{padding:1rem}.form-header h3{font-size:1.1rem}.close-btn{font-size:1.3rem;height:1.8rem;width:1.8rem}.event-form{gap:.75rem;padding:1rem}.form-group label{font-size:.85rem}.form-group input,.form-group select,.form-group textarea{font-size:.85rem;padding:.6rem}.form-group textarea{min-height:80px}.form-row{gap:.75rem;grid-template-columns:1fr}.days-picker{gap:.4rem;grid-template-columns:repeat(3,1fr)}.day-btn{font-size:.8rem;padding:.5rem}.recurrence-section{gap:.75rem;padding:.75rem}.recurrence-section h4{font-size:.9rem}.recurrence-end-options{gap:.5rem}.option{padding:.4rem}.option input[type=date],.option input[type=number]{font-size:.8rem;padding:.4rem}.form-actions{gap:.75rem;padding:1rem}.btn-cancel,.btn-submit{font-size:.85rem;padding:.6rem .8rem}}@media (orientation:portrait) and (max-height:800px){.form-header{padding:.75rem}.form-header h3{font-size:1rem}.event-form{gap:.5rem;padding:.75rem}.form-group label{font-size:.8rem}.form-group input,.form-group select,.form-group textarea{font-size:.8rem;padding:.5rem}.form-group textarea{max-height:120px;min-height:70px}.days-picker{gap:.3rem;grid-template-columns:repeat(3,1fr)}.day-btn{font-size:.75rem;padding:.4rem}.recurrence-section{gap:.5rem;padding:.5rem}.recurrence-section h4{font-size:.85rem}.summary-text{font-size:.8rem}.form-actions{gap:.5rem;padding:.75rem}.btn-cancel,.btn-submit{font-size:.8rem;padding:.5rem .6rem}}@media (orientation:landscape){.event-form-container{max-width:550px}.form-row{grid-template-columns:1fr 1fr}.days-picker{grid-template-columns:repeat(7,1fr)}}.form-actions.has-delete{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(90px,1fr) minmax(130px,1.35fr)}.btn-delete-event{background:#fff;border:1px solid var(--danger-color);border-radius:4px;color:var(--danger-color);cursor:pointer;font-size:.9rem;font-weight:700;padding:.75rem 1rem;transition:all .2s ease}.btn-delete-event:hover:not(:disabled){background:var(--danger-color);color:#fff}.btn-delete-event:disabled{cursor:not-allowed;opacity:.6}@media (max-width:600px),(orientation:portrait){.form-actions.has-delete{grid-template-columns:1fr 1fr}.form-actions.has-delete .btn-submit{grid-column:1/-1}}.touch-datetime-field{display:flex;flex-direction:column;gap:.5rem;min-width:0}.touch-datetime-field>label{color:var(--dark-text);font-size:.9rem;font-weight:600}.touch-datetime-trigger{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:4px;color:#7f8c8d;cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;gap:.75rem;min-height:52px;padding:.75rem;text-align:left;touch-action:manipulation;width:100%}.touch-datetime-trigger.has-value{color:var(--dark-text)}.touch-datetime-trigger:focus,.touch-datetime-trigger:focus-visible{border-color:var(--primary-color);box-shadow:0 0 0 3px #3498db26;outline:none}.touch-datetime-trigger svg{color:var(--primary-color);flex:0 0 auto;font-size:1.2rem}.touch-datetime-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.touch-datetime-overlay{align-items:center;background:#0000009e;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:4200}.touch-datetime-dialog{background:#fff;border-radius:12px;box-shadow:0 12px 40px #00000059;max-height:94vh;overflow-y:auto;width:min(760px,100%)}.touch-datetime-header{align-items:flex-start;background:#fff;border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:space-between;padding:1.1rem 1.25rem;position:-webkit-sticky;position:sticky;top:0;z-index:2}.touch-datetime-header h3{color:var(--dark-text);font-size:1.2rem;margin:0}.touch-datetime-header p{color:var(--primary-color);font-size:.95rem;font-weight:600;margin:.35rem 0 0}.touch-datetime-icon-button{align-items:center;background:var(--light-bg);border:0;border-radius:8px;color:var(--dark-text);cursor:pointer;display:inline-flex;font-size:1.35rem;justify-content:center;min-height:48px;min-width:48px;touch-action:manipulation}.touch-datetime-content{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);padding:1.25rem}.touch-picker-section{background:var(--light-bg);border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;gap:1rem;min-width:0;padding:1rem}.touch-picker-section-title{align-items:center;color:var(--dark-text);display:flex;font-weight:700;gap:.5rem}.touch-picker-section-title svg{color:var(--primary-color)}.touch-date-input{background:#fff;border:2px solid var(--border-color);border-radius:8px;color:var(--dark-text);font-family:inherit;font-size:1.1rem;min-height:56px;padding:.75rem;touch-action:manipulation;width:100%}.touch-date-input:focus{border-color:var(--primary-color);outline:none}.touch-date-shortcuts{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr)}.touch-ampm-button,.touch-date-shortcuts button,.touch-time-column>button{background:#fff;border:1px solid var(--border-color);border-radius:8px;color:var(--dark-text);cursor:pointer;font-family:inherit;font-weight:700;min-height:52px;touch-action:manipulation}.touch-ampm-button:active,.touch-date-shortcuts button:active,.touch-datetime-icon-button:active,.touch-picker-cancel:active,.touch-picker-save:active,.touch-time-column>button:active{transform:translateY(1px)}.touch-time-controls{grid-gap:.45rem;align-items:stretch;display:grid;gap:.45rem;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) minmax(56px,.72fr);min-width:0;width:100%}.touch-time-column{grid-gap:.45rem;display:grid;gap:.45rem;grid-template-rows:54px 82px 54px;min-width:0}.touch-time-column>button{font-size:1.5rem}.touch-time-column>button,.touch-time-value{align-items:center;display:flex;justify-content:center}.touch-time-value{background:#fff;border:2px solid var(--primary-color);border-radius:10px;flex-direction:column}.touch-time-value strong{color:var(--dark-text);font-size:2rem;line-height:1}.touch-time-value span{color:#7f8c8d;font-size:.7rem;font-weight:700;margin-top:.3rem;text-transform:uppercase}.touch-time-separator{align-self:center;color:var(--dark-text);font-size:2rem;font-weight:800;text-align:center;width:18px}.touch-ampm-button{border:2px solid var(--primary-color);color:var(--primary-color);font-size:1.25rem;height:100%;min-height:0;min-width:0;padding:.5rem;width:100%}.touch-time-help{color:#7f8c8d;font-size:.8rem;margin:0;text-align:center}.touch-datetime-actions{grid-gap:.75rem;background:#fff;border-top:1px solid var(--border-color);bottom:0;display:grid;gap:.75rem;grid-template-columns:1fr 2fr;padding:1rem 1.25rem;position:-webkit-sticky;position:sticky;z-index:2}.touch-picker-cancel,.touch-picker-save{border-radius:8px;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:700;min-height:56px;touch-action:manipulation}.touch-picker-cancel{background:var(--light-bg);border:1px solid var(--border-color);color:var(--dark-text)}.touch-picker-save{background:var(--primary-color);border:1px solid var(--primary-color);color:#fff}@media (max-width:760px),(orientation:portrait){.touch-date-shortcuts,.touch-datetime-content{grid-template-columns:1fr}}@media (max-height:800px){.touch-datetime-overlay{align-items:flex-start;padding:.4rem}.touch-datetime-dialog{max-height:calc(100vh - .8rem)}.touch-datetime-header{padding:.75rem}.touch-datetime-content{gap:.65rem;padding:.75rem}.touch-picker-section{gap:.65rem;padding:.7rem}.touch-time-column{grid-template-rows:44px 66px 44px}.touch-time-value strong{font-size:1.6rem}.touch-ampm-button{height:100%;min-height:0}.touch-datetime-actions{padding:.75rem}.touch-picker-cancel,.touch-picker-save{min-height:48px}}.settings-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1100}.settings-container{background:#fff;border-radius:8px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.settings-header{align-items:center;background:#fff;border-bottom:2px solid var(--light-bg);display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.settings-header h2{color:var(--dark-text);font-size:1.3rem;margin:0}.settings-message{align-items:center;display:flex;flex-shrink:0;font-size:.9rem;justify-content:space-between;margin:0;padding:.75rem 1.5rem}.settings-message.error{background:#fadbd8;border-bottom:1px solid #c0392b;color:#c0392b}.settings-message.success{background:#d5f4e6;border-bottom:1px solid #27ae60;color:#27ae60}.settings-message button{background:#0000;border:none;color:inherit;cursor:pointer;font-size:1.2rem;margin-left:1rem;padding:0}.settings-tabs{background:#fff;border-bottom:2px solid var(--light-bg);display:flex;flex-shrink:0;gap:.5rem;padding:1rem 1.5rem 0}.settings-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--dark-text);cursor:pointer;font-size:.95rem;font-weight:600;margin-bottom:-2px;padding:.75rem 1.5rem;transition:all .2s ease}.settings-tab.active,.settings-tab:hover{color:var(--primary-color)}.settings-tab.active{border-bottom-color:var(--primary-color)}.settings-content{display:flex;flex:1 1;flex-direction:column;gap:2rem;overflow-y:auto;padding:1.5rem}.general-settings h3{color:var(--dark-text);font-size:1.1rem;margin:0 0 1.5rem}.settings-group{background:var(--light-bg);border:1px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem}.settings-group label{color:var(--dark-text);font-size:.95rem;font-weight:600}.input-group{align-items:center;display:flex;gap:1rem}.input-group input{border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:.95rem;padding:.75rem;transition:all .2s ease;width:120px}.input-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3498db1a;outline:none}.helper-text{font-weight:500}.description,.helper-text{color:#7f8c8d;font-size:.9rem}.description{margin:.5rem 0 0}.btn-save{align-items:center;background:var(--success-color);border:none;border-radius:4px;cursor:pointer;display:flex;font-weight:600;gap:.5rem;margin-top:.5rem;padding:.75rem 1.5rem;transition:all .2s ease;width:-webkit-fit-content;width:fit-content}.btn-save:hover{background:#229954;box-shadow:var(--shadow);transform:translateY(-2px)}.settings-info{background:var(--light-bg);border:1px solid var(--border-color);border-radius:6px;padding:1.5rem}.settings-info h4{color:var(--dark-text);font-size:.95rem;margin:0 0 .75rem}.settings-info p{color:#7f8c8d;font-size:.9rem;margin:.5rem 0}.users-settings h3{color:var(--dark-text);font-size:1.1rem;margin:0 0 1.5rem}.users-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.users-header h3{margin:0}.btn-add-user{align-items:center;background:var(--success-color);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease;white-space:nowrap}.btn-add-user:hover{background:#229954;box-shadow:var(--shadow);transform:translateY(-2px)}.user-form{background:var(--light-bg);border:1px solid var(--border-color);border-radius:6px;margin-bottom:1.5rem;padding:1.5rem}.user-form h4{color:var(--dark-text);font-size:1rem;margin:0 0 1rem}.user-form .form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.user-form .form-group label{color:var(--dark-text);font-size:.9rem;font-weight:600}.user-form .form-group input{border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:.9rem;padding:.75rem;transition:all .2s ease}.user-form .form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3498db1a;outline:none}.color-picker-wrapper{position:relative}.color-preview{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:4px;color:var(--dark-text);cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.75rem;justify-content:center;min-height:50px;padding:.75rem;transition:all .2s ease}.color-preview:hover{border-color:var(--primary-color);box-shadow:0 0 0 3px #3498db1a}.color-value{font-family:Courier New,monospace;letter-spacing:1px}.color-picker-dropdown{background:#fff;border:1px solid var(--border-color);border-radius:0 0 4px 4px;border-top:none;box-shadow:var(--shadow-lg);left:0;padding:1rem;position:absolute;right:0;top:100%;z-index:100}.color-grid{grid-gap:.5rem;border-bottom:1px solid var(--light-bg);display:grid;gap:.5rem;grid-template-columns:repeat(5,1fr);margin-bottom:1rem;padding-bottom:1rem}.color-swatch{aspect-ratio:1;border:2px solid var(--border-color);border-radius:4px;cursor:pointer;padding:0;position:relative;transition:all .2s ease;width:100%}.color-swatch:hover{box-shadow:var(--shadow);transform:scale(1.1)}.color-swatch.selected{border-color:var(--dark-text);box-shadow:var(--shadow-lg)}.color-swatch.selected:after{color:#fff;content:"✓";font-size:1.2rem;font-weight:700;left:50%;position:absolute;text-shadow:0 0 3px #00000080;top:50%;transform:translate(-50%,-50%)}.color-input-wrapper{align-items:center;display:flex;gap:.75rem}.color-input-wrapper label{color:var(--dark-text);font-size:.85rem;font-weight:600;white-space:nowrap}.color-input{border:2px solid var(--border-color);border-radius:4px;cursor:pointer;flex:1 1;height:50px;transition:border-color .2s ease}.color-input:focus,.color-input:hover{border-color:var(--primary-color)}.color-input:focus{outline:none}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn-cancel,.btn-submit{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.75rem 1rem;transition:all .2s ease}.btn-submit{background:var(--primary-color);color:#fff}.btn-submit:hover:not(:disabled){background:#2980b9;box-shadow:var(--shadow);transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6}.users-list{display:flex;flex-direction:column;gap:.75rem}.user-item{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:6px;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.user-item:hover{box-shadow:var(--shadow);transform:translateX(2px)}.user-info{align-items:center;display:flex;flex:1 1;gap:1rem;min-width:0}.user-color{border:2px solid var(--border-color);border-radius:4px;box-shadow:var(--shadow);flex-shrink:0;height:40px;width:40px}.user-name{color:var(--dark-text);font-size:.95rem;font-weight:600}.user-email{color:#7f8c8d;font-size:.85rem}.user-actions{display:flex;flex-shrink:0;gap:.5rem}.action-btn{align-items:center;background:#0000;border:none;color:#7f8c8d;cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:.4rem;transition:all .2s ease}.action-btn:hover{transform:scale(1.2)}.action-btn.edit:hover{color:var(--primary-color)}.action-btn.delete:hover{color:var(--danger-color)}.no-users{color:#95a5a6;font-size:.9rem;padding:2rem 1rem;text-align:center}.settings-container::-webkit-scrollbar{width:6px}.settings-container::-webkit-scrollbar-track{background:var(--light-bg)}.settings-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.settings-container::-webkit-scrollbar-thumb:hover{background:#95a5a6}@media (orientation:portrait){.settings-overlay{padding:.5rem}.settings-container{max-height:95vh;max-width:95vw}.settings-header{padding:1rem}.settings-header h2{font-size:1.1rem}.close-btn{font-size:1.3rem;height:1.8rem;width:1.8rem}.settings-tabs{padding:.75rem 1rem 0}.settings-tab{font-size:.85rem;padding:.6rem 1rem}.settings-content{gap:1.5rem;padding:1rem}.settings-group,.settings-info,.user-form{padding:1rem}.settings-group h3,.settings-info h4,.user-form h4{font-size:.95rem}.input-group{flex-wrap:wrap}.input-group input{width:100px}.color-grid{grid-template-columns:repeat(4,1fr)}.color-input-wrapper{align-items:stretch;flex-direction:column}.color-input,.color-input-wrapper label{width:100%}.users-header{align-items:stretch;flex-direction:column}.btn-add-user{justify-content:center;width:100%}.user-item{align-items:flex-start;flex-direction:column;gap:1rem}.user-info{width:100%}.user-actions{align-self:flex-end}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}.color-preview{min-height:45px;padding:.6rem}.color-value{font-size:.75rem}}@media (orientation:portrait) and (max-height:800px){.settings-header{padding:.75rem}.settings-header h2{font-size:1rem}.settings-tabs{padding:.6rem .75rem 0}.settings-tab{font-size:.8rem;padding:.5rem .8rem}.settings-content{gap:1rem;padding:.75rem}.settings-group,.settings-info,.user-form{padding:.75rem}.settings-group label,.settings-info h4,.user-form h4{font-size:.85rem}.input-group input{padding:.6rem;width:80px}.description,.helper-text{font-size:.8rem}.color-grid{gap:.4rem;grid-template-columns:repeat(4,1fr);margin-bottom:.75rem;padding-bottom:.75rem}.color-swatch{border:1px solid var(--border-color)}.color-input-wrapper{gap:.5rem}.color-input-wrapper label{font-size:.8rem}.color-input{height:40px}.user-item{gap:.75rem;padding:.75rem}.user-color{height:35px;width:35px}.user-name{font-size:.9rem}.user-email{font-size:.8rem}.btn-add-user,.btn-cancel,.btn-save,.btn-submit{font-size:.85rem;padding:.6rem 1rem}.form-actions{gap:.75rem;margin-top:1rem}.color-preview{font-size:.8rem;min-height:40px;padding:.5rem}}@media (orientation:landscape){.settings-container{max-width:700px}.color-grid{grid-template-columns:repeat(6,1fr)}.settings-content{gap:1.5rem}}.timezone-settings h3{color:var(--dark-text);font-size:1.1rem;margin:0 0 1.5rem}.timezone-select{background:#fff;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-family:inherit;font-size:.9rem;padding:.75rem;transition:all .2s ease;width:100%}.timezone-select:focus,.timezone-select:hover{border-color:var(--primary-color)}.timezone-select:focus{box-shadow:0 0 0 3px #3498db1a;outline:none}.timezone-info{background:#fff;border:1px solid var(--border-color);border-radius:4px;margin:1rem 0;padding:1rem}.info-label{color:var(--dark-text);font-size:.85rem;font-weight:600;margin:0}.timezone-offset{color:var(--primary-color);font-family:Courier New,monospace;font-size:1.1rem;font-weight:600;letter-spacing:1px;margin:.5rem 0 0}.timezone-preview{background:var(--light-bg);border:1px solid var(--border-color);border-radius:6px;margin-top:1.5rem;padding:1.5rem}.timezone-preview h4{color:var(--dark-text);font-size:.95rem;margin:0 0 1rem}.preview-box{background:#fff;border:1px solid var(--border-color);border-radius:4px;padding:1rem}.preview-box p{color:var(--dark-text);font-size:.9rem;margin:.5rem 0}.preview-box p:first-child{margin-top:0}.preview-time{color:var(--primary-color)!important;font-family:Courier New,monospace!important;font-size:1rem!important;font-weight:600!important;letter-spacing:.5px!important}@media (orientation:portrait){.timezone-select{font-size:.85rem;padding:.6rem}.timezone-info{margin:.75rem 0;padding:.75rem}.info-label{font-size:.8rem}.timezone-offset{font-size:1rem}.timezone-preview{margin-top:1rem;padding:1rem}.preview-box{padding:.75rem}.preview-box p{font-size:.85rem}.preview-time{font-size:.9rem!important}}@media (orientation:portrait) and (max-height:800px){.timezone-select{font-size:.8rem;padding:.5rem}.timezone-info{margin:.5rem 0;padding:.6rem}.info-label{font-size:.75rem}.timezone-offset{font-size:.9rem;margin-top:.25rem}.timezone-preview{margin-top:.75rem;padding:.75rem}.preview-box{padding:.5rem}.preview-box p{font-size:.8rem;margin:.3rem 0}.preview-time{font-size:.85rem!important}}.google-settings h3{color:var(--dark-text);font-size:1.1rem;margin:0 0 1.5rem}.google-settings h4{color:var(--dark-text);font-size:.95rem;margin:0 0 1rem}.auth-status{align-items:center;border:2px solid var(--border-color);border-radius:6px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.auth-status.authenticated{background:#d5f4e6;border-color:#27ae60}.auth-status.disconnected{background:#fadbd8;border-color:#e74c3c}.status-indicator{border-radius:50%;flex-shrink:0;height:12px;width:12px}.auth-status.authenticated .status-indicator{background:#27ae60}.auth-status.disconnected .status-indicator{background:#e74c3c}.status-text{flex:1 1}.status-text p{margin:0}.status-title{font-size:.95rem;font-weight:600}.auth-status.authenticated .status-title{color:#27ae60}.auth-status.disconnected .status-title{color:#c0392b}.status-subtitle{color:#555;font-size:.8rem;margin-top:.25rem}.btn-auth,.btn-logout,.btn-sync{align-items:center;background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.6rem 1.2rem;transition:all .2s ease;white-space:nowrap}.btn-logout{background:var(--danger-color);flex-shrink:0;margin-left:auto}.btn-sync{justify-content:center;width:100%}.btn-auth:hover,.btn-logout:hover,.btn-sync:hover{box-shadow:var(--shadow);opacity:.9;transform:translateY(-2px)}.btn-logout:hover{background:#c0392b}.google-settings .settings-info ul{margin:1rem 0;padding-left:1.5rem}.google-settings .settings-info li{color:#555;font-size:.9rem;line-height:1.5;margin:.5rem 0}@media (orientation:portrait){.auth-status{flex-direction:column;padding:.75rem;text-align:center}.btn-logout{margin-left:0;width:100%}.btn-sync{width:100%}.google-settings .settings-info ul{padding-left:1.25rem}.google-settings .settings-info li{font-size:.85rem}}@media (orientation:portrait) and (max-height:800px){.auth-status{gap:.75rem;padding:.6rem}.status-title{font-size:.9rem}.status-subtitle{font-size:.75rem}.btn-auth,.btn-logout,.btn-sync{font-size:.85rem;padding:.5rem 1rem}.google-settings .settings-info li{font-size:.8rem;margin:.3rem 0}}.btn-select-calendars{align-items:center;background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.6rem 1.2rem;transition:all .2s ease;white-space:nowrap;width:100%}.btn-select-calendars:hover{box-shadow:var(--shadow);opacity:.9;transform:translateY(-2px)}@media (orientation:portrait){.btn-select-calendars{width:100%}}.debug-group{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin-top:1.5rem;padding:1rem}.debug-group h4{color:#856404;margin-top:0}.debug-group .description{color:#856404}.btn-debug{align-items:center;background:#ffc107;border:none;border-radius:4px;color:#000;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.6rem 1.2rem;transition:all .2s ease;white-space:nowrap;width:100%}.btn-debug:hover{box-shadow:var(--shadow);opacity:.9;transform:translateY(-2px)}.settings-container{max-width:820px}.settings-tabs{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.settings-tab{flex:0 0 auto;white-space:nowrap}.google-settings,.layout-settings{display:flex;flex-direction:column;gap:1.5rem}.google-settings>h3,.layout-settings>h3{color:var(--dark-text);font-size:1.1rem;margin:0}.settings-group h4{color:var(--dark-text);font-size:1rem;margin:0}.settings-text-input,.weather-settings-grid input,.weather-settings-grid select{background:#fff;border:1px solid var(--border-color);border-radius:6px;color:var(--dark-text);font-family:inherit;font-size:.95rem;min-height:46px;padding:.7rem .75rem;width:100%}.settings-text-input:focus,.weather-settings-grid input:focus,.weather-settings-grid select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3498db1f;outline:none}.widget-order-list{display:flex;flex-direction:column;gap:.65rem}.widget-order-item{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:8px;display:flex;gap:1rem;justify-content:space-between;min-height:68px;padding:.75rem}.widget-order-item.disabled{background:#f7f8f9;opacity:.72}.widget-order-handle{display:flex;flex:1 1;flex-direction:column;min-width:0}.widget-order-handle strong{color:var(--dark-text);font-size:.95rem}.widget-order-handle span{color:var(--light-text);font-size:.78rem;margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-order-actions{align-items:center;display:flex;flex:0 0 auto;gap:.4rem}.widget-move-button{align-items:center;background:var(--light-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--dark-text);cursor:pointer;display:inline-flex;font-size:1.15rem;height:42px;justify-content:center;padding:0;touch-action:manipulation;width:42px}.widget-move-button:disabled{cursor:not-allowed;opacity:.35}.settings-checkbox-row,.widget-toggle{align-items:center;color:var(--dark-text);cursor:pointer;display:flex;font-size:.86rem;font-weight:700;gap:.5rem}.settings-checkbox-row input,.widget-toggle input{accent-color:var(--primary-color);height:21px;margin:0;width:21px}.widget-lock{align-items:center;background:#3498db1f;border-radius:999px;color:var(--primary-color);display:inline-flex;font-size:.78rem;font-weight:700;gap:.35rem;min-height:38px;padding:.45rem .65rem}.weather-settings-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.weather-settings-grid label{color:var(--dark-text);display:flex;flex-direction:column;font-size:.85rem;font-weight:700;gap:.45rem}.btn-secondary{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:6px;color:var(--dark-text);cursor:pointer;display:inline-flex;font-weight:700;gap:.5rem;justify-content:center;min-height:44px;padding:.65rem 1rem;touch-action:manipulation;width:-webkit-fit-content;width:fit-content}.btn-secondary:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.btn-secondary:disabled{cursor:wait;opacity:.6}@media (max-width:760px),(orientation:portrait){.settings-container{max-width:96vw}.widget-order-item{align-items:stretch;flex-direction:column;gap:.7rem}.widget-order-actions{justify-content:flex-end}.weather-settings-grid{grid-template-columns:1fr}.btn-secondary{width:100%}}.event-debug-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.event-debug-container{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.debug-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #ecf0f1;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem}.debug-header h3{color:#2c3e50;font-size:1.1rem;margin:0}.close-btn:hover{color:#2c3e50}.debug-content{flex:1 1;overflow-y:auto;padding:1rem}.debug-summary{background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724;margin-bottom:1.5rem;padding:1rem}.debug-summary p{font-weight:600;margin:.5rem 0}.events-debug-list{display:flex;flex-direction:column;gap:.75rem}.debug-event-item{border:1px solid #bdc3c7;border-radius:4px;overflow:hidden}.debug-event-header{align-items:center;background:#ecf0f1;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:1rem;transition:background .2s ease}.debug-event-header:hover{background:#d5dbdb}.debug-event-title{color:#2c3e50;flex:1 1;font-weight:600}.debug-event-time{color:#7f8c8d;font-size:.85rem;white-space:nowrap}.debug-event-details{background:#f8f9fa;border-top:1px solid #bdc3c7;max-height:300px;overflow-y:auto;padding:1rem}.debug-event-details pre{color:#2c3e50;font-family:Courier New,monospace;font-size:.75rem;margin:0;overflow-x:auto}@media (orientation:portrait){.event-debug-container{max-width:95vw}.debug-header{padding:1rem}.debug-header h3{font-size:1rem}.debug-content{padding:.75rem}.debug-event-details pre{font-size:.7rem}}.calendar-selector-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1200}.calendar-selector-container{background:#fff;border-radius:8px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:80vh;max-width:500px;overflow:hidden;width:100%}.selector-header{align-items:center;border-bottom:2px solid var(--light-bg);display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem}.selector-header h3{color:var(--dark-text);font-size:1.1rem;margin:0}.close-btn{align-items:center;background:#0000;border:none;color:#7f8c8d;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:.25rem;transition:all .2s ease;width:2rem}.close-btn:hover{color:var(--dark-text);transform:scale(1.1)}.selector-error{background:#fadbd8;border-bottom:1px solid #c0392b;color:#c0392b;font-size:.9rem;padding:.75rem 1.5rem}.selector-content{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:1rem}.no-calendars,.selector-loading{align-items:center;color:#7f8c8d;display:flex;flex:1 1;font-size:.95rem;justify-content:center}.calendars-list{display:flex;flex-direction:column;gap:.5rem}.calendar-item{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.calendar-item:hover{background:#f8f9fa;border-color:var(--primary-color)}.calendar-item.selected{background:#3498db0d;border-color:var(--primary-color)}.calendar-checkbox{align-items:center;border:2px solid var(--border-color);border-radius:4px;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;height:24px;justify-content:center;transition:all .2s ease;width:24px}.calendar-item.selected .calendar-checkbox{background:var(--primary-color);border-color:var(--primary-color)}.calendar-color{border-radius:3px;flex-shrink:0;height:16px;width:16px}.calendar-info{flex:1 1;min-width:0}.calendar-summary{color:var(--dark-text);font-size:.95rem;font-weight:600}.calendar-description{color:#7f8c8d;font-size:.85rem;margin-top:.25rem}.primary-badge{background:var(--success-color);border-radius:12px;color:#fff;flex-shrink:0;font-size:.7rem;font-weight:600;padding:.25rem .6rem;text-transform:uppercase;white-space:nowrap}.selector-footer{background:#fff;border-top:2px solid var(--light-bg);display:flex;flex-shrink:0;gap:1rem;padding:1.5rem}.btn-cancel,.btn-save{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:.75rem 1rem;transition:all .2s ease}.btn-cancel{background:var(--light-bg);border:1px solid var(--border-color);color:var(--dark-text)}.btn-cancel:hover{background:#bdc3c7}.btn-save{background:var(--primary-color);color:#fff}.btn-save:hover:not(:disabled){background:#2980b9;box-shadow:var(--shadow);transform:translateY(-2px)}.btn-save:disabled{cursor:not-allowed;opacity:.5}.selector-content::-webkit-scrollbar{width:6px}.selector-content::-webkit-scrollbar-track{background:var(--light-bg)}.selector-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.selector-content::-webkit-scrollbar-thumb:hover{background:#95a5a6}@media (orientation:portrait){.calendar-selector-overlay{padding:.5rem}.calendar-selector-container{max-height:90vh;max-width:95vw}.selector-header{padding:1rem}.selector-header h3{font-size:1rem}.close-btn{font-size:1.3rem;height:1.8rem;width:1.8rem}.selector-content{padding:.75rem}.calendar-item{gap:.75rem;padding:.75rem}.calendar-summary{font-size:.9rem}.calendar-description{font-size:.8rem}.selector-footer{gap:.75rem;padding:1rem}.btn-cancel,.btn-save{font-size:.85rem;padding:.6rem .8rem}}@media (orientation:portrait) and (max-height:800px){.selector-header{padding:.75rem}.selector-header h3{font-size:.95rem}.selector-content{padding:.5rem}.calendar-item{gap:.6rem;padding:.6rem}.calendar-summary{font-size:.85rem}.calendar-description{font-size:.75rem}.selector-footer{gap:.5rem;padding:.75rem}.btn-cancel,.btn-save{font-size:.8rem;padding:.5rem .6rem}}.google-photos-slideshow{color:#fff;position:fixed;touch-action:manipulation;-webkit-user-select:none;user-select:none;z-index:5000}.google-photos-slideshow,.slideshow-stage{background:#000;height:100vh;inset:0;overflow:hidden;width:100vw}.slideshow-stage{align-items:center;display:flex;justify-content:center;position:absolute}.slideshow-image,.slideshow-video{background:#000;display:block;height:100vh;max-height:100vh;max-width:100vw;object-fit:contain;object-position:center center;width:100vw}.slideshow-video{flex:0 0 auto}.slideshow-image.is-loading-next,.slideshow-video.is-loading-next{opacity:.85}.slideshow-loading-overlay{background:#0000008c;color:#fff;font-size:1rem;letter-spacing:.04em;z-index:5002}.slideshow-loading-overlay,.slideshow-message{align-items:center;display:flex;inset:0;justify-content:center;padding:2rem;position:absolute;text-align:center}.slideshow-message{background:#000;flex-direction:column;z-index:5003}.slideshow-message h2{font-size:2rem;margin:0 0 1rem}.slideshow-message p{color:#ffffffd9;line-height:1.5;margin:0 0 1rem;max-width:650px}.slideshow-hint{font-size:.95rem;opacity:.75}.slideshow-metadata{background:linear-gradient(135deg,#000000b8,#00000059);border-radius:10px;bottom:1.25rem;color:#fff;left:1.25rem;max-width:min(70vw,760px);padding:.85rem 1rem;pointer-events:none;position:fixed;text-shadow:0 1px 3px #000000e6;z-index:5005}.slideshow-date{font-size:1rem;font-weight:700;margin-bottom:.2rem}.slideshow-camera,.slideshow-location,.slideshow-media-type{font-size:.85rem;margin-top:.1rem;opacity:.9}.slideshow-status{align-items:center;background:#0000008c;border-radius:999px;bottom:1.25rem;color:#fff;display:flex;font-size:.85rem;font-weight:700;gap:.35rem;padding:.55rem .75rem;pointer-events:none;position:fixed;right:1.25rem;text-shadow:0 1px 3px #000000e6;z-index:5005}.slideshow-selected-date,.slideshow-video-pill{border-left:1px solid #ffffff59;margin-left:.4rem;opacity:.9;padding-left:.55rem}@media (orientation:portrait){.slideshow-image,.slideshow-video{height:100vh;object-fit:contain;width:100vw}.slideshow-message h2{font-size:1.5rem}.slideshow-metadata{bottom:3.6rem;left:.75rem;max-width:none;padding:.75rem;right:.75rem}.slideshow-date{font-size:.9rem}.slideshow-camera,.slideshow-location,.slideshow-media-type{font-size:.78rem}.slideshow-status{bottom:.75rem;font-size:.78rem;justify-content:center;left:.75rem;right:.75rem}.slideshow-selected-date{display:none}}

/*!
 * 
 *   react-simple-keyboard v3.8.235
 *   https://github.com/hodgef/react-simple-keyboard
 *
 *   Copyright (c) Francisco Hodge (https://github.com/hodgef) and project contributors.
 *
 *   This source code is licensed under the MIT license found in the
 *   LICENSE file in the root directory of this source tree.
 *
 */
/*!
 * 
 *   simple-keyboard v3.8.158
 *   https://github.com/hodgef/simple-keyboard
 *
 *   Copyright (c) Francisco Hodge (https://github.com/hodgef) and project contributors.
 *
 *   This source code is licensed under the MIT license found in the
 *   LICENSE file in the root directory of this source tree.
 *
 */.hg-theme-default{background-color:#ececec;border-radius:5px;box-sizing:border-box;font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;overflow:hidden;padding:5px;touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%}.hg-theme-default .hg-button span,.hg-theme-default .hg-button span svg{pointer-events:none}.hg-theme-default button.hg-button{border-width:0;font-size:inherit}.hg-theme-default .hg-button{display:inline-block;flex-grow:1}.hg-theme-default .hg-row{display:flex}.hg-theme-default .hg-row:not(:last-child){margin-bottom:5px}.hg-theme-default .hg-row .hg-button-container,.hg-theme-default .hg-row .hg-button:not(:last-child){margin-right:5px}.hg-theme-default .hg-row>div:last-child{margin-right:0}.hg-theme-default .hg-row .hg-button-container{display:flex}.hg-theme-default .hg-button{-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;background:#fff;border-bottom:1px solid #b5b5b5;border-radius:5px;box-shadow:0 0 3px -1px #0000004d;box-sizing:border-box;cursor:pointer;display:flex;height:40px;justify-content:center;padding:5px}.hg-theme-default .hg-button.hg-standardBtn{width:20px}.hg-theme-default .hg-button.hg-activeButton{background:#efefef}.hg-theme-default.hg-layout-numeric .hg-button{align-items:center;display:flex;height:60px;justify-content:center;width:33.3%}.hg-theme-default .hg-button.hg-button-numpadadd,.hg-theme-default .hg-button.hg-button-numpadenter{height:85px}.hg-theme-default .hg-button.hg-button-numpad0{width:105px}.hg-theme-default .hg-button.hg-button-com{max-width:85px}.hg-theme-default .hg-button.hg-standardBtn.hg-button-at{max-width:45px}.hg-theme-default .hg-button.hg-selectedButton{background:#05194687;color:#fff}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn=".com"]{max-width:82px}.hg-theme-default .hg-button.hg-standardBtn[data-skbtn="@"]{max-width:60px}.hg-candidate-box{background:#ececec;border-bottom:2px solid #b5b5b5;border-radius:5px;display:inline-flex;margin-top:-10px;position:absolute;transform:translateY(-100%);-webkit-user-select:none;user-select:none}ul.hg-candidate-box-list{display:flex;flex:1 1;list-style:none;margin:0;padding:0}li.hg-candidate-box-list-item{align-items:center;display:flex;height:40px;justify-content:center;width:40px}li.hg-candidate-box-list-item:hover{background:#00000008;cursor:pointer}li.hg-candidate-box-list-item:active{background:#0000001a}.hg-candidate-box-prev:before{content:"◄"}.hg-candidate-box-next:before{content:"►"}.hg-candidate-box-next,.hg-candidate-box-prev{align-items:center;color:#969696;cursor:pointer;display:flex;padding:0 10px}.hg-candidate-box-next{border-bottom-right-radius:5px;border-top-right-radius:5px}.hg-candidate-box-prev{border-bottom-left-radius:5px;border-top-left-radius:5px}.hg-candidate-box-btn-active{color:#444}.virtual-keyboard-panel{background:#dfe6e9;border-top:2px solid #b2bec3;bottom:0;box-shadow:0 -4px 18px #00000040;left:0;padding:.5rem .5rem max(.5rem,env(safe-area-inset-bottom));position:fixed;right:0;touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%;z-index:5000}.virtual-keyboard-header{align-items:center;color:#2c3e50;display:flex;font-size:.9rem;font-weight:600;justify-content:space-between;margin:0 auto .4rem;max-width:1100px}.virtual-keyboard-close{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;min-height:42px;min-width:90px;padding:.45rem 1rem;touch-action:manipulation}.virtual-keyboard-panel .simple-keyboard{background:#0000;margin:0 auto;max-width:1100px}.virtual-keyboard-panel .hg-row{gap:5px;margin-bottom:5px}.virtual-keyboard-panel .hg-button{background:#fff;border:1px solid #b2bec3;border-radius:6px;box-shadow:0 2px 0 #b2bec3;color:#2c3e50;font-size:1.2rem;font-weight:600;min-height:52px;touch-action:manipulation}.virtual-keyboard-panel .hg-button:active{background:#ecf0f1;box-shadow:none;transform:translateY(2px)}.virtual-keyboard-panel .hg-button-space{min-width:30%}.virtual-keyboard-panel .hg-button-bksp,.virtual-keyboard-panel .hg-button-close,.virtual-keyboard-panel .hg-button-enter,.virtual-keyboard-panel .hg-button-shift{background:#bdc3c7}@media (max-height:800px){.virtual-keyboard-panel{padding:.3rem}.virtual-keyboard-header{font-size:.8rem;margin-bottom:.25rem}.virtual-keyboard-close{font-size:.9rem;min-height:36px}.virtual-keyboard-panel .hg-row{gap:3px;margin-bottom:3px}.virtual-keyboard-panel .hg-button{font-size:1rem;min-height:42px}}@media (orientation:portrait){.virtual-keyboard-panel .hg-button{font-size:1rem;min-height:48px}.virtual-keyboard-panel .hg-button-space{min-width:25%}}.header-weather{align-items:center;background:#ffffff1f;border:1px solid #ffffff4d;border-radius:8px;color:#fff;display:flex;gap:.55rem;min-width:0;padding:.45rem .7rem}.header-weather>svg{flex:0 0 auto;font-size:1.35rem}.header-weather>div{display:flex;flex-direction:column;min-width:0}.header-weather strong{font-size:.95rem;line-height:1.05}.header-weather span{color:#ffffffd1;font-size:.72rem;line-height:1.15;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-weather-unavailable{opacity:.82}@media (orientation:portrait){.header-weather{padding:.35rem .5rem}.header-weather span{display:none}}@media (orientation:portrait) and (max-width:520px){.app-header .header-weather{display:none}}
/*# sourceMappingURL=main.04b025a8.css.map*/