diff --git a/core/modules/dblog/css/dblog.module.css b/core/modules/dblog/css/dblog.module.css
index d1820f8..ed4ae34 100644
--- a/core/modules/dblog/css/dblog.module.css
+++ b/core/modules/dblog/css/dblog.module.css
@@ -13,10 +13,14 @@
   margin: .1em .1em .1em .9em;
 }
 .dblog-filter-form .form-actions {
-  display: inline-block;
-  padding: 3ex 0 0;
   vertical-align: top;
 }
+@media screen and (min-width: 600px) {
+  .dblog-filter-form .form-actions {
+    display: inline-block;
+    padding: 3ex 0 0;
+  }
+}
 .admin-dblog .icon,
 .admin-dblog .dblog-warning .icon,
 .admin-dblog .dblog-error .icon,
diff --git a/core/modules/user/css/user.theme.css b/core/modules/user/css/user.theme.css
index 52413e0..67833d8 100644
--- a/core/modules/user/css/user.theme.css
+++ b/core/modules/user/css/user.theme.css
@@ -26,11 +26,13 @@
   background-color: #77b259;
 }
 
-.password-confirm,
-.password-field,
-.password-strength,
-.password-confirm-match {
-  width: 55%;
+@media screen and (min-width: 600px) {
+  .password-confirm,
+  .password-field,
+  .password-strength,
+  .password-confirm-match {
+    width: 55%;
+  }
 }
 
 .password-suggestions {
diff --git a/core/themes/seven/css/base/elements.css b/core/themes/seven/css/base/elements.css
index d6e5e67..808d446 100644
--- a/core/themes/seven/css/base/elements.css
+++ b/core/themes/seven/css/base/elements.css
@@ -173,3 +173,11 @@ details summary:focus {
   margin-top: -3px;
   text-decoration: underline;
 }
+@media screen and (max-width: 600px) {
+  details summary {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    box-sizing: border-box;
+  }
+}
diff --git a/core/themes/seven/css/components/buttons.css b/core/themes/seven/css/components/buttons.css
index a4855af..06a3ce9 100644
--- a/core/themes/seven/css/components/buttons.css
+++ b/core/themes/seven/css/components/buttons.css
@@ -74,6 +74,19 @@
   -webkit-transition: none;
   transition: none;
 }
+@media screen and (max-width: 600px) {
+  .form-actions .button {
+    float: none;
+    margin-left: 0;
+    margin-right: 0;
+    margin-top: 10px;
+    width: 100%;
+  }
+  .form-actions .button:first-child,
+  .form-wrapper .button:first-child {
+    margin-top: 0;
+  }
+}
 
 .button--primary {
   border-color: #1e5c90;
diff --git a/core/themes/seven/css/components/form.css b/core/themes/seven/css/components/form.css
index f74eb74..bbc2abf 100644
--- a/core/themes/seven/css/components/form.css
+++ b/core/themes/seven/css/components/form.css
@@ -1,39 +1,8 @@
 /**
+ * @file
  * Form elements.
  */
-form {
-  margin: 0;
-  padding: 0;
-}
-fieldset:not(.fieldgroup) {
-  background-color: #fcfcfa;
-  border-radius: 2px;
-  margin: 1em 0;
-  padding: 30px 18px 18px;
-  position: relative;
-}
-fieldset:not(.fieldgroup) > legend {
-  font-size: 1em;
-  font-weight: bold;
-  letter-spacing: 0.08em;
-  position: absolute;
-  text-transform: uppercase;
-  top: 10px;
-}
-.fieldgroup {
-  min-width: 0;
-}
-@-moz-document url-prefix() {
-  .fieldgroup {
-    display: table-cell;
-  }
-}
-.form-item {
-  margin: 0.75em 0;
-}
-.form-type-checkbox {
-  padding: 0;
-}
+
 label {
   display: table;
   margin: 0 0 0.1em;
@@ -55,20 +24,16 @@ label[for] {
 .form-disabled label {
   color: #737373;
 }
-.form-disabled input.form-text,
-.form-disabled input.form-tel,
-.form-disabled input.form-email,
-.form-disabled input.form-url,
-.form-disabled input.form-search,
-.form-disabled input.form-number,
-.form-disabled input.form-color,
-.form-disabled input.form-file,
-.form-disabled textarea.form-textarea,
-.form-disabled select.form-select {
-  border-color: #d4d4d4;
-  background-color: hsla(0, 0%, 0%, .08);
-  box-shadow: none;
+
+/* Form item. */
+.form-item {
+  margin: 0.75em 0;
+}
+.form-type-checkbox {
+  padding: 0;
 }
+
+/* Error styling. */
 .form-item input.error,
 .form-item textarea.error,
 .form-item select.error {
@@ -90,91 +55,78 @@ label[for] {
   box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 0 8px 1px #e62600;
   background-color: #fcf4f2;
 }
+
+/* Required input marker. */
 .form-required:after {
   background-image: url(../../images/required.svg);
   background-size: 7px 7px;
   width: 7px;
   height: 7px;
 }
-.form-item--error-message {
-  margin-top: 0.15em;
-  color: #e32700;
-}
-.fieldset-wrapper > .form-item--error-message {
-  margin-top: 0;
-}
-.text-format-wrapper .form-item--error-message {
-  border: solid #ccc;
-  border-width: 0 1px;
-  margin: 0;
-  padding: 0.25em 0.666em 0;
-}
-
-
-/* Filter */
-ul.tips,
-div.description,
-.form-item .description {
-  margin: 0.2em 0 0 0;
-  color: #595959;
-  font-size: 0.95em;
-}
-.form-item .description.error {
-  margin-top: 0;
-  color: #a51b00;
-}
 
-ul.tips li {
-  margin: 0.25em 0 0.25em 1.5em; /* LTR */
+/* Fieldset and fieldgroup styling. */
+fieldset:not(.fieldgroup) {
+  background-color: #fcfcfa;
+  border-radius: 2px;
+  margin: 1em 0;
+  padding: 30px 18px 18px;
+  position: relative;
 }
-[dir="rtl"] ul.tips li {
-  margin: 0.25em 1.5em 0.25em 0;
+fieldset:not(.fieldgroup) > legend {
+  font-size: 1em;
+  font-weight: bold;
+  letter-spacing: 0.08em;
+  position: absolute;
+  text-transform: uppercase;
+  top: 10px;
 }
-.form-type-radio .description,
-.form-type-checkbox .description {
-  margin-left: 1.5em; /* LTR */
+.fieldgroup {
+  min-width: 0;
 }
-[dir="rtl"] .form-type-radio .description,
-[dir="rtl"] .form-type-checkbox .description {
-  margin-left: 0;
-  margin-right: 1.5em;
+@-moz-document url-prefix() {
+  .fieldgroup {
+    display: table-cell;
+  }
 }
+
+/* Form inputs. */
+.form-autocomplete,
 .form-text,
+.form-tel,
+.form-email,
+.form-url,
+.form-search,
+.form-number,
+.form-color,
+.form-file,
+.form-date,
+.form-time,
 .form-textarea {
-  border-radius: 2px;
-  font-size: 1em;
-  line-height: normal;
-}
-
-input.form-autocomplete,
-input.form-text,
-input.form-tel,
-input.form-email,
-input.form-url,
-input.form-search,
-input.form-number,
-input.form-color,
-input.form-file,
-input.form-date,
-input.form-time,
-textarea.form-textarea {
   box-sizing: border-box;
-  padding: .3em .4em .3em .5em; /* LTR */
+  padding: 0.3em 0.4em 0.3em 0.5em; /* LTR */
   max-width: 100%;
   border: 1px solid #b8b8b8;
   border-top-color: #999;
-  background: #fff;
-  color: #333;
   border-radius: 2px;
   background: #fcfcfa;
   box-shadow: inset 0 1px 2px rgba(0, 0, 0, .125);
   font-size: 1em;
   color: #595959;
-  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
   transition: border linear 0.2s, box-shadow linear 0.2s;
 }
-[dir="rtl"] textarea.form-textarea {
-  padding: .3em .5em .3em .4em;
+[dir="rtl"] .form-autocomplete,
+[dir="rtl"] .form-text,
+[dir="rtl"] .form-tel,
+[dir="rtl"] .form-email,
+[dir="rtl"] .form-url,
+[dir="rtl"] .form-search,
+[dir="rtl"] .form-number,
+[dir="rtl"] .form-color,
+[dir="rtl"] .form-file,
+[dir="rtl"] .form-date,
+[dir="rtl"] .form-time,
+[dir="rtl"] .form-textarea {
+  padding: 0.3em 0.5em 0.3em 0.4em;
 }
 .form-text:focus,
 .form-tel:focus,
@@ -192,15 +144,43 @@ textarea.form-textarea {
   box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 0 8px #40b6ff;
   background-color: #fff;
 }
-
-.confirm-parent,
-.password-parent {
-  overflow: visible;
-  width: auto;
+.form-disabled .form-text,
+.form-disabled .form-tel,
+.form-disabled .form-email,
+.form-disabled .form-url,
+.form-disabled .form-search,
+.form-disabled .form-number,
+.form-disabled .form-color,
+.form-disabled .form-file,
+.form-disabled .form-textarea,
+.form-disabled .form-select {
+  border-color: #d4d4d4;
+  background-color: hsla(0, 0%, 0%, .08);
+  box-shadow: none;
 }
+@media screen and (max-width: 600px) {
+  .form-autocomplete,
+  .form-text,
+  .form-tel,
+  .form-email,
+  .form-url,
+  .form-search,
+  .form-number,
+  .form-color,
+  .form-file,
+  .form-textarea {
+    width: 100%;
+    font-size: 1.2em;
+    line-height: 1.2em;
+  }
 
-.form-item-pass .description {
-  clear: both;
+  /**
+   * Number fields with suffixes push the suffix below the input at 100%.
+   * @see https://www.drupal.org/node/1879798
+   */
+  .form-number {
+    width: auto;
+  }
 }
 
 /**
@@ -211,9 +191,7 @@ select {
   max-width: 100%;
 }
 
-/**
- * Select elements - Webkit only
- */
+/* Select elements - Webkit only. */
 @media screen and (-webkit-min-device-pixel-ratio: 0) {
   select {
     cursor: pointer;
@@ -245,75 +223,38 @@ select {
   }
 }
 
-/**
- * Improve spacing of cancel link.
- */
-#edit-cancel {
-  margin-left: 10px; /* LTR */
+/* Description */
+.description,
+.form-item .description {
+  margin: 0.2em 0 0 0;
+  color: #595959;
+  font-size: 0.95em;
+}
+.form-item .description.error {
+  margin-top: 0;
+  color: #a51b00;
+}
+.form-type-radio .description,
+.form-type-checkbox .description {
+  margin-left: 1.5em; /* LTR */
 }
-[dir="rtl"] #edit-cancel {
+[dir="rtl"] .form-type-radio .description,
+[dir="rtl"] .form-type-checkbox .description {
   margin-left: 0;
-  margin-right: 10px;
+  margin-right: 1.5em;
 }
 
-/**
- * Improve form element usability on narrow devices.
- */
-@media screen and (max-width: 600px) {
-  input.form-autocomplete,
-  input.form-text,
-  input.form-tel,
-  input.form-email,
-  input.form-url,
-  input.form-search,
-  input.form-number,
-  input.form-color,
-  input.form-file,
-  textarea.form-textarea {
-    width: 100%;
-    font-size: 1.2em;
-    line-height: 1.2em;
-  }
-  input.form-number {
-    width: auto;
-  }
-  .form-actions input,
-  .form-wrapper input[type="submit"] {
-    float: none;
-    margin-left: 0;
-    margin-right: 0;
-    margin-top: 10px;
-    padding-bottom: 6px;
-    width: 100%;
-  }
-  .form-actions input:first-child,
-  .form-wrapper input[type="submit"]:first-child {
-    margin-top: 0;
-  }
-  details summary {
-    overflow: hidden;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-    box-sizing: border-box;
-  }
-  .password-strength {
-    width: 100%;
-  }
-  div.form-item div.password-suggestions {
-    float: none;
-  }
-  #dblog-filter-form .form-actions {
-    float: none;
-    padding: 0;
-  }
-  #edit-cancel {
-    display: block;
-    margin: 10px 0 0 0;
-  }
+/* Error messages. */
+.form-item--error-message {
+  margin-top: 0.15em;
+  color: #e32700;
 }
-
-/* Exceptions */
-#diff-inline-form select,
-div.filter-options select {
-  padding: 0;
+.fieldset-wrapper > .form-item--error-message {
+  margin-top: 0;
+}
+.text-format-wrapper .form-item--error-message {
+  border: solid #ccc;
+  border-width: 0 1px;
+  margin: 0;
+  padding: 0.25em 0.666em 0;
 }
diff --git a/core/themes/seven/css/components/tips.css b/core/themes/seven/css/components/tips.css
new file mode 100644
index 0000000..5a2cb97
--- /dev/null
+++ b/core/themes/seven/css/components/tips.css
@@ -0,0 +1,16 @@
+/**
+ * @file
+ * Filter tips.
+ */
+
+ul.tips {
+  margin: 0.2em 0 0 0;
+  color: #595959;
+  font-size: 0.95em;
+}
+ul.tips li {
+  margin: 0.25em 0 0.25em 1.5em; /* LTR */
+}
+[dir="rtl"] ul.tips li {
+  margin: 0.25em 1.5em 0.25em 0;
+}
diff --git a/core/themes/seven/seven.libraries.yml b/core/themes/seven/seven.libraries.yml
index 0b814b5..939d093 100644
--- a/core/themes/seven/seven.libraries.yml
+++ b/core/themes/seven/seven.libraries.yml
@@ -28,6 +28,7 @@ global-styling:
       css/components/search-admin-settings.css: {}
       css/components/system-status-report.css: {}
       css/components/tabs.css: {}
+      css/components/tips.css: {}
       css/components/tour.theme.css: {}
       css/components/views-ui.css: {}
     layout:
