/* Minimalista limpo */
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui,-apple-system,Helvetica,Arial,sans-serif; background:#f5f7fa; color:#1f2933; }
header { height:0px !important; padding:16px 24px; background:#fff; border-bottom:1px solid #e2e8f0; display:flex; align-items:center; gap:16px; }
main { max-width:100%; margin:0 auto; padding:24px; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; }

:root { --accent:#2563eb; --accent-hover:#1d4ed8; --danger:#dc2626; --radius:10px; --border:#d9e2ec; }
.btn { background:var(--accent); color:#fff; border:none; padding:8px 14px; border-radius:6px; font-weight:500; }
.btn:hover { background:var(--accent-hover); }
.btn-outline { background:#fff; border:1px solid var(--border); color:#334e68; }
.btn-outline:hover { background:#f0f4f8; }
.btn-danger { background:var(--danger); color:#fff; border:none; padding:4px 8px; border-radius:6px; }
.btn-danger:hover { filter:brightness(.9); }

.grid { display:grid; gap:18px; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); }
.card { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:12px; box-shadow:0 1px 2px rgba(0,0,0,.05); transition:.2s; position:relative; }
.card:hover { box-shadow:0 4px 12px rgba(0,0,0,.08); }
.avatar { width:90px; height:90px; border-radius:50%; background:#e0e8f9; overflow:hidden; display:flex; align-items:center; justify-content:center; margin:0 auto 8px; font-size:36px; }
.name { font-size:14px; text-align:center; font-weight:600; }

form.inline { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
form.inline input { padding:8px 10px; border:1px solid var(--border); border-radius:6px; min-width:160px; }
form.inline select { padding:8px 10px; border:1px solid var(--border); border-radius:6px; }

.week { display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
@media (min-width: 1100px){
	.week { grid-template-columns: repeat(6, 1fr); }
}
.day { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:10px; display:flex; flex-direction:column; min-height: 640px; }
.day header { padding:0; background:none; border:none; font-weight:600; margin-bottom:8px; display:flex; align-items:center; justify-content:space-between; }
.day-body { display:flex; gap:10px; align-items:flex-start; }
.hours { list-style:none; padding:0; margin:0; width:60px; color:#829ab1; font-size:12px; flex-shrink:0; }
.hours li { padding:4px 0; border-bottom:1px dashed #eef2f7; cursor:pointer; transition:.2s; }
.hours li:hover { background:#e6f2ff; color:#2563eb; }
.tasks { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:6px; flex:1; }
.tasks li { display:flex; align-items:center; gap:6px; font-size:13px; cursor:pointer; padding:4px 6px; border-radius:6px; transition:.15s; }
.tasks li:hover { background:#f0f4f8; }
.tasks li.empty { opacity:.5; font-style:italic; cursor:default; }
.tasks li.empty:hover { background:transparent; }
.tasks li[title] { position:relative; }
.line-through { text-decoration:line-through; opacity:.6; }
.template { margin-top:28px; }
small.muted { color:#66788a; }

.actions { position:absolute; top:6px; right:6px; display:flex; gap:6px; }
input[type="text"].edit-name { width:100%; padding:6px 8px; border:1px solid var(--border); border-radius:6px; margin-top:4px; }

footer { text-align:center; padding:32px 0 48px; font-size:12px; color:#829ab1; }

/* Override height specifically when inside #week */
#week .day { min-height:530px; height:530px; }

/* Modal */
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.4); display:none; align-items:center; justify-content:center; z-index:1000; }
.modal { background:#fff; border:1px solid var(--border); border-radius:12px; padding:16px; width: min(520px, 92vw); box-shadow:0 10px 30px rgba(0,0,0,.2); }
.modal h3 { margin:0 0 12px; font-size:18px; font-weight:600; letter-spacing:.5px; }
.modal .row { display:flex; gap:12px; margin-bottom:14px; align-items:flex-start; flex-wrap:wrap; }
.modal textarea, .modal input, .modal select { width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:8px; font-size:14px; background:#f9fbfd; }
.modal textarea:focus, .modal input:focus, .modal select:focus { outline:2px solid var(--accent); background:#fff; }
.modal .actions { display:flex; justify-content:flex-end; gap:10px; margin-top:4px; }
.modal .actions-inline { display:flex; justify-content:center; gap:16px; margin-top:12px; }
.modal .actions-inline .btn, .modal .actions-inline .btn-outline { flex:1 1 160px; padding:12px 18px; font-size:14px; }
.modal-header { display:flex; align-items:center; justify-content:space-between; margin:-16px -16px 16px; padding:14px 18px; border-bottom:1px solid #e6ecf1; background:linear-gradient(135deg,#ffffff,#f3f7fa); border-radius:12px 12px 0 0; }
.modal-header h3 { margin:0; }
.close-btn { background:transparent; border:1px solid var(--border); width:32px; height:32px; border-radius:8px; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:16px; }
.close-btn:hover { background:#fff; box-shadow:0 0 0 3px rgba(0,0,0,.05); }
.choice-group { display:flex; gap:8px; flex-wrap:wrap; }
.choice-group button { flex:1 1 110px; background:#fff; border:1px solid var(--border); padding:8px 10px; border-radius:8px; cursor:pointer; font-size:13px; font-weight:500; display:flex; align-items:center; gap:6px; }
.choice-group button:hover { background:#f0f4f8; }
.choice-group button.active { background:var(--accent); color:#fff; border-color:var(--accent); box-shadow:0 2px 6px rgba(0,0,0,.15); }
.inline-label { display:flex; flex-direction:column; gap:6px; min-width:140px; }
.time-select-wrapper { flex:1 1 160px; }
.pill { background:#e0f2fe; color:#0369a1; padding:4px 10px; border-radius:20px; font-size:12px; font-weight:500; }

/* Context menu */
.context-menu { position:fixed; background:#fff; border:1px solid var(--border); border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,.15); z-index:2000; min-width:180px; padding:4px; }
.context-menu button { width:100%; text-align:left; background:transparent; border:none; padding:8px 12px; border-radius:6px; cursor:pointer; font-size:13px; display:flex; align-items:center; gap:8px; }
.context-menu button:hover { background:#f0f4f8; }
.context-menu .divider { height:1px; background:#e6ecf1; margin:4px 0; }

/* Company Colors */
.company-protec { border-left: 4px solid #001f3f !important; background: linear-gradient(to right, rgba(0, 31, 63, 0.08), transparent) !important; }
.company-engitunnel { border-left: 4px solid #0074D9 !important; background: linear-gradient(to right, rgba(0, 116, 217, 0.08), transparent) !important; }
.company-amcc { border-left: 4px solid #E50914 !important; background: linear-gradient(to right, rgba(229, 9, 20, 0.08), transparent) !important; }
.company-innov { border-left: 4px solid #6c757d !important; background: linear-gradient(to right, rgba(108, 117, 125, 0.08), transparent) !important; }
.company-bancapacheco { border-left: 4px solid #FFD700 !important; background: linear-gradient(to right, rgba(255, 215, 0, 0.1), transparent) !important; }
.company-wolf { border-left: 4px solid #FFC107 !important; background: linear-gradient(to right, rgba(255, 193, 7, 0.1), transparent) !important; }
.company-tigersault { border-left: 4px solid #808080 !important; background: linear-gradient(to right, rgba(128, 128, 128, 0.08), transparent) !important; }

.company-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 600;
  margin-left: 6px;
  color: #fff;
}
.company-badge.protec { background: #001f3f; }
.company-badge.engitunnel { background: #0074D9; }
.company-badge.amcc { background: #E50914; }
.company-badge.innov { background: #6c757d; }
.company-badge.bancapacheco { background: #FFD700; color: #333; }
.company-badge.wolf { background: #FFC107; color: #333; }
.company-badge.tigersault { background: #808080; }
