Eisenhower Matrix Template: Free Priority Planner | Inspire Ambitions {“@context”:”https://schema.org”,”@type”:”WebApplication”,”name”:”Eisenhower Matrix Template: Free Priority Planner”,”description”:”Organise your tasks by urgency and importance with our free interactive Eisenhower Matrix.”,”applicationCategory”:”BusinessApplication”,”operatingSystem”:”Web”,”provider”:{“@type”:”Organization”,”name”:”Inspire Ambitions”,”url”:”https://inspireambitions.com”},”isAccessibleForFree”:true,”offers”:{“@type”:”Offer”,”price”:”0″,”priceCurrency”:”USD”}} :root { –primary: #1a1a2e; –accent: #e07c3a; –accent-hover: #cc6a2b; –accent-light: rgba(224,124,58,0.1); –surface: #ffffff; –surface-alt: #fdf8f4; –text: #2d2d3a; –text-light: #6b7280; –border: #e5e7eb; –do: #059669; –do-bg: #ecfdf5; –schedule: #3b82f6; –schedule-bg: #eff6ff; –delegate: #d97706; –delegate-bg: #fffbeb; –eliminate: #dc2626; –eliminate-bg: #fef2f2; –radius: 12px; –shadow-sm: 0 1px 3px rgba(0,0,0,0.06); –shadow-md: 0 4px 20px rgba(0,0,0,0.08); –shadow-lg: 0 8px 40px rgba(0,0,0,0.12); } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: ‘Lato’, -apple-system, BlinkMacSystemFont, sans-serif; color: var(–text); background: var(–surface-alt); line-height: 1.6; -webkit-font-smoothing: antialiased; } h1, h2, h3, h4 { font-family: ‘Jost’, sans-serif; line-height: 1.2; } /* ===== HERO ===== */ .tool-hero { background: linear-gradient(135deg, #1a1a2e 0%, #2e1a1a 100%); color: #fff; padding: 60px 20px 50px; text-align: center; position: relative; overflow: hidden; } .tool-hero::before { content: ”; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle at 50% 40%, rgba(224,124,58,0.1) 0%, transparent 50%), radial-gradient(circle at 20% 80%, rgba(224,124,58,0.06) 0%, transparent 50%); pointer-events: none; } .tool-hero-inner { max-width: 720px; margin: 0 auto; position: relative; z-index: 1; } .tool-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(224,124,58,0.15); color: var(–accent); font-family: ‘Jost’, sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; padding: 6px 14px; border-radius: 20px; margin-bottom: 20px; } .tool-badge svg { width: 14px; height: 14px; } .tool-hero h1 { font-size: clamp(28px, 5vw, 40px); font-weight: 700; margin-bottom: 16px; letter-spacing: -0.5px; } .tool-hero h1 span { color: var(–accent); } .tool-hero > .tool-hero-inner > p { font-size: 17px; color: rgba(255,255,255,0.75); max-width: 560px; margin: 0 auto 28px; } .trust-row { display: flex; justify-content: center; gap: 24px; flex-wrap: wrap; font-size: 13px; color: rgba(255,255,255,0.55); } .trust-row span { display: flex; align-items: center; gap: 6px; } .trust-row svg { width: 15px; height: 15px; color: var(–accent); flex-shrink: 0; } /* ===== CONTAINER ===== */ .tool-container { max-width: 960px; margin: -30px auto 60px; padding: 0 20px; position: relative; z-index: 2; } /* ===== GUIDED START ===== */ .guided-start { background: var(–surface); border-radius: var(–radius); box-shadow: var(–shadow-lg); padding: 40px 32px; text-align: center; margin-bottom: 24px; } .guided-start h2 { font-size: 24px; margin-bottom: 12px; color: var(–primary); } .guided-start > p { color: var(–text-light); margin-bottom: 24px; max-width: 520px; margin-left: auto; margin-right: auto; } .quadrant-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 24px; text-align: left; } .qp-card { padding: 16px; border-radius: 10px; border-left: 3px solid; } .qp-card.q1 { background: var(–do-bg); border-color: var(–do); } .qp-card.q2 { background: var(–schedule-bg); border-color: var(–schedule); } .qp-card.q3 { background: var(–delegate-bg); border-color: var(–delegate); } .qp-card.q4 { background: var(–eliminate-bg); border-color: var(–eliminate); } .qp-card h4 { font-size: 14px; margin-bottom: 4px; } .qp-card.q1 h4 { color: var(–do); } .qp-card.q2 h4 { color: var(–schedule); } .qp-card.q3 h4 { color: var(–delegate); } .qp-card.q4 h4 { color: var(–eliminate); } .qp-card p { font-size: 12px; color: var(–text-light); } .hospitality-context { background: var(–accent-light); border-radius: 10px; padding: 16px 20px; margin-bottom: 24px; text-align: left; border: 1px solid rgba(224,124,58,0.15); } .hospitality-context h4 { font-size: 13px; color: var(–accent); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; } .hospitality-context h4 svg { width: 14px; height: 14px; } .hospitality-context ul { font-size: 13px; color: var(–text); margin-left: 18px; line-height: 1.8; } .btn-begin { background: var(–accent); color: #fff; font-family: ‘Jost’, sans-serif; font-size: 17px; font-weight: 600; padding: 16px 40px; border: none; border-radius: 10px; cursor: pointer; box-shadow: 0 4px 16px rgba(224,124,58,0.3); transition: all 0.25s ease; } .btn-begin:hover { background: var(–accent-hover); transform: translateY(-2px); box-shadow: 0 6px 24px rgba(224,124,58,0.4); } .start-footer { margin-top: 16px; font-size: 12px; color: var(–text-light); display: flex; justify-content: center; gap: 16px; } .start-footer span { display: flex; align-items: center; gap: 4px; } .start-footer svg { width: 13px; height: 13px; color: var(–do); } /* ===== MATRIX WORKSPACE ===== */ .matrix-workspace { display: none; } /* Axis labels */ .matrix-outer { position: relative; padding-left: 32px; padding-top: 24px; } .axis-label-y { position: absolute; left: 0; top: 50%; transform: rotate(-90deg) translateX(-50%); font-family: ‘Jost’, sans-serif; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(–text-light); transform-origin: 0 0; white-space: nowrap; } .axis-label-x { text-align: center; font-family: ‘Jost’, sans-serif; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(–text-light); margin-top: 8px; } .axis-sublabels { display: flex; justify-content: space-around; font-family: ‘Jost’, sans-serif; font-size: 11px; color: var(–text-light); margin-bottom: 4px; } .matrix-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; } .matrix-quadrant { background: var(–surface); border-radius: var(–radius); box-shadow: var(–shadow-sm); border: 2px solid var(–border); overflow: hidden; min-height: 240px; transition: border-color 0.2s; } .matrix-quadrant.drag-over { border-style: dashed; } .mq-header { padding: 14px 16px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(–border); } .mq-icon { width: 28px; height: 28px; min-width: 28px; border-radius: 6px; display: flex; align-items: center; justify-content: center; } .mq-icon svg { width: 14px; height: 14px; } .mq-header h3 { font-size: 15px; } .mq-header .mq-subtitle { font-size: 11px; font-family: ‘Jost’, sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; } .mq-header .task-count { margin-left: auto; font-family: ‘Jost’, sans-serif; font-size: 12px; font-weight: 600; background: var(–surface-alt); padding: 2px 8px; border-radius: 10px; color: var(–text-light); } .q-do .mq-icon { background: var(–do-bg); } .q-do .mq-icon svg { color: var(–do); } .q-do h3 { color: var(–do); } .q-do .mq-subtitle { color: var(–do); } .q-do.drag-over { border-color: var(–do); } .q-schedule .mq-icon { background: var(–schedule-bg); } .q-schedule .mq-icon svg { color: var(–schedule); } .q-schedule h3 { color: var(–schedule); } .q-schedule .mq-subtitle { color: var(–schedule); } .q-schedule.drag-over { border-color: var(–schedule); } .q-delegate .mq-icon { background: var(–delegate-bg); } .q-delegate .mq-icon svg { color: var(–delegate); } .q-delegate h3 { color: var(–delegate); } .q-delegate .mq-subtitle { color: var(–delegate); } .q-delegate.drag-over { border-color: var(–delegate); } .q-eliminate .mq-icon { background: var(–eliminate-bg); } .q-eliminate .mq-icon svg { color: var(–eliminate); } .q-eliminate h3 { color: var(–eliminate); } .q-eliminate .mq-subtitle { color: var(–eliminate); } .q-eliminate.drag-over { border-color: var(–eliminate); } .mq-body { padding: 12px 16px; min-height: 120px; } .task-list { list-style: none; } .task-item { display: flex; align-items: flex-start; gap: 8px; padding: 10px 10px; border-radius: 8px; margin-bottom: 4px; cursor: grab; transition: all 0.15s; border: 1px solid transparent; } .task-item:hover { background: var(–surface-alt); } .task-item.dragging { opacity: 0.4; } .task-check { width: 18px; height: 18px; min-width: 18px; margin-top: 1px; border: 2px solid var(–border); border-radius: 4px; cursor: pointer; transition: all 0.2s; display: flex; align-items: center; justify-content: center; background: none; } .task-check:hover { border-color: var(–do); } .task-check.checked { background: var(–do); border-color: var(–do); } .task-check.checked svg { display: block; } .task-check svg { width: 12px; height: 12px; color: #fff; display: none; } .task-text { flex: 1; font-size: 14px; line-height: 1.4; } .task-item.completed .task-text { text-decoration: line-through; color: var(–text-light); } .task-remove { opacity: 0; cursor: pointer; background: none; border: none; color: var(–text-light); font-size: 16px; padding: 0 4px; transition: opacity 0.15s; } .task-item:hover .task-remove { opacity: 1; } .task-remove:hover { color: var(–eliminate); } @media (hover: none) { .task-remove { opacity: 0.5; } } .add-row { display: flex; gap: 8px; margin-top: 8px; } .add-input { flex: 1; padding: 8px 12px; border: 2px solid var(–border); border-radius: 8px; font-family: ‘Lato’, sans-serif; font-size: 13px; transition: border-color 0.2s; outline: none; } .add-input:focus { border-color: var(–accent); } .add-input::placeholder { color: #bbb; } .add-btn { padding: 8px 14px; border: none; border-radius: 8px; font-family: ‘Jost’, sans-serif; font-weight: 600; font-size: 13px; cursor: pointer; transition: all 0.2s; color: #fff; } .q-do .add-btn { background: var(–do); } .q-schedule .add-btn { background: var(–schedule); } .q-delegate .add-btn { background: var(–delegate); } .q-eliminate .add-btn { background: var(–eliminate); } .add-btn:hover { opacity: 0.9; } /* ===== ACTION BAR ===== */ .action-bar { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; } .btn-action { font-family: ‘Jost’, sans-serif; font-size: 14px; font-weight: 600; padding: 12px 24px; border-radius: 8px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: all 0.2s; } .btn-action svg { width: 16px; height: 16px; } .btn-print { background: var(–primary); color: #fff; border: none; } .btn-print:hover { opacity: 0.9; } .btn-clear { background: transparent; color: var(–text-light); border: 2px solid var(–border); } .btn-clear:hover { border-color: var(–eliminate); color: var(–eliminate); } /* ===== TIPS SECTION ===== */ .tips-section { background: var(–surface); border-radius: var(–radius); box-shadow: var(–shadow-sm); border: 1px solid var(–border); padding: 28px; margin-bottom: 24px; } .tips-section h3 { font-size: 18px; color: var(–primary); margin-bottom: 16px; display: flex; align-items: center; gap: 8px; } .tips-section h3 svg { width: 20px; height: 20px; color: var(–accent); } .tip-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } .tip-card { padding: 16px; border-radius: 10px; background: var(–surface-alt); border: 1px solid var(–border); } .tip-card h4 { font-family: ‘Jost’, sans-serif; font-size: 13px; font-weight: 600; color: var(–accent); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; } .tip-card p { font-size: 13px; color: var(–text); line-height: 1.5; } /* ===== CTA ===== */ .result-cta { background: linear-gradient(135deg, var(–primary) 0%, #2a2a4e 100%); border-radius: var(–radius); padding: 28px; text-align: center; color: #fff; } .result-cta h3 { font-size: 20px; margin-bottom: 8px; color: #fff; } .result-cta p { color: rgba(255,255,255,0.7); font-size: 14px; margin-bottom: 20px; } .result-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; } .btn-cta-primary { background: var(–accent); color: #fff; font-family: ‘Jost’, sans-serif; font-size: 15px; font-weight: 600; padding: 12px 28px; border: none; border-radius: 8px; cursor: pointer; transition: all 0.2s; text-decoration: none; } .btn-cta-primary:hover { background: var(–accent-hover); } .btn-cta-secondary { background: rgba(255,255,255,0.1); color: #fff; font-family: ‘Jost’, sans-serif; font-size: 15px; font-weight: 600; padding: 12px 28px; border: 1px solid rgba(255,255,255,0.2); border-radius: 8px; cursor: pointer; transition: all 0.2s; text-decoration: none; } .btn-cta-secondary:hover { background: rgba(255,255,255,0.15); } /* ===== METHODOLOGY ===== */ .methodology-card { background: var(–surface); border-radius: var(–radius); padding: 24px 28px; box-shadow: var(–shadow-sm); border: 1px solid var(–border); margin-top: 24px; } .methodology-card h4 { font-size: 14px; color: var(–primary); margin-bottom: 8px; display: flex; align-items: center; gap: 8px; } .methodology-card h4 svg { width: 16px; height: 16px; color: var(–accent); } .methodology-card p { font-size: 13px; color: var(–text-light); line-height: 1.7; } /* Animations */ .fade-in { animation: fadeIn 0.4s ease forwards; } @keyframes fadeIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } } /* Print */ @media print { .tool-hero, .action-bar, .result-cta, .methodology-card, .add-row, .task-remove, .start-footer, .btn-begin, .guided-start, .tips-section, .hospitality-context, .email-capture { display: none !important; } .matrix-workspace { display: block !important; } body { background: #fff; } .tool-container { margin-top: 20px; } .matrix-quadrant { break-inside: avoid; box-shadow: none; } .axis-label-y { display: none; } .matrix-outer { padding-left: 0; } } /* Responsive */ @media (max-width: 600px) { .tool-hero { padding: 40px 16px 40px; } .guided-start { padding: 28px 20px; } .quadrant-preview, .matrix-grid, .tip-grid { grid-template-columns: 1fr; } .trust-row { gap: 12px; } .tips-section { padding: 20px; } .axis-label-y { display: none; } .matrix-outer { padding-left: 0; padding-top: 0; } .axis-sublabels, .axis-label-x { display: none; } }
Free Productivity Tool

Eisenhower Matrix Template

Prioritise your tasks by urgency and importance. Built for hospitality managers and busy professionals who juggle competing demands daily.

No signup required Drag & drop Print or save

The 4 Quadrants

Every task fits into one of four quadrants based on urgency and importance. Here’s how to sort them:

Q1: Do First

Urgent + Important. Crises, deadlines, guest complaints that need immediate attention.

Q2: Schedule

Not Urgent + Important. Training, strategy, process improvement, relationship building.

Q3: Delegate

Urgent + Not Important. Routine requests, some emails, tasks others can handle.

Q4: Eliminate

Not Urgent + Not Important. Time-wasters, unnecessary meetings, busy-work.

Hospitality Manager Examples

  • Do First: VIP guest complaint, health & safety issue, system outage during check-in rush
  • Schedule: Staff training plans, SOP updates, quarterly review prep, supplier renegotiation
  • Delegate: Room inventory reports, routine maintenance follow-ups, shift scheduling updates
  • Eliminate: Attending meetings with no agenda, manually formatting reports already in the PMS
IMPORTANCE
UrgentNot Urgent

Do First

Urgent + Important
0

    Schedule

    Not Urgent + Important
    0

      Delegate

      Urgent + Not Important
      0

        Eliminate

        Not Urgent + Not Important
        0
          URGENCY

          Pro Tips for Hospitality Managers

          Start with Q2

          Most managers live in Q1 (firefighting). The key to long-term success is spending more time in Q2 โ€” strategic work that prevents crises from happening.

          Review Daily

          Spend 5 minutes at shift start sorting your tasks. In hospitality, yesterday’s “schedule” can become today’s “do first” quickly.

          Delegate with Context

          Don’t just hand off tasks โ€” explain why they matter and what “good” looks like. Your team grows when they understand the purpose.

          Audit Q4 Weekly

          If you keep adding tasks to “Eliminate” but never actually eliminating them, that’s a sign you need to renegotiate your responsibilities.

          Build on your prioritisation skills

          Explore our free leadership and time management tools.

          About This Template

          The Eisenhower Matrix is named after Dwight D. Eisenhower, the 34th President of the United States, who was known for his exceptional productivity. The framework was later popularised by Stephen Covey in his work on effectiveness and habit-building. Our template adds hospitality-specific examples and drag-and-drop functionality to make daily task prioritisation fast and practical. Your data is stored locally in your browser and never sent to any server.

          const quadrants = [‘do’, ‘schedule’, ‘delegate’, ‘eliminate’]; const data = { do: [], schedule: [], delegate: [], eliminate: [] }; // Load from localStorage try { const saved = localStorage.getItem(‘inspireEisenhowerData’); if (saved) { const parsed = JSON.parse(saved); Object.assign(data, parsed); } } catch(e) {} let dragItem = null; let dragQuadrant = null; function beginMatrix() { document.getElementById(‘guidedStart’).style.display = ‘none’; document.getElementById(‘matrixWorkspace’).style.display = ‘block’; document.getElementById(‘matrixWorkspace’).classList.add(‘fade-in’); renderAll(); } function save() { localStorage.setItem(‘inspireEisenhowerData’, JSON.stringify(data)); } function renderAll() { quadrants.forEach(q => renderList(q)); } function renderList(quadrant) { const ul = document.getElementById(`list-${quadrant}`); ul.innerHTML = ”; data[quadrant].forEach((task, i) => { const li = document.createElement(‘li’); li.className = ‘task-item’ + (task.done ? ‘ completed’ : ”); li.draggable = true; li.dataset.quadrant = quadrant; li.dataset.index = i; li.ondragstart = (e) => handleDragStart(e, quadrant, i); li.ondragend = handleDragEnd; li.innerHTML = ` ${escapeHtml(task.text)} `; ul.appendChild(li); }); document.getElementById(`count-${quadrant}`).textContent = data[quadrant].length; } function addTask(quadrant) { const input = document.getElementById(`input-${quadrant}`); const val = input.value.trim(); if (!val) return; data[quadrant].push({ text: val, done: false }); input.value = ”; save(); renderList(quadrant); input.focus(); } function removeTask(quadrant, idx) { data[quadrant].splice(idx, 1); save(); renderList(quadrant); } function toggleTask(quadrant, idx) { data[quadrant][idx].done = !data[quadrant][idx].done; save(); renderList(quadrant); } function clearAll() { if (!confirm(‘Clear all tasks from all quadrants?’)) return; quadrants.forEach(q => data[q] = []); save(); renderAll(); } // Drag & Drop function handleDragStart(e, quadrant, idx) { dragItem = data[quadrant][idx]; dragQuadrant = quadrant; e.target.classList.add(‘dragging’); e.dataTransfer.effectAllowed = ‘move’; e.dataTransfer.setData(‘text/plain’, ”); } function handleDragEnd(e) { e.target.classList.remove(‘dragging’); document.querySelectorAll(‘.matrix-quadrant’).forEach(el => el.classList.remove(‘drag-over’)); } function handleDragOver(e) { e.preventDefault(); e.dataTransfer.dropEffect = ‘move’; e.currentTarget.classList.add(‘drag-over’); } function handleDragLeave(e) { e.currentTarget.classList.remove(‘drag-over’); } function handleDrop(e, targetQuadrant) { e.preventDefault(); e.currentTarget.classList.remove(‘drag-over’); if (!dragItem || dragQuadrant === targetQuadrant) return; // Remove from source const idx = data[dragQuadrant].indexOf(dragItem); if (idx > -1) data[dragQuadrant].splice(idx, 1); // Add to target data[targetQuadrant].push(dragItem); save(); renderAll(); dragItem = null; dragQuadrant = null; } // Touch drag-and-drop for mobile let touchDragItem = null; let touchDragQuadrant = null; let touchClone = null; document.addEventListener(‘touchstart’, function(e) { const taskItem = e.target.closest(‘.task-item’); if (!taskItem) return; const q = taskItem.dataset.quadrant; const i = parseInt(taskItem.dataset.index); touchDragItem = data[q][i]; touchDragQuadrant = q; // Create visual clone touchClone = taskItem.cloneNode(true); touchClone.style.position = ‘fixed’; touchClone.style.zIndex = ‘9999’; touchClone.style.opacity = ‘0.8’; touchClone.style.width = taskItem.offsetWidth + ‘px’; touchClone.style.pointerEvents = ‘none’; touchClone.style.background = ‘#fff’; touchClone.style.boxShadow = ‘0 4px 20px rgba(0,0,0,0.2)’; touchClone.style.borderRadius = ‘8px’; document.body.appendChild(touchClone); taskItem.style.opacity = ‘0.3’; }, {passive: true}); document.addEventListener(‘touchmove’, function(e) { if (!touchClone) return; const touch = e.touches[0]; touchClone.style.left = (touch.clientX – 50) + ‘px’; touchClone.style.top = (touch.clientY – 20) + ‘px’; // Highlight drop target document.querySelectorAll(‘.matrix-quadrant’).forEach(el => el.classList.remove(‘drag-over’)); const target = document.elementFromPoint(touch.clientX, touch.clientY); if (target) { const quadrant = target.closest(‘.matrix-quadrant’); if (quadrant) quadrant.classList.add(‘drag-over’); } }, {passive: false}); document.addEventListener(‘touchend’, function(e) { if (!touchDragItem || !touchClone) return; // Find drop target const touch = e.changedTouches[0]; // Temporarily hide clone to find element beneath touchClone.style.display = ‘none’; const target = document.elementFromPoint(touch.clientX, touch.clientY); touchClone.style.display = ”; if (target) { const quadrant = target.closest(‘.matrix-quadrant’); if (quadrant) { const targetQ = quadrant.id.replace(‘q-‘, ”); if (targetQ !== touchDragQuadrant && data[targetQ]) { const idx = data[touchDragQuadrant].indexOf(touchDragItem); if (idx > -1) data[touchDragQuadrant].splice(idx, 1); data[targetQ].push(touchDragItem); save(); renderAll(); } } } // Clean up document.querySelectorAll(‘.matrix-quadrant’).forEach(el => el.classList.remove(‘drag-over’)); document.querySelectorAll(‘.task-item’).forEach(el => el.style.opacity = ”); if (touchClone.parentNode) touchClone.parentNode.removeChild(touchClone); touchDragItem = null; touchDragQuadrant = null; touchClone = null; }); function handleEmailSubmit(form, e) { e.preventDefault(); const email = form.querySelector(‘input[name=”email”]’).value; const status = form.parentElement.querySelector(‘.email-status’); const btn = form.querySelector(‘button[type=”submit”]’); btn.textContent = ‘Sending…’; btn.disabled = true; fetch(‘https://inspire-ambitions.sendybay.com/subscribe’, { method: ‘POST’, headers: {‘Content-Type’: ‘application/x-www-form-urlencoded’}, body: new URLSearchParams({email, list: form.querySelector(‘input[name=”list”]’).value, boolean: ‘true’}).toString(), mode: ‘no-cors’ }).then(() => { status.style.display = ‘block’; status.style.color = ‘#34d399’; status.textContent = ‘Check your inbox! Your daily planner template is on its way.’; form.style.display = ‘none’; }).catch(() => { status.style.display = ‘block’; status.style.color = ‘#f87171’; status.textContent = ‘Something went wrong. Please try again.’; btn.textContent = ‘Send Me’; btn.disabled = false; }); return false; } function escapeHtml(str) { const div = document.createElement(‘div’); div.textContent = str; return div.innerHTML; } // If data exists, show workspace directly const hasData = quadrants.some(q => data[q].length > 0); if (hasData) { beginMatrix(); }

          Explore More Free Tools

          All tools are free โ€” no login required