* {
	font-family: monospace;
	font-size: 9.5pt;
	-webkit-text-size-adjust: none;
}

body {
	background-color: #fbfbfb;
	color: #222;
}

main {
	width: 700px;
	line-height: 1.3em;
	margin: 2em;
}

header {
	color: #888;
	margin-bottom: 1em;
}

a {
	color: black;
}
header a, header a:visited,
header input.as-link {
	color: #222;
}
header a.cur, header a.cur:visited {
	font-weight: bold;
}

a:visited {
	color: #444;
}

#plan_editor {
	border: 1px solid gray;
	margin-left: -6px;
	margin-top: -0.75em;
	padding: 5px;
	height: 400px;
}

pre {
	white-space: pre-wrap;
	word-wrap: break-word;
}

/* forms */
fieldset {
	border: 0;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
}

fieldset legend {
	font-weight: bold;
	padding-left: 0;
	margin-bottom: 0.5em;
}

.field-group {
	line-height: 1.7em;
	margin-bottom: 0.5em;
	vertical-align: top;
}

.field-group label {
	display: inline-block;
	width: 140px;
}

.field-group input,
.field-group select,
.field_group textarea {
	vertical-align: top;
}

.field-group .wide2 {
	width: 270px
}

.field-group .wide3 {
	width: 360px;
}
.field-group .wide4 {
	width: 450px;
}

.field-group input[type="submit"],
.field-group button {
	min-width: 120px;
}

.field-group input.destructive {
	color: darkred;
}

input[type="text"],
input[type="email"],
input[type="password"] {
	background-color: transparent;
	border: 0;
	border-bottom: 2px solid gray;
	outline: 0;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus {
	border-color: #222;
}
input[type="text"]:read-only,
input[type="email"]:read-only,
input[type="password"]:read-only {
	border-color: transparent;
}

input.as-link {
	background-color: transparent;
	border: 0;
	color: blue;
	cursor: pointer;
	padding: 0;
	text-decoration: underline;
}

.with-errors input[type="text"],
.with-errors input[type="text"]:focus,
.with-errors input[type="email"],
.with-errors input[type="email"]:focus,
.with-errors input[type="password"],
.with-errors input[type="password"]:focus,
.with-errors textarea {
	border-color: #c43c35;
}

fieldset .error_hint {
	margin-left: 1em;
	color: #c43c35;
}

/* flash messages */

.flash {
	font-weight: bold;
	margin: 1em 0;
}

.flash p {
	margin-bottom: 0;
}

.flash p:first-child {
	margin-top: 0;
}

.flash a {
	font-weight: bold;
}
.flash-error {
	color: #c43c35;
}
.flash-success {
	color: #57a957;
}
.flash-notice {
	color: #339bb9;
}

.help-inline {
	color: gray;
}

@media (prefers-color-scheme: dark) {
	body {
		background-color: #222;
		color: #ccc;
	}

	a,
	header a, header a:visited,
	header input.as-link {
		color: #eee;
	}

	a:visited {
		color: #ccc;
	}
}
