html,body,#root{height:100%;margin:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f0f2f5;--surface: #ffffff;--primary: #4f46e5;--primary-light: #e0e7ff;--primary-dark: #3730a3;--text: #1e293b;--text-muted: #64748b;--border: #e2e8f0;--danger: #ef4444;--success: #22c55e;--radius: 12px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-lg: 0 10px 25px rgba(0,0,0,.1)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}.app{height:100vh;display:flex;flex-direction:column}.app-body{flex:1;overflow:hidden}.top-nav{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);z-index:10}.nav-brand{font-size:1.25rem;font-weight:700;color:var(--primary)}.nav-links{display:flex;gap:4px}.nav-links a{text-decoration:none;padding:8px 20px;border-radius:8px;font-weight:500;font-size:.875rem;color:var(--text-muted);transition:all .2s}.nav-links a:hover{background:var(--bg);color:var(--text)}.nav-links a.active{background:var(--primary);color:#fff}.admin-panel,.user-panel{display:flex;height:100%}.sidebar{width:300px;min-width:300px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.sidebar-users{width:240px;min-width:240px}.sidebar-rooms{width:260px;min-width:260px;background:#fafafa}.sidebar-groups{width:180px;min-width:180px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.group-list{list-style:none}.group-item{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s;font-size:.85rem}.group-item:hover{background:var(--bg)}.group-item.active{background:var(--primary-light);font-weight:600}.group-item.dragging{opacity:.4}.group-item.drag-over{border-top:2px solid var(--primary)}.group-item.user-drag-over{background:#e0e7ff;outline:2px dashed var(--primary)}.group-item-ungrouped{margin-top:4px;border-top:1px solid var(--border);padding-top:10px;opacity:.7;font-style:italic}.group-avatar{font-size:1rem;flex-shrink:0}.group-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-count{font-size:.7rem;background:var(--bg);color:var(--text-muted);padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.btn-group-rename,.btn-group-delete{opacity:0;border:none;background:none;cursor:pointer;font-size:.8rem;padding:2px 4px;border-radius:4px;transition:opacity .15s,background .15s;color:var(--text-muted)}.group-item:hover .btn-group-rename,.group-item:hover .btn-group-delete{opacity:.7}.btn-group-rename:hover{background:var(--bg);color:var(--primary)}.btn-group-delete:hover{background:#fee;color:var(--danger)}.group-rename-input{flex:1;padding:3px 6px;border:1px solid var(--primary);border-radius:4px;font-size:.85rem;font-family:inherit;outline:none}.group-add-form{display:flex;gap:4px;padding:8px 10px}.group-add-form input,.group-add-form select{flex:1;padding:5px 8px;border:1px solid var(--border);border-radius:6px;font-size:.8rem;font-family:inherit;outline:none}.group-add-form input:focus,.group-add-form select:focus{border-color:var(--primary)}.group-add-form button{padding:4px 10px;border:none;background:var(--primary);color:#fff;border-radius:6px;cursor:pointer;font-weight:600;font-size:.85rem}.group-add-form button:disabled{opacity:.5;cursor:not-allowed}.sidebar-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.85rem}.sidebar-header{padding:20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.sidebar-header h2{font-size:1.1rem;font-weight:700}.sidebar.nav-active .sidebar-header{border-bottom:2px solid #4f46e5}.btn-settings{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--surface);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-settings:hover{background:var(--bg)}.profile-settings{border-bottom:1px solid var(--border);background:#fafafa}.profile-settings select,.profile-settings input[type=time]{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:.85rem;font-family:inherit;outline:none;margin-bottom:10px;background:var(--surface);transition:border .2s}.profile-settings select:focus,.profile-settings input[type=time]:focus{border-color:var(--primary)}.btn-save-profile{width:100%;padding:8px;border-radius:6px;border:none;background:var(--primary);color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s;margin-top:2px}.btn-save-profile:hover{background:var(--primary-dark)}.sidebar-section{padding:16px 12px}.sidebar-section h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;padding:0 8px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 8px}.section-header h4{margin-bottom:0}.user-list,.room-list{list-style:none}.user-item,.room-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .15s}.user-item:hover,.room-item:hover{background:var(--bg)}.user-item.active,.room-item.active{background:var(--primary-light);color:var(--primary-dark)}.user-avatar{font-size:1.5rem}.user-name{font-weight:500;flex:1}.user-info-col{flex:1;display:flex;flex-direction:column;min-width:0}.user-tz{font-size:.65rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-count{background:var(--bg);color:var(--text-muted);font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:10px}.drag-handle{cursor:grab;color:var(--text-muted);font-size:.85rem;-webkit-user-select:none;user-select:none;opacity:0;transition:opacity .15s}.user-item:hover .drag-handle{opacity:.6}.user-item:hover .drag-handle:hover{opacity:1}.btn-remove-user{background:none;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:0 4px;line-height:1;opacity:0;transition:opacity .15s,color .15s}.user-item:hover .btn-remove-user{opacity:.6}.btn-remove-user:hover{opacity:1!important;color:var(--danger, #e74c3c)}.user-item.dragging{opacity:.4}.user-item.drag-over{border-top:2px solid var(--primary, #4f8cff);margin-top:-2px}.room-name{flex:1;font-weight:500;cursor:pointer}.empty-hint{padding:12px;color:var(--text-muted);font-size:.85rem;font-style:italic}.btn-icon{width:28px;height:28px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.btn-icon:hover{background:var(--primary-dark)}.btn-delete{border:none;background:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:0 4px;border-radius:4px;transition:all .15s}.btn-delete:hover{color:var(--danger);background:#fee2e2}.btn-room-settings{border:none;background:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;padding:0 4px;border-radius:4px;transition:all .15s}.btn-room-settings:hover{color:var(--primary);background:var(--primary-light)}.btn-primary{padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:10px 24px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;font-weight:500;cursor:pointer;transition:background .15s}.btn-secondary:hover{background:var(--border)}.btn-logout{position:absolute;top:12px;right:16px;z-index:5;padding:6px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-logout:hover{background:var(--bg);color:var(--text)}.chat-area{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:8px}.empty-icon{font-size:3rem;opacity:.4}.chat-empty h3{font-weight:500;font-size:1rem}.chat-split{display:flex;flex:1;min-height:0;gap:0}.chat-split-pane{flex:1;min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--border)}.chat-split-pane:first-child{border-left:none}.chat-split-pane>.chat-window{height:auto;flex:1;min-height:0}.chat-window{display:flex;flex-direction:column;height:100%}.chat-header{padding:16px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.chat-header h3{font-size:1rem;font-weight:600}.chat-messages{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:12px;background:var(--bg)}.chat-no-messages{text-align:center;color:var(--text-muted);padding:40px;font-size:.9rem}.msg{display:flex;gap:10px;max-width:70%}.msg-own{align-self:flex-end;flex-direction:row-reverse}.msg-other{align-self:flex-start}.msg-avatar{font-size:1.5rem;flex-shrink:0;margin-top:4px}.msg-body{background:var(--surface);padding:10px 14px;border-radius:16px;box-shadow:var(--shadow);min-width:80px}.msg-own .msg-body{background:var(--primary);color:#fff}.msg-name{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);display:block;margin-bottom:2px}.msg-own .msg-name{color:#ffffffb3}.msg-text{font-size:.9rem;line-height:1.4;word-break:break-word;white-space:pre-wrap}.msg-time{font-size:.65rem;color:var(--text-muted);display:block;text-align:right;margin-top:4px}.msg-own .msg-time{color:#fff9}.chat-input{display:flex;gap:10px;padding:16px 24px;background:var(--surface);border-top:1px solid var(--border)}.chat-input input{flex:1;padding:12px 16px;border:1px solid var(--border);border-radius:24px;font-size:.9rem;outline:none;transition:border .2s}.chat-input input:focus{border-color:var(--primary)}.chat-input button{padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:24px;font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s}.chat-input button:hover{background:var(--primary-dark)}.chat-input button:disabled{opacity:.4;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--surface);padding:28px;border-radius:16px;width:400px;max-width:90vw;box-shadow:var(--shadow-lg)}.modal h3{font-size:1.1rem;margin-bottom:16px}.modal input:not(.edit-todo-task):not(.edit-todo-date):not([type=checkbox]){width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;outline:none;margin-bottom:16px;transition:border .2s}.modal input:not(.edit-todo-task):not(.edit-todo-date):not([type=checkbox]):focus{border-color:var(--primary)}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.login-screen{display:flex;align-items:center;justify-content:center;height:100%;overflow-y:auto;background:linear-gradient(135deg,#e0e7ff,#f0f2f5)}.login-card{background:var(--surface);padding:40px;border-radius:20px;text-align:center;box-shadow:var(--shadow-lg);max-width:420px;width:90%;max-height:90vh;display:flex;flex-direction:column}.login-card h2{font-size:1.5rem;margin-bottom:4px}.login-card p{color:var(--text-muted);margin-bottom:28px;font-size:.9rem}.login-users{display:flex;flex-direction:column;gap:10px;overflow-y:auto;flex:1;min-height:0}.login-user-btn{display:flex;align-items:center;gap:14px;padding:14px 20px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;transition:all .2s;width:100%}.login-user-btn:hover{border-color:var(--primary);background:var(--primary-light);transform:translateY(-1px);box-shadow:var(--shadow)}.login-avatar{font-size:2rem}.login-name{font-size:1rem;font-weight:600}.prompt-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;background:#fefce8;border-bottom:1px solid #fde68a;gap:12px;flex-shrink:0}.prompt-bar-info{display:flex;align-items:center;gap:6px;font-size:.78rem;overflow:hidden;min-width:0}.prompt-label{font-weight:600;color:#92400e;white-space:nowrap}.prompt-preview{color:#78716c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.prompt-divider{color:#d6d3d1;margin:0 2px}.btn-edit-prompt{padding:5px 14px;border-radius:6px;border:1px solid #fde68a;background:#fff;color:#92400e;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-edit-prompt:hover{background:#fef9c3}.chat-header{display:flex;align-items:center;justify-content:space-between}.chat-header-hint{font-size:.75rem;color:var(--text-muted);font-weight:500}.msg-ai .msg-body{background:#f0fdf4;border:1px solid #bbf7d0}.msg-ai .msg-name{color:#15803d}.msg-admin .msg-body{background:#eff6ff;border:1px solid #bfdbfe}.msg-admin .msg-name{color:#1d4ed8}.msg-typing{display:flex;gap:4px;align-items:center;padding:14px 18px;min-width:60px}.typing-dot{width:7px;height:7px;background:#86efac;border-radius:50%;animation:typingBounce 1.2s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.form-label{display:block;font-size:.8rem;font-weight:600;margin-bottom:4px;color:var(--text)}.label-hint{font-weight:400;color:var(--text-muted);font-size:.75rem}.prompt-selector{display:flex;gap:8px;margin-bottom:14px}.prompt-selector select{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:.85rem;font-family:inherit;outline:none;background:var(--surface);cursor:pointer;transition:border .2s}.prompt-selector select:focus{border-color:var(--primary)}.btn-new-prompt{padding:8px 14px;border-radius:8px;border:1px dashed var(--border);background:var(--surface);color:var(--primary);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-new-prompt:hover{border-color:var(--primary);background:var(--primary-light)}.modal textarea{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:.85rem;font-family:inherit;outline:none;margin-bottom:14px;resize:vertical;transition:border .2s;line-height:1.5}.modal textarea:focus{border-color:var(--primary)}.modal-wide{width:520px}.scan-section{padding:12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.btn-scan-general{width:100%;padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-scan-general.has-pending{background:#16a34a;color:#fff;border-color:#16a34a;animation:pulse-glow-green 2s ease-in-out infinite}.btn-scan-general:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-scan-general:disabled{opacity:.5;cursor:not-allowed;animation:none}@keyframes pulse-glow-green{0%,to{box-shadow:0 0 #16a34a4d}50%{box-shadow:0 0 0 6px #16a34a00}}.btn-scan-daily{width:100%;padding:8px 16px;border-radius:8px;border:1px solid #3b82f6;background:#3b82f6;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-scan-daily:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-scan-daily:disabled{opacity:.5;cursor:not-allowed}.btn-scan-all{width:100%;padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-scan-all.has-pending{background:var(--primary);color:#fff;border-color:var(--primary);animation:pulse-glow 2s ease-in-out infinite}.btn-scan-all:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-scan-all:disabled{opacity:.5;cursor:not-allowed;animation:none}@keyframes pulse-glow{0%,to{box-shadow:0 0 #4f46e54d}50%{box-shadow:0 0 0 6px #4f46e500}}.scan-result{text-align:center;font-size:.75rem;color:var(--success);font-weight:500;margin-top:6px;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pending-count{background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.room-pending{background:#fef2f2}.room-pending.active{background:#fee2e2}.pending-badge{font-size:.7rem;font-weight:600;color:#dc2626;background:#fee2e2;padding:3px 10px;border-radius:12px}.btn-run-ai{border:none;background:#dcfce7;color:#15803d;font-size:.75rem;cursor:pointer;padding:2px 6px;border-radius:4px;font-weight:700;transition:all .15s}.btn-run-ai:hover{background:#bbf7d0}.btn-run-ai:disabled{opacity:.5;cursor:not-allowed}.btn-run-ai-chat{padding:5px 14px;border-radius:6px;border:1px solid #bbf7d0;background:#dcfce7;color:#15803d;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-run-ai-chat:hover{background:#bbf7d0}.btn-run-ai-chat:disabled{opacity:.5;cursor:not-allowed}.prompt-bar-actions{display:flex;gap:6px;align-items:center}.score-adjust-inline{display:flex;align-items:center;gap:3px;margin-right:8px;padding-right:10px;border-right:1px solid var(--border)}.score-adjust-label{font-size:.72rem;font-weight:600;color:var(--text-muted);margin-right:2px}.score-adjust-btn{width:28px;height:24px;border:1px solid var(--border);border-radius:4px;font-size:.68rem;font-weight:700;cursor:pointer;transition:all .15s;background:var(--surface);color:var(--text-muted);padding:0}.score-adjust-btn:hover{transform:translateY(-1px)}.score-adjust-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.score-neg:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.score-pos:hover{background:#dcfce7;color:#16a34a;border-color:#86efac}.score-zero:hover{background:#e0e7ff;color:#4338ca;border-color:#a5b4fc}.room-info{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:2px}.room-status{font-size:.65rem;font-weight:600;padding:1px 6px;border-radius:4px;width:fit-content}.status-pending{background:#fee2e2;color:#dc2626}.status-followup{background:#fef3c7;color:#b45309}.status-workstart{background:#dcfce7;color:#16a34a}.status-scheduled{background:#e0e7ff;color:#4338ca}.status-paused{background:#f1f5f9;color:#64748b}.todo-panel{border-bottom:1px solid var(--border);background:#fafafa;flex-shrink:0}.todo-header{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.todo-title{font-size:.8rem;font-weight:600;color:var(--text)}.todo-progress{font-size:.7rem;color:var(--text-muted);font-weight:500}.todo-progress-bar{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.todo-progress-fill{height:100%;background:var(--success);border-radius:2px;transition:width .3s}.btn-edit-todos{padding:3px 10px;border-radius:4px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-edit-todos:hover{background:var(--bg);color:var(--text)}.todo-list{list-style:none;padding:0 16px 10px;display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.todo-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.82rem}.todo-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.todo-task{flex:1;min-width:0}.todo-done .todo-task{text-decoration:line-through;color:var(--text-muted)}.todo-check-icon{width:18px;text-align:center;font-size:.85rem;flex-shrink:0;color:var(--text-muted)}.todo-done .todo-check-icon{color:var(--success)}.todo-clickable{cursor:pointer;transition:all .15s}.todo-clickable:hover{color:var(--primary);transform:scale(1.3)}.todo-note-icon,.todo-completion-badge{font-size:.75rem;cursor:help;flex-shrink:0}.complete-task-name{font-weight:600;margin-bottom:14px;padding:8px 12px;background:var(--bg);border-radius:6px;font-size:.9rem}.todo-deadline{font-size:.7rem;color:var(--text-muted);white-space:nowrap;background:var(--bg);padding:2px 6px;border-radius:4px}.edit-todos-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;max-height:300px;overflow-y:auto}.edit-todo-row{display:flex;align-items:center;gap:6px}.edit-todo-row input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.edit-todo-task{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:6px;font-size:.82rem;font-family:inherit;outline:none}.edit-todo-task:focus{border-color:var(--primary)}.edit-todo-date{width:140px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:.8rem;font-family:inherit;outline:none;flex-shrink:0}.edit-todo-date:focus{border-color:var(--primary)}.todo-add-row{margin-bottom:8px}.btn-add-todo{width:100%;padding:8px;border:1px dashed var(--border);border-radius:6px;background:var(--surface);color:var(--primary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-add-todo:hover{border-color:var(--primary);background:var(--primary-light)}.todo-generate-row{display:flex;gap:6px;margin-bottom:14px}.generate-prompt-input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:.82rem;font-family:inherit;outline:none}.generate-prompt-input:focus{border-color:var(--primary)}.btn-generate-todos{padding:8px 16px;border-radius:6px;border:1px solid #16a34a;background:#dcfce7;color:#15803d;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-generate-todos:hover{background:#bbf7d0}.btn-generate-todos:disabled{opacity:.5;cursor:not-allowed}.todo-status-badge{font-size:.6rem;font-weight:600;padding:1px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.todo-status-pending{background:#f1f5f9;color:#64748b}.todo-status-approval{background:#fef3c7;color:#b45309}.todo-status-done{background:#dcfce7;color:#16a34a}.todo-status-rejected{background:#fee2e2;color:#dc2626}.todo-icon-pending_approval{color:#b45309}.todo-icon-rejected{color:#dc2626;cursor:pointer}.todo-icon-done{color:var(--success)}.todo-reject-note{cursor:help;font-size:.75rem;flex-shrink:0}.btn-review{padding:2px 8px;border-radius:4px;border:1px solid #fde68a;background:#fef9c3;color:#92400e;font-size:.65rem;font-weight:600;cursor:pointer;white-space:nowrap}.btn-review:hover{background:#fef3c7}.btn-reject{padding:10px 24px;background:var(--danger);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.btn-reject:hover{opacity:.9}.review-info{margin-bottom:14px}.review-text{background:var(--bg);padding:8px 12px;border-radius:6px;font-size:.85rem;margin-bottom:10px;white-space:pre-wrap;word-break:break-word}.review-links{font-family:monospace;font-size:.8rem}.rejection-feedback{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;margin-bottom:14px}.approval-badge{background:#f59e0b;color:#fff;font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center;flex-shrink:0}.manager-panel{display:flex;height:100%}.notif-bell{font-size:.85rem;font-weight:600;color:#f59e0b}.notif-list{list-style:none}.notif-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .15s}.notif-item:hover{background:var(--bg)}.notif-unread{background:#fffbeb}.notif-content{display:flex;flex-direction:column;gap:2px;min-width:0}.notif-task{font-size:.85rem;font-weight:500}.notif-meta{font-size:.7rem;color:var(--text-muted)}.notif-time{font-size:.65rem;color:var(--text-muted);white-space:nowrap}.notif-history{opacity:.7;cursor:default}.notif-status{font-size:.65rem;font-weight:600}.notif-approved{color:#16a34a}.notif-rejected{color:#dc2626}.manager-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.manager-list.compact{margin-bottom:14px}.manager-option{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s;font-size:.85rem}.manager-option:hover{background:var(--bg)}.manager-option.selected{border-color:var(--primary);background:var(--primary-light)}.manager-option input[type=checkbox]{accent-color:var(--primary);width:16px;height:16px}.login-divider{display:flex;align-items:center;gap:12px;margin:20px 0 12px;color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-manager-btn{border-color:#fde68a}.login-manager-btn:hover{border-color:#f59e0b;background:#fffbeb}.perf-container{height:100%;overflow-y:auto;padding:32px 40px;background:var(--bg)}.perf-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.perf-header h2{font-size:1.4rem;font-weight:700}.perf-month-picker{display:flex;align-items:center;gap:12px}.perf-month-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--surface);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.perf-month-btn:hover:not(:disabled){background:var(--bg)}.perf-month-btn:disabled{opacity:.3;cursor:not-allowed}.perf-month-label{font-size:1rem;font-weight:600;min-width:160px;text-align:center}.perf-loading{text-align:center;padding:40px;color:var(--text-muted)}.perf-cards{display:flex;flex-direction:column;gap:16px}.perf-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.perf-card-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;cursor:pointer}.perf-user-info{display:flex;align-items:center;gap:12px}.perf-avatar{font-size:2rem}.perf-user-name{font-size:1.1rem;font-weight:600}.perf-score{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums}.perf-points-row{display:flex;gap:12px;padding:0 24px 12px}.perf-point-item{font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:6px}.perf-base{background:#e0e7ff;color:#4338ca}.perf-early{background:#dcfce7;color:#16a34a}.perf-late{background:#fee2e2;color:#dc2626}.perf-adjust-row{display:flex;align-items:center;gap:10px;padding:4px 24px 12px}.perf-adjust-label{font-size:.78rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.perf-adjust-buttons{display:flex;gap:4px}.perf-adjust-btn{width:32px;height:26px;border:1px solid var(--border);border-radius:5px;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s;background:var(--surface);color:var(--text-muted)}.perf-adjust-btn:hover{border-color:var(--primary)}.perf-adjust-btn:disabled{opacity:.5;cursor:not-allowed}.perf-adjust-neg:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.perf-adjust-pos:hover{background:#dcfce7;color:#16a34a;border-color:#86efac}.perf-adjust-zero:hover{background:#e0e7ff;color:#4338ca;border-color:#a5b4fc}.perf-adjust-active.perf-adjust-neg{background:#dc2626;color:#fff;border-color:#dc2626}.perf-adjust-active.perf-adjust-pos{background:#16a34a;color:#fff;border-color:#16a34a}.perf-adjust-active.perf-adjust-zero{background:#4338ca;color:#fff;border-color:#4338ca}.perf-stats-row{display:flex;gap:0;padding:0 24px 16px}.perf-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0;border-right:1px solid var(--border)}.perf-stat:last-child{border-right:none}.perf-stat-value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.perf-stat-label{font-size:.7rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.perf-stat-done{color:#16a34a}.perf-stat-pending{color:#ca8a04}.perf-stat-overdue{color:#dc2626}.perf-stat-rejected{color:#9333ea}.perf-expand-btn{width:100%;padding:10px;border:none;border-top:1px solid var(--border);background:#fafafa;color:var(--primary);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s}.perf-expand-btn:hover{background:var(--primary-light)}.perf-breakdown{padding:0 24px 12px;animation:fadeIn .2s}.perf-breakdown-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:10px}.perf-no-tasks{padding:16px;text-align:center;color:var(--text-muted);font-size:.85rem;font-style:italic}.perf-table{width:100%;border-collapse:collapse;font-size:.82rem}.perf-table th{text-align:left;padding:8px 10px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:2px solid var(--border)}.perf-table td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.perf-table tr:last-child td{border-bottom:none}.perf-task-cell{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perf-room-cell{color:var(--text-muted);font-size:.78rem}.perf-status-badge{font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:4px;white-space:nowrap}.perf-status-done{background:#dcfce7;color:#16a34a}.perf-status-approval{background:#fef3c7;color:#b45309}.perf-status-rejected{background:#fee2e2;color:#dc2626}.perf-status-pending{background:#f1f5f9;color:#64748b}.perf-points-cell{font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.perf-pts-pos{color:#16a34a}.perf-pts-neg{color:#dc2626}.perf-reason-cell{color:var(--text-muted);font-size:.78rem}.perf-tab-bar{display:flex;gap:0;margin-bottom:24px;border-radius:10px;overflow:hidden;border:1px solid var(--border);width:fit-content}.perf-tab{padding:8px 28px;border:none;background:var(--surface);font-size:.85rem;font-weight:600;cursor:pointer;color:var(--text-muted);transition:all .15s}.perf-tab:not(:last-child){border-right:1px solid var(--border)}.perf-tab:hover:not(.perf-tab-active){background:var(--bg)}.perf-tab-active{background:var(--primary);color:#fff}.perf-mgr-response{background:#e0f2fe;color:#0369a1}.perf-action-approved{background:#dcfce7;color:#16a34a}.perf-action-rejected{background:#fee2e2;color:#dc2626}.form-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.form-label-row .form-label{margin-bottom:0}.btn-record{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);font-size:.8rem;cursor:pointer;transition:all .15s}.btn-record:hover{background:var(--bg);border-color:var(--primary)}.btn-record:disabled{opacity:.5;cursor:not-allowed}.btn-record.recording{background:#fee2e2;border-color:#ef4444;color:#dc2626;animation:pulse-border 1.5s ease-in-out infinite}@keyframes pulse-border{0%,to{border-color:#ef4444}50%{border-color:#fca5a5}}.rec-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ef4444;animation:rec-blink 1s ease-in-out infinite}@keyframes rec-blink{0%,to{opacity:1}50%{opacity:.3}}.transcribing-indicator{padding:8px 12px;margin-bottom:6px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1d4ed8;font-size:.82rem;animation:pulse-bg 1.5s ease-in-out infinite}@keyframes pulse-bg{0%,to{opacity:1}50%{opacity:.6}}.audio-preview{display:flex;align-items:center;gap:10px;margin-top:6px;margin-bottom:6px;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.btn-transcribe{padding:5px 14px;border:1px solid var(--primary);border-radius:6px;background:var(--primary);color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-transcribe:hover{opacity:.85}.btn-transcribe:disabled{opacity:.5;cursor:not-allowed}.audio-preview audio,.audio-bar audio{height:32px;flex:1;min-width:0}.audio-label{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.audio-section{max-height:140px;overflow-y:auto;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.audio-bar{display:flex;align-items:center;gap:10px;padding:6px 16px;background:var(--surface)}.audio-bar:not(:last-child){border-bottom:1px solid var(--border)}.todo-inline-form{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--border)}.todo-inline-form input[type=text]{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:5px;font-size:.82rem;font-family:inherit;outline:none}.todo-inline-form input[type=text]:focus{border-color:var(--primary)}.todo-inline-form input[type=date]{padding:6px 8px;border:1px solid var(--border);border-radius:5px;font-size:.8rem;font-family:inherit;outline:none;width:140px}.todo-inline-form input[type=date]:focus{border-color:var(--primary)}.todo-edit-inline{flex:1;border-bottom:none;padding:0}.btn-sm{padding:4px 10px!important;font-size:.75rem!important;border-radius:5px}.todo-header .btn-add-todo{width:auto;padding:3px 10px;font-size:.72rem;margin-left:8px;flex-shrink:0}.todo-actions{display:flex;gap:2px;margin-left:4px;flex-shrink:0}.btn-icon-sm{background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;padding:2px 5px;font-size:.82rem;color:var(--text-muted);transition:all .15s;line-height:1}.btn-icon-sm:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.btn-icon-danger:hover{background:#fef2f2;color:#dc2626;border-color:#dc2626}.perf-role-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.68rem;font-weight:600;text-transform:capitalize;margin-left:8px}.perf-role-user{background:#dbeafe;color:#1d4ed8}.perf-role-manager{background:#fef3c7;color:#92400e}.perf-role-admin{background:#ede9fe;color:#6d28d9}.perf-activity-total{font-size:.85rem;font-weight:600;color:var(--text-muted)}.perf-act-add{background:#dcfce7!important;color:#166534!important}.perf-act-edit{background:#dbeafe!important;color:#1e40af!important}.perf-act-delete{background:#fef2f2!important;color:#991b1b!important}.portal-card{min-width:380px;max-width:420px}.portal-form{display:flex;flex-direction:column;gap:6px}.portal-label{font-size:.8rem;font-weight:600;color:var(--text-muted);margin-top:8px}.portal-input{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:8px;font-size:.95rem;font-family:inherit;background:var(--bg);color:var(--text);transition:border-color .2s}.portal-input:focus{outline:none;border-color:var(--primary);background:#fff}select.portal-input{cursor:pointer;appearance:auto}.portal-submit{margin-top:16px;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s}.portal-submit:hover{background:var(--primary-dark);transform:translateY(-1px)}.portal-submit:active{transform:translateY(0)}.portal-error{background:#fef2f2;color:#dc2626;padding:10px 14px;border-radius:8px;font-size:.85rem;margin-bottom:8px;border:1px solid #fecaca}.portal-toggle{text-align:center;margin-top:20px;font-size:.85rem;color:var(--text-muted)}.portal-link{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;font-size:.85rem;text-decoration:underline}.portal-link:hover{color:var(--primary-dark)}.portal-topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;background:var(--primary-light);border-bottom:1px solid var(--border)}.portal-topbar .btn-logout{position:static}.portal-welcome{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem}.portal-role-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px;background:var(--primary);color:#fff}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;padding:0 8px;margin-bottom:8px}.sidebar-section-header h4{margin-bottom:0;padding:0}.btn-new-room{width:26px;height:26px;border-radius:6px;border:1.5px solid var(--primary);background:var(--primary-light);color:var(--primary);font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;line-height:1}.btn-new-room:hover{background:var(--primary);color:#fff}.new-room-form{display:flex;gap:6px;padding:8px 8px 12px;align-items:center}.new-room-form input{flex:1;padding:6px 10px;border:1.5px solid var(--border);border-radius:6px;font-size:.85rem;font-family:inherit;min-width:0}.new-room-form input:focus{outline:none;border-color:var(--primary)}.room-item .room-actions{display:none;gap:2px;margin-left:auto;flex-shrink:0}.room-item:hover .room-actions{display:flex}.room-rename-form{display:flex;align-items:center;gap:4px;width:100%}.room-rename-form input{flex:1;padding:4px 8px;border:1.5px solid var(--primary);border-radius:6px;font-size:.85rem;font-family:inherit;min-width:0}.room-rename-form input:focus{outline:none}.portal-instructions{max-width:480px;text-align:left;background:var(--surface);padding:32px 36px;border-radius:var(--radius);box-shadow:var(--shadow-lg)}.portal-instructions h3{font-size:1.3rem;margin-bottom:12px;color:var(--primary)}.portal-instructions p{color:var(--text-muted);margin-bottom:16px;font-size:.95rem}.portal-instructions ol{padding-left:20px;display:flex;flex-direction:column;gap:10px;color:var(--text);font-size:.9rem;line-height:1.6}.portal-instructions-tip{margin-top:16px;padding:10px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:.85rem;color:#92400e}.manager-onboarding{max-width:480px;text-align:left;background:var(--surface);padding:28px 32px;border-radius:var(--radius);box-shadow:var(--shadow-lg);margin-top:16px}.manager-onboarding p{color:var(--text-muted);margin-bottom:12px;font-size:.93rem;line-height:1.6}.manager-onboarding hr{border:none;border-top:1px solid var(--border);margin:16px 0}.manager-email-display{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 16px;font-family:monospace;font-size:1rem;color:var(--primary);text-align:center;margin:12px 0;-webkit-user-select:all;user-select:all}.meeting-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.meeting-bar-label{font-size:.82rem;color:var(--text-muted);font-weight:600}.meeting-bar-item{display:flex;align-items:center;gap:6px;font-size:.85rem}.meeting-bar-item .btn-confirm-meeting{padding:4px 12px;font-size:.8rem;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.meeting-bar-item .btn-confirm-meeting:hover{opacity:.9}.meeting-bar-item .btn-confirm-meeting:disabled{opacity:.5;cursor:not-allowed}.meeting-confirmed-badge{font-size:.8rem;color:#16a34a;font-weight:500}.room-item-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.room-owner{font-size:.7rem;color:var(--text-muted);padding-left:22px}.room-user-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--primary-light);border-bottom:1px solid var(--border);font-size:.85rem;font-weight:600}.btn-user-info-toggle{padding:4px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-user-info-toggle:hover{border-color:var(--primary);color:var(--primary)}.room-user-details{padding:12px 16px;background:#f8fafc;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px 24px}.room-user-detail-row{display:flex;align-items:center;gap:8px;font-size:.82rem}.detail-label{font-weight:600;color:var(--text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;min-width:60px}.detail-mono{font-family:SF Mono,Fira Code,monospace;font-size:.78rem;color:var(--text-muted)}.admin-session-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:4px 20px;background:#1e293b;color:#cbd5e1;font-size:.78rem}.btn-admin-logout{padding:3px 12px;border:1px solid #475569;border-radius:5px;background:transparent;color:#cbd5e1;font-size:.75rem;cursor:pointer;transition:all .15s}.btn-admin-logout:hover{background:#334155;border-color:#94a3b8;color:#fff}.manager-bar{display:flex;align-items:center;gap:10px;padding:6px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;font-size:.85rem}.manager-bar-label{font-weight:600;color:var(--text-muted);white-space:nowrap}.manager-bar-info{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.manager-bar-empty{color:var(--text-muted);font-style:italic}.manager-tag{background:var(--primary-light, #e8f0fe);color:var(--primary, #1a73e8);border-radius:12px;padding:2px 10px;font-size:.8rem;white-space:nowrap}.manager-bar-form{display:flex;align-items:center;gap:4px;margin-left:auto}.manager-bar-form input[type=email]{padding:4px 8px;border:1px solid var(--border);border-radius:6px;font-size:.82rem;width:180px;background:var(--bg)}.manager-feedback{font-size:.8rem;padding:2px 8px;border-radius:4px}.manager-feedback.success{color:#1e7e34}.manager-feedback.error{color:#c62828}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
