.cpm-toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:10px;background:var(--color-success-800);color:#fff;font-size:13px;font-weight:600;box-shadow:0 4px 16px #00000026;z-index:2000;pointer-events:none;animation:cpmToastIn .2s ease}.cpm-toast.is-error{background:var(--color-danger-600)}@keyframes cpmToastIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.cpm-toast{animation:none}}.cpm-errboundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-gray-50)}.cpm-errboundary__card{width:100%;max-width:480px;padding:32px;border-radius:12px;background:#fff;border:1px solid var(--color-gray-200);box-shadow:0 1px 3px #0000000f}.cpm-errboundary__title{margin:0 0 12px;font-size:20px;font-weight:600;color:var(--color-gray-800)}.cpm-errboundary__desc{margin:0 0 24px;font-size:14px;line-height:1.6;color:var(--color-gray-600)}.cpm-errboundary__actions{display:flex;gap:12px;flex-wrap:wrap}.cpm-errboundary__btn{padding:8px 18px;border-radius:6px;border:1px solid var(--color-gray-300);background:#fff;color:var(--color-gray-700);font-size:14px;cursor:pointer;transition:background .15s,border-color .15s}.cpm-errboundary__btn:hover{background:var(--color-gray-100)}.cpm-errboundary__btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.cpm-errboundary__btn--primary:hover{background:var(--color-primary-600);border-color:var(--color-primary-600)}.cpm-errboundary__detail{margin-top:24px;font-size:12px;color:var(--color-gray-500)}.cpm-errboundary__detail summary{cursor:pointer;-webkit-user-select:none;user-select:none}.cpm-errboundary__detail pre{margin:8px 0 0;padding:12px;border-radius:6px;background:var(--color-gray-100);color:var(--color-gray-700);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow:auto}.floating-note-btn{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:14px;background:var(--color-primary-text);color:var(--color-white);border:none;cursor:pointer;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;font-size:20px;z-index:999;transition:background-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,transform var(--duration-fast) ease}.floating-note-btn:hover{transform:translateY(-2px);background:var(--color-primary-900);box-shadow:var(--shadow-lg)}.floating-note-btn:active{transform:scale(.97)}.note-badge-count{position:absolute;top:-2px;right:-2px;background-color:var(--color-danger);color:var(--color-white);font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--color-white)}.note-drawer-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-scrim);z-index:1000;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:opacity var(--duration-slow) ease}.note-drawer-backdrop.open{opacity:1;pointer-events:auto}.note-drawer{position:fixed;top:0;right:0;width:416px;height:100%;background-color:var(--color-app-bg);box-shadow:var(--shadow-lg);z-index:1001;display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--duration-slow) var(--ease-out)}.note-drawer.open{transform:translate(0)}@media(max-width:480px){.note-drawer{width:100%}}.note-drawer-header{padding:18px 20px;border-bottom:1px solid var(--color-border-soft);background:var(--color-surface);display:flex;justify-content:space-between;align-items:center}.note-drawer-header h2{margin:0;font-size:var(--font-size-title-sm);font-weight:720;color:var(--color-gray-900)}.note-close-btn{background:transparent;color:var(--color-gray-500);border:none;font-size:20px;cursor:pointer;padding:4px;line-height:1;transition:color .2s}.note-close-btn:hover{color:var(--color-gray-600)}.note-local-hint{padding:10px 24px;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-150);color:var(--color-gray-500);font-size:12px;line-height:1.6}.note-visibility-picker{display:flex;gap:8px}.note-vis-option{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 10px;border-radius:14px;border:1px solid var(--color-gray-200);background:var(--color-white);color:var(--color-gray-600);font-size:12px;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s,opacity .15s}.note-vis-option.selected{border-color:var(--color-primary);background:var(--color-primary-50);color:var(--color-primary-text);font-weight:600}.note-item.is-pinned{box-shadow:0 0 0 1px var(--color-primary-a40),0 2px 8px #0000000f}.note-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px}.note-item-badges{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-width:0}.note-badge{display:inline-flex;align-items:center;gap:2px;font-size:10px;line-height:1;padding:3px 6px;border-radius:999px;background:#0000000f;color:var(--color-gray-600)}.note-badge.pinned{background:var(--color-primary-50);color:var(--color-primary-text)}.note-badge.public{background:var(--color-info-100, #e0f2fe);color:var(--color-info-700, #0369a1)}.note-badge.private{background:#0000000d}.note-badge.author{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-item-actions{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.note-action-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--color-gray-500);cursor:pointer}.note-action-btn:hover,.note-action-btn.active{color:var(--color-primary-text);background:#0000000d}.note-edit-panel{display:flex;flex-direction:column;gap:8px;margin-top:4px}.note-edit-textarea{width:100%;min-height:72px;resize:vertical}.note-edit-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.note-edit-actions{display:inline-flex;gap:6px}.note-edit-cancel,.note-edit-save{height:28px;padding:0 10px;border-radius:6px;font-size:12px;cursor:pointer}.note-edit-cancel{border:1px solid var(--color-gray-300);background:var(--color-white);color:var(--color-gray-700)}.note-edit-save{border:none;background:var(--color-primary, #f47c46);color:#fff;font-weight:600}.note-edit-cancel:disabled,.note-edit-save:disabled{opacity:.6;cursor:not-allowed}.note-item.is-editing .note-drag-handle{display:none}.note-delete-confirm{display:inline-flex;gap:4px;align-items:center;font-size:11px;color:var(--color-gray-600)}.note-confirm-yes,.note-confirm-no{height:auto;font-size:11px;padding:2px 8px;border-radius:4px;border:none;cursor:pointer}.note-confirm-yes{background:var(--color-danger-600);color:var(--color-white)}.note-confirm-no{background:transparent;color:var(--color-gray-600)}.note-add-section{padding:20px 24px;background:var(--color-white);border-bottom:1px solid var(--color-gray-150);display:flex;flex-direction:column;gap:12px}.note-input-title{height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-inset);padding:0 10px;font-size:13px}.note-input-content{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-inset);padding:10px;font-size:13px;min-height:80px;resize:vertical}.note-input-title:focus,.note-input-content:focus{border-color:var(--color-primary-text);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-a15)}.note-add-controls{display:flex;justify-content:space-between;align-items:center}.note-color-picker{display:flex;gap:8px}.color-option{width:20px;height:20px;border-radius:50%;cursor:pointer;border:1.5px solid transparent;transition:transform .1s}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--color-gray-600);transform:scale(1.1)}.color-option.yellow{background-color:var(--color-yellow-200)}.color-option.green{background-color:var(--color-green-200)}.color-option.blue{background-color:var(--color-blue-200)}.color-option.pink{background-color:var(--color-pink-200)}.add-note-btn{background:var(--color-primary);color:var(--color-white);border:none;border-radius:6px;font-size:12px;font-weight:600;padding:6px 16px;height:32px}.add-note-btn:hover{background-color:var(--color-primary-700)}.note-list-scroll{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.note-item{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:16px 16px 16px 36px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px;position:relative;transition:box-shadow .2s ease,transform .2s ease,opacity .15s ease}.note-item:hover{box-shadow:var(--shadow-md)}.note-drag-handle{position:absolute;left:-3px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:20px;height:28px;border-radius:4px;color:var(--color-gray-400);cursor:grab;touch-action:none;z-index:1}.note-drag-handle:hover{color:var(--color-gray-600);background:#0000000d}.note-drag-handle:active,.note-item.dragging .note-drag-handle{cursor:grabbing}.note-item.dragging{opacity:.45}.note-item.drop-before:before,.note-item.drop-after:after{content:"";position:absolute;left:8px;right:8px;height:3px;border-radius:2px;background:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-50);pointer-events:none;z-index:2}.note-item.drop-before:before{top:-10px}.note-item.drop-after:after{bottom:-10px}.note-item.yellow{background-color:var(--color-yellow-100);border-left:4px solid var(--color-yellow-400)}.note-item.green{background-color:var(--color-success-100);border-left:4px solid var(--color-green-400)}.note-item.blue{background-color:var(--color-info-100);border-left:4px solid var(--color-blue-400)}.note-item.pink{background-color:var(--color-pink-100);border-left:4px solid var(--color-pink-400)}.note-item-title{font-size:13px;font-weight:700;color:var(--color-gray-800)}.note-delete-btn{background:transparent;color:var(--color-gray-500);border:none;cursor:pointer;font-size:12px;padding:4px;line-height:1;transition:color .2s;height:auto}.note-delete-btn:hover{color:var(--color-danger)}.note-item-content{font-size:12px;color:var(--color-gray-600);line-height:1.5;white-space:pre-wrap;word-break:break-word}.note-content-link{color:var(--color-primary-text, #2563eb);text-decoration:underline;text-underline-offset:2px;word-break:break-all}.note-content-link:hover{opacity:.85}.note-item.is-readonly{opacity:.96}.note-badge.readonly{background:var(--color-gray-100, #f3f4f6);color:var(--color-gray-600, #4b5563)}.note-section{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.note-section-label{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--color-gray-500);text-transform:none;padding:2px 2px 0}.note-section-empty{font-size:12px;color:var(--color-gray-400);padding:8px 4px 4px}.note-migrate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0f172a66;display:flex;align-items:center;justify-content:center;padding:16px}.note-migrate-dialog{width:min(420px,100%);background:var(--color-white);border-radius:12px;padding:16px 18px;box-shadow:0 16px 48px #0f172a33}.note-migrate-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.note-migrate-head h3{margin:0;font-size:16px}.note-migrate-text{margin:0;font-size:14px;line-height:1.6;color:var(--color-gray-700)}.note-migrate-hint{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--color-gray-500)}.note-migrate-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.note-migrate-cancel,.note-migrate-confirm{height:34px;padding:0 14px;border-radius:8px;font-size:13px;cursor:pointer}.note-migrate-cancel{border:1px solid var(--color-gray-300);background:var(--color-white);color:var(--color-gray-700)}.note-migrate-confirm{border:none;background:var(--color-primary, #f47c46);color:#fff;font-weight:600}.note-migrate-confirm:disabled,.note-migrate-cancel:disabled{opacity:.6;cursor:not-allowed}.note-item-footer{display:flex;justify-content:flex-end;font-size:10px;color:var(--color-gray-500);margin-top:4px}.notes-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-gray-500);height:200px;font-size:12px;gap:8px}.notes-empty-icon{font-size:32px}.note-drawer-tabs{display:flex;background-color:var(--color-white);border-bottom:1px solid var(--color-gray-150)}.note-tab-btn{flex:1;background:transparent;color:var(--color-gray-600);border:none;border-bottom:3px solid transparent;border-radius:0;padding:12px 0;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;text-align:center;height:auto}.note-tab-btn:hover{color:var(--color-primary-text);background-color:#f47c4608}.note-tab-btn.active{color:var(--color-primary-text);border-bottom-color:var(--color-primary);background-color:#f47c460d}.drive-list-drawer{display:flex;flex-direction:column;gap:12px;margin-top:8px}.drive-item-drawer{background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:8px;padding:12px;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s,opacity .2s;box-shadow:0 1px 3px #00000005}.drive-item-drawer:hover{border-color:var(--color-primary);box-shadow:0 2px 8px var(--color-primary-a08)}.drive-link-row-drawer{display:flex;justify-content:space-between;align-items:center;gap:8px}.drive-link-info-drawer{display:flex;align-items:center;gap:8px;flex:1;overflow:hidden}.drive-link-info-drawer .drive-icon{font-size:16px;flex-shrink:0}.drive-link-info-drawer .drive-link-anchor{color:var(--color-primary-text);text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drive-link-info-drawer .drive-link-anchor:hover{color:var(--color-primary-900);text-decoration:underline}.drive-edit-form-drawer{display:flex;flex-direction:column;gap:8px;width:100%}.drive-edit-form-drawer input{height:32px;border-radius:6px;border:1px solid var(--color-gray-300);padding:0 10px;font-size:12px;width:100%}.drive-form-actions-drawer{display:flex;justify-content:flex-end;gap:8px}.note-due-field{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:var(--color-gray-600)}.note-due-field input[type=date]{flex:1;height:30px;padding:0 8px;border:1px solid var(--color-gray-300);border-radius:6px;background:#fff;font-size:12px}.note-due-clear{border:none;background:transparent;color:var(--color-gray-500);font-size:12px;cursor:pointer;text-decoration:underline}.note-todo-editor{margin-top:10px;padding-top:8px;border-top:1px dashed var(--color-gray-200)}.note-todo-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--color-gray-600)}.note-todo-project,.note-todo-assignee{height:26px;max-width:128px;padding:0 6px;border:1px solid var(--color-gray-300);border-radius:6px;background:#fff;font-size:12px;cursor:pointer}.note-todo-row{display:flex;align-items:center;gap:6px;padding:3px 0}.note-todo-text{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-todo-text.is-done{color:var(--color-gray-400);text-decoration:line-through}.note-todo-input{flex:1;height:28px;padding:0 8px;border:1px dashed var(--color-gray-300);border-radius:6px;background:transparent;font-size:13px}.note-todo-del{border:none;background:transparent;color:var(--color-gray-400);font-size:15px;line-height:1;cursor:pointer}.note-todo-del:hover{color:var(--color-danger)}.note-todo-hint{margin:6px 0 0;font-size:11px;line-height:1.5;color:var(--color-gray-500)}.note-todo-view{margin:6px 0 0;padding:0;list-style:none;font-size:13px}.note-todo-view li{padding:1px 0}.note-todo-view li.is-done{color:var(--color-gray-400);text-decoration:line-through}.note-todo-who{margin-left:4px;color:var(--color-primary);font-size:11px;font-style:normal}.note-meta-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.note-meta-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;background:#0000000f;font-size:11px;line-height:1.6;color:var(--color-gray-600)}.note-meta-badge.is-due{background:#0000001a;font-variant-numeric:tabular-nums}.drm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px}.drm-dialog{width:min(460px,100%);max-height:min(80vh,640px);display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 20px 50px #0f172a38;overflow:hidden}.drm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px;border-bottom:1px solid var(--color-gray-150, #eee)}.drm-title{margin:0;font-size:17px;font-weight:700;color:var(--color-gray-900, #111)}.drm-sub{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--color-gray-500)}.drm-close{flex-shrink:0;width:28px;height:28px;border:none;border-radius:6px;background:transparent;font-size:22px;line-height:1;color:var(--color-gray-500);cursor:pointer}.drm-close:hover{background:var(--color-gray-100, #f3f4f6);color:var(--color-gray-800)}.drm-body{padding:12px 20px 8px;overflow:auto;flex:1}.drm-section{margin-bottom:14px}.drm-section-title{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:13px;font-weight:700}.drm-section-danger .drm-section-title{color:var(--color-danger, #dc2626)}.drm-section-warn .drm-section-title{color:var(--color-primary-text, #c2410c)}.drm-section-neutral .drm-section-title{color:var(--color-gray-800, #1f2937)}.drm-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:700;background:var(--color-gray-100, #f3f4f6);color:inherit}.drm-list{margin:0;padding-left:18px;font-size:12px;line-height:1.55;color:var(--color-gray-700, #374151)}.drm-item-name{font-weight:600}.drm-item-meta{color:var(--color-gray-500)}.drm-item-more{color:var(--color-gray-500);list-style:none;margin-left:-18px;padding-left:0}.drm-older-note{margin:0 0 14px;padding:8px 10px;border-radius:8px;background:var(--color-gray-50, #f9fafb);border:1px solid var(--color-gray-150, #eee);font-size:12px;line-height:1.5;color:var(--color-gray-600)}.drm-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 18px;border-top:1px solid var(--color-gray-150, #eee)}.drm-primary{height:36px;padding:0 18px;border:none;border-radius:8px;background:var(--color-primary, #f47c46);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.drm-primary:hover{filter:brightness(1.05)}._appLayout_dn05t_1{height:100vh;display:flex;overflow:hidden;background:var(--color-app-bg)}._sidebar_dn05t_8{position:relative;z-index:20;width:224px;height:100vh;flex:0 0 224px;display:flex;flex-direction:column;padding:18px 12px 12px;overflow-y:auto;background:var(--color-cream);color:var(--color-gray-800);border-right:1px solid var(--color-border)}._sidebarBrand_dn05t_23{display:flex;align-items:center;min-height:64px;padding:4px 10px 17px;margin-bottom:10px;border-bottom:1px solid var(--color-border-soft)}._brandLogo_dn05t_32{display:block;width:168px;max-width:100%;height:auto}._brandIcon_dn05t_39{display:none;width:40px;height:40px;object-fit:contain}._sidebarNav_dn05t_46{display:flex;flex:1;flex-direction:column;gap:3px}._navigationDate_dn05t_53{display:flex;align-items:baseline;gap:6px;padding:3px 12px 10px;color:var(--color-gray-700);font-size:var(--font-size-meta);font-weight:680;font-variant-numeric:tabular-nums;white-space:nowrap}._navigationDate_dn05t_53 span:last-child{color:var(--color-gray-500);font-size:var(--font-size-caption);font-weight:560}._navGroup_dn05t_71{display:flex;flex-direction:column;gap:3px}._navGroup_dn05t_71+._navGroup_dn05t_71{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border-soft)}._navGroupLabel_dn05t_83{padding:2px 12px 4px;color:var(--color-gray-400);font-size:10px;font-weight:680;letter-spacing:.08em;line-height:1.4}._sidebarLink_dn05t_92{position:relative;width:100%;min-height:40px;display:flex;align-items:center;gap:11px;padding:9px 12px;color:var(--color-gray-600);text-decoration:none;border:0;border-radius:var(--radius-md);background:transparent;font-size:var(--font-size-body);font-weight:560;line-height:1.2;text-align:left;transition:color var(--duration-fast) ease,background-color var(--duration-fast) ease}._sidebarLink_dn05t_92:before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:transparent;transition:background-color var(--duration-fast) ease}._sidebarLink_dn05t_92:hover{color:var(--color-gray-900);background:var(--color-surface-inset)}._sidebarLink_dn05t_92._active_dn05t_131{color:var(--color-primary-900);background:var(--color-primary-50);font-weight:680}._sidebarLink_dn05t_92._active_dn05t_131:before{background:var(--color-primary-600)}._navIcon_dn05t_141{flex:0 0 auto;color:var(--color-gray-400);transition:color var(--duration-fast) ease}._sidebarLink_dn05t_92:hover ._navIcon_dn05t_141{color:var(--color-gray-700)}._sidebarLink_dn05t_92._active_dn05t_131 ._navIcon_dn05t_141{color:var(--color-primary-text)}._navLabel_dn05t_155{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._navCountBadge_dn05t_162{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:auto;border-radius:999px;background:var(--color-danger-600);color:var(--color-white);font-size:10px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}._sidebarFooter_dn05t_179{position:relative;display:flex;flex-direction:column;gap:6px;padding-top:10px;margin-top:12px;border-top:1px solid var(--color-border-soft)}._appVersion_dn05t_189{padding:2px 12px 4px;color:var(--color-gray-400);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;letter-spacing:.02em;cursor:default;-webkit-user-select:text;user-select:text}._notificationBell_dn05t_199{box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none}._badgeDot_dn05t_205{position:absolute;top:8px;left:27px;width:8px;height:8px;border-radius:50%;border:2px solid var(--color-cream);background:var(--color-danger-600)}._userProfileSummary_dn05t_216{width:100%;min-height:54px;display:flex;align-items:center;gap:10px;padding:8px 10px;margin-top:2px;border:1px solid transparent;border-radius:var(--radius-lg);background:transparent;color:var(--color-gray-800);text-align:left;transition:border-color var(--duration-fast) ease,background-color var(--duration-fast) ease}._userProfileSummary_dn05t_216:hover,._userProfileSummary_dn05t_216[aria-expanded=true]{border-color:var(--color-border);background:var(--color-surface)}._avatarCircle_dn05t_240{width:34px;height:34px;flex:0 0 34px;display:flex;align-items:center;justify-content:center;overflow:hidden;object-fit:cover;border:1px solid var(--color-primary-a20);border-radius:50%;background:var(--color-primary-50);color:var(--color-primary-text);font-size:var(--font-size-caption);font-weight:760;letter-spacing:.02em}._userInfoText_dn05t_258{min-width:0;display:flex;flex-direction:column;gap:2px}._userNickname_dn05t_265,._userRoleLabel_dn05t_266{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._userNickname_dn05t_265{color:var(--color-gray-800);font-size:var(--font-size-meta);font-weight:650}._userRoleLabel_dn05t_266{color:var(--color-gray-500);font-size:var(--font-size-caption)}._accountMenuScrim_dn05t_283{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998}._userProfileMenu_dn05t_289{position:absolute;z-index:999;left:0;right:0;bottom:62px;padding:5px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}._userProfileMenuItem_dn05t_302{width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-gray-700);font-size:var(--font-size-meta);font-weight:600;text-align:left}._userProfileMenuItem_dn05t_302:hover{background:var(--color-gray-100)}._logoutMenuItem_dn05t_319{color:var(--color-danger-600)}._logoutMenuItem_dn05t_319:hover{background:var(--color-danger-50)}._contentWrap_dn05t_327{min-width:0;flex:1;display:flex;flex-direction:column;overflow:hidden}._contentArea_dn05t_335{flex:1;min-width:0;padding:var(--space-5);overflow-y:auto;background:var(--color-app-bg);scrollbar-gutter:stable}._loadError_dn05t_344{padding:12px 16px;margin:0 0 16px;border:1px solid rgba(220,38,38,.18);border-radius:var(--radius-md);background:var(--color-danger-50);color:var(--color-danger-600);font-size:var(--font-size-meta)}._dialogScrim_dn05t_354,._notificationScrim_dn05t_355{position:fixed;top:0;right:0;bottom:0;left:0}._dialogScrim_dn05t_354{z-index:9999;background:var(--color-scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}._logoutDialog_dn05t_366{position:fixed;z-index:10000;top:50%;left:50%;width:min(368px,calc(100vw - 32px));padding:24px;transform:translate(-50%,-50%);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-lg);text-align:left}._dialogSignal_dn05t_380{width:36px;height:4px;margin-bottom:20px;border-radius:var(--radius-pill);background:var(--color-primary-600)}._dialogTitle_dn05t_388{margin:0 0 8px;color:var(--color-gray-900);font-size:var(--font-size-title-sm);font-weight:720;letter-spacing:-.01em}._dialogCopy_dn05t_396{margin:0 0 22px;color:var(--color-gray-500);font-size:var(--font-size-meta);line-height:1.6;text-wrap:pretty}._dialogActions_dn05t_404{display:flex;justify-content:flex-end;gap:8px}._secondaryDialogButton_dn05t_410,._primaryDialogButton_dn05t_411{min-width:96px;height:36px;padding:0 16px;border-radius:var(--radius-md);font-size:var(--font-size-meta);font-weight:650;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,transform var(--duration-fast) ease}._secondaryDialogButton_dn05t_410{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-gray-600)}._secondaryDialogButton_dn05t_410:hover{background:var(--color-gray-100);border-color:var(--color-gray-300)}._primaryDialogButton_dn05t_411{border:1px solid var(--color-primary-text);background:var(--color-primary-text);color:var(--color-white)}._primaryDialogButton_dn05t_411:hover{border-color:var(--color-primary-900);background:var(--color-primary-900)}._secondaryDialogButton_dn05t_410:active,._primaryDialogButton_dn05t_411:active{transform:scale(.98)}._notificationScrim_dn05t_355{z-index:9900;background:transparent}._notificationPanel_dn05t_456{position:fixed;z-index:9901;left:16px;bottom:84px;width:min(360px,calc(100vw - 32px));padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-lg);text-align:left}._notificationHeader_dn05t_470{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid var(--color-border-soft)}._notificationTitle_dn05t_479{display:flex;align-items:center;gap:8px;color:var(--color-gray-900);font-size:var(--font-size-body);font-weight:720}._notificationCount_dn05t_488{min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px;border-radius:var(--radius-pill);background:var(--color-gray-100);color:var(--color-gray-500);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums}._iconButton_dn05t_502{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-gray-400)}._iconButton_dn05t_502:hover{background:var(--color-primary-50);color:var(--color-primary-text)}._notificationControls_dn05t_520{display:flex;justify-content:flex-end;margin-bottom:10px}._markReadButton_dn05t_526{min-height:28px;padding:0 10px;border:1px solid var(--color-primary-a20);border-radius:var(--radius-sm);background:var(--color-primary-50);color:var(--color-primary-text);font-size:var(--font-size-caption);font-weight:650}._markReadButton_dn05t_526:hover{background:var(--color-primary-100)}._notificationList_dn05t_541{max-height:252px;display:flex;flex-direction:column;gap:6px;padding-right:2px;overflow-y:auto}._notificationItem_dn05t_550{--notification-accent: var(--color-gray-400);padding:10px 10px 9px 13px;border-left:3px solid var(--notification-accent);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-surface-subtle);color:var(--color-gray-700);font-size:var(--font-size-caption);line-height:1.5}._notificationItem_dn05t_550._unread_dn05t_561{background:var(--color-primary-50)}._notificationAnnouncement_dn05t_565{--notification-accent: var(--color-primary-text)}._notificationProject_dn05t_569{--notification-accent: var(--color-info)}._notificationSystem_dn05t_573{--notification-accent: var(--color-gray-400)}._notificationKicker_dn05t_577{display:block;margin-bottom:3px;color:var(--notification-accent);font-weight:700}._notificationMeta_dn05t_584{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px}._notificationTime_dn05t_592,._revokeHint_dn05t_593{color:var(--color-gray-400);font-size:10px;font-variant-numeric:tabular-nums}._revokeConfirm_dn05t_599{display:inline-flex;align-items:center;gap:5px}._revokeDangerButton_dn05t_605,._revokeGhostButton_dn05t_606{min-height:24px;padding:0 7px;border:0;border-radius:var(--radius-sm);font-size:10px}._revokeDangerButton_dn05t_605{background:var(--color-danger-600);color:var(--color-white)}._revokeGhostButton_dn05t_606{background:transparent;color:var(--color-gray-500)}._revokeGhostButton_dn05t_606:hover{background:var(--color-gray-100)}._notificationEmpty_dn05t_628{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--color-gray-400);font-size:var(--font-size-meta)}._notificationEmptyMark_dn05t_639{width:32px;height:4px;border-radius:var(--radius-pill);background:var(--color-gray-200)}._announcementComposer_dn05t_646{padding-top:12px;margin-top:12px;border-top:1px solid var(--color-border-soft)}._announcementLabel_dn05t_652{display:block;margin-bottom:8px;color:var(--color-gray-700);font-size:var(--font-size-caption);font-weight:700}._announcementInput_dn05t_660{width:100%;min-height:64px;padding:8px 10px;margin-bottom:8px;resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-inset);color:var(--color-gray-800);font-size:var(--font-size-meta);line-height:1.5}._announcementSubmit_dn05t_674{width:100%;height:34px;border:1px solid var(--color-primary-text);border-radius:var(--radius-md);background:var(--color-primary-text);color:var(--color-white);font-size:var(--font-size-meta);font-weight:650}._announcementSubmit_dn05t_674:hover:not(:disabled){border-color:var(--color-primary-900);background:var(--color-primary-900)}@media(max-width:820px){._sidebar_dn05t_8{width:76px;flex-basis:76px;padding-inline:10px}._sidebarBrand_dn05t_23{justify-content:center;padding-inline:0}._brandLogo_dn05t_32{display:none}._brandIcon_dn05t_39{display:block}._sidebarLink_dn05t_92{justify-content:center;padding-inline:10px}._sidebarLink_dn05t_92:before{left:-10px}._navLabel_dn05t_155,._navGroupLabel_dn05t_83,._userInfoText_dn05t_258,._appVersion_dn05t_189,._navigationDate_dn05t_53{display:none}._navCountBadge_dn05t_162{position:absolute;top:4px;right:5px;min-width:8px;width:8px;height:8px;padding:0;overflow:hidden;color:transparent;border:2px solid var(--color-cream)}._navGroup_dn05t_71+._navGroup_dn05t_71{margin-top:6px;padding-top:6px}._badgeDot_dn05t_205{left:auto;right:12px}._userProfileSummary_dn05t_216{justify-content:center;padding-inline:6px}._userProfileMenu_dn05t_289{width:156px;right:auto}._contentArea_dn05t_335{padding:var(--space-4)}._notificationPanel_dn05t_456{left:88px}}@media(max-width:560px){._contentArea_dn05t_335{padding:var(--space-3)}._notificationPanel_dn05t_456{left:12px;bottom:12px;width:calc(100vw - 24px)}}@media(prefers-reduced-motion:reduce){._sidebarLink_dn05t_92,._sidebarLink_dn05t_92:before,._navIcon_dn05t_141,._userProfileSummary_dn05t_216,._secondaryDialogButton_dn05t_410,._primaryDialogButton_dn05t_411{transition:none}}:root{--color-primary: #f47c46;--color-primary-600: #ea580c;--color-primary-700: #d85d26;--color-primary-900: #5a2915;--color-primary-50: #fff7ed;--color-primary-100: #ffedd5;--color-primary-text: #c2410c;--color-primary-a40: rgba(244, 124, 70, .4);--color-primary-a20: rgba(244, 124, 70, .2);--color-primary-a10: rgba(244, 124, 70, .1);--color-primary-a08: rgba(244, 124, 70, .08);--color-gray-50: #f9fafb;--color-gray-75: #fafafa;--color-gray-100: #f3f4f6;--color-gray-150: #f0f0f0;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-700: #334155;--color-danger: #ef4444;--color-danger-600: #dc2626;--color-danger-100: #fee2e2;--color-danger-50: #fef2f2;--color-success: #10b981;--color-success-600: #16a34a;--color-success-100: #dcfce7;--color-success-50: #f0fdf4;--color-warning: #f59e0b;--color-warning-600: #d97706;--color-warning-50: #fffbeb;--color-info: #2563eb;--color-info-500: #3b82f6;--color-info-700: #1d4ed8;--color-info-100: #dbeafe;--color-info-50: #eff6ff;--color-white: #fff;--color-cream: #fbfaf8;--color-app-bg: #f5f4f1;--color-surface: #ffffff;--color-surface-subtle: #faf9f7;--color-surface-inset: #f1f0ed;--color-border: rgba(31, 41, 55, .11);--color-border-soft: rgba(31, 41, 55, .07);--color-scrim: rgba(38, 27, 20, .46);--color-primary-300: #fdba74;--color-primary-400: #fb923c;--color-primary-500: #f97316;--color-primary-800: #9a3412;--color-primary-a15: rgba(244, 124, 70, .15);--color-gray-900: #111827;--color-warning-100: #fef3c7;--color-warning-800: #92400e;--color-success-800: #166534;--color-yellow-50: #fefce8;--color-yellow-100: #fef9c3;--color-yellow-200: #fef08a;--color-yellow-400: #facc15;--color-yellow-800: #854d0e;--color-yellow-900: #713f12;--color-green-200: #bbf7d0;--color-green-400: #4ade80;--color-blue-200: #bfdbfe;--color-blue-400: #60a5fa;--color-pink-100: #fce7f3;--color-pink-200: #fbcfe8;--color-pink-400: #f472b6;--focus-ring: 3px solid rgba(194, 65, 12, .28);--focus-ring-offset: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--font-size-caption: 11px;--font-size-meta: 12px;--font-size-body: 14px;--font-size-label: 14px;--font-size-title-sm: 16px;--font-size-title: 20px;--font-size-title-lg: 24px;--font-size-display: 28px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(50, 32, 20, .04);--shadow-md: 0 1px 2px rgba(50, 32, 20, .05), 0 8px 22px rgba(50, 32, 20, .07);--shadow-lg: 0 18px 48px rgba(50, 32, 20, .18);--duration-fast: .12s;--duration-base: .18s;--duration-slow: .24s;--ease-out: cubic-bezier(.23, 1, .32, 1)}*{box-sizing:border-box}html{font-family:Aptos,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}:where(a,button,input,textarea,select,[role=button],[tabindex]):focus-visible:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.skeleton{position:relative;overflow:hidden;background:var(--color-gray-200);border-radius:var(--radius-sm);min-height:12px}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{margin:0;background:var(--color-app-bg);color:var(--color-gray-800);font-size:var(--font-size-body);line-height:1.45}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.card{width:100%;max-width:420px;background:var(--color-white);border-radius:12px;padding:24px;box-shadow:0 8px 24px #00000014;display:flex;flex-direction:column;gap:12px}.center{min-height:100vh;display:flex;align-items:center;justify-content:center}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.error{color:var(--color-danger-600);margin:0}html,body,#root{height:100vh;margin:0;padding:0;overflow:hidden}.content-card{max-width:100%}.toolbar{margin-bottom:12px}.toolbar input{width:320px;max-width:100%}.table-wrap{max-height:60vh;overflow:auto;border:1px solid var(--color-gray-200);border-radius:8px}.user-table{width:100%;border-collapse:collapse;background:var(--color-white)}.user-table th,.user-table td{padding:10px 12px;border-bottom:1px solid var(--color-gray-200);text-align:left;font-size:14px}.user-table th{background:var(--color-gray-50)}.pagination{display:flex;align-items:center;gap:12px;margin-top:12px}.hint{margin:0;color:var(--color-gray-600)}.gantt-form{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;align-items:end}.gantt-form .gantt-date-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:10px;align-items:end}.gantt-field{display:flex;flex-direction:column;gap:6px;min-width:0}.gantt-field-label{font-size:13px;font-weight:500;color:var(--color-gray-700)}.gantt-form button{min-width:180px}.success{color:#047857;margin:0}.checkbox-line{display:flex;align-items:center;gap:8px;font-size:14px}.checkbox-line input{width:auto;height:auto}.signin-v1-bg{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:32px;overflow:hidden;background:#efede8}.signin-v1-mask{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.52;background-image:linear-gradient(var(--color-border-soft) 1px,transparent 1px),linear-gradient(90deg,var(--color-border-soft) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.78),transparent 92%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.78),transparent 92%)}.signin-v1-shell{position:relative;z-index:1;width:min(940px,100%);min-height:540px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);overflow:hidden;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);box-shadow:var(--shadow-lg)}.signin-v1-intro{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:42px;overflow:hidden;background:var(--color-primary-900);color:var(--color-white)}.signin-v1-intro:after{content:"";position:absolute;right:-96px;bottom:-96px;width:280px;height:280px;border:46px solid rgba(255,255,255,.055);border-radius:50%;pointer-events:none}.signin-v1-logo{position:relative;z-index:1;width:186px;height:auto;padding:11px 13px;border-radius:var(--radius-lg);background:var(--color-white)}.signin-v1-intro-copy{position:relative;z-index:1;max-width:430px;margin-block:auto 44px}.signin-v1-eyebrow{display:block;color:var(--color-primary-300);font-size:10px;font-weight:760;letter-spacing:.16em}.signin-v1-intro h1{max-width:380px;margin:14px 0;font-size:clamp(30px,4vw,44px);font-weight:720;line-height:1.16;letter-spacing:-.035em;text-wrap:balance}.signin-v1-intro p{margin:0;color:#ffffffb3;font-size:var(--font-size-body);line-height:1.7;text-wrap:pretty}.signin-v1-track{position:relative;z-index:1;display:flex;align-items:center;gap:0;width:min(300px,72%)}.signin-v1-track:before{content:"";position:absolute;left:6px;right:6px;height:1px;background:#ffffff38}.signin-v1-track span{position:relative;width:11px;height:11px;margin-right:calc(50% - 17px);border:2px solid var(--color-primary-900);border-radius:50%;background:var(--color-primary-300);box-shadow:0 0 0 1px #ffffff42}.signin-v1-track span:last-child{margin-right:0}.signin-v1-card{display:flex;flex-direction:column;justify-content:center;padding:52px 46px 38px;background:var(--color-surface)}.signin-v1-header{margin-bottom:28px;text-align:left}.signin-v1-header .signin-v1-eyebrow{color:var(--color-primary-text)}.signin-v1-header h2{margin:10px 0 7px;color:var(--color-gray-900);font-size:var(--font-size-title-lg);font-weight:740;letter-spacing:-.02em}.signin-v1-header p{margin:0;color:var(--color-gray-500);font-size:var(--font-size-meta);line-height:1.5}.signin-v1-error{margin-bottom:16px;padding:10px 12px;border:1px solid rgba(220,38,38,.18);border-radius:var(--radius-md);background:var(--color-danger-50);color:var(--color-danger-600);font-size:var(--font-size-meta);font-weight:560;line-height:1.45}.signin-v1-form{display:flex;flex-direction:column;gap:12px}.signin-v1-hidden{display:none}.signin-v1-field input{width:100%;height:44px;padding:0 13px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-inset);color:var(--color-gray-900);font-size:var(--font-size-meta);transition:border-color var(--duration-fast) ease,background-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.signin-v1-field input::placeholder{color:var(--color-gray-400)}.signin-v1-field input:hover{border-color:var(--color-gray-300)}.signin-v1-field input:focus{border-color:var(--color-primary-text);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-a15)}.signin-v1-password{position:relative}.signin-v1-password input{padding-right:66px}.signin-v1-eye{position:absolute;right:7px;top:50%;min-width:48px;height:30px;padding:0 8px;transform:translateY(-50%);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-gray-500);font-size:var(--font-size-caption);font-weight:620}.signin-v1-eye:hover{background:var(--color-primary-50);color:var(--color-primary-text)}.signin-v1-submit{width:100%;height:44px;margin-top:4px;border:1px solid var(--color-primary-text);border-radius:var(--radius-md);background:var(--color-primary-text);color:var(--color-white);font-size:var(--font-size-body);font-weight:680;letter-spacing:.015em;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,transform var(--duration-fast) ease}.signin-v1-submit:hover:not(:disabled){border-color:var(--color-primary-900);background:var(--color-primary-900)}.signin-v1-submit:active:not(:disabled){transform:scale(.985)}.signin-v1-footer{margin-top:28px;color:var(--color-gray-400);font-size:var(--font-size-caption);line-height:1.45;text-align:left}@media(max-width:760px){.signin-v1-bg{padding:16px;overflow-y:auto}.signin-v1-shell{grid-template-columns:1fr;min-height:auto}.signin-v1-intro{min-height:220px;padding:24px}.signin-v1-logo{width:150px}.signin-v1-intro-copy{margin:32px 0 8px}.signin-v1-intro h1{margin-block:10px 8px;font-size:26px}.signin-v1-track{display:none}.signin-v1-card{padding:32px 24px 24px}.signin-v1-footer{text-align:center}}@media(prefers-reduced-motion:reduce){.signin-v1-field input,.signin-v1-submit{transition:none}}.close-btn{border:none;background:transparent;cursor:pointer;color:var(--color-gray-500);display:inline-flex;align-items:center;justify-content:center;padding:6px;border-radius:var(--radius-sm);transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease}.close-btn:hover,.close-btn-circle:hover,.note-close-btn:hover,.drawer-close-btn:hover{background-color:var(--color-primary-100);color:var(--color-primary-text)}.empty-placeholder-card{background:#fff;border:1px dashed #ffd8be;border-radius:12px;padding:48px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin:20px 0;box-shadow:0 4px 12px #f47c4605}.empty-placeholder-icon{font-size:44px;line-height:1}.empty-placeholder-title{font-size:16px;font-weight:700;color:var(--color-primary-900);margin:0}.empty-placeholder-desc{font-size:13px;color:var(--color-gray-500);margin:0;max-width:340px;line-height:1.5}.empty-cta-btn{text-decoration:none;transition:background .15s ease-in-out}.empty-cta-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--color-primary-a20)}.project-unified-header{display:flex;justify-content:space-between;align-items:center;background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px 20px;box-shadow:var(--shadow-sm);margin-bottom:var(--space-5);box-sizing:border-box;flex-wrap:wrap;gap:16px}.project-unified-header select{height:38px;border-radius:var(--radius-md);border:1px solid var(--color-border);padding:0 12px;font-size:13px;background-color:var(--color-surface-inset);cursor:pointer;transition:border-color .2s}.project-unified-header select:focus{border-color:var(--color-primary)}.project-unified-header input{height:38px;border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:13px;transition:border-color .2s;background-color:var(--color-surface-inset);box-sizing:border-box}.project-unified-header input:focus{border-color:var(--color-primary)}img.avatar-mini{display:block;object-fit:cover;flex-shrink:0}.filter-select-wrap{position:relative}.kanban-narrow-select{width:110px;flex:none}.custom-select-trigger{width:100%;height:38px;border-radius:var(--radius-md);border:1px solid var(--color-gray-300);padding:0 12px;box-sizing:border-box;background-color:var(--color-white);cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:500;color:var(--color-gray-700);-webkit-user-select:none;user-select:none;transition:border-color .2s,box-shadow .2s;text-align:left}.custom-select-trigger>span:first-child{flex:1;min-width:0;text-align:left}.custom-select-trigger:hover{border-color:var(--color-gray-400)}.custom-select-trigger.focused{border-color:var(--color-primary-text);box-shadow:0 0 0 3px var(--color-primary-a15)}.custom-select-trigger .chevron-arrow{border:solid var(--color-gray-500);border-width:0 1.5px 1.5px 0;display:inline-block;padding:3px;transform:rotate(45deg);transition:transform .2s}.custom-select-trigger.focused .chevron-arrow{transform:rotate(-135deg);border-color:var(--color-primary)}.custom-select-popup-panel{position:absolute;top:42px;left:0;width:100%;background-color:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1000;overflow:hidden;max-height:240px;display:flex;flex-direction:column;box-sizing:border-box}.custom-select-header{background-color:var(--color-primary);color:var(--color-white);font-size:11px;font-weight:700;padding:6px 12px;-webkit-user-select:none;user-select:none;text-align:left;letter-spacing:.5px}.custom-select-options-list{overflow-y:auto;flex:1;max-height:200px;padding:4px 0;text-align:left}.custom-select-options-list::-webkit-scrollbar{width:6px}.custom-select-options-list::-webkit-scrollbar-track{background:transparent}.custom-select-options-list::-webkit-scrollbar-thumb{background-color:var(--color-gray-300);border-radius:3px}.custom-select-option{padding:6px 10px;font-size:12px;font-weight:500;color:var(--color-gray-700);cursor:pointer;transition:background-color .15s,color .15s;text-align:left}.custom-select-option:hover{background-color:var(--color-gray-100)}.custom-select-option.selected{font-weight:600;color:var(--color-primary-text);background:var(--color-primary-50)}.project-unified-header input:focus,.filter-input-wrap input:focus,.search-box input:focus{border-color:var(--color-primary-text);box-shadow:0 0 0 3px var(--color-primary-a15)}.status-badge{display:inline-block;padding:3px 8px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;line-height:1}.status-badge.status-active{background-color:var(--color-success-100);color:var(--color-success-800)}.status-badge.status-planning{background-color:var(--color-primary-100);color:var(--color-primary-text)}.status-badge.status-hold{background-color:var(--color-warning-100);color:var(--color-warning-800)}.status-badge.status-completed{background-color:var(--color-gray-100);color:var(--color-gray-600)}button.ui-button.ui-button--primary{min-height:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;border:1px solid var(--color-primary-text);border-radius:var(--radius-md);background:var(--color-primary-text);background-image:none;color:var(--color-white);font-size:var(--font-size-meta);font-weight:680;line-height:1;white-space:nowrap;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,transform var(--duration-fast) ease}button.ui-button.ui-button--primary:hover:not(:disabled){border-color:var(--color-primary-900);background:var(--color-primary-900)}button.ui-button.ui-button--primary:active:not(:disabled){transform:scale(.98)}button.ui-button.ui-button--compact{min-height:30px;height:30px;padding-inline:12px;font-size:var(--font-size-caption)}button.ui-button.ui-button--secondary{min-height:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-gray-700);font-size:var(--font-size-meta);font-weight:640;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease}button.ui-button.ui-button--secondary:hover:not(:disabled){border-color:var(--color-gray-300);background:var(--color-gray-100)}table.ui-table{width:100%;border-collapse:collapse;background:var(--color-surface);color:var(--color-gray-700);font-size:var(--font-size-meta);font-variant-numeric:tabular-nums}table.ui-table th,table.ui-table td{padding:11px 14px;border-bottom:1px solid var(--color-border-soft);text-align:left;vertical-align:middle}table.ui-table th{background:var(--color-surface-subtle);color:var(--color-gray-500);font-size:var(--font-size-caption);font-weight:700;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}table.ui-table tbody tr{transition:background-color var(--duration-fast) ease}table.ui-table tbody tr:hover{background:var(--color-primary-50)}.ui-fill-page{min-height:100%;display:flex;flex-direction:column}.ui-fill-page>*{flex-shrink:0}.ui-table-card{flex:1 1 0;min-height:var(--ui-table-card-min, 320px);display:flex;flex-direction:column;overflow:hidden}.ui-table-scroll{flex:1 1 0;display:block;overflow:auto;overscroll-behavior:contain}.ui-table-scroll:has(>.ui-empty-state){display:flex;align-items:center;justify-content:center}.ui-table-scroll table thead th{position:sticky;top:0;z-index:2}.ui-table-scroll table thead th:after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--ui-table-head-rule-size, 1px);background:var(--ui-table-head-rule, var(--color-gray-200))}.ui-page-header.ui-page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:16px 20px;margin-bottom:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.ui-page-title.ui-page-title{margin:0;color:var(--color-gray-900);font-size:var(--font-size-title);font-weight:740;line-height:1.2;letter-spacing:-.015em;text-wrap:balance}.ui-page-subtitle.ui-page-subtitle{margin:4px 0 0;color:var(--color-gray-500);font-size:var(--font-size-meta);line-height:1.5;text-wrap:pretty}.ui-empty-state.ui-empty-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-subtle);color:var(--color-gray-500);text-align:center}.ui-scrim.ui-scrim{background:var(--color-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media(prefers-reduced-motion:reduce){button.ui-button,table.ui-table tbody tr{transition:none}}.custom-select-trigger.is-disabled{opacity:.55;cursor:not-allowed}.app-version{padding:4px 8px 0;font-size:11px;line-height:1.4;color:#fff9;letter-spacing:.3px;cursor:default;-webkit-user-select:text;user-select:text}
