.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}*{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}.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}.sidebar__inner{min-height:100%;display:flex;flex-direction:column;padding:16px;gap:16px}.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}.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}.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}.noteModalBox{background:#fef9c3;padding:0;border-radius:4px;width:320px;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%;height:150px;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}.noteActions{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 20px}.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:#94a3b8;margin-top:12px;margin-bottom:6px;padding-bottom:2px;border-bottom:1px solid #E2E8F0;text-transform:uppercase;letter-spacing:.05em}.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-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:#f0f9ff;border-left:3px solid #3B82F6;border-right:3px solid #3B82F6;padding-left:5px;padding-right:5px}.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:8px 10px;border-radius:8px;border:1px solid #10B981;background:#10b981;color:#fff;font-weight:700;cursor:pointer}.timerAddBtn:hover{background:#059669}.timerListPanel{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto}.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 10px;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;display:flex;flex-direction:column;gap:24px;padding-bottom:40px;transition:all .2s}.app:not(.mode-write) .boardContainer{border-radius:12px}.app.mode-erase .boardContainer,.app.mode-del-row .boardContainer,.app.mode-move .boardContainer{outline:3px solid rgba(239,68,68,.5);outline-offset:0;box-shadow:0 0 20px #ef444433;background-color:#fef2f266}.app.mode-paint .boardContainer,.app.mode-notes .boardContainer,.app.mode-done .boardContainer,.app.mode-ongoing .boardContainer,.app.mode-add-row .boardContainer,.app.mode-timer-send .boardContainer{outline:3px solid rgba(168,85,247,.5);outline-offset:0;box-shadow:0 0 20px #a855f733;background-color:#faf5ff80}.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;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:4px;top:4px;bottom:4px;width:3px;border-radius:999px;background:#93c5fd}.dayCol.is-day-done .cell{background:transparent!important;border-color:transparent;box-shadow:none!important}.dayCol.is-day-done .cell.is-done{background:transparent!important}.dayCol.is-day-done .cell.is-ongoing{background:transparent!important;box-shadow:none!important}.dayCol.is-day-done .cell:last-child{border-color:transparent}.dayCol.is-day-done .cell.is-move-source{box-shadow:inset 0 0 0 3px #3b82f6!important}.cell{border:1px solid var(--border);border-radius:10px;background:#ffffffd9;box-shadow:0 1px 2px #0f172a14;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:0;cursor:text;padding:0 6px;position:relative;background-clip:padding-box;overflow:visible}.cell.is-move-source{box-shadow:inset 0 0 0 3px #3b82f6!important;z-index:10}.app.mode-timer-send .cell{cursor:crosshair}.cell.is-timer-target,.cell.is-timer-target:hover{box-shadow:none}.cell.is-done{background:#f1f5f9!important;box-shadow:inset 3px 0 #93c5fd!important}.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:#ffffffd9!important;box-shadow:inset 3px 0 #f59e0b!important}.cell.is-ongoing.is-move-source{box-shadow:inset 0 0 0 3px #3b82f6!important;background:transparent!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-add-row:hover{box-shadow:inset 0 -2px #22c55e}.cell.hover-del-row:hover{background:#fef2f2!important;opacity:.7}.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 popIn{0%{transform:scale(.9)}to{transform:scale(1)}}@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)}.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}}.taskItem.is-selected-task{background:#3b82f61f;border:1px solid rgba(59,130,246,.35);box-shadow:0 1px 3px #3b82f61f}.labnotesTableWrap{height:100%;display:flex;flex-direction:column;gap:12px}.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;resize:none;overflow:hidden}.labnotesBriefInput:focus{outline:2px solid rgba(59,130,246,.3);border-color:#93c5fd}.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}.labnotesNotes{white-space:pre-wrap;color:#374151}.labnotesNoteLine{margin-bottom:2px}.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:auto;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}.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:12px;font-weight:800;color:#2563eb;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;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:#0f172a;margin:20px 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}.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}.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}.homeLoginCard{order:3}.hero{order:4}.contactCard{order:5}.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:16px}.heroSubhead{font-size:15px;line-height:1.5}.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:15px}.heroSubhead{font-size:14px}.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}.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}.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:4px;font-weight:500;cursor:pointer;transition:background-color .2s}.mol-btn-clear:hover{background-color:#dc2626}.mol-btn-group{display:flex;gap:1rem;margin-top:1rem}.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-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{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}.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{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}.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}.pcr-subtitle{margin:6px 0 0;color:#64748b;font-size:14px}.pcr-top-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr)) auto;gap:12px;align-items:end;margin-top:16px}.pcr-field{display:flex;flex-direction:column;gap:6px}.pcr-field label{font-size:13px;font-weight:700;color:var(--pcr-muted)}.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: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-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.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}.pcr-btn:hover{background:#f8fafc}.pcr-btn.ghost{background:transparent;color:var(--pcr-muted)}.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-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}@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}
