/* --- Reset --- */
* {
   box-sizing: border-box;
   padding: 0px;
   margin: 0px;
}

html,
body {
   height: 100%;
   width: 100%;
}

body {
   font-family: "Inter", sans-serif;
   font-weight: 300;
   background-color: #ebebee;
   color: black;
}

::-webkit-input-placeholder,
:-moz-placeholder,
::-moz-placeholder,
:-ms-input-placeholder {
   color: #999;
   font-family: "Inter", sans-serif;
   font-weight: 300;
}

p {
   font-size: 18px;
}

a,
input,
textarea,
select,
button {
   transition: background-color 0.8s ease;
   -webkit-appearance: none;
   appearance: none;
   font-family: "Inter", sans-serif;
}

.inner {
   max-width: 1400px;
   width: 100%;
   display: block;
   margin: 0 auto;
}

/* --- Main styles --- */


.login {
   background-color: white;
   padding: 50px;
   max-width: 800px;
   box-shadow: 0 2px 4px 0 rgb(0 0 0 / 8%);
   border-radius: 30px;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

.login form {
   display: flex;
   flex-direction: column;
   gap: 20px;
   margin-top: 30px;
}

.login form label {
   margin-bottom: -10px;
}

.login form input {
   padding: 20px;
   font-size: 18px;
   border: solid 1px #ccc;
   border-radius: 10px;
}

.login form button {
   padding: 20px;
   font-size: 20px;
   font-weight: bold;
   background-color: #0099cc;
   color: white;
   border: none;
   cursor: pointer;
   border-radius: 50px;
}

.login form button:hover {
   background-color: #006699;
}


.login {
   display: none;
}

.emails {
   display: flex;
   flex: 1;
   margin: 0 auto;
   background-color: #fff;
   flex-direction: column;
   min-height: 100vh;
}

.emails .ui {
   display: flex;
   flex: 1;
}

/* Navigation (Top Bar) */
nav {
   background-color: #0099cc;
   color: white;
   padding: 10px 20px;
   font-size: 24px;
   font-weight: bold;
   text-align: left;
   width: 100%;
   flex: 0 0 auto;
   display: flex;
   justify-content: space-between;
   align-items: center;
}

nav .name {
   font-size: 14px;
   font-weight: 300;
}

nav .logo span {
   font-size: 12px;
}

/* Sidebar styles */
.sidebar {
   width: 100%;
   max-width: 500px;
   background-color: #f0f0f0;
   padding: 10px;
   box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1);
   overflow-y: auto;
}

/* Sidebar email list */
.sidebar ul {
   list-style-type: none;
   padding: 0;
   margin: 0;
}

.email-preview {
   display: flex;
   justify-content: space-between;
   align-items: center;
   font-size: 14px;
   padding: 10px;
   border-bottom: 1px solid #ddd;
   cursor: pointer;
}

.email-preview:hover {
   background-color: #e0e0e0;
}

.email-preview .from {
   font-weight: bold;
   color: #333;
}

.email-preview .subject {
   color: #666;
   flex-grow: 1;
   margin-left: 10px;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.email-preview .time {
   color: #999;
   font-size: 12px;
}

/* Main email content */
.email {
   flex-grow: 1;
   background-color: #fff;
   box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.header {
   display: flex;
   align-items: center;
   margin-bottom: 20px;
   font-size: 16px;
   color: #333;
   background-color: #ddeeff;
   padding: 20px;
   display: flex;
   align-items: flex-start;
   gap: 20px;
}

.header .infos {
   display: flex;
   flex-direction: column;
   gap: 10px;
}

.header .photo img {
   width: 80px;
   height: 80px;
   border-radius: 50%;
}

.header .subject {
   font-size: 20px;
   font-weight: bold;
}

.header .date {
   font-size: 12px;
}

.email-body {
   font-size: 16px;
   line-height: 1.6;
   color: #444;
   padding: 20px;
}

.email-body p {
   margin: 15px 0;
}

.unopened {
   padding: 20px;
   font-size: 18px;
   color: #ccc;
}



/* --- Dark mode --- 
@media (prefers-color-scheme: dark) {
	body {
		background-color: #2b2b2b;
		color: #ccc !important;
	}
}

*/

/* Small desktop sizing issues --- */
@media only screen and (max-width: 1410px) {
   .inner {
      width: 85%;
   }
}

/* --- Mobile styles --- */
@media only screen and (max-width: 800px) {
   .inner {
      width: 100%;
      padding: 20px;
   }
}