291 lines
6.4 KiB
CSS

/*
* Koozali SME Server Table Styling
*
* This CSS makes both node and node-unclaimed tables look good with colors matching the Koozali SME Server interface.
* Compatible with all modern browsers and IE9+.
*/
/* Basic table styling for both node and node-unclaimed tables */
table.node, table.node-unclaimed {
border-collapse: collapse;
width: 100%;
margin: 20px 0;
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
border: 1px solid #d5e5c0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
background-color: white;
max-width: 700px;
}
/* Table header styling */
table.node thead, table.node-unclaimed thead {
background-color: #e6f2d5;
border-bottom: 1px solid #d5e5c0;
}
/* Table header cells */
table.node thead td, table.node-unclaimed thead td {
padding: 12px 15px;
font-weight: bold;
color: #006600;
}
/* Table data cells */
table.node td, table.node-unclaimed td {
padding: 10px 15px;
border-bottom: 1px solid #e6f2d5;
line-height: 1.4;
word-wrap: break-word;
-ms-word-break: break-word;
word-break: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}
/* First column styling (labels) - Updated color as requested */
table.node td.first, table.node-unclaimed td.first {
width: 25%;
font-weight: bold;
color: #333;
background-color: #e8f3e1;
}
/* Second column styling (values) */
table.node td.second, table.node-unclaimed td.second {
width: 75%;
}
/* Zebra striping for better readability */
table.node tbody tr:nth-child(even), table.node-unclaimed tbody tr:nth-child(even) {
background-color: #fafdf7;
}
/* Hover effect for rows */
table.node tbody tr:hover, table.node-unclaimed tbody tr:hover {
background-color: #edf5e2;
}
/* Nested tables styling */
table.node table, table.node-unclaimed table {
width: 100%;
border: none;
-webkit-box-shadow: none;
box-shadow: none;
margin: 0;
}
table.node table td, table.node-unclaimed table td {
padding: 4px 6px;
border: none;
background-color: transparent !important;
}
/* ID styling */
.id {
font-family: monospace;
background-color: #f5f9ef;
padding: 2px 4px;
border: 1px solid #d5e5c0;
border-radius: 3px;
font-size: 0.9em;
}
/* Help styling for dfn elements */
dfn {
cursor: help;
border-bottom: 1px dotted #006600;
font-style: normal;
}
/* Add some spacing between tables */
table.node + table.node,
table.node-unclaimed + table.node-unclaimed,
table.node + table.node-unclaimed,
table.node-unclaimed + table.node {
margin-top: 30px;
}
/* Navigation container styling */
.koozali-table-nav {
position: -webkit-sticky;
position: sticky;
top: 0;
background-color: #e6f2d5;
padding: 10px;
margin-bottom: 20px;
z-index: 100;
border-bottom: 1px solid #d5e5c0;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-shadow: 0 2px 4px rgba(0,0,0,0.1);
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
/* Dropdown styling */
.koozali-table-select {
padding: 8px;
font-size: 16px;
border: 1px solid #d5e5c0;
border-radius: 4px;
background-color: #f5f9ef;
cursor: pointer;
margin-right: 10px;
color: #333;
width: 70%;
max-width: 500px;
}
/* Button styling */
.koozali-show-all-button {
padding: 8px 12px;
background-color: #006600;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
font-weight: bold;
-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.1);
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.koozali-show-all-button:hover {
background-color: #008800;
}
/* Table visibility wrapper */
.table-visibility-wrapper {
margin-bottom: 30px;
-webkit-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
}
/* Hidden tables */
.table-visibility-wrapper.hidden {
display: none;
height: 0;
overflow: hidden;
}
/* Visible tables */
.table-visibility-wrapper.visible {
display: block;
height: auto;
overflow: visible;
-webkit-box-shadow: 0 0 10px rgba(0, 102, 0, 0.2);
box-shadow: 0 0 10px rgba(0, 102, 0, 0.2);
}
/* Fix for older browsers */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
/* IE10+ specific styles */
table.node td, table.node-unclaimed td {
word-break: break-all;
}
table.node td.first, table.node-unclaimed td.first {
word-break: normal;
}
.koozali-table-nav {
position: relative;
}
}
/* Make sure tables don't overflow on small screens */
@media (max-width: 768px) {
table.node, table.node-unclaimed {
font-size: 14px;
}
table.node td, table.node-unclaimed td {
padding: 8px 10px;
}
table.node td.first, table.node-unclaimed td.first {
width: 35%;
}
table.node td.second, table.node-unclaimed td.second {
width: 65%;
}
.koozali-table-select {
width: 60%;
}
}
/* Very small screens */
@media (max-width: 480px) {
table.node, table.node-unclaimed {
font-size: 13px;
}
table.node td, table.node-unclaimed td {
padding: 6px 8px;
}
table.node td.first, table.node-unclaimed td.first {
width: 40%;
}
table.node td.second, table.node-unclaimed td.second {
width: 60%;
}
.koozali-table-nav {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}
.koozali-table-select {
width: 100%;
margin-bottom: 10px;
margin-right: 0;
}
}
/* Print styles */
@media print {
.koozali-table-nav {
display: none;
}
table.node, table.node-unclaimed {
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid #999;
page-break-inside: avoid;
}
table.node + table.node,
table.node-unclaimed + table.node-unclaimed,
table.node + table.node-unclaimed,
table.node-unclaimed + table.node {
margin-top: 20px;
}
table.node thead, table.node-unclaimed thead {
background-color: #f5f9ef !important;
-webkit-print-color-adjust: exact;
color-adjust: exact;
}
table.node td.first, table.node-unclaimed td.first {
background-color: #e8f3e1 !important;
-webkit-print-color-adjust: exact;
color-adjust: exact;
}
}