Research Gaps
4 open gaps identified across all alerts — click any to explore
A
Digital innovation capability & sustainable performance
Most studies model digital capability as a single construct. How different types (AI, IoT, platforms) interact with different sustainability dimensions remains unexplored. Interfirm spillover mechanisms are also undertheorised.
B
Strategic frameworks for sustainable technological innovation
Frameworks remain largely context-specific and single-country. Cross-industry comparative studies testing generalisability across institutional environments are scarce. Sustainability governance within BPM frameworks is fragmented.
C
Resilience, adaptability & innovation under uncertainty
No validated theoretical model links innovation management, resilience, and sustainability as a unified construct — the most explicitly stated gap across all alerts.
D
Knowledge management & organisational learning for innovation
KM is treated as mediator but rarely as the unit of analysis. How firms deliberately design knowledge systems to sustain innovation capability over time is undertheorised. Public sector organisations are almost entirely absent.
Scholar Alert Tracker
Management of Technological Innovation & Sustainability
⚙ API key
Dashboard
Tracking your Google Scholar alerts on management of technological innovation and sustainability.
Cross-alert signals — by frequency
Theme distribution — high-relevance papers
A
Digital innovation capability & sustainable performance
How firms convert digital/technological assets into sustainability outcomes.
Open research gapMost studies model digital capability as a single construct. How different types (AI, IoT, platforms) interact with different sustainability dimensions remains unexplored. Interfirm spillover mechanisms are also undertheorised.
B
Strategic frameworks for sustainable technological innovation
Firm-level strategies and frameworks for managing technology innovation sustainably.
Open research gapFrameworks remain largely context-specific and single-country. Cross-industry comparative studies testing generalisability across institutional environments are scarce. Sustainability governance within BPM frameworks is fragmented.
C
Resilience, adaptability & innovation under uncertainty
Innovation management as a mechanism for building organisational resilience.
Open research gapNo validated theoretical model links innovation management, resilience, and sustainability as a unified construct — the most explicitly stated gap across all alerts.
D
Knowledge management & organisational learning for innovation
Knowledge processes as enablers of sustainable innovation outcomes.
Open research gapKM is treated as mediator but rarely as the unit of analysis. How firms deliberately design knowledge systems to sustain innovation capability over time is undertheorised. Public sector organisations are almost entirely absent.
Add New Alert
Paste your Google Scholar alert and let the AI classify papers automatically, or import a JSON result manually.
1
Paste alert text
Copy and paste the full text from your Google Scholar alert email below.
2
Or import JSON manually
If you analysed the alert with Claude in another window, paste the JSON block here. Copy everything between the ``` fences.
Alert History
All alerts processed so far.
Settings
Manage your tracker data and API configuration.
API Configuration
Anthropic API key
No key saved
Data Management
Export all data
Download your tracker data as JSON for backup.
Import data
Restore from a previously exported JSON backup.
Reset all data
Clear all papers and signals. This cannot be undone.
font-size: 18px; color: #fff; letter-spacing: 0.01em; } .header-sub { font-size: 11px; color: rgba(255,255,255,0.55); margin-top: 1px; } .header-right { display: flex; align-items: center; gap: 10px; } .api-status { font-size: 11px; padding: 3px 10px; border-radius: 20px; font-family: 'DM Mono', monospace; font-weight: 500; cursor: pointer; border: 1px solid rgba(255,255,255,0.2); color: rgba(255,255,255,0.8); background: rgba(255,255,255,0.08); transition: all 0.15s; } .api-status:hover { background: rgba(255,255,255,0.15); } .api-status.connected { color: #7DCEA0; border-color: rgba(125,206,160,0.4); } /* ── LAYOUT ── */ .layout { display: flex; min-height: calc(100vh - 60px); } /* ── SIDEBAR ── */ .sidebar { width: 220px; flex-shrink: 0; background: var(--surface); border-right: 1px solid var(--border); padding: 20px 0; position: sticky; top: 60px; height: calc(100vh - 60px); overflow-y: auto; } .sidebar-section { margin-bottom: 4px; } .sidebar-label { font-size: 10px; font-weight: 600; color: var(--text3); text-transform: uppercase; letter-spacing: 0.08em; padding: 0 18px; margin-bottom: 4px; margin-top: 16px; } .nav-item { display: flex; align-items: center; gap: 10px; padding: 8px 18px; font-size: 13px; color: var(--text2); cursor: pointer; border-left: 3px solid transparent; transition: all 0.12s; user-select: none; } .nav-item:hover { background: var(--surface2); color: var(--text); } .nav-item.active { background: var(--accent-light); color: var(--accent); border-left-color: var(--accent2); font-weight: 500; } .nav-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; } .nav-count { margin-left: auto; font-size: 11px; background: var(--surface2); color: var(--text3); padding: 1px 6px; border-radius: 10px; font-family: 'DM Mono', monospace; } .nav-item.active .nav-count { background: var(--accent2); color: #fff; } /* ── MAIN ── */ .main { flex: 1; padding: 28px 32px; max-width: 900px; overflow-x: hidden; } /* ── PANELS ── */ .panel { display: none; } .panel.active { display: block; } /* ── PAGE TITLE ── */ .page-title { font-family: 'DM Serif Display', serif; font-size: 26px; color: var(--text); margin-bottom: 4px; } .page-sub { font-size: 13px; color: var(--text2); margin-bottom: 24px; } /* ── STATS ROW ── */ .stats-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 24px; } .stat-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; text-align: center; box-shadow: var(--shadow-sm); } .stat-card.clickable { cursor: pointer; transition: box-shadow 0.15s, border-color 0.15s, transform 0.12s; } .stat-card.clickable:hover { box-shadow: var(--shadow); border-color: var(--accent2); transform: translateY(-1px); } .stat-card.clickable .stat-label { color: var(--accent2); } /* ── GAPS MODAL ── */ .gaps-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.45); z-index: 300; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow-y: auto; } .gaps-overlay.open { display: flex; } .gaps-modal { background: var(--surface); border-radius: var(--radius); width: 640px; max-width: 100%; box-shadow: 0 8px 40px rgba(0,0,0,0.18); overflow: hidden; position: relative; } .gaps-modal-header { background: var(--accent); padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; } .gaps-modal-title { font-family: 'DM Serif Display', serif; font-size: 20px; color: #fff; } .gaps-modal-sub { font-size: 12px; color: rgba(255,255,255,0.6); margin-top: 2px; } .gaps-close { background: rgba(255,255,255,0.15); border: none; color: #fff; width: 30px; height: 30px; border-radius: 50%; font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.15s; } .gaps-close:hover { background: rgba(255,255,255,0.28); } .gaps-modal-body { padding: 20px 24px; } .gap-item { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--border); cursor: pointer; transition: background 0.12s; border-radius: var(--radius-sm); padding-left: 8px; padding-right: 8px; } .gap-item:last-child { border-bottom: none; } .gap-item:hover { background: var(--surface2); } .gap-letter { font-family: 'DM Serif Display', serif; font-size: 28px; width: 42px; height: 42px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; } .gap-letter-A { background: var(--teal-light); color: var(--teal); } .gap-letter-B { background: var(--purple-light); color: var(--purple); } .gap-letter-C { background: var(--amber-light); color: var(--amber); } .gap-letter-D { background: var(--coral-light); color: var(--coral); } .gap-content { flex: 1; } .gap-cat-name { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 4px; } .gap-text { font-size: 12px; color: var(--text2); line-height: 1.6; } .gap-arrow { font-size: 16px; color: var(--text3); align-self: center; flex-shrink: 0; } .gap-footer { padding: 12px 24px; background: var(--surface2); border-top: 1px solid var(--border); font-size: 11px; color: var(--text3); } .stat-n { font-family: 'DM Serif Display', serif; font-size: 32px; color: var(--accent); } .stat-label { font-size: 11px; color: var(--text2); margin-top: 2px; } /* ── SIGNAL BOX ── */ .signal-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px 20px; margin-bottom: 16px; box-shadow: var(--shadow-sm); } .card-label { font-size: 10px; font-weight: 600; color: var(--text3); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 12px; } .signal-row { display: flex; align-items: baseline; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--border); font-size: 13px; } .signal-row:last-child { border-bottom: none; } .signal-n { font-family: 'DM Serif Display', serif; font-size: 20px; color: var(--accent); min-width: 28px; flex-shrink: 0; } .signal-text { color: var(--text2); flex: 1; } /* ── TREND BARS ── */ .trend-row { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--border); } .trend-row:last-child { border-bottom: none; } .trend-label { font-size: 12px; color: var(--text); flex: 1; } .trend-bar-wrap { width: 120px; height: 6px; background: var(--surface2); border-radius: 3px; overflow: hidden; } .trend-bar { height: 100%; border-radius: 3px; transition: width 0.4s ease; } .trend-count { font-size: 12px; color: var(--text2); min-width: 20px; text-align: right; font-family: 'DM Mono', monospace; } /* ── PAPER CARDS ── */ .cat-intro { font-size: 13px; color: var(--text2); margin-bottom: 16px; line-height: 1.6; } .paper-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; margin-bottom: 10px; box-shadow: var(--shadow-sm); transition: box-shadow 0.15s; } .paper-card:hover { box-shadow: var(--shadow); } .paper-title { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 2px; line-height: 1.45; } .paper-meta { font-size: 11px; color: var(--text3); margin-bottom: 8px; font-family: 'DM Mono', monospace; } .pill-row { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; } .pill { font-size: 10px; font-weight: 600; padding: 2px 7px; border-radius: 20px; letter-spacing: 0.02em; } .pill-theory { background: var(--purple-light); color: var(--purple); } .pill-method { background: var(--teal-light); color: var(--teal); } .pill-gap { background: var(--amber-light); color: var(--amber); } .pill-alert { background: var(--surface2); color: var(--text2); } .pill-new { background: #DBEAFE; color: #1E40AF; } .paper-finding { font-size: 12px; color: var(--text2); line-height: 1.55; } .paper-finding strong { color: var(--text); font-weight: 500; } .paper-links { display: flex; align-items: center; gap: 8px; margin-top: 10px; flex-wrap: wrap; } .paper-link { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 20px; text-decoration: none; transition: all 0.15s; border: 1px solid; } .paper-link-scholar { background: var(--accent-light); color: var(--accent2); border-color: #A9CCE3; } .paper-link-scholar:hover { background: #BDD7EA; } .paper-link-doi { background: var(--teal-light); color: var(--teal); border-color: #A2D9C5; } .paper-link-doi:hover { background: #A9DFCB; } .paper-link-add { background: transparent; color: var(--text3); border-color: var(--border2); cursor: pointer; font-family: 'DM Sans', sans-serif; } .paper-link-add:hover { background: var(--surface2); color: var(--text2); } .doi-edit-row { display: none; align-items: center; gap: 6px; margin-top: 8px; } .doi-edit-row.open { display: flex; } .doi-edit-input { flex: 1; padding: 5px 9px; border: 1px solid var(--border2); border-radius: var(--radius-sm); font-family: 'DM Mono', monospace; font-size: 11px; background: var(--bg); color: var(--text); min-width: 0; } .doi-edit-input:focus { outline: none; border-color: var(--accent2); } .doi-save-btn { padding: 5px 10px; border-radius: var(--radius-sm); font-size: 11px; font-weight: 600; cursor: pointer; background: var(--accent); color: #fff; border: none; white-space: nowrap; } .doi-save-btn:hover { background: var(--accent2); } .doi-cancel-btn { padding: 5px 10px; border-radius: var(--radius-sm); font-size: 11px; cursor: pointer; background: var(--surface2); color: var(--text2); border: 1px solid var(--border2); white-space: nowrap; } .doi-cancel-btn:hover { background: var(--border); } /* ── GAP BOX ── */ .gap-box { background: var(--amber-light); border: 1px solid #F0D9B5; border-radius: var(--radius); padding: 12px 16px; margin-top: 4px; font-size: 12px; color: var(--amber); line-height: 1.6; } .gap-box strong { font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; display: block; margin-bottom: 4px; font-weight: 700; } /* ── CAT HEADER ── */ .cat-section-header { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; } .cat-badge { font-family: 'DM Serif Display', serif; font-size: 22px; width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .cat-badge-A { background: var(--teal-light); color: var(--teal); } .cat-badge-B { background: var(--purple-light); color: var(--purple); } .cat-badge-C { background: var(--amber-light); color: var(--amber); } .cat-badge-D { background: var(--coral-light); color: var(--coral); } .cat-name { font-family: 'DM Serif Display', serif; font-size: 20px; } .cat-desc { font-size: 12px; color: var(--text2); } /* ── ADD ALERT PANEL ── */ .add-step { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; margin-bottom: 16px; box-shadow: var(--shadow-sm); } .step-header { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; } .step-badge { width: 26px; height: 26px; border-radius: 50%; background: var(--accent); color: #fff; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .step-title { font-size: 14px; font-weight: 600; color: var(--text); } .step-sub { font-size: 12px; color: var(--text2); margin-bottom: 12px; line-height: 1.6; padding-left: 36px; } textarea { width: 100%; min-height: 100px; padding: 10px 13px; border: 1px solid var(--border2); border-radius: var(--radius-sm); font-family: 'DM Mono', monospace; font-size: 12px; color: var(--text); background: var(--bg); resize: vertical; line-height: 1.5; transition: border-color 0.15s; } textarea:focus { outline: none; border-color: var(--accent2); } .btn-row { display: flex; gap: 8px; margin-top: 10px; align-items: center; } .btn { padding: 8px 18px; border-radius: var(--radius-sm); font-size: 13px; font-weight: 600; font-family: 'DM Sans', sans-serif; cursor: pointer; transition: all 0.15s; border: none; } .btn-primary { background: var(--accent); color: #fff; } .btn-primary:hover { background: var(--accent2); } .btn-primary:disabled { opacity: 0.4; cursor: not-allowed; } .btn-secondary { background: var(--surface2); color: var(--text); border: 1px solid var(--border2); } .btn-secondary:hover { background: var(--border); } .btn-danger { background: var(--red-light); color: var(--red); border: 1px solid #F5C6C1; } .btn-danger:hover { background: #F9B9B3; } .status-msg { font-size: 12px; color: var(--text2); } .status-ok { color: var(--green); } .status-err { color: var(--red); } /* ── API KEY MODAL ── */ .modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.45); z-index: 200; align-items: center; justify-content: center; } .modal-overlay.open { display: flex; } .modal { background: var(--surface); border-radius: var(--radius); padding: 28px; width: 420px; max-width: 90vw; box-shadow: 0 8px 40px rgba(0,0,0,0.18); } .modal-title { font-family: 'DM Serif Display', serif; font-size: 20px; margin-bottom: 8px; } .modal-sub { font-size: 13px; color: var(--text2); margin-bottom: 16px; line-height: 1.6; } .modal input { width: 100%; padding: 9px 12px; border: 1px solid var(--border2); border-radius: var(--radius-sm); font-family: 'DM Mono', monospace; font-size: 12px; background: var(--bg); color: var(--text); margin-bottom: 12px; } .modal input:focus { outline: none; border-color: var(--accent2); } .modal-note { font-size: 11px; color: var(--text3); margin-top: 8px; line-height: 1.5; } /* ── BANNER ── */ .banner { border-radius: var(--radius-sm); padding: 10px 14px; font-size: 13px; margin-bottom: 16px; display: none; } .banner.show { display: block; } .banner-ok { background: var(--green-light); color: var(--green); border: 1px solid #A9DFBF; } .banner-err { background: var(--red-light); color: var(--red); border: 1px solid #F5C6C1; } /* ── EMPTY STATE ── */ .empty { font-size: 13px; color: var(--text3); padding: 16px 0; font-style: italic; } /* ── DIVIDER ── */ .divider { height: 1px; background: var(--border); margin: 20px 0; } /* ── SPINNER ── */ .spinner { display: inline-block; width: 13px; height: 13px; border: 2px solid var(--border2); border-top-color: var(--text2); border-radius: 50%; animation: spin 0.7s linear infinite; vertical-align: middle; margin-right: 5px; } @keyframes spin { to { transform: rotate(360deg); } } /* ── SETTINGS PANEL ── */ .settings-row { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--border); } .settings-row:last-child { border-bottom: none; } .settings-label { font-size: 13px; font-weight: 500; } .settings-sub { font-size: 12px; color: var(--text2); } /* ── HISTORY ── */ .alert-history-item { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); margin-bottom: 6px; font-size: 13px; } .alert-history-meta { font-size: 11px; color: var(--text3); font-family: 'DM Mono', monospace; } /* scrollbar */ ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--border2); border-radius: 3px; }
Research Gaps
4 open gaps identified across all alerts — click any to explore
A
Digital innovation capability & sustainable performance
Most studies model digital capability as a single construct. How different types (AI, IoT, platforms) interact with different sustainability dimensions remains unexplored. Interfirm spillover mechanisms are also undertheorised.
B
Strategic frameworks for sustainable technological innovation
Frameworks remain largely context-specific and single-country. Cross-industry comparative studies testing generalisability across institutional environments are scarce. Sustainability governance within BPM frameworks is fragmented.
C
Resilience, adaptability & innovation under uncertainty
No validated theoretical model links innovation management, resilience, and sustainability as a unified construct — the most explicitly stated gap across all alerts.
D
Knowledge management & organisational learning for innovation
KM is treated as mediator but rarely as the unit of analysis. How firms deliberately design knowledge systems to sustain innovation capability over time is undertheorised. Public sector organisations are almost entirely absent.
Scholar Alert Tracker
Management of Technological Innovation & Sustainability
⚙ API key
Dashboard
Tracking your Google Scholar alerts on management of technological innovation and sustainability.
Cross-alert signals — by frequency
Theme distribution — high-relevance papers
A
Digital innovation capability & sustainable performance
How firms convert digital/technological assets into sustainability outcomes.
Open research gapMost studies model digital capability as a single construct. How different types (AI, IoT, platforms) interact with different sustainability dimensions remains unexplored. Interfirm spillover mechanisms are also undertheorised.
B
Strategic frameworks for sustainable technological innovation
Firm-level strategies and frameworks for managing technology innovation sustainably.
Open research gapFrameworks remain largely context-specific and single-country. Cross-industry comparative studies testing generalisability across institutional environments are scarce. Sustainability governance within BPM frameworks is fragmented.
C
Resilience, adaptability & innovation under uncertainty
Innovation management as a mechanism for building organisational resilience.
Open research gapNo validated theoretical model links innovation management, resilience, and sustainability as a unified construct — the most explicitly stated gap across all alerts.
D
Knowledge management & organisational learning for innovation
Knowledge processes as enablers of sustainable innovation outcomes.
Open research gapKM is treated as mediator but rarely as the unit of analysis. How firms deliberately design knowledge systems to sustain innovation capability over time is undertheorised. Public sector organisations are almost entirely absent.
Add New Alert
Paste your Google Scholar alert and let the AI classify papers automatically, or import a JSON result manually.
1
Paste alert text
Copy and paste the full text from your Google Scholar alert email below.
2
Or import JSON manually
If you analysed the alert with Claude in another window, paste the JSON block here. Copy everything between the ``` fences.
Alert History
All alerts processed so far.
Settings
Manage your tracker data and API configuration.
API Configuration
Anthropic API key
No key saved
Data Management
Export all data
Download your tracker data as JSON for backup.
Import data
Restore from a previously exported JSON backup.
Reset all data
Clear all papers and signals. This cannot be undone.
font-size: 18px; color: #fff; letter-spacing: 0.01em; } .header-sub { font-size: 11px; color: rgba(255,255,255,0.55); margin-top: 1px; } .header-right { display: flex; align-items: center; gap: 10px; } .api-status { font-size: 11px; padding: 3px 10px; border-radius: 20px; font-family: 'DM Mono', monospace; font-weight: 500; cursor: pointer; border: 1px solid rgba(255,255,255,0.2); color: rgba(255,255,255,0.8); background: rgba(255,255,255,0.08); transition: all 0.15s; } .api-status:hover { background: rgba(255,255,255,0.15); } .api-status.connected { color: #7DCEA0; border-color: rgba(125,206,160,0.4); } /* ── LAYOUT ── */ .layout { display: flex; min-height: calc(100vh - 60px); } /* ── SIDEBAR ── */ .sidebar { width: 220px; flex-shrink: 0; background: var(--surface); border-right: 1px solid var(--border); padding: 20px 0; position: sticky; top: 60px; height: calc(100vh - 60px); overflow-y: auto; } .sidebar-section { margin-bottom: 4px; } .sidebar-label { font-size: 10px; font-weight: 600; color: var(--text3); text-transform: uppercase; letter-spacing: 0.08em; padding: 0 18px; margin-bottom: 4px; margin-top: 16px; } .nav-item { display: flex; align-items: center; gap: 10px; padding: 8px 18px; font-size: 13px; color: var(--text2); cursor: pointer; border-left: 3px solid transparent; transition: all 0.12s; user-select: none; } .nav-item:hover { background: var(--surface2); color: var(--text); } .nav-item.active { background: var(--accent-light); color: var(--accent); border-left-color: var(--accent2); font-weight: 500; } .nav-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; } .nav-count { margin-left: auto; font-size: 11px; background: var(--surface2); color: var(--text3); padding: 1px 6px; border-radius: 10px; font-family: 'DM Mono', monospace; } .nav-item.active .nav-count { background: var(--accent2); color: #fff; } /* ── MAIN ── */ .main { flex: 1; padding: 28px 32px; max-width: 900px; overflow-x: hidden; } /* ── PANELS ── */ .panel { display: none; } .panel.active { display: block; } /* ── PAGE TITLE ── */ .page-title { font-family: 'DM Serif Display', serif; font-size: 26px; color: var(--text); margin-bottom: 4px; } .page-sub { font-size: 13px; color: var(--text2); margin-bottom: 24px; } /* ── STATS ROW ── */ .stats-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 24px; } .stat-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; text-align: center; box-shadow: var(--shadow-sm); } .stat-card.clickable { cursor: pointer; transition: box-shadow 0.15s, border-color 0.15s, transform 0.12s; } .stat-card.clickable:hover { box-shadow: var(--shadow); border-color: var(--accent2); transform: translateY(-1px); } .stat-card.clickable .stat-label { color: var(--accent2); } /* ── GAPS MODAL ── */ .gaps-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.45); z-index: 300; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow-y: auto; } .gaps-overlay.open { display: flex; } .gaps-modal { background: var(--surface); border-radius: var(--radius); width: 640px; max-width: 100%; box-shadow: 0 8px 40px rgba(0,0,0,0.18); overflow: hidden; position: relative; } .gaps-modal-header { background: var(--accent); padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; } .gaps-modal-title { font-family: 'DM Serif Display', serif; font-size: 20px; color: #fff; } .gaps-modal-sub { font-size: 12px; color: rgba(255,255,255,0.6); margin-top: 2px; } .gaps-close { background: rgba(255,255,255,0.15); border: none; color: #fff; width: 30px; height: 30px; border-radius: 50%; font-size: 16px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.15s; } .gaps-close:hover { background: rgba(255,255,255,0.28); } .gaps-modal-body { padding: 20px 24px; } .gap-item { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--border); cursor: pointer; transition: background 0.12s; border-radius: var(--radius-sm); padding-left: 8px; padding-right: 8px; } .gap-item:last-child { border-bottom: none; } .gap-item:hover { background: var(--surface2); } .gap-letter { font-family: 'DM Serif Display', serif; font-size: 28px; width: 42px; height: 42px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; } .gap-letter-A { background: var(--teal-light); color: var(--teal); } .gap-letter-B { background: var(--purple-light); color: var(--purple); } .gap-letter-C { background: var(--amber-light); color: var(--amber); } .gap-letter-D { background: var(--coral-light); color: var(--coral); } .gap-content { flex: 1; } .gap-cat-name { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 4px; } .gap-text { font-size: 12px; color: var(--text2); line-height: 1.6; } .gap-arrow { font-size: 16px; color: var(--text3); align-self: center; flex-shrink: 0; } .gap-footer { padding: 12px 24px; background: var(--surface2); border-top: 1px solid var(--border); font-size: 11px; color: var(--text3); } .stat-n { font-family: 'DM Serif Display', serif; font-size: 32px; color: var(--accent); } .stat-label { font-size: 11px; color: var(--text2); margin-top: 2px; } /* ── SIGNAL BOX ── */ .signal-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px 20px; margin-bottom: 16px; box-shadow: var(--shadow-sm); } .card-label { font-size: 10px; font-weight: 600; color: var(--text3); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 12px; } .signal-row { display: flex; align-items: baseline; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--border); font-size: 13px; } .signal-row:last-child { border-bottom: none; } .signal-n { font-family: 'DM Serif Display', serif; font-size: 20px; color: var(--accent); min-width: 28px; flex-shrink: 0; } .signal-text { color: var(--text2); flex: 1; } /* ── TREND BARS ── */ .trend-row { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--border); } .trend-row:last-child { border-bottom: none; } .trend-label { font-size: 12px; color: var(--text); flex: 1; } .trend-bar-wrap { width: 120px; height: 6px; background: var(--surface2); border-radius: 3px; overflow: hidden; } .trend-bar { height: 100%; border-radius: 3px; transition: width 0.4s ease; } .trend-count { font-size: 12px; color: var(--text2); min-width: 20px; text-align: right; font-family: 'DM Mono', monospace; } /* ── PAPER CARDS ── */ .cat-intro { font-size: 13px; color: var(--text2); margin-bottom: 16px; line-height: 1.6; } .paper-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; margin-bottom: 10px; box-shadow: var(--shadow-sm); transition: box-shadow 0.15s; } .paper-card:hover { box-shadow: var(--shadow); } .paper-title { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 2px; line-height: 1.45; } .paper-meta { font-size: 11px; color: var(--text3); margin-bottom: 8px; font-family: 'DM Mono', monospace; } .pill-row { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; } .pill { font-size: 10px; font-weight: 600; padding: 2px 7px; border-radius: 20px; letter-spacing: 0.02em; } .pill-theory { background: var(--purple-light); color: var(--purple); } .pill-method { background: var(--teal-light); color: var(--teal); } .pill-gap { background: var(--amber-light); color: var(--amber); } .pill-alert { background: var(--surface2); color: var(--text2); } .pill-new { background: #DBEAFE; color: #1E40AF; } .paper-finding { font-size: 12px; color: var(--text2); line-height: 1.55; } .paper-finding strong { color: var(--text); font-weight: 500; } .paper-links { display: flex; align-items: center; gap: 8px; margin-top: 10px; flex-wrap: wrap; } .paper-link { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 20px; text-decoration: none; transition: all 0.15s; border: 1px solid; } .paper-link-scholar { background: var(--accent-light); color: var(--accent2); border-color: #A9CCE3; } .paper-link-scholar:hover { background: #BDD7EA; } .paper-link-doi { background: var(--teal-light); color: var(--teal); border-color: #A2D9C5; } .paper-link-doi:hover { background: #A9DFCB; } .paper-link-add { background: transparent; color: var(--text3); border-color: var(--border2); cursor: pointer; font-family: 'DM Sans', sans-serif; } .paper-link-add:hover { background: var(--surface2); color: var(--text2); } .doi-edit-row { display: none; align-items: center; gap: 6px; margin-top: 8px; } .doi-edit-row.open { display: flex; } .doi-edit-input { flex: 1; padding: 5px 9px; border: 1px solid var(--border2); border-radius: var(--radius-sm); font-family: 'DM Mono', monospace; font-size: 11px; background: var(--bg); color: var(--text); min-width: 0; } .doi-edit-input:focus { outline: none; border-color: var(--accent2); } .doi-save-btn { padding: 5px 10px; border-radius: var(--radius-sm); font-size: 11px; font-weight: 600; cursor: pointer; background: var(--accent); color: #fff; border: none; white-space: nowrap; } .doi-save-btn:hover { background: var(--accent2); } .doi-cancel-btn { padding: 5px 10px; border-radius: var(--radius-sm); font-size: 11px; cursor: pointer; background: var(--surface2); color: var(--text2); border: 1px solid var(--border2); white-space: nowrap; } .doi-cancel-btn:hover { background: var(--border); } /* ── GAP BOX ── */ .gap-box { background: var(--amber-light); border: 1px solid #F0D9B5; border-radius: var(--radius); padding: 12px 16px; margin-top: 4px; font-size: 12px; color: var(--amber); line-height: 1.6; } .gap-box strong { font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; display: block; margin-bottom: 4px; font-weight: 700; } /* ── CAT HEADER ── */ .cat-section-header { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; } .cat-badge { font-family: 'DM Serif Display', serif; font-size: 22px; width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .cat-badge-A { background: var(--teal-light); color: var(--teal); } .cat-badge-B { background: var(--purple-light); color: var(--purple); } .cat-badge-C { background: var(--amber-light); color: var(--amber); } .cat-badge-D { background: var(--coral-light); color: var(--coral); } .cat-name { font-family: 'DM Serif Display', serif; font-size: 20px; } .cat-desc { font-size: 12px; color: var(--text2); } /* ── ADD ALERT PANEL ── */ .add-step { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; margin-bottom: 16px; box-shadow: var(--shadow-sm); } .step-header { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; } .step-badge { width: 26px; height: 26px; border-radius: 50%; background: var(--accent); color: #fff; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .step-title { font-size: 14px; font-weight: 600; color: var(--text); } .step-sub { font-size: 12px; color: var(--text2); margin-bottom: 12px; line-height: 1.6; padding-left: 36px; } textarea { width: 100%; min-height: 100px; padding: 10px 13px; border: 1px solid var(--border2); border-radius: var(--radius-sm); font-family: 'DM Mono', monospace; font-size: 12px; color: var(--text); background: var(--bg); resize: vertical; line-height: 1.5; transition: border-color 0.15s; } textarea:focus { outline: none; border-color: var(--accent2); } .btn-row { display: flex; gap: 8px; margin-top: 10px; align-items: center; } .btn { padding: 8px 18px; border-radius: var(--radius-sm); font-size: 13px; font-weight: 600; font-family: 'DM Sans', sans-serif; cursor: pointer; transition: all 0.15s; border: none; } .btn-primary { background: var(--accent); color: #fff; } .btn-primary:hover { background: var(--accent2); } .btn-primary:disabled { opacity: 0.4; cursor: not-allowed; } .btn-secondary { background: var(--surface2); color: var(--text); border: 1px solid var(--border2); } .btn-secondary:hover { background: var(--border); } .btn-danger { background: var(--red-light); color: var(--red); border: 1px solid #F5C6C1; } .btn-danger:hover { background: #F9B9B3; } .status-msg { font-size: 12px; color: var(--text2); } .status-ok { color: var(--green); } .status-err { color: var(--red); } /* ── API KEY MODAL ── */ .modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.45); z-index: 200; align-items: center; justify-content: center; } .modal-overlay.open { display: flex; } .modal { background: var(--surface); border-radius: var(--radius); padding: 28px; width: 420px; max-width: 90vw; box-shadow: 0 8px 40px rgba(0,0,0,0.18); } .modal-title { font-family: 'DM Serif Display', serif; font-size: 20px; margin-bottom: 8px; } .modal-sub { font-size: 13px; color: var(--text2); margin-bottom: 16px; line-height: 1.6; } .modal input { width: 100%; padding: 9px 12px; border: 1px solid var(--border2); border-radius: var(--radius-sm); font-family: 'DM Mono', monospace; font-size: 12px; background: var(--bg); color: var(--text); margin-bottom: 12px; } .modal input:focus { outline: none; border-color: var(--accent2); } .modal-note { font-size: 11px; color: var(--text3); margin-top: 8px; line-height: 1.5; } /* ── BANNER ── */ .banner { border-radius: var(--radius-sm); padding: 10px 14px; font-size: 13px; margin-bottom: 16px; display: none; } .banner.show { display: block; } .banner-ok { background: var(--green-light); color: var(--green); border: 1px solid #A9DFBF; } .banner-err { background: var(--red-light); color: var(--red); border: 1px solid #F5C6C1; } /* ── EMPTY STATE ── */ .empty { font-size: 13px; color: var(--text3); padding: 16px 0; font-style: italic; } /* ── DIVIDER ── */ .divider { height: 1px; background: var(--border); margin: 20px 0; } /* ── SPINNER ── */ .spinner { display: inline-block; width: 13px; height: 13px; border: 2px solid var(--border2); border-top-color: var(--text2); border-radius: 50%; animation: spin 0.7s linear infinite; vertical-align: middle; margin-right: 5px; } @keyframes spin { to { transform: rotate(360deg); } } /* ── SETTINGS PANEL ── */ .settings-row { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--border); } .settings-row:last-child { border-bottom: none; } .settings-label { font-size: 13px; font-weight: 500; } .settings-sub { font-size: 12px; color: var(--text2); } /* ── HISTORY ── */ .alert-history-item { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); margin-bottom: 6px; font-size: 13px; } .alert-history-meta { font-size: 11px; color: var(--text3); font-family: 'DM Mono', monospace; } /* scrollbar */ ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--border2); border-radius: 3px; }
Research Gaps
4 open gaps identified across all alerts — click any to explore
A
Digital innovation capability & sustainable performance
Most studies model digital capability as a single construct. How different types (AI, IoT, platforms) interact with different sustainability dimensions remains unexplored. Interfirm spillover mechanisms are also undertheorised.
B
Strategic frameworks for sustainable technological innovation
Frameworks remain largely context-specific and single-country. Cross-industry comparative studies testing generalisability across institutional environments are scarce. Sustainability governance within BPM frameworks is fragmented.
C
Resilience, adaptability & innovation under uncertainty
No validated theoretical model links innovation management, resilience, and sustainability as a unified construct — the most explicitly stated gap across all alerts.
D
Knowledge management & organisational learning for innovation
KM is treated as mediator but rarely as the unit of analysis. How firms deliberately design knowledge systems to sustain innovation capability over time is undertheorised. Public sector organisations are almost entirely absent.
Scholar Alert Tracker
Management of Technological Innovation & Sustainability
⚙ API key
Dashboard
Tracking your Google Scholar alerts on management of technological innovation and sustainability.
Cross-alert signals — by frequency
Theme distribution — high-relevance papers
A
Digital innovation capability & sustainable performance
How firms convert digital/technological assets into sustainability outcomes.
Open research gapMost studies model digital capability as a single construct. How different types (AI, IoT, platforms) interact with different sustainability dimensions remains unexplored. Interfirm spillover mechanisms are also undertheorised.
B
Strategic frameworks for sustainable technological innovation
Firm-level strategies and frameworks for managing technology innovation sustainably.
Open research gapFrameworks remain largely context-specific and single-country. Cross-industry comparative studies testing generalisability across institutional environments are scarce. Sustainability governance within BPM frameworks is fragmented.
C
Resilience, adaptability & innovation under uncertainty
Innovation management as a mechanism for building organisational resilience.
Open research gapNo validated theoretical model links innovation management, resilience, and sustainability as a unified construct — the most explicitly stated gap across all alerts.
D
Knowledge management & organisational learning for innovation
Knowledge processes as enablers of sustainable innovation outcomes.
Open research gapKM is treated as mediator but rarely as the unit of analysis. How firms deliberately design knowledge systems to sustain innovation capability over time is undertheorised. Public sector organisations are almost entirely absent.
Add New Alert
Paste your Google Scholar alert and let the AI classify papers automatically, or import a JSON result manually.
1
Paste alert text
Copy and paste the full text from your Google Scholar alert email below.
2
Or import JSON manually
If you analysed the alert with Claude in another window, paste the JSON block here. Copy everything between the ``` fences.
Alert History
All alerts processed so far.
Settings
Manage your tracker data and API configuration.
API Configuration
Anthropic API key
No key saved
Data Management
Export all data
Download your tracker data as JSON for backup.
Import data
Restore from a previously exported JSON backup.
Reset all data
Clear all papers and signals. This cannot be undone.