html
{
	height: 100%;
	box-sizing: border-box;	
}
@media (min-width: 1500px) {
	body
	{
		zoom:1.3;
		
	}
}
*,
*:before,
*:after {
  box-sizing: inherit;
}

iframe.datastudio
{
	width:100%;
	height:1800px;
	
}


html,body
{
	font-family:verdana;
	margin:0px;
	padding:0px;
}
body
{
	background-color:rgb(230,230,230);
	
}
body.login
{
	background-image:url("../images/smoke.png");
	    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center; 
	
}
body.login input
{
	margin:5px;
	
}
a,a:visited,a:active
{
	color:rgb(0,0,0);
	text-decoration:none;
}
div#contacts
{
	
}
div#contacts .contact
{
	background-color:rgb(144, 188, 205);
	float:left;
	padding:10px;
	margin:10px;
	width:350px;
}
div#contacts div.contactField span
{
	vertical-align:super;
}
div#contacts div.contactField i
{
	margin-right:10px;
}
div#contacts div.contactField.edit
{
	text-align:right;
}
div.login
{
	/*
	position: absolute;
	top: 50%;
	left:50%;
	height: 150px;
	height: 70px;
	margin-top: -100px;
	width:300px;
	width:200px;
	margin-left: -150px;
	text-align:center;
	padding:10px;
	
	background-color:rgba(104,148,165,0.9);
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
	margin-left:auto;
	margin-right:auto;
	color:white;
*/
        width: 120px;
        height: 36px;
        background-color: blue;

        position:absolute; /*it can be fixed too*/
        left:0; right:0;
        top:0; bottom:0;
        margin:auto;

        /*this to solve "the content will not be cut when the window is smaller than the content": */
        max-width:100%;
        max-height:100%;
        overflow:auto;

}
header
{
	background-color:rgb(255,255,255);
	text-align:center;
	padding:10px;
		max-width:1000px;
	margin-left:auto;
	margin-right:auto;		
}
footer
{
	border-top:12px solid lightgrey;
	/*background-color:rgb(200,200,200);*/
	text-align:center;
	padding:15px;	
	font-size:10px;
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;	
/*	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	*/
}
nav
{
	text-align:center;
	margin:0px;
	padding:5px;
	background-color:rgb(104,148,165);
	text-align:center;
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;	
	
	
}
nav table
{
	margin-left:auto;
	margin-right:auto;
	border-spacing: 10px 0px;
    border-collapse: separate;	
	
}
nav table tr td
{
	padding: 5px;
	/*min-width:80px;*/
	width:70px;
	padding-left:10px;
	padding-right:10px;
	background-color:rgb(144,188,205);
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
	/*margin-left:15px;*/
	
}
nav table tr td.active
{
	background-color:rgb(184,228,245);
	
}
nav table tr td:hover
{
	background-color:rgb(164,208,225);
}
section.content
{
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
	background-color:rgb(255,255,255);
	padding:20px;
	min-height: 100%;
	
}
h1
{	
	margin:0px;
	margin-bottom:10px;
	padding:0px;
	font-size:20px;
}
h2
{	
	margin:0px;
	margin-bottom:10px;
	padding:0px;
	font-size:14px;
}
table#clients tr td
{
	border-bottom: 1px solid grey;
	min-width:50px;
}
table#projects tr td
{
	border-bottom: 1px solid grey;
	min-width:50px;
}
img.logo
{
	width:180px;
	margin:10px;
	
}
div.list
{
	margin-top:20px;
}
div.add
{
	margin-top:40px;
	background-color:white;
	padding:5px;
}
div.message
{
	text-align:center;
	margin:3px;
}
div.systemtitle
{
	float:left;
}
div.userSwitch
{
	float:right;
	text-align:right;
}
div.calendar
{
	
	/*display: inline-block;*/
	float:left;
	min-width:300px;
	box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
	margin-bottom:20px;
}
div.timetable
{

	float:left;
	margin:0px;
	padding:0px;
	padding:0px;
	
	background-color:rgb(240,240,240);
	min-width:372px;
	box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
	
}
@media (min-width: 840px) {
	div.timetable
	{
		margin-left:20px;
		
	}
}
@media (min-width: 840px) {
	div.timetable
	{
		max-width:500px;
		
	}
}

div.clear
{
	clear:both;
	
}
div.linkblock
{
	float:left;
	height:30px;
	margin:5px;
	line-height: 30px;
	width:110px;
	font-size:14px;
	text-align:center;
	vertical-align: middle;
	background-color:rgb(184,228,245);
	box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
}
table.linkblocktable
{
	float:left;
	margin:5px;
	height:32px;
	width:110px;
	box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
	border-spacing:0px;
	padding:0px;
}
table.linkblocktable td.linkblocktableicon
{
	width:32px;
	height:32px;
	padding:0px;
	text-align:center;

}
table.linkblocktable td.linkblocktableicon img
{
	margin-left:auto;
	margin-right:auto;
	width:20px;
	height:20px;

}
table.linkblocktable td.linkblocktabletext
{
	width:auto;
	height:32px;
	padding:0px;
	line-height: 32px;
	vertical-align: middle;
	text-align:center;
	font-size:14px;
	background-color:rgb(184,228,245);
}
.linkblock:hover,.linkblocktable .linkblocktabletext:hover
{
	background-color:rgb(164,208,225);
}
a.logout
{
	font-size:10px;
	color:grey;
}
a.logout:hover
{
	color:black;
}
table#calendar
{
	font-size:10px;
}
table#calendar td
{
	width:45px;
	;
	text-align:center;
}
table#calendar td#week
{
	background-color:lightgrey;
}
table#calendar td#day
{
	background-color:lightblue;
	cursor: pointer;
}
table#calendar td#day.current
{
	/*border-left:2px solid black;
	border-right:2px solid black;*/
	box-shadow: 0 0 14px #000000;
	z-index: 2000;
	background-color:white !important;
}
table#calendar tr#head
{
	background-color:lightgrey;
}
table#calendar tr
{
	height:25px;
}
a#monthswitch
{
	background-color:lightgreen;
	font-size:12px;
	min-width:300px;
	padding:2px;
	margin:2px;
}

table#timereport tr td
{
	border-bottom: 1px solid grey;
	min-width:30px;
	font-size:12px;
}
span#hours
{
	font-weight:bold;
}
td#removeEntry
{
	background-color:white;
	outline:1px solid grey;
	cursor:pointer;
	
}
td#removeEntry:hover
{
	background-color:lightgrey;
	outline:1px solid grey;
}
td[workhours='0']
{
	border-bottom:4px solid darkred;
	color:darkred;
}
td[unreportedhours='8']
{
	background-color:rgb(250,200,200) !important;
}
td[realtoday='yes']
{
	background-color:rgb(250,250,200) !important;
}
table.monthTotals i
{
	font-size:16px;
	
}
table.monthTotals
{

	max-width:300px;
	font-size:10px;

}
table.monthTotals td
{

	vertical-align:bottom;

}

div.monthTotals
{
	
	max-width:300px;
}

td#joinleaveproject
{
	cursor:pointer;
	text-align:center;
}
div.quickTimeReportButtons
{
	
}
div.quickTimeReportButton
{
	cursor:pointer;
	text-align:center;
	display:inline;
	padding:2px;
	margin:2px;
}
/*
td#joinleaveproject
{
	background-color:white;
	outline:1px solid grey;
	cursor:pointer;
	text-align:center;
}
td#joinleaveproject[member='1']
{
	background-color:black;
	color:white;
}
td#joinleaveproject:hover
{
	background-color:lightgrey;
	outline:1px solid grey;
}*/

div#frontpage_timereport_summary table
{
	/*border-spacing:0px;*/
	width:100%;
	
}
div#frontpage_timereport_summary 
{
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;	
	margin-bottom:20px;
}
div#frontpage_timereport_summary table td
{
	/*border:1px solid lightgrey;*/
	margin:2px;
	padding:0px;
	text-align:center;
}
div#frontpage_timereport_summary table:first-child
{
	font-size:10px;
}
div#frontpage_timereport_summary .weekend
{
	background-color:black;/*rgb(255,160,160);/*#6894A5;*/
}
div#frontpage_timereport_summary .today
{
	/*background-color:lightblue !important;*/
	border:1px solid black;
	border-radius:6px;
}
div#frontpage_timereport_summary .color_yellow
{
	color:green;
}
div#frontpage_timereport_summary .user_ylva
{
	background-color:rgba(180,220,120,0.5);	/*display:inline;*/
	background-color:rgba(144,188,205,0.8);
	/*padding-top:14px;*/
	border-radius:6px;
	height:24px;
	
}
div#frontpage_timereport_summary .user_ola
{
	background-color:rgba(160,160,220,0.5);
	background-color:rgba(184,228,245,0.8);
	border-radius:6px;
	height:24px;
}

span#hours_projectcolor i
{
	font-size:16px;
	
}
div.icalpost
{
	font-size:12px;
}
div#ical
{
	padding-bottom:10px;
	
}

table#projectpage_table
{
	font-size:12px;
	border-spacing: 0px 0px;
    border-collapse: separate;	
}
table#projectpage_table td
{
	border:1px solid lightgrey;
}
table#projectpage_table tr:first-child,table#projectpage_table tr:last-child
{
	background-color:#6894a5;
	color:white;
}

table#invoicingTable {
	border-collapse: collapse;
	margin-top: 20px;
	width: 100%;
}
table#invoicingTable th, table#invoicingTable td {
        border: 1px solid #ccc;
        padding: 5px;
        text-align: left;
}
table#invoicingTable th {
        background-color: #f2f2f2;
}

/* Work hours planner */
.workhours-layout {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
}
.workhours-card {
        background: #f8f8f8;
        border: 1px solid #e0e0e0;
        border-radius: 10px;
        padding: 20px;
        box-shadow: 1px 1px 4px rgba(0,0,0,0.08);
        flex: 1 1 420px;
}
.workhours-intro {
        color: #4d6471;
        line-height: 1.4;
}
.workhours-form .form-row {
        margin-bottom: 15px;
        display: flex;
        flex-direction: column;
        gap: 6px;
}
.workhours-form label {
        font-weight: bold;
        color: #2c3a40;
}
.workhours-form input[type="date"],
.workhours-form input[type="text"] {
        padding: 8px 10px;
        border-radius: 6px;
        border: 1px solid #c9d5dc;
        font-size: 14px;
}
.workhours-radio label {
        margin-right: 15px;
        font-weight: normal;
}
.workhours-help {
        margin: 0;
        color: #6b7c86;
        font-size: 12px;
}
.workhours-form .actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
}
.workhours-form button {
        background-color: #6894a5;
        color: white;
        padding: 10px 18px;
        border: none;
        border-radius: 6px;
        font-size: 14px;
        cursor: pointer;
        box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
}
.workhours-form button:hover {
        background-color: #5b8393;
}
.workhours-note {
        color: #6b7c86;
        font-size: 12px;
}
.workhours-muted {
        color: #7b8a93;
        margin: 0;
}
.workhours-table-wrapper {
        max-height: 460px;
        overflow: auto;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
}
.workhours-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 13px;
}
.workhours-table th,
.workhours-table td {
        padding: 8px 10px;
        border-bottom: 1px solid #e6e6e6;
        text-align: left;
}
.workhours-table th {
        background-color: #eef3f6;
        position: sticky;
        top: 0;
        z-index: 1;
}
.workhours-table tr.weekend {
        background-color: #f6fafb;
}
.workhours-table tr.changed {
        border-left: 4px solid #6894a5;
}
.workhours-table .pill {
        display: inline-block;
        padding: 2px 8px;
        border-radius: 12px;
        background: #d7e6ed;
        color: #2f4b58;
        font-size: 11px;
        margin-left: 6px;
}
.workhours-table .pill.subtle {
        background: #f0f3f5;
        color: #5a6d78;
}
.workhours-summary {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-bottom: 10px;
        color: #41535d;
        font-weight: bold;
}
.workhours-summary span {
        background: #eef3f6;
        padding: 6px 10px;
        border-radius: 10px;
}
.workhours-admin-link {
        text-align: right;
        font-size: 12px;
        margin-top: 6px;
}
.workhours-admin-link a {
        color: #5b6c75;
        opacity: 0.7;
}
.workhours-admin-link a:hover {
        opacity: 1;
}