Project import generated by Copybara.
GitOrigin-RevId: 63746295f1a5ab5a619056791995793d65529e62
diff --git a/src/css/schedule.css b/src/css/schedule.css
new file mode 100644
index 0000000..d655252
--- /dev/null
+++ b/src/css/schedule.css
@@ -0,0 +1,130 @@
+.schedule {
+ display: inline-flex;
+ flex: none;
+ border: 1px solid rgba(0,0,0,.12);
+
+ --hour-height: 30px;
+}
+
+.schedule .sidetime {
+ padding-top: 36px;
+ width: 40px;
+}
+
+.schedule .sidetime .hour {
+ position: relative;
+ height: var(--hour-height);
+}
+
+.schedule .sidetime .hour .hour--text {
+ position: absolute;
+ top: -9px;
+ right: 7px;
+ font-size: 11px;
+}
+
+.schedule .day {
+ flex: 1 0 auto;
+ width: 100px;
+ min-width: 100px;
+}
+
+.schedule .day .day--header {
+ text-align: center;
+ box-sizing: content-box;
+ height: 20px;
+ font-size: 18px;
+ font-weight: 300;
+ padding: 8px 0;
+ border-bottom: solid 1px #ccc;
+}
+
+.schedule .day .day--content {
+ position: relative;
+}
+
+.schedule .day .day--content .hour {
+ height: Calc(var(--hour-height) - 1px);
+}
+
+.schedule .day .day--content .hour:not(:last-child) {
+ border-bottom: solid 1px #ddd;
+}
+
+.schedule .day .day--content .hour:last-child, .schedule .sidetime .hour:last-child {
+ height: 13px;
+}
+
+.schedule .day .day--content .work-event, .schedule .day .day--content .inline-event {
+ position: absolute;
+ border-radius: 3px;
+ overflow-y: auto;
+}
+
+.schedule .day .day--content .event--actions {
+ position: absolute;
+ top: 4px;
+ right: 4px;
+ line-height: 14px;
+ background: #00000077;
+ border-radius: 5px;
+ z-index: 2;
+}
+
+.schedule .day .day--content .event--actions .material-icons {
+ color: white;
+ font-size: 20px;
+}
+
+.schedule .day .day--content .event--header, .schedule .day .day--content .event--body {
+ text-align: left;
+ font-size: 11px;
+}
+
+.schedule .day .day--content .work-event {
+ left: 4px;
+ width: 92px;
+ background: #2E7D32;
+}
+
+.schedule .day .day--content .work-event .event--header, .schedule .day .day--content .work-event .event--body {
+ line-height: 14px;
+ color: white;
+}
+
+.schedule .day .day--content .work-event .event--header {
+ margin: 5px 5px 0 5px;
+ font-weight: bold;
+}
+
+.schedule .day .day--content .work-event .event--body {
+ margin: 0 5px;
+}
+
+.schedule .day .day--content .inline-event {
+ left: 3px;
+ width: 86px;
+ background: #81C784;
+}
+
+.schedule .day .day--content .inline-event .event--header {
+ font-weight: 500;
+}
+
+.schedule .day .day--content .inline-event .event--header, .schedule .day .day--content .inline-event .event--body {
+ line-height: 14px;
+ margin: 0 5px;
+ color: black;
+}
+
+@media (hover: hover) {
+ .schedule .day .day--content .event--actions {
+ opacity: 0;
+ transition: opacity 0.15s ease-in;
+ background: #00000099;
+ }
+
+ .schedule .day .day--content .work-event:hover .event--actions {
+ opacity: 1;
+ }
+}