* {
    box-sizing: border-box;
}
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #E7EEF8;
}

a {
    color: #333;
    text-decoration: none;
    margin-right: 10px;
    color:#007bff;
}

 a:hover {
    text-decoration: underline;
}
a:active {
    text-decoration: underline;
    color:#007bff;
}

h1 {margin-bottom:30px; }
h1 img{margin-left:0px; margin-right:10px; }
h1 p{margin-left:110px; margin-top:-70px;font-size:1em;}
h1 p.site-info{ margin-left:110px!important; margin-top:-30px!important; font-weight: normal!important; font-size:0.5em!important; color:#333}



.siteinfo{color:#666; font-size: 1em;   margin:-20px 0 30px 0; }
.container {
    display: flex;
    flex-direction: row;
    /* height: 100vh; */
}

.sidebar {
    flex: 2.5;
    background-color: #E7EEF8;
    padding: 20px;
   
    display: block;
    flex-direction: column;
     height: 100vh;
     overflow-y: auto;
}

.grid-container {
    flex: 7.5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    overflow-y: auto;
    border-left: 1px solid #ccc;
    padding:100px 20px; 
}

.grid {
    margin: 20px 0px;
   
    /* display: grid; */
    grid-template-columns: repeat(auto-fill, minmax(103px, 1fr)); /* Adjust to fit cells */
    /* gap: 8px;  Consistent spacing between cells */
    justify-content: center; /* Center the grid horizontally */
    align-content: center; /* Center the grid vertically */
    width:100%;
}
.centered-content{  
    
     display: grid; 
     grid-template-columns: repeat(auto-fill, minmax(103px, 1fr)); /* Adjust to fit cells */
      gap: 8px; 
     justify-content: center; /* Center the grid horizontally */
     align-content: center; /* Center the grid vertically */
     }

.cell {
    width: 110px;
    height: 110px;
    padding: 5px;
    background-color: gray;
    cursor: pointer;
    transition: background-color 0.3s;
    font-size: 0.5em;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;

    border: 1px solid #ccc; /* Border for each cell */
    border-radius: 5px; /* Rounded corners */
    background-color: #f9f9f9; /* Background color */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Subtle shadow */
    float: left;
    margin:5px 5px 0px 5px ; 
    /* margin-bottom:0px;  */

}
sup{font-size:8px;}
.cell .emoji {font-size:3em; display: block; width: 100%;}

.cell-number{color:#999;}
.cell:hover {
    background-color: #68e0f8;
}

.cell.checked {
    background-color: #9df0ff; /* 打卡后格子的颜色 */
    align-items: flex-start;
    display: table;
    color:#333;
    text-align: center;
}
.cell.checked span{margin:0 2px;}
.cell.checked .cell-number{padding-bottom:5px;display: block; }
.nav{border-bottom: 1px solid #D6E3E8;padding-bottom:5px;  }
.nav a {
    color: #333;
    text-decoration: none;
    margin-right: 10px;
    color:#007bff;
}

.nav a:hover {
    text-decoration: underline;
}
.nav a:active {
    text-decoration: underline;
    color:#007bff;
}


.notification {
    position: fixed;
    top: 20px;
    right:20px;
    background-color: #f44336; /* Red background */
    color: white;
    padding: 15px;
    border-radius: 5px;
    z-index: 1000; /* Ensure it appears above other elements */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: opacity 2.5s ease;
}
.notification2 {
    position: fixed;
    top: 20px;
    right:20px;
    background-color:rgb(12, 130, 12); /* Red background */
    color: white;
    padding: 15px;
    border-radius: 5px;
    z-index: 1000; /* Ensure it appears above other elements */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: opacity 2.5s ease;
}




        .emoji-button.selected {
    border: 2px solid #000; /* Add a border to indicate selection */
    background-color: #f0f0f0; /* Optional: change background color */
}

.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

.modal-content {
    background-color: #fefefe;
    margin: 15% auto; /* 15% from the top and centered */
    padding: 20px;
    border: 1px solid #888;
    width: 600px; 
    /* Could be more or less, depending on screen size */
}
.modal-content label{font-size:1em; color:#333; padding:8px 0;  display: block; }

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}
.emoji-button {
    font-size: 24px;
    margin: 5px;
    cursor: pointer;
    border: none;
    background: none;
}
.emoji-button.selected {
    border: 2px solid #666;
    border-radius: 10px;
}
.emoji-button2 {
    position: absolute;
    right:0;
    bottom:0; 
    background: #def6ff; border:none; border-radius: 3px; font-size:0.8em; color:#333;
    opacity: 0.6;
}

.emoji-button2:hover{background: #fff; color:#007bff;}

.emoji-button3 {
    position: absolute;
    right:2px;
    top:1px; 
    font-size:9px!important;
    padding:2px; 
    background:none; border:none; border-radius: 3px; font-size:0.8em; color:#333;
}

.emoji-button3:hover{background: #fff; color:#007bff;}


.menu-button {
    display: none; /* Hide menu button by default */
}

/* Responsive styles */
@media (max-width: 768px) {
    
    .container {
        display: flex;
        flex-direction: column;
    }

    .sidebar {
        display: block;
    }

    .grid-container {
        display: none; /* Hide grid-container by default */
         padding:100px 5px; 
    }

    .menu-button {
        display: none; /* Show menu button on mobile */
        position: fixed;
        top: 10px;
        left: 10px;
        text-align: center;
        border-radius: 5px;
        background: #effcff;
        color:#007bff;
        padding:0 20px 10px 20px;
        cursor: pointer;
        z-index: 1000;
        box-shadow: 0 4px 8px rgba(91, 178, 228, 0.2);
        border-left:4px solid #007bff;
        border: 1px solid #dce7f3;
        opacity: 0.9;
    }
    .menu-button p{font-weight: bold; margin:5px 0;  color: #333;    }

    .menu-button:hover {
        background-color: #c3eeff;
    }
    .grid {
        margin: 20px 0px;
        /* display: grid; */
        grid-template-columns: repeat(auto-fill, minmax(103px, 1fr)); /* Adjust to fit cells */
        /* gap: 8px;  Consistent spacing between cells */
        justify-content: center; /* Center the grid horizontally */
        align-content: center; /* Center the grid vertically */
        width:100%;
    }
    .centered-content{  
         display: grid; 
         grid-template-columns: repeat(auto-fill, minmax(103px, 1fr)); /* Adjust to fit cells */
          gap: 8px; 
         justify-content: center; /* Center the grid horizontally */
         align-content: center; /* Center the grid vertically */
         }
    

    .grid-info{ margin: 0!important; }
    
    .toggle-section {
        cursor: pointer;
        padding: 10px  10px  10px  10px;
        margin-bottom: 0px;
        border-bottom:1px solid #D8E3E7;
    }

    .toggle-content {
        display:block;
    }

    .toggle-content.active {
        display: none;
    }
    .toggle-content li{ cursor: pointer!important;color:#007bff; position: relative; }
    .toggle-content li a{color:#007bff; }
    

    #task-title-display{ font-size:2.5em!important;}
    #checkin-count-display{
  
    font-size:1.2em!important;  }
    #completion-rate-display{
  
    font-size:1.2em!important; }

    .toggle-content li button{padding:1px 3px; float: right; margin:0 2px;background:#eee; border:none; border-radius: 3px; font-size:0.8em; color:#007bff; opacity: 0.5;}
    .toggle-content li button:hover{background: #fff; color:#007bff;opacity: 1;}

    .modal-content {
       
        width: 100%; 
       
    }

}

.menuoptbtn{ z-index: 9999;  opacity: 0.8; height:14px;  }

.toggle-section {
    cursor: pointer;
    padding: 10px  10px  10px  10px;
    margin-bottom: 0px;
    border-bottom:1px solid #D8E3E7;
}


.toggle-content {
    display:block;
}

.toggle-content.active {
    display: none;
}
.toggle-content li{ cursor: pointer!important;}


/* Styles when a task is selected */
.grid-container.active {
    display: block; /* Show grid-container when active */
}

.sidebar.hidden {
    display: none; /* Hide sidebar when grid-container is active */
}




.task-list {
    margin-top: 20px;
}

.task-title-display {
    float:left;
   font-size:1em;
   display:inline;
   margin:0 5px;line-height: 1.5em; 
   color:#333;
}
.task-title-display a {
    color: #007bff;
    text-decoration: none;
}

.task-title-display a:hover {
    color: #007bff;
    text-decoration: underline;
}

.task-title-display a:focus {
    color: #007bff;
    box-shadow: 0 0 5px #007bff;
}

.task-title-display a:visited {
    color: #007bff;
}

.task-title-display.tit a{color:#333!important;}
.task-title-display.tit a:hover{ color: #007bff!important; text-decoration: none;}

#task-creator-display{color:#666;}
#task-title-display {
  
   font-size:3em;
   width: 100%;
   display:inline;
   
}
#checkin-count-display{
  
    font-size:1.5em;
    width: 100%;
   
    
 }
 #completion-rate-display{
  
    font-size:1.5em;
    width: 100%;
   
    
 }


 .grid-info{ margin: 0 100px; color:#666;  font-size: 0.8em; display:grid; text-align: center;  }

.selected-task {
    background-color: #fff; /* Light blue background */
    border-left: 4px solid #007bff!important; /* Blue border on the left */
    color:#007bff;
    
}

.toggle-content {list-style: none; padding:0 0; }
.toggle-content li em{background: #68e0f8; font-style: normal; padding:2px  5px; border-radius: 3px; font-size:0.8em;}

.toggle-content li{padding:10px 10px 10px 10px; position: relative;
   
    border-left: 4px solid #b0c1d9; /* Blue border on the left */
    border-bottom: 1px solid #dbe7eb;
  }
  .toggle-content a {
    color: #333; /* Default state */
    text-decoration: none;
  }
  .toggle-content a:hover {
    color: #555; /* Hover state */
    color:#007bff;
  }

  .toggle-content a:active {
    color: #999; /* Active state */
  }

.toggle-content li button{padding:1px 3px; float: right;background:#eee;  margin:0 2px; border:none; border-radius: 3px; font-size:0.8em; color:#007bff; opacity: 0.5;}
.toggle-content li button:hover{background: #fff; color:#007bff;opacity: 1;}

.add-task-form{ background: #d5e1ef; padding:10px 0; border-radius: 10px; margin:20px 0; opacity: 0.9;  }
#add-task-form button{  margin:3px 0px; padding:5px; background:#fff;  border:1px solid #d6d6d6; border-radius: 3px; font-size:0.8em; color:#007bff;}
#add-task-form button:hover{color: #fff; background:#007bff;}
#add-task-form input{padding:5px; }
#add-task-form strong{color:#333; font-weight: normal; }
.toggle-section{ font-size: 1.2em; font-weight: bold;}

.note-input-container textarea{width:100%}

.save-checkin-btn{
    display: block;
    margin-top: 10px;
    padding: 10px 20px;
    background-color: #007bff;
    border:1px solid #007bff;
    color: white;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
    font-size: 1em;
}

.save-checkin-btn:hover {
    background-color: #0056b3;
    border:1px solid #0056b3;
}
#emoji-selection button{font-size:2em; }

#add-task-form{margin:5px 20px; }
#task-duration{width:120px; margin:3px 0;}
#task-title{width:140px;margin:3px 0;}




/* /// taskDetail  beging*/

.taskDetail{margin:10px; }
.taskinfo{margin:10px; }
.taskinfo h1{border-bottom: 1px solid #d6e3e8!important;}
.taskview{margin:10px;}
.taskview h3{margin:20px 0 0px 0; background: #CCDAF7; padding:10px; }
.taskDetail h2{border-bottom: 1px solid #d6e3e8!important; padding-bottom: 5px;}
.taskDetail .grid{margin-top: 0;}

.taskDetail .cell:hover {
    background-color: #fff!important;
}
.taskDetail .num{color:#999}



.taskinfo button{
    border:1px solid #0056b3;
    background-color: #007bff;
    color: white;
    padding: 10px;
    border-radius: 5px;
    cursor: pointer;
    z-index: 1000;
}

.taskDetail .taskinfo button:hover {
    background-color: #0056b3;
}

.taskDetail .taskinfo p.joined{color:#666; padding:5px 10px; border:1px solid #ccc; background: #fff; width:120px; border-radius: 10px; }


.taskDetail .user-header {
    cursor: pointer;
    /* background-color: #f0f0f0; */
    
    border-radius: 5px;
    float:left; 
    width:100%;
}

.taskDetail .user-details {
    display: block;
    border-radius: 0 0 5px 5px;
    background: white;
    padding:20px;
    float:left; 
    width:100%;
   
}
.taskDetail .expanded .user-details {
    display: none;
}
.taskDetail .toggle-icon {
    float: right;
}

.taskDetail .cell.hidden {
    display: none;
}

.goright{margin-top:-30px; font-size:0.8em;  text-align: right; padding-right:20px; }.alert-message {
    text-align: center; /* 使文本居中 */
    margin: 20px 0; /* 添加上下边距 */
    padding: 10px; /* 添加内边距 */
    background-color: #f8d7da; /* 背景颜色（可选） */
    color: #721c24; /* 文本颜色（可选） */
    border: 1px solid #f5c6cb; /* 边框（可选） */
    border-radius: 5px; /* 圆角（可选） */
}