175 lines
3.1 KiB
CSS
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);
|
|
}
|
|
|