:root { --primary-color: #ff6b6b; --primary-light: #ffeded; --primary-dark: #e64c4c; --text-color: #333333; --text-light: #666666; --background-color: #f8f9fa; --white: #ffffff; --border-color: #e4e9ec; --hover-color: #f5f5f5; --shadow: 0 2px 8px rgba(0, 0, 0, 0.1); --bottom-shadow: 0 4px 2px -2px rgba(0, 0, 0, 0.1); --font-main: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; --transition: 0.2s ease; --radius: 6px; } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: var(--font-main); color: var(--text-color); background-color: var(--background-color); display: flex; width: 100%; line-height: 1.6; } /* Sidebar */ aside { min-width: 4.5rem; max-width: 4.5rem; background-color: var(--primary-color); height: 100vh; position: fixed; left: 0; top: 0; border-right: 1px solid var(--border-color); box-shadow: var(--shadow); z-index: 10; } nav { display: flex; flex-direction: column; align-items: center; padding-top: 2rem; gap: 1.5rem; height: 100%; } nav>a { color: var(--white); text-decoration: none; font-size: 1.5rem; width: 3rem; height: 3rem; display: flex; justify-content: center; align-items: center; border-radius: 50%; transition: background-color var(--transition); position: relative; } nav>a:hover { background-color: var(--primary-dark); } nav>a:last-child { margin-top: auto; margin-bottom: 2rem; } nav>a>i { text-decoration: none; color: var(--white); } /* Tooltip for sidebar icons */ nav>a::after { content: attr(data-title); position: absolute; left: 120%; top: 50%; transform: translateY(-50%); background-color: var(--text-color); color: var(--white); padding: 0.3rem 0.8rem; border-radius: var(--radius); font-size: 0.8rem; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity var(--transition); z-index: 1; } nav>a:hover::after { opacity: 1; } /* Main content area */ .app-body { flex: 1; margin-left: 4.5rem; padding: 0; display: flex; flex-direction: column; height: 100dvh; overflow-x: hidden; } header { background-color: var(--white); border-bottom: 1px solid var(--border-color); padding: 1rem 2rem; display: flex; align-items: center; justify-content: space-between; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); position: sticky; top: 0; z-index: 5; } h1 { font-size: 1.8rem; font-weight: 600; color: var(--primary-color); } main { flex: 1; padding: 2rem; display: flex; flex-direction: column; height: 100%; gap: 1.5rem; overflow: hidden; } /* Search form */ .search-container { background-color: var(--white); border-radius: var(--radius); padding: 1.25rem; display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-end; box-shadow: var(--shadow); } .search-box { flex: 1; min-width: 250px; position: relative; } .search-box input { width: 100%; padding: 0.75rem 1rem 0.75rem 2.5rem; border: 1px solid var(--border-color); border-radius: var(--radius); font-size: 1rem; transition: border-color var(--transition); } .search-box::before { content: "🔍"; position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--text-light); } .search-container label:not(.search-box) { display: flex; flex-direction: column; gap: 0.5rem; font-size: 0.9rem; color: var(--text-light); } .search-container input[type="date"] { padding: 0.75rem; border: 1px solid var(--border-color); border-radius: var(--radius); min-width: 160px; } .search-container input:focus { outline: none; border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.1); } /* Table styling */ #results-table { background-color: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); /* overflow: hidden; */ margin-top: 1rem; } table { width: 100%; border-collapse: collapse; border-spacing: 0; font-size: 0.95rem; } thead { border-bottom: 1px solid var(--border-color); background-color: var(--white); position: sticky; top: 0; z-index: 1; box-shadow: 0 2px 0 var(--border-color); } tbody th { font-weight: 300; color: var(--text-color); } thead th { color: var(--text-light); font-weight: 100; font-size: rem; font-size: 0.8rem; /* box-shadow: var(--bottom-shadow); */ } th { text-align: left; padding: 1rem; /* color: var(--primary-dark); */ } td { padding: 1rem; } th:first-child, td:first-child { padding-left: 1.5rem; } th:last-child, td:last-child { padding-right: 1.5rem; } tr.clickable { cursor: pointer; transition: background-color var(--transition); } tr.clickable:hover { background-color: var(--hover-color); } tr.active { background-color: var(--primary-light); } /* Order details */ .details-content { background-color: var(--hover-color); padding: 0 !important; } .details-content table { margin: 0; box-shadow: none; } .details-content th { background-color: transparent; font-weight: normal; } /* Links */ a { text-decoration: none; color: var(--text-light); } tr a { text-decoration: underline; color: var(--primary-color); } .order { flex-grow: 1; display: flex; flex-direction: row; width: 100%; padding: 1.5rem; background-color: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); height: 100%; } .order div { flex-grow: 1; display: flex; flex-direction: column; } .order>div { flex-basis: 0; flex-shrink: 0; } .order-contents>*:first-child, .order-contents>*:last-child { flex-grow: 0; } .order label { display: flex; justify-content: space-between; flex-direction: row; align-items: center; } .scrollable { overflow-y: auto; min-height: 0; } /* Responsive adjustments */ @media (max-width: 768px) { .search-container { flex-direction: column; align-items: stretch; } .search-container>* { width: 100%; } aside { min-width: 3.5rem; max-width: 3.5rem; } .app-body { margin-left: 3.5rem; } nav a { width: 2.5rem; height: 2.5rem; font-size: 1.2rem; } }