fix: restore premium design system and stabilize UI (v15)
Build Curio HMS / build-and-deploy (push) Successful in 40s
Details
Build Curio HMS / build-and-deploy (push) Successful in 40s
Details
This commit is contained in:
parent
5e959812ad
commit
ffbad1ae81
196
dashboard.css
196
dashboard.css
|
|
@ -1,7 +1,8 @@
|
||||||
/* --- CURIO CLINICAL ZEN: MASTER DESIGN SYSTEM --- */
|
/* --- CURIO PREMIUM DESIGN SYSTEM --- */
|
||||||
:root {
|
:root {
|
||||||
--primary: #0F172A;
|
--primary: #0F172A;
|
||||||
--secondary: #3B82F6;
|
--secondary: #3B82F6;
|
||||||
|
--accent: #F59E0B;
|
||||||
--success: #10B981;
|
--success: #10B981;
|
||||||
--danger: #EF4444;
|
--danger: #EF4444;
|
||||||
--bg: #F8FAFC;
|
--bg: #F8FAFC;
|
||||||
|
|
@ -10,155 +11,186 @@
|
||||||
--border: #E2E8F0;
|
--border: #E2E8F0;
|
||||||
--text-main: #1E293B;
|
--text-main: #1E293B;
|
||||||
--text-muted: #64748B;
|
--text-muted: #64748B;
|
||||||
|
--sidebar-width: 260px;
|
||||||
}
|
}
|
||||||
|
|
||||||
* { box-sizing: border-box; margin: 0; padding: 0; }
|
* { box-sizing: border-box; margin: 0; padding: 0; }
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-family: 'Inter', 'Outfit', sans-serif;
|
font-family: 'Inter', sans-serif;
|
||||||
background: var(--bg);
|
background: var(--bg);
|
||||||
color: var(--text-main);
|
color: var(--text-main);
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --- RESPONSIVE LAYOUT --- */
|
/* --- MAIN LAYOUT --- */
|
||||||
.app-container { display: flex; min-height: 100vh; }
|
.app-container {
|
||||||
|
display: flex;
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
.sidebar {
|
.sidebar {
|
||||||
width: 260px;
|
width: var(--sidebar-width);
|
||||||
background: var(--sidebar-bg);
|
background: var(--sidebar-bg);
|
||||||
color: white;
|
color: white;
|
||||||
padding: 1.5rem;
|
padding: 1.5rem;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 2rem;
|
position: sticky;
|
||||||
transition: all 0.3s ease;
|
top: 0;
|
||||||
|
height: 100vh;
|
||||||
|
z-index: 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 12px;
|
||||||
|
margin-bottom: 2.5rem;
|
||||||
|
padding: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo-icon {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
background: var(--secondary);
|
||||||
|
border-radius: 12px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo-text {
|
||||||
|
font-family: 'Outfit', sans-serif;
|
||||||
|
font-size: 1.5rem;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-nav {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 0.5rem;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-nav a {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 12px;
|
||||||
|
padding: 0.8rem 1rem;
|
||||||
|
text-decoration: none;
|
||||||
|
color: #94A3B8;
|
||||||
|
border-radius: 12px;
|
||||||
|
transition: all 0.2s;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-nav a:hover, .side-nav a.active {
|
||||||
|
background: rgba(59, 130, 246, 0.1);
|
||||||
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-content {
|
.main-content {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
padding: 2rem;
|
padding: 2.5rem;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 1024px) {
|
/* --- SECTION STYLING --- */
|
||||||
.sidebar { width: 80px; padding: 1rem; }
|
.stats-row {
|
||||||
.sidebar .logo-text, .sidebar .logo-text, .sidebar span { display: none; }
|
display: grid;
|
||||||
.sidebar .side-nav a { justify-content: center; padding: 1rem 0; }
|
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
|
||||||
.sidebar .user-profile { flex-direction: column; align-items: center; }
|
gap: 1.5rem;
|
||||||
|
margin-bottom: 2.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --- DOCTOR ZEN WORKSPACE --- */
|
.stat-card {
|
||||||
.doctor-zen-section {
|
background: var(--card);
|
||||||
|
padding: 1.5rem;
|
||||||
|
border-radius: 20px;
|
||||||
|
border: 1px solid var(--border);
|
||||||
|
box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.stat-card h3 { font-size: 1.8rem; margin: 0.5rem 0; }
|
||||||
|
.stat-card span { color: var(--text-muted); font-size: 0.9rem; font-weight: 600; }
|
||||||
|
|
||||||
|
/* --- DOCTOR ZEN WORKSPACE LAYER --- */
|
||||||
|
.doctor-zen-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 320px 1fr;
|
grid-template-columns: 320px 1fr;
|
||||||
gap: 2rem;
|
gap: 2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
|
||||||
.doctor-zen-section { grid-template-columns: 1fr; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Pipeline Cards */
|
|
||||||
.patient-pipeline {
|
.patient-pipeline {
|
||||||
background: var(--card);
|
background: var(--card);
|
||||||
border-radius: 20px;
|
border-radius: 24px;
|
||||||
padding: 1.5rem;
|
padding: 1.5rem;
|
||||||
border: 1px solid var(--border);
|
border: 1px solid var(--border);
|
||||||
box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.pipeline-card {
|
.pipeline-card {
|
||||||
background: #F1F5F9;
|
background: #F8FAFC;
|
||||||
padding: 1rem;
|
padding: 1.2rem;
|
||||||
border-radius: 12px;
|
border-radius: 16px;
|
||||||
margin-bottom: 0.75rem;
|
margin-bottom: 1rem;
|
||||||
border-left: 4px solid var(--border);
|
border-left: 5px solid transparent;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.2s;
|
transition: all 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pipeline-card:hover { transform: translateX(5px); background: #E2E8F0; }
|
.pipeline-card.active {
|
||||||
.pipeline-card.active { border-left-color: var(--secondary); background: #EFF6FF; }
|
background: #EFF6FF;
|
||||||
|
border-left-color: var(--secondary);
|
||||||
|
box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
/* Workspace Area */
|
|
||||||
.clinical-workspace-area {
|
.clinical-workspace-area {
|
||||||
background: var(--card);
|
background: var(--card);
|
||||||
border-radius: 24px;
|
border-radius: 28px;
|
||||||
padding: 2.5rem;
|
padding: 2.5rem;
|
||||||
border: 1px solid var(--border);
|
border: 1px solid var(--border);
|
||||||
box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
|
box-shadow: 0 20px 25px -5px rgba(0,0,0,0.05);
|
||||||
}
|
}
|
||||||
|
|
||||||
.current-patient h1 {
|
|
||||||
font-size: 2rem;
|
|
||||||
color: var(--primary);
|
|
||||||
margin-bottom: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.patient-meta {
|
|
||||||
color: var(--text-muted);
|
|
||||||
font-size: 1rem;
|
|
||||||
margin-bottom: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Buttons Grid */
|
|
||||||
.workspace-actions {
|
.workspace-actions {
|
||||||
display: grid;
|
display: flex;
|
||||||
grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
|
|
||||||
gap: 1rem;
|
gap: 1rem;
|
||||||
margin-bottom: 2rem;
|
margin: 2rem 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-zen {
|
.btn-zen {
|
||||||
padding: 0.75rem 1rem;
|
padding: 0.8rem 1.5rem;
|
||||||
border-radius: 12px;
|
border-radius: 14px;
|
||||||
border: 1px solid var(--border);
|
border: 1px solid var(--border);
|
||||||
background: white;
|
background: white;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
gap: 0.5rem;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.2s;
|
transition: all 0.2s;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-zen:hover { background: #F8FAFC; border-color: var(--secondary); }
|
|
||||||
.btn-primary-zen { background: var(--secondary); color: white; border: none; }
|
.btn-primary-zen { background: var(--secondary); color: white; border: none; }
|
||||||
.btn-primary-zen:hover { background: #1D4ED8; }
|
|
||||||
|
|
||||||
/* Clinical Notes & Summary */
|
|
||||||
.clinical-notes-card textarea {
|
.clinical-notes-card textarea {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-height: 200px;
|
min-height: 250px;
|
||||||
border: 1px solid var(--border);
|
border: 2px solid #F1F5F9;
|
||||||
border-radius: 16px;
|
|
||||||
padding: 1.5rem;
|
|
||||||
font-size: 1.1rem;
|
|
||||||
line-height: 1.6;
|
|
||||||
background: #FDFDFD;
|
|
||||||
resize: vertical;
|
|
||||||
}
|
|
||||||
|
|
||||||
.summary-card {
|
|
||||||
background: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 100%);
|
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
padding: 1.5rem;
|
padding: 1.5rem;
|
||||||
margin-top: 2rem;
|
font-size: 1.1rem;
|
||||||
border: 1px solid #A7F3D0;
|
background: #FAFAFA;
|
||||||
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Animations */
|
.clinical-notes-card textarea:focus { border-color: var(--secondary); background: white; }
|
||||||
@keyframes scribePulse {
|
|
||||||
0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); }
|
|
||||||
70% { box-shadow: 0 0 0 15px rgba(239, 68, 68, 0); }
|
|
||||||
100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-scribe.active {
|
/* --- RESPONSIVE ADAPTATION --- */
|
||||||
background: var(--danger) !important;
|
@media (max-width: 1024px) {
|
||||||
color: white !important;
|
.sidebar { width: 80px; padding: 1rem; }
|
||||||
animation: scribePulse 2s infinite;
|
.logo-text, .side-nav a span:last-child { display: none; }
|
||||||
|
.doctor-zen-grid { grid-template-columns: 1fr; }
|
||||||
}
|
}
|
||||||
|
|
||||||
.hidden { display: none !important; }
|
.hidden { display: none !important; }
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||||
<title>Dashboard | Curio</title>
|
<title>Dashboard | Curio</title>
|
||||||
<link rel="stylesheet" href="index.css">
|
<link rel="stylesheet" href="index.css">
|
||||||
<link rel="stylesheet" href="dashboard.css?v=13">
|
<link rel="stylesheet" href="dashboard.css?v=15">
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@600;700&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@600;700&display=swap" rel="stylesheet">
|
||||||
<script src="tenantLoader.js"></script>
|
<script src="tenantLoader.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
</div>
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
<main class="dashboard-main">
|
<main class="main-content">
|
||||||
<header class="dash-header">
|
<header class="dash-header">
|
||||||
<div class="search-bar">
|
<div class="search-bar">
|
||||||
<input type="text" placeholder="Search patients by name or WhatsApp number...">
|
<input type="text" placeholder="Search patients by name or WhatsApp number...">
|
||||||
|
|
@ -383,6 +383,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="dashboard.js?v=14"></script>
|
<script src="dashboard.js?v=15"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue