|
|
@@ -1,199 +1,276 @@
|
|
|
-.dashboard-container {
|
|
|
- padding: 2rem;
|
|
|
- max-width: 1200px;
|
|
|
- margin: 0 auto;
|
|
|
- font-family: 'Inter', sans-serif;
|
|
|
- color: #fff;
|
|
|
- background-color: #12121e;
|
|
|
- min-height: 100vh;
|
|
|
+.dashboard-wrapper {
|
|
|
+ display: flex;
|
|
|
+ min-height: 100vh;
|
|
|
+ background-color: #0c0c14;
|
|
|
+ color: #fff;
|
|
|
+ font-family: 'Inter', sans-serif;
|
|
|
}
|
|
|
|
|
|
-header {
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- align-items: center;
|
|
|
- margin-bottom: 2rem;
|
|
|
- padding-bottom: 1rem;
|
|
|
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
|
|
+/* Sidebar */
|
|
|
+.sidebar {
|
|
|
+ width: 260px;
|
|
|
+ background-color: #12121e;
|
|
|
+ border-right: 1px solid rgba(255, 255, 255, 0.05);
|
|
|
+ padding: 2rem 1.5rem;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
}
|
|
|
|
|
|
-h1 {
|
|
|
- font-size: 1.8rem;
|
|
|
- margin: 0;
|
|
|
- background: linear-gradient(90deg, #00f2fe 0%, #4facfe 100%);
|
|
|
- -webkit-background-clip: text;
|
|
|
- background-clip: text;
|
|
|
- -webkit-text-fill-color: transparent;
|
|
|
+.logo {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: 12px;
|
|
|
+ font-size: 1.5rem;
|
|
|
+ font-weight: 800;
|
|
|
+ margin-bottom: 3rem;
|
|
|
}
|
|
|
|
|
|
-header p {
|
|
|
- color: #a0a0c0;
|
|
|
- margin: 0.25rem 0 0;
|
|
|
+.logo-icon {
|
|
|
+ background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
|
|
|
+ color: #fff;
|
|
|
+ width: 40px;
|
|
|
+ height: 40px;
|
|
|
+ border-radius: 10px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ font-size: 1rem;
|
|
|
}
|
|
|
|
|
|
-.header-right {
|
|
|
- display: flex;
|
|
|
- gap: 1rem;
|
|
|
+.nav-item {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: 12px;
|
|
|
+ padding: 0.75rem 1rem;
|
|
|
+ color: #a0a0c0;
|
|
|
+ text-decoration: none;
|
|
|
+ border-radius: 8px;
|
|
|
+ margin-bottom: 0.5rem;
|
|
|
+ transition: all 0.2s;
|
|
|
}
|
|
|
|
|
|
-.new-claim-btn {
|
|
|
- background: linear-gradient(90deg, #4facfe 0%, #00f2fe 100%);
|
|
|
- color: #fff;
|
|
|
- border: none;
|
|
|
- padding: 0.75rem 1.5rem;
|
|
|
- border-radius: 8px;
|
|
|
- font-weight: 600;
|
|
|
- cursor: pointer;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- gap: 0.5rem;
|
|
|
- transition: transform 0.2s;
|
|
|
+.nav-item:hover, .nav-item.active {
|
|
|
+ background: rgba(79, 172, 254, 0.1);
|
|
|
+ color: #4facfe;
|
|
|
}
|
|
|
|
|
|
-.new-claim-btn:hover {
|
|
|
- transform: translateY(-2px);
|
|
|
+.user-profile {
|
|
|
+ margin-top: auto;
|
|
|
+ padding: 1rem;
|
|
|
+ background: rgba(255, 255, 255, 0.03);
|
|
|
+ border-radius: 12px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: 12px;
|
|
|
}
|
|
|
|
|
|
+.avatar {
|
|
|
+ width: 36px;
|
|
|
+ height: 36px;
|
|
|
+ background: #4facfe;
|
|
|
+ border-radius: 50%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ font-weight: bold;
|
|
|
+}
|
|
|
+
|
|
|
+.info {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ flex: 1;
|
|
|
+}
|
|
|
+
|
|
|
+.name { font-size: 0.85rem; font-weight: 600; }
|
|
|
+.dept { font-size: 0.7rem; color: #a0a0c0; }
|
|
|
+
|
|
|
.logout-btn {
|
|
|
- background: transparent;
|
|
|
- color: #a0a0c0;
|
|
|
- border: 1px solid rgba(160, 160, 192, 0.3);
|
|
|
- padding: 0.75rem 1.5rem;
|
|
|
- border-radius: 8px;
|
|
|
- cursor: pointer;
|
|
|
+ background: transparent;
|
|
|
+ border: none;
|
|
|
+ color: #ff4d4f;
|
|
|
+ cursor: pointer;
|
|
|
+ padding: 4px;
|
|
|
}
|
|
|
|
|
|
-.logout-btn:hover {
|
|
|
- background: rgba(255, 255, 255, 0.05);
|
|
|
- color: #fff;
|
|
|
+/* Content */
|
|
|
+.content {
|
|
|
+ flex: 1;
|
|
|
+ padding: 2rem 3rem;
|
|
|
+ overflow-y: auto;
|
|
|
}
|
|
|
|
|
|
-.stats-grid {
|
|
|
- display: grid;
|
|
|
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
|
- gap: 1.5rem;
|
|
|
- margin-bottom: 2rem;
|
|
|
+.content-header {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: flex-start;
|
|
|
+ margin-bottom: 2.5rem;
|
|
|
}
|
|
|
|
|
|
-.stat-card {
|
|
|
- background: rgba(255, 255, 255, 0.05);
|
|
|
- padding: 1.5rem;
|
|
|
- border-radius: 12px;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- gap: 0.5rem;
|
|
|
+h1 { font-size: 2rem; margin: 0; }
|
|
|
+.content-header p { color: #a0a0c0; margin: 5px 0 0; }
|
|
|
+
|
|
|
+.action-btn {
|
|
|
+ background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
|
|
|
+ color: #fff;
|
|
|
+ border: none;
|
|
|
+ padding: 0.75rem 1.5rem;
|
|
|
+ border-radius: 8px;
|
|
|
+ font-weight: 600;
|
|
|
+ cursor: pointer;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: 8px;
|
|
|
+ transition: transform 0.2s;
|
|
|
}
|
|
|
|
|
|
-.stat-label {
|
|
|
- color: #a0a0c0;
|
|
|
- font-size: 0.9rem;
|
|
|
+.action-btn:hover { transform: translateY(-2px); }
|
|
|
+
|
|
|
+.stats-overview {
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: repeat(2, 1fr);
|
|
|
+ gap: 1.5rem;
|
|
|
+ margin-bottom: 2.5rem;
|
|
|
}
|
|
|
|
|
|
-.stat-value {
|
|
|
- font-size: 1.5rem;
|
|
|
- font-weight: bold;
|
|
|
+.stat-card {
|
|
|
+ background: rgba(255, 255, 255, 0.05);
|
|
|
+ padding: 1.5rem;
|
|
|
+ border-radius: 16px;
|
|
|
+ border: 1px solid rgba(255, 255, 255, 0.05);
|
|
|
}
|
|
|
|
|
|
-.status-indicator {
|
|
|
- width: 10px;
|
|
|
- height: 10px;
|
|
|
- border-radius: 50%;
|
|
|
- display: inline-block;
|
|
|
+.stat-card .label { color: #a0a0c0; font-size: 0.85rem; }
|
|
|
+.stat-card .value { display: block; font-size: 1.75rem; font-weight: 700; margin-top: 8px; }
|
|
|
+
|
|
|
+/* Table */
|
|
|
+.claims-table-container {
|
|
|
+ background: rgba(255, 255, 255, 0.03);
|
|
|
+ border-radius: 16px;
|
|
|
+ border: 1px solid rgba(255, 255, 255, 0.05);
|
|
|
+ overflow: hidden;
|
|
|
+}
|
|
|
+
|
|
|
+.claims-table {
|
|
|
+ width: 100%;
|
|
|
+ border-collapse: collapse;
|
|
|
+ text-align: left;
|
|
|
}
|
|
|
|
|
|
-.status-indicator.online {
|
|
|
- background-color: #00e676;
|
|
|
- box-shadow: 0 0 10px rgba(0, 230, 118, 0.5);
|
|
|
+.claims-table th {
|
|
|
+ padding: 1.25rem 1rem;
|
|
|
+ color: #a0a0c0;
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 0.85rem;
|
|
|
+ background: rgba(255, 255, 255, 0.02);
|
|
|
}
|
|
|
|
|
|
-.table-container {
|
|
|
- background: rgba(255, 255, 255, 0.03);
|
|
|
- border-radius: 12px;
|
|
|
- overflow: hidden;
|
|
|
- position: relative;
|
|
|
- min-height: 300px;
|
|
|
+.claims-table td {
|
|
|
+ padding: 1.25rem 1rem;
|
|
|
+ border-bottom: 1px solid rgba(255, 255, 255, 0.03);
|
|
|
}
|
|
|
|
|
|
-table {
|
|
|
- width: 100%;
|
|
|
- border-collapse: collapse;
|
|
|
+.clickable-row { cursor: pointer; transition: background 0.2s; }
|
|
|
+.clickable-row:hover { background: rgba(255, 255, 255, 0.02); }
|
|
|
+
|
|
|
+.user-cell { display: flex; flex-direction: column; }
|
|
|
+.user-name { font-weight: 600; font-size: 0.9rem; }
|
|
|
+.user-dept { font-size: 0.75rem; color: #a0a0c0; }
|
|
|
+
|
|
|
+.capped-text { color: #ff4d4f; font-weight: 600; }
|
|
|
+
|
|
|
+.status-pill {
|
|
|
+ padding: 4px 10px;
|
|
|
+ border-radius: 20px;
|
|
|
+ font-size: 0.75rem;
|
|
|
+ font-weight: 600;
|
|
|
}
|
|
|
|
|
|
-th {
|
|
|
- text-align: left;
|
|
|
- padding: 1.25rem 1rem;
|
|
|
- color: #a0a0c0;
|
|
|
- font-weight: 500;
|
|
|
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
|
|
+.status-pill.verified { background: rgba(0, 230, 118, 0.1); color: #00e676; }
|
|
|
+.status-pill.review { background: rgba(255, 165, 0, 0.1); color: #ffa500; }
|
|
|
+
|
|
|
+/* Modal */
|
|
|
+.modal-overlay {
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ background: rgba(0, 0, 0, 0.8);
|
|
|
+ backdrop-filter: blur(8px);
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ z-index: 1000;
|
|
|
}
|
|
|
|
|
|
-td {
|
|
|
- padding: 1.25rem 1rem;
|
|
|
- border-bottom: 1px solid rgba(255, 255, 255, 0.05);
|
|
|
- vertical-align: middle;
|
|
|
+.modal-content {
|
|
|
+ background: #12121e;
|
|
|
+ width: 90%;
|
|
|
+ max-width: 800px;
|
|
|
+ border-radius: 24px;
|
|
|
+ padding: 2.5rem;
|
|
|
+ position: relative;
|
|
|
+ border: 1px solid rgba(255, 255, 255, 0.1);
|
|
|
}
|
|
|
|
|
|
-.item-tag {
|
|
|
- background: rgba(79, 172, 254, 0.1);
|
|
|
- color: #4facfe;
|
|
|
- padding: 0.2rem 0.6rem;
|
|
|
- border-radius: 4px;
|
|
|
- font-size: 0.8rem;
|
|
|
- margin-right: 0.5rem;
|
|
|
+.close-btn {
|
|
|
+ position: absolute;
|
|
|
+ top: 1.5rem;
|
|
|
+ right: 1.5rem;
|
|
|
+ background: transparent;
|
|
|
+ border: none;
|
|
|
+ color: #a0a0c0;
|
|
|
+ cursor: pointer;
|
|
|
}
|
|
|
|
|
|
-.more-items {
|
|
|
- color: #a0a0c0;
|
|
|
- font-size: 0.8rem;
|
|
|
+.audit-grid {
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: 1fr 1fr;
|
|
|
+ gap: 2rem;
|
|
|
+ margin-top: 2rem;
|
|
|
}
|
|
|
|
|
|
-.status-badge {
|
|
|
- padding: 0.4rem 0.8rem;
|
|
|
- border-radius: 20px;
|
|
|
- font-size: 0.85rem;
|
|
|
- font-weight: 500;
|
|
|
+.receipt-audit {
|
|
|
+ background: rgba(0, 0, 0, 0.3);
|
|
|
+ padding: 1.5rem;
|
|
|
+ border-radius: 12px;
|
|
|
}
|
|
|
|
|
|
-.status-verified {
|
|
|
- background: rgba(0, 230, 118, 0.1);
|
|
|
- color: #00e676;
|
|
|
+.financial-audit {
|
|
|
+ background: rgba(255, 255, 255, 0.05);
|
|
|
+ padding: 1.5rem;
|
|
|
+ border-radius: 12px;
|
|
|
}
|
|
|
|
|
|
-.status-review {
|
|
|
- background: rgba(255, 171, 0, 0.1);
|
|
|
- color: #ffab00;
|
|
|
+.audit-item {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ margin-bottom: 1rem;
|
|
|
}
|
|
|
|
|
|
-.loading-overlay {
|
|
|
- position: absolute;
|
|
|
- top: 0;
|
|
|
- left: 0;
|
|
|
- right: 0;
|
|
|
- bottom: 0;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- background: rgba(18, 18, 30, 0.8);
|
|
|
- z-index: 10;
|
|
|
+.audit-item.total {
|
|
|
+ margin-top: 1.5rem;
|
|
|
+ font-size: 1.25rem;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #00e676;
|
|
|
}
|
|
|
|
|
|
-.spinner {
|
|
|
- width: 40px;
|
|
|
- height: 40px;
|
|
|
- border: 4px solid rgba(79, 172, 254, 0.1);
|
|
|
- border-top-color: #4facfe;
|
|
|
- border-radius: 50%;
|
|
|
- animation: spin 1s linear infinite;
|
|
|
- margin-bottom: 1rem;
|
|
|
+.ai-confidence-box {
|
|
|
+ margin-top: 2rem;
|
|
|
}
|
|
|
|
|
|
-@keyframes spin {
|
|
|
- to { transform: rotate(360deg); }
|
|
|
+.conf-bar {
|
|
|
+ height: 6px;
|
|
|
+ background: rgba(255, 255, 255, 0.1);
|
|
|
+ border-radius: 3px;
|
|
|
+ margin: 10px 0;
|
|
|
}
|
|
|
|
|
|
-.empty-state {
|
|
|
- text-align: center;
|
|
|
- padding: 4rem;
|
|
|
- color: #a0a0c0;
|
|
|
+.conf-fill {
|
|
|
+ height: 100%;
|
|
|
+ background: #4facfe;
|
|
|
+ border-radius: 3px;
|
|
|
}
|
|
|
+
|
|
|
+.icon-tiny { width: 14px; height: 14px; }
|
|
|
+.icon-small { width: 20px; height: 20px; }
|