:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.LoginForm{display:flex;flex-direction:column;justify-content:center;background:#f5f7fa;padding:2rem;border-radius:12px;box-shadow:0 8px 20px #0000001a;max-width:350px;margin:2rem auto;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.LoginForm input[type=text],.LoginForm input[type=password]{width:-webkit-fill-available;padding:12px 15px;margin:10px 0;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .3s,box-shadow .3s}.LoginForm input[type=text]:focus,.LoginForm input[type=password]:focus{border-color:#0078d4;box-shadow:0 0 5px #0078d44d;outline:none}.LoginForm button{width:100%;padding:12px;margin-top:15px;background-color:#0078d4;color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .3s,transform .2s}.LoginForm button:hover{background-color:#005fa3;transform:translateY(-2px)}.LoginForm p{margin-top:12px;color:#d8000c;font-weight:700;text-align:center}@media (max-width: 400px){.LoginForm{width:90%;padding:1.5rem}}#root{width:100%;margin:0 auto;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.app{display:flex;height:100vh;font-family:sans-serif}.sidebar{background-color:#2c3e50;color:#fff;width:250px;transition:width .3s;padding:10px;box-sizing:border-box;overflow:hidden}.sidebar.closed{width:60px}.menu-toggle{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;margin-bottom:10px;padding:0}.add-calendar{display:flex;align-items:center;width:100%;padding:5px;margin-bottom:10px;cursor:pointer;background:none;border:none;color:#fff}.add-calendar .icon{margin-right:10px}.calendar-list{list-style:none;padding:0}.calendar-list li{display:flex;align-items:center;padding:5px 0;cursor:pointer}.calendar-list li .icon{margin-right:10px}.main{flex:1;padding:20px}.sidebar{background-color:#2c3e50;color:#fff;width:250px;transition:width .3s;padding:10px;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;min-width:20%}.sidebar.closed{width:60px;min-width:unset}.sidebar.closed .delete-btn,.sidebar.closed .export-btn,.sidebar.closed .settings-btn,.sidebar.closed .link-btn{display:none}.menu-toggle{display:flex;justify-content:center;align-items:center;width:40px;height:40px;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;margin-bottom:15px;padding:0}.add-calendar{display:flex;align-items:center;width:100%;padding:8px 10px;margin-bottom:10px;cursor:pointer;background:none;border:none;color:#fff;font-size:.95rem;transition:background .2s}.add-calendar:hover{background-color:#ffffff1a}.add-calendar .icon{min-width:20px;display:flex;justify-content:center;margin-right:10px}hr{border:1px solid #444;margin:10px 0}.calendar-list{list-style:none;padding:0;margin:0}.calendar-list li{display:flex;align-items:center;padding:5px 0;cursor:pointer;font-size:.95rem}.sidebar.closed .calendar-list li .icon{margin:auto}.calendar-list li .icon{min-width:20px;display:flex;justify-content:center;margin-right:10px}.calendar-list li.active{background-color:#fff3;border-radius:4px}.calendar-item-name{max-width:58%;overflow-x:hidden;text-overflow:ellipsis;text-wrap-mode:nowrap}.export-btn{margin-left:auto;cursor:pointer}.sidebar-footer{place-self:center;margin-top:auto;width:-webkit-fill-available}.logout-btn{width:-webkit-fill-available;background:#f44336!important;color:#fff}.day-cell{position:relative;border:1px solid #ccc;height:85px;padding:4px;display:flex;flex-direction:column;justify-content:flex-start;background-color:#fff;overflow:hidden}.day-cell:hover{background-color:#f9f9f9}.day-number{font-weight:700;margin-bottom:4px;margin-right:auto}.add-event-btn{position:absolute;top:4px;right:4px;border:none;background-color:#2196f3;color:#fff;width:22px;height:22px;font-size:16px;line-height:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.add-event-btn:hover{background-color:#1976d2}.day-cell:hover .add-event-btn{opacity:1}.events{margin-top:4px;display:block;flex-direction:column;overflow:hidden;overflow-y:auto;height:100px;scrollbar-width:none}.event-item{display:flex;background-color:#2196f3;color:#fff;padding:2px 4px;font-size:12px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:fit-content;margin-top:1px;-webkit-user-select:none;user-select:none;cursor:pointer;gap:5px}.event-item:hover{background-color:#1976d2}.new-event-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.new-event-dialog{background:#fff;padding:20px;border-radius:8px;width:30%;max-height:50%;min-width:fit-content;display:grid;flex-direction:column;gap:10px;overflow-y:auto;scrollbar-width:none}.new-event-dialog input{width:-webkit-fill-available;padding:5px;font-size:1rem;justify-self:center}.new-event-dialog input[type=color]{width:80px;height:40px}.new-event-dialog textarea{width:-webkit-fill-available;min-height:60px;padding:5px;font-size:1rem;font-family:inherit;resize:vertical}.new-event-dialog .buttons{display:flex;justify-content:flex-end;gap:10px}.new-event-dialog button{padding:5px 10px;cursor:pointer}.xkal-field{display:grid}.xkal-fields{height:200px;overflow-y:auto}.delete-event-btn{background:red;margin-right:auto}.textarea{resize:vertical}.row{display:flex;gap:5px;align-items:center;justify-items:baseline;align-content:center;justify-content:center}.color-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.swatches{display:flex;gap:.35rem;flex-wrap:wrap;max-width:340px}.swatch{width:22px;height:22px;border-radius:4px;border:1px solid #ccc;cursor:pointer;outline:none}.swatch.active{box-shadow:0 0 0 2px #333 inset;border-color:#333}.save-color-btn{padding:.35rem .5rem}.calendar-view{display:flex;flex-direction:column}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calendar-header button{background:none;border:none;cursor:pointer;font-size:1.2rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekday{font-weight:700;text-align:center;padding:5px 0;background-color:#ecf0f1}.settings-backdrop{position:fixed;inset:0;background:#0004;display:flex;align-items:center;justify-content:center;z-index:1000}.settings-dialog{background:#fff;min-width:760px;width:fit-content;max-width:unset;padding:16px;height:70%;border-radius:8px}.settings-body{display:block;height:100%;overflow-y:auto}.settings-header{display:flex;align-self:center;justify-self:anchor-center;gap:10px;text-align:center;align-items:baseline}.settings-header h3{margin:0 0 12px}.settings-error{background:#fee;border:1px solid #f99;padding:8px;margin-bottom:8px}.fields-list{border:1px solid #ddd;border-radius:6px}.list-head,.list-row{display:grid;grid-template-columns:60px 80px 200px 1fr 120px 1.2fr 80px 80px 150px 90px 100px;gap:6px;align-items:center}.list-head{background:#f7f7f7;font-weight:600;padding:8px}.list-row{padding:8px;border-top:1px solid #eee}.list-row input[type=text],.list-row input[type=number],.list-row select{width:100%}.list-row *{justify-self:center}.add-btn{margin:10px}.settings-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.settings-footer .primary{background:#2196f3;color:#fff;border:0;padding:8px 12px;border-radius:6px}.settings-footer .primary:hover{background:#1976d2;color:#fff;border:0;padding:8px 12px;border-radius:6px}.calendar-name-input{height:fit-content;font-size:15px}.delete-calendar-btn{background:#f44336!important;color:#fff;border:0;padding:8px 12px;border-radius:6px}.delete-calendar-btn:hover{background:#d32f2f!important;color:#fff;border:0;padding:8px 12px;border-radius:6px}.settings-general{align-content:start;justify-content:left;justify-items:left;margin-bottom:10px}.field{display:flex;gap:10px;margin-bottom:10px}.logo-preview{max-height:100px;max-width:200px;object-fit:contain;border:1px solid #ccc;border-radius:4px;margin-bottom:8px}.block{display:block;align-items:start;justify-content:left;justify-items:left;text-align:left}.opt-editor{display:flex;flex-direction:column;gap:6px}.opt-head,.opt-row{display:grid;grid-template-columns:1.6fr 1.4fr 80px;gap:8px;align-items:center}.opt-val{width:100px}.opt-col{font-size:12px;color:#444}.opt-color-wrap{display:flex;align-items:center;gap:6px}.opt-colr{width:100%}.opt-colr-picker{width:40px;height:28px;padding:0}.opt-swatch{width:18px;height:18px;border:1px solid #ccc;border-radius:4px}.opt-add{margin-top:6px}.list-row{display:flex;flex-wrap:nowrap;gap:8px}.col-type,.col-var,.col-inputtype,.col-required,.col-align{width:100%}.col-export{width:min-content}.col-kind{text-wrap-mode:nowrap}.optdlg-backdrop{position:fixed;inset:0;background:#0000004d;display:grid;place-items:center;z-index:1000}.optdlg{background:#fff;width:360px;max-width:92vw;border-radius:10px;padding:16px;box-shadow:0 10px 24px #0003}.optdlg h4{margin:0 0 12px}.optdlg label{display:block;margin:8px 0;font-size:14px}.optdlg input[type=text]{width:100%;box-sizing:border-box}.optdlg-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.optdlg-actions .primary{background:#0b5cff;color:#fff;border:none;padding:6px 12px;border-radius:6px}.small{padding:16px;max-height:fit-content}.edit-user-calendar-rights-backdrop{position:fixed;inset:0;background:#00000059;display:grid;place-items:center;z-index:1000}.edit-user-calendar-rights-modal{width:min(720px,92vw);max-height:88vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 10px 30px #0003;padding:16px 16px 12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Helvetica Neue,Arial,Noto Sans,sans-serif}.eucr-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.eucr-close{border:none;background:transparent;font-size:24px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:8px}.eucr-close:hover{background:#0000000f}.eucr-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 12px}.eucr-alert{background:#fdeaea;color:#b00020;padding:10px 12px;border-radius:10px;margin:8px 0}.eucr-loading{padding:12px;opacity:.8}.eucr-actions-top{display:flex;gap:8px;margin:8px 0 10px}.eucr-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.eucr-item{background:#f7f7f8;padding:10px 12px;border-radius:10px}.eucr-item input{margin-right:8px}.eucr-right{font-weight:600}.eucr-add{display:flex;gap:8px;margin-top:12px}.eucr-add input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:10px;outline:none}.eucr-add input:focus{border-color:#888}.eucr-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.eucr-btn{border:1px solid #d0d0d0;background:#fff;padding:8px 12px;border-radius:10px;cursor:pointer}.eucr-btn:hover{background:#f2f2f3}.eucr-btn.primary{border-color:#2c6bed;background:#2c6bed;color:#fff}.eucr-btn.primary[disabled],.eucr-btn[disabled]{opacity:.6;cursor:not-allowed}.eucr-btn.ghost{background:transparent}.calendar-info-backdrop{position:fixed;inset:0;background:#0004;display:flex;align-items:center;justify-content:center;z-index:1000}.calendar-info-box{background:#fff;min-width:760px;width:fit-content;max-width:unset;padding:16px;height:70%;border-radius:8px}.qrcode-wrap{margin:12px 0;display:flex;flex-direction:column;align-items:center;gap:8px}.qr-actions{display:flex;gap:8px;margin:auto;justify-self:center}.qr-link{max-width:100%;overflow-wrap:anywhere;font-size:.85rem;color:#555}
