/* =============================================
   ORBIT - Styles
   ============================================= */
:root { --orbit-dark:#0f172a; --orbit-dark-lighter:#1e293b; --orbit-accent:#3b82f6; --orbit-text:#334155; --orbit-muted:#94a3b8; --orbit-bg:#f1f5f9; }
body { background-color:var(--orbit-bg); color:var(--orbit-text); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; font-size:0.9rem; }
.bg-orbit-dark { background-color:var(--orbit-dark)!important; }
.orbit-logo { font-size:1.4rem; line-height:1; color:var(--orbit-accent); }
.orbit-logo-large { font-size:3rem; display:block; color:var(--orbit-accent); }

.stat-card { border-radius:0.5rem; } .stat-project-name { font-weight:700; font-size:0.8rem; text-transform:uppercase; letter-spacing:0.5px; }
.stat-number { font-size:1.5rem; font-weight:700; line-height:1.2; color:var(--orbit-dark); } .stat-label { font-size:0.75rem; font-weight:400; color:var(--orbit-muted); }

.project-badge { display:inline-block; padding:2px 8px; border-radius:4px; color:white; font-size:0.7rem; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; white-space:nowrap; }

.task-row { padding:0.6rem 0.75rem!important; border-left:0; border-right:0; transition:background-color 0.15s; }
.task-row:hover { background-color:#f8fafc; } .task-row:hover .task-actions { opacity:1; }
.task-title { font-weight:500; font-size:0.9rem; word-break:break-word; } .task-meta { margin-top:2px; }
.task-actions { opacity:0; transition:opacity 0.15s; }

.status-btn { background:none; border:none; cursor:pointer; line-height:1; }
.status-dot { display:inline-block; width:14px; height:14px; border-radius:50%; border:2px solid transparent; transition:transform 0.15s; }
.status-btn:hover .status-dot { transform:scale(1.3); }

.badge-type { display:inline-block; padding:1px 6px; border-radius:4px; font-size:0.7rem; font-weight:600; white-space:nowrap; }
.form-select-sm,.form-control-sm { font-size:0.8rem; }

/* Drag handle */
.drag-handle { cursor:grab; opacity:0.4; transition:opacity 0.15s; }
.task-row:hover .drag-handle { opacity:1; }
.sortable-ghost { opacity:0.4; background-color:#dbeafe!important; }
.sortable-chosen { box-shadow:0 4px 12px rgba(0,0,0,0.15); }

/* Today */
.today-task-row { display:flex; align-items:center; padding:0.5rem 0.25rem; border-bottom:1px solid #f1f5f9; cursor:pointer; gap:0.25rem; transition:background-color 0.15s; }
.today-task-row:last-child { border-bottom:none; } .today-task-row:hover { background-color:#f8fafc; border-radius:4px; }
.today-task-title { font-weight:500; font-size:0.85rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.today-meeting-time { font-size:0.75rem; font-weight:700; color:#059669; background:#ecfdf5; padding:1px 6px; border-radius:4px; white-space:nowrap; }

/* Calendar */
.calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); }
.calendar-header { padding:0.5rem; text-align:center; font-weight:600; font-size:0.75rem; color:var(--orbit-muted); text-transform:uppercase; background-color:#f8fafc; border-bottom:1px solid #e2e8f0; }
.calendar-cell { min-height:90px; padding:4px; border:1px solid #e2e8f0; } .calendar-empty { background-color:#f8fafc; } .calendar-today { background-color:#eff6ff; }
.calendar-day-number { font-size:0.8rem; color:var(--orbit-muted); margin-bottom:2px; } .calendar-today .calendar-day-number { color:var(--orbit-accent); font-weight:700; }
.calendar-task { padding:2px 4px; margin-bottom:2px; background:white; border-radius:3px; font-size:0.7rem; cursor:pointer; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display:flex; align-items:center; gap:3px; box-shadow:0 1px 2px rgba(0,0,0,0.05); }
.calendar-task:hover { background-color:#f1f5f9; } .calendar-meeting { background-color:#ecfdf5; }
.calendar-task-title { overflow:hidden; text-overflow:ellipsis; } .calendar-task-time { font-size:0.6rem; font-weight:700; color:#059669; white-space:nowrap; }

.card { border-radius:0.5rem; } .card-header { border-radius:0.5rem 0.5rem 0 0!important; } .border-4 { border-width:4px!important; }

.note-item { padding:0.5rem; border-left:3px solid var(--orbit-accent); background-color:#f8fafc; margin-bottom:0.5rem; border-radius:0 4px 4px 0; font-size:0.85rem; }
.note-item .note-date { font-size:0.7rem; color:var(--orbit-muted); }

/* Email */
.email-row { padding:0.6rem 0.75rem!important; transition:background-color 0.15s; } .email-row:hover { background-color:#f8fafc; }
.email-unread { background-color:#eff6ff!important; } .email-unread:hover { background-color:#dbeafe!important; }
.email-from { font-size:0.85rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:200px; display:inline-block; }
.email-subject { font-size:0.85rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.email-preview { font-size:0.78rem; color:var(--orbit-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:1px; }
.email-date { font-size:0.75rem; white-space:nowrap; margin-left:0.5rem; }
.email-body { max-height:600px; overflow-y:auto; } .email-iframe { width:100%; min-height:200px; border:none; }
.email-text { white-space:pre-wrap; word-wrap:break-word; font-family:inherit; font-size:0.9rem; background:transparent; border:none; padding:0; margin:0; }
.email-actions { opacity:0; transition:opacity 0.15s; } .email-row:hover .email-actions { opacity:1; }
.email-actions .btn-link { font-size:0.9rem; line-height:1; }

/* Weekly Review */
.review-stat-number { font-size:2rem; font-weight:800; line-height:1.1; }
.review-stat-label { font-size:0.7rem; color:var(--orbit-muted); text-transform:uppercase; letter-spacing:0.5px; font-weight:600; }

/* Project Health */
.health-stat { background:#f8fafc; border-radius:0.5rem; padding:0.75rem; text-align:center; }
.health-stat-number { font-size:1.5rem; font-weight:800; line-height:1.1; color:var(--orbit-dark); }
.health-stat-label { font-size:0.65rem; color:var(--orbit-muted); text-transform:uppercase; letter-spacing:0.5px; font-weight:600; margin-top:2px; }
.progress { border-radius:4px; overflow:hidden; background-color:#e2e8f0; }

/* Bookmarklet box */
.bookmarklet-link { display:inline-block; padding:6px 16px; background:var(--orbit-dark); color:white!important; border-radius:6px; text-decoration:none; font-weight:600; font-size:0.85rem; cursor:grab; }
.bookmarklet-link:hover { background:var(--orbit-dark-lighter); }

/* Responsive */
@media (max-width:768px) {
    .stat-number { font-size:1.2rem; } .task-actions { opacity:1; } .drag-handle { opacity:1; }
    .calendar-cell { min-height:60px; padding:2px; } .calendar-day-number { font-size:0.7rem; }
    .calendar-task { font-size:0.6rem; } .calendar-task span:first-child { display:none; }
    pre { font-size:0.7rem; } .today-task-title { font-size:0.8rem; }
    .email-from { max-width:120px; } .email-actions { opacity:1; } .email-preview { display:none; }
    .review-stat-number { font-size:1.5rem; } .health-stat-number { font-size:1.2rem; }
}
::-webkit-scrollbar { width:6px; } ::-webkit-scrollbar-track { background:transparent; } ::-webkit-scrollbar-thumb { background:var(--orbit-muted); border-radius:3px; }
@media print { .navbar,.task-actions,.btn,form { display:none!important; } }
