
/* ===========================================
Study Timetable Calculator - Tool Specific Styles
=========================================== */

/* Tool Layout */
.sttc-box {
 max-width: 900px;
 margin: 0 auto;
}

/* Controls Layout */
.sttc-controls {
 display: flex;
 gap: 30px;
 flex-wrap: wrap;
 align-items: stretch;
}

.sttc-section {
 flex: 1 1 45%;
 padding: 25px;
 border-radius: 12px;
}

/* Specific Section Styling */
.time-goals {
 background: #f0f9ff; /* Light Blue */
 border: 1px solid #bae6fd;
}

.session-config {
 background: #f3f4f6; /* Light Gray/White */
 border: 1px solid #d1d5db;
}

.sttc-section-title {
 font-size: 1.1rem;
 font-weight: 700;
 color: #075985; /* Dark Blue Title */
 margin-bottom: 20px;
 padding-bottom: 8px;
 border-bottom: 2px solid #a5f3fc;
}
.session-config .sttc-section-title {
 color: #374151; /* Dark Gray Title */
 border-bottom-color: #e5e7eb;
}

/* Inputs */
.sttc-input-group {
 margin-bottom: 15px;
 display: flex;
 flex-direction: column;
}

.sttc-label {
 font-size: 0.95rem;
 font-weight: 600;
 color: #1f2937;
 margin-bottom: 6px;
}

.sttc-input, .sttc-select {
 padding: 10px;
 border: 1px solid #93c5fd;
 border-radius: 6px;
 font-size: 1.1rem;
 color: #1f2937;
 width: 100%;
 background-color: white;
}
.sttc-help-text {
 font-size: 0.8rem;
 color: #4b5563;
 margin-top: 5px;
}

/* Calculate Button */
.sttc-btn-calc {
 width: 100%;
 padding: 15px 20px;
 font-size: 1.2rem;
 font-weight: 700;
 border: none;
 border-radius: 8px;
 cursor: pointer;
 background: #3b82f6; /* Primary Blue Button */
 color: white;
 transition: background 0.2s;
 margin-top: 20px;
}
.sttc-btn-calc:hover {
 background: #2563eb;
}

/* --- Results Section --- */

.sttc-results-section {
 margin-top: 30px;
}

.sttc-result-box {
 background: #ffffff;
 padding: 30px;
 border-radius: 10px;
 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
 border: 2px solid #3b82f6;
    text-align: center;
}

.sttc-card-title {
 font-size: 1.1rem;
 text-transform: uppercase;
 color: #1e40af;
 margin-bottom: 20px;
 font-weight: 700;
}

/* Summary Grid */
.sttc-summary-grid {
    display: flex;
    justify-content: space-around;
    gap: 15px;
    flex-wrap: wrap;
}

.sttc-grid-item {
    flex: 1 1 30%;
    padding: 15px 10px;
    border-radius: 8px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
}
.sttc-grid-item.total-time {
    background: #dbeafe; /* Highlight for total time */
    flex: 1 1 100%; /* Take full width */
    margin-top: 10px;
}


.sttc-breakdown-number {
 font-size: 2.2rem;
 font-weight: 800;
 color: #3b82f6;
 line-height: 1.2;
}

.sttc-grid-item.total-time .sttc-breakdown-number {
    font-size: 3rem;
    color: #1e40af;
}

.sttc-breakdown-unit {
 font-size: 0.9rem;
 color: #4b5563;
 text-transform: uppercase;
 margin-bottom: 5px;
}
.sttc-note {
    margin-top: 20px;
    font-style: italic;
    color: #6b7280;
    font-size: 0.9rem;
}

/* --- Detailed Timetable --- */
.sttc-timetable-detail {
    margin-top: 30px;
}

.sttc-timetable-detail h3 {
    text-align: center;
    color: #1e40af;
    margin-bottom: 15px;
}

#timetableTable {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
}

#timetableTable th, #timetableTable td {
    padding: 12px;
    text-align: center;
    border: 1px solid #e5e7eb;
}

#timetableTable th {
    background-color: #bfdbfe;
    color: #1e40af;
    font-weight: 700;
}

.study-row {
    background-color: #eff6ff;
}

.short-break-row {
    background-color: #f9fafb;
    color: #4b5563;
}

.long-break-row {
    background-color: #fef3c7; /* Light Yellow for Long Break */
    font-weight: 700;
    color: #92400e;
}


/* Responsive Styling */
@media (max-width: 768px) {
 .sttc-controls {
  flex-direction: column;
  gap: 15px;
 }
 .sttc-section {
  flex-basis: 100%;
 }
 .sttc-summary-grid {
  flex-direction: column;
 }
    .sttc-grid-item {
        flex-basis: 100%;
    }
}