body { font-family: Arial, sans-serif; margin: 0; padding: 0; background-color: #f9f9f9; color: #333; }
        .container { max-width: 1000px; margin: 20px auto; background-color: #fff; padding: 25px; border-radius: 8px; box-shadow: 0 2px 15px rgba(0,0,0,0.1); }
        h1 { color: #0056b3; text-align: center; margin-bottom: 25px; }
        
        .hourly-plan-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; }
        .hourly-plan-table th, .hourly-plan-table td {
            border: 1px solid #ddd;
            padding: 10px;
            text-align: left;
            vertical-align: top;
        }
        .hourly-plan-table th { background-color: #f0f4f8; font-weight: bold; font-size: 0.9em; }
        .hourly-plan-table .time-column { width: 100px; font-weight: bold; text-align: center; }
        .hourly-plan-table textarea {
            width: 100%;
            min-height: 60px; /* Adjust as needed */
            padding: 6px;
            border: 1px solid #ccc;
            border-radius: 3px;
            box-sizing: border-box;
            font-size: 0.9em;
            font-family: 'Times New Roman', Times, serif;
            font-weight: bold;
            color: #000;
            resize: vertical;
        }
        .hourly-plan-table textarea[readonly] {
            background-color: #f0f0f0; /* Light grey for readonly fields */
            color: #555; /* Darker text for readability */
            cursor: not-allowed;
        }

        .form-group { margin-bottom: 20px; }
        .form-group label { display: block; font-weight: bold; margin-bottom: 8px; color: #4a5568; }
        .form-group textarea {
            width: 100%;
            min-height: 100px;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 4px;
            box-sizing: border-box;
            font-size: 1em;
            font-family: 'Times New Roman', Times, serif;
            font-weight: bold;
            color: #000;
            resize: vertical;
        }
        .form-group textarea[readonly] {
            background-color: #f0f0f0;
            color: #555;
            cursor: not-allowed;
        }


        .form-actions { text-align: center; margin-top: 30px; }
        button[type="submit"] {
            background-color: #28a745;
            color: white;
            padding: 12px 30px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s ease;
        }
        button[type="submit"]:hover { background-color: #218838; }
        
        #formMessage { margin-top: 20px; padding: 10px; border-radius: 4px; text-align: center; }
        .success-message { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
        .error-message { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
        .info-message { background-color: #d1ecf1; color: #0c5460; border: 1px solid #bee5eb; }

        /* Rule to change cursor for disabled elements */
        button:disabled,
        input:disabled,
        textarea:disabled,
        select:disabled {
            cursor: not-allowed !important;
        }
        .page-note {
            margin-top: 15px;
            margin-bottom: 25px;
            padding: 12px;
            background-color: #eef2f7;
            border-left: 4px solid #0056b3;
            font-size: 0.95em;
            color: #333;
            text-align: center;
        }