:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f5fc;--surface:#fff;--surface-2:#f0effa;--border:#e4e2f2;--text:#23204a;--text-sub:#666583;--primary:#6366f1;--primary-hover:#4f46e5;--primary-soft:#e0e7ff;--danger:#dc2626;--danger-bg:#dc2626;--success:#059669;--warning:#b45309;--sidebar-bg:#1e1b4b;--sidebar-text:#c7c9ea;--sidebar-border:transparent;--radius:12px;--shadow:0 2px 8px #4f46b41a;--shadow-lg:0 8px 24px #4f46b429;--header-h:52px;--sidebar-w:224px;--gradient-primary:linear-gradient(135deg, #6366f1, #8b5cf6);--overlay:#1e1b4b80;--overlay-soft:#1e1b4b52;--badge-text:#4338ca;--priority-urgent-bg:#fee2e2;--priority-urgent-text:#b91c1c;--priority-high-bg:#ffedd5;--priority-high-text:#c2410c;--priority-medium-bg:#e0e7ff;--priority-medium-text:#4338ca;--due-overdue-bg:#fee2e2;--due-overdue-text:#b91c1c;--due-today-bg:#fef3c7;--due-today-text:#92400e;--toast-info-bg:#4c4a78;--toast-success-bg:#059669;--toast-error-bg:#dc2626;--add-list-bg:#fff9;--add-list-border:#c3c1e0;--hover-soft:#6366f11a;--tool-hover:#091e4214;--swatch-border:#091e4226;--shadow-modal:0 16px 48px #1e1b4b47;--shadow-drawer:-8px 0 32px #1e1b4b38;--shadow-toast:0 8px 24px #1e1b4b47;--shadow-tabbar:0 -2px 12px #1e1b4b14;--shadow-pop:0 4px 16px #091e4233;--lane-bg:#eae8f5}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15132b;--surface:#1e1b3a;--surface-2:#2a2650;--border:#3b3768;--text:#eceafe;--text-sub:#a5a3c7;--primary:#818cf8;--primary-hover:#a5b4fc;--primary-soft:#818cf82e;--danger:#f87171;--danger-bg:#dc2626;--success:#34d399;--warning:#fbbf24;--sidebar-bg:#131126;--sidebar-text:#c7c9ea;--sidebar-border:#2f2b5c;--shadow:0 2px 8px #0006;--shadow-lg:0 8px 24px #00000080;--gradient-primary:linear-gradient(135deg, #6366f1, #8b5cf6);--overlay:#0009;--overlay-soft:#00000073;--badge-text:#c7d2fe;--priority-urgent-bg:#f871712e;--priority-urgent-text:#fca5a5;--priority-high-bg:#fb923c2e;--priority-high-text:#fdba74;--priority-medium-bg:#818cf82e;--priority-medium-text:#c7d2fe;--due-overdue-bg:#f871712e;--due-overdue-text:#fca5a5;--due-today-bg:#fbbf2429;--due-today-text:#fcd34d;--toast-info-bg:#38355f;--toast-success-bg:#047857;--toast-error-bg:#b91c1c;--add-list-bg:#ffffff0a;--add-list-border:#443f7a;--hover-soft:#818cf826;--tool-hover:#ffffff14;--swatch-border:#fff3;--shadow-modal:0 16px 48px #0009;--shadow-drawer:-8px 0 32px #0000008c;--shadow-toast:0 8px 24px #00000080;--shadow-tabbar:0 -2px 12px #0006;--shadow-pop:0 4px 16px #0000008c;--lane-bg:#171430}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;font-size:14px}a{color:var(--primary);text-decoration:none}button{font-family:inherit}.app-shell{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--header-h) 1fr;grid-template-areas:"sidebar header""sidebar main";height:100%;display:grid}.app-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);color:var(--sidebar-text);flex-direction:column;grid-area:sidebar;display:flex;overflow-y:auto}.app-header{background:var(--surface);border-bottom:1px solid var(--border);grid-area:header;align-items:center;gap:12px;padding:0 16px;display:flex}.header-logo{color:var(--primary);letter-spacing:.01em;font-size:17px;font-weight:800;display:none}.app-main{grid-area:main;position:relative;overflow:auto}.sidebar-logo{color:#fff;letter-spacing:.01em;padding:16px;font-size:18px;font-weight:800}.sidebar-nav{flex-direction:column;gap:3px;padding:0 10px;display:flex}.sidebar-link{color:var(--sidebar-text);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff1a}.sidebar-link.active{background:var(--primary);color:#fff}.sidebar-section{text-transform:uppercase;letter-spacing:.06em;color:#8f8fc0;padding:16px 14px 4px;font-size:11px}.page{max-width:1200px;padding:20px 24px}.page-wide{padding:20px 24px}.page-title{align-items:center;gap:12px;margin:0 0 16px;font-size:20px;font-weight:700;display:flex}.card-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);cursor:pointer;border-top:4px solid #0000;flex-direction:column;gap:8px;padding:14px 16px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.tile:hover{box-shadow:var(--shadow-lg);border-color:var(--border);transform:translateY(-2px)}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.tile-title{word-break:break-word;align-items:center;gap:8px;font-weight:700;display:flex}.tile-sub{color:var(--text-sub);font-size:12px}.btn{cursor:pointer;background:var(--surface-2);color:var(--text);border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:7px 14px;font-size:14px;font-weight:500;transition:filter .15s,transform .15s,box-shadow .15s;display:inline-flex}.btn:hover{filter:brightness(.96)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--gradient-primary);color:#fff}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 4px 12px #6366f159}.btn-danger{background:var(--danger-bg);color:#fff}.btn-ghost{color:var(--text-sub);background:0 0}.btn-sm{padding:4px 10px;font-size:13px}.input,.select,.textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:10px;padding:8px 12px;font-family:inherit;font-size:14px}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--primary);outline-offset:-1px}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field-label{color:var(--text-sub);font-size:12px;font-weight:600}.field-error{color:var(--danger);font-size:12px}.badge{background:var(--primary-soft);color:var(--badge-text);border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.avatar{background:var(--gradient-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-flex}.avatar-sm{width:22px;height:22px;font-size:10px}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px;font-size:13px}.table th{color:var(--text-sub);background:var(--surface-2);font-weight:600}.table tr:last-child td{border-bottom:none}.modal-overlay{background:var(--overlay);z-index:100;justify-content:center;align-items:flex-start;padding-top:80px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow-modal);border-radius:16px;width:480px;max-width:calc(100vw - 32px);max-height:calc(100vh - 120px);padding:20px;overflow-y:auto}.modal-title{margin:0 0 16px;font-size:16px;font-weight:700}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.board-page{flex-direction:column;height:100%;display:flex}.board-header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 20px;display:flex}.board-header-main{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.board-project-link{white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;max-width:40%;font-weight:600;overflow:hidden}.board-title{align-items:center;gap:6px;min-width:0;margin:0;font-size:17px;font-weight:700;display:flex}.board-title-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.board-toolbar{flex-shrink:0;align-items:center;gap:8px;display:flex}.board-search{flex-shrink:0;width:200px}.board-assignee-filter{flex-shrink:0;width:140px}.board-canvas{-webkit-overflow-scrolling:touch;flex:1;align-items:flex-start;gap:12px;padding:16px 20px;display:flex;overflow:auto hidden}.list-column{background:var(--lane-bg);border-radius:var(--radius);width:272px;min-width:272px;max-height:100%;box-shadow:var(--shadow);border:2px solid #0000;flex-direction:column;display:flex}.list-column.drop-target{border-color:var(--primary);background:var(--primary-soft)}.list-column.lane-dragging{opacity:.5}.list-header{align-items:center;gap:8px;padding:10px 12px 6px;font-weight:600;display:flex}.list-count{color:var(--text-sub);font-size:12px}.list-wip-over{color:var(--danger);font-weight:700}.card-list{flex-direction:column;flex:1;gap:8px;min-height:8px;padding:4px 8px;display:flex;overflow-y:auto}.kanban-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;border:2px solid var(--border);flex-direction:column;min-height:76px;padding:10px 12px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.kanban-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.kanban-card.dragging{opacity:.4}.kanban-card-title{word-break:break-word;font-size:14px;line-height:1.4}.kanban-card-title.done{color:var(--text-sub);text-decoration:line-through}.kanban-card-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:6px;display:flex}.label-chip{border-radius:999px;width:36px;height:8px;display:inline-block}.due-chip{background:var(--surface-2);color:var(--text-sub);border-radius:999px;padding:2px 8px;font-size:11px}.due-chip.overdue{background:var(--due-overdue-bg);color:var(--due-overdue-text);font-weight:700}.due-chip.today{background:var(--due-today-bg);color:var(--due-today-text);font-weight:700}.priority-chip{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.priority-urgent{background:var(--priority-urgent-bg);color:var(--priority-urgent-text)}.priority-high{background:var(--priority-high-bg);color:var(--priority-high-text)}.priority-medium{background:var(--priority-medium-bg);color:var(--priority-medium-text)}.priority-low{background:var(--surface-2);color:var(--text-sub)}.quick-add{padding:6px 8px 10px}.quick-add-btn{text-align:left;width:100%;color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 8px;font-size:13px}.quick-add-btn:hover{background:var(--hover-soft)}.add-list-btn{background:var(--add-list-bg);border:1px dashed var(--add-list-border);border-radius:var(--radius);min-width:272px;color:var(--text-sub);cursor:pointer;text-align:left;padding:12px}.drawer-overlay{background:var(--overlay-soft);z-index:90;position:fixed;inset:0}.card-drawer{background:var(--surface);width:560px;max-width:100vw;box-shadow:var(--shadow-drawer);z-index:95;padding:20px 24px 40px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.drawer-section{margin-top:20px}.drawer-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-sub);margin:0 0 8px;font-size:12px;font-weight:700}.drawer-title-input{width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 8px;font-family:inherit;font-size:18px;font-weight:700}.drawer-title-input:hover{background:var(--surface-2)}.drawer-title-input:focus{outline:2px solid var(--primary);background:var(--surface)}.drawer-props{grid-template-columns:110px 1fr;align-items:center;gap:8px 12px;margin-top:12px;display:grid}.drawer-prop-label{color:var(--text-sub);font-size:12px;font-weight:600}.activity-item{color:var(--text-sub);gap:8px;padding:6px 0;font-size:13px;display:flex}.toast-container{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{color:#fff;box-shadow:var(--shadow-toast);border-radius:12px;padding:10px 18px;font-weight:500}.toast-success{background:var(--toast-success-bg)}.toast-error{background:var(--toast-error-bg)}.toast-info{background:var(--toast-info-bg)}.notif-dot{background:var(--danger-bg);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.notif-item{border-bottom:1px solid var(--border);color:var(--text);padding:12px;display:block}.notif-item.unread{background:var(--primary-soft)}.login-page{background:var(--sidebar-bg);justify-content:center;align-items:center;height:100%;display:flex}.login-box{background:var(--surface);width:380px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);border-radius:16px;padding:32px}.mobile-tabbar{display:none}@media (width<=768px){:root{--header-h:48px}.app-shell{grid-template-columns:1fr;grid-template-areas:"header""main"}.app-sidebar{display:none}.header-logo{display:block}.app-main{padding-bottom:72px}.mobile-tabbar{height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow-tabbar);z-index:85;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-tab{min-height:44px;color:var(--text-sub);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:500;display:flex}.mobile-tab.active{color:var(--primary);font-weight:700}.mobile-tab-icon{display:inline-flex;position:relative}.mobile-tab .notif-dot{top:-4px;right:-10px}.btn{min-height:44px}.card-drawer{width:100vw}.page,.page-wide{padding:12px}.board-canvas{-webkit-overflow-scrolling:touch;gap:8px;padding:10px 12px}.board-header{flex-wrap:wrap;gap:8px;padding:8px 12px}.board-header-main{gap:8px;width:100%}.board-project-link{font-size:12px}.board-title{flex:1;font-size:14px}.board-title-text{flex:1}.board-toolbar{flex-wrap:wrap;width:100%}.board-search{flex:1;width:auto;min-width:120px}.board-assignee-filter{width:120px}.list-column{width:46vw;min-width:46vw}.add-list-btn{min-width:46vw;padding:8px;font-size:12px}.list-header{gap:4px;padding:6px 8px 4px;font-size:12px}.list-count{font-size:10px}.card-list{gap:6px;padding:3px 6px}.kanban-card{border-radius:8px;min-height:60px;padding:8px 10px}.kanban-card-title{font-size:12px;line-height:1.35}.kanban-card-meta{gap:4px;padding-top:4px}.priority-chip,.due-chip{padding:1px 5px;font-size:9px}.quick-add{padding:4px 6px 8px}.quick-add-btn{padding:4px 6px;font-size:11px}.avatar-sm{width:18px;height:18px;font-size:8px}}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{color:var(--text-sub);text-align:center;padding:32px}@keyframes float-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-right{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}.login-box{animation:.4s cubic-bezier(.22,1,.36,1) backwards pop-in}.kanban-card{animation:.25s ease-out backwards float-in}.card-list .kanban-card:nth-child(2){animation-delay:30ms}.card-list .kanban-card:nth-child(3){animation-delay:60ms}.card-list .kanban-card:nth-child(4){animation-delay:90ms}.card-list .kanban-card:nth-child(5){animation-delay:.12s}.card-list .kanban-card:nth-child(n+6){animation-delay:.15s}.kanban-card.dragging{animation:none}.list-column{animation:.3s ease-out backwards float-in}.board-canvas .list-column:nth-child(2){animation-delay:50ms}.board-canvas .list-column:nth-child(3){animation-delay:.1s}.board-canvas .list-column:nth-child(n+4){animation-delay:.15s}.list-column.lane-dragging{animation:none}.card-panel,.table{animation:.3s ease-out backwards float-in}.notif-item{animation:.25s ease-out backwards float-in}.modal-overlay{animation:.15s ease-out backwards fade-in}.modal{animation:.25s cubic-bezier(.22,1,.36,1) backwards pop-in}.drawer-overlay{animation:.2s ease-out backwards fade-in}.card-drawer{animation:.28s cubic-bezier(.22,1,.36,1) backwards slide-in-right}.toast{animation:.25s cubic-bezier(.22,1,.36,1) backwards toast-in}@media (prefers-reduced-motion:reduce){.login-box,.kanban-card,.list-column,.card-panel,.table,.notif-item,.modal-overlay,.modal,.drawer-overlay,.card-drawer,.toast{animation:none}}.dropdown-menu{z-index:40;background:var(--surface);border:1px solid var(--border);min-width:220px;max-height:240px;box-shadow:var(--shadow-pop);border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.dropdown-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.dropdown-item:hover{background:var(--hover-soft)}.dropdown-empty{color:var(--text-sub);padding:6px 8px;font-size:13px}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<=768px){.m-clip-10,.m-clip-5{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;display:inline-block;overflow:hidden}.m-clip-10{max-width:10em}.m-clip-5{max-width:5em}.m-hide{display:none}}
