style.css 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533
  1. body {
  2. background-color: #dee3e7;
  3. color: black;
  4. font-family: sans-serif;
  5. margin: 0;
  6. padding: 0;
  7. text-align: center;
  8. }
  9. dialog {
  10. box-shadow: 0 0 6px 0 #444;
  11. max-width: 600px;
  12. padding: 1em;
  13. text-align: left;
  14. }
  15. fieldset {
  16. display: grid;
  17. grid-template-columns: repeat(auto-fit, 160px);
  18. grid-template-rows: auto auto auto auto;
  19. grid-gap: 1em;
  20. padding: 0;
  21. text-align: center;
  22. justify-content: center;
  23. border: 0;
  24. }
  25. #sidebar-toggle-wrapper {
  26. display: inline;
  27. }
  28. h1 {
  29. display: inline;
  30. font-size: small;
  31. padding-left: .5em;
  32. }
  33. #sidebar-toggler-button {
  34. top: 1em;
  35. left: 0.5em;
  36. height: 2em;
  37. width: 2em;
  38. background-color: white;
  39. text-align: center;
  40. display: inline-grid;
  41. place-items: center;
  42. padding: .2em;
  43. box-shadow: 0 0 5px 0 #444;
  44. color: #666;
  45. }
  46. #sidebar-toggler-button:hover,
  47. #sidebar-toggler-button:focus {
  48. color: black;
  49. cursor: pointer;
  50. }
  51. footer,
  52. footer a {
  53. color: black;
  54. }
  55. nav.sidebar {
  56. background-color: white;
  57. position: absolute;
  58. width: 180px;
  59. height: 100vh;
  60. left: 0;
  61. top: 0;
  62. transition: 0.5s ease;
  63. box-shadow: 0 0 10px 0 #444;
  64. z-index: 3;
  65. display: flex;
  66. flex-direction: column;
  67. }
  68. #navigation-links {
  69. padding-top: 4em;
  70. flex-grow: 1;
  71. }
  72. #supplemental-links {
  73. flex-grow: 0;
  74. }
  75. input:checked ~ nav.sidebar {
  76. left: -250px;
  77. }
  78. nav ul {
  79. margin: 0;
  80. padding: 0;
  81. }
  82. nav ul li {
  83. list-style: none;
  84. text-align: left;
  85. border-bottom: 1px inset black;
  86. }
  87. nav ul li a {
  88. display: block;
  89. padding-left: 1em;
  90. padding-top: 0.5em;
  91. padding-bottom: 0.5em;
  92. user-select: none;
  93. }
  94. nav ul li a:hover {
  95. color: black;
  96. background-color: #efefef;
  97. cursor: pointer;
  98. }
  99. nav.topbar {
  100. background-color: white;
  101. }
  102. nav.topbar ul li {
  103. display: inline-block;
  104. }
  105. table {
  106. background-color: white;
  107. border-collapse: collapse;
  108. width: 100%;
  109. box-shadow: 0 0 5px 0 #444;
  110. }
  111. th,
  112. td {
  113. border: 1px solid #efefef;
  114. text-align: left;
  115. padding: 0.6em;
  116. }
  117. th:first-child {
  118. width: 5%;
  119. }
  120. tr:hover td {
  121. background-color: beige;
  122. }
  123. legend {
  124. padding-top: 1em;
  125. }
  126. span.icon {
  127. display: block;
  128. font-size: 3em;
  129. }
  130. .action-header span.icon,
  131. tr.log-row span.icon {
  132. display: inline-block;
  133. padding-right: 0.2em;
  134. vertical-align: middle;
  135. }
  136. .error {
  137. background-color: salmon;
  138. }
  139. div.error {
  140. padding: 1em;
  141. }
  142. .title.temporary-status-message {
  143. color: gray;
  144. }
  145. div.entity {
  146. background-color: white;
  147. box-shadow: 0 0 10px 0 #444;
  148. display: grid;
  149. grid-column: auto / span 2;
  150. grid-row: auto / span 2;
  151. grid-template-rows: auto min-content;
  152. grid-template-columns: minmax(min-content, auto);
  153. }
  154. h2 {
  155. display: inline-block;
  156. font-size: 1em;
  157. margin-top: 0;
  158. }
  159. div.entity h2 {
  160. grid-column: 1 / span all;
  161. }
  162. details {
  163. display: inline-block;
  164. }
  165. details[open] {
  166. margin-top: 1em;
  167. display: block;
  168. }
  169. /* General Buttons */
  170. button,
  171. input[type="submit"]
  172. {
  173. padding: 1em;
  174. color: black;
  175. text-align: center;
  176. border: 1px solid #999;
  177. background-color: white;
  178. box-shadow: 0 0 6px 0 #aaa;
  179. user-select: none;
  180. }
  181. /* Action Buttons */
  182. action-button {
  183. display: flex;
  184. flex-direction: column;
  185. }
  186. action-button button {
  187. flex-grow: 1;
  188. width: 100%;
  189. z-index: 2;
  190. }
  191. action-button details {
  192. flex-grow: 1;
  193. }
  194. action-button details[open] {
  195. margin-top: 0;
  196. }
  197. action-button details summary div {
  198. display: inline-flex;
  199. }
  200. action-button details summary div span:first-child {
  201. flex-grow: 1;
  202. }
  203. .action-button-footer {
  204. display: flex;
  205. text-align: left;
  206. font-size: smaller;
  207. background-color: #efefef;
  208. border-top: 0;
  209. border-left: 1px solid #666;
  210. border-right: 1px solid #666;
  211. border-bottom: 1px solid #666;
  212. overflow: auto;
  213. }
  214. execution-button {
  215. display: inline-block;
  216. margin-right: .2em;
  217. margin-left: .2em;
  218. margin-top: .2em;
  219. }
  220. execution-button button {
  221. margin-top: 0.2em;
  222. margin-bottom: 0.2em;
  223. }
  224. /* Button states */
  225. button:hover,
  226. input[type="submit"]:hover {
  227. box-shadow: 0 0 10px 0 #666;
  228. cursor: pointer;
  229. }
  230. button:focus,
  231. input[type="submit"]:focus {
  232. outline: 1px solid black;
  233. }
  234. button:disabled,
  235. input[type="submit"]:disabled {
  236. color: gray;
  237. background-color: #333;
  238. cursor: not-allowed;
  239. }
  240. /* Button animations */
  241. .action-failed {
  242. transition: 1s;
  243. background-color: red;
  244. }
  245. .action-success {
  246. transition: 1s;
  247. background-color: limegreen;
  248. }
  249. .action-nonzero-exit {
  250. animation: kf-action-nonzero-exit 1s;
  251. transition: 1s;
  252. background-color: orange;
  253. }
  254. .action-timeout {
  255. transition: 1s;
  256. background-color: cyan;
  257. }
  258. .action-blocked {
  259. transition: 1s;
  260. background-color: purple;
  261. color: white;
  262. }
  263. img.logo {
  264. width: 1em;
  265. height: 1em;
  266. vertical-align: middle;
  267. }
  268. main {
  269. padding: 1em;
  270. }
  271. body.has-sidebar main {
  272. padding-top: 3em;
  273. }
  274. summary {
  275. cursor: pointer;
  276. }
  277. form div.wrapper {
  278. background-color: white;
  279. text-align: left;
  280. }
  281. label {
  282. min-width: 20%;
  283. text-align: right;
  284. display: inline-block;
  285. padding-right: 1em;
  286. }
  287. #perma-widget {
  288. position: absolute;
  289. top: 1em;
  290. left: 1em;
  291. z-index: 9;
  292. }
  293. #perma-widget label {
  294. display: inline;
  295. }
  296. input {
  297. padding: 0.6em;
  298. }
  299. input:invalid {
  300. outline: 2px solid red;
  301. }
  302. form .wrapper span.icon {
  303. display: inline-block;
  304. vertical-align: middle;
  305. }
  306. form input[type="submit"]:first-child {
  307. margin-right: 1em;
  308. }
  309. button[name="cancel"]:hover {
  310. background-color: salmon;
  311. color: black;
  312. }
  313. input[name="start"]:hover {
  314. background-color: #aceaac;
  315. color: black;
  316. }
  317. span.argument-description {
  318. margin-left: 1em;
  319. }
  320. p.argument-wrapper {
  321. display: flex;
  322. }
  323. form div.buttons {
  324. text-align: right;
  325. }
  326. pre {
  327. border: 1px solid gray;
  328. padding: 1em;
  329. min-height: 1em;
  330. }
  331. td.exit-code {
  332. text-align: center;
  333. }
  334. input.invalid {
  335. background-color: salmon;
  336. }
  337. #available-version {
  338. background-color: #aceaac;
  339. padding: 0.2em;
  340. border-radius: 1em;
  341. }
  342. span.tag {
  343. background-color: lightgray;
  344. border-radius: 0.6em;
  345. padding: 0.2em;
  346. }
  347. div.toolbar {
  348. padding: .4em;
  349. text-align: left;
  350. background-color: #efefef;
  351. border: 1px solid #999;
  352. border-bottom: 0;
  353. display: flex;
  354. flex-direction: row;
  355. }
  356. div.toolbar * {
  357. margin-right: 1em;
  358. }
  359. @media screen and (width <= 600px) {
  360. fieldset {
  361. grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  362. }
  363. label {
  364. text-align: left;
  365. margin-bottom: .6em;
  366. font-weight: bold;
  367. min-width: auto;
  368. }
  369. p.argument-wrapper {
  370. flex-direction: column;
  371. }
  372. span.argument-description {
  373. margin-left: 0;
  374. margin-top: .6em;
  375. }
  376. }
  377. @media (prefers-color-scheme: dark) {
  378. body {
  379. background-color: #333;
  380. color: white;
  381. }
  382. dialog {
  383. background-color: #222;
  384. color: white;
  385. }
  386. form div.wrapper {
  387. background-color: #222;
  388. }
  389. button,
  390. input[type="submit"],
  391. #sidebar-toggler-button {
  392. border: 1px solid #666;
  393. background-color: #222;
  394. box-shadow: 0 0 6px 0 #444;
  395. color: white;
  396. }
  397. #sidebar-toggler-button:focus,
  398. #sidebar-toggler-button:hover
  399. {
  400. color: white;
  401. }
  402. nav {
  403. background-color: #111;
  404. color: white;
  405. }
  406. footer,
  407. footer a {
  408. color: gray;
  409. }
  410. nav ul li a:hover {
  411. background-color: #666;
  412. color: white;
  413. }
  414. .action-button-footer {
  415. background-color: #111;
  416. }
  417. button:disabled {
  418. background-color: black;
  419. }
  420. table,
  421. td,
  422. th {
  423. border: 1px solid gray;
  424. }
  425. td,
  426. tr {
  427. background-color: #222;
  428. color: white;
  429. }
  430. tr:hover td {
  431. background-color: #666;
  432. }
  433. div.toolbar {
  434. background-color: black;
  435. }
  436. }