*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:17px}@media (width<=600px){html{font-size:18px}}html,body,#root{color:#000;background:#fff;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;line-height:1.5}h1{margin:.6rem 0;font-size:1.9rem;line-height:1.2}h2{margin:.6rem 0;font-size:1.5rem;line-height:1.25}h3{margin:.6rem 0;font-size:1.15rem;line-height:1.3}p{margin:.6rem 0}small{font-size:.85rem}a{color:#000}button{font:inherit;cursor:pointer;color:#000;background:#fff;border:1px solid #000;min-height:44px;padding:10px 16px}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font:inherit;color:#000;background:#fff;border:1px solid #000;max-width:100%;padding:10px 12px;font-size:16px}input[type=text],input[type=email],input[type=datetime-local],select{min-height:44px}textarea{width:100%;min-height:90px}form input[type=text],form input[type=email],form input[type=datetime-local],form textarea,form select{width:100%}ul{margin:.6rem 0;padding-left:22px}li{margin-bottom:6px}dialog{color:#000;background:#fff;border:1px solid #000;width:92%;max-width:480px;padding:20px 16px}dialog::backdrop{background:#0000004d}.app-main{max-width:960px;margin:0 auto;padding:16px}header nav{border-bottom:1px solid #ccc;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 16px;display:flex}header nav a{padding:6px 0;display:inline-block}.kanban{-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:10px;display:flex;overflow-x:auto}.chat-view{flex-direction:column;height:calc(100dvh - 170px);min-height:320px;display:flex}@media (width<=640px){.chat-view{height:calc(100dvh - 220px)}}.chat-header{flex-shrink:0;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.chat-header h2{margin:0}.thread-strip{-webkit-overflow-scrolling:touch;flex-wrap:wrap;flex-shrink:0;gap:6px;margin-bottom:6px;display:flex;overflow-x:auto}.thread-chip{white-space:nowrap;background:#fff;border:1px solid #ccc;min-height:0;padding:4px 10px;font-size:13px;line-height:1.3}.thread-chip:hover{border-color:#000}.thread-chip-active{color:#fff;background:#000;border-color:#000;font-weight:700}.thread-chip-new{color:#555;border-style:dashed}.thread-chip-toggle{color:#555;border-style:dotted}.thread-strip-archived{opacity:.7;margin-top:0;margin-bottom:8px}.thread-chip-archived{color:#555;border-style:dashed}.thread-chip-archived.thread-chip-active{color:#fff;background:#555;border-color:#555}.thread-meta{color:#555;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;margin-bottom:6px;display:flex}.thread-meta button{min-height:0;padding:2px 8px;font-size:12px}.chat-messages{border-top:1px solid #ccc;border-bottom:1px solid #ccc;flex:auto;min-height:0;padding:8px 0;overflow-y:auto}.chat-composer{flex-shrink:0;align-items:flex-end;gap:8px;padding-top:10px;display:flex}.chat-input{resize:none;min-height:44px;max-height:calc(7.5em + 20px);font:inherit;color:#000;background:#fff;border:1px solid #000;flex:1;padding:10px 12px;font-size:16px;overflow-y:auto}.chat-composer button{align-self:flex-end}.kanban-column{border:1px solid #000;flex:0 0 85%;max-width:320px;padding:10px}@media (width>=640px){.kanban-column{flex:0 0 240px}}.kanban-column.drop-target{background:#f0f0f0}.kanban-column.collapsed{cursor:pointer;background:#fafafa;border-color:#ccc;flex-direction:column;flex:0 0 36px;justify-content:flex-start;align-items:center;gap:6px;max-width:36px;min-height:220px;padding:10px 4px;display:flex}.kanban-column.collapsed:hover{background:#f0f0f0;border-color:#888}.kanban-column.collapsed .collapsed-count{color:#000;text-align:center;background:#fff;border:1px solid #888;border-radius:3px;min-width:18px;padding:1px 4px;font-size:12px;font-weight:700;line-height:1.2}.kanban-column.collapsed .collapsed-label{writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;color:#555;letter-spacing:1px;text-transform:uppercase;font-size:12px;font-weight:700}.card-item{background:#fff;border:1px solid #000;margin-bottom:10px;padding:10px}.card-item.dragging{opacity:.4}.calendar-grid{border-collapse:collapse;table-layout:fixed;width:100%}.calendar-grid th{text-align:center;text-transform:uppercase;letter-spacing:1px;color:#555;background:#fafafa;border:1px solid #ccc;padding:6px 4px;font-size:11px;font-weight:700}.calendar-grid td.calendar-day{vertical-align:top;background:#fff;border:1px solid #ccc;height:92px;padding:4px;font-size:12px}.calendar-grid td.calendar-day.outside-month{color:#aaa;background:#fafafa}.calendar-grid td.calendar-day.today{background:#fffae0}.calendar-day-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.calendar-day-num{font-size:12px;font-weight:700}.calendar-day-add{opacity:0;background:#fff;border:1px solid #ccc;min-height:0;padding:0 6px;font-size:12px;line-height:1.5}.calendar-day:hover .calendar-day-add,.calendar-day-add:focus{opacity:1}@media (hover:none){.calendar-day-add{opacity:1}}.calendar-task{white-space:nowrap;text-overflow:ellipsis;background:#f0f0f0;border-left:2px solid #888;margin-top:2px;padding:1px 3px;font-size:11px;line-height:1.3;display:block;overflow:hidden}.calendar-task.resolved{color:#888;border-left-color:#ccc;text-decoration:line-through}.calendar-task.overdue{color:#800;background:#ffe5e5;border-left-color:#c00;font-weight:700}
