2023-05-14 19:59:38 -07:00

175 lines
3.1 KiB
CSS

label {
display: block;
color: var(--theme-text-body);
font-family: var(--font-body);
font-size: 1rem;
margin-block-start: 1rem;
}
label:not(:first-of-type) {
margin-block-start: 2rem;
}
label.radio {
display: flex;
margin-block: 1rem;
justify-content: flex-start;
}
input,
textarea {
display: block;
margin-block-start: 0.35rem;
margin-block-end: 1rem;
border: 0.125rem var(--theme-border-input) solid;
border-radius: 0.25rem;
color: var(--theme-text-body);
background-color: var(--theme-bg-input);
padding: 0.5rem;
font-family: var(--font-body);
font-size: 1rem;
width: 20rem;
}
input[disabled],
textarea[disabled] {
opacity: 0.4;
cursor: default;
pointer-events: none;
}
input[type='text']:invalid,
input[type='password']:invalid,
textarea:invalid {
border-color: var(--theme-border-input-invalid);
}
input[type='text'][readonly] {
color: var(--theme-text-light);
border-color: var(--theme-line);
}
input[type='checkbox'] {
width: 1rem;
height: 1rem;
padding: 0;
}
input[type='checkbox'] + label {
margin-inline-start: 0.5rem;
margin-inline-end: 2rem;
}
input[type='radio'] {
flex: 0 0 2rem;
margin: 0.2rem;
}
textarea {
line-height: 1.7rem;
font-family: var(--font-monospace);
}
::-webkit-input-placeholder {
color: var(--theme-text-light);
}
button {
padding: 0.5rem 1.5rem;
border-radius: 0.5rem;
font-size: 1rem;
margin-block-start: 1rem;
margin-inline-end: 1rem;
cursor: pointer;
user-select: none;
appearance: none;
color: var(--theme-text-button-primary);
background: var(--theme-bg-button-primary);
text-decoration: none;
font-size: 1rem;
font-family: var(--font-body);
font-weight: 700;
line-height: 2rem;
display: flex;
align-items: center;
}
button.icon-only {
padding: 0.5rem;
}
button svg.icon {
--icon-size: 2rem;
}
button:not(.icon-only) svg.icon:first-child {
margin-inline-end: 0.5rem;
}
button:not(.icon-only) svg.icon:last-child {
margin-inline-start: 0.5rem;
}
button[data-style='secondary'] {
color: var(--theme-text-button-secondary);
background: var(--theme-bg-button-secondary);
}
button:not([disabled]):hover {
background: var(--theme-bg-button-primary-hover);
}
button[data-style='secondary']:not([disabled]):hover {
background: var(--theme-bg-button-secondary-hover);
}
button[disabled] {
opacity: 0.4;
cursor: default;
pointer-events: none;
}
select {
display: block;
margin-block-start: 0.35rem;
margin-block-end: 1rem;
border: 0.125rem var(--theme-border-input) solid;
border-radius: 0.25rem;
color: var(--theme-text-body);
background-color: var(--theme-bg-input);
padding: 0.5rem;
font-family: var(--font-body);
font-size: 1rem;
width: 20rem;
cursor: pointer;
}
select[disabled] {
opacity: 0.4;
cursor: default;
pointer-events: none;
}
select option {
color: var(--theme-text-body);
background-color: var(--theme-bg-input);
padding: 0.5rem;
font-family: var(--font-body);
font-size: 1rem;
}
:is(table, .table) :is(input, select) {
margin-block: 0;
}
p.error-box {
margin: 0;
padding: 0.5rem;
border-radius: 0.25rem;
color: var(--theme-text-error-box);
background: var(--theme-bg-error-box);
border: 0.1rem solid var(--theme-border-error-box);
}