body {
    font-family: Arial, sans-serif;
    font-size: 18px;
    margin: 12px;
}
h2 { font-size: 28px; }
h3 { font-size: 22px; }
p, label { font-size: 20px; }

img { max-width: 100%; height: auto; }

select,
input[type="text"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="password"],
textarea,
button,
input[type="submit"],
a.button {
    display: block;
    width: 100%;
    max-width: 420px;
    padding: 16px;
    font-size: 20px;
    border-radius: 8px;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
}

select,
input[type="text"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="password"],
textarea {
    border: 2px solid #999;
    background: #fff;
    text-align: left;
}

button,
input[type="submit"],
a.button {
    border: none;
    background: #94dc35;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}
button:hover,
input[type="submit"]:hover,
a.button:hover { background: #7fc424; }

a.back, a.logout { background: #888; }
a.back:hover, a.logout:hover { background: #666; }

ul.menu { list-style: none; padding: 0; margin: 20px 0; max-width: 420px; }
ul.menu li { margin-bottom: 16px; }
ul.menu a { display: block; }

.msg-ok, .msg-err {
    max-width: 420px;
    padding: 14px;
    margin-bottom: 16px;
    font-weight: bold;
    font-size: 20px;
    box-sizing: border-box;
}
.msg-ok  { color: green; border: 1px solid green; background: #f0fff0; }
.msg-err { color: red;   border: 1px solid red; }

input[type="checkbox"], input[type="radio"] { width: 24px; height: 24px; }
table { font-size: 18px; border-collapse: collapse; }
th, td { padding: 10px; border-bottom: 1px solid #ccc; text-align: left; }

.card {
    max-width: 420px;
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 14px;
    margin-bottom: 16px;
    font-size: 20px;
    box-sizing: border-box;
}
textarea { min-height: 110px; }

input[type="datetime-local"],
input[type="date"],
input[type="time"] {
    display: block;
    width: 100%;
    max-width: 420px;
    min-height: 60px;
    padding: 16px;
    font-size: 22px;
    border: 2px solid #999;
    border-radius: 8px;
    background: #fff;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
}

/* iPhone Safari: make the inner date/time text larger too */
input[type="datetime-local"]::-webkit-date-and-time-value,
input[type="date"]::-webkit-date-and-time-value {
    text-align: left;
    font-size: 22px;
}