*{box-sizing:border-box;}
body{margin:0;background:silver}
h1{color:#fff;font-size:25px;margin:0;padding:0}
td a{color:grey;float:right;margin:0 5px}
.material-icons{font-size:15px}
table{border-collapse:collapse;background:#fff}
table,tr{width:100%}
th,td{position:relative;white-space:nowrap}
th,td{padding:8px;text-align:left;border:1px solid #ccc;}
td{padding:0}
th input{border:1px solid #ccc;float:left;width:100%;padding:5px;margin-top:5px;font-size:12px}
.filter{display:inline-block;margin:0 10px}
th{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.col-title{width:100%}
th{vertical-align:top;background:#eee;font-weight:normal;background-clip:padding-box;}
input{width:100%;padding:2px;font-family:initial;font-size:16px;outline:none;border:none}
button{background:#fff;border:1px solid #ccc;margin-left:35px;padding:15px 88px;color:#000;font-family:serif}
button:hover{background:#eee}
header{float:left;background:cornflowerblue;padding-top:4px;width:100%}
nav ul{list-style:none;padding:0;margin:0;float:left;width:100%;display:flex;}
nav li{float:left;flex:auto;text-align:center;margin-right:4px}
nav li:last-of-type{margin-right:0}
nav li:last-of-type a{border-top-right-radius:0}
nav a{color:#fff;background:#888;padding:6px 0;display:block;text-decoration:none;border-top-left-radius:8px;border-top-right-radius:8px;font-size:18px}
nav a:hover{background:#999}
nav a:not([href]){color:#aaa;visibility:hidden}
nav a:not([href]):hover{background:#888}
.current,.current:hover{background:#fff;color:cornflowerblue;}
#login{background:#fff;text-align:center;position:absolute;top:0;bottom:0;right:0;left:0;margin-top:38px}
form{margin:50px auto;width:250px;}
form input{border:1px solid #aaa;width:100%;padding:15px;margin-bottom:10px}
form button{margin:0 0 10px 0;width:100%}
.filter-icon{position:absolute;top:10px;right:10px}
.filter-icon,.group-icon,.notes-icon,.delete-icon,.edit-icon{height:13px;}
.filter-icon:hover,.group-icon:hover,.notes-icon:hover,.delete-icon:hover,.edit-icon:hover{height:25px;margin-top:-5px;margin-right:-5px;margin-left:-5px}
th a{cursor:pointer;float:right;}
td a:first-of-type{margin-right:0}
.btn-group,.edit-btn-group{position:absolute;right:10px;top:0px;background:#fff}
.btn-group{display:none}
tr:hover .btn-group{display:block}
.tel a{float:left;margin:0;display:block}
.display{display:block}
select{width:100%;-webkit-appearance:none;appearance:none;border:1px solid #ccc}
.grip{top:0;right:-3px;bottom:0;width:3px;position:absolute;cursor:col-resize;z-index:9999}
.grip:hover{z-index:9999;border:2px solid grey;}
#rmenu{position:absolute;display:none;background:#eee;border:1px solid #aaa;}
#rmenu ul{list-style:none;padding:0;margin:0}
#rmenu a{padding:5px;display:block}
#rmenu a:hover{background:#ccc;cursor:default}
tr:last-of-type{border-top:2px solid #ccc}
td a:not([href]){cursor:pointer;}
.totals td{text-align:right;border:none}
.edit,.delete{background:silver}
.strikethrough{text-decoration:line-through}
.edit-row td,tr:last-of-type td{padding:0}
.edit-row input,.edit-row select{color:#444}
.overlay{width:0;height:0;position:absolute;z-index:9999;background:rgba(255,255,255,.6)}
.overlay.visible{width:100%;height:100%}
@keyframes blink{0%{opacity:1;}50%{opacity:0;}100%{opacity:1;}}
.edit-icon{display:none;}
.edit-icon-active{display:block;animation:blink 0.75s;animation-iteration-count: infinite;}