.changePasswordBox{max-width:440px;width:100%}.changePasswordForm{display:flex;flex-direction:column;gap:16px;margin-top:20px}.changePasswordForm .inputGroup{display:flex;flex-direction:column;gap:6px}.changePasswordForm .inputGroup label{font-size:13px;font-weight:600;color:#0f172aeb}.changePasswordForm .inputGroup input{padding:10px 12px;border:1px solid rgba(15,23,42,.14);border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s}.changePasswordForm .inputGroup input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.changePasswordMsg{padding:12px;border-radius:8px;font-size:13px;font-weight:500}.changePasswordMsg.success{background:#ecfdf5;color:#059669;border:1px solid #A7F3D0}.changePasswordMsg.error{background:#fef2f2;color:#dc2626;border:1px solid #FECACA}:root{--bg: #f6f7fb;--bg2: #ffffff;--panel: rgba(255,255,255,.92);--panel2: rgba(255,255,255,.98);--border: rgba(15, 23, 42, .1);--border2: rgba(15, 23, 42, .14);--text: rgba(15, 23, 42, .92);--muted: rgba(15, 23, 42, .62);--shadow: 0 10px 26px rgba(15, 23, 42, .08);--radius: 16px;--cell-font: clamp(13px, 1.2vw, 15px);--cell-line-height: 1.1;--cell-height: 62.2px}*{box-sizing:border-box}.app{min-height:100vh;display:flex;background:radial-gradient(1200px 700px at 10% 10%,rgba(96,165,250,.22),transparent 60%),radial-gradient(900px 600px at 85% 20%,rgba(253,224,71,.18),transparent 60%),radial-gradient(900px 600px at 60% 90%,rgba(134,239,172,.16),transparent 60%),var(--bg);color:var(--text)}.app.mode-paint,.app.mode-paint .cell{cursor:cell!important}.app.mode-erase,.app.mode-erase .cell{cursor:not-allowed!important}.app.mode-done,.app.mode-done .cell{cursor:context-menu!important}.app.mode-move,.app.mode-move .cell{cursor:move!important}.app.mode-ongoing,.app.mode-ongoing .cell{cursor:alias!important}.app.mode-notes,.app.mode-notes .cell{cursor:help!important}.app.mode-add-row,.app.mode-add-row .cell{cursor:copy!important}.app.mode-del-row,.app.mode-del-row .cell{cursor:no-drop!important}.app.mode-ongoing .cell,.app.mode-done .cell,.app.mode-paint .cell,.app.mode-add-row .cell,.app.mode-del-row .cell,.app.mode-erase .cell,.app.mode-move .cell,.app.mode-notes .cell{box-shadow:none}.sidebar{width:400px;flex:0 0 400px;border-right:1px solid var(--border);background:#fff9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-gutter:stable}.sidebar__resizer{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;z-index:12}.sidebar__resizer:after{content:"";position:absolute;top:0;left:3px;width:2px;height:100%;background:#0f172a1f;opacity:0;transition:opacity .15s ease}.sidebar__resizer:hover:after{opacity:1}.sidebar__resizer:active:after{opacity:1}.sidebar__collapseToggle{position:absolute;top:50%;right:-10px;transform:translateY(-50%);width:20px;height:44px;border-radius:10px;border:1px solid var(--border);background:var(--panel2);color:var(--muted);cursor:pointer;box-shadow:0 4px 10px #0f172a14;display:flex;align-items:center;justify-content:center;font-weight:700;z-index:13}.sidebar__collapseToggle:hover{color:var(--text)}.sidebar.is-collapsed{overflow:visible}.sidebar.is-collapsed .sidebar__inner{opacity:0;pointer-events:none}.sidebar.is-collapsed .sidebar__resizer{display:none}.sidebar__inner{min-height:100%;display:flex;flex-direction:column;padding:16px;gap:16px}body.sidebar-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.brand{padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center;margin-bottom:0}.brand__row{display:flex;justify-content:space-between;align-items:center;width:100%;height:32px}.brand__title{font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;display:flex;align-items:center;gap:4px}.brand__userWrapper{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.brand__actions{display:flex;align-items:center;gap:10px}.guestAlert{margin-top:12px;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;padding:10px;color:#b91c1c;font-size:12px;font-weight:700;text-align:center;line-height:1.4;box-shadow:0 2px 4px #dc26260d;animation:fadeIn .3s ease}.syncIconBtn{width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:#0f172a08;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.toggleSwitch{width:28px;height:16px;border-radius:999px;background:#cbd5e1;position:relative;cursor:pointer;transition:background .2s ease;flex-shrink:0}.toggleKnob{width:12px;height:12px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0003}.toggleSwitch.is-on .toggleKnob{transform:translate(12px)}.toggleSwitch.is-on{background:#64748b}.toggleSwitch.small{width:32px;height:18px;background:#e2e8f0}.toggleSwitch.small .toggleKnob{width:14px;height:14px;top:2px;left:2px}.toggleSwitch.small.is-on{background:#10b981;box-shadow:0 0 0 2px #10b9814d}.toggleSwitch.small.is-on .toggleKnob{transform:translate(14px);background:#fff}.navBtn{font-size:12px;font-weight:700;padding:6px 12px;border-radius:6px;border:1px solid #3B82F6;background:#3b82f6;color:#fff;cursor:pointer;transition:all .2s;line-height:1}.navBtn:hover{background:#2563eb}.inputGroup input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:#f8fafc;font-size:14px;color:#0f172a;outline:none;transition:all .15s ease}.shortcutsSection{margin-bottom:16px}.shortcutsRow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.shortcutsOther{border-top:1px solid #E2E8F0;padding-top:12px;margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.shortcutItem{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.shortcutKey{font-family:monospace;font-weight:700;background:#f1f5f9;padding:2px 6px;border-radius:4px;border:1px solid #E2E8F0;color:#475569;min-width:24px;text-align:center}.noteOverlay{align-items:flex-start;overflow-y:auto;padding:16px}.noteModalBox{background:#fef9c3;padding:0;border-radius:4px;width:min(45vw,640px);max-width:calc(100vw - 32px);height:min(85dvh,960px);max-height:min(calc(100dvh - 32px),960px);margin:auto;box-shadow:0 20px 25px -5px #0003,0 0 0 1px #0000000d;animation:popIn .2s ease;display:flex;flex-direction:column;overflow:hidden}.noteHeader{padding:16px 20px 12px;display:flex;justify-content:space-between;align-items:center;color:#854d0e;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.05em;border-top:8px solid rgba(253,224,71,.5)}.noteTabs{display:flex;padding:0 20px;gap:4px;border-bottom:1px solid rgba(0,0,0,.05)}.noteTab{padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;border-radius:4px 4px 0 0;color:#a16207;opacity:.6;transition:all .2s}.noteTab:hover{background:#00000008;opacity:.8}.noteTab.active{background:#fff6;opacity:1;color:#422006;box-shadow:inset 0 2px 0 0 currentColor}.noteTab.active.t-std{color:#1f2937}.noteTab.active.t-grn{color:#059669}.noteTab.active.t-red{color:#dc2626}.noteInput{width:100%;flex:1 1 auto;min-height:0;border:none;background:transparent;outline:none;font-family:Comic Sans MS,Chalkboard SE,sans-serif;font-size:15px;color:#422006;resize:none;line-height:1.5;padding:16px 20px;overflow-y:auto}.noteActions{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 20px;position:sticky;bottom:0;background:#fef9c3}.panel__header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.panel__title{font-size:11px;font-weight:700;color:#64748b;margin-bottom:12px;flex-shrink:0;text-transform:uppercase;letter-spacing:.05em}.panel__toggleIcon{font-size:10px;color:var(--muted)}.archiveControl{margin-top:12px;display:flex;flex-direction:column;gap:10px;animation:fadeIn .2s ease}.archiveSelect{width:100%;padding:8px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:12px;color:var(--text);outline:none}.archiveBtnGroup{display:flex;gap:8px}.archiveBtn{flex:1;padding:8px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--text);text-align:center}.archiveBtn:hover{background:#f1f5f9}.archiveBtn:disabled{opacity:.5;cursor:not-allowed}.archiveBtn.is-danger{color:#ef4444;border-color:#ef444433}.archiveBtn.is-danger:hover{background:#fef2f2}.navPanel{margin-top:16px}.navList{display:flex;flex-direction:column;gap:6px}.navDivider{height:1px;background:var(--border);margin:4px 0}.navItem{width:100%;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:transparent;cursor:pointer;font-size:14px;font-weight:600;color:var(--muted);transition:all .15s ease}.navItem:hover{background:#3b82f614;color:#3b82f6}.navItem.is-active{background:#3b82f61f;color:#3b82f6;border-color:#3b82f633;font-weight:700;cursor:default}.archiveGroupHeader{font-size:11px;font-weight:800;color:#475569;margin-top:12px;margin-bottom:6px;padding-bottom:2px;border-bottom:1px solid #E2E8F0;letter-spacing:.05em;text-align:center}.archiveGroupHeader--project{text-align:left;border-bottom:none;padding-bottom:0;color:#9ca3af;display:flex;align-items:center;gap:6px}.archiveGroupHeader--uncategorized{border-top:1px solid #E2E8F0;padding-top:6px;margin-top:14px}.plannerArchivedArrow{display:inline-block;transition:transform .15s ease}.archiveGroupHeader--project.is-open .plannerArchivedArrow{transform:rotate(90deg)}.archivedTitle{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;margin-bottom:0}.archiveTaskLabel{flex:1;min-width:0;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden}.actionGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.actionBtn{border:1px solid var(--border);background:#0f172a08;padding:8px 4px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;text-align:center;transition:all .15s;color:var(--text)}.actionBtn:hover{background:#0f172a0f}.actionBtn.is-active{background:#fff;border-color:#3b82f6;color:#3b82f6;box-shadow:0 1px 3px #3b82f626}.actionBtn.is-danger{color:#ef4444}.actionBtn.is-danger:hover{background:#fef2f2;border-color:#ef4444}.panel__header_row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.headerBtnGroup{display:flex;gap:6px}.headerBtn{font-size:10px;font-weight:700;padding:4px 8px;border-radius:6px;border:1px dashed var(--border2);background:transparent;color:var(--muted);cursor:pointer;transition:all .2s;line-height:1}.headerBtn:hover{color:#3b82f6;border-color:#3b82f6;background:#f8fafc}.taskList{flex:1;overflow-y:auto;scrollbar-gutter:stable;scrollbar-width:thin;display:flex;flex-direction:column;gap:8px;padding:4px 2px}.taskItem{display:flex;flex-direction:column;gap:4px;position:relative;min-width:0;background:#fff;border:1px solid transparent;border-radius:8px;padding:8px;transition:all .2s}.taskItem.dragging{z-index:100;box-shadow:0 5px 15px #0000001a;background:#fff;border-color:#e2e8f0}.taskItem:hover{background:#f8fafc}.taskItem.is-active{background:var(--task-active-bg, #F0F9FF);box-shadow:inset 3px 0 0 var(--task-accent, #3B82F6),inset -3px 0 0 var(--task-accent, #3B82F6)}.projectItem{margin-top:16px;margin-bottom:8px;padding-bottom:4px;border-bottom:2px solid #94A3B8;display:flex;align-items:center;gap:8px;background:transparent}.projectItem.dragging{z-index:100;box-shadow:0 5px 15px #0000001a;background:#fff;border:1px solid #E2E8F0;padding-left:4px}.projectNameInput{font-size:12px;font-weight:700;color:#475569;border:none;background:transparent;flex:1;outline:none;text-align:center;text-transform:none}.projectFilterBtn{background:transparent;border:none;cursor:pointer;color:#cbd5e1;padding:2px;border-radius:4px}.projectFilterBtn:hover{color:#3b82f6;background:#3b82f61a}.projectFilterBtn.active{color:#3b82f6}.taskHeaderRow{display:flex;align-items:center;gap:8px;width:100%}.dragHandle{color:#cbd5e1;cursor:grab;padding:4px 0;display:flex;align-items:center}.dragHandle:hover{color:#64748b}.dragHandle:active{cursor:grabbing}.taskColorDot{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.1);cursor:pointer;flex-shrink:0;transition:transform .2s}.taskColorDot:hover{transform:scale(1.1)}.taskControls{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.taskNameInput{flex:1;min-width:0;height:28px;padding:0 6px;font-size:13px;font-weight:600;font-family:inherit;background:transparent;border:1px solid transparent;border-radius:4px;outline:none;transition:border-color .2s;color:var(--text)}.taskNameInput:focus{border-color:#3b82f6;background:#fff}.taskNameInput:hover{border-color:var(--border)}.taskActionMenu{display:flex;gap:4px;margin-left:auto}.taskActionBtn{padding:4px;border-radius:4px;color:var(--muted);cursor:pointer;border:none;background:transparent;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .2s}.taskActionBtn:hover{opacity:1;background:#0000000d;color:var(--text)}.taskActionBtn.delete:hover{color:#ef4444;background:#fef2f2}.addTaskBtn{width:48%;padding:8px;border:1px dashed var(--border2);border-radius:8px;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;background:transparent;transition:all .2s}.addTaskBtn:hover{border-color:#3b82f6;color:#3b82f6;background:#3b82f60d}.addBtnGroup{display:flex;justify-content:space-between;margin-top:8px}.timerPanel{gap:10px;display:flex;flex-direction:column}.timerForm{display:flex;flex-direction:column;gap:8px}.timerLabelInput{width:100%;padding:8px;border-radius:8px;border:1px solid var(--border);font-size:13px}.timerLabelInput:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.timerTimeRow{display:grid;grid-template-columns:1fr auto 1fr auto auto;gap:6px;align-items:center}.timerNumber{width:100%;padding:8px;border-radius:8px;border:1px solid var(--border);text-align:center;font-size:13px}.timerNumber:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.timerTimeSep{font-size:12px;color:var(--muted);text-align:center}.timerAddBtn{padding:6px 8px;border-radius:8px;border:1px solid #F59E0B;background:#fbbf24;color:#111827;font-weight:700;font-size:12px;cursor:pointer}.timerAddBtn:hover{background:#f59e0b}.timerListPanel{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;scrollbar-gutter:stable}.timerItem{border:1px solid var(--border);border-radius:10px;padding:10px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px}.timerItem.is-armed{box-shadow:0 0 0 2px #0ea5e940;border-color:#0ea5e9}.timerLabelRow{display:flex;flex-direction:column;gap:4px}.timerLabel{font-weight:800;font-size:13px;color:var(--text)}.timerCountdown{font-family:monospace;font-weight:800;color:#0ea5e9}.timerActionBtns{display:flex;gap:6px}.timerAction{padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:#f8fafc;font-size:12px;font-weight:700;cursor:pointer}.timerAction.send{border-color:#0ea5e9;color:#0ea5e9;background:#e0f2fe}.timerAction.send:hover{background:#bae6fd}.timerAction.delete{border-color:#fecaca;color:#ef4444;background:#fef2f2}.timerAction.delete:hover{background:#fee2e2}.timerEmpty{color:var(--muted);font-size:12px;text-align:center;padding:6px 0}.timerHint{font-size:11px;font-weight:700;color:#0ea5e9}.colorPickerContent{display:flex;flex-direction:column;gap:16px}.colorInputRow{display:flex;align-items:center;gap:12px}.colorHexInput{flex:1;padding:8px;border:1px solid var(--border);border-radius:6px;font-family:monospace;text-transform:uppercase}.colorWarning{font-size:12px;padding:8px;background:#fef2f2;color:#b91c1c;border-radius:6px;display:flex;align-items:flex-start;gap:6px;line-height:1.4}.main{flex:1;display:flex;flex-direction:column;padding:clamp(12px,2.2vw,18px);gap:12px;min-width:0;overflow:hidden}.boardContainer{flex:1;overflow-y:auto;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:24px;padding-bottom:40px;transition:all .2s}.app:not(.mode-write) .boardContainer{border-radius:12px}.app:not(.mode-write) .cell__input{pointer-events:none}.weekBlock{border:1px solid var(--border);border-radius:var(--radius);background:#ffffffb3;box-shadow:var(--shadow);overflow:visible;transition:all .3s}.weekHeader{display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--panel2);border-bottom:1px solid var(--border);height:40px;position:relative;border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.weekDateWrapper{display:flex;align-items:center;gap:4px}.weekDateLabel{font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-top:1px}.weekDateInput{border:none;background:transparent;font-family:inherit;font-size:12px;color:#475569;font-weight:600;cursor:pointer;outline:none}.weekDateInput:focus{color:#3b82f6}.weekTitleInput{flex:0 0 300px;height:100%;border:none;background:transparent;outline:none;font-size:14px;font-weight:600;color:var(--text)}.weekTitleInput::placeholder{color:var(--muted);font-weight:500;opacity:.6}.weekSummaryWrapper{flex:1;position:relative;height:29px;overflow:hidden;display:flex;align-items:center;margin:0 12px}.weekSummaryWrapper.multiline{align-items:flex-start}.summaryBackdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9998;cursor:default}.summaryPopup{position:fixed;background:#fff;border:1px solid var(--border);border-radius:8px;padding:12px;box-shadow:0 10px 40px #0003;z-index:9999;display:flex;flex-direction:column;gap:6px;max-height:400px;overflow-y:auto;min-width:240px;animation:popIn .1s ease}.weekSummaryContent{display:flex;flex-wrap:wrap;gap:0px 10px;align-content:flex-start;width:100%}.summaryItem{font-size:12px;font-weight:800;padding:0;margin:0;white-space:nowrap;line-height:1.15;color:var(--text)}.summaryPopup .summaryItem{line-height:1.4;border-bottom:1px solid #F1F5F9;padding-bottom:2px}.moreBtn{position:absolute;bottom:0;right:0;background:linear-gradient(to right,transparent,white 20%);padding-left:12px;font-size:14px;font-weight:800;color:#3b82f6;cursor:pointer;line-height:1}.moreBtn:hover{color:#2563eb}.closeListBtn{align-self:flex-end;font-size:11px;font-weight:700;color:#94a3b8;cursor:pointer;margin-top:4px}.closeListBtn:hover{color:#64748b}.weekActions{display:flex;gap:8px}.weekActionBtn{font-size:11px;padding:6px 10px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer;font-weight:600;color:var(--muted)}.weekActionBtn:hover{background:#f1f5f9;color:var(--text)}.weekActionBtn.is-danger{color:#ef4444;border-color:#ef444433}.weekActionBtn.is-danger:hover{background:#fef2f2}.weekCollapseBtn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--border);background:#fff;border-radius:6px;cursor:pointer;color:var(--muted);transition:all .2s ease;margin-left:4px}.weekCollapseBtn:hover{background:#f1f5f9;color:var(--text)}.weekCollapseBtn svg{transition:transform .2s ease}.weekCollapseBtn.is-collapsed svg{transform:rotate(-90deg)}.weekBlock.is-collapsed{overflow:hidden}.weekBlock.is-collapsed .grid{display:none}.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:4px}.dayCol{display:flex;flex-direction:column;min-width:0}.dayCol:last-child{border-right:none}.dayCol__head{padding:8px;font-weight:800;font-size:12px;color:var(--text);border-bottom:1px solid var(--border);background:#0f172a05;text-align:center}.dayCol__cells{display:grid;grid-auto-rows:var(--cell-height);gap:6px;padding:4px;border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);overflow:visible;position:relative}.dayCol.is-day-done{background:transparent}.dayCol.is-day-done .dayCol__head{background:#f8fafc;color:var(--text)}.dayCol.is-day-done .dayCol__cells{background:transparent}.dayCol.is-day-done .dayCol__cells:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:999px;background:#93c5fd;pointer-events:none}.dayCol.is-day-done .cell.is-done{background-image:none}.dayCol.is-day-done .cell__doneMarker{display:none}.dayCol.is-day-done .cell.is-move-source{box-shadow:inset 0 0 0 3px #3b82f6!important}.confettiBurst{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:8}.confettiPiece{position:absolute;top:0;width:8px;height:12px;border-radius:2px;opacity:0;animation:confetti-fall 1.6s linear forwards;transform:translate3d(0,-10px,0) rotate(var(--r));background:var(--c);left:var(--x);animation-delay:var(--d);will-change:transform,opacity}.confettiPiece:nth-child(1){--c: #60A5FA}.confettiPiece:nth-child(2){--c: #34D399}.confettiPiece:nth-child(3){--c: #FBBF24}.confettiPiece:nth-child(4){--c: #F87171}.confettiPiece:nth-child(5){--c: #A78BFA}.confettiPiece:nth-child(6){--c: #38BDF8}.confettiPiece:nth-child(7){--c: #F472B6}.confettiPiece:nth-child(8){--c: #FB923C}.confettiPiece:nth-child(9){--c: #22C55E}.confettiPiece:nth-child(10){--c: #93C5FD}.confettiPiece:nth-child(11){--c: #FDE047}.confettiPiece:nth-child(12){--c: #FCA5A5}.cell{border:1px solid rgba(15,23,42,.08);border-radius:10px;background:#ffffffd9;box-shadow:0 1px 2px #0f172a0f,0 4px 10px #0f172a0d;height:var(--cell-height);display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:0;cursor:text;padding:0 6px;position:relative;outline:1px solid rgba(255,255,255,.6);outline-offset:-1px;background-clip:padding-box;overflow:visible}.cell.is-move-source{box-shadow:inset 0 0 0 3px #3b82f6!important;z-index:10}.cell.is-highlight{box-shadow:inset 0 2px #f59e0b00,inset 0 -2px #f59e0b00;z-index:12;animation:highlightStroke 1.6s ease-in-out forwards}.app.mode-timer-send .cell{cursor:crosshair}.cell.is-timer-target,.cell.is-timer-target:hover{box-shadow:none}.cell.is-done{background-color:#ffffffd9!important;background-image:linear-gradient(to right,#93C5FD 3px,transparent 3px)}.cell.is-done.is-move-source{box-shadow:inset 0 0 0 3px #3b82f6!important}.cell__doneMarker{position:absolute;top:2px;left:2px;width:14px;height:14px;color:#10b981;z-index:5;pointer-events:none}.cell.is-ongoing{background-image:linear-gradient(to right,#F59E0B 3px,transparent 3px)}.cell.is-ongoing.is-move-source{box-shadow:inset 0 0 0 3px #3b82f6!important}.noteTooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#fff;border:1px solid var(--border2);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:8px 12px;z-index:200;min-width:150px;max-width:500px;pointer-events:none;font-size:12px;text-align:left;line-height:1.4;margin-bottom:8px;animation:fadeIn .2s ease;white-space:pre-wrap;word-wrap:break-word;overflow:visible}.tooltipRow{margin-bottom:4px}.tooltipRow:last-child{margin-bottom:0}.tooltipDot{margin-right:6px;display:inline-block;vertical-align:middle;box-shadow:0 0 0 1px #0000000d}.cell.hover-action:hover{box-shadow:inset 0 -2px #c9a337}.app.mode-ongoing .cell.hover-action:hover,.app.mode-done .cell.hover-action:hover,.app.mode-paint .cell.hover-action:hover,.app.mode-add-row .cell.hover-action:hover,.app.mode-del-row .cell.hover-action:hover,.app.mode-erase .cell.hover-action:hover,.app.mode-move .cell.hover-action:hover,.app.mode-notes .cell.hover-action:hover{box-shadow:none}.cell:last-child{border-bottom:1px solid var(--border)}.cell__input{width:100%;resize:none;border:none;background:transparent;outline:none;font-family:inherit;font-size:var(--cell-font);font-weight:600;line-height:var(--cell-line-height);text-align:center;white-space:pre-wrap;word-break:break-word;display:block;max-height:3.6em;overflow:hidden}.cell__input:focus{border-radius:4px;box-shadow:0 0 0 2px #3b82f626;max-height:none;overflow:visible;z-index:20;background:#fff}.cell__noteMarkers{position:absolute;top:4px;right:4px;display:flex;gap:2px;z-index:5}.noteDot{width:6px;height:6px;border-radius:50%;box-shadow:0 0 0 1px #fffc}.noteDot.std{background-color:#1f2937}.noteDot.grn{background-color:#10b981}.noteDot.red{background-color:#ef4444}.cellTimerTag{position:absolute;right:4px;bottom:4px;padding:3px 6px;border-radius:999px;background:#0ea5e91f;border:1px solid rgba(14,165,233,.4);display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;cursor:pointer;z-index:6}.cellTimerTime{font-family:monospace;color:#0ea5e9}.cellTimerDelete{color:#ef4444;font-weight:800}.cell__ongoingMarker{position:absolute;top:6px;left:6px;width:10px;height:10px;background:#f59e0b;border:1px solid rgba(0,0,0,.06);z-index:6;box-shadow:0 0 0 1px #fff9 inset}.cell.is-ongoing .cell__ongoingMarker.hollow{background:transparent;box-shadow:none;border:2px solid #F59E0B}.emptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px;color:var(--muted)}@keyframes highlightStroke{0%{box-shadow:inset 0 2px #f59e0b00,inset 0 -2px #f59e0b00}15%{box-shadow:inset 0 2px #f59e0be6,inset 0 -2px #f59e0be6}85%{box-shadow:inset 0 2px #f59e0be6,inset 0 -2px #f59e0be6}to{box-shadow:inset 0 2px #f59e0b00,inset 0 -2px #f59e0b00}}@keyframes popIn{0%{transform:scale(.9)}to{transform:scale(1)}}@keyframes confetti-fall{0%{transform:translate3d(0,-10px,0) rotate(var(--r));opacity:1}50%{opacity:1}80%{opacity:.35}to{transform:translate3d(0,var(--endY, 300px),0) rotate(calc(var(--r) + 180deg));opacity:0}}@media(max-width:860px){.app{flex-direction:column}.sidebar{width:100%!important;flex:0 0 auto!important;border-right:none;border-bottom:1px solid var(--border)}.sidebar__resizer,.sidebar__collapseToggle{display:none}.main{padding-top:12px}.grid{min-width:820px}.board{overflow:auto}}.mobile-menu-toggle{display:none;position:fixed;top:12px;left:12px;z-index:1001;background:var(--bg);border:1px solid var(--border);border-radius:8px;width:44px;height:44px;cursor:pointer;padding:10px;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.mobile-menu-toggle:hover{background:var(--hover);transform:scale(1.05)}.mobile-menu-toggle svg{color:var(--text)}.mobile-menu-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:999}@media(max-width:768px){.mobile-menu-toggle{display:flex;align-items:center;justify-content:center}.mobile-menu-backdrop{display:block}.app{flex-direction:column}.app.sidebar-open{overflow:hidden;position:fixed;width:100%;height:100%}.app .sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;height:100vh;z-index:1000;transform:translate(-100%);transition:transform .3s ease;box-shadow:2px 0 8px #00000026;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.app .sidebar.is-mobile-open{transform:translate(0)}.app .sidebar__inner{min-height:auto;overflow-y:visible;padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}.app .main{width:100%;margin-left:0;padding-top:60px;padding-left:10px;padding-right:10px}.weekBlock{background:#fff;min-width:700px}.boardContainer{overflow-x:auto;-webkit-overflow-scrolling:touch}.grid{min-width:700px;background:#fff}.taskPanel{max-height:40vh;overflow-y:auto}.actionGrid{gap:6px}.actionBtn{padding:8px;font-size:13px}.timerForm{flex-direction:column;gap:8px}.timerForm input{width:100%}.week__header{flex-wrap:wrap;gap:8px}.week__title{font-size:16px}.modalBox{width:90%;max-width:400px;margin:20px}.navPanel{margin-top:auto}}@media(max-width:480px){.mobile-menu-toggle{top:8px;left:8px;width:40px;height:40px}.app .sidebar{width:220px}.app .main{padding-top:56px}.gridTable td,.gridTable th{min-width:40px;font-size:12px}.week__title{font-size:14px}.actionBtn{padding:6px;font-size:12px}}.labnotesActionList{display:flex;flex-direction:column;gap:10px}.labnotesActionList .actionBtn{width:100%}.labnotesActionRow{display:flex;align-items:center;justify-content:space-between;gap:10px}.labnotesActionRow--inline{gap:8px}.labnotesActionRow--inline .actionBtn{flex:1 1 0;width:auto;min-width:0;padding:8px 4px}.labnotesActionRow--inline .labnotesActionText{margin-left:2px;white-space:nowrap}.labnotesActionShowHidden{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.modalOverlay.labnotesFindOverlay{display:block!important;padding-top:clamp(24px,7vh,72px);padding-bottom:20px;overflow-y:auto}.modalOverlay.labnotesFindOverlay .modalBox.labnotesFindModal{width:min(1200px,calc(100vw - 24px))!important;max-width:min(1200px,calc(100vw - 24px))!important;height:min(86vh,820px);max-height:min(86vh,820px);margin:0 auto;text-align:left;padding:20px 18px 16px;display:flex;flex-direction:column;gap:10px}.modalOverlay.labnotesExportOverlay{display:block!important;padding-top:clamp(24px,7vh,72px);padding-bottom:20px;overflow-y:auto}.modalOverlay.labnotesExportOverlay .modalBox.labnotesExportModal{width:min(980px,calc(100vw - 24px))!important;max-width:min(980px,calc(100vw - 24px))!important;max-height:min(92vh,920px);margin:0 auto;text-align:left;padding:20px 18px 16px;display:flex;flex-direction:column;gap:12px}.labnotesExportBody{display:flex;flex-direction:column;gap:12px;overflow:auto;padding-right:2px;min-height:0}.labnotesExportSection{border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.labnotesExportSectionTitle{font-size:12px;font-weight:700;color:#374151}.labnotesExportRadioRow{display:flex;flex-wrap:wrap;gap:12px}.labnotesExportOption{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#111827;font-weight:600}.labnotesExportOption input{margin:0}.labnotesExportSelectRow{display:flex;align-items:center}.labnotesExportSelect{width:100%;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;font-size:13px;font-weight:600;padding:8px 10px;outline:none}.labnotesExportSelect:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61f}.labnotesExportSubRow{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.labnotesExportSubLabel{font-size:12px;color:#6b7280;font-weight:700}.labnotesExportActions{margin-top:auto}.labnotesExportActions .modalBtn[disabled]{opacity:.5;cursor:not-allowed}.labnotesExportPreview{height:min(280px,32vh);border:1px solid #d1d5db;border-radius:8px;background:#fff;overflow:auto;padding:10px}.labnotesExportPreviewInner{min-height:100%;-webkit-user-select:none;user-select:none}.labnotesExportPreviewInner *{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}.labnotesExportPreviewInner .labnotesOutcomeImageWrap{resize:none!important}.labnotesExportPreviewInner img{max-width:100%!important;width:auto!important;height:auto!important;display:block;pointer-events:none;-webkit-user-drag:none;user-drag:none}.labnotesExportToast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:12000;background:#111827;color:#fff;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:700;box-shadow:0 10px 24px #11182740;pointer-events:none}.labnotesFindTop{flex:0 0 auto;display:flex;flex-direction:column;gap:10px}.labnotesFindInput{width:100%;height:40px;min-height:40px;max-height:40px;flex:0 0 40px;border:1px solid #d1d5db;border-radius:10px;padding:0 12px;font-size:14px;color:#111827;outline:none}.labnotesFindInput:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.labnotesFindMeta{flex:0 0 18px;min-height:18px;max-height:18px;font-size:12px;font-weight:600;color:#6b7280;overflow:hidden}.labnotesFindFilters{flex:0 0 170px;min-height:170px;max-height:170px;border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px;background:#fff;overflow:auto}.labnotesFindFiltersTitle{font-size:12px;font-weight:700;color:#374151}.labnotesFindFilterActions{display:flex;gap:12px;margin-top:6px}.labnotesFindFilterLink{border:none;background:transparent;color:#2563eb;font-size:12px;font-weight:600;cursor:pointer;padding:0}.labnotesFindFilterLink:hover{text-decoration:underline}.labnotesFindFilterGrid{margin-top:8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.labnotesFindFilterItem{display:flex;align-items:center;gap:6px;border:1px solid #e5e7eb;border-radius:8px;padding:6px 8px;background:#f9fafb}.labnotesFindFilterItem input[type=checkbox]{margin:0}.labnotesFindFilterLabel{font-size:12px;color:#111827;font-weight:600;white-space:normal;overflow-wrap:anywhere}.labnotesFindFilterCount{margin-left:auto;font-size:11px;color:#6b7280;font-weight:700}.labnotesFindAssistRow{margin-top:8px;display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap}.labnotesFindAssistText{font-size:12px;color:#6b7280;font-weight:600}@media(max-width:900px){.labnotesFindFilterGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.labnotesFindFilterGrid{grid-template-columns:minmax(0,1fr)}}.labnotesFindList{flex:1 1 auto;min-height:140px;max-height:none;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.labnotesFindEmpty{color:#6b7280;font-size:13px;padding:16px;text-align:center}.labnotesFindItem{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px}.labnotesFindItemTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.labnotesFindItemMeta{display:flex;align-items:center;gap:8px;font-size:12px;color:#4b5563;flex-wrap:wrap;min-width:0}.labnotesFindBadge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;padding:2px 8px;font-weight:700}.labnotesFindSnippet{font-size:13px;color:#111827;line-height:1.45}.labnotesFindJumpBtn{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;flex:0 0 auto}.labnotesFindJumpBtn:hover{background:#dbeafe}.labnotesInkHeader{display:flex;flex-direction:column;gap:6px;margin-top:4px}.labnotesInkTitle{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;text-align:center}.labnotesInkDivider{height:1px;background:#e5e7eb;width:100%}.labnotesInkRow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.labnotesInkBtn{text-align:center;border:1px solid #e5e7eb;background:#0f172a08;padding:8px 4px;border-radius:8px;font-size:12px;font-weight:600;color:#111827;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s;justify-content:center}.labnotesInkBtn:hover{background:#0f172a0f}.labnotesInkBtn.is-active{background:#fff;border-color:#3b82f6;color:#3b82f6;box-shadow:0 1px 3px #3b82f626}.labnotesInkDot{width:8px;height:8px;border-radius:999px;background:#111827}.labnotesInkDot.is-standard{background:#111827}.labnotesInkDot.is-green{background:#10b981}.labnotesInkDot.is-red{background:#ef4444}.labnotesActionText{font-size:13px;font-weight:600;color:#111827}.labnotesActionText.is-green{color:#10b981}.labnotesActionText.is-red{color:#ef4444}.labnotesProjectHeader{margin-top:16px;margin-bottom:8px;border-bottom:2px solid #94A3B8;display:flex;align-items:center;gap:8px;background:transparent;transition:background .15s,border-color .15s;border-radius:6px 6px 0 0;padding:6px 8px 4px}.labnotesProjectHeader:hover{background:#4755690f}.labnotesProjectHeader.is-active{background:#3b82f614;border-bottom-color:#3b82f6}.labnotesProjectHeader.is-active>div:first-child{color:#3b82f6}.labnotesProjectHeader>div:first-child{font-size:12px;font-weight:700;color:#475569;flex:1;text-align:center;min-width:0;white-space:nowrap;overflow:hidden}.labnotesProjectDivider{display:none}.labnotesArchivedBlock{margin-top:8px}.labnotesArchivedToggle{border:none;background:none;padding:0;cursor:pointer;display:flex;width:100%;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#9ca3af;margin:8px 0 4px;text-transform:none;letter-spacing:.02em;text-align:left}.labnotesArchivedToggle--uncategorized{border-top:1px solid #E2E8F0;padding-top:6px;margin-top:14px}.labnotesArchivedList{margin-top:8px}.labnotesArchivedArrow{display:inline-block;transition:transform .15s ease}.labnotesArchivedToggle.is-open .labnotesArchivedArrow{transform:rotate(90deg)}.labnotesArchivedGroup{margin-top:6px}.labnotesArchivedGroupTitle{font-size:11px;font-weight:800;color:#475569;margin-top:12px;margin-bottom:6px;padding-bottom:2px;border-bottom:1px solid #E2E8F0;letter-spacing:.05em;text-align:center}.labnotesTaskLabel{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:var(--text);display:block;line-height:28px;padding:0 6px;text-align:left}.labnotesTaskGroup{display:flex;flex-direction:column;gap:8px}.labnotesTableWrap{height:100%;display:flex;flex-direction:column;gap:12px}.labnotesImageModal{max-width:none;max-height:none;padding:16px}.labnotesImageModalBody{display:flex;justify-content:center;align-items:center;width:100%;height:100%;overflow:hidden}.labnotesImageModalBody img{max-width:100%;max-height:100%;height:auto;width:auto;border-radius:6px}.labnotesHeader{display:flex;align-items:center;gap:12px}.labnotesHeaderLeft{display:flex;align-items:baseline;gap:10px}.labnotesTitle{font-size:20px;font-weight:700;color:#111827}.labnotesDateRange{font-size:12px;color:#6b7280;white-space:nowrap}.labnotesExportBtn{margin-left:auto;padding:6px 12px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;font-size:12px;font-weight:600;cursor:pointer;color:#111827}.labnotesExportBtn:hover{background:#f9fafb}.labnotesBriefInput{width:100%;min-height:36px;padding:8px 10px;border-radius:8px;border:1px solid #e5e7eb;font-size:13px;color:#111827;background:#fff;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;overflow:hidden}.labnotesBriefInput:focus{outline:2px solid rgba(59,130,246,.3);border-color:#93c5fd}.labnotesBriefInput.is-find-highlight{animation:findBriefPulse 1.6s ease-in-out;outline:2px solid rgba(245,158,11,.75);border-color:#f59e0bcc;background:#f59e0b14}.labnotesBriefInput:empty:before{content:attr(data-placeholder);color:#9ca3af}.labnotesTableScroll{flex:1;overflow:auto;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.labnotesTable{table-layout:fixed;border-collapse:collapse;width:100%}.labnotesTable th,.labnotesTable td{border-bottom:1px solid #e5e7eb;padding:10px 12px;font-size:13px;vertical-align:top;line-height:1.4}.labnotesTable th{background:#f9fafb;text-align:left;font-weight:600;position:relative;-webkit-user-select:none;user-select:none}.colResizer{position:absolute;right:0;top:0;width:6px;height:100%;cursor:col-resize}.colResizer:after{content:"";position:absolute;right:2px;top:20%;width:1px;height:60%;background:#00000014}.labnotesCell{color:#111827}.labnotesDateCell{position:relative}.labnotesRow.is-unimportant td{color:#9ca3af;background:#fcfcfd}.labnotesRow.is-unimportant .labnotesOutcomeInput{background:#fcfcfd;border-color:#e5e7eb}.labnotesRow.is-highlight td{background:#f59e0b14;box-shadow:inset 0 2px #f59e0b00,inset 0 -2px #f59e0b00;animation:highlightStroke 1.6s ease-in-out forwards}.labnotesRow.is-highlight .labnotesOutcomeInput{background:transparent;border-color:transparent}.app.mode-labnotes-hide,.app.mode-labnotes-hide .labnotesTable,.app.mode-labnotes-hide .labnotesGanttBar{cursor:no-drop}.app.mode-labnotes-hide .labnotesTableScroll,.app.mode-labnotes-hide .labnotesGanttPane{outline:3px solid rgba(168,85,247,.5);outline-offset:0;box-shadow:0 0 20px #a855f733;background-color:#faf5ff80}.labnotesTable.is-marking td{-webkit-user-select:none;user-select:none}.labnotesTable.is-marking .labnotesOutcomeInput{pointer-events:none}.labnotesNotes{white-space:pre-wrap;color:#374151}.labnotesNoteLine{margin-bottom:2px}@keyframes highlightStroke{0%{box-shadow:inset 0 2px #f59e0b00,inset 0 -2px #f59e0b00}15%{box-shadow:inset 0 2px #f59e0bbf,inset 0 -2px #f59e0bbf}85%{box-shadow:inset 0 2px #f59e0bbf,inset 0 -2px #f59e0bbf}to{box-shadow:inset 0 2px #f59e0b00,inset 0 -2px #f59e0b00}}@keyframes findBriefPulse{0%{outline-color:#f59e0b00;border-color:#f59e0b1a;background:#f59e0b05}15%{outline-color:#f59e0bbf;border-color:#f59e0bcc;background:#f59e0b1f}85%{outline-color:#f59e0bbf;border-color:#f59e0bcc;background:#f59e0b1f}to{outline-color:#f59e0b00;border-color:#f59e0b1a;background:#f59e0b05}}.labnotesNoteLine:last-child{margin-bottom:0}.noteStd{color:#1f2937}.noteGrn{color:#10b981}.noteRed{color:#ef4444}.labnotesOutcomeInput{width:100%;min-height:32px;border:1px solid #d1d5db;border-radius:6px;padding:6px 8px;font:inherit;line-height:1.4;background:#fff;white-space:pre-wrap;overflow-wrap:anywhere}.labnotesOutcomeInput:empty:before{content:attr(data-placeholder);color:#9ca3af}.labnotesOutcomeImageWrap{display:inline-block;resize:both;overflow:hidden;max-width:100%;border-radius:6px;border:1px solid #e5e7eb;background:#fff;margin:0 6px 6px 0;vertical-align:top}.labnotesOutcomeImage{display:block;width:100%;height:auto;max-width:none;max-height:none}.labnotesOutcomeInput:focus{outline:2px solid rgba(59,130,246,.35);border-color:#93c5fd}.labnotesEmptyRow{text-align:center;color:#6b7280;padding:18px 12px}.userMenuPopover{position:absolute;top:40px;left:0;width:260px;background:#fff;border:1px solid var(--border);box-shadow:0 10px 15px -3px #0000001a;border-radius:12px;padding:12px;z-index:100;animation:popIn .15s ease;cursor:default}.userMenuLabel{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase}.renameInput{flex:1;border:1px solid var(--border);padding:4px 8px;border-radius:6px;font-size:13px;width:100%}.renameInput:focus{border-color:#3b82f6;background:#f8fafc}.renameBtn{padding:4px 8px;border:1px solid var(--border);border-radius:6px;font-size:12px;cursor:pointer;background:#f8fafc}.userMenuDivider{height:1px;background:var(--border);margin:8px 0}.labnotesProjectView{display:flex;flex-direction:column;height:100%}.labnotesProjectBottom{flex:1;display:flex;gap:0;min-height:0;border:1px solid #e5e7eb;border-radius:10px;background:#fff;overflow:hidden}.labnotesGanttPane{flex:2;min-width:0;overflow:auto;border-right:1px solid #e5e7eb;position:relative}.labnotesGanttScroll{overflow:auto;width:100%;height:100%;padding:8px 0}.labnotesGanttChart{position:relative;min-width:100%}.labnotesGanttDate{font-size:11px;font-weight:600;color:#9ca3af;text-align:right;padding-right:8px;white-space:nowrap;-webkit-user-select:none;user-select:none}.labnotesGanttGridLine{background:#f1f5f9;pointer-events:none}.labnotesGanttBar{border-radius:5px;padding:4px 8px;font-size:12px;font-weight:600;overflow:visible;transition:box-shadow .15s,filter .15s;display:flex;align-items:flex-start}.labnotesGanttBarDragHandle{position:absolute;top:0;left:-1px;width:8px;height:100%;cursor:grab;z-index:7;border-radius:5px 0 0 5px}.labnotesGanttBarDragHandle:hover{background:#00000014}.labnotesGanttBarDragHandle:active{cursor:grabbing}.labnotesGanttBar:hover{box-shadow:0 2px 8px #0000001f;filter:brightness(.97)}.labnotesGanttBar.is-active{border:3px solid var(--gantt-bar-hex, currentColor);padding:1px 5px;z-index:2}.labnotesGanttBarLabel{overflow:hidden;text-overflow:ellipsis;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;white-space:normal;word-break:break-all;width:100%;-webkit-user-select:none;user-select:none;pointer-events:none}.labnotesGanttConnDot{position:absolute;bottom:-7px;left:50%;transform:translate(-50%);width:14px;height:14px;border-radius:50%;background:#374151;cursor:grab;opacity:0;transition:opacity .15s;z-index:5}.labnotesGanttBar:hover .labnotesGanttConnDot,.labnotesGanttConnDot.is-dragging{opacity:1}.labnotesGanttConnDot:hover{background:#111827;transform:translate(-50%) scale(1.25)}.labnotesGanttSvgOverlay{position:absolute;top:0;left:0;pointer-events:none;z-index:1}.labnotesGanttSvgOverlay .gantt-link-line{fill:none;stroke:#c8cdd3;stroke-width:1.5}.labnotesGanttSvgOverlay .gantt-link-arrow{fill:#c8cdd3;stroke:none}.labnotesGanttSvgOverlay .gantt-link-source-dot{fill:#c8cdd3;stroke:#c8cdd3}.labnotesGanttSvgOverlay .gantt-link-line-dragging{fill:none;stroke:#3b82f6;stroke-width:2;stroke-dasharray:6 3}.labnotesGanttArrowHandle{position:absolute;width:20px;height:20px;cursor:grab;z-index:6}.labnotesGanttArrowHandle:hover{filter:brightness(.7)}.labnotesGanttBar.is-reordering{opacity:.6;z-index:10}.labnotesGanttBar.is-gantt-hidden{outline:2px dashed rgba(168,85,247,.5);outline-offset:-2px}.labnotesGanttEmpty{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-size:13px}.labnotesGanttPreview{flex:1;min-width:0;overflow:auto;display:flex;flex-direction:column}.labnotesGanttPreviewContent{display:flex;flex-direction:column;gap:10px;padding:16px;height:100%;overflow:hidden}.labnotesGanttPreviewTitle{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.labnotesGanttPreviewBrief{min-height:36px;max-height:40%;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;font-size:13px;color:#111827;background:#fafbfc;cursor:default;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;flex-shrink:0}.labnotesGanttPreviewBriefEmpty{color:#9ca3af}.labnotesGanttPreviewEmpty{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-size:13px;padding:16px;text-align:center}.labnotesGanttPreviewTable{flex:1;min-height:0;overflow:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.labnotesGanttMiniTable{width:100%;border-collapse:collapse;table-layout:fixed}.labnotesGanttMiniTable th{position:sticky;top:0;background:#f9fafb;font-size:12px;font-weight:700;color:#6b7280;text-align:left;padding:6px 10px;border-bottom:1px solid #e5e7eb;text-transform:uppercase;letter-spacing:.04em}.labnotesGanttMiniTable th:first-child{width:90px}.labnotesGanttMiniRow{transition:background .1s}.labnotesGanttMiniRow:hover{background:#f8fafc}.labnotesGanttMiniDate{font-size:13px;color:#6b7280;padding:5px 10px;border-bottom:1px solid #f1f5f9;white-space:nowrap;vertical-align:top}.labnotesGanttMiniAction{font-size:13px;color:#111827;padding:5px 10px;border-bottom:1px solid #f1f5f9;vertical-align:top;word-break:break-word}.labnotesGanttMiniEmpty{text-align:center;color:#9ca3af;padding:12px 10px;font-size:13px}.homeContainer{min-height:100vh;width:100vw;display:flex;justify-content:center;align-items:flex-start;padding:60px 0;background:radial-gradient(1200px 700px at 10% 10%,rgba(96,165,250,.22),transparent 60%),radial-gradient(900px 600px at 85% 20%,rgba(253,224,71,.18),transparent 60%),radial-gradient(900px 600px at 60% 90%,rgba(134,239,172,.16),transparent 60%),#f6f7fb}.homeLayout{width:min(1100px,95vw);display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:center;animation:popIn .4s ease}.homeRight{display:flex;flex-direction:column;gap:16px;align-items:center;margin-top:-6px}.homeBrand{display:flex;align-items:center;gap:16px;justify-content:center;background:transparent;border:none;border-radius:0;padding:0 0 8px;box-shadow:none;text-align:center}.homeBrand__logo{width:122px;height:122px;object-fit:contain;border-radius:18px;background:linear-gradient(135deg,#3b82f624,#3b82f60f);box-shadow:0 12px 28px -12px #2563eb73}.homeBrand__text{display:flex;flex-direction:column;gap:6px;align-items:center}.homeBrand__name{font-size:36px;font-weight:950;letter-spacing:.14em;color:#0f172a}.homeBrand__sub{font-size:15px;font-weight:700;color:#d97706;letter-spacing:.03em}.hero{background:#ffffffd9;border:1px solid rgba(255,255,255,.5);border-radius:24px;padding:56px 48px;box-shadow:0 20px 40px -10px #00000014}.heroTag{font-size:15px;font-weight:700;color:#1f2937;letter-spacing:0;text-transform:none;margin-bottom:24px;text-align:center}.heroTitle{font-size:clamp(28px,2.8vw,36px);font-weight:800;color:#0f172a;letter-spacing:-.02em;margin:0 0 10px;white-space:nowrap}.heroBody{font-size:15px;line-height:1.6;color:#1e293b;margin:0 0 12px}.heroSubhead{font-size:15px;font-weight:700;color:#1f2937;margin:0 0 30px;text-align:center}.heroSubtitle{font-size:18px;font-weight:700;color:#2563eb;margin:30px 0 0;text-align:center}.homePanel{display:flex;flex-direction:column;gap:16px}.homeLoginCard{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-radius:16px;border:1px solid rgba(255,255,255,.6);background:#ffffffe6;box-shadow:0 12px 24px -12px #0000001f;position:relative}.loginLabel{font-size:14px;font-weight:800;color:#0f172a;margin:0 0 4px}.loginHint{font-size:13px;color:#64748b;margin:0}.loginLoggedIn{display:flex;align-items:center;gap:12px;width:100%}.loginLoggedOut{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.loginAvatar{width:36px;height:36px;border-radius:12px;background:#e0f2fe;color:#0369a1;display:flex;align-items:center;justify-content:center;font-weight:800}.loginText{flex:1}.loginCaret{border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:6px 10px;cursor:pointer;font-weight:800;color:#0f172a}.loginCaret.is-open{border-color:#2563eb;color:#2563eb}.loginCaretWrapper{position:relative}.homeUserMenu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 30px -12px #0000002e;padding:8px;display:flex;flex-direction:column;gap:6px;z-index:20}.homeMenuBtn{padding:8px 10px;border:none;background:transparent;text-align:left;font-weight:700;color:#0f172a;border-radius:8px;cursor:pointer}.homeMenuBtn:hover{background:#f8fafc}.loginBtn{padding:10px 16px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .2s ease;box-shadow:0 8px 16px -10px #2563eb99}.loginBtn:hover{background:#1d4ed8;transform:translateY(-1px)}.navSection{background:#ffffffe6;border:1px solid rgba(255,255,255,.6);border-radius:16px;padding:18px;box-shadow:0 12px 30px -14px #0000001f;display:flex;flex-direction:column;gap:12px}.navSectionLabel{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;padding:0 2px}.navGrid{display:grid;gap:12px}.navGrid.single{grid-template-columns:1fr}.navGrid.duo{grid-template-columns:repeat(2,1fr)}.navGrid.trio{grid-template-columns:1fr}.contactCard{background:#ffffffe6;border:1px solid rgba(255,255,255,.6);border-radius:16px;padding:14px 16px;box-shadow:0 12px 24px -14px #0000001f;text-align:center}.contactTitle{margin:0 0 4px;font-size:13px;font-weight:800;letter-spacing:.02em;color:#0f172a}.contactBody{margin:0;font-size:13px;color:#475569;line-height:1.5}.contactEmail{color:#2563eb;font-weight:700}.homeAuthOverlay{position:fixed;inset:0;background:#0f172a66;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999}.homeAuthModal{position:relative;background:#fff;padding:24px;border-radius:16px;width:340px;box-shadow:0 20px 40px -12px #0003}.homeAuthModal h3{margin:0 0 12px;font-size:18px;font-weight:800;color:#0f172a}.homeAuthForm{display:flex;flex-direction:column;gap:10px}.homeAuthForm label{font-size:12px;font-weight:700;color:#475569}.homeAuthForm input{padding:10px 12px;border-radius:10px;border:1px solid #e2e8f0;font-size:14px}.homeAuthForm input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.homeAuthMsg{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:8px;border-radius:8px;font-size:12px}.closeAuth{position:absolute;top:10px;right:10px;border:none;background:transparent;font-size:18px;cursor:pointer;color:#94a3b8}.closeAuth:hover{color:#0f172a}.navCard{display:flex;align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px 20px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-align:left;min-height:72px}.navCard:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 10px 15px -3px #3b82f61a,0 4px 6px -4px #3b82f61a}.navIcon{font-size:24px;margin-right:16px;background:#f1f5f9;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px}.navIconImg{width:28px;height:28px;object-fit:contain}.navText{flex:1}.navText h3{font-size:16px;font-weight:700;color:#334155;margin:0 0 2px}.navText p{font-size:13px;color:#94a3b8;margin:0}.arrow{font-size:18px;color:#cbd5e1;font-weight:600;transition:transform .2s}.navCard:hover .arrow{color:#3b82f6;transform:translate(4px)}@media(max-width:768px){.homeContainer{padding:30px 0}.homeLayout{display:flex;flex-direction:column;gap:32px;width:90vw}.homeLayout{display:grid!important;grid-template-columns:1fr;gap:24px;width:90vw}.homePanel,.homeRight{display:contents}.homeBrand{order:1}.navSection{order:2}.navSectionLabel{order:3}.navGrid.trio{order:4}.homeLoginCard{order:5}.hero{order:6}.contactCard{order:7}.homeBrand{flex-direction:column;gap:12px;padding-bottom:0}.homeBrand__logo{width:100px;height:100px}.homeBrand__name{font-size:28px}.homeBrand__sub{font-size:13px}.hero{padding:24px 20px}.heroTag{font-size:15px;margin-bottom:20px}.heroSubhead{font-size:15px;line-height:1.5;margin:0 0 24px}.heroSubtitle{font-size:14px}.navCard{padding:18px}.navIcon{width:44px;height:44px;font-size:22px;margin-right:14px}.navText h3{font-size:15px}.navText p{font-size:12px}.navGrid.duo{grid-template-columns:1fr}.homeLoginCard,.contactCard{padding:20px}.contactTitle{font-size:15px}.contactBody{font-size:13px}}@media(max-width:480px){.homeContainer{padding:20px 0}.homeLayout{width:92vw;gap:24px}.homeBrand__logo{width:80px;height:80px}.homeBrand__name{font-size:24px}.homeBrand__sub{font-size:12px}.hero{padding:20px 16px}.heroTag{font-size:14px;margin-bottom:18px}.heroSubhead{font-size:14px;margin:0 0 22px}.heroSubtitle{font-size:13px}.navCard{padding:16px}.navIcon{width:40px;height:40px;font-size:20px;margin-right:12px}.navText h3{font-size:14px}.navText p{font-size:11px}}.app-sidebar{width:280px;flex:0 0 280px;border-right:1px solid rgba(15,23,42,.1);background:#fff9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;position:sticky;top:0;height:100vh;overflow-y:auto}.app-sidebar__inner{min-height:100%;display:flex;flex-direction:column;padding:16px;gap:16px}.app-sidebar .panel{padding:12px;border:1px solid rgba(15,23,42,.1);border-radius:16px;background:#ffffffeb;box-shadow:0 10px 26px #0f172a14}.sidebar-brand{display:flex;flex-direction:column;justify-content:center}.sidebar-brand__row{display:flex;justify-content:space-between;align-items:center;width:100%;height:28px}.sidebar-brand__title{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;display:flex;align-items:center;gap:4px;color:#0f172aeb}.sidebar-brand__userWrapper{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.sidebar-brand__actions{display:flex;align-items:center;gap:10px}.sidebar-navBtn{font-size:11px;font-weight:700;padding:5px 10px;border-radius:5px;border:1px solid #3B82F6;background:#3b82f6;color:#fff;cursor:pointer;transition:all .2s;line-height:1}.sidebar-navBtn:hover{background:#2563eb}.syncIconBtn{width:24px;height:24px;border-radius:5px;border:1px solid var(--border, rgba(15,23,42,.12));background:#0f172a08;color:var(--text, #0f172a);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.syncIconBtn:hover:not(:disabled){background:#fff;color:#3b82f6;border-color:#3b82f6;box-shadow:0 1px 2px #3b82f626}.syncIconBtn:disabled{opacity:.5;cursor:wait}.sidebar-guestAlert{margin-top:12px;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;padding:10px;color:#b91c1c;font-size:12px;font-weight:700;text-align:center;line-height:1.4;box-shadow:0 2px 4px #dc26260d;animation:fadeIn .3s ease}.sidebar-nav-panel{flex:1;display:flex;flex-direction:column}.sidebar-panel__title{font-size:11px;font-weight:700;color:#64748b;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.sidebar-nav-list{display:flex;flex-direction:column;gap:6px}.sidebar-nav-divider{height:1px;background:#0f172a1a;margin:4px 0}.sidebar-nav-item{width:100%;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:transparent;cursor:pointer;font-size:14px;font-weight:600;color:#0f172abf;transition:all .15s ease;white-space:nowrap}.sidebar-nav-item:hover{background:#3b82f614;color:#3b82f6}.sidebar-nav-item.is-active{background:#3b82f61f;color:#3b82f6;border-color:#3b82f633;font-weight:700}.modalOverlay{position:fixed;inset:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.modalBox{background:#fff;padding:24px;border-radius:16px;width:320px;box-shadow:0 20px 25px -5px #0000001a;text-align:center;animation:popIn .2s ease;position:relative}.modalIcon{width:48px;height:48px;background:#fef3c7;color:#f59e0b;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.modalIcon.is-danger{background:#fee2e2;color:#ef4444}.modalTitle{font-size:18px;font-weight:800;color:#111827;margin-bottom:8px}.modalMsg{font-size:14px;color:#6b7280;margin-bottom:24px;line-height:1.5}.modalActions{display:flex;gap:12px}.modalBtn{flex:1;padding:10px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none}.modalBtn.cancel{background:#f3f4f6;color:#374151}.modalBtn.confirm{background:#3b82f6;color:#fff}.modalBtn.confirm.is-danger{background:#ef4444}.authBox{width:380px;text-align:left;padding:24px 24px 20px}.authForm{display:flex;flex-direction:column;gap:12px;margin-top:8px}.inputGroup label{display:block;font-size:12px;font-weight:700;color:#475569;margin-bottom:6px}.inputGroup input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid rgba(15,23,42,.1);background:#f8fafc;font-size:14px;color:#0f172a;outline:none;transition:all .15s ease}.inputGroup input:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 2px #3b82f61a}.authMsg{font-size:13px;padding:10px 12px;border-radius:8px;background:#fef2f2;color:#b91c1c;border:1px solid #FECACA}.authMsg.success{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.authSwitch{margin-top:12px;font-size:13px;color:#475569;text-align:center;line-height:1.6}.authSwitch span{color:#2563eb;font-weight:700;cursor:pointer}.authSwitch span:hover{text-decoration:underline}.authBox .modalBtn.confirm{width:100%}.closeX{position:absolute;top:12px;right:12px;background:transparent;border:none;color:#94a3b8;font-size:18px;cursor:pointer;padding:4px;line-height:1}.closeX:hover{color:#0f172a}.userMenuPopover{position:absolute;top:40px;left:0;width:240px;background:#fff;border:1px solid rgba(15,23,42,.1);box-shadow:0 10px 15px -3px #0000001a;border-radius:12px;padding:12px;z-index:100;animation:popIn .15s ease;cursor:default}.userMenuSection{display:flex;flex-direction:column;gap:8px}.userMenuLabel{font-size:11px;font-weight:700;color:#0f172a9e;text-transform:uppercase}.renameGroup{display:flex;gap:6px}.renameInput{flex:1;border:1px solid rgba(15,23,42,.1);padding:4px 8px;border-radius:6px;font-size:13px;width:100%}.renameInput:focus{border-color:#3b82f6;background:#f8fafc;outline:none}.renameBtn{padding:4px 8px;border:1px solid rgba(15,23,42,.1);border-radius:6px;font-size:12px;cursor:pointer;background:#f8fafc}.renameBtn:hover{background:#e2e8f0}.userMenuDivider{height:1px;background:#0f172a1a;margin:8px 0}.menuActionBtn{width:100%;text-align:left;padding:8px;border-radius:6px;border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:500;transition:background .1s}.menuActionBtn:hover{background:#f1f5f9}.menuActionBtn.is-danger{color:#ef4444}.menuActionBtn.is-danger:hover{background:#fef2f2}.menuActionBtn.is-muted{color:#64748b}.menuActionBtn.is-muted:hover{background:#f1f5f9}.menuBackdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:90;cursor:default}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media(max-width:900px){.app-sidebar{width:240px;flex:0 0 240px}}@media(max-width:600px){.app-sidebar{width:100%;flex:none;height:auto;position:relative;border-right:none;border-bottom:1px solid rgba(15,23,42,.1)}.app-sidebar__inner{flex-direction:row;flex-wrap:wrap;padding:12px;gap:12px}.sidebar-brand{flex:1}.sidebar-nav-panel{flex:none;width:100%}.sidebar-nav-list{flex-direction:row;flex-wrap:wrap;gap:8px}.sidebar-nav-item{flex:0 0 auto;padding:8px 12px;font-size:13px}}.mobile-menu-toggle{display:none;position:fixed;top:16px;left:16px;z-index:1001;width:44px;height:44px;border:none;background:#fffffff2;border-radius:8px;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:all .2s;align-items:center;justify-content:center}.mobile-menu-toggle:hover{background:#fff;box-shadow:0 4px 12px #0003}.mobile-menu-toggle:active{transform:scale(.95)}.mobile-menu-toggle svg{color:#0f172a}.mobile-menu-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:999;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.mobile-menu-toggle{display:flex}.mobile-menu-backdrop{display:block}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:240px;height:100vh;transform:translate(-100%);transition:transform .3s ease;z-index:1000;box-shadow:2px 0 12px #00000026}.app-sidebar.is-mobile-open{transform:translate(0)}.app-sidebar__inner{padding:10px!important;gap:8px!important;min-height:0!important;height:auto!important}.sidebar-nav-panel{flex:none!important;flex-grow:0!important;flex-shrink:0!important;width:100%!important;box-sizing:border-box!important}aside.app-sidebar .panel,.app-sidebar .panel{margin:0!important;width:100%!important;box-sizing:border-box!important}aside.app-sidebar .sidebar-nav-panel,.app-sidebar .sidebar-nav-panel,.sidebar-nav-panel{margin:0!important;padding:8px!important}aside.app-sidebar .sidebar-brand.panel,.app-sidebar .sidebar-brand.panel,.sidebar-brand.panel{padding:10px!important;border-radius:10px!important;margin:0!important;width:100%!important;box-sizing:border-box!important}aside.app-sidebar .sidebar-brand__row,.app-sidebar .sidebar-brand__row,.sidebar-brand__row{height:24px!important;min-height:24px!important}aside.app-sidebar .sidebar-brand__title,.app-sidebar .sidebar-brand__title,.sidebar-brand__title{font-size:11px!important;max-width:140px!important}aside.app-sidebar .sidebar-brand__actions,.app-sidebar .sidebar-brand__actions,.sidebar-brand__actions{gap:6px!important}aside.app-sidebar .sidebar-navBtn,.app-sidebar .sidebar-navBtn,.sidebar-navBtn{font-size:10px!important;padding:4px 8px!important}aside.app-sidebar .syncIconBtn,.app-sidebar .syncIconBtn,.syncIconBtn{width:20px!important;height:20px!important}aside.app-sidebar .syncIconBtn svg,.app-sidebar .syncIconBtn svg,.syncIconBtn svg{width:12px!important;height:12px!important}aside.app-sidebar .sidebar-guestAlert,.app-sidebar .sidebar-guestAlert,.sidebar-guestAlert{margin-top:4px!important;padding:5px!important;font-size:9px!important;line-height:1.2!important;border-radius:5px!important}.sidebar-nav-panel{padding:6px!important}.sidebar-panel__title{font-size:9px!important;margin-bottom:6px!important}.sidebar-nav-list{gap:6px!important}.sidebar-nav-item{padding:7px 8px!important;font-size:12px!important;border-radius:8px!important}.sidebar-nav-item img{width:14px!important;height:14px!important}.mol-cal-page,.sol-page-wrapper,.pcr-page-wrapper{display:block}.mol-cal-main,.sol-main,.pcr-main{margin-left:0!important;width:100%!important}}@media(max-width:480px){.app-sidebar{width:220px}.mobile-menu-toggle{top:12px;left:12px;width:40px;height:40px}}.mol-cal-page{min-height:100vh;display:flex;background:radial-gradient(1200px 700px at 10% 10%,rgba(96,165,250,.22),transparent 60%),radial-gradient(900px 600px at 85% 20%,rgba(253,224,71,.18),transparent 60%),radial-gradient(900px 600px at 60% 90%,rgba(134,239,172,.16),transparent 60%),#f6f7fb;color:#0f172aeb}.mol-cal-main{flex:1;padding:88px 20px 48px;overflow-y:auto}.mol-cal-container{padding:24px;max-width:900px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#31333f;background:#ffffffeb;border:1px solid rgba(255,255,255,.6);border-radius:20px;box-shadow:0 20px 35px -12px #0f172a26}.mol-cal-title{font-size:2rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:10px}.mol-cal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mol-cal-actions{display:flex;align-items:center;gap:10px}.mol-cal-title-icon{width:28px;height:28px;object-fit:contain}.mol-cal-divider{border:0;border-top:1px solid #e5e7eb;margin:1.5rem 0}.mol-cal-grid{display:flex;gap:4rem;flex-wrap:wrap}.mol-cal-col-left{flex:3.3;min-width:300px}.mol-cal-col-right{flex:2.3;min-width:250px}.mol-cal-section-title{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;margin-top:.5rem}.mol-input-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.mol-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:1rem;outline:none;transition:border-color .2s;background-color:#fff;color:#31333f}.mol-input:focus{border-color:#ff4b4b}.mol-input:disabled{background-color:#f0f2f6;color:#000;font-weight:600;cursor:not-allowed;opacity:1;-webkit-text-fill-color:#000000}.mol-select{padding:8px;border:1px solid #d1d5db;border-radius:4px;background-color:#fff;color:#31333f;font-size:.9rem;cursor:pointer;min-width:70px}.mol-select:focus{border-color:#ff4b4b;outline:none}.mol-slash{font-weight:700;color:#666;padding-top:5px;text-align:center}.flex-grow-1-5{flex:1.5}.flex-grow-0-8{flex:.8}.flex-grow-0-2{flex:.2}.mol-btn-group{display:flex;justify-content:space-between;align-items:center;margin-top:2rem}.mol-btn-clear{background-color:#ef4444;color:#fff;border:none;padding:8px 16px;border-radius:10px;font-weight:700;cursor:pointer;transition:background-color .2s}.mol-btn-clear:hover{background-color:#dc2626}.mol-btn-copy{background-color:#2563eb;color:#fff;border:none;padding:8px 16px;border-radius:10px;font-weight:700;cursor:pointer;transition:background-color .2s}.mol-btn-copy:hover{background-color:#1d4ed8}.mol-copy-notice{font-size:13px;color:#16a34a;font-weight:600}.mol-btn-group{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;width:100%}.mol-btn-home{background-color:#6b7280;color:#fff;border:none;padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s}.mol-btn-home:hover{background-color:#4b5563}@media(max-width:768px){.mol-cal-page{flex-direction:column}.mol-cal-main{margin-left:0!important;width:100%!important;padding:70px 12px 24px}.mol-cal-container{padding:20px 16px;border-radius:16px}.mol-cal-title{font-size:1.5rem;margin-bottom:.75rem;text-align:center}.mol-cal-header{flex-direction:column;align-items:center}.mol-cal-actions{width:100%;justify-content:center}.mol-cal-divider{margin:1rem 0}.mol-cal-grid{flex-direction:column;gap:1.5rem}.mol-cal-col-left,.mol-cal-col-right{min-width:100%;width:100%}.mol-cal-section-title{font-size:1rem;margin-top:.75rem;margin-bottom:.5rem}.mol-input-row{gap:6px;margin-bottom:10px}.mol-input{padding:10px;font-size:16px;min-height:44px}.mol-select{padding:10px 8px;font-size:14px;min-width:65px;min-height:44px}.mol-slash{font-size:16px;padding-top:0;display:flex;align-items:center;justify-content:center}.flex-grow-1-5{flex:2;min-width:0}.flex-grow-0-8{flex:.9;min-width:65px}.flex-grow-0-2{flex:.15;min-width:20px}.mol-btn-group{flex-direction:column;gap:12px;margin-top:1.5rem}.mol-btn-clear,.mol-btn-home,.mol-btn-copy{width:100%;padding:12px 16px;font-size:16px;min-height:48px}}@media(max-width:480px){.mol-cal-main{padding:68px 10px 20px}.mol-cal-container{padding:16px 12px}.mol-cal-title{font-size:1.3rem}.mol-input{padding:8px;font-size:16px}.mol-select{padding:8px 6px;font-size:13px;min-width:60px}.mol-cal-section-title{font-size:.95rem}}:root{--sol-bg: #f6f7fb;--sol-card: rgba(255, 255, 255, .95);--sol-border: rgba(15, 23, 42, .12);--sol-border-strong: #d1d5db;--sol-text: #0f172a;--sol-muted: #475569;--sol-blue: #3b82f6;--sol-red: #ef4444;--sol-green: #10b981;--sol-shadow: 0 20px 35px -12px rgba(15, 23, 42, .15)}.sol-page-wrapper{min-height:100vh;display:flex;background:radial-gradient(1200px 700px at 10% 10%,rgba(96,165,250,.18),transparent 60%),radial-gradient(900px 600px at 85% 20%,rgba(253,224,71,.14),transparent 60%),radial-gradient(900px 600px at 60% 90%,rgba(134,239,172,.12),transparent 60%),var(--sol-bg);color:var(--sol-text)}.sol-main{flex:1;overflow-y:auto}.sol-page{min-height:100vh;padding:32px 20px 48px;color:var(--sol-text)}.sol-card{max-width:1200px;margin:0 auto;background:var(--sol-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6);border-radius:20px;box-shadow:var(--sol-shadow);padding:24px}.sol-header{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}.sol-title{margin:0;font-size:28px;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.sol-title-icon{width:26px;height:26px;object-fit:contain}.sol-subtitle{margin:6px 0 0;color:#64748b;font-size:14px}.sol-toggle-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.sol-toggle{border:1px solid var(--sol-border);background:#fff;color:var(--sol-text);padding:8px 12px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease}.sol-toggle.is-on{border-color:#3b82f666;box-shadow:0 6px 14px -6px #3b82f659;color:#1d4ed8}.sol-toggle:hover{background:#f8fafc}.sol-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px;margin-bottom:12px}.sol-btn-group{display:flex;gap:10px;align-items:center;position:relative}.sol-btn.sol-btn-copy{background-color:#2563eb;color:#fff;border-color:#2563eb}.sol-btn.sol-btn-copy:hover{background-color:#1d4ed8}.sol-copy-actions{display:flex;align-items:center;gap:8px}.sol-copy-notice{color:#16a34a;font-weight:700}.sol-btn{border:1px solid var(--sol-border);background:#fff;color:var(--sol-text);padding:8px 12px;border-radius:10px;font-weight:700;cursor:pointer;transition:all .2s ease;min-height:36px}.sol-btn:hover{background:#f8fafc}.sol-btn.primary{background:var(--sol-blue);color:#fff;border-color:var(--sol-blue)}.sol-btn.primary:hover{background:#2563eb}.sol-btn.danger{background:var(--sol-red);color:#fff;border-color:var(--sol-red)}.sol-btn.danger:hover{background:#dc2626}.sol-btn.ghost{background:transparent;border-color:var(--sol-border);color:var(--sol-muted)}.sol-fill-wrapper{position:relative}.sol-fill-panel{position:absolute;top:44px;left:0;background:#fff;border:1px solid var(--sol-border);border-radius:12px;box-shadow:0 18px 30px -14px #0f172a40;padding:12px;min-width:220px;z-index:20}.sol-fill-title{font-weight:700;font-size:13px;margin-bottom:8px;color:var(--sol-text)}.sol-fill-check{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--sol-muted);margin-bottom:6px}.sol-fill-cols{display:flex;flex-direction:column;gap:4px}.sol-fill-empty{font-size:12px;color:#9ca3af;margin:4px 0}.sol-fill-actions{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}.sol-table{margin-top:12px;border:1px solid var(--sol-border);border-radius:14px;overflow:hidden;background:#fff}.sol-row{display:grid;width:100%;gap:6px;padding:10px 12px;align-items:center}.sol-head{background:#f8fafc;border-bottom:1px solid var(--sol-border);font-weight:700;font-size:13px;color:var(--sol-muted)}.sol-head-cell{text-align:center}.sol-cell{width:100%}.sol-input{width:100%;padding:10px 12px;border:1px solid var(--sol-border-strong);border-radius:10px;font-size:14px;text-align:center;background:#fff;color:var(--sol-text);transition:border-color .15s ease,box-shadow .15s ease}.sol-input:focus{border-color:#ff4b4b;box-shadow:0 0 0 2px #ff4b4b1f;outline:none}.sol-input:disabled{background:#f0f2f6;color:#000;font-weight:600;cursor:not-allowed;-webkit-text-fill-color:#000}.sol-input-readonly{background:#f8fafc;border-color:#d1d5db;color:#0f172a;font-weight:600}@media(max-width:900px){.sol-card{padding:18px}.sol-row{padding:10px}.sol-toggle-row{justify-content:flex-start}.sol-toolbar{flex-direction:column;align-items:flex-start}}@media(max-width:768px){.sol-page-wrapper{flex-direction:column}.sol-main{margin-left:0!important;width:100%!important;padding:70px 12px 24px}.sol-page{padding:20px 0}.sol-card{padding:16px 12px;border-radius:16px}.sol-title{font-size:24px;text-align:center}.sol-subtitle{font-size:13px;text-align:center}.sol-header{flex-direction:column;align-items:center;gap:12px}.sol-toggle-row{justify-content:center;width:100%}.sol-toggle{font-size:12px;padding:8px 10px;white-space:nowrap}.sol-toolbar{flex-direction:column;align-items:stretch;gap:10px;margin-top:16px}.sol-btn-group{justify-content:center;flex-wrap:wrap}.sol-btn{padding:10px 14px;font-size:14px;min-height:44px}.sol-table{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;border-radius:12px}.sol-row{min-width:fit-content;gap:4px;padding:10px 8px}.sol-head{font-size:11px;min-width:fit-content}.sol-head-cell{min-width:70px;padding:0 4px;white-space:nowrap}.sol-cell{min-width:70px}.sol-input{padding:10px 6px;font-size:14px;min-width:70px;min-height:44px}.sol-fill-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);min-width:280px;max-width:90vw;z-index:1001}.sol-fill-wrapper:before{content:"";position:fixed;inset:0;background:#00000080;z-index:1000;display:none}.sol-fill-wrapper:has(.sol-fill-panel):before{display:block}}@media(max-width:480px){.sol-main{padding:68px 8px 20px}.sol-card{padding:14px 10px}.sol-title{font-size:20px}.sol-subtitle{font-size:12px}.sol-toggle{font-size:11px;padding:7px 8px}.sol-btn{font-size:13px;padding:9px 12px}.sol-head-cell{min-width:65px;font-size:10px}.sol-cell{min-width:65px}.sol-input{padding:9px 4px;font-size:13px;min-width:65px}}:root{--pcr-bg: #f6f7fb;--pcr-card: rgba(255, 255, 255, .95);--pcr-border: rgba(15, 23, 42, .12);--pcr-border-strong: #d1d5db;--pcr-text: #0f172a;--pcr-muted: #475569;--pcr-blue: #3b82f6;--pcr-red: #ef4444;--pcr-amber: #f59e0b;--pcr-amber-bg: #fff7ed;--pcr-shadow: 0 20px 35px -12px rgba(15, 23, 42, .15);--pcr-col-name-width: 210px;--pcr-col-std-width: 185px;--pcr-col-name-std-gap: 24px;--pcr-col-stock-width: 80px;--pcr-col-gap-small: 4px;--pcr-col-gap-large: 20px}.pcr-page-wrapper{min-height:100vh;display:flex;background:radial-gradient(1200px 700px at 10% 10%,rgba(96,165,250,.18),transparent 60%),radial-gradient(900px 600px at 85% 20%,rgba(253,224,71,.14),transparent 60%),radial-gradient(900px 600px at 60% 90%,rgba(134,239,172,.12),transparent 60%),var(--pcr-bg);color:var(--pcr-text)}.pcr-main{flex:1;overflow-y:auto}.pcr-page{min-height:100vh;padding:32px 20px 48px;color:var(--pcr-text)}.pcr-card{max-width:1200px;margin:0 auto;background:var(--pcr-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6);border-radius:20px;box-shadow:var(--pcr-shadow);padding:24px}.pcr-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pcr-title{margin:0;font-size:28px;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.pcr-title-icon{width:26px;height:26px;object-fit:contain}.pcr-subtitle{margin:6px 0 0;color:#64748b;font-size:14px}.pcr-top-grid{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:16px}.pcr-field-target{min-width:220px}.pcr-field-tubes{min-width:160px}.pcr-field{display:flex;flex-direction:column;gap:6px}.pcr-field label{font-size:13px;font-weight:700;color:var(--pcr-muted)}.pcr-top-grid .pcr-field label{text-align:center}.pcr-field-tubes label{width:50%}.pcr-input{padding:10px 12px;border:1px solid var(--pcr-border-strong);border-radius:10px;font-size:14px;text-align:center;background:#fff;color:var(--pcr-text);transition:border-color .15s ease,box-shadow .15s ease}.pcr-input-half{width:50%}.pcr-input:focus{border-color:#ff4b4b;box-shadow:0 0 0 2px #ff4b4b1f;outline:none}.pcr-input:disabled{background:#f5f5f5;color:#000;font-weight:600;-webkit-text-fill-color:#000;cursor:not-allowed}.pcr-output{color:var(--pcr-text);font-weight:800}.pcr-output:disabled{background:#f5f5f5;border-color:var(--pcr-border-strong);color:var(--pcr-text);-webkit-text-fill-color:var(--pcr-text)}.pcr-output-filled:disabled{background:var(--pcr-amber-bg);border-color:#f59e0b59}.pcr-output-dim-bg:disabled{background:#f5f5f5;border-color:var(--pcr-border-strong)}.pcr-action-buttons{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pcr-copy-actions{display:flex;align-items:center;margin-left:auto;gap:8px}.pcr-toggle-wrap{margin-left:8px;display:flex;align-items:center}.pcr-copy-notice{color:#16a34a;font-weight:700}.pcr-btn{border:1px solid var(--pcr-border);background:#fff;color:var(--pcr-text);padding:8px 12px;border-radius:10px;font-weight:700;cursor:pointer;transition:all .2s ease;min-width:92px;text-align:center}.pcr-btn:hover{background:#f8fafc}.pcr-btn.ghost{background:transparent;color:var(--pcr-muted)}.pcr-btn.is-active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8;box-shadow:0 6px 14px -8px #2563eb73}.pcr-btn.pcr-btn-copy{background:#2563eb;color:#fff;border-color:#2563eb}.pcr-btn.pcr-btn-copy:hover{background:#1d4ed8}.pcr-btn.danger{background:#ef4444;color:#fff;border-color:#ef4444}.pcr-btn.danger:hover{background:#dc2626}.pcr-toggle{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--pcr-muted)}.pcr-table{margin-top:18px;border:1px solid var(--pcr-border);border-radius:14px;overflow:hidden;background:#fff}.pcr-row{display:grid;grid-template-columns:var(--pcr-col-name-width) var(--pcr-col-name-std-gap) var(--pcr-col-std-width) var(--pcr-col-gap-large) 1fr var(--pcr-col-gap-large) 1fr var(--pcr-col-stock-width);gap:var(--pcr-col-gap-small);padding:10px 12px;align-items:center}.pcr-head{background:#f8fafc;font-weight:700;font-size:13px;color:var(--pcr-muted);border-bottom:1px solid var(--pcr-border)}.pcr-head .pcr-col.std,.pcr-head .pcr-col.single,.pcr-head .pcr-col.mm,.pcr-head .pcr-col.name{text-align:center}.pcr-col.spacer{width:100%}.pcr-col.name{min-width:var(--pcr-col-name-width);max-width:var(--pcr-col-name-width)}.pcr-col.name input{text-align:center;width:100%}.pcr-col.std{min-width:var(--pcr-col-std-width);max-width:var(--pcr-col-std-width)}.pcr-col.std input{text-align:center;width:100%}.pcr-col.single{min-width:100px}.pcr-col.single input{width:100%}.pcr-col.mm{min-width:100px}.pcr-col.mm input{width:100%}.pcr-col.stock{min-width:var(--pcr-col-stock-width);max-width:var(--pcr-col-stock-width);display:flex;justify-content:center}.pcr-col input[type=checkbox]{width:16px;height:16px}.pcr-result{margin-top:12px;padding:12px;border-radius:12px;background:#e0f2fe;border:1px solid #7dd3fc;color:#0c4a6e;font-weight:700;line-height:1.5}.pcr-divider{height:1px;background:var(--pcr-border);margin:20px 0}.pcr-ext{display:flex;flex-direction:column;gap:12px}.pcr-ext-head{display:flex;justify-content:space-between;align-items:center}.pcr-ext-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.pcr-ext-grid .pcr-field label{text-align:center}@media(max-width:900px){:root{--pcr-col-name-width: 180px;--pcr-col-std-width: 155px;--pcr-col-name-std-gap: 16px;--pcr-col-stock-width: 70px;--pcr-col-gap-large: 14px}.pcr-top-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media(max-width:600px){:root{--pcr-col-name-width: 140px;--pcr-col-std-width: 110px;--pcr-col-name-std-gap: 10px;--pcr-col-stock-width: 50px;--pcr-col-gap-large: 8px}}@media(max-width:768px){.pcr-page-wrapper{flex-direction:column}.pcr-main{margin-left:0!important;width:100%!important;padding:70px 12px 24px}.pcr-page{padding:20px 0}.pcr-card{padding:16px 12px;border-radius:16px}.pcr-title{font-size:22px;text-align:center}.pcr-subtitle{font-size:13px;text-align:center}.pcr-header{flex-direction:column;align-items:center}.pcr-top-grid{grid-template-columns:1fr;gap:10px;margin-top:12px}.pcr-field label{font-size:12px}.pcr-input{padding:10px;font-size:14px;min-height:44px}.pcr-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.pcr-btn{padding:10px 12px;font-size:13px}.pcr-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px -12px 0;padding:0 12px;border:none;border-radius:0}.pcr-row{min-width:700px;padding:10px 8px}.pcr-head{font-size:11px}.pcr-col.name,.pcr-col.std{font-size:13px}.pcr-col.single input,.pcr-col.mm input{font-size:13px;padding:8px 6px}.pcr-result{font-size:13px;padding:12px;margin:12px 0}.pcr-divider{margin:14px 0}.pcr-ext-head{flex-direction:column;align-items:center;gap:8px}.pcr-ext-head h2{font-size:18px}.pcr-ext-grid{display:flex;flex-direction:column;gap:10px}}@media(max-width:480px){.pcr-main{padding:68px 8px 20px}.pcr-card{padding:14px 10px}.pcr-title{font-size:20px}.pcr-subtitle{font-size:12px}.pcr-table{margin:18px -10px 0;padding:0 10px}.pcr-row{min-width:650px;padding:10px 6px}.pcr-head{font-size:10px}.pcr-col.name input,.pcr-col.std input{font-size:12px;padding:8px 4px}.pcr-col.single input,.pcr-col.mm input{font-size:12px;padding:7px 4px}.pcr-ext-head h2{font-size:16px}}.resetPasswordPage{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 700px at 10% 10%,rgba(96,165,250,.22),transparent 60%),radial-gradient(900px 600px at 85% 20%,rgba(253,224,71,.18),transparent 60%),radial-gradient(900px 600px at 60% 90%,rgba(134,239,172,.16),transparent 60%),#f6f7fb;padding:20px}.resetPasswordBox{background:#fff;border-radius:16px;padding:40px;max-width:440px;width:100%;box-shadow:0 10px 26px #0f172a14;border:1px solid rgba(15,23,42,.1)}.resetPasswordBox h2{margin:0 0 8px;font-size:24px;font-weight:800;color:#0f172aeb}.resetPasswordDesc{margin:0 0 24px;font-size:14px;color:#0f172a9e}.resetPasswordBox form{display:flex;flex-direction:column;gap:16px}.inputGroup{display:flex;flex-direction:column;gap:6px}.inputGroup label{font-size:13px;font-weight:600;color:#0f172aeb}.inputGroup input{padding:10px 12px;border:1px solid rgba(15,23,42,.14);border-radius:8px;font-size:14px;font-family:inherit;transition:all .2s}.inputGroup input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.resetMsg{padding:12px;border-radius:8px;font-size:13px;font-weight:500}.resetMsg.success{background:#ecfdf5;color:#059669;border:1px solid #A7F3D0}.resetMsg.error{background:#fef2f2;color:#dc2626;border:1px solid #FECACA}.resetBtn{padding:12px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.resetBtn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.resetBtn:disabled{opacity:.6;cursor:not-allowed}.backBtn{width:100%;padding:10px 20px;background:transparent;color:#0f172a9e;border:1px solid rgba(15,23,42,.14);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;margin-top:12px}.backBtn:hover{background:#0f172a0a;color:#0f172aeb}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:#e9eef8}button{font-family:inherit}
