:root { --color-fg: #333; --color-bg: #eff5f8; --color-bg-alt: #bdc8d2; --color-rgb-bg-alt: 189, 200, 210; --color-gray: #9d9d9d; --color-yellow: #f8a911; --color-yellow-alt: #f6c463; --color-yellow-highlight: #f9e476; --color-green: #13ce65; --color-red: #ff4d44; --color-light-gray: #e3e3e3; --color-blue: #2c6e95; --default-border: 2px solid var(--color-gray); --default-shadow: 0 1rem 3rem var(--color-gray); --table-border: 0.0125rem solid black; } html { font-size: 100%; } body { background: var(--color-bg); font-family: 'Inter', sans-serif; font-weight: 400; padding: 0; margin: 0; line-height: 1.75; color: var(--color-fg); } p { margin: 0 0 1rem; } p:last-child { margin-bottom: 0; } a { color: var(--color-fg); } h1, h2, h3, h4, h5 { margin: 0; font-family: 'Inter', sans-serif; font-weight: 700; line-height: 1.3; } h1 { font-size: 2.488rem; } h2 { font-size: 2.074rem; } h3 { font-size: 1.728rem; } h4 { font-size: 1.44rem; } h5 { font-size: 1.2rem; } small { font-size: 0.833rem; } label { } address { margin-bottom: 1rem; } ul, ol, dl { margin: 0 0 1rem; line-height: 1.3; } dl dt { font-weight: bold; } dd { margin: 0; } ul, ol { padding: 1rem 0 1rem 2rem; line-height: 1.75; } /* Tables ========================================================================== */ table { border-collapse: collapse; width: 100%; text-align: left; margin-bottom: 1rem; background-color: white; } thead { border-bottom: var(--table-border); } thead a { color: inherit; text-decoration: none; } tbody tr:nth-child(even) { background-color: rgba(var(--color-rgb-bg-alt), 0.4); } td input[type=text] { width: 100%; } th, td { padding: 0.5rem 1rem; } tbody tr:last-child { border-bottom: var(--table-border); } tbody tr:hover { background-color: var(--color-yellow-highlight); } tbody tr.is-link { cursor: pointer; } tfoot th { text-align: right; } @media screen and (max-width: 600px) { tr { display: grid; grid-template-columns: 1fr; } tfoot th { text-align: unset; } } /* Forms ====================================================================== */ input[type=text], input[type=email], input[type=number], input[type=date], input[type=password], select[multiple=multiple], textarea { font: inherit; text-align: left; color: var(--color-fg); border: var(--default-border); padding: 0.5rem; outline: 0; line-height: 1; box-sizing: border-box; } input:focus, textarea:focus { border-color: var(--color-yellow); } select { text-align: left; font: inherit; font-size: 1rem; border: var(--default-border); padding: 0.5em; outline: 0; line-height: 1; } input[type=number] + select { margin-left: 1rem; } input[type=text], input[type=email], input[type=password], select[multiple=multiple], textarea { display: block; } input[type=number] { max-width: 6rem; } input[type=checkbox], input[type=radio] { width: 2rem; height: 2rem; vertical-align: middle; } .btn, input[type=submit], button { font-family: inherit; font-weight: bold; font-size: 1rem; color: var(--color-fg); text-decoration: none; background-color: var(--color-yellow); padding: 0.5rem 1rem; border-radius: 0.5rem; border: none; cursor: pointer; } .btn:hover, input[type=submit]:hover, button:hover { background-color: var(--color-yellow-alt); } .btn-warning { background-color: var(--color-red) !important; } /* Figures, Images ====================================================================== */ figure { margin: 0; padding: 0; } .inline-image { vertical-align: middle; } /* Layout ====================================================================== */ main { overflow: scroll; height: 100vh; } main article { margin: 2rem 2rem 2rem 0; } main > article > header { margin-bottom: 1rem; } .store-info { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 1rem 0; } @media screen and (max-width: 600px) { .store-info { grid-template-columns: 1fr; } } .store-info div { background-color: white; padding: 2rem; border-radius: 0.5rem; } .store-info div h3 { text-align: right; } .store-action { background-color: white; padding: 1rem; border-radius: 0.5rem; margin-bottom: 1rem; display: block; font-weight: bold; text-decoration: none; } .store-action:hover { background-color: var(--color-bg-alt); } .dashboard-main { display: grid; grid-template-columns: 1fr 7fr; gap: 2rem; } .dashboard-sidebar { height: 100vh; background-color: var(--color-bg-alt); display: flex; flex-direction: column; justify-content: space-between; } .dashboard-nav { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: 1rem; padding: 1rem; } .dashboard-user { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: 1rem; padding: 1rem; } .dashboard-user a, .dashboard-nav a { padding: 0.5rem 1rem; text-decoration: none; font-weight: bold; display: flex; flex-direction: row; align-items: center; } .dashboard-nav a img { width: 24px; margin-right: 0.5rem; } .dashboard-user a:hover, .dashboard-nav a:hover { background-color: var(--color-bg); border-radius: 0.25rem; } @media screen and (max-width: 800px) { .dashboard-sidebar { height: unset; gap: 0; } .dashboard-main { grid-template-columns: 1fr; } main { overflow: unset; } main > article { margin: 1rem; } .dashboard-nav, .dashboard-user { font-size: 0.75rem; display: flex; flex-wrap: wrap; justify-content: space-evenly; gap: 0; margin: 0; padding: 0.5rem; } } /* ========================================================================== Inner Layout ========================================================================== */ .object-header { display: flex; align-items: center; justify-content: space-between; } .object-menu { display: flex; justify-content: space-between; align-items: center; gap: 1rem; } .panel { margin-bottom: 2rem; background-color: white; } .panel-header { padding: 0.5rem 1rem; background-color: var(--color-bg-alt); display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: var(--default-border); } @media screen and (max-width: 800px) { .object-header, .panel-header { flex-direction: column; } } .panel-form, .panel-section { padding: 1rem; } .panel-datalist { padding: 1rem; display: grid; grid-template-columns: auto 1fr; gap: 2rem 2rem; } @media screen and (max-width: 800px) { .panel-datalist { grid-template-columns: 1fr; gap: 1rem; } .panel-datalist dd:not(:last-child) { margin-bottom: 1rem; } } .panel-shipping { display: grid; grid-template-columns: 1fr 3fr; gap: 2rem; } @media screen and (max-width: 800px) { .panel-shipping { grid-template-columns: 1fr; } } .product-figure { display: flex; align-items: flex-start; flex-direction: row; align-items: center; gap: 1rem; } .product-figure img { background-color: white; max-height: 6rem; max-width: 6rem; border: var(--default-border); object-fit: contain; aspect-ratio: 1/1; width: 100%; } /* ========================================================================== Gallery ========================================================================== */ .gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem; } .gallery-item, .gallery-item img { width: 100%; } .gallery-item img { border: var(--default-border); object-fit: contain; aspect-ratio: 1/1; } @media screen and (max-width: 900px) { .gallery { grid-template-columns: repeat(2, 1fr); } } @media screen and (max-width: 600px) { .gallery { grid-template-columns: 1fr; } } /* ========================================================================== Messages ========================================================================== */ .messages { text-align: left; white-space: normal; margin: 1rem; position: fixed; left: auto; right: 0; bottom: 0; top: auto; z-index: 990; display: flex; flex-direction: column; gap: 1rem; } .messages-message { background-color: var(--color-fg); border-radius: 0.5rem; box-shadow: var(--default-shadow); padding: 0.5rem 1rem; } .messages-message.debug { color: white; } .messages-message.info { color: white; } .messages-message.success { color: var(--color-green); } .messages-message.warning { color: var(--color-yellow); } .messages-message.error { color: var(--color-red); } .message-dissmiss { font-size: 1.3em; cursor: pointer; margin-left: 1rem; } /* ========================================================================== Status ========================================================================== */ .status { padding: 0.5rem 1rem; border-radius: 0.5rem; font-size: 1.25rem; font-weight: bold; display: inline-block; } .status-display { display: flex; align-items: center; flex-direction: row; } .status-info { background-color: var(--color-gray); } .status-success { background-color: var(--color-green); } .status-warning { background-color: var(--color-yellow-alt); } .status-error { background-color: var(--color-red); } .status-draft { background-color: var(--color-gray); } .status-unfulfilled { background-color: var(--color-red); } .status-partially_returned { background-color: var(--color-yellow-alt); } .status-partially_fulfilled { background-color: var(--color-yellow-alt); } .status-returned { background-color: var(--color-gray); } .status-fulfilled { background-color: var(--color-green); } .status-cancelled { background-color: var(--color-gray); } .status-dot { width: 1rem; height: 1rem; min-width: 1rem; min-height: 1rem; border-radius: 100%; margin-right: 0.5rem; } /* ========================================================================== Pagination ========================================================================== */ .pagination { display: flex; gap: 1rem; } /* ========================================================================== Utils ========================================================================== */ .text-right { text-align: right; } .text-left { text-align: left; } .text-center { text-align: center; }