html,body,#root{min-height:100%}:root{--bg:#f8f9fa;--card:#fff;--madero:#9b59b6;--dental:#3498db;--tesis:#e67e22;--general:#95a5a6;--notes:#f1c40f;--text:#333;--muted:#666;--border:#eee}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0;font-family:Segoe UI,system-ui,sans-serif;line-height:1.5}.app-header{background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex;box-shadow:0 2px 8px #0000000f}.app-header h1{color:#2c3e50;margin:0;font-size:1.15rem;font-weight:600}.tabs{flex:1;gap:6px;min-width:0;padding:8px 12px;display:flex;overflow-x:auto}.tab{background:var(--card);cursor:pointer;border:none;border-top:4px solid #0000;border-radius:10px;flex:none;padding:10px 14px;font-size:.85rem;box-shadow:0 2px 6px #0000000f}.tab.active{font-weight:600;box-shadow:0 4px 12px #00000014}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.toolbar select{border:1px solid #ddd;border-radius:8px;min-width:160px;padding:10px 12px;font-size:.95rem}.btn{cursor:pointer;color:#fff;background:#2c3e50;border:none;border-radius:8px;padding:10px 14px;font-size:.95rem}.btn.secondary{color:#2c3e50;background:#ecf0f1}.btn.danger{background:#c0392b}.btn.ghost{color:#2c3e50;background:0 0;border:1px solid #ddd}.kanban-wrap{padding:12px;overflow-x:auto}.kanban-board{align-items:flex-start;gap:12px;min-width:min(100%,1200px);display:flex}.kanban-column{background:var(--card);border-radius:12px;flex:1;min-width:220px;max-width:320px;min-height:220px;padding:10px;box-shadow:0 2px 10px #0000000f}.kanban-column h3{color:var(--muted);margin:0 0 10px;font-size:.9rem}.task-card{touch-action:none;background:#fafafa;border-left:5px solid;border-radius:8px;margin-bottom:8px;padding:10px 12px;box-shadow:0 1px 3px #0000000f}.task-card-sortable{box-shadow:none;background:0 0;border-left:none;align-items:stretch;gap:0;margin-bottom:8px;padding:0;display:flex}.drag-handle{cursor:grab;color:#888;touch-action:none;background:#eee;border:none;border-radius:8px 0 0 8px;flex:0 0 36px;min-height:44px;padding:0;font-size:.9rem}.drag-handle:active{cursor:grabbing}.task-title-btn{text-align:left;cursor:pointer;background:#fafafa;border:none;border-radius:0 8px 8px 0;flex:1;min-height:44px;padding:0;box-shadow:0 1px 3px #0000000f}.task-title-accent{text-align:left;border-top:3px solid #0000;border-left:5px solid;border-radius:0 8px 8px 0;padding:10px 12px;display:block}.task-card-title-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.task-card-title-text{flex:1;min-width:0}.priority-badge{color:#666;background:#f0f0f0;border-radius:4px;flex:none;padding:1px 4px;font-size:.75rem}.task-due{color:#888;margin-top:4px;font-size:.75rem;display:block}.comment-list{max-height:200px;margin:8px 0 0;padding:0;list-style:none;overflow-y:auto}.comment-item{background:#fafafa;border-radius:8px;margin-bottom:8px;padding:8px 10px;font-size:.9rem}.comment-meta{color:#888;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;font-size:.75rem;display:flex}.comment-body{white-space:pre-wrap;color:#333}.comment-form{flex-direction:column;gap:8px;margin-top:8px;display:flex}.comment-form textarea{border:1px solid #ddd;border-radius:8px;width:100%;padding:8px;font-family:inherit}.btn-link-danger{color:#c0392b;cursor:pointer;background:0 0;border:none;font-size:.75rem}.login-page{background:var(--card);border-radius:12px;max-width:380px;margin:48px auto;padding:24px;box-shadow:0 4px 20px #00000014}.login-page input{border:1px solid #ddd;border-radius:8px;width:100%;margin-bottom:12px;padding:12px;font-size:1rem}.modal-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;padding:12px;display:flex;position:fixed;inset:0}.modal{background:var(--card);border-radius:16px 16px 0 0;width:min(520px,100%);max-height:85vh;padding:20px;overflow:auto}.modal.wide{width:min(640px,100%)}.modal h2{margin-top:0;font-size:1.1rem}.modal label{color:var(--muted);margin-top:12px;font-size:.85rem;display:block}.modal input,.modal textarea,.modal select{border:1px solid #ddd;border-radius:8px;width:100%;margin-top:4px;padding:10px;font-size:1rem}.modal textarea{resize:vertical;min-height:80px}.modal-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.toast{color:#fff;z-index:100;background:#2c3e50;border-radius:10px;max-width:90vw;padding:12px 18px;font-size:.95rem;position:fixed;bottom:88px;left:50%;transform:translate(-50%)}.fab{background:var(--notes);color:#333;cursor:pointer;z-index:40;border:none;border-radius:50%;width:56px;height:56px;font-size:1.6rem;position:fixed;bottom:24px;right:20px;box-shadow:0 4px 14px #0003}.notes-strip{border-left:8px solid var(--notes);background:#fffbe6;border-radius:8px;margin:12px;padding:16px}.inbox-list{padding:12px}.inbox-item{background:var(--card);border-radius:10px;margin-bottom:10px;padding:14px;box-shadow:0 2px 8px #0000000f}.status-pills{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.status-pill{cursor:pointer;border:2px solid #0000;border-radius:999px;padding:8px 12px;font-size:.85rem}.status-pill.active{border-color:#2c3e50;font-weight:600}.empty-col-hint{color:#bbb;text-align:center;padding:16px 8px;font-size:.85rem}
