1118 lines
20 KiB
CSS
1118 lines
20 KiB
CSS
@tailwind base;
|
|
@tailwind components;
|
|
@tailwind utilities;
|
|
:root {
|
|
--background: 30 100% 98%;
|
|
--foreground: 20 20% 30%;
|
|
--card: 0 0% 100%;
|
|
--card-foreground: 20 20% 30%;
|
|
--primary: 15 54% 47%;
|
|
--primary-foreground: 0 0% 100%;
|
|
--secondary: 30 100% 94%;
|
|
--secondary-foreground: 20 20% 30%;
|
|
--muted: 30 38% 96%;
|
|
--muted-foreground: 23 16% 46%;
|
|
--accent: 30 100% 94%;
|
|
--accent-foreground: 20 20% 30%;
|
|
--destructive: 0 60% 48%;
|
|
--destructive-foreground: 0 0% 100%;
|
|
--border: 27 36% 88%;
|
|
--input: 27 36% 85%;
|
|
--ring: 15 54% 47%;
|
|
--radius: 0.85rem;
|
|
}
|
|
* {
|
|
box-sizing: border-box;
|
|
border-color: hsl(var(--border));
|
|
}
|
|
body {
|
|
margin: 0;
|
|
background: #fff9f3;
|
|
color: #604a40;
|
|
font-family:
|
|
ui-rounded, "Hiragino Maru Gothic ProN", "PingFang SC", system-ui,
|
|
sans-serif;
|
|
font-size: 14px;
|
|
}
|
|
button,
|
|
input,
|
|
select {
|
|
font: inherit;
|
|
}
|
|
button:focus-visible,
|
|
a:focus-visible,
|
|
select:focus-visible {
|
|
outline: 2px solid #b95738;
|
|
outline-offset: 3px;
|
|
}
|
|
h1,
|
|
h2,
|
|
h3,
|
|
p {
|
|
margin: 0;
|
|
}
|
|
button {
|
|
cursor: pointer;
|
|
}
|
|
button:disabled {
|
|
cursor: default;
|
|
}
|
|
strong {
|
|
font-weight: 600;
|
|
}
|
|
.app-shell {
|
|
min-height: 100vh;
|
|
}
|
|
.sidebar {
|
|
width: 238px;
|
|
position: fixed;
|
|
inset: 0 auto 0 0;
|
|
background: #fffefd;
|
|
border-right: 1px solid #ece2d8;
|
|
padding: 28px 16px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
z-index: 20;
|
|
}
|
|
.brand {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding: 0 12px 32px;
|
|
}
|
|
.brand img {
|
|
width: 48px;
|
|
height: 48px;
|
|
border-radius: 50%;
|
|
border: 3px solid #fffaf4;
|
|
box-shadow: 0 0 0 1px #ead8ca;
|
|
}
|
|
.brand strong {
|
|
display: block;
|
|
font-size: 20px;
|
|
letter-spacing: 1px;
|
|
}
|
|
.brand small {
|
|
display: block;
|
|
color: #9d8779;
|
|
font-size: 9px;
|
|
letter-spacing: 2px;
|
|
margin-top: 4px;
|
|
}
|
|
.side-caption {
|
|
padding: 0 15px;
|
|
color: #9d8779;
|
|
font-size: 11px;
|
|
margin-bottom: 14px;
|
|
letter-spacing: 1px;
|
|
}
|
|
.sidebar nav {
|
|
display: grid;
|
|
gap: 7px;
|
|
}
|
|
.nav-item {
|
|
background: none;
|
|
border: none;
|
|
border-radius: 13px;
|
|
min-height: 46px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding: 13px 15px;
|
|
color: #886c5f;
|
|
text-align: left;
|
|
}
|
|
.nav-item:hover {
|
|
background: #fff5eb;
|
|
}
|
|
.nav-item.active {
|
|
color: #b95738;
|
|
background: #ffeadc;
|
|
font-weight: 600;
|
|
}
|
|
.nav-dot {
|
|
width: 5px;
|
|
height: 5px;
|
|
border-radius: 50%;
|
|
background: #b95738;
|
|
margin-left: auto;
|
|
}
|
|
.side-note {
|
|
margin-top: auto;
|
|
margin-bottom: 24px;
|
|
padding: 22px 18px;
|
|
border-radius: 18px;
|
|
background: #fff6ed;
|
|
color: #9b7057;
|
|
font-size: 12px;
|
|
line-height: 1.9;
|
|
}
|
|
.side-note svg {
|
|
margin-bottom: 8px;
|
|
color: #d9956e;
|
|
}
|
|
.side-bottom {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
border-top: 1px solid #f0e8e0;
|
|
padding-top: 20px;
|
|
}
|
|
.admin-indicator {
|
|
font-size: 12px;
|
|
color: #886c5f;
|
|
padding-left: 9px;
|
|
}
|
|
.content {
|
|
margin-left: 238px;
|
|
padding: 32px 38px 24px;
|
|
max-width: 1780px;
|
|
}
|
|
.topbar {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 26px;
|
|
gap: 16px;
|
|
}
|
|
.eyebrow {
|
|
color: #9d7965;
|
|
font-size: 10px;
|
|
letter-spacing: 1.8px;
|
|
font-weight: 600;
|
|
margin-bottom: 9px;
|
|
}
|
|
.topbar h1 {
|
|
font-size: 27px;
|
|
letter-spacing: 1px;
|
|
font-weight: 600;
|
|
}
|
|
.topbar-actions {
|
|
display: flex;
|
|
gap: 14px;
|
|
align-items: center;
|
|
}
|
|
.today-date {
|
|
font-size: 12px;
|
|
color: #9d8779;
|
|
}
|
|
.mobile-logout {
|
|
display: none;
|
|
}
|
|
.welcome {
|
|
min-height: 180px;
|
|
background: linear-gradient(110deg, #fff0dd, #ffdec7);
|
|
border: 1px solid #ffeadb;
|
|
border-radius: 24px;
|
|
padding: 32px 36px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
overflow: hidden;
|
|
}
|
|
.welcome h2 {
|
|
font-size: 25px;
|
|
font-weight: 600;
|
|
color: #694c3f;
|
|
margin: 10px 0 13px;
|
|
}
|
|
.welcome p:not(.eyebrow) {
|
|
color: #98745d;
|
|
font-size: 13px;
|
|
}
|
|
.welcome img {
|
|
width: 116px;
|
|
height: 116px;
|
|
border-radius: 50%;
|
|
border: 5px solid #fffaf4;
|
|
transform: rotate(-8deg);
|
|
box-shadow: 0 8px 30px #a5623615;
|
|
}
|
|
.stat-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(6, minmax(0, 1fr));
|
|
gap: 14px;
|
|
margin: 22px 0;
|
|
}
|
|
.stat-card,
|
|
.panel {
|
|
border: 1px solid #ece2d8;
|
|
background: white;
|
|
border-radius: 19px;
|
|
box-shadow: 0 6px 28px #604a4004;
|
|
}
|
|
.stat-card {
|
|
text-align: left;
|
|
padding: 18px;
|
|
transition:
|
|
transform 0.2s,
|
|
border-color 0.2s;
|
|
}
|
|
.stat-card:hover {
|
|
transform: translateY(-3px);
|
|
border-color: #ddb699;
|
|
}
|
|
.stat-top {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
color: #bca89c;
|
|
margin-bottom: 15px;
|
|
}
|
|
.stat-icon {
|
|
display: grid;
|
|
place-items: center;
|
|
width: 38px;
|
|
height: 38px;
|
|
background: #fff0e2;
|
|
color: #b95738;
|
|
border-radius: 12px;
|
|
}
|
|
.tint-pets .stat-icon,
|
|
.tint-tasks .stat-icon {
|
|
background: #f1eaf8;
|
|
color: #977eae;
|
|
}
|
|
.tint-walks .stat-icon,
|
|
.tint-files .stat-icon {
|
|
background: #edf2fb;
|
|
color: #7d96b6;
|
|
}
|
|
.stat-card > span {
|
|
color: #886c5f;
|
|
font-size: 12px;
|
|
}
|
|
.stat-card strong {
|
|
font-size: 30px;
|
|
display: block;
|
|
margin: 6px 0;
|
|
}
|
|
.stat-card small {
|
|
font-size: 10px;
|
|
color: #a48d7e;
|
|
white-space: nowrap;
|
|
}
|
|
.overview-grid {
|
|
display: grid;
|
|
grid-template-columns: 1.6fr 1fr;
|
|
gap: 20px;
|
|
}
|
|
.panel-heading {
|
|
padding: 24px 25px 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
.panel-heading h2,
|
|
.records-heading h2 {
|
|
font-size: 17px;
|
|
font-weight: 600;
|
|
}
|
|
.panel-heading p,
|
|
.records-heading p {
|
|
color: #a18a7c;
|
|
font-size: 12px;
|
|
margin-top: 7px;
|
|
}
|
|
.panel-heading > svg {
|
|
color: #c6a28c;
|
|
}
|
|
.bar-chart {
|
|
height: 232px;
|
|
display: flex;
|
|
align-items: flex-end;
|
|
gap: 18px;
|
|
padding: 28px 26px;
|
|
}
|
|
.chart-column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: 8px;
|
|
flex: 1;
|
|
height: 100%;
|
|
min-width: 0;
|
|
}
|
|
.chart-column > span {
|
|
font-size: 12px;
|
|
color: #9d7965;
|
|
}
|
|
.bar-space {
|
|
flex: 1;
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: flex-end;
|
|
max-width: 42px;
|
|
}
|
|
.chart-bar {
|
|
width: 100%;
|
|
background: linear-gradient(#f2bc94, #d88760);
|
|
border-radius: 7px 7px 2px 2px;
|
|
transition: height 0.3s;
|
|
}
|
|
.chart-column small {
|
|
font-size: 11px;
|
|
color: #a48d7e;
|
|
}
|
|
.today dl {
|
|
padding: 12px 25px 20px;
|
|
margin: 0;
|
|
}
|
|
.today dl > div {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
border-bottom: 1px solid #f2eae4;
|
|
padding: 14px 0;
|
|
}
|
|
.today dl > div:last-child {
|
|
border: 0;
|
|
}
|
|
.today dt {
|
|
font-size: 12px;
|
|
color: #886c5f;
|
|
}
|
|
.today dd {
|
|
font-size: 21px;
|
|
margin: 0;
|
|
}
|
|
.today dd small {
|
|
font-size: 11px;
|
|
margin-left: 5px;
|
|
color: #a48d7e;
|
|
}
|
|
.summary-strip {
|
|
margin-top: 20px;
|
|
display: flex;
|
|
gap: 28px;
|
|
padding: 18px 22px;
|
|
border: 1px dashed #e6d2c2;
|
|
border-radius: 15px;
|
|
background: #fff5eb;
|
|
}
|
|
.summary-strip > div {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 9px;
|
|
font-size: 12px;
|
|
color: #9d7965;
|
|
}
|
|
.summary-strip strong {
|
|
color: #604a40;
|
|
margin-left: 8px;
|
|
}
|
|
.records {
|
|
overflow: hidden;
|
|
}
|
|
.records-heading {
|
|
padding: 24px 26px 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
.per-page {
|
|
background: #fff6ed;
|
|
border: 1px solid #f4e6d8;
|
|
padding: 5px 10px;
|
|
border-radius: 8px;
|
|
font-size: 11px;
|
|
color: #9d7965;
|
|
}
|
|
.toolbar {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
padding: 0 26px 22px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.search-form {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
flex: 1;
|
|
max-width: 490px;
|
|
position: relative;
|
|
}
|
|
.search-form > svg {
|
|
position: absolute;
|
|
left: 12px;
|
|
pointer-events: none;
|
|
color: #a48d7e;
|
|
}
|
|
.search-form input {
|
|
padding-left: 36px;
|
|
min-width: 140px;
|
|
border-radius: 10px;
|
|
}
|
|
.toolbar select {
|
|
background: white;
|
|
color: #886c5f;
|
|
border: 1px solid #e6d9cf;
|
|
border-radius: 10px;
|
|
padding: 8px 30px 8px 12px;
|
|
height: 36px;
|
|
font-size: 12px;
|
|
}
|
|
table {
|
|
min-width: 760px;
|
|
}
|
|
thead {
|
|
background: #fffaf6;
|
|
}
|
|
th {
|
|
white-space: nowrap;
|
|
font-size: 12px !important;
|
|
padding: 13px 18px !important;
|
|
}
|
|
td {
|
|
padding: 15px 18px !important;
|
|
font-size: 12px;
|
|
max-width: 360px;
|
|
}
|
|
td small {
|
|
display: block;
|
|
color: #a48d7e;
|
|
font-size: 10px;
|
|
margin-top: 5px;
|
|
}
|
|
td strong {
|
|
display: block;
|
|
}
|
|
.identity {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
min-width: 0;
|
|
}
|
|
.identity strong {
|
|
font-size: 13px;
|
|
color: #604a40;
|
|
}
|
|
.identity small {
|
|
max-width: 185px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
color: #a48d7e;
|
|
font-size: 10px;
|
|
margin-top: 5px;
|
|
display: block;
|
|
}
|
|
.avatar {
|
|
width: 38px;
|
|
height: 38px;
|
|
display: grid;
|
|
place-items: center;
|
|
flex: none;
|
|
color: #c58d6a;
|
|
border-radius: 12px;
|
|
background: #fff1e4;
|
|
overflow: hidden;
|
|
}
|
|
.avatar img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
.mono {
|
|
font-family: ui-monospace, SFMono-Regular, monospace;
|
|
}
|
|
.pet-tags {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 5px;
|
|
max-width: 250px;
|
|
}
|
|
.pet-tags > span {
|
|
background: #fff3e8;
|
|
color: #9d6a4e;
|
|
padding: 4px 7px;
|
|
border-radius: 7px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 4px;
|
|
font-size: 11px;
|
|
}
|
|
.row-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 5px;
|
|
white-space: nowrap;
|
|
}
|
|
.tree-toggle {
|
|
width: 28px;
|
|
height: 28px;
|
|
display: grid;
|
|
place-items: center;
|
|
border: 1px solid #f0e4da;
|
|
border-radius: 8px;
|
|
color: #ad826b;
|
|
background: #fffaf6;
|
|
}
|
|
.text-action {
|
|
border: none;
|
|
background: none;
|
|
color: #b95738;
|
|
padding: 0;
|
|
}
|
|
.tree-row td {
|
|
padding: 0 20px 16px 56px !important;
|
|
background: #fffcf9;
|
|
}
|
|
.pet-tree {
|
|
border-left: 2px solid #ecd8c8;
|
|
padding: 14px 18px 5px;
|
|
}
|
|
.tree-heading {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 7px;
|
|
font-size: 12px;
|
|
color: #9d7965;
|
|
margin-bottom: 14px;
|
|
}
|
|
.tree-heading strong {
|
|
display: inline;
|
|
}
|
|
.tree-heading > span {
|
|
font-size: 10px;
|
|
margin-left: auto;
|
|
color: #b29a89;
|
|
}
|
|
.pet-tree-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
|
|
gap: 10px;
|
|
}
|
|
.pet-tree-card {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
padding: 13px 14px;
|
|
border: 1px solid #f0e2d6;
|
|
border-radius: 12px;
|
|
background: white;
|
|
text-align: left;
|
|
}
|
|
.pet-tree-card:hover {
|
|
border-color: #deb697;
|
|
background: #fffaf6;
|
|
}
|
|
.pet-tree-card .identity {
|
|
flex: 1;
|
|
}
|
|
.pet-tree-card > svg {
|
|
color: #bfa390;
|
|
}
|
|
.pet-tree-card .identity small {
|
|
font-family: inherit;
|
|
}
|
|
.tree-message {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
color: #a48d7e;
|
|
font-size: 12px;
|
|
padding: 12px 0;
|
|
}
|
|
.pagination {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: 16px;
|
|
padding: 18px 25px;
|
|
border-top: 1px solid #f0e7df;
|
|
font-size: 12px;
|
|
color: #9d8779;
|
|
}
|
|
.pagination > div {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 15px;
|
|
}
|
|
.pagination button {
|
|
border-radius: 9px;
|
|
}
|
|
.empty {
|
|
min-height: 230px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
padding: 35px 20px;
|
|
color: #a48d7e;
|
|
text-align: center;
|
|
}
|
|
.empty svg {
|
|
color: #c9ae9a;
|
|
}
|
|
.empty h3 {
|
|
font-size: 15px;
|
|
font-weight: 500;
|
|
color: #8e7160;
|
|
}
|
|
.empty p {
|
|
font-size: 12px;
|
|
line-height: 1.8;
|
|
}
|
|
.empty.compact {
|
|
min-height: 150px;
|
|
}
|
|
.error-banner,
|
|
.notice {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
border: 1px solid #f0d7c9;
|
|
background: #fff0e7;
|
|
border-radius: 12px;
|
|
padding: 12px 15px;
|
|
color: #a04b31;
|
|
margin-bottom: 18px;
|
|
font-size: 12px;
|
|
gap: 12px;
|
|
}
|
|
.notice {
|
|
background: #f5f0fb;
|
|
border-color: #e6dcef;
|
|
color: #806499;
|
|
justify-content: flex-start;
|
|
}
|
|
.notice button {
|
|
border: none;
|
|
background: none;
|
|
color: inherit;
|
|
margin-left: auto;
|
|
}
|
|
.error-text {
|
|
color: #a04b31;
|
|
}
|
|
.page-footer {
|
|
text-align: center;
|
|
color: #b49c8b;
|
|
font-size: 10px;
|
|
padding: 24px 0 5px;
|
|
letter-spacing: 1px;
|
|
}
|
|
.detail-dialog {
|
|
max-width: 700px;
|
|
width: calc(100% - 32px);
|
|
max-height: 85vh;
|
|
overflow: auto;
|
|
border-radius: 22px !important;
|
|
padding: 26px !important;
|
|
}
|
|
.detail-summary {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 14px 0;
|
|
border-bottom: 1px solid #f0e7df;
|
|
gap: 10px;
|
|
}
|
|
.detail-summary .identity small {
|
|
max-width: 330px;
|
|
}
|
|
.detail-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 20px;
|
|
margin: 7px 0;
|
|
}
|
|
.detail-grid > div {
|
|
min-width: 0;
|
|
}
|
|
.detail-grid dt {
|
|
color: #a48d7e;
|
|
font-size: 11px;
|
|
margin-bottom: 7px;
|
|
}
|
|
.detail-grid dd {
|
|
font-size: 13px;
|
|
margin: 0;
|
|
line-height: 1.8;
|
|
overflow-wrap: anywhere;
|
|
white-space: pre-wrap;
|
|
}
|
|
.dialog-actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 10px;
|
|
}
|
|
.confirm-copy {
|
|
font-size: 13px;
|
|
line-height: 1.9;
|
|
color: #886c5f;
|
|
}
|
|
.track {
|
|
padding: 14px;
|
|
background: #fffaf5;
|
|
border: 1px solid #eee0d4;
|
|
border-radius: 16px;
|
|
}
|
|
.track svg {
|
|
width: 100%;
|
|
display: block;
|
|
border-radius: 10px;
|
|
}
|
|
.track p {
|
|
font-size: 10px;
|
|
color: #a48d7e;
|
|
padding-top: 10px;
|
|
text-align: center;
|
|
}
|
|
.file-preview {
|
|
width: 100%;
|
|
max-height: 260px;
|
|
object-fit: contain;
|
|
background: #fff8f0;
|
|
border-radius: 12px;
|
|
}
|
|
.file-link {
|
|
display: flex;
|
|
gap: 5px;
|
|
align-items: center;
|
|
color: #b95738;
|
|
font-size: 12px;
|
|
}
|
|
.file-name {
|
|
max-width: 220px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
.login-page {
|
|
min-height: 100vh;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 100px;
|
|
padding: 40px;
|
|
background:
|
|
radial-gradient(ellipse at 15% 20%, #ffead4, transparent 50%),
|
|
radial-gradient(ellipse at 95% 90%, #f1eaf8, transparent 45%), #fff9f3;
|
|
}
|
|
.login-story {
|
|
max-width: 480px;
|
|
}
|
|
.login-story > img {
|
|
width: 94px;
|
|
height: 94px;
|
|
border-radius: 50%;
|
|
border: 4px solid #fffaf4;
|
|
box-shadow: 0 12px 40px #aa683219;
|
|
margin-bottom: 30px;
|
|
transform: rotate(-6deg);
|
|
}
|
|
.login-story h1 {
|
|
font-size: 42px;
|
|
font-weight: 600;
|
|
line-height: 1.55;
|
|
letter-spacing: 2px;
|
|
}
|
|
.login-story > p:not(.eyebrow) {
|
|
color: #a0816a;
|
|
line-height: 1.9;
|
|
font-size: 14px;
|
|
margin-top: 20px;
|
|
}
|
|
.story-tags {
|
|
display: flex;
|
|
gap: 20px;
|
|
margin-top: 40px;
|
|
}
|
|
.story-tags > span {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 7px;
|
|
color: #b28d72;
|
|
font-size: 12px;
|
|
}
|
|
.login-card {
|
|
width: 400px;
|
|
background: white;
|
|
border: 1px solid #eee1d6;
|
|
border-radius: 27px;
|
|
padding: 35px;
|
|
box-shadow: 0 20px 80px #98694b0b;
|
|
}
|
|
.login-mark {
|
|
width: 48px;
|
|
height: 48px;
|
|
background: #fff0e2;
|
|
color: #c07851;
|
|
display: grid;
|
|
place-items: center;
|
|
border-radius: 16px;
|
|
margin-bottom: 24px;
|
|
}
|
|
.login-card h2 {
|
|
font-size: 26px;
|
|
font-weight: 600;
|
|
}
|
|
.muted {
|
|
color: #a18a7c;
|
|
font-size: 12px;
|
|
line-height: 1.8;
|
|
margin: 10px 0 28px;
|
|
}
|
|
.login-card label {
|
|
display: block;
|
|
color: #8e7160;
|
|
font-size: 12px;
|
|
margin: 17px 0 8px;
|
|
}
|
|
.login-card input {
|
|
height: 42px;
|
|
border-radius: 11px;
|
|
}
|
|
.login-submit {
|
|
margin-top: 25px;
|
|
border-radius: 11px;
|
|
height: 42px;
|
|
}
|
|
.login-footnote {
|
|
display: block;
|
|
text-align: center;
|
|
font-size: 10px;
|
|
color: #baa392;
|
|
margin-top: 25px;
|
|
}
|
|
.login-card .error-banner {
|
|
margin-top: 16px;
|
|
margin-bottom: 0;
|
|
line-height: 1.7;
|
|
}
|
|
@media (min-width: 1550px) {
|
|
.content {
|
|
padding-left: 52px;
|
|
padding-right: 52px;
|
|
}
|
|
}
|
|
@media (max-width: 1240px) {
|
|
.stat-grid {
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
.sidebar {
|
|
width: 210px;
|
|
}
|
|
.content {
|
|
margin-left: 210px;
|
|
padding: 26px;
|
|
}
|
|
.today-date {
|
|
display: none;
|
|
}
|
|
.overview-grid {
|
|
grid-template-columns: 1.4fr 1fr;
|
|
}
|
|
.login-page {
|
|
gap: 55px;
|
|
}
|
|
.login-story h1 {
|
|
font-size: 35px;
|
|
}
|
|
}
|
|
@media (max-width: 880px) {
|
|
.sidebar {
|
|
width: 76px;
|
|
padding: 22px 9px;
|
|
}
|
|
.content {
|
|
margin-left: 76px;
|
|
padding: 24px 20px;
|
|
}
|
|
.brand {
|
|
padding: 0 3px 28px;
|
|
}
|
|
.brand img {
|
|
width: 45px;
|
|
height: 45px;
|
|
}
|
|
.brand > div,
|
|
.side-caption,
|
|
.nav-item > span,
|
|
.side-note,
|
|
.side-bottom {
|
|
display: none;
|
|
}
|
|
.nav-item {
|
|
justify-content: center;
|
|
padding: 13px 0;
|
|
}
|
|
.mobile-logout {
|
|
display: inline-flex;
|
|
}
|
|
.overview-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.summary-strip {
|
|
flex-wrap: wrap;
|
|
gap: 15px;
|
|
}
|
|
.welcome {
|
|
padding: 26px;
|
|
min-height: 170px;
|
|
}
|
|
.welcome h2 {
|
|
font-size: 22px;
|
|
}
|
|
.welcome img {
|
|
width: 85px;
|
|
height: 85px;
|
|
}
|
|
.login-page {
|
|
gap: 35px;
|
|
}
|
|
.login-story h1 {
|
|
font-size: 28px;
|
|
}
|
|
.story-tags {
|
|
gap: 12px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.login-card {
|
|
width: 360px;
|
|
padding: 28px;
|
|
}
|
|
}
|
|
@media (max-width: 620px) {
|
|
.sidebar {
|
|
width: 60px;
|
|
padding: 20px 6px;
|
|
}
|
|
.brand {
|
|
padding: 0 0 22px;
|
|
}
|
|
.brand img {
|
|
width: 40px;
|
|
height: 40px;
|
|
}
|
|
.content {
|
|
margin-left: 60px;
|
|
padding: 20px 12px;
|
|
}
|
|
.topbar h1 {
|
|
font-size: 22px;
|
|
}
|
|
.topbar-actions {
|
|
gap: 5px;
|
|
}
|
|
.topbar-actions > button {
|
|
font-size: 11px;
|
|
padding: 8px;
|
|
}
|
|
.eyebrow {
|
|
letter-spacing: 1px;
|
|
font-size: 9px;
|
|
}
|
|
.welcome {
|
|
padding: 22px;
|
|
}
|
|
.welcome img {
|
|
display: none;
|
|
}
|
|
.welcome h2 {
|
|
font-size: 20px;
|
|
}
|
|
.stat-grid {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: 10px;
|
|
}
|
|
.stat-card {
|
|
padding: 15px;
|
|
}
|
|
.toolbar {
|
|
padding: 0 14px 18px;
|
|
}
|
|
.records-heading {
|
|
padding: 22px 15px 18px;
|
|
}
|
|
.records-heading p {
|
|
max-width: 170px;
|
|
line-height: 1.8;
|
|
}
|
|
.search-form {
|
|
flex-basis: 100%;
|
|
max-width: none;
|
|
}
|
|
.pagination {
|
|
padding: 16px 12px;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 13px;
|
|
}
|
|
.pagination > div {
|
|
width: 100%;
|
|
justify-content: space-between;
|
|
}
|
|
.detail-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.detail-summary .identity small {
|
|
max-width: 190px;
|
|
}
|
|
.login-page {
|
|
padding: 25px;
|
|
flex-direction: column;
|
|
gap: 22px;
|
|
}
|
|
.login-story {
|
|
width: min(400px, 100%);
|
|
}
|
|
.login-story > img {
|
|
width: 54px;
|
|
height: 54px;
|
|
border-radius: 50%;
|
|
margin: 0 0 10px;
|
|
}
|
|
.login-story h1 {
|
|
font-size: 25px;
|
|
line-height: 1.7;
|
|
}
|
|
.login-story h1 br {
|
|
display: none;
|
|
}
|
|
.login-story > p:not(.eyebrow),
|
|
.story-tags {
|
|
display: none;
|
|
}
|
|
.login-card {
|
|
width: min(400px, 100%);
|
|
padding: 28px;
|
|
}
|
|
.bar-chart {
|
|
gap: 10px;
|
|
padding-left: 20px;
|
|
padding-right: 20px;
|
|
}
|
|
}
|
|
|
|
.nav-item { text-decoration: none; }
|
|
.breed-alphabet { display:flex; flex-wrap:wrap; gap:6px; padding:0 24px 24px; }
|
|
.breed-alphabet button { min-width:30px; height:30px; border-radius:9px; border:1px solid #eeded1; padding:0 8px; color:#927766; }
|
|
.breed-alphabet button.active { background:#ffeadc; border-color:#dfa080; color:#b85837; }
|
|
.breed-aliases { max-width:240px; white-space:normal; }
|
|
.breed-form { display:grid; gap:18px; }
|
|
.breed-form label { display:grid; gap:8px; }
|
|
.breed-form .breed-enabled { display:flex; align-items:center; gap:10px; }
|
|
|
|
.breed-dialog {max-height:85vh;overflow-y:auto;}
|
|
.breed-fact-fields {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
|
|
.breed-form textarea {width:100%;border:1px solid #eadacb;border-radius:12px;padding:12px;resize:vertical;}
|
|
.breed-source-badges{display:flex;flex-wrap:wrap;gap:6px;max-width:280px}
|
|
.breed-source-badges a{text-decoration:none}
|
|
.breed-editor-tabs{display:flex;gap:10px;margin-bottom:8px}
|
|
.breed-source-list{display:grid;gap:16px}
|
|
.breed-source-card{border:1px solid #ead9cc;background:#fffbf7;padding:18px;border-radius:16px}
|
|
.breed-source-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}
|
|
.breed-source-card small{display:block;margin-top:8px;color:#a28a78}
|
|
.breed-source-card dl{display:grid;gap:12px;margin-top:18px}
|
|
.breed-source-card dl>div{display:grid;grid-template-columns:90px 1fr;gap:12px}
|
|
.breed-source-card dt{color:#a28a78;font-size:13px}
|
|
.breed-source-card dd{margin:0;font-size:14px;overflow-wrap:anywhere}
|
|
.breed-form select{width:100%;min-height:40px;border:1px solid #ead9cc;border-radius:10px;padding:8px;background:white}
|