Project import generated by Copybara.

GitOrigin-RevId: d9e9e3fb4e31372ec1fb43b178994ca78fa8fe70
diff --git a/static/css/ph_list.css b/static/css/ph_list.css
new file mode 100644
index 0000000..645d8c1
--- /dev/null
+++ b/static/css/ph_list.css
@@ -0,0 +1,188 @@
+/* Copyright 2016 The Chromium Authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style
+ * license that can be found in the LICENSE file or at
+ * https://developers.google.com/open-source/licenses/bsd
+ */
+
+.popup {
+    display: none;
+    background: var(--chops-white);
+    border: 2px solid #bbb;
+    border-width: 0 2px 2px 1px;
+    position: absolute;
+    padding: 2px;
+}
+
+.popup a { text-decoration: none; cursor: pointer; }
+.popup td, .popup th {
+    font-size: 90%;
+    font-weight: normal;
+    text-align: left;
+    cursor: pointer;
+}
+.popup td { color: var(--chops-link-color); padding: 2px; }
+.popup tr:hover { background: #f9edbe; }
+.subpopup { border-width: 1px 2px 2px 1px; }
+
+.group_row td {
+    background: var(--chops-table-header-bg);
+    cursor: pointer;
+}
+
+div.gridtile td.id {
+    width: 5em;
+    text-align: left;
+}
+
+div.gridtile {
+    border: 2px solid #f1f1f1;
+    border-radius: 6px;
+    padding: 1px;
+    background: var(--chops-white);
+}
+
+tr.grid td {
+    border-right: var(--chops-table-divider);
+}
+
+.results .grid th {
+    border-top: 1px solid var(--chops-white);
+}
+
+tr.grid .idcount {
+    text-align: left;
+}
+
+.results th a.dotdotdot {
+    text-decoration: none;
+    margin-right: 0;
+    padding-right: 0;
+}
+
+tr.grid .idcount a, .results .id a {
+    color: var(--chops-link-color);
+}
+
+tr.grid .idcount a {
+    margin-right: 0.6em;
+}
+
+div.gridtile {
+    width: 10em;
+    float: left;
+    margin: 2px;
+}
+
+div.gridtile table, div.projecttile table {
+    width: 100%;
+    table-layout: fixed;
+}
+
+div.gridtile td, div.projecttile td {
+    border: 0;
+    padding: 2px;
+    overflow: hidden;
+}
+
+div.gridtile td div {
+    height: 5.5ex;
+    font-size: 90%;
+    line-height: 100%;
+}
+
+div.gridtile td.status {
+    font-size: 90%;
+    text-align: right;
+    width: 70%;
+}
+
+div.projecttile {
+    width: 14em;
+    height: 90px;
+    margin: 0 1em 2em 1em;
+    float: left;
+    padding: 1px;
+    border: 2px solid #c3d9ff;
+    border-radius: 6px;
+  }
+
+div.projecttile:hover {
+    background: #f1f1f1;
+}
+
+
+.hide_col_0 .col_0, .hide_col_1 .col_1, .hide_col_2 .col_2, .hide_col_3 .col_3,
+.hide_col_4 .col_4, .hide_col_5 .col_5, .hide_col_6 .col_6,
+.hide_col_7 .col_7, .hide_col_8 .col_8, .hide_col_9 .col_9,
+.hide_col_10 .col_10, .hide_col_11 .col_11, .hide_col_12 .col_12,
+.hide_col_13 .col_13, .hide_col_14 .col_14, .hide_col_15 .col_15,
+.hide_col_16 .col_16, .hide_col_17 .col_17, .hide_col_18 .col_18,
+.hide_col_19 .col_19, .hide_col_20 .col_20 { display: none; }
+
+.hide_col_0 .popup span.col_0, .hide_col_1 .popup span.col_1,
+.hide_col_2 .popup span.col_2, .hide_col_3 .popup span.col_3,
+.hide_col_4 .popup span.col_4, .hide_col_4 .popup span.col_4,
+.hide_col_5 .popup span.col_5, .hide_col_6 .popup span.col_6,
+.hide_col_7 .popup span.col_7, .hide_col_8 .popup span.col_8,
+.hide_col_9 .popup span.col_9, .hide_col_10 .popup span.col_10,
+.hide_col_11 .popup span.col_11, .hide_col_12 .popup span.col_12,
+.hide_col_13 .popup span.col_13, .hide_col_14 .popup span.col_14,
+.hide_col_14 .popup span.col_14, .hide_col_15 .popup span.col_15,
+.hide_col_16 .popup span.col_16, .hide_col_17 .popup span.col_17,
+.hide_col_18 .popup span.col_18, .hide_col_19 .popup span.col_19,
+.hide_col_20 .popup span.col_20 { display: inline; color: var(--chops-white); }
+
+.hide_col_0 .popup tr:hover span.col_0,
+.hide_col_1 .popup tr:hover span.col_1,
+.hide_col_2 .popup tr:hover span.col_2,
+.hide_col_3 .popup tr:hover span.col_3,
+.hide_col_4 .popup tr:hover span.col_4,
+.hide_col_5 .popup tr:hover span.col_5,
+.hide_col_6 .popup tr:hover span.col_6,
+.hide_col_7 .popup tr:hover span.col_7,
+.hide_col_8 .popup tr:hover span.col_8,
+.hide_col_9 .popup tr:hover span.col_9,
+.hide_col_10 .popup tr:hover span.col_10,
+.hide_col_11 .popup tr:hover span.col_11,
+.hide_col_12 .popup tr:hover span.col_12,
+.hide_col_13 .popup tr:hover span.col_13,
+.hide_col_14 .popup tr:hover span.col_14,
+.hide_col_15 .popup tr:hover span.col_15,
+.hide_col_16 .popup tr:hover span.col_16,
+.hide_col_17 .popup tr:hover span.col_17,
+.hide_col_18 .popup tr:hover span.col_18,
+.hide_col_19 .popup tr:hover span.col_19,
+.hide_col_20 .popup tr:hover span.col_20 { color: var(--chops-white); }
+
+
+.table_title {
+   font-weight: bold;
+}
+
+.contentarea {
+  position: relative;
+  margin-bottom: 1em;
+}
+
+#resultstable td {
+    padding-right: 1em;
+}
+
+.labels a:link { color: #080; }
+.labels a:visited { color: #080; }
+.labels a:active { color: #f00; }
+.name { margin-top: 2ex; font-size: 120%; }
+
+.results tr td a.directlink { visibility: hidden; }
+.results tr:hover td a.directlink {
+  visibility: visible;
+  color: grey;
+}
+
+.results .id { text-align: right; }
+#resultstable .id { text-align: right; }
+#projecttable .id { text-align: left; }
+#starredtable .id { text-align: left; }
+#archivedtable .id { text-align: left; }
+#usergrouptable .id { text-align: left; }