.projects-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:20px}.projects-toolbar .field{min-width:200px;flex:1}.projects-toolbar .toolbar-buttons{display:flex;gap:8px;flex-wrap:wrap}.project-list{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 22px}.project-chip{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e0e8ed;border-radius:10px;padding:9px 10px 9px 12px;font-size:13px}.project-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.project-chip .chip-actions{display:flex;gap:5px;margin-left:8px}.mini-button{background:transparent;border:0;color:#577183;font:inherit;cursor:pointer;padding:3px 5px;border-radius:5px;font-size:12px}.mini-button:hover{background:#eaf3f7;color:#17394c}.mini-button:focus-visible,.icon-button:focus-visible,.task-move:focus-visible{outline:3px solid #69b4bd;outline-offset:2px}.projects-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.projects-heading h2{margin:0;font-size:18px}.projects-heading p{margin:5px 0 0}.week-controls{display:flex;align-items:center;gap:8px}.week-label{min-width:160px;text-align:center;font-size:13px;color:#425b6a}.icon-button{border:1px solid #dce5ea;background:#fff;cursor:pointer;width:34px;height:34px;border-radius:8px;color:#243f51;font-size:18px}.timeline-wrap{overflow-x:auto;margin-top:18px;border:1px solid #e9eef1;border-radius:10px}.project-timeline{min-width:740px}.timeline-header,.timeline-row{display:grid;grid-template-columns:190px repeat(7,minmax(0,1fr))}.timeline-header{background:#f8fafb}.timeline-header>div{padding:13px 8px;text-align:center;color:#637787;font-size:12px;border-left:1px solid #e9eef1}.timeline-header>div:first-child{text-align:left;padding-left:18px;border:0;font-weight:600;color:#334e60}.timeline-day strong{display:block;font-size:15px;color:#263f51;margin-top:3px}.timeline-day.today{background:#e5f2f4}.timeline-row{min-height:46px;border-top:1px solid #eaf0f3;position:relative}.timeline-name{display:flex;align-items:center;gap:9px;font-size:12px;padding:12px 18px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;grid-column:1;grid-row:1}.timeline-track{grid-column:2/9;grid-row:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 7 - 1px),#edf2f5 calc(100% / 7 - 1px),#edf2f5 calc(100% / 7))}.timeline-bar{height:15px;margin:15px 5px;border-radius:6px;opacity:.66;grid-row:1;min-width:5px}.timeline-outside{grid-column:1/8;color:#82949e;font-size:11px;align-self:center;padding-left:12px}.kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:24px}.kanban-column{background:#f0f5f8;border:1px solid #e3ebef;border-radius:13px;padding:16px;min-width:0}.kanban-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px}.kanban-title h2{font-size:16px;margin:0;display:flex;align-items:center;gap:10px}.kanban-count{font-size:12px;border-radius:50%;background:#e1eaf6;color:#4676a1;display:grid;place-items:center;min-width:26px;height:26px}.kanban-column[data-status=doing] .kanban-count{background:#dcedf0;color:#348894}.kanban-column[data-status=done] .kanban-count{background:#deeeea;color:#247f6f}.kanban-column.drag-over{outline:2px dashed #3b919d;outline-offset:-4px}.task-card{background:#fff;border:1px solid #dce6ed;border-radius:9px;padding:14px;margin-bottom:12px;box-shadow:0 2px 4px #17384c03}.task-card:last-child{margin-bottom:0}.task-top{display:flex;justify-content:space-between;gap:8px}.task-title{font-size:14px;font-weight:650;line-height:1.4;margin:0;overflow-wrap:anywhere}.task-project{display:flex;align-items:center;gap:7px;font-size:12px;color:#728392;margin:8px 0 13px}.task-notes{font-size:12px;line-height:1.55;color:#627585;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px}.task-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#6e8292;font-size:11px}.task-date.overdue{color:#ae493d}.task-priority{font-size:10px;border-radius:5px;background:#f1f5f7;padding:3px 5px}.task-priority.high{background:#fff0e7;color:#a86a36}.task-progress{display:flex;align-items:center;gap:7px;margin:12px 0}.task-progress progress{width:100%;height:7px;border:0;border-radius:6px;appearance:none;background:#e9edf2}.task-progress progress::-webkit-progress-bar{background:#e9edf2;border-radius:6px}.task-progress progress::-webkit-progress-value{background:#5db6be;border-radius:6px}.task-progress progress::-moz-progress-bar{background:#5db6be;border-radius:6px}.task-progress span{font-size:11px;color:#708392;white-space:nowrap}.task-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eef2f4;padding-top:8px}.task-move{font:inherit;font-size:11px;background:transparent;border:0;color:#317d8b;cursor:pointer;padding:5px 3px}.task-move:disabled{opacity:.4;cursor:default}.column-empty{font-size:12px;line-height:1.6;color:#78909e;text-align:center;border:1px dashed #cfdee5;border-radius:8px;padding:25px 15px}.project-empty{padding:36px;text-align:center}.project-empty h2{font-size:22px;margin:0 0 10px}.project-empty p{max-width:500px;margin:0 auto 22px;line-height:1.6}.example-notice{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;background:#edf7f8;border:1px solid #cfe7eb;color:#306c78;border-radius:10px;padding:12px 16px;margin-bottom:20px;font-size:13px}.example-notice strong{display:block;margin-bottom:3px}.projects-footer{color:#82929d;font-size:12px;margin:22px 0 0;line-height:1.6}.projects-dialog{width:min(540px,calc(100vw - 32px));border:0;border-radius:16px;padding:28px;box-shadow:0 20px 80px #12334733;background:#fff;color:#233f52}.projects-dialog::backdrop{background:#102f4566;backdrop-filter:blur(2px)}.projects-dialog h2{font-size:22px;margin:0 0 22px}.projects-dialog .field{margin-bottom:16px}.projects-dialog label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.projects-dialog input,.projects-dialog select,.projects-dialog textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid #cbd9e1;border-radius:8px;color:#244454;background:#fff}.projects-dialog textarea{resize:vertical;min-height:75px}.projects-dialog .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.projects-dialog .form-grid .field{min-width:0}.projects-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.form-error{color:#a94238;font-size:13px;line-height:1.5;margin:8px 0}.project-colors{display:flex;gap:8px}.project-colors label{margin:0;position:relative;cursor:pointer}.project-colors input{width:24px;height:24px;accent-color:#287b89}.confirm-message{line-height:1.7;color:#627989}.projects-toolbar input,.projects-toolbar select{width:100%;font:inherit;padding:10px 12px;border:1px solid #d5e0e6;border-radius:8px;background:white;min-height:42px}.projects-toolbar label{display:block;font-size:12px;font-weight:600;margin-bottom:7px;color:#596f7f}.projects-toolbar .toolbar-buttons .button{white-space:nowrap}.project-summary{font-size:12px;color:#78909e}.timeline-caption{font-size:11px;color:#7a8e9b;margin:11px 0 0}.import-input{display:none}@media(max-width:1050px){.kanban{gap:12px}.kanban-column{padding:12px}.task-meta{flex-wrap:wrap}.projects-toolbar .toolbar-buttons{width:100%}.week-label{min-width:130px}}@media(max-width:700px){.kanban{grid-template-columns:1fr}.kanban-column{padding:16px}.projects-dialog{padding:23px}.projects-dialog .form-grid{grid-template-columns:1fr;gap:0}.week-controls{flex-wrap:wrap}.projects-heading{gap:12px}.projects-heading h2{font-size:17px}.projects-toolbar .field{min-width:140px}.project-empty{padding:25px 16px}.project-chip{width:100%}.project-chip .chip-actions{margin-left:auto}.projects-toolbar .toolbar-buttons{gap:6px}.projects-toolbar .toolbar-buttons .button{font-size:12px;padding:9px 10px}.project-summary{display:none}}
.stat-card>strong{display:block;font-size:28px;letter-spacing:-.04em;line-height:1.2;margin:8px 0}.stat-card>.muted{display:block;font-size:12px}.stat-card>.muted:last-child{font-size:11px;color:#438d98}.projects-dialog{max-height:calc(100vh - 40px);overflow:auto}
.projects-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.projects-stats .stat-card{padding:11px 16px}.projects-stats .stat-card>strong{display:inline-block;font-size:23px;margin:4px 0 0;line-height:1.1}.projects-stats .stat-card>.muted:last-child{display:none}.projects-toolbar .field{margin-bottom:0}.project-list{margin:14px 0 18px}.project-chip .chip-actions .mini-button{padding:3px;width:22px}.projects-heading p{font-size:12px}.timeline-header>div{padding:8px}.timeline-row{min-height:38px}.timeline-name{padding:9px 15px}.timeline-bar{height:13px;margin:12px 5px}.timeline-wrap{margin-top:12px}.timeline-caption{margin:7px 0 0}.kanban{margin-top:18px}.kanban-column{padding:13px}.task-card{padding:12px;margin-bottom:10px}.task-project{margin:6px 0 10px}.task-progress{margin:10px 0}.example-notice{padding:10px 14px;margin-bottom:18px;font-size:12px}.example-notice strong{display:inline;margin-right:9px}.example-notice .button{padding:8px 11px;min-height:34px;font-size:12px}@media(max-width:700px){.projects-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.example-notice strong{display:block}.project-chip .chip-actions .mini-button{width:auto}.kanban-column{padding:16px}}
.projects-stats{display:none}.app-main{padding-top:24px}.app-header{margin-bottom:20px}.example-notice:not(.demo-project-notice){background:transparent;border:0;padding:0 0 3px;margin-bottom:8px}.example-notice:not(.demo-project-notice) .button{background:transparent;border-color:#d6e1e8}.projects-toolbar{margin-bottom:12px}.project-list{margin:12px 0 16px}.project-timeline .timeline-header>div{padding:6px 8px}.timeline-header .timeline-day strong{font-size:14px}.projects-heading p{display:none}.timeline-caption{font-size:10px}.task-card{padding:10px}.task-project{margin:5px 0 8px}.task-progress{margin:7px 0}.task-footer{padding-top:5px}.task-move{padding:4px 3px}@media(min-width:851px){#app-content>.panel{padding:18px}}
