@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";.g-controls{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.g-controls .g-zoom{margin-left:auto}.g-wrap{position:relative;overflow:auto;max-height:calc(100vh - 220px);background:var(--m-panel);border:1px solid var(--m-border);border-radius:var(--m-r);box-shadow:var(--m-shadow-sm)}.g-canvas{position:relative}.g-head{display:flex;position:sticky;top:0;z-index:5;background:var(--m-panel);border-bottom:1px solid var(--m-border-strong)}.g-corner{position:sticky;left:0;z-index:6;flex:none;display:flex;align-items:flex-end;padding:0 14px 7px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--m-faint);background:var(--m-panel);border-right:1px solid var(--m-border-strong)}.g-timehead{position:relative;flex:none}.g-months{position:relative;height:24px}.g-month{position:absolute;top:0;height:24px;display:flex;align-items:center;padding:0 8px;font-size:11px;font-weight:700;color:var(--m-muted);border-left:1px solid var(--m-border);white-space:nowrap;overflow:hidden}.g-days{position:relative;height:22px}.g-day{position:absolute;top:0;height:22px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--m-faint);border-left:1px solid var(--m-border)}.g-day.weekend{color:var(--m-border-strong);background:var(--m-sunken)}.g-day.today{color:var(--m-accent);font-weight:800}.g-body{position:relative}.g-bg{position:absolute;top:0;bottom:0;z-index:0;pointer-events:none}.g-weekend{position:absolute;top:0;bottom:0;background:var(--m-sunken)}.g-today-line{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--m-danger);opacity:.55}.g-row{display:flex;align-items:stretch;height:34px;position:relative;z-index:1}.g-row:not(:last-child){border-bottom:1px solid var(--m-border)}.g-row:hover .g-rowlabel{background:var(--m-sunken)}.g-rowlabel{position:sticky;left:0;z-index:2;flex:none;display:flex;align-items:center;background:var(--m-panel);border-right:1px solid var(--m-border-strong);overflow:hidden}.g-rowtitle{display:flex;align-items:center;gap:8px;width:100%;height:100%;padding-right:10px;background:none;border:none;text-align:left;cursor:pointer;color:var(--m-text);font-size:13px;overflow:hidden}.g-rowtitle:hover .g-titletext{color:var(--m-accent)}.g-rowtitle.done .g-titletext{color:var(--m-faint);text-decoration:line-through}.g-titletext{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--m-dur) var(--m-ease)}.g-statusdot{width:8px;height:8px;border-radius:50%;flex:none}.g-statusdot.active{background:var(--m-accent)}.g-statusdot.done{background:var(--m-ok)}.g-statusdot.overdue{background:var(--m-danger)}.g-statusdot.future{background:var(--m-faint)}.g-track{position:relative;flex:none;height:100%}.g-bar{position:absolute;top:50%;transform:translateY(-50%);height:20px;min-width:6px;border:none;border-radius:6px;padding:0 8px;display:flex;align-items:center;cursor:pointer;font-size:11px;font-weight:600;color:#fff;overflow:hidden;box-shadow:var(--m-shadow-sm);transition:filter var(--m-dur) var(--m-ease),transform var(--m-dur) var(--m-ease)}.g-bar:hover{filter:brightness(1.05);transform:translateY(-50%) scale(1.01)}.g-barlabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g-bar.active{background:var(--m-accent)}.g-bar.done{background:var(--m-ok);opacity:.85}.g-bar.overdue{background:var(--m-danger)}.g-bar.future{background:repeating-linear-gradient(45deg,var(--m-bg-2),var(--m-bg-2) 5px,var(--m-panel) 5px,var(--m-panel) 10px);border:1.5px solid var(--m-border-strong);color:var(--m-muted)}.g-foot{margin-top:10px;font-size:12px;color:var(--m-muted);padding:0 4px}:root{--m-bg: #f4f5f8;--m-bg-2: #eef0f4;--m-panel: #ffffff;--m-sunken: #f7f8fa;--m-border: #e9ebf0;--m-border-strong: #dfe2e9;--m-text: #14161c;--m-muted: #6b7280;--m-faint: #9aa1ad;--m-accent: #4f46e5;--m-accent-600: #4338ca;--m-accent-soft: #eef0fe;--m-accent-grad: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);--m-ok: #16a34a;--m-ok-soft: #e7f7ed;--m-warn: #d97706;--m-warn-soft: #fdf2e3;--m-danger: #dc2626;--m-danger-soft: #fdeced;--m-info: #2563eb;--m-info-soft: #e8f0fe;--m-r-sm: 10px;--m-r: 14px;--m-r-lg: 18px;--m-r-xl: 22px;--m-pill: 999px;--m-shadow-sm: 0 1px 2px rgba(16,24,40,.04), 0 1px 3px rgba(16,24,40,.06);--m-shadow: 0 1px 2px rgba(16,24,40,.04), 0 8px 24px -12px rgba(16,24,40,.18);--m-shadow-lg: 0 2px 6px rgba(16,24,40,.06), 0 24px 48px -20px rgba(16,24,40,.28);--m-shadow-drawer: -24px 0 64px -24px rgba(16,24,40,.32);--m-ease: cubic-bezier(.2,.8,.2,1);--m-dur: .16s}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--m-bg);color:var(--m-text);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit}::selection{background:var(--m-accent-soft)}:focus{outline:none}a:focus-visible,button:focus-visible,[tabindex]:focus-visible,.m-nav-item:focus-visible,.m-list-link:focus-visible{outline:2px solid var(--m-accent);outline-offset:2px;border-radius:var(--m-r-sm)}.m-input:focus-visible,.m-select:focus-visible,.m-textarea:focus-visible{outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.m-scroll::-webkit-scrollbar{width:10px;height:10px}.m-scroll::-webkit-scrollbar-thumb{background:#d8dbe2;border-radius:999px;border:3px solid transparent;background-clip:padding-box}.m-scroll::-webkit-scrollbar-thumb:hover{background:#c3c7d1;background-clip:padding-box;border:3px solid transparent}.m-auth{height:100%;display:grid;place-items:center;background:radial-gradient(1200px 600px at 80% -10%,#e9eafe 0%,transparent 60%),radial-gradient(900px 500px at -10% 110%,#e7f7ed 0%,transparent 55%),var(--m-bg)}.m-auth-card{width:360px;background:var(--m-panel);border:1px solid var(--m-border);border-radius:var(--m-r-xl);padding:34px 32px;box-shadow:var(--m-shadow-lg)}.m-logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:20px;letter-spacing:-.02em}.m-logo-mark{width:34px;height:34px;border-radius:11px;background:var(--m-accent-grad);display:grid;place-items:center;color:#fff;box-shadow:0 6px 16px -6px var(--m-accent)}.m-auth h1{margin:22px 0 4px;font-size:24px;letter-spacing:-.02em}.m-auth p{margin:0 0 20px;color:var(--m-muted)}.m-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.m-field label{font-size:12px;font-weight:600;color:var(--m-muted)}.m-input,.m-select,.m-textarea{width:100%;background:var(--m-panel);color:var(--m-text);border:1.5px solid var(--m-border-strong);border-radius:var(--m-r-sm);padding:9px 12px;font-size:14px;outline:none;transition:border-color var(--m-dur) var(--m-ease),box-shadow var(--m-dur) var(--m-ease)}.m-input::placeholder,.m-textarea::placeholder{color:var(--m-faint)}.m-input:focus,.m-select:focus,.m-textarea:focus{border-color:var(--m-accent);box-shadow:0 0 0 4px var(--m-accent-soft)}.m-textarea{resize:vertical;line-height:1.6}.m-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;cursor:pointer}.m-btn{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:13.5px;padding:9px 14px;border-radius:var(--m-r-sm);transition:all var(--m-dur) var(--m-ease);white-space:nowrap}.m-btn:active{transform:translateY(1px) scale(.99)}.m-btn-primary{background:var(--m-accent);color:#fff;box-shadow:0 6px 16px -8px var(--m-accent)}.m-btn-primary:hover{background:var(--m-accent-600);box-shadow:0 8px 20px -8px var(--m-accent)}.m-btn-ghost{background:var(--m-panel);color:var(--m-text);border:1.5px solid var(--m-border-strong)}.m-btn-ghost:hover{background:var(--m-sunken);border-color:var(--m-faint)}.m-btn-text{color:var(--m-muted);padding:7px 8px}.m-btn-text:hover{color:var(--m-text);background:var(--m-bg-2)}.m-btn-danger{color:var(--m-danger)}.m-btn-danger:hover{background:var(--m-danger-soft)}.m-btn-sm{padding:7px 11px;font-size:13px}.m-iconbtn{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--m-faint);transition:all var(--m-dur) var(--m-ease)}.m-iconbtn:hover{background:var(--m-accent-soft);color:var(--m-accent)}.m-app{display:grid;grid-template-columns:270px 1fr;height:100%;position:relative}.m-topbar,.m-nav-backdrop{display:none}.m-side{background:var(--m-bg);border-right:1px solid var(--m-border);display:flex;flex-direction:column;min-height:0}.m-side-head{padding:18px 18px 14px}.m-side-head .m-logo{font-size:17px}.m-side-head .m-logo-mark{width:30px;height:30px;border-radius:9px}.m-nav{padding:6px 12px;display:flex;flex-direction:column;gap:6px}.m-nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:var(--m-r-sm);background:var(--m-panel);border:1px solid var(--m-border);box-shadow:0 1px 1.5px #1018280a;color:var(--m-muted);font-weight:600;font-size:13.5px;text-decoration:none;position:relative;transition:transform var(--m-dur) var(--m-ease),box-shadow var(--m-dur) var(--m-ease),background var(--m-dur) var(--m-ease),color var(--m-dur) var(--m-ease),border-color var(--m-dur) var(--m-ease)}.m-nav-item:hover{background:var(--m-panel);color:var(--m-text);border-color:var(--m-border-strong);box-shadow:var(--m-shadow);transform:translateY(-1px)}.m-nav-item.active{background:var(--m-accent-soft);color:var(--m-accent);border-color:color-mix(in srgb,var(--m-accent) 28%,transparent);box-shadow:0 4px 12px -6px color-mix(in srgb,var(--m-accent) 55%,transparent)}.m-nav-item.active:hover{transform:translateY(-1px)}.m-nav-item .m-count{margin-left:auto}.m-count{background:var(--m-bg-2);color:var(--m-muted);font-size:11px;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.m-nav-item.active .m-count{background:#fff;color:var(--m-accent)}.m-nav-more{width:100%;cursor:pointer;font-family:inherit;text-align:left}.m-nav-more.open{color:var(--m-text);border-color:var(--m-border-strong)}.m-nav-more-chevron{color:var(--m-faint);transition:transform var(--m-dur) var(--m-ease)}.m-nav-more-items{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding-left:12px;border-left:1.5px solid var(--m-border);margin-left:6px}.m-side-section{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 6px}.m-side-section span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--m-faint)}.m-tree{flex:1;overflow-y:auto;padding:2px 10px 14px;list-style:none;margin:0;min-height:0}.m-tree ul{list-style:none;margin:0;padding:0}.m-tree li li>.m-list-row:after{content:"";position:absolute;top:4px;bottom:4px;width:1.5px;border-radius:999px;background:var(--m-border);left:calc((var(--depth, 1) - 1) * 14px + 8px);pointer-events:none}.m-list-row{position:relative;display:flex;align-items:center;gap:4px;border-radius:var(--m-r-sm);padding-right:6px;margin:5px 0;background:var(--m-panel);border:1px solid var(--m-border);box-shadow:0 1px 1.5px #1018280a;transition:transform var(--m-dur) var(--m-ease),box-shadow var(--m-dur) var(--m-ease),background var(--m-dur) var(--m-ease),border-color var(--m-dur) var(--m-ease)}.m-list-row:hover{border-color:var(--m-border-strong);box-shadow:var(--m-shadow);transform:translateY(-1px)}.m-list-row[draggable=true]{cursor:grab}.m-list-row.dragging{opacity:.45}.m-list-row.drag-over{border-color:var(--m-accent);box-shadow:0 0 0 2px var(--m-accent-soft);transform:none}.m-list-row.is-folder{background:var(--m-bg-2)}.m-list-row.is-folder .m-list-name{font-weight:600}.m-list-row:has(.m-list-link.active){background:var(--m-accent-soft);border-color:color-mix(in srgb,var(--m-accent) 28%,transparent);box-shadow:0 4px 12px -6px color-mix(in srgb,var(--m-accent) 55%,transparent)}.m-list-row:has(.m-list-link.active):before{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:3px;height:16px;border-radius:999px;background:var(--m-accent)}.m-twisty{width:18px;height:28px;color:var(--m-faint);display:grid;place-items:center;flex:none;border-radius:6px;transition:color var(--m-dur) var(--m-ease),background var(--m-dur) var(--m-ease)}.m-twisty:hover{color:var(--m-muted);background:var(--m-bg-2)}.m-twisty svg{transition:transform var(--m-dur) var(--m-ease)}.m-list-link{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:8px 2px;color:var(--m-text);text-decoration:none}.m-dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--dot, var(--m-faint));transition:transform var(--m-dur) var(--m-ease),box-shadow var(--m-dur) var(--m-ease)}.m-list-row:hover .m-dot{transform:scale(1.15)}.m-list-row:has(.m-list-link.active) .m-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--dot, var(--m-faint)) 22%,transparent)}.m-list-name{font-size:13.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-list-link.active .m-list-name{color:var(--m-accent);font-weight:700}.m-list-row:has(.m-list-link.active) .m-count{background:#fff;color:var(--m-accent)}.m-shared-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:6px;color:var(--m-accent);background:var(--m-accent-soft);flex:none}.m-list-actions{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:1px;padding-left:10px;opacity:0;pointer-events:none;background:linear-gradient(90deg,transparent,var(--m-panel) 22%);border-radius:8px;transition:opacity var(--m-dur) var(--m-ease)}.m-list-row:hover .m-list-actions{opacity:1;pointer-events:auto}.m-list-row:has(.m-list-link.active) .m-list-actions{background:linear-gradient(90deg,transparent,var(--m-accent-soft) 22%)}.m-list-actions .m-iconbtn{width:24px;height:24px;border-radius:7px}.m-iconpicker{position:relative;flex:none}.m-iconpicker-trigger{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:var(--m-muted);transition:background var(--m-dur) var(--m-ease)}.m-iconpicker-trigger:hover{background:var(--m-bg-2)}.m-iconpicker-pop{position:absolute;z-index:40;top:calc(100% + 6px);left:0;width:250px;background:var(--m-panel);border:1px solid var(--m-border);border-radius:var(--m-r);box-shadow:var(--m-shadow-lg);padding:8px}.m-iconpicker-tabs{display:flex;align-items:center;gap:4px;margin-bottom:8px}.m-iconpicker-tab{font-size:12px;font-weight:600;color:var(--m-muted);padding:4px 10px;border-radius:var(--m-pill);transition:background var(--m-dur) var(--m-ease),color var(--m-dur) var(--m-ease)}.m-iconpicker-tab:hover{background:var(--m-bg-2)}.m-iconpicker-tab.active{background:var(--m-accent-soft);color:var(--m-accent)}.m-iconpicker-clear{margin-left:auto;font-size:11px;font-weight:600;color:var(--m-faint);padding:4px 8px;border-radius:var(--m-pill)}.m-iconpicker-clear:hover{color:var(--m-muted);background:var(--m-bg-2)}.m-iconpicker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;max-height:200px;overflow-y:auto}.m-iconpicker-cell{width:100%;aspect-ratio:1;display:grid;place-items:center;border-radius:7px;color:var(--m-muted);transition:background var(--m-dur) var(--m-ease)}.m-iconpicker-cell:hover{background:var(--m-bg-2);color:var(--m-text)}.m-side-foot{border-top:1px solid var(--m-border);padding:12px 14px;display:flex;align-items:center;gap:10px}.m-profile-btn{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;padding:6px;margin:-6px;border-radius:var(--m-r-sm);text-align:left;transition:background var(--m-dur) var(--m-ease)}.m-profile-btn:hover{background:var(--m-sunken)}.m-avatar{width:34px;height:34px;border-radius:50%;background:var(--m-accent-grad);color:#fff;font-weight:700;font-size:14px;display:grid;place-items:center;flex:none}.m-user{min-width:0;flex:1}.m-user-name{font-size:13px;font-weight:600}.m-user-email{font-size:11.5px;color:var(--m-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-main{overflow-y:auto;min-height:0;min-width:0}.m-page{max-width:1120px;margin:0 auto;padding:30px 36px 80px}.m-page-head{display:flex;align-items:center;gap:14px;margin-bottom:26px}.m-page-title{font-size:25px;font-weight:800;letter-spacing:-.025em;margin:0;display:flex;align-items:center;gap:12px}.m-page-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;box-shadow:var(--m-shadow-sm)}.m-spacer{flex:1}.m-sub{color:var(--m-muted);font-size:13.5px}.m-seg{display:inline-flex;background:var(--m-bg-2);border-radius:var(--m-pill);padding:4px;gap:2px}.m-seg button{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--m-pill);font-weight:600;font-size:13px;color:var(--m-muted);transition:all var(--m-dur) var(--m-ease)}.m-seg button.active{background:var(--m-panel);color:var(--m-accent);box-shadow:var(--m-shadow-sm)}.m-controls{display:flex;gap:18px;margin-bottom:22px;flex-wrap:wrap}.m-control{display:flex;flex-direction:column;gap:6px}.m-control span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--m-faint)}.m-card{background:var(--m-panel);border:1px solid var(--m-border);border-radius:var(--m-r-lg);box-shadow:var(--m-shadow-sm)}.m-card-pad{padding:20px 22px}.m-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:26px}.m-stats>*{min-width:0}.m-stat{background:var(--m-panel);border:1px solid var(--m-border);border-radius:var(--m-r-lg);padding:16px 18px;box-shadow:var(--m-shadow-sm);transition:all var(--m-dur) var(--m-ease)}a.m-stat{display:block;color:inherit;text-decoration:none}a.m-stat:hover{box-shadow:var(--m-shadow);transform:translateY(-2px);border-color:var(--m-border-strong)}.m-stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.m-stat-chip{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.m-stat-num{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-stat-label{color:var(--m-muted);font-size:12.5px;font-weight:600;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-widgets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.m-widgets>*{min-width:0}.m-widget-head{display:flex;align-items:center;gap:10px;padding:18px 22px 10px}.m-widget-head h2{font-size:15px;font-weight:700;margin:0;letter-spacing:-.01em}.m-widget-head .m-count{margin-left:auto}.m-widget-body{padding:4px 12px 14px}.m-empty{padding:26px 16px;text-align:center;color:var(--m-faint);font-size:13.5px}.m-task{display:flex;align-items:center;gap:10px 11px;flex-wrap:wrap;padding:9px 10px;border-radius:var(--m-r-sm);transition:background var(--m-dur) var(--m-ease);cursor:pointer}.m-task:hover{background:var(--m-sunken)}.m-ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70}.m-ctxmenu{position:fixed;z-index:71;width:min(320px,calc(100vw - 16px));background:var(--m-panel);border:1px solid var(--m-border);border-radius:var(--m-r);box-shadow:var(--m-shadow-lg);padding:12px;display:flex;flex-direction:column;gap:9px;-webkit-user-select:none;user-select:none;animation:m-check-pop .14s var(--m-ease)}.m-ctxmenu-head{display:flex;align-items:center;gap:8px;color:var(--m-accent)}.m-ctxmenu-title{font-weight:700;font-size:14px;color:var(--m-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m-ctxmenu-meta{font-size:12px;color:var(--m-muted);line-height:1.4}.m-ctxmenu-link{font-size:12px;color:var(--m-faint);background:var(--m-bg-2);border-radius:var(--m-r-sm);padding:7px 9px;word-break:break-all;-webkit-user-select:all;user-select:all}.m-ctxmenu-actions{display:flex;flex-wrap:wrap;gap:7px}.m-ctxmenu-actions .m-btn{display:inline-flex;align-items:center;gap:6px}.m-check{width:19px;height:19px;border-radius:7px;border:2px solid var(--m-border-strong);flex:none;display:grid;place-items:center;color:#fff;transition:all var(--m-dur) var(--m-ease)}.m-check:hover{border-color:var(--m-accent)}.m-check.done{background:var(--m-accent);border-color:var(--m-accent);animation:m-check-pop .22s var(--m-ease)}.m-check svg{opacity:0;transform:scale(.6);transition:opacity var(--m-dur) var(--m-ease),transform var(--m-dur) var(--m-ease)}.m-check.done svg{opacity:1;transform:scale(1)}@keyframes m-check-pop{0%{transform:scale(1)}40%{transform:scale(1.28)}to{transform:scale(1)}}.m-task-title{flex:1 1 0;min-width:0;text-align:left;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-task-title.done{color:var(--m-faint);text-decoration:line-through}.m-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.m-badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:var(--m-pill);white-space:nowrap}.m-badge svg{width:12px;height:12px}.m-badge.tag{background:var(--m-accent-soft);color:var(--m-accent)}.m-badge.next{background:var(--m-warn-soft);color:var(--m-warn)}.m-badge.high{background:var(--m-danger-soft);color:var(--m-danger)}.m-badge.med{background:var(--m-warn-soft);color:var(--m-warn)}.m-badge.low{background:var(--m-info-soft);color:var(--m-info)}.m-badge.due,.m-badge.neutral{background:var(--m-bg-2);color:var(--m-muted)}.m-badge.over{background:var(--m-danger-soft);color:var(--m-danger)}.m-prog-row{display:flex;align-items:center;gap:12px;padding:9px 10px}.m-prog-name{flex:0 1 110px;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-prog-track{flex:1;height:8px;background:var(--m-bg-2);border-radius:999px;overflow:hidden}.m-prog-fill{height:100%;border-radius:999px;background:var(--m-accent-grad);transition:width .4s var(--m-ease)}.m-prog-meta{width:42px;text-align:right;font-size:12px;font-weight:700;color:var(--m-muted)}.m-habit-dots{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.m-habit-dot{width:14px;height:14px;border-radius:5px;background:var(--m-bg-2)}.m-habit-dot.done{background:var(--m-accent-grad)}.m-goal-card{display:flex;flex-direction:column;gap:16px}.m-goal-head{display:flex;align-items:flex-start;gap:16px}.m-goal-name{margin:0;font-size:17px;font-weight:800;letter-spacing:-.01em;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.m-goal-desc{margin:6px 0 0}.m-goal-ring{position:relative;width:72px;height:72px;flex:none;border-radius:50%;background:conic-gradient(var(--ring, var(--m-accent)) calc(var(--p, 0) * 1%),var(--m-bg-2) 0);display:grid;place-items:center}.m-goal-ring:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;background:var(--m-panel)}.m-goal-ring-val{position:relative;font-size:15px;font-weight:800;letter-spacing:-.02em}.m-goal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.m-goal-stat{background:var(--m-bg-2);border-radius:var(--m-r-sm);padding:11px 13px;min-width:0}.m-goal-stat.danger{background:var(--m-danger-soft)}.m-goal-stat-val{font-size:19px;font-weight:800;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-goal-stat.danger .m-goal-stat-val{color:var(--m-danger)}.m-goal-stat-label{font-size:11.5px;font-weight:600;color:var(--m-muted);margin-top:3px}.m-rec{background:var(--m-accent-soft);border:1px solid var(--m-border);border-radius:var(--m-r-sm);padding:12px 14px}.m-rec-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--m-accent)}.m-rec-head svg{color:var(--m-accent)}.m-rec-list{margin:8px 0 0;padding:0 0 0 2px;list-style:none;display:flex;flex-direction:column;gap:6px}.m-rec-list li{font-size:13px;color:var(--m-text);line-height:1.45;padding-left:16px;position:relative}.m-rec-list li:before{content:"→";position:absolute;left:0;color:var(--m-accent);font-weight:700}.m-kr-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--m-faint)}.m-kr-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.m-kr{background:var(--m-bg-2);border-radius:var(--m-r-sm);padding:12px 14px}.m-kr-add{background:var(--m-accent-soft);margin-top:10px}.m-kr-head{display:flex;align-items:center;gap:8px}.m-kr-title{font-weight:700;font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-kr-measure{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--m-muted);font-weight:600}.m-kr-num{width:70px;padding:5px 8px}.m-kr-of{font-size:12.5px;color:var(--m-muted);font-weight:600;white-space:nowrap}.m-kr-link{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--m-accent);text-decoration:none;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-kr-link:hover{text-decoration:underline}.m-kr-prog{display:flex;align-items:center;gap:12px;margin-top:10px}.m-stuck{display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:var(--m-r-sm);transition:background var(--m-dur) var(--m-ease);cursor:pointer}.m-stuck:hover{background:var(--m-sunken)}.m-stuck-icon{width:32px;height:32px;border-radius:9px;background:var(--m-warn-soft);color:var(--m-warn);display:grid;place-items:center;flex:none}.m-stuck-name{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-stuck-reason{color:var(--m-muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-trend{display:flex;align-items:flex-end;gap:6px;height:96px;padding:12px 12px 4px}.m-trend-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%}.m-trend-fill{width:100%;max-width:26px;background:var(--m-accent-soft);border-radius:6px;min-height:4px;transition:height .4s var(--m-ease)}.m-trend-bar:hover .m-trend-fill{background:var(--m-accent)}.m-trend-day{font-size:10px;color:var(--m-faint);font-weight:600}@media(max-width:1080px){.m-widgets{grid-template-columns:1fr}}@media(max-width:960px){.m-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.m-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.m-quickadd{display:flex;gap:10px;align-items:center;background:var(--m-panel);border:1.5px solid var(--m-border);border-radius:var(--m-r);padding:6px 6px 6px 14px;margin-bottom:14px;box-shadow:var(--m-shadow-sm);transition:border-color var(--m-dur) var(--m-ease),box-shadow var(--m-dur) var(--m-ease)}.m-quickadd:focus-within{border-color:var(--m-accent);box-shadow:0 0 0 4px var(--m-accent-soft)}.m-quickadd .m-qa-plus{color:var(--m-accent)}.m-quickadd input{flex:1;border:none;outline:none;font-size:14.5px;background:none;padding:8px 0}.m-listwrap{background:var(--m-panel);border:1px solid var(--m-border);border-radius:var(--m-r-lg);box-shadow:var(--m-shadow-sm);padding:8px}.m-list-tools{display:flex;align-items:center;gap:14px;margin-bottom:16px}.m-sort{display:inline-flex;align-items:center;gap:6px;color:var(--m-muted)}.m-sort .m-select{width:auto;padding:6px 10px;font-size:13px}.m-time-prefix{color:var(--m-accent);font-weight:700;font-variant-numeric:tabular-nums;margin-right:6px;flex:none}.m-task-title.done .m-time-prefix{color:var(--m-faint)}.m-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--m-muted)}.m-switch{width:34px;height:20px;border-radius:999px;background:var(--m-border-strong);position:relative;transition:background var(--m-dur) var(--m-ease);flex:none}.m-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--m-shadow-sm);transition:transform var(--m-dur) var(--m-ease)}.m-switch.on{background:var(--m-accent)}.m-switch.on:after{transform:translate(14px)}.m-li .m-task-row{display:flex;align-items:center;gap:9px 10px;flex-wrap:wrap;padding:9px 10px;border-radius:var(--m-r-sm);transition:background var(--m-dur) var(--m-ease);cursor:pointer}.m-li .m-task-row:hover{background:var(--m-sunken)}.m-li .m-task-actions{opacity:0;transition:opacity var(--m-dur) var(--m-ease)}.m-li .m-task-row:hover .m-task-actions{opacity:1}.m-compact .m-task,.m-compact .m-li .m-task-row{padding:4px 10px;gap:6px 8px;flex-wrap:nowrap}.m-compact .m-task-title{font-size:13px}.m-compact .m-badges{gap:4px;flex-wrap:nowrap;overflow:hidden}.m-compact .m-check{width:17px;height:17px;border-radius:6px}.m-compact .m-twisty{height:22px}.m-compact .m-listwrap{padding:4px}.m-board{display:flex;gap:16px;align-items:flex-start;overflow-x:auto;padding-bottom:16px}.m-col{background:var(--m-sunken);border:1px solid var(--m-border);border-radius:var(--m-r-lg);width:290px;flex:none;display:flex;flex-direction:column;max-height:calc(100vh - 220px)}.m-col-head{display:flex;align-items:center;gap:9px;padding:14px 16px;font-weight:700;font-size:13.5px}.m-col-head .m-count{margin-left:auto}.m-col-dot{width:8px;height:8px;border-radius:50%}.m-col-body{padding:4px 10px 12px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:60px;transition:background var(--m-dur) var(--m-ease);border-radius:var(--m-r)}.m-col-body.over{background:var(--m-accent-soft);outline:2px dashed var(--m-accent);outline-offset:-4px}.m-kard{background:var(--m-panel);border:1px solid var(--m-border);border-radius:var(--m-r);padding:13px 14px;box-shadow:var(--m-shadow-sm);cursor:grab;transition:box-shadow var(--m-dur) var(--m-ease),transform var(--m-dur) var(--m-ease)}.m-kard:hover{box-shadow:var(--m-shadow)}.m-kard.dragging{opacity:.6;cursor:grabbing}.m-kard-top{display:flex;align-items:flex-start;gap:10px}.m-kard-title{flex:1;min-width:0;text-align:left;font-size:14px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.m-kard-title.done{color:var(--m-faint);text-decoration:line-through}.m-kard-foot{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:11px}.m-kard-foot:empty{display:none}.m-swimlane{margin-bottom:24px}.m-swimlane-title{display:flex;align-items:center;gap:9px;font-weight:800;font-size:15px;margin-bottom:12px;letter-spacing:-.01em}.m-section{background:var(--m-panel);border:1px solid var(--m-border);border-radius:var(--m-r-lg);box-shadow:var(--m-shadow-sm);padding:24px 26px;margin-bottom:18px}.m-section h2{margin:0 0 4px;font-size:17px;font-weight:700;letter-spacing:-.01em}.m-section .m-sub{margin-bottom:18px}.m-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.m-token{background:var(--m-ok-soft);color:#0f5132;border:1px solid #bfe6cd;border-radius:var(--m-r-sm);padding:14px 16px;margin-top:16px}.m-token code{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;color:var(--m-text);padding:10px 12px;border-radius:8px;margin-top:8px;word-break:break-all;font-size:13px}.m-token-list{list-style:none;margin:18px 0 0;padding:0}.m-token-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--m-border)}.m-token-name{font-weight:700}.m-steps{margin:0 0 18px;padding-left:20px;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.5}.m-steps ul{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.m-steps code,.m-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.m-steps code{background:var(--m-bg-soft, #f2f4f7);padding:1px 5px;border-radius:5px;font-size:12.5px;word-break:break-all}.m-code{display:block;background:#0f172a;color:#e2e8f0;padding:16px 18px;border-radius:var(--m-r-sm);margin:10px 0 16px;font-size:12.5px;line-height:1.55;overflow-x:auto;white-space:pre}.m-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#10182852;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:flex-end;z-index:50;animation:m-fade .18s var(--m-ease)}.m-backdrop-center{justify-content:center;align-items:center}.m-folder-modal{width:380px;max-width:92%;display:flex;flex-direction:column;gap:14px;animation:m-pop .2s var(--m-ease)}.m-folder-modal-glyph{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;color:var(--m-accent);background:var(--m-accent-soft);flex:none}@keyframes m-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}}@keyframes m-fade{0%{opacity:0}}.m-drawer{width:480px;max-width:94%;height:100%;background:var(--m-panel);box-shadow:var(--m-shadow-drawer);overflow-y:auto;padding:22px 26px 50px;display:flex;flex-direction:column;gap:16px;animation:m-slide .26s var(--m-ease)}@keyframes m-slide{0%{transform:translate(40px);opacity:.4}}.m-drawer-head{display:flex;align-items:center;justify-content:space-between}.m-complete-btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14px;padding:9px 14px 9px 11px;border-radius:var(--m-pill);border:1.5px solid var(--m-border-strong);color:var(--m-muted);cursor:pointer;transition:all var(--m-dur) var(--m-ease)}.m-complete-btn:hover{border-color:var(--m-accent);color:var(--m-accent)}.m-complete-btn.done{background:var(--m-ok-soft);border-color:#bfe6cd;color:#0f5132}.m-drawer-title{font-size:21px;font-weight:800;letter-spacing:-.02em;border:none;outline:none;padding:4px 8px;margin:-4px -8px;width:calc(100% + 16px);border-radius:var(--m-r-sm);transition:background var(--m-dur) var(--m-ease),box-shadow var(--m-dur) var(--m-ease)}.m-drawer-title:hover{background:var(--m-sunken)}.m-drawer-title:focus{background:var(--m-panel);box-shadow:0 0 0 2px var(--m-accent-soft)}.m-charcount{font-size:11px;color:var(--m-faint);text-align:right;margin-top:-10px;font-weight:600}.m-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.m-grid2>*{min-width:0}.m-fieldlabel{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--m-faint)}.m-na-toggle{display:flex;align-items:center;gap:11px;padding:13px 15px;border:1.5px solid var(--m-border);border-radius:var(--m-r);transition:all var(--m-dur) var(--m-ease)}.m-na-toggle.on{background:var(--m-warn-soft);border-color:#f3d7a6}.m-na-toggle .m-na-text{flex:1;font-weight:700;font-size:14px}.m-na-toggle .m-na-icon{width:30px;height:30px;border-radius:9px;background:var(--m-bg-2);color:var(--m-faint);display:grid;place-items:center}.m-na-toggle.on .m-na-icon{background:var(--m-warn);color:#fff}.m-subsection{border-top:1px solid var(--m-border);padding-top:18px}.m-subsection h3{margin:0 0 12px;font-size:14px;font-weight:700}.m-sub-row{display:flex;align-items:center;gap:10px;padding:7px 0}.m-sub-row .m-task-title{font-size:13.5px}.m-drawer-foot{margin-top:auto;padding-top:18px;border-top:1px solid var(--m-border)}.m-quote-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.m-quote-card{position:relative;background:var(--m-panel);border:1px solid var(--m-border);border-radius:var(--m-r-lg);box-shadow:var(--m-shadow-sm);padding:20px 20px 14px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.m-quote-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#ec4899,#db2777)}.m-quote-mark{color:var(--m-faint);opacity:.5}.m-quote-text{margin:0;font-size:15px;line-height:1.6;font-weight:500;color:var(--m-text)}.m-quote-foot{display:flex;align-items:center;gap:8px}.m-quote-by{font-size:13px;font-weight:600;color:var(--m-muted);font-style:italic}.m-iconbtn.is-fav{color:#db2777}.m-iconbtn.is-fav:hover{background:color-mix(in srgb,#db2777 14%,transparent);color:#db2777}.m-chips{display:flex;flex-wrap:wrap;gap:8px}.m-chip{padding:6px 13px;border-radius:var(--m-pill);font-size:13px;font-weight:600;text-transform:capitalize;color:var(--m-muted);background:var(--m-bg-2);transition:all var(--m-dur) var(--m-ease)}.m-chip:hover{color:var(--m-text)}.m-chip.active{background:var(--m-accent);color:#fff;box-shadow:0 6px 16px -8px var(--m-accent)}.m-time-chip{display:inline-flex;align-items:center;gap:2px}.m-quote-toast{position:fixed;right:22px;bottom:22px;z-index:80;max-width:380px;display:flex;align-items:flex-start;gap:12px;background:var(--m-panel);border:1px solid var(--m-border);border-left:3px solid #db2777;border-radius:var(--m-r-lg);box-shadow:var(--m-shadow-lg);padding:16px 16px 16px 18px;animation:m-quote-rise var(--m-dur) var(--m-ease)}.m-quote-toast-icon{color:#db2777;flex:none;margin-top:1px}.m-quote-toast-text{font-size:14px;line-height:1.55;font-weight:500;color:var(--m-text)}.m-quote-toast-by{font-size:12.5px;font-weight:600;color:var(--m-muted);font-style:italic;margin-top:4px}@keyframes m-quote-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.m-app{grid-template-columns:1fr;grid-template-rows:auto 1fr}.m-topbar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:color-mix(in srgb,var(--m-panel) 88%,transparent);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--m-border);position:sticky;top:0;z-index:40}.m-topbar .m-logo{font-size:16px}.m-topbar .m-logo-mark{width:28px;height:28px;border-radius:8px}.m-topbar-toggle{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--m-r-sm);color:var(--m-text);background:var(--m-panel);border:1px solid var(--m-border);box-shadow:var(--m-shadow-sm);transition:background var(--m-dur) var(--m-ease),border-color var(--m-dur) var(--m-ease)}.m-topbar-toggle:active{background:var(--m-bg-2)}.m-side{position:fixed;top:0;left:0;bottom:0;width:286px;max-width:84vw;z-index:60;border-right:1px solid var(--m-border);box-shadow:var(--m-shadow-drawer);transform:translate(-100%);transition:transform .26s var(--m-ease)}.m-nav-open .m-side{transform:none}.m-nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#10182866;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .26s var(--m-ease)}.m-nav-open .m-nav-backdrop{opacity:1;pointer-events:auto}.m-page{padding:18px 16px 64px}.m-page-head{gap:11px 12px;margin-bottom:18px;flex-wrap:wrap}.m-page-title{font-size:21px;gap:10px}.m-page-icon{width:34px;height:34px;border-radius:10px}.m-list-tools{flex-wrap:wrap;gap:10px 14px}.m-controls{gap:12px;margin-bottom:18px}.m-stats{gap:10px;margin-bottom:18px}.m-widgets{gap:12px}.m-section{padding:18px 16px}.m-drawer{width:100%;max-width:100%;padding:18px 16px 44px}}
